@michengai/dsh-skills-manager 1.2.3 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.4 - 2026-10-17
4
+
5
+ - Align confirmation dialog destructive action styling with host warning patterns, using red outlined buttons for deletion and uninstallation.
6
+
3
7
  ## 1.2.3 - 2026-10-17
4
8
 
5
9
  - Support DeepSeek Harness `0.2.1-rc.2` while retaining all existing supported versions.
@@ -2,6 +2,10 @@
2
2
 
3
3
  [English](CHANGELOG.md)
4
4
 
5
+ ## 1.2.4 - 2026-10-17
6
+
7
+ - 对齐官方删除确认弹窗警告样式,删除与卸载确认按钮采用带红色的描边线框样式。
8
+
5
9
  ## 1.2.3 - 2026-10-17
6
10
 
7
11
  - 支持 DeepSeek Harness `0.2.1-rc.2`,继续兼容此前已支持的宿主版本。
package/README.md CHANGED
@@ -19,7 +19,7 @@
19
19
 
20
20
  > DSH Skills Manager is a community-maintained DeepSeek Harness (DSH) plugin, not an official DeepSeek AI product.
21
21
 
22
- This README describes **1.2.3**. Released changes are in the [changelog](CHANGELOG.md).
22
+ This README describes **1.2.4**. Released changes are in the [changelog](CHANGELOG.md).
23
23
 
24
24
  ## Features
25
25
 
@@ -75,7 +75,7 @@ dsh plugin --profile web add @michengai/dsh-skills-manager@latest --registry=htt
75
75
 
76
76
  Restart DSH, refresh the page, and open **Settings → Skills**. To update, select **Check for updates** or run the installation command again.
77
77
 
78
- - Plugin `1.2.3` is tested with DeepSeek Harness `0.2.0-rc.1`, `0.2.0-rc.2`, `0.2.1-rc.1`, `0.2.1-rc.2`.
78
+ - Plugin `1.2.4` is tested with DeepSeek Harness `0.2.0-rc.1`, `0.2.0-rc.2`, `0.2.1-rc.1`, `0.2.1-rc.2`.
79
79
  - Hosts before `0.2.0` are no longer supported. If you still use a `0.1.x` host, install plugin `1.1.23` instead of `@latest`.
80
80
 
81
81
  ## Usage
package/README.zh-CN.md CHANGED
@@ -19,7 +19,7 @@
19
19
 
20
20
  > DSH Skills Manager 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。
21
21
 
22
- 本文描述 **1.2.3**。已发布变更见[更新日志](CHANGELOG.zh-CN.md)。
22
+ 本文描述 **1.2.4**。已发布变更见[更新日志](CHANGELOG.zh-CN.md)。
23
23
 
24
24
  ## 功能概览
25
25
 
@@ -75,7 +75,7 @@ dsh plugin --profile web add @michengai/dsh-skills-manager@latest --registry=htt
75
75
 
76
76
  安装后重启 DSH 并刷新页面,打开「设置 → 技能」即可使用。更新时可点击「检查更新」,或重新执行安装命令。
77
77
 
78
- - `1.2.3` 已验证兼容 DeepSeek Harness `0.2.0-rc.1`、`0.2.0-rc.2`、`0.2.1-rc.1`、`0.2.1-rc.2`。
78
+ - `1.2.4` 已验证兼容 DeepSeek Harness `0.2.0-rc.1`、`0.2.0-rc.2`、`0.2.1-rc.1`、`0.2.1-rc.2`。
79
79
  - 不再支持 `0.2.0` 之前的宿主。仍在使用 `0.1.x` 的,请安装插件 `1.1.23`,不要装 `@latest`。
80
80
 
81
81
  ## 使用说明
package/lib/client.js CHANGED
@@ -12,8 +12,9 @@ var exports = module.exports;
12
12
  .dssm-catalog-list > div:first-child{border-top:0}
13
13
  .dssm-catalog-sentinel{height:1px}.dssm-catalog-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 13px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a)}.dssm-catalog-loading .dssm-repo-spinner{margin-right:0}
14
14
  .dssm-meta-origin{color:var(--dsw-alias-label-secondary,#8e8e8e);font-size:11px;margin-top:2px}
15
+ .dssm-btn-danger:not(:disabled){color:var(--dsw-alias-state-error-primary,#ef7272)}
15
16
  .dssm-status-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--dsw-radius-sm,8px)}
16
- .dssm-repo-row .dssm-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-repo-row{display:flex;flex-direction:column;gap:6px;padding:11px 13px;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);background:transparent}.dssm-repo-head{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.dssm-repo-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-repo-actions button{flex:none}.dssm-repo-actions .dssm-repo-copy-actions{gap:8px;margin-left:0}.dssm-repo-main{flex:1;min-width:0}.dssm-repo-main>.dssm-repo-metadata{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-description{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-repo-copies{display:flex;flex-direction:column;gap:2px;min-width:0}.dssm-repo-copy{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent}.dssm-repo-copy .dssm-repo-metadata{font-size:12px;line-height:18px}.dssm-repo-copy-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}.dssm-repo-spinner{display:inline-block;width:12px;height:12px;margin-right:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;corner-shape:round;animation:dssm-repo-spin .8s linear infinite}@keyframes dssm-repo-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dssm-repo-spinner{animation:none}}.dssm-repo-commit-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;line-height:16px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);margin-left:12px;white-space:nowrap;user-select:all}.dssm-repo-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-repo-panel .dssm-desc{margin:0}.dssm-repo-metadata{font-size:11px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow-wrap:anywhere}.dssm-repo-panel .dssm-source{flex-shrink:0;overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-repo-panel .dssm-source-title{font-size:14px;font-weight:650;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:7px}.dssm-repo-panel .dssm-source-brand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-panel .dssm-source-brand svg{width:16px;height:16px;display:block}.dssm-repo-panel .dssm-source-path{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-repo-panel .dssm-count{padding:1px 6px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-bg-layer-2,rgba(255,255,255,0.08));font-size:11px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-manage-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.dssm-repo-manage-row .dssm-repo-main{flex:1}.dssm-repo-manage-row .dssm-repo-actions{margin-left:auto}.dssm-repo-manage-row .dssm-repo-actions button{width:auto;flex:none}.dssm-repo-head .dssm-repo-actions{gap:8px}.dssm-repo-actions>.dssm-repo-copy-actions{display:contents}.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-repo-copies{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:2px}.dssm-repo-copy{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 4px 4px 8px;border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1,rgba(255,255,255,0.04))}.dssm-repo-copy .dssm-repo-metadata{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-copy .dssm-repo-copy-actions{margin-left:0}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger{border-color:var(--dsw-alias-border-l2,#494949)}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger:not(:disabled):hover{color:var(--dsw-alias-state-error-primary,#ef7272)!important;border-color:var(--dsw-alias-state-error-primary,#ef7272)!important}.dssm-repo-copy .dssm-repo-metadata{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dssm-location-lead{flex:0 1 auto;max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-location-path{margin-left:auto;min-width:0;max-width:50%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}`;function ar({react:a,Modal:e,Input:l,Button:d,SourceSelect:p,destination:f,api:g,headers:y,translateError:k,getLocale:R}){let s=a.createElement;function F(L){return s("svg",{className:"dssm-fold-chevron"+(L?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},s("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}let O=d,{DestinationPicker:le,defaultDestination:nt,destinationPayload:ke,destinationReady:x}=f;return function({active:se,t:u,onInstalled:Y}){let[V,ye]=a.useState([]),[ee,Ge]=a.useState([]),[b,W]=a.useState(!1),[he,Ne]=a.useState(null),[Xe,Q]=a.useState(null),[te,De]=a.useState(null),[Ut,Ve]=a.useState(""),[it,yt]=a.useState(""),[je,Bt]=a.useState(""),[vt,oe]=a.useState({}),[h,j]=a.useState(null),[ae,lt]=a.useState(nt()),[ve,ta]=a.useState([]),[K,wt]=a.useState("github"),[ne,aa]=a.useState(""),[dt,kt]=a.useState(""),[xt,ce]=a.useState(""),[xe,Ft]=a.useState([]),[Re,Ot]=a.useState([]),[_e,ue]=a.useState([]),[Ct,ra]=a.useState([]),[We,Vt]=a.useState([]),[Pe,$e]=a.useState(!0),[X,Wt]=a.useState(!1),[et,sa]=a.useState(!1),[St,Nt]=a.useState([]),[oa,Ae]=a.useState(!1),[Rt,ct]=a.useState(!1),_=a.useRef(0),pe=a.useRef(null),tt=a.useRef(null),[Ke,Na]=a.useState(""),[Kt,ut]=a.useState(""),[qt,At]=a.useState([]),[Ue,Ce]=a.useState(!1),[na,at]=a.useState(!1),Le=a.useRef(0),Be=a.useRef(null),Fe=a.useRef(null),Lt=a.useRef({cursor:null,count:0,hasMore:!0}),me=a.useRef(null),ia=a.useRef(null),[qe,Qt]=a.useState({url:"",ref:"",subdirectory:""}),Ee=a.useRef(!1),I=a.useRef(!0);a.useEffect(()=>(I.current=!0,()=>{I.current=!1}),[]);async function rt(){let t=await g("/repositories");if(I.current){let n=(t.installRoots||[]).filter(c=>c.key==="dsh"||c.key==="agents");ye(t.repositories||[]),Ge(n),Ot(t.catalogInstalls||[]),ue(t.catalogCopies||[]),ra(t.catalogUnknownIds||[]),Vt(t.catalogWarnings||[]),ae.scope==="user"&&!n.some(c=>c.key===ae.location&&c.available)&&lt({...ae,location:n.find(c=>c.available)?.key||"dsh"}),g("/workspaces").then(c=>{I.current&&ta(c.items||[])}).catch(()=>{})}}function la(t){if(t.key==="dsh"||t.key==="agents")return u(t.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let n="root."+(t.localeKey||t.key),c=u(n);return c===n?t.label:c}function Zt(t){let n=ee.find(c=>c.key===t);return n?la(n):u("root."+t)}function Me(t){if(t.installedWorkspace){let n=m=>{let w=m.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(w)?w.toLowerCase():w},c=ve.find(m=>m.projectRoot&&n(m.projectRoot)===n(t.installedWorkspace));return c?.available&&c.registeredPaths[0]?{workspace:c.registeredPaths[0]}:null}return t.installedRoot==="dsh"||t.installedRoot==="agents"?{root:t.installedRoot}:null}function pt(t){return t.installedWorkspace||t.installedRoot?Qe(t):""}function da(t){let n=t.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(n)?n.toLowerCase():n}function Ra(t){let n=ve.find(w=>w.projectRoot&&da(w.projectRoot)===da(t));if(n?.name)return n.name;let c=t.replace(/[\\/]+$/,""),m=Math.max(c.lastIndexOf("/"),c.lastIndexOf("\\"));return m>=0?c.slice(m+1):c}function ca(t){let n=!!t.installedWorkspace,c=n?"dsh":t.installedRoot,m=u(c==="agents"?"repo.source.agents":"repo.source.dsh"),w=u(n?"repo.scope.project":"repo.scope.user"),A=n?t.installedWorkspace||"":ee.find(E=>E.key===c)?.path||"";return{lead:n?[w,Ra(t.installedWorkspace||""),m].filter(Boolean).join(" \xB7 "):[w,m].filter(Boolean).join(" \xB7 "),path:A}}function Qe(t){let n=ca(t);return n.path?n.lead+" "+n.path:n.lead}function ua(t){let n=ca(t);return s("div",{className:"dssm-repo-metadata",title:Qe(t)},s("span",{className:"dssm-location-lead"},n.lead),n.path?s("span",{className:"dssm-location-path",title:n.path},n.path):null)}function pa(t){return t.slice().sort((n,c)=>+!!n.installedWorkspace-+!!c.installedWorkspace)}function Aa(t){return pa((t.installations??(t.installedRoot?[t]:[])).filter(n=>n.tracked===!0))}function Yt(t){let n=t,c=k(u,t)||n.message||String(t),m=n?.params?.path;return typeof m=="string"&&m&&!c.includes(m)?c+" \xB7 "+m:c}function ma(t){return t.payload?Yt(t.payload):(t.key?u(t.key):t.text||"")+(t.name?" \xB7 "+t.name:"")}async function ge(t,n=!0,c=!1){if(!Ee.current){Ee.current=!0,c||(W(!0),Q(null));try{await t(),n&&await rt()}catch(m){let w=m;I.current&&Q({error:!0,payload:w})}finally{Ee.current=!1,I.current&&W(!1)}}}function Te(t,n){return g(`/repositories/${t}`,{method:"POST",headers:y,body:JSON.stringify(n)})}let Et=a.useRef(!1);async function mt(t=!1,n=!1,c=ne){if(!se||c.trim()||me.current||n&&Et.current)return;let m=Lt.current;if(!t&&(!m.hasMore||m.count>=100))return;n&&(Et.current=!0);let w=t?0:m.count,A=new AbortController;me.current=A,Wt(!0),sa(!1),t&&(Lt.current={cursor:null,count:0,hasMore:!0},Ft([]));try{let D=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-w))}),E=t?null:m.cursor;E&&D.set("cursor",E);let de=await g(`/clawhub/list?${D.toString()}`,{signal:A.signal});if(me.current!==A||A.signal.aborted||!I.current)return;if(!Array.isArray(de.items))throw new Error("ClawHub response has no items array");let _a=de.items.flatMap(Z=>{if(typeof Z.ownerHandle!="string"||!Z.ownerHandle||typeof Z.slug!="string"||!Z.slug)return[];let Ha=za=>typeof za=="number"&&Number.isFinite(za)?za:void 0;return[{id:Z.ownerHandle+"/"+Z.slug,owner:Z.ownerHandle,slug:Z.slug,name:typeof Z.displayName=="string"&&Z.displayName?Z.displayName:Z.slug,source:Z.ownerHandle+"/"+Z.slug,description:typeof Z.summary=="string"?Z.summary:"",downloads:Ha(Z.stats?.downloads),installs:Ha(Z.stats?.installs),stars:Ha(Z.stats?.stars)}]}).slice(0,Math.max(0,100-w)),$a=typeof de.nextCursor=="string"&&de.nextCursor?de.nextCursor:null,er=w+_a.length;if(Lt.current={cursor:$a,count:er,hasMore:!!$a&&er<100},!I.current)return;Ft(Z=>[...t?[]:Z,..._a].slice(0,100)),$e(Lt.current.hasMore)}catch{me.current===A&&!A.signal.aborted&&I.current&&sa(!0)}finally{me.current===A&&(me.current=null,Et.current=!1,I.current&&Wt(!1))}}function ga(){tt.current&&clearTimeout(tt.current),tt.current=null,_.current++,pe.current?.abort(),pe.current=null,I.current&&Ae(!1)}async function we(t){let n=++_.current,c=new AbortController;pe.current?.abort(),pe.current=c,Nt([]),Ae(!0),ct(!1);try{let m=new URLSearchParams({q:t,limit:"100"}),w=await g(`/clawhub/search?${m.toString()}`,{signal:c.signal});if(!Array.isArray(w.results))throw new Error("ClawHub search response has no results array");let A=E=>typeof E=="number"&&Number.isFinite(E)?E:void 0,D=w.results.flatMap(E=>{if(typeof E.source=="string"&&E.source!=="clawhub")return[];let de=typeof E.ownerHandle=="string"?E.ownerHandle:E.owner?.handle;return typeof de!="string"||!de||typeof E.slug!="string"||!E.slug?[]:[{id:typeof E.id=="string"?E.id:de+"/"+E.slug,owner:de,slug:E.slug,name:typeof E.displayName=="string"&&E.displayName?E.displayName:E.slug,source:de+"/"+E.slug,description:typeof E.summary=="string"?E.summary:"",downloads:A(E.downloads)??A(E.stats?.downloads),installs:A(E.stats?.installs),stars:A(E.stats?.stars)}]});n===_.current&&I.current&&Nt(D)}catch(m){let w=m?.name==="AbortError";n===_.current&&I.current&&!w&&ct(!0)}finally{n===_.current&&(pe.current=null,I.current&&Ae(!1))}}function Mt(t){aa(t),ga(),Nt([]),ct(!1);let n=t.trim().slice(0,100);if(!n){K==="clawhub"&&!xe.length&&!X&&mt(!0,!1,n);return}Ae(!0),tt.current=setTimeout(()=>{tt.current=null,we(n)},300)}function st(){Fe.current&&clearTimeout(Fe.current),Fe.current=null,Le.current++,Be.current?.abort(),Be.current=null,I.current&&Ce(!1)}async function Ze(t){let n=++Le.current,c=new AbortController;Be.current?.abort(),Be.current=c,At([]),Ce(!0),at(!1);try{let m=await g(`/skills-sh/search?q=${encodeURIComponent(t)}`,{signal:c.signal});n===Le.current&&I.current&&At(m.skills)}catch(m){let w=m?.name==="AbortError";n===Le.current&&I.current&&!w&&at(!0)}finally{n===Le.current&&(Be.current=null,I.current&&Ce(!1))}}function fa(t){Na(t),Fe.current&&clearTimeout(Fe.current),Fe.current=null,Le.current++,Be.current?.abort(),Be.current=null,At([]),Ce(!1),at(!1);let n=t.trim();n&&(Fe.current=setTimeout(()=>{Fe.current=null,Ze(n)},300))}function Tt(t){j(null),wt(t)}function He(t){let n=t.getBoundingClientRect(),c=t.parentElement;for(;c;){let m=getComputedStyle(c);if(/(auto|scroll)/.test(`${m.overflowY} ${m.overflow}`)&&c.scrollHeight>c.clientHeight+1){let w=c.getBoundingClientRect();return n.top<=w.bottom+80&&n.bottom>=w.top}c=c.parentElement}return n.top<=window.innerHeight+80}function Ht(t){if(h||t.defaultPrevented||t.deltaY<=0||K!=="clawhub"||ne.trim()||!Pe||et||!t.target||!t.currentTarget.contains(t.target))return;let n=ia.current;!n||typeof n.getBoundingClientRect!="function"||!He(n)||mt(!1,!0)}async function Jt(t){let n=await Te("refresh",{id:t});n.error&&Q({error:!0,payload:n.error})}function zt(t){return ge(async()=>{let n=!1;try{for(let c=0;c<t.length;c++){let m=t[c];Ne({id:m.id,name:m.owner+"/"+m.name,index:c+1,total:t.length});let w=await Te("refresh",{id:m.id});w.error&&(n=!0,Q({error:!0,payload:w.error}))}await rt(),!n&&I.current&&Q({key:"repo.refreshed"})}finally{I.current&&Ne(null)}},!1)}function Gt(t,n){return ge(async()=>{j({type:"detail",repo:t,loading:!0});try{let c=await Te("detail",{id:t.id,path:n.path});I.current&&j({type:"detail",detail:c,repo:t})}catch(c){let m=c;throw I.current&&j({type:"detail",repo:t,failed:!0}),m}},!1,!0)}function r(t){return ge(async()=>{j({type:"catalog-detail",loading:!0});try{let n=await g("/catalog/detail",{method:"POST",headers:y,body:JSON.stringify(t)});I.current&&j({type:"catalog-detail",detail:n})}catch(n){let c=n;throw I.current&&j({type:"catalog-detail",failed:!0}),c}},!1,!0)}function i(t){Ee.current||(Q(null),j({type:"catalog-install",target:t}))}function v(){if(!h||h.type!=="catalog-install"||!x(ae,ve,ee))return;let t=h.target,n=ke(ae);return ge(async()=>{let c=await g("/catalog/install",{method:"POST",headers:y,body:JSON.stringify({...t,...n})});if(!I.current)return;let m=t.catalog==="skillsh"?`skillsh:${t.source}/${t.skillId}`:`clawhub:${t.owner}/${t.slug}`;Ot(D=>D.includes(m)?D:[...D,m]);let w=n.root||"dsh";ue(D=>D.some(E=>E.id===m&&E.installedRoot===w&&E.installedWorkspace===n.workspace)?D:[...D,{id:m,name:c.name,installedRoot:w,...n.workspace?{installedWorkspace:n.workspace}:{},canUninstall:!0}]),Q({key:"repo.installSuccess",name:t.name}),j(null);let A=await Promise.allSettled([rt(),Promise.resolve().then(()=>Y?.())]);I.current&&A.some(D=>D.status==="rejected")&&Q({key:"repo.catalog.installRefreshWarning",name:t.name})},!1)}a.useEffect(()=>{se&&ge(rt,!1)},[se]),a.useEffect(()=>(se&&(K==="clawhub"?ne.trim()?we(ne.trim()):xe.length||mt(!0):K==="skillsh"&&Ke.trim()&&Ze(Ke.trim())),()=>{ga(),st(),me.current?.abort(),me.current=null,Et.current=!1,I.current&&Wt(!1)}),[se,K]);function C(t,n,c=!0,m=!1){return s(O,{variant:c?"outline":"primary",disabled:b||m,onClick:n},u(t))}function T(t){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("path",{d:t,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function M(t,n,c=!1,m){var w=t==="repo.uninstall"||t==="repo.uninstalling"||t==="repo.remove",A=t==="repo.installed"||t==="repo.installedSuccess",D=t==="repo.conflict",E=t==="repo.refresh"||t==="repo.refreshing"?"M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10":t==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":t==="repo.installElsewhere"?"M8 3v10M3 8h10":t==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":t==="repo.review"?"M2.5 8s2.2-3.5 5.5-3.5S13.5 8 13.5 8s-2.2 3.5-5.5 3.5S2.5 8 2.5 8M8 6.3a1.7 1.7 0 1 1 0 3.4 1.7 1.7 0 0 1 0-3.4":t==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":w?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":D?"M8 2.5l5.5 10.5H2.5L8 2.5zm0 3.5v3.5m0 2v.5":"M8 2.5v7M5.2 7.2 8 10l2.8-2.8M3.5 13.5h9";return s(O,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(w?" dssm-icon-danger":A?" dssm-icon-success":D?" dssm-icon-warn":""),"aria-label":u(t),title:m||u(t),icon:T(E),disabled:b||c,onClick:n,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},w?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},w?{danger:!0}:{}))}function q(t){j({type:"remove",repo:t})}function $(t){return he&&he.id===t.id?s(O,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":u("repo.refreshing"),title:u("repo.refreshing"),icon:s("span",{className:"dssm-repo-spinner","aria-hidden":!0}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):M("repo.refresh",()=>zt([t]))}function B(){return V.length?V.map(t=>s("div",{key:t.id,className:"dssm-repo-row dssm-repo-manage-row"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},t.owner+"/"+t.name),s("div",{className:"dssm-note"},[t.ref||u("repo.defaultBranch"),t.subdirectory].filter(Boolean).join(" \xB7 ")),s("div",{className:"dssm-repo-metadata"},t.refreshedAt?u("repo.updated")+" \xB7 "+new Date(t.refreshedAt).toLocaleString(R?.()||u("format.locale")):u("repo.notScanned"))),s("div",{className:"dssm-repo-actions"},$(t),M("repo.remove",()=>q(t))))):s("div",{className:"dssm-empty"},u("repo.empty"))}function P(t,n=!1){let c=he&&(!n||he.id===t[0]?.id);return s(O,{variant:"outline",disabled:b||!t.length,"aria-busy":!!c,onClick:()=>zt(t)},c?s("span",{className:"dssm-repo-spinner","aria-hidden":!0}):null,u(c?"repo.refreshing":"repo.refresh"))}function J(){Ee.current||j(null)}function Oe(t,n,c,m){Ee.current||t==="uninstall"&&(!m||!m.canUninstall||!Me(m))||(Q(null),j({type:t,repo:n,skill:c,copy:m}))}function S(){if(!h||h.type!=="install"&&h.type!=="uninstall")return;let t=h,n=t.type,c=ae;if(n==="install"&&!x(c,ve,ee))return;let m=n==="install"?ke(c):t.copy&&Me(t.copy);if(m)return ge(async()=>{let w={id:t.repo.id,path:t.skill.path,...m};De({...w,action:n,pending:!0,key:"repo."+n+"Progress"});try{await Te(n,w)}catch(E){let de=E;throw I.current&&De({...w,action:n,error:!0,payload:de}),de}if(!I.current)return;let A="repo."+n+"Success";De({...w,action:n,key:A}),Q({key:A,name:t.skill.name}),j(null);let D=await Promise.allSettled([rt(),Promise.resolve().then(()=>Y?.())]);for(let E of D)if(E.status==="rejected")throw E.reason},!1)}function U(t,n,c,m=!1){let w=Me(c);if(!(!w||(m?!c.canRollback:!c.tracked)))return ge(async()=>{let A=await Te("preview",{id:t.id,path:n.path,...w,rollback:m});j({type:m?"rollback":"review",repo:t,skill:n,copy:c,detail:A})})}function Se(){if(!h||h.type!=="review"&&h.type!=="rollback")return;let t=h,n=t.type==="rollback",c=Me(t.copy);if(c)return ge(async()=>{let m={id:t.repo.id,path:t.skill.path,...c};De({...m,pending:!0,key:"repo.updateProgress"});try{await Te(n?"rollback":"update",{...m,token:t.detail.token,overwrite:t.detail.localModified})}catch(A){let D=A;throw I.current&&De({...m,error:!0,payload:D}),D}if(!I.current)return;let w=n?"repo.rollbackSuccess":"repo.updateSuccess";De({...m,key:w}),Q({key:w}),j(null),Y&&await Y()})}function re(t,n,c){return s(O,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:b,"aria-label":u(t),title:u(t),icon:T(n),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:c})}function ie(t){let n=he&&he.id===t[0]?.id;return s(O,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:b||!t.length,"aria-busy":!!n,"aria-label":u(n?"repo.refreshing":"repo.refresh"),title:u(n?"repo.refreshing":"repo.refresh"),icon:n?s("span",{className:"dssm-repo-spinner","aria-hidden":!0}):T("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>zt(t)})}function N(){return s("div",{className:"dssm-filter-actions"},ie(V),re("repo.add","M8 2.5v11M2.5 8h11",()=>{Q(null),Qt({url:"",ref:"",subdirectory:""}),j({type:"add"})}),re("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{Q(null),j({type:"manage"})}))}let G=s("div",{key:"repository-actions",className:"dssm-actions"},P(V),C("repo.add",()=>{Q(null),Qt({url:"",ref:"",subdirectory:""}),j({type:"add"})},!1),C("repo.manage",()=>{Q(null),j({type:"manage"})})),gt=V.filter(t=>!it||t.id===it);function La(t,n,c){let m=Me(c),w=te?.id===t.id&&te.path===n.path&&te.pending&&m&&te.root===m.root&&te.workspace===m.workspace;return s("div",{className:"dssm-repo-copy-actions"},c.tracked&&(c.updateAvailable||c.status==="conflict")?M("repo.review",()=>U(t,n,c),!m):null,c.canRollback?M("repo.rollback",()=>U(t,n,c,!0),!m):null,c.canUninstall?M(w&&te.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>Oe("uninstall",t,n,c),!m,Qe(c)):null)}function Dr(t,n,c){let m=Me(c);return s("div",{className:"dssm-repo-copy",key:JSON.stringify([c.installedRoot,c.installedWorkspace||""])},ua(c),La(t,n,c),m?null:s("div",{className:"dssm-note",role:"status"},u("repo.destinationUnavailable")))}let jr=gt.map(t=>{let n=Ut.trim().toLowerCase(),c=t.skills.filter(A=>(!je||A.status===je)&&(!n||`${A.name} ${A.description} ${t.owner}/${t.name}`.toLowerCase().includes(n))),m=vt[t.id]===void 0?!!n||!!je:vt[t.id],w=m?c.length?c.map(A=>{let D=Aa(A),E=D.length===1?D[0]:void 0;return s("div",{key:A.path,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},A.name),s("div",{className:"dssm-repo-description",title:A.description},A.description),E&&!Me(E)?s("div",{className:"dssm-note",role:"status"},u("repo.destinationUnavailable")):null,te?.id===t.id&&te.path===A.path?s("div",{className:"dssm-note"+(te.error?" dssm-error":""),role:te.error?"alert":"status","aria-live":"polite"},ma(te)):null),s("div",{className:"dssm-repo-actions"},M("repo.detail",()=>Gt(t,A)),M(te?.id===t.id&&te.path===A.path&&te.pending&&te.action==="install"?"repo.installing":D.length?"repo.installElsewhere":"repo."+(A.status==="available"?"install":A.status),()=>Oe("install",t,A),!D.length&&A.status!=="available"))),D.length?s("div",{className:"dssm-repo-copies"},D.map(de=>Dr(t,A,de))):null)}):s("div",{className:"dssm-empty"},u("repo.noSkills")):null;return s("div",{key:t.id},s("section",{className:"dssm-source"},s("div",{className:"dssm-source-head"},s("button",{type:"button",className:"dssm-source-toggle","aria-expanded":m,onClick:()=>oe({...vt,[t.id]:!m})},F(m),s("div",{className:"dssm-source-label"},s("span",{className:"dssm-source-brand",title:"GitHub Repository"},s("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"currentColor"},s("path",{d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))),s("span",{className:"dssm-source-title"},t.owner+"/"+t.name),s("span",{className:"dssm-count"},c.length),s("span",{className:"dssm-source-path",title:t.owner+"/"+t.name},[t.ref||u("repo.defaultBranchLabel"),t.subdirectory].filter(Boolean).join(" \xB7 ")||t.owner+"/"+t.name))),s("span",{className:"dssm-repo-commit-badge",title:t.commit||u("repo.notScanned")},t.commit?t.commit.slice(0,7):u("repo.notScanned"))),m?s("div",{className:"dssm-source-body",role:"region"},w):null),t.error?s("div",{className:"dssm-feedback dssm-error",role:"alert"},Yt(t.error)):null)});function Xt(t,n,c,m){return s(p,{label:u(t),value:n,onChange:c,options:[{value:"",label:u(t)},...m.map(([w,A])=>({value:w,label:A}))]})}let ze=Xe?s("div",{className:"dssm-feedback"+(Xe.error?" dssm-error":""),role:Xe.error?"alert":"status"},ma(Xe)):null,qa=he?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.refreshing")+" "+he.index+"/"+he.total+" \xB7 "+he.name):null,Qa;if(h){let t,n,c;h.type==="install"&&(t=s("div",{className:"dssm-repo-panel","aria-busy":b},s("div",{className:"dssm-name"},h.skill.name),s(le,{t:u,value:ae,disabled:b,allowAgents:!0,workspaces:ve,userDestinations:ee,onChange:m=>{Ee.current||lt({...ae,...m})}}),s("p",{className:"dssm-note"},u("repo.installLocationsHint")),s("p",{className:"dssm-note"},u("repo.installHint")),b?s("div",{role:"status","aria-live":"polite"},u("repo.installProgress")):null,ze,s("div",{className:"dssm-modal-actions"},C("repo.cancel",J),C(b?"repo.installing":"repo.install",S,!1,!x(ae,ve,ee))))),h.type==="uninstall"&&(n=u("repo.uninstallHint"),t=s("div",{className:"dssm-repo-panel","aria-busy":b},s("div",{className:"dssm-name"},h.skill.name),h.copy?s("div",{className:"dssm-repo-metadata"},pt(h.copy)):null,h.copy?.installedRoot==="agents"&&!h.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.uninstallExternalWarning")):null,b?s("div",{role:"status","aria-live":"polite"},u("repo.uninstallProgress")):null,ze),c=s(a.Fragment,null,C("repo.cancel",J),C(b?"repo.uninstalling":"repo.confirmUninstall",S,!1,!h.copy||!Me(h.copy)))),(h.type==="review"||h.type==="rollback")&&(t=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},h.skill.name),s("div",{className:"dssm-repo-metadata"},pt(h.copy)),s("div",{className:"dssm-repo-metadata"},h.repo.owner+"/"+h.repo.name+" \xB7 "+h.detail.commit?.slice(0,7)),h.detail.localModified?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.modified")):null,h.detail.changes.length?s("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},h.detail.changes.map(m=>s("li",{key:m.path},u("repo."+(m.kind==="modified"?"modifiedFile":m.kind))+" \xB7 "+m.path))):s("p",null,u("repo.noChanges")),b?s("div",{role:"status"},u("repo.updateProgress")):null,ze),c=s(a.Fragment,null,C("repo.cancel",J),C(h.detail.localModified?"repo.overwrite":h.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",Se,!1,!h.detail.changes.length||!Me(h.copy)))),h.type==="add"&&(t=s("form",{className:"dssm-form",onSubmit:m=>{m.preventDefault(),qe.url.trim()&&ge(async()=>{let w=await Te("add",qe);await Jt(w.id),j(null)})}},[["url","repo.url","https://github.com/owner/repo"],["ref","repo.ref",u("repo.defaultBranch")],["subdirectory","repo.directory",u("repo.directoryHint")]].map(([m,w,A])=>s("label",{className:"dssm-field",key:m},s("span",{className:"dssm-label"},u(w)),s(l,{"aria-label":u(w),value:qe[m],placeholder:A,maxLength:m==="url"?2048:512,required:m==="url",disabled:b,onChange:D=>Qt({...qe,[m]:D.target.value})}))),ze,s("div",{className:"dssm-modal-actions"},C("repo.cancel",J),C("repo.save",()=>{qe.url.trim()&&ge(async()=>{let m=await Te("add",qe);await Jt(m.id),j(null)})},!1,!qe.url.trim())))),h.type==="manage"&&(t=s("div",{className:"dssm-repo-panel"},s("p",{className:"dssm-desc"},u("repo.removeHint")),qa,ze,B())),h.type==="remove"&&(n=u("repo.removeHint"),t=s("div",null,s("div",{className:"dssm-name"},h.repo.owner+"/"+h.repo.name),ze),c=s(a.Fragment,null,C("repo.cancel",()=>j({type:"manage"})),C("repo.removeConfirm",()=>ge(async()=>{await Te("remove",{id:h.repo.id}),it===h.repo.id&&yt(""),j({type:"manage"})}),!1,!1))),h.type==="catalog-detail"&&h.detail&&(t=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},h.detail.name),s("p",{className:"dssm-desc"},h.detail.description),s("div",{className:"dssm-detail-path"},h.detail.origin),s("p",{className:"dssm-note"},u("repo.installHint")),s(l.TextArea,{readOnly:!0,value:h.detail.body||"",autoSize:{minRows:6,maxRows:16}}))),h.type==="catalog-detail"&&!h.detail&&(t=s("div",{role:"status",className:"dssm-repo-panel"},h.loading?u("repo.detailLoading"):null,h.failed?ze:null)),h.type==="catalog-install"&&(t=s("div",{className:"dssm-repo-panel","aria-busy":b},s("div",{className:"dssm-name"},h.target.name),s(le,{t:u,value:ae,disabled:b,allowAgents:!0,workspaces:ve,userDestinations:ee,onChange:m=>{Ee.current||lt({...ae,...m})}}),s("p",{className:"dssm-note"},u("repo.installLocationsHint")),s("p",{className:"dssm-note"},u("repo.installHint")),b?s("div",{role:"status","aria-live":"polite"},u("repo.installProgress")):null,ze,s("div",{className:"dssm-modal-actions"},C("repo.cancel",J),C(b?"repo.installing":"repo.install",v,!1,!x(ae,ve,ee))))),h.type==="catalog-uninstall"&&(n=u("repo.uninstallHint"),t=s("div",{className:"dssm-repo-panel","aria-busy":b},s("div",{className:"dssm-name"},h.copy.name),s("div",{className:"dssm-repo-metadata"},Pr(h.copy)),h.copy.installedRoot==="agents"&&!h.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.uninstallExternalWarning")):null,b?s("div",{role:"status","aria-live":"polite"},u("repo.uninstallProgress")):null,ze),c=s(a.Fragment,null,C("repo.cancel",J),C(b?"repo.uninstalling":"repo.confirmUninstall",Br,!1,!1))),h.type==="detail"&&h.detail&&(t=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},h.detail.name),s("p",{className:"dssm-desc"},h.detail.description),s("div",{className:"dssm-detail-path"},h.repo.owner+"/"+h.repo.name+" \xB7 "+h.detail.path),s("div",{className:"dssm-repo-metadata"},u("repo.commit")+" \xB7 "+h.detail.commit),s("p",{className:"dssm-note"},u("repo.installHint")),s(l.TextArea,{readOnly:!0,value:h.detail.body||"",autoSize:{minRows:6,maxRows:16}}))),h.type==="detail"&&!h.detail&&(t=s("div",{role:"status",className:"dssm-repo-panel"},h.loading?u("repo.detailLoading"):null,h.failed?ze:null)),Qa=s(e,{title:u("repo."+(h.type==="catalog-detail"?"detail":h.type==="catalog-install"?"install":h.type==="catalog-uninstall"?"uninstall":h.type==="remove"?"remove":h.type)),description:n,footer:c,closeLabel:u("repo.close"),onClose:J},t)}function Ea(t){return Re.includes(t)||Ma(t).length>0}function Ma(t){return pa(_e.filter(n=>n.id===t))}function Pr(t){return Qe(t)}function Ur(t){!Ee.current&&t.canUninstall&&(Q(null),j({type:"catalog-uninstall",copy:t}))}function Br(){if(!h||h.type!=="catalog-uninstall")return;let t=h.copy;return ge(async()=>{if(await g("/delete",{method:"POST",headers:y,body:JSON.stringify({name:t.name,root:t.installedRoot,...t.installedWorkspace?{workspace:t.installedWorkspace}:{}})}),!I.current)return;ue(c=>c.filter(m=>m!==t&&!(m.id===t.id&&m.installedRoot===t.installedRoot&&m.installedWorkspace===t.installedWorkspace))),Q({key:"repo.uninstallSuccess",name:t.name}),j(null);let n=await Promise.allSettled([rt(),Promise.resolve().then(()=>Y?.())]);I.current&&n.some(c=>c.status==="rejected")&&Q({key:"repo.catalog.uninstallRefreshWarning",name:t.name})},!1)}function Za(t,n,c,m){let w=Ma(t);return s("div",{className:"dssm-repo-actions"},M("repo.detail",c),n&&!w.length?s("span",{className:"dssm-note",role:"status"},u("repo.catalog.unknownLocation")):null,w.length?M("repo.installElsewhere",m):Ea(t)?s("span",{className:"dssm-catalog-installed",role:"status"},u("repo.installed")):M(n?"repo.catalog.reassociate":"repo.install",m))}function Ya(t){let n=Ma(t);return n.length?s("div",{className:"dssm-repo-copies"},n.map(c=>s("div",{className:"dssm-repo-copy",key:JSON.stringify([c.id,c.installedRoot,c.installedWorkspace||""])},ua(c),c.canUninstall?M("repo.uninstall",()=>Ur(c),!1,Qe(c)):null))):null}let Ta=xe.filter(t=>{let n=Ea(`clawhub:${t.owner}/${t.slug}`);return!xt||(xt==="installed"?n:!n)}),Ja=dt==="installs"?Ta.slice().sort((t,n)=>(n.installs||0)-(t.installs||0)):dt==="name"?Ta.slice().sort((t,n)=>t.name.localeCompare(n.name)):Ta,Ga=t=>{let n=Ct.includes(`clawhub:${t.owner}/${t.slug}`),c=[t.source,t.downloads===void 0?null:t.downloads.toLocaleString()+" "+u("repo.catalog.downloads"),t.installs===void 0?null:t.installs.toLocaleString()+" "+u("repo.catalog.installs"),t.stars===void 0?null:t.stars.toLocaleString()+" "+u("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return s("div",{key:t.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},t.name),t.description?s("div",{className:"dssm-repo-description",title:t.description},t.description):null,s("div",{className:"dssm-meta-origin"},c)),Za(`clawhub:${t.owner}/${t.slug}`,n,()=>r({catalog:"clawhub",owner:t.owner,slug:t.slug,name:t.name}),()=>i({catalog:"clawhub",owner:t.owner,slug:t.slug,name:t.name}))),Ya(`clawhub:${t.owner}/${t.slug}`))},Fr=s("div",{className:"dssm-catalog-list",onWheel:Ht},Ja.map(Ga),!Ja.length&&!X&&!et?s("div",{className:"dssm-empty"},u("repo.catalog.empty")):null,X?s("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},s("span",{className:"dssm-repo-spinner","aria-hidden":!0}),xe.length?u("repo.catalog.loadingMore"):u("repo.catalog.loading")):null,et?s("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.loadError"),s(O,{variant:"ghost",size:"sm",onClick:()=>{mt()}},u("repo.catalog.retry"))):null,K==="clawhub"&&!ne.trim()&&Pe&&!et?s("div",{className:"dssm-catalog-sentinel",ref:ia,"aria-hidden":!0}):null,K==="clawhub"&&!ne.trim()&&Pe&&!et&&!X?s("div",{className:"dssm-catalog-loading"},s(O,{variant:"ghost",size:"sm",onClick:()=>{mt(!1,!0)}},u("repo.catalog.loadMore"))):null),Or=s("div",{className:"dssm-catalog-list"},St.map(Ga),ne.trim()&&!St.length&&!oa&&!Rt?s("div",{className:"dssm-empty"},u("repo.catalog.searchEmpty")):null,oa?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.catalog.searchLoading")):null,Rt?s("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.searchError"),s(O,{variant:"ghost",size:"sm",onClick:()=>{we(ne.trim())}},u("repo.catalog.retry"))):null),Xa=qt.filter(t=>{if(!Kt)return!0;let n=Ea(`skillsh:${t.source}/${t.skillId}`);return Kt==="installed"?n:!n}),Vr=s("div",{className:"dssm-catalog-list"},Xa.map(t=>{let n=`skillsh:${t.source}/${t.skillId}`,c=Ct.includes(n),m=[t.source,t.installs===void 0?null:t.installs.toLocaleString()+" "+u("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return s("div",{key:t.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},t.name),s("div",{className:"dssm-meta-origin"},m)),Za(n,c,()=>r({catalog:"skillsh",source:t.source,skillId:t.skillId,name:t.name}),()=>i({catalog:"skillsh",source:t.source,skillId:t.skillId,name:t.name}))),Ya(n))}),Ke.trim()&&!Xa.length&&!Ue&&!na?s("div",{className:"dssm-empty"},u("repo.catalog.skillshEmpty")):null,Ue?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.catalog.skillshLoading")):null,na?s("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.skillshError"),s(O,{variant:"ghost",size:"sm",onClick:()=>{Ze(Ke.trim())}},u("repo.catalog.retry"))):null),Wr=s("div",{className:"dssm-subsources"},s("button",{type:"button",className:"dssm-subsource-btn"+(K==="github"?" on":""),"aria-pressed":K==="github",onClick:()=>Tt("github")},u("repo.subsource.github")+" ("+V.length+")"),s("button",{type:"button",className:"dssm-subsource-btn"+(K==="clawhub"?" on":""),"aria-pressed":K==="clawhub",onClick:()=>Tt("clawhub")},u("repo.subsource.clawhub")),s("button",{type:"button",className:"dssm-subsource-btn"+(K==="skillsh"?" on":""),"aria-pressed":K==="skillsh",onClick:()=>Tt("skillsh")},u("repo.subsource.skillsh"))),Kr=K==="github"?s("div",{className:"dssm-filters"},s("div",{className:"dssm-source-filter"},Xt("repo.all",it,yt,V.map(t=>[t.id,t.owner+"/"+t.name]))),s("div",{className:"dssm-status-filter"},Xt("repo.states",je,t=>{Bt(t),oe({})},["available","installed","update","conflict","invalid"].map(t=>[t,u("repo."+t)]))),s(l,{className:"dssm-search",allowClear:!0,"aria-label":u("repo.search"),placeholder:u("repo.search"),value:Ut,onChange:t=>{Ve(t.target.value),oe({})}}),N()):K==="clawhub"?s("div",{className:"dssm-filters dssm-catalog-filters"},ne.trim()?null:s("div",{className:"dssm-catalog-sort-filter"},Xt("repo.subsource.popular",dt,kt,[["installs",u("repo.sort.installs")],["name",u("repo.sort.name")]])),ne.trim()?null:s("div",{className:"dssm-catalog-status-filter"},Xt("repo.catalog.states",xt,ce,[["available",u("repo.available")],["installed",u("repo.installed")]])),s(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":u("repo.catalog.searchClawhub"),placeholder:u("repo.catalog.searchClawhub"),value:ne,onChange:t=>Mt(t.target.value)})):K==="skillsh"?s("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},s("div",{className:"dssm-catalog-status-filter"},Xt("repo.catalog.states",Kt,ut,[["available",u("repo.catalog.uninstalled")],["installed",u("repo.installed")]])),s(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":u("repo.catalog.searchSkillsh"),placeholder:u("repo.catalog.searchSkillsh"),value:Ke,onChange:t=>fa(t.target.value)})):null,qr=s("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":b},s("style",null,_r),Wr,K==="github"?s("p",{className:"dssm-desc"},u("repo.hint")):K==="clawhub"&&!ne.trim()?s("p",{className:"dssm-desc"},u("repo.subsource.catalogNote")):null,Kr,Ct.length?s("div",{className:"dssm-note",role:"status"},u("repo.catalog.unknownHint")):null,We.map(t=>s("div",{key:t.id,className:"dssm-feedback dssm-error",role:"alert"},t.id+" \xB7 "+Yt(t))),ze,h?null:qa,b&&!he?s("div",{className:"dssm-note",role:"status"},u("repo.loading")):null,K==="github"?V.length?jr:s("div",{className:"dssm-empty"},u("repo.empty")):K==="skillsh"?Vr:ne.trim()?Or:Fr,s("p",{className:"dssm-note"},u("repo.footer")),Qa);return{actions:G,content:qr,focusSource:(t,n)=>{yt(t.id),Ve(n),Bt(""),oe({[t.id]:!0})}}}}var It=()=>({scope:"user",location:"dsh",workspace:""});function ha(a){return a.scope==="workspace"?{workspace:a.workspace}:{root:a.location==="agents"?"agents":"dsh"}}function ft(a,e,l){return a.scope==="user"?!l||l.some(d=>d.key===a.location&&d.available===!0):e.some(d=>d.available&&!!d.registeredPaths[0]&&d.registeredPaths[0]===a.workspace)}function $r(a){let e=a.includes("\\")?"\\":"/";return a.replace(/[\\/]+$/,"")+e+".dsh"+e+"skills"}var ja={zh:{"dest.scope":"\u8303\u56F4","dest.scope.user":"\u7528\u6237\u76EE\u5F55","dest.scope.workspace":"\u6307\u5B9A\u5DE5\u4F5C\u533A","dest.workspace":"\u5DE5\u4F5C\u533A","dest.workspace.placeholder":"\u8BF7\u9009\u62E9\u5DE5\u4F5C\u533A","dest.workspace.unavailable":"{name}\uFF08\u76EE\u5F55\u4E0D\u53EF\u7528\uFF09","dest.pickFirst":"\u5148\u9009\u62E9\u4E00\u4E2A\u5DF2\u767B\u8BB0\u5DE5\u4F5C\u533A\u3002\u786E\u8BA4\u524D\u4E0D\u4F1A\u521B\u5EFA\u76EE\u5F55\u3002","dest.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\uFF0C\u518D\u56DE\u5230\u8FD9\u91CC\u9009\u62E9\u3002","dest.location":"\u4F4D\u7F6E","dest.location.dsh":"DSH skills","dest.location.agents":"Shared Agent","dest.location.agentsOff":"\u5DE5\u4F5C\u533A\u53EA\u652F\u6301 DSH skills\u3002","dest.projectNote":"\u4F1A\u5199\u8FDB\u8FD9\u4E2A\u9879\u76EE\uFF0C\u53EF\u80FD\u88AB\u63D0\u4EA4\u5230\u4ED3\u5E93\u3002","dest.createdInWorkspace":"\u5DF2\u521B\u5EFA\u5728\u6240\u9009\u5DE5\u4F5C\u533A\u3002\u8981\u5728\u8BE5\u5DE5\u4F5C\u533A\u7684\u4F1A\u8BDD\u91CC\u624D\u4F1A\u770B\u5230\u3002"},en:{"dest.scope":"Scope","dest.scope.user":"User directory","dest.scope.workspace":"Specific workspace","dest.workspace":"Workspace","dest.workspace.placeholder":"Select a workspace","dest.workspace.unavailable":"{name} (directory unavailable)","dest.pickFirst":"Select a registered workspace first. No directory is created before you confirm.","dest.empty":"No registered workspaces yet. Add one in the sidebar, then come back.","dest.location":"Location","dest.location.dsh":"DSH skills","dest.location.agents":"Shared Agent","dest.location.agentsOff":"Workspaces support DSH skills only.","dest.projectNote":"This is written into the project and may be committed to its repository.","dest.createdInWorkspace":"Created in the selected workspace. It appears in sessions of that workspace."}},rr=[".dssm-destination{display:flex;flex-direction:column;gap:12px}",".dssm-destination .dssm-field{display:flex;flex-direction:column;gap:6px;min-width:0}",".dssm-destination-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}",".dssm-destination-pair .dssm-menu-select-wrap{width:100%;min-width:0}",'.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"],.dssm-destination-pair .dssm-source-select-menu{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}',".dssm-destination-pair .dssm-menu-select-trigger{display:flex!important;width:100%!important;min-width:0!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}","@media (max-width:420px){.dssm-destination-pair{grid-template-columns:minmax(0,1fr)}}",".dssm-destination-path{display:block;box-sizing:border-box;width:100%;padding:8px 10px;border:0.5px solid var(--dsw-alias-border-l2,rgba(127,127,127,.2));border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,rgba(127,127,127,.06));overflow-wrap:anywhere;font-size:12px;line-height:18px}",".dssm-destination-unavailable{display:flex;flex-direction:column;gap:2px}"].join("");function es({react:a,SourceSelect:e,translateError:l}){let d=a.createElement;return function({t:f,value:g,onChange:y,workspaces:k,userDestinations:R,allowAgents:s,disabled:F}){let O=g.scope==="workspace",le=k.find(b=>!!b.registeredPaths[0]&&b.registeredPaths[0]===g.workspace),nt=[{value:"user",label:f("dest.scope.user")},{value:"workspace",label:f("dest.scope.workspace")}],ke=new Map;for(let b of k)ke.set(b.name,(ke.get(b.name)??0)+1);let x=[{value:"",label:f("dest.workspace.placeholder")}].concat(k.map(b=>({value:b.registeredPaths[0]||"",label:b.available?(ke.get(b.name)??0)>1?b.name+" \xB7 "+b.path:b.name:f("dest.workspace.unavailable",{name:b.name}),disabled:!b.available||!b.registeredPaths[0]}))),se=(s?["dsh","agents"]:["dsh"]).filter(b=>R.some(W=>W.key===b)),u=b=>R.find(W=>W.key===b),Y=b=>se.some(W=>W===b)&&u(b)?.available!==!1,V=se.map(b=>({value:b,label:f("dest.location."+b),disabled:u(b)?.available===!1})),ye=O?d("div",{className:"dssm-field",key:"workspace"},d("span",{className:"dssm-label"},f("dest.workspace")),d(e,{label:f("dest.workspace"),value:g.workspace,disabled:F||k.length===0,options:x,onChange:b=>{!F&&k.length>0&&(b===""||ft({...g,scope:"workspace",workspace:b},k))&&y({workspace:b})}})):d("div",{className:"dssm-field",key:"location"},d("span",{className:"dssm-label"},f("dest.location")),d(e,{label:f("dest.location"),value:g.location,disabled:F||se.length===0,options:V,onChange:b=>{!F&&Y(b)&&y({location:b})}})),ee=O?le&&le.available?$r(le.projectRoot||le.path):"":u(g.location)?.path??"",Ge=O?[]:se.filter(b=>u(b)?.available===!1);return d("div",{className:"dssm-destination"},d("div",{className:"dssm-destination-pair"},d("div",{className:"dssm-field",key:"scope"},d("span",{className:"dssm-label"},f("dest.scope")),d(e,{label:f("dest.scope"),value:g.scope,disabled:F,options:nt,onChange:b=>{!F&&(b==="workspace"||b==="user")&&y(b==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),ye),O&&k.length===0?d("p",{className:"dssm-feedback dssm-warning",role:"status"},f("dest.empty")):null,O&&k.length>0&&!le?d("p",{className:"dssm-note"},f("dest.pickFirst")):null,ee?d("code",{className:"dssm-destination-path"},ee):null,Ge.map(b=>d("div",{key:b,className:"dssm-note dssm-destination-unavailable"},d("span",null,f("dest.location."+b)),d("code",{className:"dssm-destination-path"},u(b)?.path??""),d("span",null,u(b)?.error?l(f,u(b).error):""))),O&&le?d("p",{className:"dssm-note"},f("dest.projectNote")+" "+f("dest.location.agentsOff")):null)}}function sr(a){return{DestinationPicker:es(a),defaultDestination:It,destinationPayload:ha,destinationReady:ft}}var H=Ia(require("react"),1),Pa=require("react-dom/client"),ht=require("@deepseek-ai/dsh-client-ui-primitives");var ts={check:"\u68C0\u67E5\u66F4\u65B0",update:"\u66F4\u65B0",close:"\u5173\u95ED",recheck:"\u91CD\u65B0\u68C0\u67E5",auto:"\u81EA\u52A8\u66F4\u65B0",updating:"\u6B63\u5728\u66F4\u65B0\u2026",copy:"\u590D\u5236\u547D\u4EE4",copied:"\u5DF2\u590D\u5236",copyFailed:"\u590D\u5236\u5931\u8D25",checking:"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026",latest:"\u5DF2\u662F\u6700\u65B0\u7248\u672C",found:"\u53D1\u73B0\u65B0\u7248\u672C",failed:"\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",current:"\u8FD0\u884C\u7248\u672C",latestLabel:"\u6700\u65B0\u7248\u672C",profile:"\u76EE\u6807 profile",unknown:"\u672A\u77E5",manual:"\u624B\u5DE5\u66F4\u65B0",manualHint:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u53EF\u5728\u5F53\u524D DSH \u7EC8\u7AEF\u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\uFF0C\u5B8C\u6210\u540E\u91CD\u542F DSH Web\u3002",manualHintDesktop:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u8BF7\u5148\u5B8C\u5168\u9000\u51FA DSH Desktop\uFF0C\u518D\u7528 Desktop \u81EA\u5E26\u7684 dsh \u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\u3002\u666E\u901A dsh \u4F1A\u62D2\u7EDD desktop profile\u3002",intro:"\u4EC5\u68C0\u67E5\u5E76\u66F4\u65B0\u5F53\u524D\u63D2\u4EF6\uFF0C\u4E0D\u4F1A\u8054\u52A8\u5B89\u88C5\u5176\u4ED6\u63D2\u4EF6\u3002",restart:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u91CD\u542F DSH Web\u3002",restartDesktop:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u65B0\u6253\u5F00 DSH Desktop\u3002",restarting:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u6B63\u5728\u91CD\u542F DSH Desktop\u2026",unavailable:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u81EA\u52A8\u66F4\u65B0\uFF0C\u8BF7\u4F7F\u7528\u624B\u5DE5\u66F4\u65B0\u547D\u4EE4\u3002"},as={check:"Check for updates",update:"Update",close:"Close",recheck:"Check again",auto:"Update automatically",updating:"Updating\u2026",copy:"Copy command",copied:"Copied",copyFailed:"Copy failed",checking:"Checking for updates\u2026",latest:"You are up to date",found:"New version available",failed:"Could not check for updates. Try again later.",current:"Running version",latestLabel:"Latest version",profile:"Target profile",unknown:"Unknown",manual:"Manual update",manualHint:"If automatic update fails, run this command in the current DSH terminal, then restart DSH Web.",manualHintDesktop:"If automatic update fails, fully quit DSH Desktop, then run this command with Desktop's own dsh. A regular dsh rejects the desktop profile.",intro:"Only this plugin is checked and updated. Other plugins are not changed.",restart:"Update complete. Restart DSH Web.",restartDesktop:"Update complete. Fully quit and reopen DSH Desktop.",restarting:"Update complete. Restarting DSH Desktop\u2026",unavailable:"Automatic update is unavailable. Use the manual command."};function _t(a){return a.toLowerCase().startsWith("zh")?ts:as}function rs(a,e,l,d){let p=_t(a),f=e?.restartDesktop===!0||e?.profileName==="desktop",g=f?{...p,manualHint:p.manualHintDesktop}:p,y=l!=="idle",k=g.checking,R="";return l==="checking"?k=g.checking:l==="updating"?k=g.updating:d.type==="error"?(k=d.message||g.failed,R="error"):d.type==="restart"?(k=f?g.restartDesktop:g.restart,R="success"):d.type==="restarting"?(k=g.restarting,R="success"):e===void 0?k=g.checking:e.latestCheckFailed?(k=g.failed,R="error"):!e.canAutoUpdate&&e.updateAvailable?(k=g.unavailable,R="update"):e.updateAvailable?(k=`${g.found}: v${e.latestVersion??g.unknown}`,R="update"):(k=g.latest,R="success"),{copy:g,busy:y,message:k,kind:R,loading:l==="updating",updateLabel:l==="updating"?g.updating:g.auto,disabled:y||e?.canAutoUpdate!==!0||e.updateAvailable!==!0,currentVersion:e===void 0?g.unknown:`v${e.currentVersion}`,latestVersion:e?.latestVersion===void 0?g.unknown:`v${e.latestVersion}`,profileName:e?.profileName??g.unknown,profileRaw:e?.profileName??"",latestRaw:e?.latestVersion??"latest"}}function or(a,e,l){let d="idle",p=e,f={type:"status"},g=0,y=new Set,k=()=>{for(let s of y)s()},R=s=>{p=s,l?.(s)};return{get posts(){return g},subscribe(s){return y.add(s),()=>{y.delete(s)}},view(s){return rs(s,p,d,f)},async check(){if(d==="idle"){d="checking",f={type:"status"},k();try{R(await a("GET")),f={type:"status"}}catch(s){f={type:"error",message:s instanceof Error?s.message:""}}finally{d="idle",k()}}},async update(){if(d==="idle"){d="updating",f={type:"status"},g+=1,k();try{let s=await a("POST");R(s),f={type:s.autoReload===!0?"restarting":"restart"}}catch(s){f={type:"error",message:s instanceof Error?s.message:""}}finally{d="idle",k()}}}}}function nr(a,e,l){return`dsh plugin${a.trim()===""?"":` --profile ${a.trim()}`} add ${e}@${l} --registry=https://registry.npmjs.org/`}function ir(a,e){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),e(),!0)}var ss="x-michengai-plugin-update",lr="michengai-plugin-update-ui",os=`
17
+ .dssm-repo-row .dssm-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-repo-row{display:flex;flex-direction:column;gap:6px;padding:11px 13px;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);background:transparent}.dssm-repo-head{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.dssm-repo-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-repo-actions button{flex:none}.dssm-repo-actions .dssm-repo-copy-actions{gap:8px;margin-left:0}.dssm-repo-main{flex:1;min-width:0}.dssm-repo-main>.dssm-repo-metadata{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-description{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-repo-copies{display:flex;flex-direction:column;gap:2px;min-width:0}.dssm-repo-copy{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent}.dssm-repo-copy .dssm-repo-metadata{font-size:12px;line-height:18px}.dssm-repo-copy-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}.dssm-repo-spinner{display:inline-block;width:12px;height:12px;margin-right:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;corner-shape:round;animation:dssm-repo-spin .8s linear infinite}@keyframes dssm-repo-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dssm-repo-spinner{animation:none}}.dssm-repo-commit-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;line-height:16px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);margin-left:12px;white-space:nowrap;user-select:all}.dssm-repo-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-repo-panel .dssm-desc{margin:0}.dssm-repo-metadata{font-size:11px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow-wrap:anywhere}.dssm-repo-panel .dssm-source{flex-shrink:0;overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-repo-panel .dssm-source-title{font-size:14px;font-weight:650;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:7px}.dssm-repo-panel .dssm-source-brand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-panel .dssm-source-brand svg{width:16px;height:16px;display:block}.dssm-repo-panel .dssm-source-path{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-repo-panel .dssm-count{padding:1px 6px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-bg-layer-2,rgba(255,255,255,0.08));font-size:11px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-manage-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.dssm-repo-manage-row .dssm-repo-main{flex:1}.dssm-repo-manage-row .dssm-repo-actions{margin-left:auto}.dssm-repo-manage-row .dssm-repo-actions button{width:auto;flex:none}.dssm-repo-head .dssm-repo-actions{gap:8px}.dssm-repo-actions>.dssm-repo-copy-actions{display:contents}.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-repo-copies{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:2px}.dssm-repo-copy{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 4px 4px 8px;border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1,rgba(255,255,255,0.04))}.dssm-repo-copy .dssm-repo-metadata{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-copy .dssm-repo-copy-actions{margin-left:0}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger{border-color:var(--dsw-alias-border-l2,#494949)}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger:not(:disabled):hover{color:var(--dsw-alias-state-error-primary,#ef7272)!important;border-color:var(--dsw-alias-state-error-primary,#ef7272)!important}.dssm-repo-copy .dssm-repo-metadata{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dssm-location-lead{flex:0 1 auto;max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-location-path{margin-left:auto;min-width:0;max-width:50%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}`;function ar({react:a,Modal:e,Input:l,Button:d,SourceSelect:p,destination:f,api:g,headers:y,translateError:k,getLocale:R}){let s=a.createElement;function F(L){return s("svg",{className:"dssm-fold-chevron"+(L?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},s("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}let O=d,{DestinationPicker:le,defaultDestination:nt,destinationPayload:ke,destinationReady:x}=f;return function({active:se,t:u,onInstalled:Y}){let[V,ye]=a.useState([]),[ee,Ge]=a.useState([]),[b,W]=a.useState(!1),[he,Ne]=a.useState(null),[Xe,Q]=a.useState(null),[te,De]=a.useState(null),[Ut,Ve]=a.useState(""),[it,yt]=a.useState(""),[je,Bt]=a.useState(""),[vt,oe]=a.useState({}),[h,j]=a.useState(null),[ae,lt]=a.useState(nt()),[ve,ta]=a.useState([]),[K,wt]=a.useState("github"),[ne,aa]=a.useState(""),[dt,kt]=a.useState(""),[xt,ce]=a.useState(""),[xe,Ft]=a.useState([]),[Re,Ot]=a.useState([]),[_e,ue]=a.useState([]),[Ct,ra]=a.useState([]),[We,Vt]=a.useState([]),[Pe,$e]=a.useState(!0),[X,Wt]=a.useState(!1),[et,sa]=a.useState(!1),[St,Nt]=a.useState([]),[oa,Ae]=a.useState(!1),[Rt,ct]=a.useState(!1),_=a.useRef(0),pe=a.useRef(null),tt=a.useRef(null),[Ke,Na]=a.useState(""),[Kt,ut]=a.useState(""),[qt,At]=a.useState([]),[Ue,Ce]=a.useState(!1),[na,at]=a.useState(!1),Le=a.useRef(0),Be=a.useRef(null),Fe=a.useRef(null),Lt=a.useRef({cursor:null,count:0,hasMore:!0}),me=a.useRef(null),ia=a.useRef(null),[qe,Qt]=a.useState({url:"",ref:"",subdirectory:""}),Ee=a.useRef(!1),I=a.useRef(!0);a.useEffect(()=>(I.current=!0,()=>{I.current=!1}),[]);async function rt(){let t=await g("/repositories");if(I.current){let n=(t.installRoots||[]).filter(c=>c.key==="dsh"||c.key==="agents");ye(t.repositories||[]),Ge(n),Ot(t.catalogInstalls||[]),ue(t.catalogCopies||[]),ra(t.catalogUnknownIds||[]),Vt(t.catalogWarnings||[]),ae.scope==="user"&&!n.some(c=>c.key===ae.location&&c.available)&&lt({...ae,location:n.find(c=>c.available)?.key||"dsh"}),g("/workspaces").then(c=>{I.current&&ta(c.items||[])}).catch(()=>{})}}function la(t){if(t.key==="dsh"||t.key==="agents")return u(t.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let n="root."+(t.localeKey||t.key),c=u(n);return c===n?t.label:c}function Zt(t){let n=ee.find(c=>c.key===t);return n?la(n):u("root."+t)}function Me(t){if(t.installedWorkspace){let n=m=>{let w=m.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(w)?w.toLowerCase():w},c=ve.find(m=>m.projectRoot&&n(m.projectRoot)===n(t.installedWorkspace));return c?.available&&c.registeredPaths[0]?{workspace:c.registeredPaths[0]}:null}return t.installedRoot==="dsh"||t.installedRoot==="agents"?{root:t.installedRoot}:null}function pt(t){return t.installedWorkspace||t.installedRoot?Qe(t):""}function da(t){let n=t.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(n)?n.toLowerCase():n}function Ra(t){let n=ve.find(w=>w.projectRoot&&da(w.projectRoot)===da(t));if(n?.name)return n.name;let c=t.replace(/[\\/]+$/,""),m=Math.max(c.lastIndexOf("/"),c.lastIndexOf("\\"));return m>=0?c.slice(m+1):c}function ca(t){let n=!!t.installedWorkspace,c=n?"dsh":t.installedRoot,m=u(c==="agents"?"repo.source.agents":"repo.source.dsh"),w=u(n?"repo.scope.project":"repo.scope.user"),A=n?t.installedWorkspace||"":ee.find(E=>E.key===c)?.path||"";return{lead:n?[w,Ra(t.installedWorkspace||""),m].filter(Boolean).join(" \xB7 "):[w,m].filter(Boolean).join(" \xB7 "),path:A}}function Qe(t){let n=ca(t);return n.path?n.lead+" "+n.path:n.lead}function ua(t){let n=ca(t);return s("div",{className:"dssm-repo-metadata",title:Qe(t)},s("span",{className:"dssm-location-lead"},n.lead),n.path?s("span",{className:"dssm-location-path",title:n.path},n.path):null)}function pa(t){return t.slice().sort((n,c)=>+!!n.installedWorkspace-+!!c.installedWorkspace)}function Aa(t){return pa((t.installations??(t.installedRoot?[t]:[])).filter(n=>n.tracked===!0))}function Yt(t){let n=t,c=k(u,t)||n.message||String(t),m=n?.params?.path;return typeof m=="string"&&m&&!c.includes(m)?c+" \xB7 "+m:c}function ma(t){return t.payload?Yt(t.payload):(t.key?u(t.key):t.text||"")+(t.name?" \xB7 "+t.name:"")}async function ge(t,n=!0,c=!1){if(!Ee.current){Ee.current=!0,c||(W(!0),Q(null));try{await t(),n&&await rt()}catch(m){let w=m;I.current&&Q({error:!0,payload:w})}finally{Ee.current=!1,I.current&&W(!1)}}}function Te(t,n){return g(`/repositories/${t}`,{method:"POST",headers:y,body:JSON.stringify(n)})}let Et=a.useRef(!1);async function mt(t=!1,n=!1,c=ne){if(!se||c.trim()||me.current||n&&Et.current)return;let m=Lt.current;if(!t&&(!m.hasMore||m.count>=100))return;n&&(Et.current=!0);let w=t?0:m.count,A=new AbortController;me.current=A,Wt(!0),sa(!1),t&&(Lt.current={cursor:null,count:0,hasMore:!0},Ft([]));try{let D=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-w))}),E=t?null:m.cursor;E&&D.set("cursor",E);let de=await g(`/clawhub/list?${D.toString()}`,{signal:A.signal});if(me.current!==A||A.signal.aborted||!I.current)return;if(!Array.isArray(de.items))throw new Error("ClawHub response has no items array");let _a=de.items.flatMap(Z=>{if(typeof Z.ownerHandle!="string"||!Z.ownerHandle||typeof Z.slug!="string"||!Z.slug)return[];let Ha=za=>typeof za=="number"&&Number.isFinite(za)?za:void 0;return[{id:Z.ownerHandle+"/"+Z.slug,owner:Z.ownerHandle,slug:Z.slug,name:typeof Z.displayName=="string"&&Z.displayName?Z.displayName:Z.slug,source:Z.ownerHandle+"/"+Z.slug,description:typeof Z.summary=="string"?Z.summary:"",downloads:Ha(Z.stats?.downloads),installs:Ha(Z.stats?.installs),stars:Ha(Z.stats?.stars)}]}).slice(0,Math.max(0,100-w)),$a=typeof de.nextCursor=="string"&&de.nextCursor?de.nextCursor:null,er=w+_a.length;if(Lt.current={cursor:$a,count:er,hasMore:!!$a&&er<100},!I.current)return;Ft(Z=>[...t?[]:Z,..._a].slice(0,100)),$e(Lt.current.hasMore)}catch{me.current===A&&!A.signal.aborted&&I.current&&sa(!0)}finally{me.current===A&&(me.current=null,Et.current=!1,I.current&&Wt(!1))}}function ga(){tt.current&&clearTimeout(tt.current),tt.current=null,_.current++,pe.current?.abort(),pe.current=null,I.current&&Ae(!1)}async function we(t){let n=++_.current,c=new AbortController;pe.current?.abort(),pe.current=c,Nt([]),Ae(!0),ct(!1);try{let m=new URLSearchParams({q:t,limit:"100"}),w=await g(`/clawhub/search?${m.toString()}`,{signal:c.signal});if(!Array.isArray(w.results))throw new Error("ClawHub search response has no results array");let A=E=>typeof E=="number"&&Number.isFinite(E)?E:void 0,D=w.results.flatMap(E=>{if(typeof E.source=="string"&&E.source!=="clawhub")return[];let de=typeof E.ownerHandle=="string"?E.ownerHandle:E.owner?.handle;return typeof de!="string"||!de||typeof E.slug!="string"||!E.slug?[]:[{id:typeof E.id=="string"?E.id:de+"/"+E.slug,owner:de,slug:E.slug,name:typeof E.displayName=="string"&&E.displayName?E.displayName:E.slug,source:de+"/"+E.slug,description:typeof E.summary=="string"?E.summary:"",downloads:A(E.downloads)??A(E.stats?.downloads),installs:A(E.stats?.installs),stars:A(E.stats?.stars)}]});n===_.current&&I.current&&Nt(D)}catch(m){let w=m?.name==="AbortError";n===_.current&&I.current&&!w&&ct(!0)}finally{n===_.current&&(pe.current=null,I.current&&Ae(!1))}}function Mt(t){aa(t),ga(),Nt([]),ct(!1);let n=t.trim().slice(0,100);if(!n){K==="clawhub"&&!xe.length&&!X&&mt(!0,!1,n);return}Ae(!0),tt.current=setTimeout(()=>{tt.current=null,we(n)},300)}function st(){Fe.current&&clearTimeout(Fe.current),Fe.current=null,Le.current++,Be.current?.abort(),Be.current=null,I.current&&Ce(!1)}async function Ze(t){let n=++Le.current,c=new AbortController;Be.current?.abort(),Be.current=c,At([]),Ce(!0),at(!1);try{let m=await g(`/skills-sh/search?q=${encodeURIComponent(t)}`,{signal:c.signal});n===Le.current&&I.current&&At(m.skills)}catch(m){let w=m?.name==="AbortError";n===Le.current&&I.current&&!w&&at(!0)}finally{n===Le.current&&(Be.current=null,I.current&&Ce(!1))}}function fa(t){Na(t),Fe.current&&clearTimeout(Fe.current),Fe.current=null,Le.current++,Be.current?.abort(),Be.current=null,At([]),Ce(!1),at(!1);let n=t.trim();n&&(Fe.current=setTimeout(()=>{Fe.current=null,Ze(n)},300))}function Tt(t){j(null),wt(t)}function He(t){let n=t.getBoundingClientRect(),c=t.parentElement;for(;c;){let m=getComputedStyle(c);if(/(auto|scroll)/.test(`${m.overflowY} ${m.overflow}`)&&c.scrollHeight>c.clientHeight+1){let w=c.getBoundingClientRect();return n.top<=w.bottom+80&&n.bottom>=w.top}c=c.parentElement}return n.top<=window.innerHeight+80}function Ht(t){if(h||t.defaultPrevented||t.deltaY<=0||K!=="clawhub"||ne.trim()||!Pe||et||!t.target||!t.currentTarget.contains(t.target))return;let n=ia.current;!n||typeof n.getBoundingClientRect!="function"||!He(n)||mt(!1,!0)}async function Jt(t){let n=await Te("refresh",{id:t});n.error&&Q({error:!0,payload:n.error})}function zt(t){return ge(async()=>{let n=!1;try{for(let c=0;c<t.length;c++){let m=t[c];Ne({id:m.id,name:m.owner+"/"+m.name,index:c+1,total:t.length});let w=await Te("refresh",{id:m.id});w.error&&(n=!0,Q({error:!0,payload:w.error}))}await rt(),!n&&I.current&&Q({key:"repo.refreshed"})}finally{I.current&&Ne(null)}},!1)}function Gt(t,n){return ge(async()=>{j({type:"detail",repo:t,loading:!0});try{let c=await Te("detail",{id:t.id,path:n.path});I.current&&j({type:"detail",detail:c,repo:t})}catch(c){let m=c;throw I.current&&j({type:"detail",repo:t,failed:!0}),m}},!1,!0)}function r(t){return ge(async()=>{j({type:"catalog-detail",loading:!0});try{let n=await g("/catalog/detail",{method:"POST",headers:y,body:JSON.stringify(t)});I.current&&j({type:"catalog-detail",detail:n})}catch(n){let c=n;throw I.current&&j({type:"catalog-detail",failed:!0}),c}},!1,!0)}function i(t){Ee.current||(Q(null),j({type:"catalog-install",target:t}))}function v(){if(!h||h.type!=="catalog-install"||!x(ae,ve,ee))return;let t=h.target,n=ke(ae);return ge(async()=>{let c=await g("/catalog/install",{method:"POST",headers:y,body:JSON.stringify({...t,...n})});if(!I.current)return;let m=t.catalog==="skillsh"?`skillsh:${t.source}/${t.skillId}`:`clawhub:${t.owner}/${t.slug}`;Ot(D=>D.includes(m)?D:[...D,m]);let w=n.root||"dsh";ue(D=>D.some(E=>E.id===m&&E.installedRoot===w&&E.installedWorkspace===n.workspace)?D:[...D,{id:m,name:c.name,installedRoot:w,...n.workspace?{installedWorkspace:n.workspace}:{},canUninstall:!0}]),Q({key:"repo.installSuccess",name:t.name}),j(null);let A=await Promise.allSettled([rt(),Promise.resolve().then(()=>Y?.())]);I.current&&A.some(D=>D.status==="rejected")&&Q({key:"repo.catalog.installRefreshWarning",name:t.name})},!1)}a.useEffect(()=>{se&&ge(rt,!1)},[se]),a.useEffect(()=>(se&&(K==="clawhub"?ne.trim()?we(ne.trim()):xe.length||mt(!0):K==="skillsh"&&Ke.trim()&&Ze(Ke.trim())),()=>{ga(),st(),me.current?.abort(),me.current=null,Et.current=!1,I.current&&Wt(!1)}),[se,K]);function C(t,n,c=!0,m=!1,w=!1){return s(O,{variant:c?"outline":"primary",className:w?"dssm-btn-danger":void 0,disabled:b||m,onClick:n},u(t))}function T(t){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("path",{d:t,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function M(t,n,c=!1,m){var w=t==="repo.uninstall"||t==="repo.uninstalling"||t==="repo.remove",A=t==="repo.installed"||t==="repo.installedSuccess",D=t==="repo.conflict",E=t==="repo.refresh"||t==="repo.refreshing"?"M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10":t==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":t==="repo.installElsewhere"?"M8 3v10M3 8h10":t==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":t==="repo.review"?"M2.5 8s2.2-3.5 5.5-3.5S13.5 8 13.5 8s-2.2 3.5-5.5 3.5S2.5 8 2.5 8M8 6.3a1.7 1.7 0 1 1 0 3.4 1.7 1.7 0 0 1 0-3.4":t==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":w?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":D?"M8 2.5l5.5 10.5H2.5L8 2.5zm0 3.5v3.5m0 2v.5":"M8 2.5v7M5.2 7.2 8 10l2.8-2.8M3.5 13.5h9";return s(O,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(w?" dssm-icon-danger":A?" dssm-icon-success":D?" dssm-icon-warn":""),"aria-label":u(t),title:m||u(t),icon:T(E),disabled:b||c,onClick:n,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},w?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},w?{danger:!0}:{}))}function q(t){j({type:"remove",repo:t})}function $(t){return he&&he.id===t.id?s(O,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":u("repo.refreshing"),title:u("repo.refreshing"),icon:s("span",{className:"dssm-repo-spinner","aria-hidden":!0}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):M("repo.refresh",()=>zt([t]))}function B(){return V.length?V.map(t=>s("div",{key:t.id,className:"dssm-repo-row dssm-repo-manage-row"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},t.owner+"/"+t.name),s("div",{className:"dssm-note"},[t.ref||u("repo.defaultBranch"),t.subdirectory].filter(Boolean).join(" \xB7 ")),s("div",{className:"dssm-repo-metadata"},t.refreshedAt?u("repo.updated")+" \xB7 "+new Date(t.refreshedAt).toLocaleString(R?.()||u("format.locale")):u("repo.notScanned"))),s("div",{className:"dssm-repo-actions"},$(t),M("repo.remove",()=>q(t))))):s("div",{className:"dssm-empty"},u("repo.empty"))}function P(t,n=!1){let c=he&&(!n||he.id===t[0]?.id);return s(O,{variant:"outline",disabled:b||!t.length,"aria-busy":!!c,onClick:()=>zt(t)},c?s("span",{className:"dssm-repo-spinner","aria-hidden":!0}):null,u(c?"repo.refreshing":"repo.refresh"))}function J(){Ee.current||j(null)}function Oe(t,n,c,m){Ee.current||t==="uninstall"&&(!m||!m.canUninstall||!Me(m))||(Q(null),j({type:t,repo:n,skill:c,copy:m}))}function S(){if(!h||h.type!=="install"&&h.type!=="uninstall")return;let t=h,n=t.type,c=ae;if(n==="install"&&!x(c,ve,ee))return;let m=n==="install"?ke(c):t.copy&&Me(t.copy);if(m)return ge(async()=>{let w={id:t.repo.id,path:t.skill.path,...m};De({...w,action:n,pending:!0,key:"repo."+n+"Progress"});try{await Te(n,w)}catch(E){let de=E;throw I.current&&De({...w,action:n,error:!0,payload:de}),de}if(!I.current)return;let A="repo."+n+"Success";De({...w,action:n,key:A}),Q({key:A,name:t.skill.name}),j(null);let D=await Promise.allSettled([rt(),Promise.resolve().then(()=>Y?.())]);for(let E of D)if(E.status==="rejected")throw E.reason},!1)}function U(t,n,c,m=!1){let w=Me(c);if(!(!w||(m?!c.canRollback:!c.tracked)))return ge(async()=>{let A=await Te("preview",{id:t.id,path:n.path,...w,rollback:m});j({type:m?"rollback":"review",repo:t,skill:n,copy:c,detail:A})})}function Se(){if(!h||h.type!=="review"&&h.type!=="rollback")return;let t=h,n=t.type==="rollback",c=Me(t.copy);if(c)return ge(async()=>{let m={id:t.repo.id,path:t.skill.path,...c};De({...m,pending:!0,key:"repo.updateProgress"});try{await Te(n?"rollback":"update",{...m,token:t.detail.token,overwrite:t.detail.localModified})}catch(A){let D=A;throw I.current&&De({...m,error:!0,payload:D}),D}if(!I.current)return;let w=n?"repo.rollbackSuccess":"repo.updateSuccess";De({...m,key:w}),Q({key:w}),j(null),Y&&await Y()})}function re(t,n,c){return s(O,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:b,"aria-label":u(t),title:u(t),icon:T(n),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:c})}function ie(t){let n=he&&he.id===t[0]?.id;return s(O,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:b||!t.length,"aria-busy":!!n,"aria-label":u(n?"repo.refreshing":"repo.refresh"),title:u(n?"repo.refreshing":"repo.refresh"),icon:n?s("span",{className:"dssm-repo-spinner","aria-hidden":!0}):T("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>zt(t)})}function N(){return s("div",{className:"dssm-filter-actions"},ie(V),re("repo.add","M8 2.5v11M2.5 8h11",()=>{Q(null),Qt({url:"",ref:"",subdirectory:""}),j({type:"add"})}),re("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{Q(null),j({type:"manage"})}))}let G=s("div",{key:"repository-actions",className:"dssm-actions"},P(V),C("repo.add",()=>{Q(null),Qt({url:"",ref:"",subdirectory:""}),j({type:"add"})},!1),C("repo.manage",()=>{Q(null),j({type:"manage"})})),gt=V.filter(t=>!it||t.id===it);function La(t,n,c){let m=Me(c),w=te?.id===t.id&&te.path===n.path&&te.pending&&m&&te.root===m.root&&te.workspace===m.workspace;return s("div",{className:"dssm-repo-copy-actions"},c.tracked&&(c.updateAvailable||c.status==="conflict")?M("repo.review",()=>U(t,n,c),!m):null,c.canRollback?M("repo.rollback",()=>U(t,n,c,!0),!m):null,c.canUninstall?M(w&&te.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>Oe("uninstall",t,n,c),!m,Qe(c)):null)}function Dr(t,n,c){let m=Me(c);return s("div",{className:"dssm-repo-copy",key:JSON.stringify([c.installedRoot,c.installedWorkspace||""])},ua(c),La(t,n,c),m?null:s("div",{className:"dssm-note",role:"status"},u("repo.destinationUnavailable")))}let jr=gt.map(t=>{let n=Ut.trim().toLowerCase(),c=t.skills.filter(A=>(!je||A.status===je)&&(!n||`${A.name} ${A.description} ${t.owner}/${t.name}`.toLowerCase().includes(n))),m=vt[t.id]===void 0?!!n||!!je:vt[t.id],w=m?c.length?c.map(A=>{let D=Aa(A),E=D.length===1?D[0]:void 0;return s("div",{key:A.path,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},A.name),s("div",{className:"dssm-repo-description",title:A.description},A.description),E&&!Me(E)?s("div",{className:"dssm-note",role:"status"},u("repo.destinationUnavailable")):null,te?.id===t.id&&te.path===A.path?s("div",{className:"dssm-note"+(te.error?" dssm-error":""),role:te.error?"alert":"status","aria-live":"polite"},ma(te)):null),s("div",{className:"dssm-repo-actions"},M("repo.detail",()=>Gt(t,A)),M(te?.id===t.id&&te.path===A.path&&te.pending&&te.action==="install"?"repo.installing":D.length?"repo.installElsewhere":"repo."+(A.status==="available"?"install":A.status),()=>Oe("install",t,A),!D.length&&A.status!=="available"))),D.length?s("div",{className:"dssm-repo-copies"},D.map(de=>Dr(t,A,de))):null)}):s("div",{className:"dssm-empty"},u("repo.noSkills")):null;return s("div",{key:t.id},s("section",{className:"dssm-source"},s("div",{className:"dssm-source-head"},s("button",{type:"button",className:"dssm-source-toggle","aria-expanded":m,onClick:()=>oe({...vt,[t.id]:!m})},F(m),s("div",{className:"dssm-source-label"},s("span",{className:"dssm-source-brand",title:"GitHub Repository"},s("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"currentColor"},s("path",{d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))),s("span",{className:"dssm-source-title"},t.owner+"/"+t.name),s("span",{className:"dssm-count"},c.length),s("span",{className:"dssm-source-path",title:t.owner+"/"+t.name},[t.ref||u("repo.defaultBranchLabel"),t.subdirectory].filter(Boolean).join(" \xB7 ")||t.owner+"/"+t.name))),s("span",{className:"dssm-repo-commit-badge",title:t.commit||u("repo.notScanned")},t.commit?t.commit.slice(0,7):u("repo.notScanned"))),m?s("div",{className:"dssm-source-body",role:"region"},w):null),t.error?s("div",{className:"dssm-feedback dssm-error",role:"alert"},Yt(t.error)):null)});function Xt(t,n,c,m){return s(p,{label:u(t),value:n,onChange:c,options:[{value:"",label:u(t)},...m.map(([w,A])=>({value:w,label:A}))]})}let ze=Xe?s("div",{className:"dssm-feedback"+(Xe.error?" dssm-error":""),role:Xe.error?"alert":"status"},ma(Xe)):null,qa=he?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.refreshing")+" "+he.index+"/"+he.total+" \xB7 "+he.name):null,Qa;if(h){let t,n,c;h.type==="install"&&(t=s("div",{className:"dssm-repo-panel","aria-busy":b},s("div",{className:"dssm-name"},h.skill.name),s(le,{t:u,value:ae,disabled:b,allowAgents:!0,workspaces:ve,userDestinations:ee,onChange:m=>{Ee.current||lt({...ae,...m})}}),s("p",{className:"dssm-note"},u("repo.installLocationsHint")),s("p",{className:"dssm-note"},u("repo.installHint")),b?s("div",{role:"status","aria-live":"polite"},u("repo.installProgress")):null,ze,s("div",{className:"dssm-modal-actions"},C("repo.cancel",J),C(b?"repo.installing":"repo.install",S,!1,!x(ae,ve,ee))))),h.type==="uninstall"&&(n=u("repo.uninstallHint"),t=s("div",{className:"dssm-repo-panel","aria-busy":b},s("div",{className:"dssm-name"},h.skill.name),h.copy?s("div",{className:"dssm-repo-metadata"},pt(h.copy)):null,h.copy?.installedRoot==="agents"&&!h.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.uninstallExternalWarning")):null,b?s("div",{role:"status","aria-live":"polite"},u("repo.uninstallProgress")):null,ze),c=s(a.Fragment,null,C("repo.cancel",J),C(b?"repo.uninstalling":"repo.confirmUninstall",S,!0,!h.copy||!Me(h.copy),!0))),(h.type==="review"||h.type==="rollback")&&(t=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},h.skill.name),s("div",{className:"dssm-repo-metadata"},pt(h.copy)),s("div",{className:"dssm-repo-metadata"},h.repo.owner+"/"+h.repo.name+" \xB7 "+h.detail.commit?.slice(0,7)),h.detail.localModified?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.modified")):null,h.detail.changes.length?s("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},h.detail.changes.map(m=>s("li",{key:m.path},u("repo."+(m.kind==="modified"?"modifiedFile":m.kind))+" \xB7 "+m.path))):s("p",null,u("repo.noChanges")),b?s("div",{role:"status"},u("repo.updateProgress")):null,ze),c=s(a.Fragment,null,C("repo.cancel",J),C(h.detail.localModified?"repo.overwrite":h.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",Se,!1,!h.detail.changes.length||!Me(h.copy)))),h.type==="add"&&(t=s("form",{className:"dssm-form",onSubmit:m=>{m.preventDefault(),qe.url.trim()&&ge(async()=>{let w=await Te("add",qe);await Jt(w.id),j(null)})}},[["url","repo.url","https://github.com/owner/repo"],["ref","repo.ref",u("repo.defaultBranch")],["subdirectory","repo.directory",u("repo.directoryHint")]].map(([m,w,A])=>s("label",{className:"dssm-field",key:m},s("span",{className:"dssm-label"},u(w)),s(l,{"aria-label":u(w),value:qe[m],placeholder:A,maxLength:m==="url"?2048:512,required:m==="url",disabled:b,onChange:D=>Qt({...qe,[m]:D.target.value})}))),ze,s("div",{className:"dssm-modal-actions"},C("repo.cancel",J),C("repo.save",()=>{qe.url.trim()&&ge(async()=>{let m=await Te("add",qe);await Jt(m.id),j(null)})},!1,!qe.url.trim())))),h.type==="manage"&&(t=s("div",{className:"dssm-repo-panel"},s("p",{className:"dssm-desc"},u("repo.removeHint")),qa,ze,B())),h.type==="remove"&&(n=u("repo.removeHint"),t=s("div",null,s("div",{className:"dssm-name"},h.repo.owner+"/"+h.repo.name),ze),c=s(a.Fragment,null,C("repo.cancel",()=>j({type:"manage"})),C("repo.removeConfirm",()=>ge(async()=>{await Te("remove",{id:h.repo.id}),it===h.repo.id&&yt(""),j({type:"manage"})}),!0,!1,!0))),h.type==="catalog-detail"&&h.detail&&(t=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},h.detail.name),s("p",{className:"dssm-desc"},h.detail.description),s("div",{className:"dssm-detail-path"},h.detail.origin),s("p",{className:"dssm-note"},u("repo.installHint")),s(l.TextArea,{readOnly:!0,value:h.detail.body||"",autoSize:{minRows:6,maxRows:16}}))),h.type==="catalog-detail"&&!h.detail&&(t=s("div",{role:"status",className:"dssm-repo-panel"},h.loading?u("repo.detailLoading"):null,h.failed?ze:null)),h.type==="catalog-install"&&(t=s("div",{className:"dssm-repo-panel","aria-busy":b},s("div",{className:"dssm-name"},h.target.name),s(le,{t:u,value:ae,disabled:b,allowAgents:!0,workspaces:ve,userDestinations:ee,onChange:m=>{Ee.current||lt({...ae,...m})}}),s("p",{className:"dssm-note"},u("repo.installLocationsHint")),s("p",{className:"dssm-note"},u("repo.installHint")),b?s("div",{role:"status","aria-live":"polite"},u("repo.installProgress")):null,ze,s("div",{className:"dssm-modal-actions"},C("repo.cancel",J),C(b?"repo.installing":"repo.install",v,!1,!x(ae,ve,ee))))),h.type==="catalog-uninstall"&&(n=u("repo.uninstallHint"),t=s("div",{className:"dssm-repo-panel","aria-busy":b},s("div",{className:"dssm-name"},h.copy.name),s("div",{className:"dssm-repo-metadata"},Pr(h.copy)),h.copy.installedRoot==="agents"&&!h.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.uninstallExternalWarning")):null,b?s("div",{role:"status","aria-live":"polite"},u("repo.uninstallProgress")):null,ze),c=s(a.Fragment,null,C("repo.cancel",J),C(b?"repo.uninstalling":"repo.confirmUninstall",Br,!0,!1,!0))),h.type==="detail"&&h.detail&&(t=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},h.detail.name),s("p",{className:"dssm-desc"},h.detail.description),s("div",{className:"dssm-detail-path"},h.repo.owner+"/"+h.repo.name+" \xB7 "+h.detail.path),s("div",{className:"dssm-repo-metadata"},u("repo.commit")+" \xB7 "+h.detail.commit),s("p",{className:"dssm-note"},u("repo.installHint")),s(l.TextArea,{readOnly:!0,value:h.detail.body||"",autoSize:{minRows:6,maxRows:16}}))),h.type==="detail"&&!h.detail&&(t=s("div",{role:"status",className:"dssm-repo-panel"},h.loading?u("repo.detailLoading"):null,h.failed?ze:null)),Qa=s(e,{title:u("repo."+(h.type==="catalog-detail"?"detail":h.type==="catalog-install"?"install":h.type==="catalog-uninstall"?"uninstall":h.type==="remove"?"remove":h.type)),description:n,footer:c,closeLabel:u("repo.close"),onClose:J},t)}function Ea(t){return Re.includes(t)||Ma(t).length>0}function Ma(t){return pa(_e.filter(n=>n.id===t))}function Pr(t){return Qe(t)}function Ur(t){!Ee.current&&t.canUninstall&&(Q(null),j({type:"catalog-uninstall",copy:t}))}function Br(){if(!h||h.type!=="catalog-uninstall")return;let t=h.copy;return ge(async()=>{if(await g("/delete",{method:"POST",headers:y,body:JSON.stringify({name:t.name,root:t.installedRoot,...t.installedWorkspace?{workspace:t.installedWorkspace}:{}})}),!I.current)return;ue(c=>c.filter(m=>m!==t&&!(m.id===t.id&&m.installedRoot===t.installedRoot&&m.installedWorkspace===t.installedWorkspace))),Q({key:"repo.uninstallSuccess",name:t.name}),j(null);let n=await Promise.allSettled([rt(),Promise.resolve().then(()=>Y?.())]);I.current&&n.some(c=>c.status==="rejected")&&Q({key:"repo.catalog.uninstallRefreshWarning",name:t.name})},!1)}function Za(t,n,c,m){let w=Ma(t);return s("div",{className:"dssm-repo-actions"},M("repo.detail",c),n&&!w.length?s("span",{className:"dssm-note",role:"status"},u("repo.catalog.unknownLocation")):null,w.length?M("repo.installElsewhere",m):Ea(t)?s("span",{className:"dssm-catalog-installed",role:"status"},u("repo.installed")):M(n?"repo.catalog.reassociate":"repo.install",m))}function Ya(t){let n=Ma(t);return n.length?s("div",{className:"dssm-repo-copies"},n.map(c=>s("div",{className:"dssm-repo-copy",key:JSON.stringify([c.id,c.installedRoot,c.installedWorkspace||""])},ua(c),c.canUninstall?M("repo.uninstall",()=>Ur(c),!1,Qe(c)):null))):null}let Ta=xe.filter(t=>{let n=Ea(`clawhub:${t.owner}/${t.slug}`);return!xt||(xt==="installed"?n:!n)}),Ja=dt==="installs"?Ta.slice().sort((t,n)=>(n.installs||0)-(t.installs||0)):dt==="name"?Ta.slice().sort((t,n)=>t.name.localeCompare(n.name)):Ta,Ga=t=>{let n=Ct.includes(`clawhub:${t.owner}/${t.slug}`),c=[t.source,t.downloads===void 0?null:t.downloads.toLocaleString()+" "+u("repo.catalog.downloads"),t.installs===void 0?null:t.installs.toLocaleString()+" "+u("repo.catalog.installs"),t.stars===void 0?null:t.stars.toLocaleString()+" "+u("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return s("div",{key:t.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},t.name),t.description?s("div",{className:"dssm-repo-description",title:t.description},t.description):null,s("div",{className:"dssm-meta-origin"},c)),Za(`clawhub:${t.owner}/${t.slug}`,n,()=>r({catalog:"clawhub",owner:t.owner,slug:t.slug,name:t.name}),()=>i({catalog:"clawhub",owner:t.owner,slug:t.slug,name:t.name}))),Ya(`clawhub:${t.owner}/${t.slug}`))},Fr=s("div",{className:"dssm-catalog-list",onWheel:Ht},Ja.map(Ga),!Ja.length&&!X&&!et?s("div",{className:"dssm-empty"},u("repo.catalog.empty")):null,X?s("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},s("span",{className:"dssm-repo-spinner","aria-hidden":!0}),xe.length?u("repo.catalog.loadingMore"):u("repo.catalog.loading")):null,et?s("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.loadError"),s(O,{variant:"ghost",size:"sm",onClick:()=>{mt()}},u("repo.catalog.retry"))):null,K==="clawhub"&&!ne.trim()&&Pe&&!et?s("div",{className:"dssm-catalog-sentinel",ref:ia,"aria-hidden":!0}):null,K==="clawhub"&&!ne.trim()&&Pe&&!et&&!X?s("div",{className:"dssm-catalog-loading"},s(O,{variant:"ghost",size:"sm",onClick:()=>{mt(!1,!0)}},u("repo.catalog.loadMore"))):null),Or=s("div",{className:"dssm-catalog-list"},St.map(Ga),ne.trim()&&!St.length&&!oa&&!Rt?s("div",{className:"dssm-empty"},u("repo.catalog.searchEmpty")):null,oa?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.catalog.searchLoading")):null,Rt?s("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.searchError"),s(O,{variant:"ghost",size:"sm",onClick:()=>{we(ne.trim())}},u("repo.catalog.retry"))):null),Xa=qt.filter(t=>{if(!Kt)return!0;let n=Ea(`skillsh:${t.source}/${t.skillId}`);return Kt==="installed"?n:!n}),Vr=s("div",{className:"dssm-catalog-list"},Xa.map(t=>{let n=`skillsh:${t.source}/${t.skillId}`,c=Ct.includes(n),m=[t.source,t.installs===void 0?null:t.installs.toLocaleString()+" "+u("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return s("div",{key:t.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},t.name),s("div",{className:"dssm-meta-origin"},m)),Za(n,c,()=>r({catalog:"skillsh",source:t.source,skillId:t.skillId,name:t.name}),()=>i({catalog:"skillsh",source:t.source,skillId:t.skillId,name:t.name}))),Ya(n))}),Ke.trim()&&!Xa.length&&!Ue&&!na?s("div",{className:"dssm-empty"},u("repo.catalog.skillshEmpty")):null,Ue?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.catalog.skillshLoading")):null,na?s("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.skillshError"),s(O,{variant:"ghost",size:"sm",onClick:()=>{Ze(Ke.trim())}},u("repo.catalog.retry"))):null),Wr=s("div",{className:"dssm-subsources"},s("button",{type:"button",className:"dssm-subsource-btn"+(K==="github"?" on":""),"aria-pressed":K==="github",onClick:()=>Tt("github")},u("repo.subsource.github")+" ("+V.length+")"),s("button",{type:"button",className:"dssm-subsource-btn"+(K==="clawhub"?" on":""),"aria-pressed":K==="clawhub",onClick:()=>Tt("clawhub")},u("repo.subsource.clawhub")),s("button",{type:"button",className:"dssm-subsource-btn"+(K==="skillsh"?" on":""),"aria-pressed":K==="skillsh",onClick:()=>Tt("skillsh")},u("repo.subsource.skillsh"))),Kr=K==="github"?s("div",{className:"dssm-filters"},s("div",{className:"dssm-source-filter"},Xt("repo.all",it,yt,V.map(t=>[t.id,t.owner+"/"+t.name]))),s("div",{className:"dssm-status-filter"},Xt("repo.states",je,t=>{Bt(t),oe({})},["available","installed","update","conflict","invalid"].map(t=>[t,u("repo."+t)]))),s(l,{className:"dssm-search",allowClear:!0,"aria-label":u("repo.search"),placeholder:u("repo.search"),value:Ut,onChange:t=>{Ve(t.target.value),oe({})}}),N()):K==="clawhub"?s("div",{className:"dssm-filters dssm-catalog-filters"},ne.trim()?null:s("div",{className:"dssm-catalog-sort-filter"},Xt("repo.subsource.popular",dt,kt,[["installs",u("repo.sort.installs")],["name",u("repo.sort.name")]])),ne.trim()?null:s("div",{className:"dssm-catalog-status-filter"},Xt("repo.catalog.states",xt,ce,[["available",u("repo.available")],["installed",u("repo.installed")]])),s(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":u("repo.catalog.searchClawhub"),placeholder:u("repo.catalog.searchClawhub"),value:ne,onChange:t=>Mt(t.target.value)})):K==="skillsh"?s("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},s("div",{className:"dssm-catalog-status-filter"},Xt("repo.catalog.states",Kt,ut,[["available",u("repo.catalog.uninstalled")],["installed",u("repo.installed")]])),s(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":u("repo.catalog.searchSkillsh"),placeholder:u("repo.catalog.searchSkillsh"),value:Ke,onChange:t=>fa(t.target.value)})):null,qr=s("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":b},s("style",null,_r),Wr,K==="github"?s("p",{className:"dssm-desc"},u("repo.hint")):K==="clawhub"&&!ne.trim()?s("p",{className:"dssm-desc"},u("repo.subsource.catalogNote")):null,Kr,Ct.length?s("div",{className:"dssm-note",role:"status"},u("repo.catalog.unknownHint")):null,We.map(t=>s("div",{key:t.id,className:"dssm-feedback dssm-error",role:"alert"},t.id+" \xB7 "+Yt(t))),ze,h?null:qa,b&&!he?s("div",{className:"dssm-note",role:"status"},u("repo.loading")):null,K==="github"?V.length?jr:s("div",{className:"dssm-empty"},u("repo.empty")):K==="skillsh"?Vr:ne.trim()?Or:Fr,s("p",{className:"dssm-note"},u("repo.footer")),Qa);return{actions:G,content:qr,focusSource:(t,n)=>{yt(t.id),Ve(n),Bt(""),oe({[t.id]:!0})}}}}var It=()=>({scope:"user",location:"dsh",workspace:""});function ha(a){return a.scope==="workspace"?{workspace:a.workspace}:{root:a.location==="agents"?"agents":"dsh"}}function ft(a,e,l){return a.scope==="user"?!l||l.some(d=>d.key===a.location&&d.available===!0):e.some(d=>d.available&&!!d.registeredPaths[0]&&d.registeredPaths[0]===a.workspace)}function $r(a){let e=a.includes("\\")?"\\":"/";return a.replace(/[\\/]+$/,"")+e+".dsh"+e+"skills"}var ja={zh:{"dest.scope":"\u8303\u56F4","dest.scope.user":"\u7528\u6237\u76EE\u5F55","dest.scope.workspace":"\u6307\u5B9A\u5DE5\u4F5C\u533A","dest.workspace":"\u5DE5\u4F5C\u533A","dest.workspace.placeholder":"\u8BF7\u9009\u62E9\u5DE5\u4F5C\u533A","dest.workspace.unavailable":"{name}\uFF08\u76EE\u5F55\u4E0D\u53EF\u7528\uFF09","dest.pickFirst":"\u5148\u9009\u62E9\u4E00\u4E2A\u5DF2\u767B\u8BB0\u5DE5\u4F5C\u533A\u3002\u786E\u8BA4\u524D\u4E0D\u4F1A\u521B\u5EFA\u76EE\u5F55\u3002","dest.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\uFF0C\u518D\u56DE\u5230\u8FD9\u91CC\u9009\u62E9\u3002","dest.location":"\u4F4D\u7F6E","dest.location.dsh":"DSH skills","dest.location.agents":"Shared Agent","dest.location.agentsOff":"\u5DE5\u4F5C\u533A\u53EA\u652F\u6301 DSH skills\u3002","dest.projectNote":"\u4F1A\u5199\u8FDB\u8FD9\u4E2A\u9879\u76EE\uFF0C\u53EF\u80FD\u88AB\u63D0\u4EA4\u5230\u4ED3\u5E93\u3002","dest.createdInWorkspace":"\u5DF2\u521B\u5EFA\u5728\u6240\u9009\u5DE5\u4F5C\u533A\u3002\u8981\u5728\u8BE5\u5DE5\u4F5C\u533A\u7684\u4F1A\u8BDD\u91CC\u624D\u4F1A\u770B\u5230\u3002"},en:{"dest.scope":"Scope","dest.scope.user":"User directory","dest.scope.workspace":"Specific workspace","dest.workspace":"Workspace","dest.workspace.placeholder":"Select a workspace","dest.workspace.unavailable":"{name} (directory unavailable)","dest.pickFirst":"Select a registered workspace first. No directory is created before you confirm.","dest.empty":"No registered workspaces yet. Add one in the sidebar, then come back.","dest.location":"Location","dest.location.dsh":"DSH skills","dest.location.agents":"Shared Agent","dest.location.agentsOff":"Workspaces support DSH skills only.","dest.projectNote":"This is written into the project and may be committed to its repository.","dest.createdInWorkspace":"Created in the selected workspace. It appears in sessions of that workspace."}},rr=[".dssm-destination{display:flex;flex-direction:column;gap:12px}",".dssm-destination .dssm-field{display:flex;flex-direction:column;gap:6px;min-width:0}",".dssm-destination-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}",".dssm-destination-pair .dssm-menu-select-wrap{width:100%;min-width:0}",'.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"],.dssm-destination-pair .dssm-source-select-menu{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}',".dssm-destination-pair .dssm-menu-select-trigger{display:flex!important;width:100%!important;min-width:0!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}","@media (max-width:420px){.dssm-destination-pair{grid-template-columns:minmax(0,1fr)}}",".dssm-destination-path{display:block;box-sizing:border-box;width:100%;padding:8px 10px;border:0.5px solid var(--dsw-alias-border-l2,rgba(127,127,127,.2));border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,rgba(127,127,127,.06));overflow-wrap:anywhere;font-size:12px;line-height:18px}",".dssm-destination-unavailable{display:flex;flex-direction:column;gap:2px}"].join("");function es({react:a,SourceSelect:e,translateError:l}){let d=a.createElement;return function({t:f,value:g,onChange:y,workspaces:k,userDestinations:R,allowAgents:s,disabled:F}){let O=g.scope==="workspace",le=k.find(b=>!!b.registeredPaths[0]&&b.registeredPaths[0]===g.workspace),nt=[{value:"user",label:f("dest.scope.user")},{value:"workspace",label:f("dest.scope.workspace")}],ke=new Map;for(let b of k)ke.set(b.name,(ke.get(b.name)??0)+1);let x=[{value:"",label:f("dest.workspace.placeholder")}].concat(k.map(b=>({value:b.registeredPaths[0]||"",label:b.available?(ke.get(b.name)??0)>1?b.name+" \xB7 "+b.path:b.name:f("dest.workspace.unavailable",{name:b.name}),disabled:!b.available||!b.registeredPaths[0]}))),se=(s?["dsh","agents"]:["dsh"]).filter(b=>R.some(W=>W.key===b)),u=b=>R.find(W=>W.key===b),Y=b=>se.some(W=>W===b)&&u(b)?.available!==!1,V=se.map(b=>({value:b,label:f("dest.location."+b),disabled:u(b)?.available===!1})),ye=O?d("div",{className:"dssm-field",key:"workspace"},d("span",{className:"dssm-label"},f("dest.workspace")),d(e,{label:f("dest.workspace"),value:g.workspace,disabled:F||k.length===0,options:x,onChange:b=>{!F&&k.length>0&&(b===""||ft({...g,scope:"workspace",workspace:b},k))&&y({workspace:b})}})):d("div",{className:"dssm-field",key:"location"},d("span",{className:"dssm-label"},f("dest.location")),d(e,{label:f("dest.location"),value:g.location,disabled:F||se.length===0,options:V,onChange:b=>{!F&&Y(b)&&y({location:b})}})),ee=O?le&&le.available?$r(le.projectRoot||le.path):"":u(g.location)?.path??"",Ge=O?[]:se.filter(b=>u(b)?.available===!1);return d("div",{className:"dssm-destination"},d("div",{className:"dssm-destination-pair"},d("div",{className:"dssm-field",key:"scope"},d("span",{className:"dssm-label"},f("dest.scope")),d(e,{label:f("dest.scope"),value:g.scope,disabled:F,options:nt,onChange:b=>{!F&&(b==="workspace"||b==="user")&&y(b==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),ye),O&&k.length===0?d("p",{className:"dssm-feedback dssm-warning",role:"status"},f("dest.empty")):null,O&&k.length>0&&!le?d("p",{className:"dssm-note"},f("dest.pickFirst")):null,ee?d("code",{className:"dssm-destination-path"},ee):null,Ge.map(b=>d("div",{key:b,className:"dssm-note dssm-destination-unavailable"},d("span",null,f("dest.location."+b)),d("code",{className:"dssm-destination-path"},u(b)?.path??""),d("span",null,u(b)?.error?l(f,u(b).error):""))),O&&le?d("p",{className:"dssm-note"},f("dest.projectNote")+" "+f("dest.location.agentsOff")):null)}}function sr(a){return{DestinationPicker:es(a),defaultDestination:It,destinationPayload:ha,destinationReady:ft}}var H=Ia(require("react"),1),Pa=require("react-dom/client"),ht=require("@deepseek-ai/dsh-client-ui-primitives");var ts={check:"\u68C0\u67E5\u66F4\u65B0",update:"\u66F4\u65B0",close:"\u5173\u95ED",recheck:"\u91CD\u65B0\u68C0\u67E5",auto:"\u81EA\u52A8\u66F4\u65B0",updating:"\u6B63\u5728\u66F4\u65B0\u2026",copy:"\u590D\u5236\u547D\u4EE4",copied:"\u5DF2\u590D\u5236",copyFailed:"\u590D\u5236\u5931\u8D25",checking:"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026",latest:"\u5DF2\u662F\u6700\u65B0\u7248\u672C",found:"\u53D1\u73B0\u65B0\u7248\u672C",failed:"\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",current:"\u8FD0\u884C\u7248\u672C",latestLabel:"\u6700\u65B0\u7248\u672C",profile:"\u76EE\u6807 profile",unknown:"\u672A\u77E5",manual:"\u624B\u5DE5\u66F4\u65B0",manualHint:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u53EF\u5728\u5F53\u524D DSH \u7EC8\u7AEF\u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\uFF0C\u5B8C\u6210\u540E\u91CD\u542F DSH Web\u3002",manualHintDesktop:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u8BF7\u5148\u5B8C\u5168\u9000\u51FA DSH Desktop\uFF0C\u518D\u7528 Desktop \u81EA\u5E26\u7684 dsh \u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\u3002\u666E\u901A dsh \u4F1A\u62D2\u7EDD desktop profile\u3002",intro:"\u4EC5\u68C0\u67E5\u5E76\u66F4\u65B0\u5F53\u524D\u63D2\u4EF6\uFF0C\u4E0D\u4F1A\u8054\u52A8\u5B89\u88C5\u5176\u4ED6\u63D2\u4EF6\u3002",restart:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u91CD\u542F DSH Web\u3002",restartDesktop:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u65B0\u6253\u5F00 DSH Desktop\u3002",restarting:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u6B63\u5728\u91CD\u542F DSH Desktop\u2026",unavailable:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u81EA\u52A8\u66F4\u65B0\uFF0C\u8BF7\u4F7F\u7528\u624B\u5DE5\u66F4\u65B0\u547D\u4EE4\u3002"},as={check:"Check for updates",update:"Update",close:"Close",recheck:"Check again",auto:"Update automatically",updating:"Updating\u2026",copy:"Copy command",copied:"Copied",copyFailed:"Copy failed",checking:"Checking for updates\u2026",latest:"You are up to date",found:"New version available",failed:"Could not check for updates. Try again later.",current:"Running version",latestLabel:"Latest version",profile:"Target profile",unknown:"Unknown",manual:"Manual update",manualHint:"If automatic update fails, run this command in the current DSH terminal, then restart DSH Web.",manualHintDesktop:"If automatic update fails, fully quit DSH Desktop, then run this command with Desktop's own dsh. A regular dsh rejects the desktop profile.",intro:"Only this plugin is checked and updated. Other plugins are not changed.",restart:"Update complete. Restart DSH Web.",restartDesktop:"Update complete. Fully quit and reopen DSH Desktop.",restarting:"Update complete. Restarting DSH Desktop\u2026",unavailable:"Automatic update is unavailable. Use the manual command."};function _t(a){return a.toLowerCase().startsWith("zh")?ts:as}function rs(a,e,l,d){let p=_t(a),f=e?.restartDesktop===!0||e?.profileName==="desktop",g=f?{...p,manualHint:p.manualHintDesktop}:p,y=l!=="idle",k=g.checking,R="";return l==="checking"?k=g.checking:l==="updating"?k=g.updating:d.type==="error"?(k=d.message||g.failed,R="error"):d.type==="restart"?(k=f?g.restartDesktop:g.restart,R="success"):d.type==="restarting"?(k=g.restarting,R="success"):e===void 0?k=g.checking:e.latestCheckFailed?(k=g.failed,R="error"):!e.canAutoUpdate&&e.updateAvailable?(k=g.unavailable,R="update"):e.updateAvailable?(k=`${g.found}: v${e.latestVersion??g.unknown}`,R="update"):(k=g.latest,R="success"),{copy:g,busy:y,message:k,kind:R,loading:l==="updating",updateLabel:l==="updating"?g.updating:g.auto,disabled:y||e?.canAutoUpdate!==!0||e.updateAvailable!==!0,currentVersion:e===void 0?g.unknown:`v${e.currentVersion}`,latestVersion:e?.latestVersion===void 0?g.unknown:`v${e.latestVersion}`,profileName:e?.profileName??g.unknown,profileRaw:e?.profileName??"",latestRaw:e?.latestVersion??"latest"}}function or(a,e,l){let d="idle",p=e,f={type:"status"},g=0,y=new Set,k=()=>{for(let s of y)s()},R=s=>{p=s,l?.(s)};return{get posts(){return g},subscribe(s){return y.add(s),()=>{y.delete(s)}},view(s){return rs(s,p,d,f)},async check(){if(d==="idle"){d="checking",f={type:"status"},k();try{R(await a("GET")),f={type:"status"}}catch(s){f={type:"error",message:s instanceof Error?s.message:""}}finally{d="idle",k()}}},async update(){if(d==="idle"){d="updating",f={type:"status"},g+=1,k();try{let s=await a("POST");R(s),f={type:s.autoReload===!0?"restarting":"restart"}}catch(s){f={type:"error",message:s instanceof Error?s.message:""}}finally{d="idle",k()}}}}}function nr(a,e,l){return`dsh plugin${a.trim()===""?"":` --profile ${a.trim()}`} add ${e}@${l} --registry=https://registry.npmjs.org/`}function ir(a,e){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),e(),!0)}var ss="x-michengai-plugin-update",lr="michengai-plugin-update-ui",os=`
17
18
  .mpi-version{margin-left:8px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-family:inherit;font-size:12px;font-weight:500;line-height:18px;letter-spacing:0;white-space:nowrap;vertical-align:baseline}.mpi-check-host{display:inline-flex;align-items:center}.mpi-icon{display:inline-flex;flex:0 0 auto;width:16px;height:16px;align-items:center;justify-content:center;pointer-events:none}.mpi-icon svg{display:block;width:16px;height:16px}
18
19
  .mpi-intro{margin:0 0 16px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:13px;line-height:20px}.mpi-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;margin:0 0 16px;font-size:12px;line-height:18px}.mpi-meta dt{color:var(--dsw-alias-label-secondary,#b9b9b9)}.mpi-meta dd{margin:0}.mpi-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.mpi-latest{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.mpi-status{font-size:13px;font-weight:600;line-height:18px}.mpi-status[data-kind=error]{color:var(--dsw-alias-state-error-primary,#ef7272)}.mpi-status[data-kind=success]{color:var(--dsw-alias-state-success-primary,#51b976)}.mpi-status[data-kind=update]{color:#e8b15a !important}.mpi-manual{border-top:0.5px solid var(--dsw-alias-border-l2,#494949);padding-top:16px}.mpi-manual h3{margin:0 0 6px;font-size:14px;line-height:20px}.mpi-manual p{margin:0 0 10px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px;line-height:18px}.mpi-command{display:flex;align-items:flex-start;gap:8px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);padding:10px;background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent))}.mpi-command code{min-width:0;flex:1;overflow:visible;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:18px;white-space:pre-wrap;overflow-wrap:anywhere}
19
20
  .dssm-update-progress{height:4px;border-radius:2px;background:var(--dsw-alias-border-l1,#3a3a3a);overflow:hidden;margin:12px 0;position:relative}
@@ -21,11 +22,11 @@ var exports = module.exports;
21
22
  @keyframes dssm-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
22
23
  @media (prefers-reduced-motion:reduce){.dssm-update-progress-bar{animation:none;width:100%;opacity:.6}}
23
24
  @media(max-width:560px){.mpi-meta{grid-template-columns:1fr;gap:2px}.mpi-meta dd{margin-bottom:6px}}
24
- `;function ns(){if(document.getElementById(lr)!==null)return;let a=document.createElement("style");a.id=lr,a.textContent=os,(document.head??document.documentElement).append(a)}function is(a){if(a===null||typeof a!="object")return!1;let e=a;return typeof e.packageName=="string"&&typeof e.currentVersion=="string"&&typeof e.updateAvailable=="boolean"&&typeof e.profileName=="string"&&typeof e.canAutoUpdate=="boolean"&&typeof e.latestCheckFailed=="boolean"&&(e.latestVersion===void 0||typeof e.latestVersion=="string")}async function dr(a,e,l){let d=l===void 0?{}:{signal:l},p=await fetch(a,e==="GET"?{cache:"no-store",...d}:{method:"POST",headers:{"content-type":"application/json",[ss]:"1"},body:"{}",...d}),f=await p.json();if(!p.ok||!is(f))throw new Error(f&&typeof f=="object"&&"error"in f&&typeof f.error=="string"?f.error:_t(document.documentElement.lang).failed);return f}function ls(a){let e=H.default.useRef(null);return H.default.useLayoutEffect(()=>{e.current?.replaceChildren(a.node)},[a.node]),H.default.createElement("span",{ref:e,className:"mpi-icon","aria-hidden":!0})}function ds(a){let e=H.default.useRef(null),[,l]=H.default.useState(0),[d,p]=H.default.useState("idle");H.default.useEffect(()=>a.flow.subscribe(()=>l(s=>s+1)),[a.flow]),H.default.useEffect(()=>{let s=document.documentElement,F=new MutationObserver(()=>l(O=>O+1));return F.observe(s,{attributes:!0,attributeFilter:["lang"]}),()=>F.disconnect()},[]),H.default.useEffect(()=>{a.flow.check()},[a.flow]),H.default.useEffect(()=>{function s(F){ir(F,a.onClose)}return document.addEventListener("keydown",s,!0),()=>document.removeEventListener("keydown",s,!0)},[a.onClose]);let f=document.documentElement.lang,g=a.flow.view(f),y=f.toLowerCase().startsWith("zh")?a.zhName:a.enName,k=nr(g.profileRaw,a.packageName,g.latestRaw),R=d==="copied"?g.copy.copied:d==="failed"?g.copy.copyFailed:g.copy.copy;return H.default.createElement(ht.Modal,{open:!0,className:"mpi-dialog",width:680,zIndex:1200,title:`${y} ${g.copy.update}`,keyboard:!1,onClose:a.onClose,closeLabel:"Close",footer:[H.default.createElement(ht.Button,{key:"check",variant:"outline",size:"sm",disabled:g.busy,onClick:()=>{a.flow.check()}},g.copy.recheck),H.default.createElement(ht.Button,{key:"update",variant:"primary",size:"sm",disabled:g.disabled,onClick:()=>{a.flow.update()}},g.updateLabel)]},H.default.createElement("div",{ref:e},H.default.createElement("p",{className:"mpi-intro"},g.copy.intro),H.default.createElement("dl",{className:"mpi-meta"},H.default.createElement("dt",null,g.copy.current),H.default.createElement("dd",null,H.default.createElement("span",{className:"mpi-mono"},g.currentVersion)),H.default.createElement("dt",null,g.copy.latestLabel),H.default.createElement("dd",{className:"mpi-latest"},H.default.createElement("span",{className:"mpi-mono"},g.latestVersion),H.default.createElement("span",{className:"mpi-status",role:"status","data-kind":g.kind,...g.kind==="update"?{style:{color:"#e8b15a"}}:{}},g.message)),H.default.createElement("dt",null,g.copy.profile),H.default.createElement("dd",null,H.default.createElement("span",{className:"mpi-mono"},g.profileName))),g.busy?H.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},H.default.createElement("div",{className:"dssm-update-progress-bar"})):null,H.default.createElement("section",{className:"mpi-manual"},H.default.createElement("h3",null,g.copy.manual),H.default.createElement("p",null,g.copy.manualHint),H.default.createElement("div",{className:"mpi-command"},H.default.createElement("code",null,k),H.default.createElement(ht.Button,{variant:"outline",size:"sm",disabled:g.busy,onClick:()=>{let s=navigator.clipboard?.writeText(k);if(s===void 0){p("failed");return}s.then(()=>{p("copied"),window.setTimeout(()=>p("idle"),1400)}).catch(()=>p("failed"))}},R)))))}function cr(a){if(typeof document>"u"||document.body===null)return()=>{};ns();let e=new AbortController,l,d,p,f,g,y,k;function R(){p?.unmount(),p=void 0,d=void 0,f=void 0}function s(){if(p===void 0)return;f===void 0&&(f=a.createIcon("refresh"));let x=f;p.render(H.default.createElement(ht.Button,{variant:"outline",size:"sm",onClick:O,icon:H.default.createElement(ls,{node:x})},H.default.createElement("span",{"data-mpi-label":""},_t(document.documentElement.lang).check)))}function F(){y?.unmount(),y=void 0,g?.remove(),g=void 0}function O(){F();let x=document.createElement("div");x.className="mpi-dialog-root",document.body.append(x),g=x,y=(0,Pa.createRoot)(x),y.render(H.default.createElement(ds,{flow:or(L=>dr(a.endpoint,L,e.signal),l,L=>{l=L,le()}),packageName:a.packageName,zhName:a.zhName,enName:a.enName,onClose:F}))}function le(){let x=document.querySelector(a.titleRowSelector);if(x===null)return;let L=x.querySelector("h1,h2");if(L!==null&&l!==void 0){let V=L.querySelector(`.mpi-version[data-package="${a.packageName}"]`);V===null&&(V=document.createElement("span"),V.className="mpi-version",V.dataset.package=a.packageName,L.append(V));let ye=`v${l.currentVersion}`;V.textContent!==ye&&(V.textContent=ye)}d!==void 0&&!d.isConnected&&R();let se=x.querySelector(a.linksSelector);if(se===null)return;let u=se.querySelector(`[data-mpi-check="${a.packageName}"]`);if(u!==null){let V=u.querySelector("[data-mpi-label]");(V===null||V.textContent!==_t(document.documentElement.lang).check)&&s();return}let Y=document.createElement("span");Y.dataset.mpiCheck=a.packageName,Y.className="mpi-check-host",se.append(Y),d=Y,p=(0,Pa.createRoot)(Y),s()}let nt=async()=>(l=await dr(a.endpoint,"GET",e.signal),le(),l),ke=new MutationObserver(()=>{k===void 0&&(k=window.requestAnimationFrame(()=>{k=void 0,le()}))});return ke.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),le(),nt().catch(()=>{}),()=>{e.abort(),ke.disconnect(),F(),R(),k!==void 0&&window.cancelAnimationFrame(k),document.querySelectorAll(`[data-mpi-check="${a.packageName}"],.mpi-version[data-package="${a.packageName}"]`).forEach(x=>x.remove())}}var Dt=require("@deepseek-ai/dsh-client-ui-primitives");function ur(a,e){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),e(),!0)}function pr(a){let e=a.createElement;return function(d){let p=a.useState(!1),f=p[0],g=p[1];a.useEffect(function(){if(!f||typeof window>"u")return;function s(F){ur(F,function(){g(!1)})}return window.addEventListener("keydown",s,!0),function(){window.removeEventListener("keydown",s,!0)}},[f]);let y=a.useMemo(function(){return d.options.map(function(s){return{id:s.value,label:s.label,disabled:s.disabled,danger:s.danger}})},[d.options]);if(d.action)return e("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},e(Dt.Menu,{open:f,onClose:function(){g(!1)},onSelect:function(s){d.onChange(s),g(!1)},align:"end",portal:!0,anchor:e(Dt.Button,{variant:"outline",size:"sm",disabled:d.disabled,className:d.icon?"dssm-icon-action":void 0,style:d.icon?{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}:void 0,"aria-label":d.label,title:d.label,onClick:function(){d.disabled||g(function(s){return!s})},icon:d.icon},d.icon?null:d.label),items:y}));let k=d.options.find(function(s){return s.value===d.value}),R=k?k.label:d.label;return e("div",{className:"dssm-menu-select-wrap"},e(Dt.Menu,{open:f,onClose:function(){g(!1)},onSelect:function(s){d.onChange(s),g(!1)},selectedId:d.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:e(Dt.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":d.label,"aria-expanded":f,disabled:d.disabled,className:"dssm-menu-select-trigger"+(f?" is-open":""),onClick:function(){d.disabled||g(function(s){return!s})}},e("span",{className:"dssm-menu-select-label"},R),e("svg",{className:"dssm-menu-select-arrow",viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:4,transition:"transform 150ms ease",transform:f?"rotate(180deg)":"none"}},e("path",{d:"m4 6 4 4 4-4"}))),items:y}))}}var Ie=require("@deepseek-ai/dsh-client-ui-primitives");var mr=Ia(require("react"),1),gr=require("@deepseek-ai/dsh-client-ui-primitives");function cs(a){let{autoSize:e,className:l,rows:d,...p}=a;return mr.default.createElement("textarea",{...p,className:["dssm-textarea",l].filter(Boolean).join(" "),rows:e?.minRows||d||4})}var ot=Object.assign(gr.Input,{TextArea:cs});function fr(a,e){return a("svg",{className:"dssm-fold-chevron"+(e?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},a("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}var Ua="data-dssm-nav-icon",ba="data-dssm-nav-original",us='[role="dialog"] nav button',ps='<path fill="currentColor" d="M12.5113 15.4067C12.4395 15.6249 12.1308 15.6249 12.059 15.4067L11.643 14.1416C11.454 13.567 11.0033 13.1164 10.4288 12.9274L9.16369 12.5113C8.94544 12.4395 8.94544 12.1308 9.16369 12.059L10.4288 11.643C11.0033 11.454 11.454 11.0033 11.643 10.4288L12.059 9.16369C12.1308 8.94544 12.4395 8.94544 12.5113 9.16369L12.9274 10.4288C13.1164 11.0033 13.567 11.454 14.1416 11.643L15.4067 12.059C15.6249 12.1308 15.6249 12.4395 15.4067 12.5113L14.1416 12.9274C13.567 13.1164 13.1164 13.567 12.9274 14.1416L12.5113 15.4067Z"/><path fill="currentColor" d="M9.02246 0.546878C9.9822 0.546878 10.7564 0.545403 11.374 0.612307C12.0042 0.680586 12.5515 0.826244 13.0273 1.17188C13.3052 1.37376 13.5501 1.61868 13.752 1.89649C14.0975 2.37225 14.2432 2.91984 14.3115 3.54981C14.3784 4.16727 14.377 4.94206 14.377 5.90137V8.51367C13.9611 8.29533 13.5071 8.13985 13.0273 8.06055V5.90137C13.0273 4.9121 13.0259 4.22322 12.9688 3.69532C12.9129 3.18044 12.8098 2.89782 12.6592 2.69043C12.5406 2.52724 12.3966 2.38326 12.2334 2.26465C12.026 2.11404 11.7437 2.0109 11.2285 1.95508C10.7005 1.89789 10.0122 1.89649 9.02246 1.89649H6.55371C5.56395 1.89649 4.87569 1.89787 4.34766 1.95508C3.83242 2.01092 3.55022 2.11398 3.34278 2.26465C3.17953 2.38329 3.03564 2.52719 2.91699 2.69043C2.76642 2.89782 2.66325 3.18042 2.60742 3.69532C2.55027 4.22322 2.54883 4.9121 2.54883 5.90137V10.0986C2.54883 11.0878 2.55031 11.7768 2.60742 12.3047C2.66326 12.8196 2.76642 13.1032 2.91699 13.3105C3.03558 13.4736 3.17966 13.6178 3.34278 13.7363C3.5502 13.8869 3.83265 13.9901 4.34766 14.0459C4.87568 14.1031 5.56398 14.1035 6.55371 14.1035H8.08399C8.27443 14.6025 8.55077 15.0585 8.89551 15.4541H6.55371C5.59402 15.4541 4.81976 15.4546 4.20215 15.3877C3.57204 15.3194 3.02468 15.1738 2.54883 14.8281C2.27111 14.6263 2.02606 14.3813 1.82422 14.1035C1.47883 13.6278 1.33293 13.08 1.26465 12.4502C1.19783 11.8327 1.19922 11.0579 1.19922 10.0986V5.90137C1.19922 4.94206 1.1978 4.16727 1.26465 3.54981C1.33295 2.91984 1.47867 2.37225 1.82422 1.89649C2.02613 1.61864 2.27098 1.37379 2.54883 1.17188C3.02472 0.826181 3.57197 0.6806 4.20215 0.612307C4.81976 0.545393 5.594 0.546877 6.55371 0.546878H9.02246ZM9.19629 9.14649H4.5459V7.84571H9.19629V9.14649ZM11.0303 6.10645H4.5459V4.80567H11.0303V6.10645Z"/>';function ms(a,e){let l=String(e??"").trim();return l.length===0?!1:String(a??"").trim()===l}function gs(a,e){if(!ms(a.textContent,e()))return!1;let l=a.querySelector("svg");return!l||l.getAttribute("data-dssm-nav-icon")==="skills"?!1:(l.getAttribute(ba)||l.setAttribute(ba,JSON.stringify({innerHTML:l.innerHTML,viewBox:l.getAttribute("viewBox"),fill:l.getAttribute("fill")})),l.setAttribute("data-dssm-nav-icon","skills"),l.setAttribute("viewBox","0 0 16 16"),l.setAttribute("fill","none"),l.innerHTML=ps,a.setAttribute(Ua,""),!0)}function fs(a){let e=a.querySelector("svg");if(a.removeAttribute(Ua),!e)return!1;let l=e.getAttribute(ba);if(e.removeAttribute("data-dssm-nav-icon"),e.removeAttribute(ba),!l)return!1;let d=JSON.parse(l);return e.innerHTML=d.innerHTML,d.viewBox==null?e.removeAttribute("viewBox"):e.setAttribute("viewBox",d.viewBox),d.fill==null?e.removeAttribute("fill"):e.setAttribute("fill",d.fill),!0}function hr(a,e){typeof document>"u"||a.effect(()=>{let l=!1,d=!1,p=()=>{if(d=!1,!l)for(let y of document.querySelectorAll(us))gs(y,e)},f=()=>{d||l||(d=!0,queueMicrotask(p))};p();let g=new MutationObserver(f);return g.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{l=!0,g.disconnect();for(let y of document.querySelectorAll(`[${Ua}]`))fs(y)}},"skills-manager: settings nav icon")}var z=ea,o=z.createElement;function hs(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",d:"M9.5 2.5 13.5 6.5 6 14H2v-4z"}))}var bs={refresh:["M13.5 5.5V2.5m0 0h-3m3 0-2.1 2.1A5.5 5.5 0 1 0 13.2 12"],download:["M8 2v8m0 0 3-3m-3 3-3-3M3 13v2h10v-2"],copy:["M5 5h8v8H5z","M3 3h8"],close:["m4 4 8 8M12 4 4 12"]};function ys(a){var e=document.createElement("span"),l=document.createElementNS("http://www.w3.org/2000/svg","svg");return l.setAttribute("viewBox","0 0 16 16"),l.setAttribute("width","16"),l.setAttribute("height","16"),l.setAttribute("fill","none"),l.setAttribute("stroke","currentColor"),l.setAttribute("stroke-width","1.5"),l.setAttribute("stroke-linecap","round"),l.setAttribute("stroke-linejoin","round"),l.setAttribute("aria-hidden","true"),bs[a].forEach(function(d){var p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d",d),l.append(p)}),e.append(l),e}var $t={"content-type":"application/json","x-dsh-skills-manager":"1"},ya="skills-manager",Sa={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u6216\u63CF\u8FF0","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","source.toggle":"\u542F\u505C\u6765\u6E90","skill.toggle":"\u542F\u505C\u6280\u80FD","category.toggle":"\u542F\u505C\u5206\u7C7B","category.create":"\u65B0\u5EFA\u5206\u7C7B","category.uncategorized":"\u672A\u5206\u7C7B","category.assign":"\u5F52\u5165{name}","category.rename":"\u91CD\u547D\u540D","category.delete":"\u5220\u9664\u5206\u7C7B","category.note":"\u5206\u7C7B\u53EA\u8BB0\u5728\u8FD9\u4E2A\u6765\u6E90\u91CC\uFF0C\u4E0D\u79FB\u52A8\u6587\u4EF6\u3002","category.name":"\u5206\u7C7B\u540D\u79F0","category.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u3002\u4ECE\u6761\u76EE\u7684\u300C\u66F4\u591A\u300D\u5F52\u5165\u3002","category.progress":"{count} \u9879 \xB7 {enabled}/{usable} \u542F\u7528","category.actions":"\u5206\u7C7B\u64CD\u4F5C","category.created":"\u5DF2\u6DFB\u52A0\u5206\u7C7B\u300C{name}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u65B0\u5EFA\u76EE\u5F55\u3002","category.renamed":"\u5DF2\u91CD\u547D\u540D\u3002\u6280\u80FD\u6587\u4EF6\u540D\u6CA1\u6709\u53D8\u5316\u3002","category.deleted":"\u5DF2\u5220\u9664\u5206\u7C7B\u300C{name}\u300D\u3002\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\uFF0C\u6CA1\u6709\u8FDB\u56DE\u6536\u7AD9\u3002","category.assigned":"\u5DF2\u5C06 {name} \u5F52\u5165\u300C{category}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u79FB\u52A8\u3002","category.dragTip":"\u62D6\u62FD\u8C03\u6574\u987A\u5E8F\u6216\u79FB\u52A8\u5230\u5176\u4ED6\u5206\u7C7B","category.moved":"\u5DF2\u8C03\u6574\u6280\u80FD {name} \u7684\u5206\u7C7B\u6216\u987A\u5E8F\u3002","confirm.category.title":"\u5220\u9664\u5206\u7C7B\uFF1F","confirm.category.desc":"\u300C{name}\u300D\u4F1A\u6D88\u5931\uFF0C\u91CC\u9762\u7684\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\u3002\u6587\u4EF6\u4E0D\u4F1A\u79FB\u52A8\u3002","error.category.duplicate":"\u5DF2\u6709\u540C\u540D\u5206\u7C7B: {name}","error.category.name":"\u5206\u7C7B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u4E14\u4E0D\u80FD\u8D85\u8FC7 24 \u4E2A\u5B57\u7B26","error.category.notFound":"\u5206\u7C7B\u4E0D\u5B58\u5728","error.category.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.category.position":"\u6280\u80FD\u6392\u5E8F\u4F4D\u7F6E\u65E0\u6548","error.category.target":"\u6392\u5E8F\u76EE\u6807\u4E0D\u5C5E\u4E8E\u76EE\u6807\u5206\u7C7B","detail.title":"\u6280\u80FD\u8BE6\u60C5","detail.description":"\u7B80\u4ECB","detail.document":"SKILL.md","detail.body":"\u6B63\u6587","detail.frontmatter":"Frontmatter","detail.diagnostics":"\u8BCA\u65AD","detail.path":"\u6E90\u6587\u4EF6","detail.noIssues":"\u672A\u53D1\u73B0\u8BCA\u65AD\u95EE\u9898\u3002","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.noFrontmatter":"\u6280\u80FD\u7F3A\u5C11\u5B8C\u6574 frontmatter\uFF0C\u65E0\u6CD5{action}: {name}","error.skill.notLoadable":"\u6280\u80FD\u7ED3\u6784\u4E0D\u5B8C\u6574\uFF0C\u65E0\u6CD5{action}: {name}","error.source.notFound":"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}","error.source.symlink":"\u4E0D\u652F\u6301\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u7684 skill \u6765\u6E90: {path}","error.source.unrecognized":"\u65E0\u6CD5\u8BC6\u522B\u7684 skill \u6765\u6E90: {path}","error.source.tooDeep":"skill \u6765\u6E90\u76EE\u5F55\u5C42\u7EA7\u8D85\u8FC7 {depth} \u5C42: {path}","error.import.overlap":"\u5BFC\u5165\u6765\u6E90\u4E0D\u80FD\u4E0E DSH \u6280\u80FD\u76EE\u5F55\u76F8\u540C\u3001\u5305\u542B\u6216\u4F4D\u4E8E\u5176\u4E2D","error.import.emptySource":"\u76EE\u5F55\u4E0B\u672A\u627E\u5230\u4EFB\u4F55 skill \u6761\u76EE: {path}","error.import.invalidName":"\u65E0\u6CD5\u751F\u6210\u5408\u6CD5 kebab-case \u540D\u79F0\uFF08\u539F\u59CB\u540D: {name}\uFF09","error.import.duplicateName":"\u6279\u91CF\u6765\u6E90\u4E2D\u5B58\u5728\u591A\u4E2A\u540C\u540D\u6280\u80FD: {name}","error.import.failed":"\u5BFC\u5165\u5931\u8D25","error.import.rollbackFailed":"\u8986\u76D6\u5BFC\u5165\u56DE\u6EDA\u5931\u8D25\uFF0C\u5907\u4EFD\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.upload.path":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u975E\u6CD5\u8DEF\u5F84\uFF1A{path}","error.upload.encoding":"\u4E0A\u4F20\u5185\u5BB9\u7F16\u7801\u65E0\u6548","error.upload.empty":"\u4E0A\u4F20\u5185\u5BB9\u4E3A\u7A7A","error.upload.tooMany":"\u4E0A\u4F20\u6587\u4EF6\u8FC7\u591A\uFF0C\u6700\u591A {limit} \u4E2A","error.upload.tooLarge":"\u4E0A\u4F20\u5185\u5BB9\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.archiveTooLarge":"ZIP \u538B\u7F29\u5305\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.duplicate":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u91CD\u590D\u8DEF\u5F84\uFF1A{path}","error.upload.zipInvalid":"ZIP \u538B\u7F29\u5305\u65E0\u6CD5\u89E3\u538B","error.trash.notFound":"\u56DE\u6536\u7AD9\u6761\u76EE\u4E0D\u5B58\u5728: {id}","error.trash.conflict":"\u65E0\u6CD5\u6062\u590D\uFF0C\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.trash.invalid":"\u56DE\u6536\u7AD9\u6761\u76EE\u8DEF\u5F84\u975E\u6CD5: {id}","error.trash.projectUnavailable":"\u539F\u9879\u76EE\u5F53\u524D\u4E0D\u5728\u6D3B\u52A8\u5DE5\u4F5C\u533A\u4E2D\uFF0C\u65E0\u6CD5\u6062\u590D\uFF1A{path}","error.trash.rollbackFailed":"\u79FB\u5165\u56DE\u6536\u7AD9\u56DE\u6EDA\u5931\u8D25\uFF0C\u672A\u6062\u590D\u5185\u5BB9\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u62D2\u7EDD\u8986\u76D6\uFF1A{path}","error.create.descriptionRequired":"\u6280\u80FD\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A","error.create.bodyRequired":"\u6280\u80FD\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A","error.create.tooLarge":"\u6280\u80FD\u5185\u5BB9\u8FC7\u957F","error.create.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.proto.forbidden":"\u7981\u6B62\u7684\u4FEE\u6539\u8BF7\u6C42\uFF08\u7F3A\u5C11\u5BA2\u6237\u7AEF\u6807\u8BB0\uFF09","error.proto.forbiddenHost":"\u7981\u6B62\u7684\u8BF7\u6C42\u6765\u6E90\uFF08\u975E\u6CD5 Host\uFF09","error.proto.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.method":"\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5","error.proto.unknownAction":"\u672A\u77E5\u64CD\u4F5C","error.proto.bodyTooLarge":"\u8BF7\u6C42\u4F53\u8FC7\u5927","error.proto.invalidJson":"\u8BF7\u6C42\u4F53\u4E0D\u662F\u5408\u6CD5 JSON","error.proto.nonJson":"\u670D\u52A1\u7AEF\u8FD4\u56DE\u975E JSON \u54CD\u5E94\uFF08HTTP {status}\uFF09","error.catalog.query":"\u641C\u7D22\u5173\u952E\u8BCD\u65E0\u6548\u3002","error.catalog.upstream":"\u76EE\u5F55\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\u3002","error.catalog.response":"\u76EE\u5F55\u8FD4\u56DE\u7684\u6570\u636E\u65E0\u6548\u6216\u8FC7\u5927\u3002","error.catalog.identity":"\u76EE\u5F55\u6280\u80FD\u6807\u8BC6\u65E0\u6548\u3002","diagnostic.frontmatter.missing":"\u7F3A\u5C11\u5B8C\u6574 YAML frontmatter","diagnostic.name.missing":"frontmatter \u7F3A\u5C11 name","diagnostic.name.invalid":"\u6280\u80FD\u540D\u79F0\u4E0D\u662F\u5408\u6CD5 kebab-case\uFF1A{name}","diagnostic.description.missing":"frontmatter \u7F3A\u5C11 description","diagnostic.invocation.invalid":"\u8C03\u7528\u7B56\u7565\u5B57\u6BB5\u503C\u65E0\u6548","diagnostic.shadowed":"\u88AB\u66F4\u9AD8\u4F18\u5148\u7EA7\u6765\u6E90 {root} \u8986\u76D6","action.enable":"\u542F\u7528","action.disable":"\u505C\u7528","action.create":"\u521B\u5EFA","action.delete":"\u5220\u9664","action.restore":"\u6062\u590D","action.toggle":"\u542F\u7528\u6216\u505C\u7528","scope.user":"\u5168\u5C40\u6280\u80FD","scope.project":"\u9879\u76EE\u6280\u80FD","scope.trash":"\u56DE\u6536\u7AD9","scope.label":"\u6280\u80FD\u7BA1\u7406\u89C6\u56FE","scope.userHint":"\u8DE8\u9879\u76EE\u53EF\u7528\u3002\u542F\u505C\u4EC5\u5F71\u54CD DSH \u4E2D\u7684\u8C03\u7528\u3002","scope.projectHint":"\u6309\u5DE5\u4F5C\u533A\u67E5\u770B\u9879\u76EE\u6280\u80FD\u3002\u542F\u505C\u4E0D\u4FEE\u6539\u5176\u4ED6 Agent \u7684\u6E90\u6587\u4EF6\u3002","project.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\u5DE5\u4F5C\u533A\u3002","project.noSkills":"\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u91CC\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.unavailable":"\u76EE\u5F55\u4E0D\u53EF\u7528","workspace.noSkills":"\u8FD9\u4E2A\u5DE5\u4F5C\u533A\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.loading":"\u6B63\u5728\u8BFB\u53D6\u2026","workspace.loadFailed":"\u8BFB\u53D6\u5931\u8D25\uFF1A{error}","workspace.listFailed":"\u65E0\u6CD5\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5217\u8868\uFF1A{error}","filter.status":"\u8C03\u7528\u72B6\u6001","filter.statusAll":"\u5168\u90E8\u72B6\u6001","status.shadowedBy":"\u88AB {source} \u4E2D\u7684\u540C\u540D\u6280\u80FD\u8986\u76D6","status.fallback.user":"\u5F53\u524D\u4F7F\u7528\u5168\u5C40 {source} \u526F\u672C\u3002","status.fallback.project":"\u5F53\u524D\u4F7F\u7528\u9879\u76EE {source} \u526F\u672C\u3002","root.copilot":"GitHub Copilot","source.selectHint":"\u5148\u9009\u62E9\u4E00\u4E2A\u6765\u6E90\uFF0C\u624D\u80FD\u67E5\u770B\u76EE\u5F55\u6216\u5173\u95ED\u6574\u4E2A\u6765\u6E90\u3002\u5173\u95ED\u6765\u6E90\u53EA\u5F71\u54CD DSH \u8C03\u7528\uFF0C\u4E0D\u6539\u6587\u4EF6\u3002","import.global":"\u5BFC\u5165\u6280\u80FD","category.batchAssigned":"\u5DF2\u5C06 {count} \u4E2A\u6280\u80FD\u6DFB\u52A0\u5230\u201C{category}\u201D\u3002\u6587\u4EF6\u672A\u79FB\u52A8\u3002","category.selectSkills":"\u6DFB\u52A0\u6280\u80FD\u5230\u201C{name}\u201D","category.noAvailableSkills":"\u6CA1\u6709\u53EF\u6DFB\u52A0\u7684\u6280\u80FD","category.addSkills":"\u6DFB\u52A0\u6280\u80FD","root.dsh":"DSH","root.agents":"\u516C\u5171 Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH","root.projectAgents":"\u9879\u76EE Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (\u7528\u6237\u76EE\u5F55)","root.trae":"Trae","root.traeCn":"Trae (\u56FD\u5185\u7248)","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (\u65E7\u76EE\u5F55)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names or descriptions","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","source.toggle":"Toggle source","skill.toggle":"Toggle skill","category.toggle":"Toggle category","category.create":"New category","category.uncategorized":"Uncategorized","category.assign":"Move to {name}","category.rename":"Rename","category.delete":"Delete category","category.note":"Categories stay in this source and do not move files.","category.name":"Category name","category.empty":"No skills yet. Use More on a skill to place it here.","category.progress":"{count} \xB7 {enabled}/{usable} enabled","category.actions":"Category actions","category.created":"Added category \u201C{name}\u201D. No directory was created.","category.renamed":"Renamed. Skill file names are unchanged.","category.deleted":"Deleted category \u201C{name}\u201D. Skills returned to Uncategorized and were not trashed.","category.assigned":"Moved {name} to \u201C{category}\u201D. The file was not moved.","category.dragTip":"Drag to reorder or move to another category","category.moved":"Updated the category or order for {name}.","confirm.category.title":"Delete category?","confirm.category.desc":"\u201C{name}\u201D will be removed. Its skills return to Uncategorized. Files are not moved.","error.category.duplicate":"A category with this name already exists: {name}","error.category.name":"Category name is required and must be at most 24 characters","error.category.notFound":"Category not found","error.category.root":"Skill source not found: {root}","error.category.position":"Invalid skill ordering position","error.category.target":"The target skill is not in the destination category","detail.title":"Skill details","detail.description":"Description","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.noFrontmatter":"Skill lacks complete frontmatter, cannot {action}: {name}","error.skill.notLoadable":"Skill structure is incomplete, cannot {action}: {name}","error.source.notFound":"Path does not exist: {path}","error.source.symlink":"Skill sources containing symbolic links are not supported: {path}","error.source.unrecognized":"Unrecognized skill source: {path}","error.source.tooDeep":"Skill source directory depth exceeds {depth} levels: {path}","error.import.overlap":"Import source cannot be the same as, contain, or be inside the DSH skills directory","error.import.emptySource":"No skill entries found in the directory: {path}","error.import.invalidName":"Cannot generate a valid kebab-case name (original: {name})","error.import.duplicateName":"Batch source contains duplicate skill names: {name}","error.import.failed":"Import failed","error.import.rollbackFailed":"Overwrite import rollback failed; backups kept at: {path} ({error})","error.upload.path":"Upload contains an invalid path: {path}","error.upload.encoding":"Upload encoding is invalid","error.upload.empty":"Upload is empty","error.upload.tooMany":"Too many uploaded files; maximum {limit}","error.upload.tooLarge":"Upload is too large; limit {limit} bytes","error.upload.archiveTooLarge":"ZIP archive is too large; limit {limit} bytes","error.upload.duplicate":"Upload contains a duplicate path: {path}","error.upload.zipInvalid":"ZIP archive could not be extracted","error.trash.notFound":"Trash item not found: {id}","error.trash.conflict":"Cannot restore because a skill with the same name exists: {name}","error.trash.invalid":"Invalid trash item path: {id}","error.trash.projectUnavailable":"The original project is not an active workspace, so this skill cannot be restored: {path}","error.trash.rollbackFailed":"Move-to-trash rollback failed; unrecovered content was kept at: {path} ({error})","error.state.invalid":"The manager state file could not be read, so overwriting it was refused: {path}","error.create.descriptionRequired":"Skill description is required","error.create.bodyRequired":"Skill body is required","error.create.tooLarge":"Skill content is too large","error.create.conflict":"A skill with the same name already exists: {name}","error.proto.forbidden":"Forbidden mutation request (missing client marker)","error.proto.forbiddenHost":"Forbidden request origin (invalid host)","error.proto.contentType":"Content type must be application/json","error.proto.method":"Method not allowed","error.proto.unknownAction":"Unknown action","error.proto.bodyTooLarge":"Request body too large","error.proto.invalidJson":"Invalid JSON request body","error.proto.nonJson":"Server returned a non-JSON response (HTTP {status})","error.catalog.query":"The search query is invalid.","error.catalog.upstream":"The catalog service is temporarily unavailable.","error.catalog.response":"The catalog response is invalid or too large.","error.catalog.identity":"The catalog skill identifier is invalid.","diagnostic.frontmatter.missing":"Missing complete YAML frontmatter","diagnostic.name.missing":"Frontmatter is missing name","diagnostic.name.invalid":"Skill name is not valid kebab-case: {name}","diagnostic.description.missing":"Frontmatter is missing description","diagnostic.invocation.invalid":"Invocation policy value is invalid","diagnostic.shadowed":"Shadowed by higher-priority source {root}","action.enable":"enable","action.disable":"disable","action.create":"create","action.delete":"delete","action.restore":"restore","action.toggle":"enabling or disabling","scope.user":"Global skills","scope.project":"Project skills","scope.trash":"Trash","scope.label":"Skill manager views","scope.userHint":"Available across projects. Toggles only affect invocation in DSH.","scope.projectHint":"View project skills by workspace. Toggles do not modify other agents\u2019 source files.","project.empty":"No registered workspaces yet. Add one in the sidebar first.","project.noSkills":"Registered workspaces do not have skills yet.","workspace.unavailable":"Directory unavailable","workspace.noSkills":"No skills in this workspace yet.","workspace.loading":"Loading\u2026","workspace.loadFailed":"Failed to load: {error}","workspace.listFailed":"Cannot read the workspace list: {error}","filter.status":"Invocation status","filter.statusAll":"All statuses","status.shadowedBy":"Overridden by the same skill in {source}","status.fallback.user":"Currently using the global {source} copy.","status.fallback.project":"Currently using the project {source} copy.","source.selectHint":"Select a source to view its directory or turn the whole source off. Turning a source off only affects invocation in DSH and does not change files.","import.global":"Import skill","category.batchAssigned":"Added {count} skills to \u201C{category}\u201D. Files were not moved.","category.selectSkills":"Add skills to \u201C{name}\u201D","category.noAvailableSkills":"No skills available to add","category.addSkills":"Add skills","root.dsh":"DSH skills","root.agents":"Shared Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH skills","root.projectAgents":"Project Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.copilot":"GitHub Copilot","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (User Home)","root.trae":"Trae","root.traeCn":"Trae CN","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (Legacy)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN"}};Object.assign(Sa.zh,Da.zh,ja.zh);Object.assign(Sa.en,Da.en,ja.en);var Pt=pr(z),kr=sr({react:z,SourceSelect:Pt,translateError:fe}),br=kr.DestinationPicker,vs=ar({react:z,Modal:Je,Input:ot,Button:Ie.Button,SourceSelect:Pt,destination:kr,api:wa,headers:$t,translateError:fe,getLocale:Sr}),ws=rr+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{width:100%}.dssm-source-head{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px}.dssm-source-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-source-toggle:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary));outline-offset:2px}.dssm-fold-chevron{flex:none;color:var(--dsw-alias-label-tertiary);transform:rotate(-90deg);transition:transform 160ms ease}.dssm-fold-chevron.is-open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.dssm-fold-chevron{transition:none}}.dssm-source-label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dssm-drag-handle{cursor:grab;color:var(--dsw-alias-label-tertiary,#888);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;border-radius:var(--dsw-radius-sm,8px);flex-shrink:0;user-select:none;transition:color 0.15s}.dssm-skill-row:hover .dssm-drag-handle{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-drag-handle:active{cursor:grabbing}.dssm-cat.drag-over{border-color:var(--dsw-alias-brand-primary,#3b82f6);box-shadow:0 0 0 1px var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.dragging{opacity:0.4;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent))}.dssm-skill-row.drop-before{box-shadow:inset 0 2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.drop-after{box-shadow:inset 0 -2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:0;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:0;background:transparent}.dssm-skill-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-skill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-skill-row .dssm-name{font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none}.dssm-source{overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-textarea{box-sizing:border-box;display:block;width:100%;min-height:160px;margin:0;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:14px;line-height:22px;resize:vertical}.dssm-textarea:focus,.dssm-textarea:focus-visible{outline:none;border-color:var(--dsw-alias-state-business-primary)}.dssm-textarea[readonly]{resize:none}.dssm-source-title{font-size:14px;font-weight:650;white-space:nowrap;flex:none}.dssm-source-path{min-width:0;max-width:50%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-source-actions{display:flex;flex:none;align-items:center;gap:8px;margin-left:12px}.dssm-cat{margin:0 10px 8px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px)}.dssm-cat-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 6px}.dssm-cat-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-cat-title{font-size:14px;font-weight:700;display:inline-flex;align-items:center}.dssm-cat-note{margin:2px 16px 8px}.dssm-fallback{margin-top:4px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-section{box-sizing:border-box;display:flex;width:100%;max-width:820px;min-width:0;margin:0 auto;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary,#eeeeee);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dssm-feedback-links>span[data-mpi-check]{display:inline-flex;align-items:center}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));outline-offset:2px}.dssm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1)}.dssm-stat{padding:4px 10px;border-right:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:4px;color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:650}.dssm-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%!important;min-width:0;box-sizing:border-box}.dssm-filter-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.dssm-filters .dssm-search{flex:1 1 0;min-width:160px;max-width:none}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter,.dssm-filters .dssm-menu-select-wrap,.dssm-filters span[class*="_root_"],.dssm-filters .dssm-source-select-menu,.dssm-filters .dssm-menu-select-trigger{width:auto!important;min-width:0!important;display:inline-flex!important;flex:none}.dssm-field .dssm-menu-select-wrap,.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"]{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.dssm-destination-pair .dssm-menu-select-trigger,.dssm-form .dssm-menu-select-trigger{display:flex!important;width:100%!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}.dssm-source-select-menu{min-width:130px;max-width:280px}.dssm-menu-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:32px;padding:0 10px;border:0.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;line-height:20px;cursor:pointer;user-select:none;width:max-content;min-width:8em;transition:border-color 120ms ease,background 120ms ease}.dssm-menu-select-trigger:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#555)}.dssm-menu-select-trigger.is-open,.dssm-menu-select-trigger:focus-visible{border-color:var(--dsw-alias-brand-primary)!important;outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary))!important;outline-offset:0!important}.dssm-menu-select-trigger:disabled{opacity:.5;cursor:default}.dssm-menu-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.dssm-menu-select-arrow{color:var(--dsw-alias-label-secondary);flex-shrink:0}.dssm-count{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap;flex:none}.dssm-name{overflow-wrap:anywhere;font-size:13px;font-weight:570}.dssm-note{overflow-wrap:anywhere;margin-top:2px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px;line-height:17px}.dssm-enabled{color:var(--dsw-alias-state-success-primary,#51b976);font-size:12px;white-space:nowrap}.dssm-disabled{color:var(--dsw-alias-state-warn-primary,#d49245);font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap}.dssm-trash-count{padding:2px 7px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px}.dssm-warning{border-color:var(--dsw-alias-state-warn-primary,#d49245);color:var(--dsw-alias-state-warn-primary,#d49245)}.dssm-error{border-color:var(--dsw-alias-state-error-primary,#ef7272);color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-detail .dssm-desc{margin:0}.dssm-field{gap:6px}.dssm-label{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-detail-title{font-size:14px;line-height:22px;font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:18px}.dssm-batch-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;margin:12px 0;padding:2px}.dssm-batch-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));cursor:pointer;user-select:none;transition:background 0.15s,border-color 0.15s}.dssm-batch-item:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));border-color:var(--dsw-alias-border-l2,#494949)}.dssm-batch-item.selected{border-color:var(--dsw-alias-brand-primary,#3b82f6);background:var(--dsw-alias-state-business-tertiary)}.dssm-batch-item input[type="checkbox"]{cursor:pointer;margin:0;flex-shrink:0;width:15px;height:15px}.dssm-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dssm-batch-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dssm-batch-name{font-size:13px;font-weight:600;color:var(--dsw-alias-label-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-batch-cat-tag{font-size:10px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap;flex-shrink:0}.dssm-batch-desc{font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3,#555555);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12))}.dssm-dropzone-title{color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary,#eeeeee);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eeeeee);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:22px}.dssm-detail-section .dssm-note,.dssm-diag{font-size:14px;line-height:22px}.dssm-detail-path{padding:8px 10px;border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);word-break:break-all}.dssm-diag{padding:8px 10px;border-left:2px solid var(--dsw-alias-state-warn-primary,#d49245);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-trash-panel{display:flex;flex-direction:column;gap:10px}.dssm-trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;border:0.5px solid var(--dsw-alias-border-l2,rgba(128,128,128,.2));border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-trash-main{min-width:0;display:flex;flex-direction:column;gap:6px}.dssm-trash-item .dssm-name{font-size:14px;line-height:20px;color:var(--dsw-alias-label-primary,inherit)}.dssm-trash-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:17px;color:var(--dsw-alias-label-tertiary,#909090);overflow-wrap:anywhere}.dssm-trash-source{min-width:0;background:transparent;color:var(--dsw-alias-label-tertiary,#a0a0a0)}.dssm-trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
25
+ `;function ns(){if(document.getElementById(lr)!==null)return;let a=document.createElement("style");a.id=lr,a.textContent=os,(document.head??document.documentElement).append(a)}function is(a){if(a===null||typeof a!="object")return!1;let e=a;return typeof e.packageName=="string"&&typeof e.currentVersion=="string"&&typeof e.updateAvailable=="boolean"&&typeof e.profileName=="string"&&typeof e.canAutoUpdate=="boolean"&&typeof e.latestCheckFailed=="boolean"&&(e.latestVersion===void 0||typeof e.latestVersion=="string")}async function dr(a,e,l){let d=l===void 0?{}:{signal:l},p=await fetch(a,e==="GET"?{cache:"no-store",...d}:{method:"POST",headers:{"content-type":"application/json",[ss]:"1"},body:"{}",...d}),f=await p.json();if(!p.ok||!is(f))throw new Error(f&&typeof f=="object"&&"error"in f&&typeof f.error=="string"?f.error:_t(document.documentElement.lang).failed);return f}function ls(a){let e=H.default.useRef(null);return H.default.useLayoutEffect(()=>{e.current?.replaceChildren(a.node)},[a.node]),H.default.createElement("span",{ref:e,className:"mpi-icon","aria-hidden":!0})}function ds(a){let e=H.default.useRef(null),[,l]=H.default.useState(0),[d,p]=H.default.useState("idle");H.default.useEffect(()=>a.flow.subscribe(()=>l(s=>s+1)),[a.flow]),H.default.useEffect(()=>{let s=document.documentElement,F=new MutationObserver(()=>l(O=>O+1));return F.observe(s,{attributes:!0,attributeFilter:["lang"]}),()=>F.disconnect()},[]),H.default.useEffect(()=>{a.flow.check()},[a.flow]),H.default.useEffect(()=>{function s(F){ir(F,a.onClose)}return document.addEventListener("keydown",s,!0),()=>document.removeEventListener("keydown",s,!0)},[a.onClose]);let f=document.documentElement.lang,g=a.flow.view(f),y=f.toLowerCase().startsWith("zh")?a.zhName:a.enName,k=nr(g.profileRaw,a.packageName,g.latestRaw),R=d==="copied"?g.copy.copied:d==="failed"?g.copy.copyFailed:g.copy.copy;return H.default.createElement(ht.Modal,{open:!0,className:"mpi-dialog",title:`${y} ${g.copy.update}`,onClose:a.onClose,closeLabel:"Close",footer:[H.default.createElement(ht.Button,{key:"check",variant:"outline",size:"sm",disabled:g.busy,onClick:()=>{a.flow.check()}},g.copy.recheck),H.default.createElement(ht.Button,{key:"update",variant:"primary",size:"sm",disabled:g.disabled,onClick:()=>{a.flow.update()}},g.updateLabel)]},H.default.createElement("div",{ref:e},H.default.createElement("p",{className:"mpi-intro"},g.copy.intro),H.default.createElement("dl",{className:"mpi-meta"},H.default.createElement("dt",null,g.copy.current),H.default.createElement("dd",null,H.default.createElement("span",{className:"mpi-mono"},g.currentVersion)),H.default.createElement("dt",null,g.copy.latestLabel),H.default.createElement("dd",{className:"mpi-latest"},H.default.createElement("span",{className:"mpi-mono"},g.latestVersion),H.default.createElement("span",{className:"mpi-status",role:"status","data-kind":g.kind,...g.kind==="update"?{style:{color:"#e8b15a"}}:{}},g.message)),H.default.createElement("dt",null,g.copy.profile),H.default.createElement("dd",null,H.default.createElement("span",{className:"mpi-mono"},g.profileName))),g.busy?H.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},H.default.createElement("div",{className:"dssm-update-progress-bar"})):null,H.default.createElement("section",{className:"mpi-manual"},H.default.createElement("h3",null,g.copy.manual),H.default.createElement("p",null,g.copy.manualHint),H.default.createElement("div",{className:"mpi-command"},H.default.createElement("code",null,k),H.default.createElement(ht.Button,{variant:"outline",size:"sm",disabled:g.busy,onClick:()=>{let s=navigator.clipboard?.writeText(k);if(s===void 0){p("failed");return}s.then(()=>{p("copied"),window.setTimeout(()=>p("idle"),1400)}).catch(()=>p("failed"))}},R)))))}function cr(a){if(typeof document>"u"||document.body===null)return()=>{};ns();let e=new AbortController,l,d,p,f,g,y,k;function R(){p?.unmount(),p=void 0,d=void 0,f=void 0}function s(){if(p===void 0)return;f===void 0&&(f=a.createIcon("refresh"));let x=f;p.render(H.default.createElement(ht.Button,{variant:"outline",size:"sm",onClick:O,icon:H.default.createElement(ls,{node:x})},H.default.createElement("span",{"data-mpi-label":""},_t(document.documentElement.lang).check)))}function F(){y?.unmount(),y=void 0,g?.remove(),g=void 0}function O(){F();let x=document.createElement("div");x.className="mpi-dialog-root",document.body.append(x),g=x,y=(0,Pa.createRoot)(x),y.render(H.default.createElement(ds,{flow:or(L=>dr(a.endpoint,L,e.signal),l,L=>{l=L,le()}),packageName:a.packageName,zhName:a.zhName,enName:a.enName,onClose:F}))}function le(){let x=document.querySelector(a.titleRowSelector);if(x===null)return;let L=x.querySelector("h1,h2");if(L!==null&&l!==void 0){let V=L.querySelector(`.mpi-version[data-package="${a.packageName}"]`);V===null&&(V=document.createElement("span"),V.className="mpi-version",V.dataset.package=a.packageName,L.append(V));let ye=`v${l.currentVersion}`;V.textContent!==ye&&(V.textContent=ye)}d!==void 0&&!d.isConnected&&R();let se=x.querySelector(a.linksSelector);if(se===null)return;let u=se.querySelector(`[data-mpi-check="${a.packageName}"]`);if(u!==null){let V=u.querySelector("[data-mpi-label]");(V===null||V.textContent!==_t(document.documentElement.lang).check)&&s();return}let Y=document.createElement("span");Y.dataset.mpiCheck=a.packageName,Y.className="mpi-check-host",se.append(Y),d=Y,p=(0,Pa.createRoot)(Y),s()}let nt=async()=>(l=await dr(a.endpoint,"GET",e.signal),le(),l),ke=new MutationObserver(()=>{k===void 0&&(k=window.requestAnimationFrame(()=>{k=void 0,le()}))});return ke.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),le(),nt().catch(()=>{}),()=>{e.abort(),ke.disconnect(),F(),R(),k!==void 0&&window.cancelAnimationFrame(k),document.querySelectorAll(`[data-mpi-check="${a.packageName}"],.mpi-version[data-package="${a.packageName}"]`).forEach(x=>x.remove())}}var Dt=require("@deepseek-ai/dsh-client-ui-primitives");function ur(a,e){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),e(),!0)}function pr(a){let e=a.createElement;return function(d){let p=a.useState(!1),f=p[0],g=p[1];a.useEffect(function(){if(!f||typeof window>"u")return;function s(F){ur(F,function(){g(!1)})}return window.addEventListener("keydown",s,!0),function(){window.removeEventListener("keydown",s,!0)}},[f]);let y=a.useMemo(function(){return d.options.map(function(s){return{id:s.value,label:s.label,disabled:s.disabled,danger:s.danger}})},[d.options]);if(d.action)return e("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},e(Dt.Menu,{open:f,onClose:function(){g(!1)},onSelect:function(s){d.onChange(s),g(!1)},align:"end",portal:!0,anchor:e(Dt.Button,{variant:"outline",size:"sm",disabled:d.disabled,className:d.icon?"dssm-icon-action":void 0,style:d.icon?{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}:void 0,"aria-label":d.label,title:d.label,onClick:function(){d.disabled||g(function(s){return!s})},icon:d.icon},d.icon?null:d.label),items:y}));let k=d.options.find(function(s){return s.value===d.value}),R=k?k.label:d.label;return e("div",{className:"dssm-menu-select-wrap"},e(Dt.Menu,{open:f,onClose:function(){g(!1)},onSelect:function(s){d.onChange(s),g(!1)},selectedId:d.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:e(Dt.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":d.label,"aria-expanded":f,disabled:d.disabled,className:"dssm-menu-select-trigger"+(f?" is-open":""),onClick:function(){d.disabled||g(function(s){return!s})}},e("span",{className:"dssm-menu-select-label"},R),e("svg",{className:"dssm-menu-select-arrow",viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:4,transition:"transform 150ms ease",transform:f?"rotate(180deg)":"none"}},e("path",{d:"m4 6 4 4 4-4"}))),items:y}))}}var Ie=require("@deepseek-ai/dsh-client-ui-primitives");var mr=Ia(require("react"),1),gr=require("@deepseek-ai/dsh-client-ui-primitives");function cs(a){let{autoSize:e,className:l,rows:d,...p}=a;return mr.default.createElement("textarea",{...p,className:["dssm-textarea",l].filter(Boolean).join(" "),rows:e?.minRows||d||4})}var ot=Object.assign(gr.Input,{TextArea:cs});function fr(a,e){return a("svg",{className:"dssm-fold-chevron"+(e?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},a("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}var Ua="data-dssm-nav-icon",ba="data-dssm-nav-original",us='[role="dialog"] nav button',ps='<path fill="currentColor" d="M12.5113 15.4067C12.4395 15.6249 12.1308 15.6249 12.059 15.4067L11.643 14.1416C11.454 13.567 11.0033 13.1164 10.4288 12.9274L9.16369 12.5113C8.94544 12.4395 8.94544 12.1308 9.16369 12.059L10.4288 11.643C11.0033 11.454 11.454 11.0033 11.643 10.4288L12.059 9.16369C12.1308 8.94544 12.4395 8.94544 12.5113 9.16369L12.9274 10.4288C13.1164 11.0033 13.567 11.454 14.1416 11.643L15.4067 12.059C15.6249 12.1308 15.6249 12.4395 15.4067 12.5113L14.1416 12.9274C13.567 13.1164 13.1164 13.567 12.9274 14.1416L12.5113 15.4067Z"/><path fill="currentColor" d="M9.02246 0.546878C9.9822 0.546878 10.7564 0.545403 11.374 0.612307C12.0042 0.680586 12.5515 0.826244 13.0273 1.17188C13.3052 1.37376 13.5501 1.61868 13.752 1.89649C14.0975 2.37225 14.2432 2.91984 14.3115 3.54981C14.3784 4.16727 14.377 4.94206 14.377 5.90137V8.51367C13.9611 8.29533 13.5071 8.13985 13.0273 8.06055V5.90137C13.0273 4.9121 13.0259 4.22322 12.9688 3.69532C12.9129 3.18044 12.8098 2.89782 12.6592 2.69043C12.5406 2.52724 12.3966 2.38326 12.2334 2.26465C12.026 2.11404 11.7437 2.0109 11.2285 1.95508C10.7005 1.89789 10.0122 1.89649 9.02246 1.89649H6.55371C5.56395 1.89649 4.87569 1.89787 4.34766 1.95508C3.83242 2.01092 3.55022 2.11398 3.34278 2.26465C3.17953 2.38329 3.03564 2.52719 2.91699 2.69043C2.76642 2.89782 2.66325 3.18042 2.60742 3.69532C2.55027 4.22322 2.54883 4.9121 2.54883 5.90137V10.0986C2.54883 11.0878 2.55031 11.7768 2.60742 12.3047C2.66326 12.8196 2.76642 13.1032 2.91699 13.3105C3.03558 13.4736 3.17966 13.6178 3.34278 13.7363C3.5502 13.8869 3.83265 13.9901 4.34766 14.0459C4.87568 14.1031 5.56398 14.1035 6.55371 14.1035H8.08399C8.27443 14.6025 8.55077 15.0585 8.89551 15.4541H6.55371C5.59402 15.4541 4.81976 15.4546 4.20215 15.3877C3.57204 15.3194 3.02468 15.1738 2.54883 14.8281C2.27111 14.6263 2.02606 14.3813 1.82422 14.1035C1.47883 13.6278 1.33293 13.08 1.26465 12.4502C1.19783 11.8327 1.19922 11.0579 1.19922 10.0986V5.90137C1.19922 4.94206 1.1978 4.16727 1.26465 3.54981C1.33295 2.91984 1.47867 2.37225 1.82422 1.89649C2.02613 1.61864 2.27098 1.37379 2.54883 1.17188C3.02472 0.826181 3.57197 0.6806 4.20215 0.612307C4.81976 0.545393 5.594 0.546877 6.55371 0.546878H9.02246ZM9.19629 9.14649H4.5459V7.84571H9.19629V9.14649ZM11.0303 6.10645H4.5459V4.80567H11.0303V6.10645Z"/>';function ms(a,e){let l=String(e??"").trim();return l.length===0?!1:String(a??"").trim()===l}function gs(a,e){if(!ms(a.textContent,e()))return!1;let l=a.querySelector("svg");return!l||l.getAttribute("data-dssm-nav-icon")==="skills"?!1:(l.getAttribute(ba)||l.setAttribute(ba,JSON.stringify({innerHTML:l.innerHTML,viewBox:l.getAttribute("viewBox"),fill:l.getAttribute("fill")})),l.setAttribute("data-dssm-nav-icon","skills"),l.setAttribute("viewBox","0 0 16 16"),l.setAttribute("fill","none"),l.innerHTML=ps,a.setAttribute(Ua,""),!0)}function fs(a){let e=a.querySelector("svg");if(a.removeAttribute(Ua),!e)return!1;let l=e.getAttribute(ba);if(e.removeAttribute("data-dssm-nav-icon"),e.removeAttribute(ba),!l)return!1;let d=JSON.parse(l);return e.innerHTML=d.innerHTML,d.viewBox==null?e.removeAttribute("viewBox"):e.setAttribute("viewBox",d.viewBox),d.fill==null?e.removeAttribute("fill"):e.setAttribute("fill",d.fill),!0}function hr(a,e){typeof document>"u"||a.effect(()=>{let l=!1,d=!1,p=()=>{if(d=!1,!l)for(let y of document.querySelectorAll(us))gs(y,e)},f=()=>{d||l||(d=!0,queueMicrotask(p))};p();let g=new MutationObserver(f);return g.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{l=!0,g.disconnect();for(let y of document.querySelectorAll(`[${Ua}]`))fs(y)}},"skills-manager: settings nav icon")}var z=ea,o=z.createElement;function hs(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",d:"M9.5 2.5 13.5 6.5 6 14H2v-4z"}))}var bs={refresh:["M13.5 5.5V2.5m0 0h-3m3 0-2.1 2.1A5.5 5.5 0 1 0 13.2 12"],download:["M8 2v8m0 0 3-3m-3 3-3-3M3 13v2h10v-2"],copy:["M5 5h8v8H5z","M3 3h8"],close:["m4 4 8 8M12 4 4 12"]};function ys(a){var e=document.createElement("span"),l=document.createElementNS("http://www.w3.org/2000/svg","svg");return l.setAttribute("viewBox","0 0 16 16"),l.setAttribute("width","16"),l.setAttribute("height","16"),l.setAttribute("fill","none"),l.setAttribute("stroke","currentColor"),l.setAttribute("stroke-width","1.5"),l.setAttribute("stroke-linecap","round"),l.setAttribute("stroke-linejoin","round"),l.setAttribute("aria-hidden","true"),bs[a].forEach(function(d){var p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d",d),l.append(p)}),e.append(l),e}var $t={"content-type":"application/json","x-dsh-skills-manager":"1"},ya="skills-manager",Sa={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u6216\u63CF\u8FF0","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","source.toggle":"\u542F\u505C\u6765\u6E90","skill.toggle":"\u542F\u505C\u6280\u80FD","category.toggle":"\u542F\u505C\u5206\u7C7B","category.create":"\u65B0\u5EFA\u5206\u7C7B","category.uncategorized":"\u672A\u5206\u7C7B","category.assign":"\u5F52\u5165{name}","category.rename":"\u91CD\u547D\u540D","category.delete":"\u5220\u9664\u5206\u7C7B","category.note":"\u5206\u7C7B\u53EA\u8BB0\u5728\u8FD9\u4E2A\u6765\u6E90\u91CC\uFF0C\u4E0D\u79FB\u52A8\u6587\u4EF6\u3002","category.name":"\u5206\u7C7B\u540D\u79F0","category.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u3002\u4ECE\u6761\u76EE\u7684\u300C\u66F4\u591A\u300D\u5F52\u5165\u3002","category.progress":"{count} \u9879 \xB7 {enabled}/{usable} \u542F\u7528","category.actions":"\u5206\u7C7B\u64CD\u4F5C","category.created":"\u5DF2\u6DFB\u52A0\u5206\u7C7B\u300C{name}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u65B0\u5EFA\u76EE\u5F55\u3002","category.renamed":"\u5DF2\u91CD\u547D\u540D\u3002\u6280\u80FD\u6587\u4EF6\u540D\u6CA1\u6709\u53D8\u5316\u3002","category.deleted":"\u5DF2\u5220\u9664\u5206\u7C7B\u300C{name}\u300D\u3002\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\uFF0C\u6CA1\u6709\u8FDB\u56DE\u6536\u7AD9\u3002","category.assigned":"\u5DF2\u5C06 {name} \u5F52\u5165\u300C{category}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u79FB\u52A8\u3002","category.dragTip":"\u62D6\u62FD\u8C03\u6574\u987A\u5E8F\u6216\u79FB\u52A8\u5230\u5176\u4ED6\u5206\u7C7B","category.moved":"\u5DF2\u8C03\u6574\u6280\u80FD {name} \u7684\u5206\u7C7B\u6216\u987A\u5E8F\u3002","confirm.category.title":"\u5220\u9664\u5206\u7C7B\uFF1F","confirm.category.desc":"\u300C{name}\u300D\u4F1A\u6D88\u5931\uFF0C\u91CC\u9762\u7684\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\u3002\u6587\u4EF6\u4E0D\u4F1A\u79FB\u52A8\u3002","error.category.duplicate":"\u5DF2\u6709\u540C\u540D\u5206\u7C7B: {name}","error.category.name":"\u5206\u7C7B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u4E14\u4E0D\u80FD\u8D85\u8FC7 24 \u4E2A\u5B57\u7B26","error.category.notFound":"\u5206\u7C7B\u4E0D\u5B58\u5728","error.category.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.category.position":"\u6280\u80FD\u6392\u5E8F\u4F4D\u7F6E\u65E0\u6548","error.category.target":"\u6392\u5E8F\u76EE\u6807\u4E0D\u5C5E\u4E8E\u76EE\u6807\u5206\u7C7B","detail.title":"\u6280\u80FD\u8BE6\u60C5","detail.description":"\u7B80\u4ECB","detail.document":"SKILL.md","detail.body":"\u6B63\u6587","detail.frontmatter":"Frontmatter","detail.diagnostics":"\u8BCA\u65AD","detail.path":"\u6E90\u6587\u4EF6","detail.noIssues":"\u672A\u53D1\u73B0\u8BCA\u65AD\u95EE\u9898\u3002","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.noFrontmatter":"\u6280\u80FD\u7F3A\u5C11\u5B8C\u6574 frontmatter\uFF0C\u65E0\u6CD5{action}: {name}","error.skill.notLoadable":"\u6280\u80FD\u7ED3\u6784\u4E0D\u5B8C\u6574\uFF0C\u65E0\u6CD5{action}: {name}","error.source.notFound":"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}","error.source.symlink":"\u4E0D\u652F\u6301\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u7684 skill \u6765\u6E90: {path}","error.source.unrecognized":"\u65E0\u6CD5\u8BC6\u522B\u7684 skill \u6765\u6E90: {path}","error.source.tooDeep":"skill \u6765\u6E90\u76EE\u5F55\u5C42\u7EA7\u8D85\u8FC7 {depth} \u5C42: {path}","error.import.overlap":"\u5BFC\u5165\u6765\u6E90\u4E0D\u80FD\u4E0E DSH \u6280\u80FD\u76EE\u5F55\u76F8\u540C\u3001\u5305\u542B\u6216\u4F4D\u4E8E\u5176\u4E2D","error.import.emptySource":"\u76EE\u5F55\u4E0B\u672A\u627E\u5230\u4EFB\u4F55 skill \u6761\u76EE: {path}","error.import.invalidName":"\u65E0\u6CD5\u751F\u6210\u5408\u6CD5 kebab-case \u540D\u79F0\uFF08\u539F\u59CB\u540D: {name}\uFF09","error.import.duplicateName":"\u6279\u91CF\u6765\u6E90\u4E2D\u5B58\u5728\u591A\u4E2A\u540C\u540D\u6280\u80FD: {name}","error.import.failed":"\u5BFC\u5165\u5931\u8D25","error.import.rollbackFailed":"\u8986\u76D6\u5BFC\u5165\u56DE\u6EDA\u5931\u8D25\uFF0C\u5907\u4EFD\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.upload.path":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u975E\u6CD5\u8DEF\u5F84\uFF1A{path}","error.upload.encoding":"\u4E0A\u4F20\u5185\u5BB9\u7F16\u7801\u65E0\u6548","error.upload.empty":"\u4E0A\u4F20\u5185\u5BB9\u4E3A\u7A7A","error.upload.tooMany":"\u4E0A\u4F20\u6587\u4EF6\u8FC7\u591A\uFF0C\u6700\u591A {limit} \u4E2A","error.upload.tooLarge":"\u4E0A\u4F20\u5185\u5BB9\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.archiveTooLarge":"ZIP \u538B\u7F29\u5305\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.duplicate":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u91CD\u590D\u8DEF\u5F84\uFF1A{path}","error.upload.zipInvalid":"ZIP \u538B\u7F29\u5305\u65E0\u6CD5\u89E3\u538B","error.trash.notFound":"\u56DE\u6536\u7AD9\u6761\u76EE\u4E0D\u5B58\u5728: {id}","error.trash.conflict":"\u65E0\u6CD5\u6062\u590D\uFF0C\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.trash.invalid":"\u56DE\u6536\u7AD9\u6761\u76EE\u8DEF\u5F84\u975E\u6CD5: {id}","error.trash.projectUnavailable":"\u539F\u9879\u76EE\u5F53\u524D\u4E0D\u5728\u6D3B\u52A8\u5DE5\u4F5C\u533A\u4E2D\uFF0C\u65E0\u6CD5\u6062\u590D\uFF1A{path}","error.trash.rollbackFailed":"\u79FB\u5165\u56DE\u6536\u7AD9\u56DE\u6EDA\u5931\u8D25\uFF0C\u672A\u6062\u590D\u5185\u5BB9\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u62D2\u7EDD\u8986\u76D6\uFF1A{path}","error.create.descriptionRequired":"\u6280\u80FD\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A","error.create.bodyRequired":"\u6280\u80FD\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A","error.create.tooLarge":"\u6280\u80FD\u5185\u5BB9\u8FC7\u957F","error.create.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.proto.forbidden":"\u7981\u6B62\u7684\u4FEE\u6539\u8BF7\u6C42\uFF08\u7F3A\u5C11\u5BA2\u6237\u7AEF\u6807\u8BB0\uFF09","error.proto.forbiddenHost":"\u7981\u6B62\u7684\u8BF7\u6C42\u6765\u6E90\uFF08\u975E\u6CD5 Host\uFF09","error.proto.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.method":"\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5","error.proto.unknownAction":"\u672A\u77E5\u64CD\u4F5C","error.proto.bodyTooLarge":"\u8BF7\u6C42\u4F53\u8FC7\u5927","error.proto.invalidJson":"\u8BF7\u6C42\u4F53\u4E0D\u662F\u5408\u6CD5 JSON","error.proto.nonJson":"\u670D\u52A1\u7AEF\u8FD4\u56DE\u975E JSON \u54CD\u5E94\uFF08HTTP {status}\uFF09","error.catalog.query":"\u641C\u7D22\u5173\u952E\u8BCD\u65E0\u6548\u3002","error.catalog.upstream":"\u76EE\u5F55\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\u3002","error.catalog.response":"\u76EE\u5F55\u8FD4\u56DE\u7684\u6570\u636E\u65E0\u6548\u6216\u8FC7\u5927\u3002","error.catalog.identity":"\u76EE\u5F55\u6280\u80FD\u6807\u8BC6\u65E0\u6548\u3002","diagnostic.frontmatter.missing":"\u7F3A\u5C11\u5B8C\u6574 YAML frontmatter","diagnostic.name.missing":"frontmatter \u7F3A\u5C11 name","diagnostic.name.invalid":"\u6280\u80FD\u540D\u79F0\u4E0D\u662F\u5408\u6CD5 kebab-case\uFF1A{name}","diagnostic.description.missing":"frontmatter \u7F3A\u5C11 description","diagnostic.invocation.invalid":"\u8C03\u7528\u7B56\u7565\u5B57\u6BB5\u503C\u65E0\u6548","diagnostic.shadowed":"\u88AB\u66F4\u9AD8\u4F18\u5148\u7EA7\u6765\u6E90 {root} \u8986\u76D6","action.enable":"\u542F\u7528","action.disable":"\u505C\u7528","action.create":"\u521B\u5EFA","action.delete":"\u5220\u9664","action.restore":"\u6062\u590D","action.toggle":"\u542F\u7528\u6216\u505C\u7528","scope.user":"\u5168\u5C40\u6280\u80FD","scope.project":"\u9879\u76EE\u6280\u80FD","scope.trash":"\u56DE\u6536\u7AD9","scope.label":"\u6280\u80FD\u7BA1\u7406\u89C6\u56FE","scope.userHint":"\u8DE8\u9879\u76EE\u53EF\u7528\u3002\u542F\u505C\u4EC5\u5F71\u54CD DSH \u4E2D\u7684\u8C03\u7528\u3002","scope.projectHint":"\u6309\u5DE5\u4F5C\u533A\u67E5\u770B\u9879\u76EE\u6280\u80FD\u3002\u542F\u505C\u4E0D\u4FEE\u6539\u5176\u4ED6 Agent \u7684\u6E90\u6587\u4EF6\u3002","project.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\u5DE5\u4F5C\u533A\u3002","project.noSkills":"\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u91CC\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.unavailable":"\u76EE\u5F55\u4E0D\u53EF\u7528","workspace.noSkills":"\u8FD9\u4E2A\u5DE5\u4F5C\u533A\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.loading":"\u6B63\u5728\u8BFB\u53D6\u2026","workspace.loadFailed":"\u8BFB\u53D6\u5931\u8D25\uFF1A{error}","workspace.listFailed":"\u65E0\u6CD5\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5217\u8868\uFF1A{error}","filter.status":"\u8C03\u7528\u72B6\u6001","filter.statusAll":"\u5168\u90E8\u72B6\u6001","status.shadowedBy":"\u88AB {source} \u4E2D\u7684\u540C\u540D\u6280\u80FD\u8986\u76D6","status.fallback.user":"\u5F53\u524D\u4F7F\u7528\u5168\u5C40 {source} \u526F\u672C\u3002","status.fallback.project":"\u5F53\u524D\u4F7F\u7528\u9879\u76EE {source} \u526F\u672C\u3002","root.copilot":"GitHub Copilot","source.selectHint":"\u5148\u9009\u62E9\u4E00\u4E2A\u6765\u6E90\uFF0C\u624D\u80FD\u67E5\u770B\u76EE\u5F55\u6216\u5173\u95ED\u6574\u4E2A\u6765\u6E90\u3002\u5173\u95ED\u6765\u6E90\u53EA\u5F71\u54CD DSH \u8C03\u7528\uFF0C\u4E0D\u6539\u6587\u4EF6\u3002","import.global":"\u5BFC\u5165\u6280\u80FD","category.batchAssigned":"\u5DF2\u5C06 {count} \u4E2A\u6280\u80FD\u6DFB\u52A0\u5230\u201C{category}\u201D\u3002\u6587\u4EF6\u672A\u79FB\u52A8\u3002","category.selectSkills":"\u6DFB\u52A0\u6280\u80FD\u5230\u201C{name}\u201D","category.noAvailableSkills":"\u6CA1\u6709\u53EF\u6DFB\u52A0\u7684\u6280\u80FD","category.addSkills":"\u6DFB\u52A0\u6280\u80FD","root.dsh":"DSH","root.agents":"\u516C\u5171 Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH","root.projectAgents":"\u9879\u76EE Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (\u7528\u6237\u76EE\u5F55)","root.trae":"Trae","root.traeCn":"Trae (\u56FD\u5185\u7248)","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (\u65E7\u76EE\u5F55)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names or descriptions","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","source.toggle":"Toggle source","skill.toggle":"Toggle skill","category.toggle":"Toggle category","category.create":"New category","category.uncategorized":"Uncategorized","category.assign":"Move to {name}","category.rename":"Rename","category.delete":"Delete category","category.note":"Categories stay in this source and do not move files.","category.name":"Category name","category.empty":"No skills yet. Use More on a skill to place it here.","category.progress":"{count} \xB7 {enabled}/{usable} enabled","category.actions":"Category actions","category.created":"Added category \u201C{name}\u201D. No directory was created.","category.renamed":"Renamed. Skill file names are unchanged.","category.deleted":"Deleted category \u201C{name}\u201D. Skills returned to Uncategorized and were not trashed.","category.assigned":"Moved {name} to \u201C{category}\u201D. The file was not moved.","category.dragTip":"Drag to reorder or move to another category","category.moved":"Updated the category or order for {name}.","confirm.category.title":"Delete category?","confirm.category.desc":"\u201C{name}\u201D will be removed. Its skills return to Uncategorized. Files are not moved.","error.category.duplicate":"A category with this name already exists: {name}","error.category.name":"Category name is required and must be at most 24 characters","error.category.notFound":"Category not found","error.category.root":"Skill source not found: {root}","error.category.position":"Invalid skill ordering position","error.category.target":"The target skill is not in the destination category","detail.title":"Skill details","detail.description":"Description","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.noFrontmatter":"Skill lacks complete frontmatter, cannot {action}: {name}","error.skill.notLoadable":"Skill structure is incomplete, cannot {action}: {name}","error.source.notFound":"Path does not exist: {path}","error.source.symlink":"Skill sources containing symbolic links are not supported: {path}","error.source.unrecognized":"Unrecognized skill source: {path}","error.source.tooDeep":"Skill source directory depth exceeds {depth} levels: {path}","error.import.overlap":"Import source cannot be the same as, contain, or be inside the DSH skills directory","error.import.emptySource":"No skill entries found in the directory: {path}","error.import.invalidName":"Cannot generate a valid kebab-case name (original: {name})","error.import.duplicateName":"Batch source contains duplicate skill names: {name}","error.import.failed":"Import failed","error.import.rollbackFailed":"Overwrite import rollback failed; backups kept at: {path} ({error})","error.upload.path":"Upload contains an invalid path: {path}","error.upload.encoding":"Upload encoding is invalid","error.upload.empty":"Upload is empty","error.upload.tooMany":"Too many uploaded files; maximum {limit}","error.upload.tooLarge":"Upload is too large; limit {limit} bytes","error.upload.archiveTooLarge":"ZIP archive is too large; limit {limit} bytes","error.upload.duplicate":"Upload contains a duplicate path: {path}","error.upload.zipInvalid":"ZIP archive could not be extracted","error.trash.notFound":"Trash item not found: {id}","error.trash.conflict":"Cannot restore because a skill with the same name exists: {name}","error.trash.invalid":"Invalid trash item path: {id}","error.trash.projectUnavailable":"The original project is not an active workspace, so this skill cannot be restored: {path}","error.trash.rollbackFailed":"Move-to-trash rollback failed; unrecovered content was kept at: {path} ({error})","error.state.invalid":"The manager state file could not be read, so overwriting it was refused: {path}","error.create.descriptionRequired":"Skill description is required","error.create.bodyRequired":"Skill body is required","error.create.tooLarge":"Skill content is too large","error.create.conflict":"A skill with the same name already exists: {name}","error.proto.forbidden":"Forbidden mutation request (missing client marker)","error.proto.forbiddenHost":"Forbidden request origin (invalid host)","error.proto.contentType":"Content type must be application/json","error.proto.method":"Method not allowed","error.proto.unknownAction":"Unknown action","error.proto.bodyTooLarge":"Request body too large","error.proto.invalidJson":"Invalid JSON request body","error.proto.nonJson":"Server returned a non-JSON response (HTTP {status})","error.catalog.query":"The search query is invalid.","error.catalog.upstream":"The catalog service is temporarily unavailable.","error.catalog.response":"The catalog response is invalid or too large.","error.catalog.identity":"The catalog skill identifier is invalid.","diagnostic.frontmatter.missing":"Missing complete YAML frontmatter","diagnostic.name.missing":"Frontmatter is missing name","diagnostic.name.invalid":"Skill name is not valid kebab-case: {name}","diagnostic.description.missing":"Frontmatter is missing description","diagnostic.invocation.invalid":"Invocation policy value is invalid","diagnostic.shadowed":"Shadowed by higher-priority source {root}","action.enable":"enable","action.disable":"disable","action.create":"create","action.delete":"delete","action.restore":"restore","action.toggle":"enabling or disabling","scope.user":"Global skills","scope.project":"Project skills","scope.trash":"Trash","scope.label":"Skill manager views","scope.userHint":"Available across projects. Toggles only affect invocation in DSH.","scope.projectHint":"View project skills by workspace. Toggles do not modify other agents\u2019 source files.","project.empty":"No registered workspaces yet. Add one in the sidebar first.","project.noSkills":"Registered workspaces do not have skills yet.","workspace.unavailable":"Directory unavailable","workspace.noSkills":"No skills in this workspace yet.","workspace.loading":"Loading\u2026","workspace.loadFailed":"Failed to load: {error}","workspace.listFailed":"Cannot read the workspace list: {error}","filter.status":"Invocation status","filter.statusAll":"All statuses","status.shadowedBy":"Overridden by the same skill in {source}","status.fallback.user":"Currently using the global {source} copy.","status.fallback.project":"Currently using the project {source} copy.","source.selectHint":"Select a source to view its directory or turn the whole source off. Turning a source off only affects invocation in DSH and does not change files.","import.global":"Import skill","category.batchAssigned":"Added {count} skills to \u201C{category}\u201D. Files were not moved.","category.selectSkills":"Add skills to \u201C{name}\u201D","category.noAvailableSkills":"No skills available to add","category.addSkills":"Add skills","root.dsh":"DSH skills","root.agents":"Shared Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH skills","root.projectAgents":"Project Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.copilot":"GitHub Copilot","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (User Home)","root.trae":"Trae","root.traeCn":"Trae CN","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (Legacy)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN"}};Object.assign(Sa.zh,Da.zh,ja.zh);Object.assign(Sa.en,Da.en,ja.en);var Pt=pr(z),kr=sr({react:z,SourceSelect:Pt,translateError:fe}),br=kr.DestinationPicker,vs=ar({react:z,Modal:Je,Input:ot,Button:Ie.Button,SourceSelect:Pt,destination:kr,api:wa,headers:$t,translateError:fe,getLocale:Sr}),ws=rr+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{width:100%}.dssm-source-head{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px}.dssm-source-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-source-toggle:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary));outline-offset:2px}.dssm-fold-chevron{flex:none;color:var(--dsw-alias-label-tertiary);transform:rotate(-90deg);transition:transform 160ms ease}.dssm-fold-chevron.is-open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.dssm-fold-chevron{transition:none}}.dssm-source-label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dssm-drag-handle{cursor:grab;color:var(--dsw-alias-label-tertiary,#888);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;border-radius:var(--dsw-radius-sm,8px);flex-shrink:0;user-select:none;transition:color 0.15s}.dssm-skill-row:hover .dssm-drag-handle{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-drag-handle:active{cursor:grabbing}.dssm-cat.drag-over{border-color:var(--dsw-alias-brand-primary,#3b82f6);box-shadow:0 0 0 1px var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.dragging{opacity:0.4;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent))}.dssm-skill-row.drop-before{box-shadow:inset 0 2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.drop-after{box-shadow:inset 0 -2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:0;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:0;background:transparent}.dssm-skill-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-skill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-skill-row .dssm-name{font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none}.dssm-source{overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-textarea{box-sizing:border-box;display:block;width:100%;min-height:160px;margin:0;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:14px;line-height:22px;resize:vertical}.dssm-textarea:focus,.dssm-textarea:focus-visible{outline:none;border-color:var(--dsw-alias-state-business-primary)}.dssm-textarea[readonly]{resize:none}.dssm-source-title{font-size:14px;font-weight:650;white-space:nowrap;flex:none}.dssm-source-path{min-width:0;max-width:50%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-source-actions{display:flex;flex:none;align-items:center;gap:8px;margin-left:12px}.dssm-cat{margin:0 10px 8px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px)}.dssm-cat-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 6px}.dssm-cat-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-cat-title{font-size:14px;font-weight:700;display:inline-flex;align-items:center}.dssm-cat-note{margin:2px 16px 8px}.dssm-fallback{margin-top:4px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-section{box-sizing:border-box;display:flex;width:100%;max-width:820px;min-width:0;margin:0 auto;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary,#eeeeee);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dssm-feedback-links>span[data-mpi-check]{display:inline-flex;align-items:center}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));outline-offset:2px}.dssm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1)}.dssm-stat{padding:4px 10px;border-right:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:4px;color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:650}.dssm-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%!important;min-width:0;box-sizing:border-box}.dssm-filter-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.dssm-filters .dssm-search{flex:1 1 0;min-width:160px;max-width:none}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter,.dssm-filters .dssm-menu-select-wrap,.dssm-filters span[class*="_root_"],.dssm-filters .dssm-source-select-menu,.dssm-filters .dssm-menu-select-trigger{width:auto!important;min-width:0!important;display:inline-flex!important;flex:none}.dssm-field .dssm-menu-select-wrap,.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"]{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.dssm-destination-pair .dssm-menu-select-trigger,.dssm-form .dssm-menu-select-trigger{display:flex!important;width:100%!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}.dssm-source-select-menu{min-width:130px;max-width:280px}.dssm-menu-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:32px;padding:0 10px;border:0.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;line-height:20px;cursor:pointer;user-select:none;width:max-content;min-width:8em;transition:border-color 120ms ease,background 120ms ease}.dssm-menu-select-trigger:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#555)}.dssm-menu-select-trigger.is-open,.dssm-menu-select-trigger:focus-visible{border-color:var(--dsw-alias-brand-primary)!important;outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary))!important;outline-offset:0!important}.dssm-menu-select-trigger:disabled{opacity:.5;cursor:default}.dssm-menu-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.dssm-menu-select-arrow{color:var(--dsw-alias-label-secondary);flex-shrink:0}.dssm-count{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap;flex:none}.dssm-name{overflow-wrap:anywhere;font-size:13px;font-weight:570}.dssm-note{overflow-wrap:anywhere;margin-top:2px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px;line-height:17px}.dssm-enabled{color:var(--dsw-alias-state-success-primary,#51b976);font-size:12px;white-space:nowrap}.dssm-disabled{color:var(--dsw-alias-state-warn-primary,#d49245);font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap}.dssm-trash-count{padding:2px 7px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px}.dssm-warning{border-color:var(--dsw-alias-state-warn-primary,#d49245);color:var(--dsw-alias-state-warn-primary,#d49245)}.dssm-error{border-color:var(--dsw-alias-state-error-primary,#ef7272);color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-detail .dssm-desc{margin:0}.dssm-field{gap:6px}.dssm-label{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-detail-title{font-size:14px;line-height:22px;font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:18px}.dssm-batch-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;margin:12px 0;padding:2px}.dssm-batch-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));cursor:pointer;user-select:none;transition:background 0.15s,border-color 0.15s}.dssm-batch-item:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));border-color:var(--dsw-alias-border-l2,#494949)}.dssm-batch-item.selected{border-color:var(--dsw-alias-brand-primary,#3b82f6);background:var(--dsw-alias-state-business-tertiary)}.dssm-batch-item input[type="checkbox"]{cursor:pointer;margin:0;flex-shrink:0;width:15px;height:15px}.dssm-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dssm-batch-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dssm-batch-name{font-size:13px;font-weight:600;color:var(--dsw-alias-label-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-batch-cat-tag{font-size:10px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap;flex-shrink:0}.dssm-batch-desc{font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3,#555555);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12))}.dssm-dropzone-title{color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary,#eeeeee);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eeeeee);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:22px}.dssm-detail-section .dssm-note,.dssm-diag{font-size:14px;line-height:22px}.dssm-detail-path{padding:8px 10px;border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);word-break:break-all}.dssm-diag{padding:8px 10px;border-left:2px solid var(--dsw-alias-state-warn-primary,#d49245);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-trash-panel{display:flex;flex-direction:column;gap:10px}.dssm-trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;border:0.5px solid var(--dsw-alias-border-l2,rgba(128,128,128,.2));border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-trash-main{min-width:0;display:flex;flex-direction:column;gap:6px}.dssm-trash-item .dssm-name{font-size:14px;line-height:20px;color:var(--dsw-alias-label-primary,inherit)}.dssm-trash-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:17px;color:var(--dsw-alias-label-tertiary,#909090);overflow-wrap:anywhere}.dssm-trash-source{min-width:0;background:transparent;color:var(--dsw-alias-label-tertiary,#a0a0a0)}.dssm-trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
25
26
  @container(max-width:400px){.dssm-source-path{display:none}}@media(max-width:760px){.dssm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.dssm-title-row{flex-wrap:wrap}}@container(max-width:520px){.dssm-trash-item{grid-template-columns:minmax(0,1fr)}.dssm-skill-row{flex-wrap:wrap}.dssm-skill-actions{width:100%;margin-inline-start:0;justify-content:flex-end}.dssm-trash-actions{justify-content:flex-end}.dssm-head{flex-direction:column}.dssm-actions{width:100%;margin-left:0}.dssm-actions button{flex:1}.dssm-summary{grid-template-columns:1fr}}.dssm-row-state{display:flex;align-items:center;justify-content:flex-end;gap:8px}
26
27
  .dssm-enable-switch{box-sizing:border-box;position:relative;flex:0 0 auto;width:36px;height:20px;padding:2px;border:0;border-radius:999px;corner-shape:round;background:var(--dsw-alias-border-l3,#555);cursor:pointer}.dssm-enable-switch[aria-checked=true]{background:var(--dsw-alias-brand-primary)}.dssm-enable-switch:disabled{cursor:default;opacity:.5}.dssm-enable-switch:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:2px}.dssm-enable-switch-thumb{display:block;width:16px;height:16px;border-radius:50%;corner-shape:round;background:var(--dsw-alias-label-primary-foreground,#fff);transition:transform 120ms ease;pointer-events:none}.dssm-enable-switch[aria-checked=false] .dssm-enable-switch-thumb{background:var(--dsw-alias-switch-thumb,#fff)}.dssm-enable-switch[aria-checked=true] .dssm-enable-switch-thumb{transform:translateX(16px)}
27
- .dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}
28
+ .dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-btn-danger:not(:disabled){color:var(--dsw-alias-state-error-primary,#ef7272)}
28
29
 
29
- `;function Oa(a,e,l,d){var p=a(e,d);return typeof p=="string"&&p!==e?p:l}function fe(a,e){if(e instanceof Error&&!e.code)return e.message;if(e&&typeof e=="object"){let p=e;if(p.code){var l=Object.assign({},p.params||{});l.action&&(l.action=Oa(a,"action."+l.action,String(l.action)));var d=a(p.code,l);if(typeof d=="string"&&d!==p.code)return d;if(d===p.code)return p.error!==void 0?fe(a,p.error):p.code}if(p.error!==void 0)return fe(a,p.error);if(p.message!==void 0)return String(p.message)}return String(e??"")}function xr(a){return a.json().catch(function(){var e=new Error("non-json response");throw e.code="error.proto.nonJson",e.params={status:a.status},e}).then(function(e){let l=e;if(!a.ok||l.ok===!1)throw l;return l.data})}function wa(a,e){return fetch("/api/dsh-skills-manager"+a,e).then(xr)}function Ca(a){return a.enabled!==void 0?a.enabled===!0:!!(a.invocationPolicyValid&&a.modelInvocable&&a.userInvocable&&a.managerEnabled!==!1)}function ka(a,e){return a+(Number(e)===1?".one":".other")}var Cr;function Sr(){return Cr?.getLocale?.().active}function Nr(a,e){return new Date(e).toLocaleString(Sr()||a("format.locale"))}function bt(a,e){var l=Oa(a,"root."+(e.localeKey||e.kind||e.key),e.label);return e.projectName?l+" \xB7 "+e.projectName:l}function Rr(a,e){var l=e&&e.imported||[],d=l.map(function(y){return y.name}),p=(e&&e.skipped||[]).map(function(y){return y.name}),f=[];l.forEach(function(y){(y.warnings||[]).forEach(function(k){f.push(fe(a,k))})});var g;return d.length&&p.length?g={ok:!0,warning:!0,imported:!0,text:a("result.importPartial",{imported:d.join(", "),skipped:p.join(", ")})}:d.length?g={ok:!0,warning:!1,imported:!0,text:a("result.imported",{names:d.join(", ")})}:p.length?g={ok:!1,warning:!0,imported:!1,text:a("result.importSkipped",{names:p.join(", ")})}:g={ok:!1,warning:!1,imported:!1,text:a("result.importEmpty")},f.length&&(g.warning=!0,g.text=a("result.importWarnings",{result:g.text,warnings:f.join(a("format.warningSeparator"))})),g}function Ar(a){return String(a??"").trim().toLowerCase()}function Va(a,e){var l=Ar(e);return l?[a.name,a.declaredName,a.description,a.kind,a.kindLabel,a.statusLabel,a.rootKey,a.rootLabel].some(function(d){return String(d??"").toLowerCase().includes(l)}):!0}function ks(a,e){var l=e&&e.rootKey!=null?e.rootKey:"";return a.filter(function(d){return(!l||d.rootKey===l)&&Va(d,e&&e.query)})}function Wa(a){return(a||[]).filter(function(e){return e.mutable||e.exists!==!1})}function Ka(a){return a.shadowedBy?"shadowed":a.loadable===!1?"invalid":Ca(a)?"enabled":"disabled"}function Lr(a){var e={total:a.length,enabled:0,disabled:0,shadowed:0,invalid:0};return a.forEach(function(l){e[Ka(l.skill)]++}),e}function Er(a){return!!(a&&a.toggleable!==!1&&a.kind!=="project-dsh")}function Mr(a){return Wa(a).filter(function(e){return e.scope==="project"?!1:e.mutable||(e.skills||[]).length>0})}var yr=32<<20,va=32<<20,vr=64<<20,wr=1e3;function xa(a){return String(a&&(a._dssmPath||a.webkitRelativePath||a.name)||"").replace(/\\/g,"/")}function Tr(a){var e=Array.from(a||[]);if(!e.length)return null;if(e.length>wr)return{error:{code:"error.upload.tooMany",params:{limit:wr}}};var l=e.some(function(k){return xa(k).includes("/")});if(l){if(!e.some(function(k){return/(^|\/)skill\.md$/i.test(xa(k))}))return{error:{code:"select.folder.invalid"}};var d=e.find(function(k){return Number(k.size||0)>va});if(d)return{error:{code:"error.upload.tooLarge",params:{limit:va}}};var p=e.reduce(function(k,R){return k+Number(R.size||0)},0);return p>vr?{error:{code:"error.upload.tooLarge",params:{limit:vr}}}:{kind:"folder",name:xa(e[0]).split("/")[0],files:e,count:e.length,size:p}}if(e.length!==1)return{error:{code:"select.file.invalid"}};var f=String(e[0].name||""),g=f.toLowerCase(),y=Number(e[0].size||0);return g==="skill.md"?y>va?{error:{code:"error.upload.tooLarge",params:{limit:va}}}:{kind:"skill",name:f,files:e,count:1,size:y}:g.endsWith(".zip")?y>yr?{error:{code:"error.upload.archiveTooLarge",params:{limit:yr}}}:{kind:"zip",name:f,files:e,count:1,size:y}:{error:{code:"select.file.invalid"}}}function xs(a){for(var e=new Uint8Array(a),l="",d=32768,p=0;p<e.length;p+=d)l+=String.fromCharCode(...e.subarray(p,Math.min(p+d,e.length)));return btoa(l)}function Cs(a){return Promise.all(a.files.map(function(e){return e.arrayBuffer().then(function(l){return{path:xa(e),data:xs(l)}})})).then(function(e){return a.kind==="zip"?{name:a.name,zip:e[0].data}:{name:a.name,entries:e}})}function Hr(a,e,l){return a.isFile?new Promise(function(d,p){a.file(function(f){f._dssmPath=e+f.name,l.push(f),d()},p)}):a.isDirectory?new Promise(function(d,p){var f=a.createReader(),g=[];function y(){f.readEntries(function(k){if(!k.length){Promise.all(g.map(function(R){return Hr(R,e+a.name+"/",l)})).then(function(){d()},p);return}g=g.concat(k),y()},p)}y()}):Promise.resolve()}function Ss(a){var e=Array.from(a&&a.items||[]),l=e.map(function(p){return p.webkitGetAsEntry&&p.webkitGetAsEntry()}).filter(p=>!!p);if(!l.length)return Promise.resolve(Array.from(a&&a.files||[]));var d=[];return Promise.all(l.map(function(p){return Hr(p,"",d)})).then(function(){return d})}function Ns(a){return Array.prototype.slice.call(a.querySelectorAll('button:not(:disabled), [href], input:not([type=hidden]):not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])')||[])}function Rs(a,e){if(e.key==="Tab"){var l=Ns(a);if(l.length){var d=document.activeElement;(d===a||!a.contains(d)||(e.shiftKey?d===l[0]:d===l[l.length-1]))&&(e.preventDefault(),(e.shiftKey?l[l.length-1]:l[0]).focus())}}}function As(a){return Fa(a.on,a.label,a.disabled,a.onClick)}function be(a,e,l="primary",d){return o(Ie.Button,{variant:l==="primary"?"primary":"outline",disabled:d,onClick:e},a)}function Ye(a){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{d:a,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Ls(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},[3.5,8,12.5].map(function(a){return o("circle",{key:a,cx:a,cy:8,r:1.15,fill:"none",stroke:"currentColor",strokeWidth:1.5})}))}function jt(a,e,l,d,p){return o(Ie.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(d?" dssm-icon-danger":""),disabled:p,"aria-label":a,title:a,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:l})}function Ba(a,e,l,d,p){return o(Ie.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:d,"aria-label":a,title:p||a,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:l})}function Fa(a,e,l,d){return o("button",{type:"button",role:"switch","aria-checked":a,"aria-label":e,disabled:l,className:"dssm-enable-switch",onClick:function(p){p&&typeof p.stopPropagation=="function"&&p.stopPropagation(),d()}},o("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var Es="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAhKSURBVFhHrZd5bBTXHcdR/6iav5r2zx4q2NjG9q69u/b6Wts4xkaEcCotzQUhhZJSEM1BAkmEqrQEQRCKUm4IRCRgikOgCbRFSlSaQBraSEVKQ8CAMYcMe87xZmfmzZvZ+Va/t15jw+K2Un/SVzN7zPt93vsd8964cUMG4Bsj7r/Z39//7bNnz97//xCNRWMW8zXqC03TSjnnW4QQF4UQuuMIxh3BHC4Y3RfEHee2+GjZxaXbtnPR4nxLQtNKR0EUbmzb7nJdN4O8+UNXeeP7xeQjV1ButLwiyg2N6TgiYxh21ygIXdfLPM9L0B9E3vxickjOnXJ8PlJ8tOzREtKH6yaSyWTZcAgcx9lccO66LsaSIIliEnAKckaL/BZk23kIzp3N0vnJkye/JYQ4PwSQu9PhvXQ3wNgQBRCbOzkZCuF+Tb7HUZYKIbQhAP9OR/eScAXNArbN5eAFCHLOHacoyBCATznBHaFSdRQA9HsBCOGA87yT298J5HJyItJyXm4YwHU9KYLgYgikAMAdWDaXAFQZ5LsAwIoBOI4js71gnucNO9Z0Hac/O4MDBw/jUv+ArAyyS5cH8M7+Xnmfn7UDm3NYtg3PyxGcT1cq2TEBaJZk16/fwFt79mHlqjVYsvRXWL7iBax+5TeYOfdRVNY04YmFv0AqlZYzJTt85BjqW6bio48/kQ5JhUn0X7mGC32X5Qfb5vcGKDg/1Ps+mtu6MaGsBiXlIUysimBiZQQlFWFUh5pRWduMp5c9B8uyJTTZwUNHUFkbQyDSjnUb3kQ6reCDYyewb/8hzJn3FHp6j0oA07SKA9Cyk/Uc7EVJeQ0qg1HU1sVGqBWh+jZ5DUcnS5DHFizB5f4B+dzfznyBSNMUhBs7UdfchYfmPI7qcJsEauucha/OXZAAlm3fDUBNha7nL/Qh2tSOYLgRkWgrQnUxBCPNCISbEQy35BUhxRCKtmNSoAEPzpyHC32XJMQzK19BeaBRAtTUTUZj6zREmrqwfuPvKCQ+dUvOi4SAcy4B1q57HeNLKxGqb0F1TRTlVREEahuHQFoQCBEIKYYaWomGdlTVNmH6rDwEhWPp8udRHYphctcszP7xfGzZvgeMGTIJCYDeKcMADncYJYrneb5pmnhwxlws+vkvcfxPJ9Bz8D2sfe11zJr7UwkTCDXKUARCTaiJtCAcbcfkKQ+hIdYlV6KjayY+PH4CL770a5RURPDiy69C0zRZPfnyFDInRwFYNmeuJ8vLv3UrjmAoih0735LLSaVHDyiKgoOHDqN72mxMCtQhVB+ToaDrzl1v46+fnsaMOY+gIhCVIKEGyo8Y3nhzmxyH27zQKWVNjAIwLc6E68HL5fyr166jJtyA1S+vke9C27ZlPyAQsqtXr+PJp55GRXWdXIlItB2PzV+E0599jr6+S2hspbi3oq7xAYQbOvD+0Q/zAJwXyjv/VhQjAAzTZpzaqOP6yVQaLa0PYPqMudB1hpznSXISDUKmKCqeeHIxKqoiiDS0oaomivUb35C/vbp2A0oqQqhv7kRH90z0XcwnJj0/EoDybhiAGRazuYusafumxbFg4WKUTKzERx//RT5MnazQoAoQ/VcG0DFlunROeUGhWLhoKbqmzZaJSmW64tlVcuVGdteiABozmWkLqHpW/rh9x2587wcTsPBnS6hnyxDQi4R6fT6Z8k3n6B+OYVJ1BLWRFlTXNqC0olb2jfqmDjS0dOKTT0/L/9HzYwKoepZlrTyAZQtcGbiGjs5uTCitwNZtu+Qg5lC36++/goGr1+R3ZKtWr0FpeVCWbDDcJENCML9dt1G24MLSjwmQUQ3GTAeKnvUVLQvXA/Yf+D3KyqsQCIaxZ+8+WUJk7x0+imhTG955t0euhqKqeHje4xhfWoVIfQyVwXosXf7s8IvsvwJIKozpBkdGzfqKbhIIKCTrN2xCaVklyiqqsfKFl/Dlv77Gmb9/Icv0RyWTsGzFc0gmU0in01i8ZBkqqyOoCtZh3qMLsL/nEOLxhIQcCXEXwMmzZ++PpxlTmI2UwvyMlgVJ1U0YJsfW7btRF23C9384HsHaCOoamlETjiIUacTEigA6u6dL0LWvbcCSpSvwk0fmo61jKmLt3Tj+xz//5xyQACmmZzQLyQzz04qBtJoXhcNyPJz+/B9Y8czzaI61oyoQQvmkACoqg6gNR1EXbUb3tJnY+/a79IaDpumgZkahGem4CEB+Q0IAt5K6llRNxFO6n8wwJDMGCiAphcG0XbAsx5dfXcDhIx9g5+692LFrDw709MoGpKpyQ5WvFJc6py91p/ORAK7r5rdktDGMZ4zzac3CzaSWu5XSkUgTRF4pxZBXgjFMAccFPB+0z5dX4fmwbAdG1qLtltwjkmgnJEZs40YAyJ7vukObUrJ4hm22BDAYV8XNpEYgiKfZbRCFViK/GqS0wpBRGRTVgMpMMMOCkbWRtWxYFm2/aLNKvYN6iIAr94rDAHK3Q0eB4XPBucs3ylKqmVANB4MJVQwmtdzNhObfTGp+PKn78bTuJ9KMwuOnFMNPq4afUQ0qWZ96h6abvm6YPjMs38haPnXUrGX7lsV92+byUMIdJ+fQkuRnn6DDkHReOB5dvDI4NZ7SM7YLZHTbTyhZkJJSJtKqCUpURbeg6jY0wwaVrp7lMLIODMsBNTMqX4u7oNbOhQdHeBBuDrlc/mgmhMhomjZ1pO/hm3+eO1d2bTC9dTCuXByMq2y0NHYzSdJZPK2zRFpn1D/SCmPUyBSNlGWanmXU2nWSYTKWtZghZV7Sjey2G5dvyJnf84RMtmnTpvt6T5z47vFTp74zlk79D9rU23tfMV//Btfumph3iobTAAAAAElFTkSuQmCC",Ms="data:image/png;base64,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",Ts="data:image/png;base64,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",Hs="M23.376 14.458v-4.056c0-2.304-1.003-4.154-2.748-5.075L11.612.574l-.046.086-.045.086c1.68.886 2.644 2.673 2.644 4.902v4.056a7.928 7.928 0 01-.014.454l-.005.061c-.005.081-.01.164-.018.245a4.897 4.897 0 01-.011.1l-.01.076c-.008.068-.015.135-.025.203l-.018.113-.01.058a9.99 9.99 0 01-.098.513l-.007.03a7.209 7.209 0 01-.074.294l-.024.086c-.027.099-.056.197-.087.296l-.027.085a9.592 9.592 0 01-.111.323l-.033.085-.018.046c-.032.082-.064.166-.098.248-.019.048-.04.096-.061.145l-.007.017a6 6 0 01-.084.187c-.024.056-.05.11-.077.165-.03.061-.058.122-.089.182a9.423 9.423 0 01-.176.332c-.03.056-.062.111-.094.167-.031.053-.062.108-.095.16-.033.055-.066.11-.101.164-.033.053-.065.104-.1.155-.034.055-.07.107-.111.169l-.099.144a15.193 15.193 0 01-.34.457c-.04.05-.08.102-.121.151l-.107.128-.007.008a6.987 6.987 0 01-.262.298l-.149.16-.116.12a9.562 9.562 0 01-.204.198l-.03.03-.072.069a9.05 9.05 0 01-.263.235l-.025.022-.029.026-.042.035a11.7 11.7 0 01-.22.18l-.07.055-.018.013a8.904 8.904 0 01-.194.146c-.029.02-.057.042-.086.063a7.7 7.7 0 01-.22.152l-.057.04a8.865 8.865 0 01-.293.185l-.062.037a10.424 10.424 0 01-.307.173l-.037.02-.196.103-.108.052-.012.006a6.196 6.196 0 01-.315.143c-.065.028-.13.054-.196.08l-.035.014-.086.034c-.07.026-.143.05-.215.075l-.039.014-.064.023a8.056 8.056 0 01-.323.097l-.63.173a7.285 7.285 0 01-.33.08l-.07.015c-.053.012-.104.023-.157.032l-.065.011-.085.015a2.332 2.332 0 01-.194.027l-.085.01a4.715 4.715 0 01-.16.018l-.034.003a4.861 4.861 0 01-.246.016h-.033a2.714 2.714 0 01-.155.005h-.106a3.384 3.384 0 01-.225-.007H4.86l-.15-.012-.066-.006a5.586 5.586 0 01-.187-.02l-.04-.005a5.14 5.14 0 01-.219-.035l-.054-.01a6.943 6.943 0 01-.347-.082l-.03-.008-.038-.01a5.034 5.034 0 01-.269-.086l-.063-.023a4.216 4.216 0 01-.188-.073l-.071-.031-.016-.007a4.959 4.959 0 01-.16-.074l-.026-.013a.164.164 0 00-.014-.007l-.671-.351.486.486h.016l8.995 4.742.093.048.03.014.02.01c.056.026.111.052.169.076l.016.008.073.032.195.076.022.008a.718.718 0 01.03.012l.014.004a4.693 4.693 0 00.323.1l.027.007c.073.02.147.038.22.055l.018.004.027.006.066.013.088.016c.075.014.15.026.226.038l.042.004c.064.009.128.016.193.022l.126.012.06.003.05.002.098.005c.046.002.094.002.14.003h.12c.05 0 .1-.002.161-.005h.033l.07-.004a6.17 6.17 0 00.184-.014l.033-.003a.753.753 0 00.058-.005l.108-.012.081-.01.08-.01.129-.021.082-.014.071-.012c.054-.01.107-.021.16-.033l.066-.013.059-.013c.096-.022.192-.046.287-.073l.63-.172a7.354 7.354 0 00.397-.122l.04-.015c.075-.025.149-.051.222-.078.032-.011.062-.024.093-.037l.03-.012c.067-.027.135-.054.2-.082l.128-.056.195-.09.021-.01.102-.05c.068-.034.135-.069.202-.105l.037-.02.073-.038c.08-.044.16-.092.24-.139l.026-.015a8.086 8.086 0 00.322-.2l.065-.045 1.98.902a1.748 1.748 0 002.472-1.59v-7.33l.004.004z",zs="M11.617.576a3.904 3.904 0 00-.093-.047c-.016-.009-.033-.016-.05-.024a5.854 5.854 0 00-.166-.077l-.09-.04a4.094 4.094 0 00-.194-.074c-.017-.006-.035-.015-.053-.02l-.013-.005a5.18 5.18 0 00-.277-.088l-.07-.019a4.034 4.034 0 00-.219-.053c-.015-.003-.03-.008-.044-.012L10.253.1l-.057-.011a5.177 5.177 0 00-.225-.036L9.928.047a5.972 5.972 0 00-.191-.022L9.669.02a1.33 1.33 0 00-.058-.005L9.515.009a4.058 4.058 0 00-.111-.005C9.354 0 9.304 0 9.254 0h-.109c-.052 0-.106.004-.16.004L8.884.01A5.32 5.32 0 008.7.022l-.083.006h-.008c-.05.005-.1.013-.15.019l-.12.014c-.056.008-.112.018-.169.028-.037.006-.074.011-.11.018a7.054 7.054 0 00-.572.133l-.63.172c-.111.031-.22.064-.33.1-.037.011-.072.025-.108.037a12.91 12.91 0 00-.345.126c-.067.027-.133.054-.2.083l-.128.055a11.916 11.916 0 00-.318.15 7.376 7.376 0 00-.311.163c-.082.045-.16.092-.24.14a9.424 9.424 0 00-.35.218l-.016.01-.06.04a9.242 9.242 0 00-.51.37 12.54 12.54 0 00-.315.254l-.043.034-.01.007-.045.041c-.09.078-.18.158-.268.24l-.106.101c-.07.067-.139.135-.207.204l-.056.054-.063.067-.153.164-.12.133-.148.17c-.024.03-.049.057-.073.086l-.043.053a5.96 5.96 0 00-.123.155l-.118.151c-.04.053-.08.106-.118.16l-.075.101-.038.056-.107.155-.11.164a9.91 9.91 0 00-.168.265c-.012.02-.023.043-.037.063a12.43 12.43 0 00-.192.335l-.09.168c-.019.034-.04.07-.057.105-.011.022-.02.043-.032.065l-.092.188-.08.167a19.15 19.15 0 00-.083.192c-.017.038-.035.076-.05.115-.008.016-.014.034-.021.051-.035.083-.067.167-.1.253l-.051.134c-.04.11-.077.22-.113.33l-.02.057c0 .002 0 .005-.002.007l-.008.026c-.032.1-.06.2-.09.301l-.023.089c-.027.1-.052.2-.075.301l-.007.03a7.63 7.63 0 00-.057.267l-.008.048c-.015.074-.026.148-.038.223L.082 8.4c-.011.078-.02.156-.029.234-.006.051-.013.103-.017.154a6.57 6.57 0 00-.02.26c-.003.044-.007.086-.009.13-.004.128-.007.257-.007.386v4.056c0 1.478.42 2.741 1.138 3.692A4.75 4.75 0 002.73 18.67l9.015 4.753c-1.656-.874-2.728-2.685-2.73-5.051v-4.056c0-.13.004-.26.01-.39.002-.043.006-.085.01-.128.005-.088.01-.174.019-.261l.017-.155c.01-.077.018-.155.029-.234l.026-.164c.013-.074.025-.15.039-.223.02-.105.04-.21.064-.313l.008-.031c.023-.1.048-.201.075-.301l.023-.088c.028-.1.058-.202.09-.302l.008-.025.021-.063c.036-.11.073-.22.113-.33l.052-.134c.031-.085.065-.169.1-.253.022-.056.047-.111.07-.166a13.856 13.856 0 01.164-.358c.03-.063.06-.126.092-.188l.088-.172a9.22 9.22 0 01.187-.338l.096-.164c.034-.057.069-.112.104-.168l.1-.159a10.49 10.49 0 01.567-.786l.123-.155.116-.139c.05-.057.098-.115.148-.171a14.092 14.092 0 01.272-.297 9.706 9.706 0 01.432-.425c.088-.083.177-.163.268-.241l.054-.048a10.08 10.08 0 01.553-.435l.092-.068c.075-.053.15-.105.226-.156.019-.013.038-.028.06-.04a9.18 9.18 0 01.362-.227c.08-.047.16-.094.241-.139l.11-.058a7.643 7.643 0 01.521-.256l.126-.056a7.509 7.509 0 01.546-.208l.107-.037c.11-.036.22-.069.33-.1l.63-.172c.095-.026.191-.05.287-.072l.097-.02c.062-.014.125-.029.187-.04l.114-.018c.055-.01.11-.02.166-.028.04-.006.08-.01.12-.014.053-.007.105-.014.157-.019l.083-.006c.061-.005.123-.01.184-.013.034-.003.067-.003.101-.004l.16-.006h.11a3.187 3.187 0 01.261.008l.153.01.067.007c.064.006.128.013.192.022l.043.005a5.232 5.232 0 01.281.047l.141.03c.073.016.146.035.218.053l.07.019c.094.026.187.055.278.087l.067.025a4.326 4.326 0 01.449.19l.143.072L11.617.576z",Is="M6.13671 5.82399V4.30398C6.13671 4.17596 6.18431 4.07991 6.29527 4.01598L9.32406 2.256C9.73637 2.01602 10.228 1.90406 10.7353 1.90406C12.6382 1.90406 13.8434 3.3921 13.8434 4.97604C13.8434 5.088 13.8434 5.21602 13.8274 5.34404L10.6877 3.488C10.4975 3.37605 10.3071 3.37605 10.1168 3.488L6.13671 5.82399ZM13.209 11.7441V8.11195C13.209 7.88789 13.1138 7.72791 12.9236 7.61594L8.94344 5.27995L10.2437 4.5279C10.3547 4.46397 10.4499 4.46397 10.5609 4.5279L13.5896 6.28789C14.4619 6.79996 15.0484 7.88789 15.0484 8.94385C15.0484 10.1598 14.335 11.28 13.209 11.7441ZM5.20114 8.54404L3.90086 7.77608C3.78989 7.71215 3.7423 7.6161 3.7423 7.48808V3.96811C3.7423 2.25615 5.04259 0.960061 6.80278 0.960061C7.46883 0.960061 8.08714 1.18413 8.61056 1.58409L5.48672 3.40816C5.29649 3.52012 5.20129 3.68011 5.20129 3.90418L5.20114 8.54404ZM7.99999 10.176L6.13671 9.12005V6.8801L7.99999 5.82414L9.8631 6.8801V9.12005L7.99999 10.176ZM9.19719 15.0401C8.53113 15.0401 7.91282 14.816 7.3894 14.4161L10.5132 12.5919C10.7034 12.48 10.7987 12.3201 10.7987 12.096V7.45596L12.1149 8.22392C12.2258 8.28785 12.2734 8.3839 12.2734 8.51192V12.0319C12.2734 13.7438 10.9572 15.0401 9.19719 15.0401ZM5.43898 11.4721L2.41018 9.71211C1.53796 9.20003 0.95134 8.11211 0.95134 7.05615C0.95134 5.82414 1.68077 4.72016 2.80657 4.25611V7.9041C2.80657 8.12817 2.90177 8.28815 3.092 8.40012L7.05637 10.72L5.75609 11.4721C5.64513 11.5361 5.54993 11.5361 5.43898 11.4721ZM5.26465 14.0961C3.47278 14.0961 2.15658 12.736 2.15658 11.056C2.15658 10.928 2.17249 10.8 2.18826 10.672L5.3121 12.4961C5.50234 12.608 5.69273 12.608 5.88297 12.4961L9.8631 10.1762V11.6962C9.8631 11.8242 9.8155 11.9202 9.70454 11.9841L6.67574 13.7441C6.26344 13.9841 5.77199 14.0961 5.26465 14.0961ZM9.19719 16C11.1159 16 12.7174 14.624 13.0823 12.8C14.8582 12.3359 16 10.6559 16 8.944C16 7.82396 15.5243 6.73603 14.668 5.95201C14.7473 5.61598 14.7949 5.27995 14.7949 4.94407C14.7949 2.65612 12.9554 0.944002 10.8305 0.944002C10.4025 0.944002 9.99013 1.00794 9.57782 1.15201C8.86416 0.447988 7.88099 0 6.80278 0C4.88403 0 3.28254 1.37593 2.91768 3.19999C1.14173 3.66404 0 5.34404 0 7.056C0 8.17604 0.475669 9.26397 1.33197 10.048C1.25269 10.384 1.20509 10.72 1.20509 11.0559C1.20509 13.3438 3.04456 15.0559 5.16946 15.0559C5.59753 15.0559 6.00984 14.9921 6.42215 14.848C7.13565 15.552 8.11882 16 9.19719 16Z",Ds="M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z",js="M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z",Ps="M24 20.541H3.428v-3.426H0V3.4h24V20.54zM3.428 17.115h17.144V6.827H3.428v10.288zm8.573-5.196l-2.425 2.424-2.424-2.424 2.424-2.424 2.425 2.424zm6.857-.001l-2.424 2.423-2.425-2.423 2.425-2.425 2.424 2.425z",Us="M20.113 5.5l-.442 1.557a.157.157 0 01-.196.106l-7.414-2.157a.16.16 0 00-.143.028l-7.342 5.74a.159.159 0 01-.074.032l-4.37.656a.154.154 0 00-.132.162l.02.245c.005.078.071.14.152.141l5.074.128.058.002 3.75-1.953a.16.16 0 01.164.01l2.657 1.847a.152.152 0 01.066.125l-.023 2.45c0 .032.01.063.028.089l3.737 5.227c.03.04.077.065.129.065h1.182a.153.153 0 00.14-.224l-2.664-4.919a.15.15 0 01.005-.152l1.389-2.169a.156.156 0 01.062-.055l4.965-2.456a.16.16 0 01.158.01l1.418.921a.16.16 0 00.087.026h1.289c.125 0 .2-.136.13-.237l-3.578-5.29c-.074-.109-.246-.082-.282.044z",Bs="M18.777 1.647c.28-.02.536.114.972.51 1.018.926 2.437 2.828 3.318 4.452l.34.631.482.24.11.06v3.638a5.206 5.206 0 00-5.32-1.23c-.491.166-1.021.471-2.08 1.082l-6.09 3.516c-1.057.61-1.586.916-1.975 1.259a5.208 5.208 0 00-1.493 5.572c.165.49.471 1.02 1.082 2.08l.315.543h-3.26c-.685 0-1.34-.135-1.939-.377-.169-.956-.009-1.789.469-2.335.158-.18.164-.189.13-.493a11.846 11.846 0 01-.057-1.711l.02-.444-.667-1.18C2.1 15.622 1.445 14.078 1.192 12.9c-.133-.647-.125-.934.04-1.146.1-.128.427-.261.822-.334.994-.175 3.162-.017 5.575.41l.25.043.551-.487c.915-.81 1.522-1.264 2.641-1.962 1.167-.73 2.484-1.331 3.967-1.807l.476-.152.261-.688c.937-2.471 1.896-4.293 2.58-4.9.235-.21.25-.22.422-.23z",Fs="M12.139 18.2a1.203 1.203 0 011.642.44l1.296 2.243a1.204 1.204 0 01-2.083 1.203l-1.296-2.243a1.203 1.203 0 01.44-1.644zM18.629 14.452a1.203 1.203 0 011.642.44l1.295 2.244a1.203 1.203 0 11-2.083 1.203l-1.295-2.243a1.203 1.203 0 01.44-1.644z",Os="M16.877 1.912c.58-.27 1.14-.323 1.616-.037a.317.317 0 01-.326.542c-.227-.136-.547-.153-1.022.068-.352.165-.765.45-1.234.866 2.683 1.17 4.4 3.5 5.148 5.921a6.421 6.421 0 00-.704.184c-.578.016-1.174.204-1.502.735-.338.55-.268 1.276.072 2.069l.005.012.007.014c.523 1.045 1.318 1.91 2.2 2.284-.912 3.274-3.44 6.144-5.972 6.988v2.109h-2.11v-2.11c-1.043.417-2.086.01-2.11 0v2.11h-2.11v-2.11c-2.531-.843-5.061-3.713-5.973-6.987.882-.373 1.678-1.238 2.2-2.284l.007-.014.006-.012c.34-.793.41-1.518.071-2.069-.327-.531-.923-.719-1.503-.735a6.409 6.409 0 00-.704-.183c.749-2.421 2.466-4.751 5.149-5.922-.47-.416-.88-.701-1.234-.866-.474-.221-.794-.204-1.021-.068a.318.318 0 01-.435-.109.317.317 0 01.109-.433c.476-.286 1.036-.233 1.615.037.49.229 1.031.628 1.621 1.182A9.924 9.924 0 0112 2.568c1.199 0 2.284.19 3.256.526.59-.554 1.13-.953 1.62-1.182zM8.835 6.577a1.266 1.266 0 100 2.532 1.266 1.266 0 000-2.532zm6.33 0a1.267 1.267 0 100 2.533 1.267 1.267 0 000-2.533z",Vs="M.395 13.118c-.966-1.932-.163-3.863 2.41-3.365v-.001l.05.01c.084.018.17.038.26.06.033.009.067.017.1.027.084.022.168.048.255.076l.09.027c.528 0 .95.158 1.16.501.212.343.212.87-.105 1.61-.085.17-.178.333-.276.489l-.01.017a4.967 4.967 0 01-.62.791l-.019.02c-1.092 1.117-2.496 1.336-3.295-.262z",Ws="M21.193 9.753c2.574-.5 3.378 1.433 2.411 3.365-.58 1.159-1.476 1.361-2.342.96l-.011-.005a2.419 2.419 0 01-.114-.056l-.019-.01a2.751 2.751 0 01-.115-.067l-.023-.014c-.035-.022-.071-.044-.106-.068l-.05-.035c-.55-.388-1.062-1.007-1.44-1.76-.276-.647-.311-1.132-.174-1.472.176-.439.636-.639 1.23-.639.032-.011.066-.02.099-.03.08-.026.16-.05.238-.072l.117-.03a5.502 5.502 0 01.3-.067z";function Ks(a){var e=String(a||"").toLowerCase();return e.includes("dsh")?o("img",{src:Es,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("workbuddy")?o("img",{src:Ms,width:16,height:16,alt:"WorkBuddy",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("ccswitch")||e.includes("cc-switch")?o("img",{src:Ts,width:16,height:16,alt:"CC Switch",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("qoder")||e.includes("lingma")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#2ADB5C",d:Hs}),o("path",{fill:"#ffffff",d:zs})):e.includes("codex")?o("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:Is})):e.includes("cursor")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",fillRule:"evenodd",d:Ds})):e.includes("claude")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#D97757",fillRule:"evenodd",clipRule:"evenodd",d:"M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z"})):e.includes("gemini")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#3b82f6",d:"M12 2C12 7.5 7.5 12 2 12c5.5 0 10 4.5 10 10 0-5.5 4.5-10 10-10-5.5 0-10-4.5-10-10z"})):e.includes("opencode")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:"M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})):e.includes("copilot")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:"M12 2a8 8 0 0 0-8 8v4a4 4 0 0 0 4 4h1v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2h1a4 4 0 0 0 4-4v-4a8 8 0 0 0-8-8zm-3 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm6 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"})):e.includes("windsurf")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#00d084",fillRule:"evenodd",clipRule:"evenodd",d:js})):e.includes("trae")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#32F08C",d:Ps})):e.includes("openclaw")||e.includes("clawdbot")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#FF4D4D",fillRule:"evenodd",d:Os}),o("path",{fill:"#FF4D4D",d:Vs}),o("path",{fill:"#FF4D4D",d:Ws})):e.includes("roo")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#eab308",fillRule:"evenodd",d:Us})):e.includes("codebuddy")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("rect",{width:24,height:24,rx:5,fill:"#2EA99D"}),o("path",{fill:"#ffffff",d:Bs}),o("path",{fill:"#ffffff",d:Fs})):o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#10b981",d:"M12 2a2 2 0 0 1 2 2c0 .74-.4 1.39-1 1.73V7h2a5 5 0 0 1 5 5v1a3 3 0 0 1 1 2.23V17a3 3 0 0 1-3 3h-1.1A6 6 0 0 1 12 22a6 6 0 0 1-4.9-2H6a3 3 0 0 1-3-3v-1.77A3 3 0 0 1 4 13v-1a5 5 0 0 1 5-5h2V5.73A2 2 0 0 1 10 4a2 2 0 0 1 2-2zm-3 10a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm6 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-6 5a4 4 0 0 0 6 0H9z"}))}function qs(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{fill:"currentColor",d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))}function zr(a,e,l){a&&e===l&&a.focus()}function Je(a){var e=z.useRef(null),l=z.useRef(a.onClose);l.current=a.onClose;function d(){var p=e.current;if(p){var f=p.querySelector("input, textarea");if(f instanceof HTMLElement){f.focus();return}p.tabIndex=-1,p.focus()}}return z.useLayoutEffect(function(){if(!(typeof document>"u")){var p=e.current;p&&zr(p,document.activeElement,document.body)}}),z.useEffect(function(){if(typeof document>"u")return;function p(f){f.key==="Escape"&&(f.preventDefault(),f.stopImmediatePropagation(),l.current())}return document.addEventListener("keydown",p,!0),function(){document.removeEventListener("keydown",p,!0)}},[]),o(Ie.Modal,{open:!0,title:a.title,description:a.description,footer:a.footer,onClose:a.onClose,closeLabel:a.closeLabel||"Close",className:a.className,width:a.wide?720:a.className==="dssm-modal-import"?480:560},a.children?o("div",{ref:e},a.children):void 0)}function Ir(a){if(a){for(var e=a.byId||{},l=Array.isArray(a.ids)&&a.ids.length?a.ids:Object.keys(e),d=0;d<l.length;d++){var p=e[l[d]];if(p&&p.retainedBy&&p.retainedBy.mainView)return l[d]}for(var f in e)if(l.indexOf(f)===-1&&e[f]&&e[f].retainedBy&&e[f].retainedBy.mainView)return f}}function Qs(a){var e=a.useSessions?a.useSessions(Ir):void 0,l=z.useState("user"),d=z.useState({}),p=z.useState({});return o(Zs,Object.assign({},a,{key:e||"no-session",sessionId:e,scope:l[0],setScope:l[1],savedFilters:d[0],setSavedFilters:d[1],expanded:p[0],setExpanded:p[1]}))}function Zs(a){var e=a.t;function l(r,i){var v=Object.fromEntries(new Headers(i?.headers).entries());return a.sessionId&&(v["x-dsh-skills-session"]=a.sessionId),wa(r,Object.assign({},i,{headers:v}))}var d=z.useState({loading:!0,error:null,data:null}),p=d[0],f=d[1],g=z.useState(!1),y=g[0],k=g[1],R=a.scope,s=a.setScope,F=a.expanded,O=a.setExpanded,le=a.savedFilters,nt=a.setSavedFilters,ke=z.useState(null),x=ke[0],L=ke[1],se=z.useState(""),u=se[0],Y=se[1],V=z.useState({}),ye=V[0],ee=V[1],Ge=z.useState(null),b=Ge[0]&&Ge[0].scope===R?Ge[0]:null;function W(r){Ge[1](r?Object.assign({},r,{scope:R}):null)}var he=z.useState({root:"dsh",name:"",description:"",body:""}),Ne=he[0],Xe=he[1],Q=z.useState(""),te=Q[0],De=Q[1],Ut=z.useState(It()),Ve=Ut[0],it=Ut[1],yt=z.useState(It()),je=yt[0],Bt=yt[1],vt=z.useState([]),oe=vt[0],h=vt[1],j=z.useState(""),ae=j[0],lt=j[1],ve=z.useRef(""),ta=z.useRef(0),K=z.useState({loading:!1,error:null}),wt=K[0],ne=K[1],aa=z.useState({}),dt=aa[0],kt=aa[1],xt=z.useState(null),ce=xt[0],xe=xt[1],Ft=z.useState(null),Re=Ft[0],Ot=Ft[1],_e=z.useRef(!1),ue=z.useRef(null),Ct=z.useRef(null),ra=z.useRef(null),We=z.useRef(!1),Vt=z.useRef({}),Pe=z.useRef(0);z.useEffect(function(){return function(){Pe.current++}},[]);function $e(r){return r||f({loading:!0,error:null,data:p.data}),l("/state").then(function(i){return f({loading:!1,error:null,data:i}),i}).catch(function(i){f({loading:!1,error:fe(e,i),data:p.data})})}z.useEffect(function(){$e(!1)},[]);function X(r,i,v,C){return _e.current?Promise.reject({error:"operation already in progress"}):(_e.current=!0,k(!0),W(null),l(r,{method:"POST",headers:$t,body:JSON.stringify(i||{})}).then(function(T){W({ok:!0,text:v?e(v,C||T||{}):e("result.updated")});var M=i&&typeof i.workspace=="string"?i.workspace:"";return Promise.all([$e(!0),M?Le(M):null]).then(function(){return T})}).catch(function(T){throw W({ok:!1,text:e("error.action",{error:fe(e,T)})}),T}).finally(function(){_e.current=!1,k(!1)}))}function Wt(r,i,v){k(!0),Ot(null),L("detail"),l("/detail",{method:"POST",headers:$t,body:JSON.stringify(v?{root:r.key,name:i.name,workspace:v}:{root:r.key,name:i.name})}).then(Ot).catch(function(C){W({ok:!1,text:e("error.action",{error:fe(e,C)})}),L(null)}).finally(function(){k(!1)})}function et(r,i){Xe(Object.assign({},Ne,{[r]:i}))}function sa(){ft(Ve,oe,me)&&X("/create",Object.assign({},Ne,{root:void 0},ha(Ve)),null).then(function(r){L(null),Xe({root:"dsh",name:"",description:"",body:""}),W({ok:!0,text:e("result.created",{name:r.name})+(Ve.scope==="workspace"?" \xB7 "+e("dest.createdInWorkspace"):"")})}).catch(function(){})}function St(r){We.current=!1;var i=Tr(r);if(i){if(i.error){xe(null),W({ok:!1,text:fe(e,i.error)});return}xe(i),W(null)}}function Nt(r){if(y||We.current||!r.current)return;We.current=!0,r.current.value="";function i(){setTimeout(function(){We.current=!1},0)}window.addEventListener("focus",i,{once:!0}),r.current.click(),setTimeout(function(){We.current=!1},3e4)}function oa(){!ce||!ft(je,oe,me)||Cs(ce).then(function(r){return X("/upload",Object.assign({},r,ha(je)),null)}).then(function(r){var i=Rr(e,r);W({ok:i.ok,warning:i.warning,text:i.text}),i.imported&&(L(null),xe(null))}).catch(function(){})}var Ae=p.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},Rt=Ae.roots||[],ct=R==="project"?"project":"user",_=le[ct]||{query:"",source:"",status:""},pe=_.query,tt=_.source;function Ke(r,i){nt(function(v){return Object.assign({},v,{[ct]:Object.assign({},_,{[r]:i})})})}function Na(r){Ke("query",r)}function Kt(r){Ke("source",r)}var ut=dt[ae],qt=R==="trash"?[]:R==="project"?Wa(ut?.roots||[]):Mr(Rt),At=qt.filter(function(r){return(r.skills||[]).length>0}),Ue=R!=="project"&&At.some(function(r){return r.key===tt})?tt:"";function Ce(r){return r.registeredPaths[0]||""}function na(r){oe.some(function(i){return i.available&&Ce(i)===r})&&(ve.current=r,lt(r),dt[r]||Le(r))}function at(r=R==="project",i=!1){var v=Pe.current,C=++ta.current,T=function(){return v===Pe.current&&C===ta.current};return ne({loading:!0,error:null}),wa("/workspaces").then(function(M){if(!T())return[];var q=M.items||[];h(q),ne({loading:!1,error:null});var $=q.find(function(P){return P.available&&Ce(P)===ve.current})||q.find(function(P){return P.available&&Ce(P)}),B=$?Ce($):"";return ve.current=B,lt(B),r&&B&&(i||!dt[B])&&Le(B),q}).catch(function(M){return T()?(h([]),ve.current="",lt(""),ne({loading:!1,error:fe(e,M)}),[]):[]})}function Le(r){var i=Pe.current,v=(Vt.current[r]||0)+1;Vt.current[r]=v;var C=function(){return i===Pe.current&&v===Vt.current[r]};return kt(function(T){return Object.assign({},T,{[r]:{loading:!0,error:null,roots:T[r]?T[r].roots:[]}})}),wa("/workspace-skills",{method:"POST",headers:$t,body:JSON.stringify({workspace:r})}).then(function(T){C()&&kt(function(M){return Object.assign({},M,{[r]:{loading:!1,error:null,roots:T.roots||[]}})})}).catch(function(T){C()&&kt(function(M){return Object.assign({},M,{[r]:{loading:!1,error:fe(e,T),roots:[]}})})})}function Be(){return Pe.current++,kt({}),at(!0,!0)}function Fe(){Xe(Object.assign({},Ne,{root:"dsh"})),it(It()),L("create"),at()}function Lt(){W(null),xe(null),Bt(It()),L("import"),at()}var me=(Ae.writeDestinations||[]).filter(function(r){return r.key==="dsh"||r.key==="agents"});function ia(r){var i=r.root&&r.root.scope==="project"?r.root.projectRoot:"",v=i?oe.find(function(C){return C.projectRoot===i&&C.available}):void 0;return v?{id:r.id,workspace:v.registeredPaths[0]||v.path}:{id:r.id}}function qe(r){return r.root&&r.root.scope==="project"?e("root.projectDsh")+" \xB7 "+(r.root.projectName||r.root.projectRoot):Oa(e,"root."+(r.root?.localeKey||r.root?.key||"dsh"),r.root?.label||e("root.dsh"))}function Qt(r){return o("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},Ks(r))}var Ee=[{value:"",label:e("filter.all")}].concat(At.map(function(r){return{value:r.key,label:e("filter.option",{name:bt(e,r),count:r.skills.length})}}));function I(r){if(!r.fallbackTo)return null;var i=Rt.find(function(v){return v.key===r.fallbackTo.root});return i?o("div",{className:"dssm-note dssm-fallback"},e("status.fallback."+r.fallbackTo.scope,{source:bt(e,i)})):null}function rt(r,i,v){var C=r==="status.enabled",T=r==="status.disabled",M=r==="status.invalid",q=C?"var(--dsw-alias-state-success-primary, #51b976)":T?"var(--dsw-alias-state-warn-primary, #d49245)":M?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",$=C?"M8 0a8 8 0 100 16A8 8 0 008 0zm3.28 6.72l-4 4a.75.75 0 01-1.06 0l-2-2a.75.75 0 111.06-1.06L7 9.44l3.47-3.47a.75.75 0 011.06 1.06z":T?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":M?"M8.982 1.566a1.13 1.13 0 00-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 01-1.1 0L7.1 5.995A.905.905 0 018 5zm.002 6a1 1 0 110 2 1 1 0 010-2z":"M8.28 1.34a.75.75 0 00-.56 0l-6.5 2.5a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-6.5-2.5zm5.97 6.41L8 10.15 1.75 7.75l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.2zM14.25 11.5L8 13.9 1.75 11.5l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.19z",B=i||e(r);return o("span",{className:"dssm-status "+(v||""),title:B,"aria-label":B,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:q,width:20,height:20,verticalAlign:"middle"}},o("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},o("path",{d:$})))}function la(r,i,v){var C=function(N){return v?Object.assign({},N,{workspace:v}):N},T=Ca(i),M=r.toggleable!==!1,q=i.shadowedBy?"status.shadowed":i.loadable===!1?"status.invalid":T?"status.enabled":"status.disabled",$=i.shadowedBy?"dssm-shadowed":T?"dssm-enabled":"dssm-disabled",B=!M||!!i.shadowedBy||i.loadable===!1,P=[{value:"detail",label:e("btn.detail")}],J=r.categories||[],Oe=i.categoryId||"";J.forEach(function(N){N.id!==Oe&&P.push({value:"category:"+N.id,label:e("category.assign",{name:N.name})})}),J.length&&Oe!==""&&P.push({value:"category:",label:e("category.assign",{name:e("category.uncategorized")})}),i.installSource&&P.push({value:"update",label:e("repo.manageUpdate")}),r.mutable&&P.push({value:"trash",label:e("btn.trash"),danger:!0});var S=i.shadowedBy?e("status.shadowedBy",{source:function(){var N=Rt.find(function(G){return G.key===i.shadowedBy.root});return N?bt(e,N):i.shadowedBy.root}()}):void 0,U=[o(Pt,{action:!0,icon:Ls(),label:e("btn.more"),disabled:y,options:P,onChange:function(N){if(N==="detail"&&Wt(r,i,v),N.indexOf("category:")===0){var G=N.slice(9),gt=J.find(function(La){return La.id===G});X("/category-assign",C({root:r.key,name:i.name,category:G}),"category.assigned",{name:i.name,category:gt?gt.name:e("category.uncategorized")})}N==="update"&&(ge.focusSource(i.installSource,i.name),s("repositories")),N==="trash"&&L({type:"trash-confirm",root:r.key,name:i.name,workspace:v})}})];U.push(o("div",{className:"dssm-row-state"},B?rt(q,S,$):null,M?Fa(T,e("skill.toggle")+" "+i.name,y||r.enabled===!1||i.loadable===!1,function(){X(T?"/disable":"/enable",C({root:r.key,name:i.name}))}):null));var Se=i.declaredName||i.name,re=i.description||e("note.missing"),ie=r.mutable===!0||!!(r.categories&&r.categories.length);return o("div",{key:r.key+":"+i.name,className:"dssm-skill-row",draggable:ie,onDragStart:function(N){if(ie){var G={root:r.key,name:i.name,currentCategoryId:i.categoryId||""};ue.current=G,N.dataTransfer.setData("text/plain",JSON.stringify(G)),N.dataTransfer.effectAllowed="move",N.currentTarget.classList.add("dragging")}},onDragEnd:function(N){ue.current=null,N.currentTarget.classList.remove("dragging"),Qe(N.currentTarget)},onDragOver:function(N){if(!(!ue.current||ue.current.root!==r.key||ue.current.name===i.name)){N.preventDefault(),N.stopPropagation();var G=N.currentTarget.getBoundingClientRect();N.currentTarget.classList.toggle("drop-before",N.clientY<G.top+G.height/2),N.currentTarget.classList.toggle("drop-after",N.clientY>=G.top+G.height/2)}},onDragLeave:function(N){N.currentTarget.classList.remove("drop-before","drop-after")},onDrop:function(N){N.preventDefault(),N.stopPropagation(),N.currentTarget.classList.remove("drop-before","drop-after");var G=ue.current;if(ue.current=null,Qe(N.currentTarget),!(!G||G.root!==r.key||G.name===i.name)){var gt=N.currentTarget.getBoundingClientRect();X("/category-move",C({root:r.key,name:G.name,category:i.categoryId||"",targetName:i.name,position:N.clientY<gt.top+gt.height/2?"before":"after"}),"category.moved",{name:G.name})}}},ie?o("div",{className:"dssm-drag-handle",title:e("category.dragTip")},"\u22EE\u22EE"):null,o("div",{className:"dssm-skill-copy"},o("div",{className:"dssm-name"},Se),o("div",{className:"dssm-skill-desc",title:i.description||void 0},re),I(i)),o("div",{className:"dssm-skill-actions"},U))}var Zt=qt.flatMap(function(r){return(r.skills||[]).map(function(i){return{root:r,skill:i}})}),Me=Zt.filter(function(r){return(!Ue||r.root.key===Ue)&&(!_.status||Ka(r.skill)===_.status)&&Va(Object.assign({},r.skill,{rootLabel:bt(e,r.root)}),pe)}),pt=Lr(Zt);function da(r,i,v){var C=i?{root:r.key,workspace:i}:{root:r.key},T=[];return T.push(jt(e("category.create"),Ye("M8 2.5v11M2.5 8h11"),function(){De(""),L({type:"category-create",root:r.key,workspace:i})},!1,y)),Er(r)&&T.push(o(As,{on:r.enabled,disabled:y,label:e("source.toggle")+" "+v,onClick:function(){X(r.enabled?"/source-disable":"/source-enable",C)}})),o("span",{className:"dssm-source-actions",onClick:function(M){M.stopPropagation()}},T)}function Ra(){return o("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},o("path",{fill:"#f59e0b",d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z"}))}function ca(){return o("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},o("path",{fill:"#fde68a",opacity:.85,d:"M159 768h612.3l103.4-256H262.3z"}),o("path",{fill:"#f59e0b",d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}))}function Qe(r){var i=r.closest(".dssm-section");i&&Array.prototype.forEach.call(i.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(v){v.classList.remove("drag-over","drop-before","drop-after")})}function ua(r,i,v,C,T){var M=JSON.stringify(["category",C||"",r.key,i.id||"none"]),q=F[M]===void 0?!!(pe||_.status):F[M],$=i.scope||i.skills,B=$.filter(function(S){return S.skill.loadable!==!1}),P=B.filter(function(S){return Ca(S.skill)}).length,J=B.length>0&&P===B.length,Oe=function(S){return v?Object.assign({},S,{workspace:v}):S};return o("section",{key:r.key+":"+(i.id||"none"),className:"dssm-cat","aria-label":i.name,onDragOver:function(S){S.preventDefault(),ue.current&&ue.current.root===r.key&&ue.current.currentCategoryId!==i.id?S.currentTarget.classList.add("drag-over"):S.currentTarget.classList.remove("drag-over")},onDragLeave:function(S){var U=S.relatedTarget;U&&S.currentTarget.contains(U)||S.currentTarget.classList.remove("drag-over")},onDrop:function(S){S.preventDefault(),ue.current=null,S.currentTarget.classList.remove("drag-over"),Qe(S.currentTarget);try{var U=JSON.parse(S.dataTransfer.getData("text/plain")||"{}");U&&U.name&&U.root===r.key&&U.currentCategoryId!==i.id&&X("/category-assign",Oe({root:r.key,name:U.name,category:i.id}),"category.assigned",{name:U.name,category:i.name})}catch{}}},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":q,onClick:function(){O(function(S){var U={};return U[M]=!q,Object.assign({},S,U)})}},o("span",{className:"dssm-cat-title"},o(q?ca:Ra),i.name),o("span",{className:"dssm-count"},e("category.progress",{count:$.length,enabled:P,usable:B.length}))),o("span",{className:"dssm-source-actions",onClick:function(S){S.stopPropagation()}},i.locked?null:jt(e("category.addSkills"),Ye("M8 2.5v11M2.5 8h11"),function(){var S={};(r.categories||[]).forEach(function(re){S[re.id]=re.name});var U=T||i.scope||i.skills,Se=U.filter(function(re){return re.skill.categoryId!==i.id}).map(function(re){return{name:re.skill.name,declaredName:re.skill.declaredName,description:re.skill.description,currentCatName:re.skill.categoryId&&S[re.skill.categoryId]||e("category.uncategorized")}});ee({}),Y(""),L({type:"category-add",root:r.key,id:i.id,name:i.name,workspace:v,skills:Se})},!1,y),i.locked?null:jt(e("category.rename"),Ye("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){De(i.name),L({type:"category-rename",root:r.key,id:i.id,name:i.name,workspace:v})},!1,y),i.locked?null:jt(e("category.delete"),Ye("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){L({type:"category-delete",root:r.key,id:i.id,name:i.name,workspace:v})},!0,y),Fa(J,e("category.toggle")+" "+i.name,y||r.enabled===!1||B.length===0,function(){X(J?"/category-disable":"/category-enable",Oe({root:r.key,category:i.id}))}))),q?i.skills.length?o("div",{className:"dssm-skill-list"},i.skills.map(function(S){return la(r,S.skill,v)})):o("div",{className:"dssm-empty"},e("category.empty")):null)}function pa(r,i,v,C,T){var M=r.categories||[],q=function(S,U){var Se=r.categoryOrder&&r.categoryOrder[U]||[],re=Object.create(null);return Se.forEach(function(ie,N){re[ie]=N}),S.map(function(ie,N){return{row:ie,index:N,rank:re[ie.skill.name]}}).sort(function(ie,N){return ie.rank!==void 0&&N.rank!==void 0?ie.rank-N.rank:ie.rank!==void 0?-1:N.rank!==void 0?1:ie.index-N.index}).map(function(ie){return ie.row})};if(!M.length)return i.length?o("div",{className:"dssm-skill-list"},q(i,"").map(function(S){return la(r,S.skill,v)})):o("div",{className:"dssm-empty"},e("empty.source"));var $={},B=T||i;M.forEach(function(S){$[S.id]=!0});var P=function(S,U){return q(S.filter(function(Se){return U?Se.skill.categoryId===U:!Se.skill.categoryId||!$[Se.skill.categoryId]}),U)},J=M.map(function(S){return{id:S.id,name:S.name,locked:!1,skills:P(i,S.id),scope:P(B,S.id)}});J.push({id:"",name:e("category.uncategorized"),locked:!0,skills:P(i,""),scope:P(B,"")});var Oe=!!(pe||_.status);return o("div",null,o("p",{className:"dssm-note dssm-cat-note"},e("category.note")),J.filter(function(S){return!Oe||S.skills.length}).map(function(S){return ua(r,S,v,C,B)}))}function Aa(r,i,v,C){var T=(v||Zt).filter(function(P){return P.root.key===r.key}),M=(v||Me).filter(function(P){return P.root.key===r.key});if(Ue&&r.key!==Ue||(pe||_.status)&&!M.length)return null;var q=JSON.stringify([ct,C||"",r.key,pe,Ue,_.status]),$=F[q]===void 0?i?!0:!!(pe||Ue||_.status):F[q],B=i?bt(e,Object.assign({},r,{projectName:void 0})):bt(e,r);return o("section",{key:(C||"")+r.key,className:"dssm-source","data-source-key":r.key},o("div",{className:"dssm-source-head"},o("button",{type:"button",className:"dssm-source-toggle","aria-expanded":$,onClick:function(){O(function(P){var J={};return J[q]=!$,Object.assign({},P,J)})}},fr(o,$),o("div",{className:"dssm-source-label"},Qt(r.key),o("span",{className:"dssm-source-title"},B),o("span",{className:"dssm-count"},e(ka("summary.group",M.length),{count:M.length})),o("span",{className:"dssm-source-path",title:r.path},r.path))),da(r,i,B)),$?o("div",{className:"dssm-source-body",role:"region"},pa(r,M,i,C,T)):null)}function Yt(){var r=R==="project",i=r?ae:void 0,v=qt.map(function(T){return Aa(T,i,void 0,i?i+"|":void 0)}).filter(Boolean),C=v.length?v:o("div",{className:"dssm-empty"},pe||_.status?e("empty.search"):e("empty.source"));return r&&(wt.error?C=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.listFailed",{error:wt.error})):wt.loading||ae&&(!ut||ut.loading)?C=o("div",{className:"dssm-empty"},e("workspace.loading")):ae?ut?.error?C=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.loadFailed",{error:ut.error})):!Zt.length&&!pe&&!_.status&&(C=o("div",{className:"dssm-empty"},e("workspace.noSkills"))):C=o("div",{className:"dssm-empty"},e(oe.length?"workspace.unavailable":"project.empty"))),o("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+R,className:"dssm-sources"},C)}function ma(){return o("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},Ae.trash.length?Ae.trash.map(function(r){return o("div",{key:r.id,className:"dssm-trash-item",role:"group","aria-label":r.name},o("div",{className:"dssm-trash-main"},o("div",{className:"dssm-name"},r.name),o("div",{className:"dssm-trash-meta"},o("time",{dateTime:r.deletedAt},e("trash.deletedAt",{time:Nr(e,r.deletedAt)})),o("span",{className:"dssm-trash-source"},e("trash.source",{source:qe(r)})))),o("div",{className:"dssm-trash-actions"},jt(e("btn.restore"),Ye("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){X("/trash-restore",ia(r),"result.restored",{name:r.name}).catch(function(){})},!1,y),jt(e("btn.delete.forever"),Ye("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){L({type:"delete-confirm",id:r.id,name:r.name})},!0,y)))}):o("div",{className:"dssm-empty"},e("trash.empty")))}var ge=vs({active:R==="repositories",t:e,onInstalled:function(){return Promise.all([$e(!1),Be()])}});function Te(r){var i=r==="user"?"M8 0a8 8 0 100 16A8 8 0 008 0zm6.5 8a6.5 6.5 0 01-.65 2.82L10.3 8.35a.75.75 0 00-1.06 0L8.2 9.4V6.5a.75.75 0 00-.75-.75h-1V4.25a.75.75 0 00-.75-.75h-1a6.47 6.47 0 013.3-1.95v1.2a.75.75 0 00.75.75h1.5a.75.75 0 00.75-.75V2.3A6.52 6.52 0 0114.5 8z":r==="project"?"M1.75 2.5h3.44l1.5 1.5h7.56c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 01-1.75 1.75H1.75A1.75 1.75 0 010 13.25V4.25C0 3.284.784 2.5 1.75 2.5z":r==="repositories"?"M8 0a8 8 0 100 16A8 8 0 008 0zm2.93 5.07l-1.5 4.5a.75.75 0 01-.43.43l-4.5 1.5a.375.375 0 01-.47-.47l1.5-4.5a.75.75 0 01.43-.43l4.5-1.5a.375.375 0 01.47.47z":"M5.5 1.25h5c.4 0 .75.35.75.7V3h2.5c.5 0 .9.4.9.9s-.4.9-.9.9h-.35l-.65 8.1a1.6 1.6 0 0 1-1.6 1.5H4.85a1.6 1.6 0 0 1-1.6-1.5L2.6 4.8H2.25c-.5 0-.9-.4-.9-.9s.4-.9.9-.9H4.75V1.95c0-.4.35-.7.75-.7z";return o("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor",style:{marginRight:6,display:"inline-block",verticalAlign:"-2px"},"aria-hidden":!0},o("path",{d:i}))}var Et=["user","project","repositories","trash"].map(function(r){var i=e("scope."+r),v=r==="trash"?(Ae.trash||[]).length:0,C=Te(r);return{value:r,id:"dssm-tab-"+r,panelId:"dssm-scope-panel",label:v>0?[C,i,o("span",{className:"dssm-trash-count"},v)]:[C,i]}}),mt=o(Ie.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:e("scope.label"),value:R,onChange:function(r){s(r),(r==="project"||r==="trash")&&at(r==="project"),r==="trash"&&$e(!0)},items:Et}),ga=[R==="project"?null:o("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(r){return o("div",{key:r[1],className:"dssm-stat"},o("strong",null,pt[r[0]]),e(ka(r[1],pt[r[0]]),{count:pt[r[0]]}).replace(String(pt[r[0]]),""))})),o("div",{key:"filters",className:"dssm-filters"},R==="project"?null:o("div",{className:"dssm-source-filter"},o(Pt,{value:Ue,label:e("filter.source"),options:Ee,onChange:Kt})),o("div",{className:"dssm-status-filter"},o(Pt,{value:_.status,label:e("filter.status"),options:[{value:"",label:e("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(r){return{value:r,label:e("status."+r)}})),onChange:function(r){Ke("status",r)}})),R==="project"?o("div",{className:"dssm-project-filter"},o(Pt,{value:ae,label:e("filter.workspace"),disabled:wt.loading||!oe.length,options:oe.map(function(r){return{value:Ce(r),label:r.name+(r.available?"":" \xB7 "+e("workspace.unavailable"))+(oe.filter(function(i){return i.name===r.name}).length>1?" \xB7 "+Ce(r):""),disabled:!r.available||!Ce(r)}}),onChange:na})):null,o(ot,{className:"dssm-search",allowClear:!0,value:pe,"aria-label":e("search"),placeholder:e("search.placeholder"),onChange:function(r){Na(r.target.value)}}),R!=="trash"?o("div",{className:"dssm-filter-actions"},Ba(e("btn.refresh"),Ye("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),function(){$e(!1),R==="project"&&Be()},y||p.loading),Ba(e("btn.create"),Ye("M8 2.5v11M2.5 8h11"),Fe,y,e("btn.create")+"\u2026"),Ba(e("import.global"),Ye("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),Lt,y)):null)],we=[o("style",{key:"css"},ws),o("div",{key:"head",className:"dssm-head"},o("div",{className:"dssm-title-block"},o("div",{className:"dssm-title-row"},o("h2",{className:"dssm-title"},e("title")),o("div",{className:"dssm-feedback-links"},o(Ie.Button,{variant:"outline",size:"sm","aria-label":e("link.project"),icon:o(qs),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},e("link.project")),o(Ie.Button,{variant:"outline",size:"sm","aria-label":e("link.feedback"),icon:o(hs),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},e("link.feedback")))),o("p",{className:"dssm-desc"},e("desc")))),mt].concat(R==="trash"||R==="repositories"?[]:ga,[b&&x!=="import"?o("div",{key:"result",className:"dssm-feedback"+(b.warning?" dssm-warning":b.ok?"":" dssm-error")},b.text):null],(Ae.warnings||[]).map(function(r,i){return o("div",{key:"warning-"+i,className:"dssm-feedback dssm-warning",role:"alert"},fe(e,r))}),[p.error?o("div",{key:"error",className:"dssm-feedback dssm-error"},p.error):null,p.loading&&!p.data?o("div",{key:"loading",className:"dssm-empty"},e("loading")):R==="repositories"?ge.content:R==="trash"?ma():Yt()]);if(x==="create"&&we.push(o(Je,{key:"create",title:e("create.title"),closeLabel:e("btn.close"),onClose:function(){L(null)}},o("div",{className:"dssm-form"},o(br,{t:e,value:Ve,disabled:y,allowAgents:!0,workspaces:oe,userDestinations:me,onChange:function(r){it(Object.assign({},Ve,r))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(r){return o("label",{key:r[0],className:"dssm-field"},o("span",{className:"dssm-label"},e(r[1])),o(ot,{value:Ne[r[0]],placeholder:e(r[2]),onChange:function(i){et(r[0],i.target.value)}}))}),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("create.body")),o(ot.TextArea,{rows:8,value:Ne.body,placeholder:e("create.body.placeholder"),onChange:function(r){et("body",r.target.value)}})),o("p",{className:"dssm-help"},e("create.chat.note"))),o("div",{className:"dssm-modal-actions"},be(e("btn.cancel"),function(){L(null)},"outline"),be(e("btn.create.now"),sa,"primary",y||!Ne.name.trim()||!Ne.description.trim()||!Ne.body.trim()||!ft(Ve,oe,me))))),x==="import"&&we.push(o(Je,{key:"import",className:"dssm-modal-import",title:e("import.title"),closeLabel:e("btn.close"),onClose:function(){We.current=!1,xe(null),W(null),L(null)}},o("input",{ref:Ct,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(r){St(r.target.files),r.target.value=""}}),o("input",{ref:ra,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(r){St(r.target.files),r.target.value=""}}),o("div",{className:"dssm-dropzone",onDragOver:function(r){r.preventDefault(),r.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(r){r.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(r){r.preventDefault(),r.currentTarget.classList.remove("dssm-dropzone-active"),Ss(r.dataTransfer).then(St).catch(function(i){W({ok:!1,text:fe(e,i)})})}},o("span",{className:"dssm-dropzone-title"},e("upload.drop.title")),o("span",{className:"dssm-dropzone-copy"},e("upload.drop.copy")),o("div",{className:"dssm-upload-choices"},o("button",{type:"button",className:"dssm-upload-link",disabled:y,onClick:function(r){r.stopPropagation(),Nt(ra)}},e("btn.folder.pick")),o("span",{className:"dssm-upload-divider"},"/"),o("button",{type:"button",className:"dssm-upload-link",disabled:y,onClick:function(r){r.stopPropagation(),Nt(Ct)}},e("btn.file.pick")))),ce?o("div",{className:"dssm-file",title:ce.name},o("span",{className:"dssm-file-kind","aria-hidden":"true"},ce.kind==="zip"?"ZIP":ce.kind==="folder"?"DIR":"MD"),o("span",{className:"dssm-file-name"},ce.name),o("span",{className:"dssm-file-meta"},e(ka("upload.selected",ce.count),{count:ce.count,size:ce.size<1024?ce.size+" B":Math.ceil(ce.size/1024)+" KB"})),o("button",{type:"button",className:"dssm-file-remove","aria-label":e("upload.remove"),onClick:function(){xe(null)}},"\xD7")):null,o(br,{t:e,value:je,disabled:y,allowAgents:!0,workspaces:oe,userDestinations:me,onChange:function(r){Bt(Object.assign({},je,r))}}),b?o("div",{className:"dssm-feedback"+(b.warning?" dssm-warning":b.ok?"":" dssm-error"),role:"alert"},b.text):null,o("div",{className:"dssm-upload-requirements"},o("div",{className:"dssm-label"},e("upload.requirements")),o("ul",null,o("li",null,e("upload.requirement.skill")),o("li",null,e("upload.requirement.frontmatter")),o("li",null,e("upload.requirement.copy")))),o("div",{className:"dssm-modal-actions"},be(e("btn.cancel"),function(){We.current=!1,xe(null),W(null),L(null)},"outline"),be(e(y?"upload.importing":"btn.import.now"),oa,"primary",y||!ce||!ft(je,oe,me))))),x==="detail"&&we.push(o(Je,{key:"detail",wide:!0,title:e("detail.title"),closeLabel:e("btn.close"),onClose:function(){L(null)}},Re?o("div",{className:"dssm-detail"},o("div",{className:"dssm-name"},Re.declaredName||Re.name),Re.description?o("p",{className:"dssm-desc"},Re.description):null,o("div",{className:"dssm-detail-path"},Re.path),Re.diagnostics.length?Re.diagnostics.map(function(r,i){return o("div",{key:i,className:"dssm-diag"},e(r.code,r.params||{}))}):null,o(ot.TextArea,{readOnly:!0,value:Re.body||"",autoSize:{minRows:6,maxRows:16}})):o("div",{className:"dssm-empty"},e("loading")))),x&&typeof x=="object"&&x.type==="trash-confirm"&&we.push(o(Je,{key:"trash-confirm",title:e("confirm.trash.title"),description:e("confirm.trash.desc",{name:x.name}),closeLabel:e("btn.close"),onClose:function(){L(null)},footer:o(ea.Fragment,null,be(e("btn.cancel"),function(){L(null)},"outline"),be(e("btn.trash"),function(){X("/delete",Object.assign({root:x.root,name:x.name},x.workspace?{workspace:x.workspace}:{}),"result.trashed",{name:x.name}).then(function(){L(null)}).catch(function(){})},"primary",y))})),x&&typeof x=="object"&&x.type==="delete-confirm"&&we.push(o(Je,{key:"delete-confirm",title:e("confirm.delete.title"),description:e("confirm.delete.desc",{name:x.name}),closeLabel:e("btn.close"),onClose:function(){L(null)},footer:o(ea.Fragment,null,be(e("btn.cancel"),function(){L(null)},"outline"),be(e("btn.delete.forever"),function(){X("/trash-delete",{id:x.id},"result.deleted",{name:x.name}).then(function(){L(null)}).catch(function(){})},"primary",y))})),x&&typeof x=="object"&&(x.type==="category-create"||x.type==="category-rename")){var Mt=x.type==="category-rename",st=x,Ze=te.trim(),fa=!!Ze&&(!Mt||Ze!==st.name),Tt=function(){if(!(y||!fa)){var r=Mt?X("/category-rename",{root:st.root,id:st.id,name:Ze,workspace:st.workspace},"category.renamed"):X("/category-create",{root:st.root,name:Ze,workspace:st.workspace},"category.created",{name:Ze});r.then(function(){L(null)}).catch(function(){})}};we.push(o(Je,{key:x.type,title:e(Mt?"category.rename":"category.create"),closeLabel:e("btn.close"),onClose:function(){L(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("category.name")),o(ot,{value:te,maxLength:24,"aria-label":e("category.name"),onChange:function(r){De(r.target.value)},onPressEnter:Tt})),o("p",{className:"dssm-help"},e("category.note"))),o("div",{className:"dssm-modal-actions"},be(e("btn.cancel"),function(){L(null)},"outline"),be(e(Mt?"btn.confirm":"category.create"),Tt,"primary",y||!fa))))}if(x&&typeof x=="object"&&x.type==="category-add"){var He=x,Ht=u.trim().toLowerCase(),Jt=He.skills.filter(function(r){return!Ht||r.name.toLowerCase().includes(Ht)||r.declaredName&&r.declaredName.toLowerCase().includes(Ht)||r.description&&r.description.toLowerCase().includes(Ht)}),zt=new Set(He.skills.map(function(r){return r.name})),Gt=Object.keys(ye).filter(function(r){return ye[r]&&zt.has(r)}).length;we.push(o(Je,{key:"category-add",title:e("category.selectSkills",{name:He.name}),closeLabel:e("btn.close"),onClose:function(){ee({}),Y(""),L(null)}},o(ot,{placeholder:e("search.placeholder"),value:u,allowClear:!0,onChange:function(r){Y(r.target.value)}}),o("div",{className:"dssm-batch-list"},Jt.length?Jt.map(function(r){var i=!!ye[r.name];return o("div",{key:r.name,className:"dssm-batch-item"+(i?" selected":""),onClick:function(){var v=Object.assign({},ye);i?delete v[r.name]:v[r.name]=!0,ee(v)}},o("input",{type:"checkbox",checked:i,readOnly:!0}),o("div",{className:"dssm-batch-info"},o("div",{className:"dssm-batch-name-row"},o("span",{className:"dssm-batch-name"},r.declaredName||r.name),r.currentCatName?o("span",{className:"dssm-batch-cat-tag"},r.currentCatName):null),r.description?o("div",{className:"dssm-batch-desc",title:r.description},r.description):null))}):o("div",{className:"dssm-empty"},e("category.noAvailableSkills"))),o("div",{className:"dssm-modal-actions"},be(e("btn.cancel"),function(){ee({}),Y(""),L(null)},"outline"),be(e("category.addSkills")+(Gt?" ("+Gt+")":""),function(){var r=Object.keys(ye).filter(function(v){return ye[v]&&zt.has(v)});if(!r.length){ee({}),Y(""),L(null);return}if(!_e.current){var i=function(v){return He.workspace?Object.assign({},v,{workspace:He.workspace}):v};_e.current=!0,k(!0),ee({}),Y(""),L(null),r.reduce(function(v,C){return v.then(function(){return l("/category-assign",{method:"POST",headers:$t,body:JSON.stringify(i({root:He.root,name:C,category:He.id}))})})},Promise.resolve()).then(function(){W({ok:!0,text:e("category.batchAssigned",{count:r.length,category:He.name})})}).catch(function(v){W({ok:!1,text:fe(e,v)})}).finally(function(){_e.current=!1,k(!1);var v=He.workspace;Promise.all([$e(!0),v?Le(v):null]).catch(function(){})})}},"primary",y||!Gt))))}return x&&typeof x=="object"&&x.type==="category-delete"&&we.push(o(Je,{key:"category-delete",title:e("confirm.category.title"),description:e("confirm.category.desc",{name:x.name}),closeLabel:e("btn.close"),onClose:function(){L(null)},footer:o(ea.Fragment,null,be(e("btn.cancel"),function(){L(null)},"outline"),be(e("category.delete"),function(){X("/category-delete",{root:x.root,id:x.id,workspace:x.workspace},"category.deleted",{name:x.name}).then(function(){L(null)}).catch(function(){})},"primary",y))})),o("section",{className:"dssm-section"},we)}var Ys=["slots","locale"];function Js(a){Cr=a.locale,a.effect(function(){return a.locale.register(ya,Sa)}),a.effect(function(){return cr({endpoint:"/api/michengai/dsh-skills-manager/update",packageName:"@michengai/dsh-skills-manager",titleRowSelector:".dssm-title-row",linksSelector:".dssm-feedback-links",zhName:"\u6280\u80FD",enName:"Skills",createIcon:ys})},"skills-manager: plugin update ui"),hr(a,function(){return a.locale.bind(ya)("title")}),a.slots.inject("settings.section",function(){return a.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return a.locale.bind(ya)("title")},icon:"skill",locale:ya},Qs)})}module.exports.formatTrashTime=Nr;module.exports.DICT=Sa;module.exports.translateError=fe;module.exports.parseApiResponse=xr;module.exports.isSkillEnabled=Ca;module.exports.countKey=ka;module.exports.rootDisplayName=bt;module.exports.summarizeImportResult=Rr;module.exports.normalizeSkillQuery=Ar;module.exports.matchSkillQuery=Va;module.exports.filterSkills=ks;module.exports.visibleSkillRoots=Wa;module.exports.scopeSkillRoots=Mr;module.exports.skillStatus=Ka;module.exports.countSkillStatuses=Lr;module.exports.currentSessionId=Ir;module.exports.canToggleSource=Er;module.exports.recoverModalFocus=zr;module.exports.trapModalFocus=Rs;module.exports.inspectUploadSelection=Tr;module.exports.apply=Js;module.exports.inject=Ys;
30
+ `;function Oa(a,e,l,d){var p=a(e,d);return typeof p=="string"&&p!==e?p:l}function fe(a,e){if(e instanceof Error&&!e.code)return e.message;if(e&&typeof e=="object"){let p=e;if(p.code){var l=Object.assign({},p.params||{});l.action&&(l.action=Oa(a,"action."+l.action,String(l.action)));var d=a(p.code,l);if(typeof d=="string"&&d!==p.code)return d;if(d===p.code)return p.error!==void 0?fe(a,p.error):p.code}if(p.error!==void 0)return fe(a,p.error);if(p.message!==void 0)return String(p.message)}return String(e??"")}function xr(a){return a.json().catch(function(){var e=new Error("non-json response");throw e.code="error.proto.nonJson",e.params={status:a.status},e}).then(function(e){let l=e;if(!a.ok||l.ok===!1)throw l;return l.data})}function wa(a,e){return fetch("/api/dsh-skills-manager"+a,e).then(xr)}function Ca(a){return a.enabled!==void 0?a.enabled===!0:!!(a.invocationPolicyValid&&a.modelInvocable&&a.userInvocable&&a.managerEnabled!==!1)}function ka(a,e){return a+(Number(e)===1?".one":".other")}var Cr;function Sr(){return Cr?.getLocale?.().active}function Nr(a,e){return new Date(e).toLocaleString(Sr()||a("format.locale"))}function bt(a,e){var l=Oa(a,"root."+(e.localeKey||e.kind||e.key),e.label);return e.projectName?l+" \xB7 "+e.projectName:l}function Rr(a,e){var l=e&&e.imported||[],d=l.map(function(y){return y.name}),p=(e&&e.skipped||[]).map(function(y){return y.name}),f=[];l.forEach(function(y){(y.warnings||[]).forEach(function(k){f.push(fe(a,k))})});var g;return d.length&&p.length?g={ok:!0,warning:!0,imported:!0,text:a("result.importPartial",{imported:d.join(", "),skipped:p.join(", ")})}:d.length?g={ok:!0,warning:!1,imported:!0,text:a("result.imported",{names:d.join(", ")})}:p.length?g={ok:!1,warning:!0,imported:!1,text:a("result.importSkipped",{names:p.join(", ")})}:g={ok:!1,warning:!1,imported:!1,text:a("result.importEmpty")},f.length&&(g.warning=!0,g.text=a("result.importWarnings",{result:g.text,warnings:f.join(a("format.warningSeparator"))})),g}function Ar(a){return String(a??"").trim().toLowerCase()}function Va(a,e){var l=Ar(e);return l?[a.name,a.declaredName,a.description,a.kind,a.kindLabel,a.statusLabel,a.rootKey,a.rootLabel].some(function(d){return String(d??"").toLowerCase().includes(l)}):!0}function ks(a,e){var l=e&&e.rootKey!=null?e.rootKey:"";return a.filter(function(d){return(!l||d.rootKey===l)&&Va(d,e&&e.query)})}function Wa(a){return(a||[]).filter(function(e){return e.mutable||e.exists!==!1})}function Ka(a){return a.shadowedBy?"shadowed":a.loadable===!1?"invalid":Ca(a)?"enabled":"disabled"}function Lr(a){var e={total:a.length,enabled:0,disabled:0,shadowed:0,invalid:0};return a.forEach(function(l){e[Ka(l.skill)]++}),e}function Er(a){return!!(a&&a.toggleable!==!1&&a.kind!=="project-dsh")}function Mr(a){return Wa(a).filter(function(e){return e.scope==="project"?!1:e.mutable||(e.skills||[]).length>0})}var yr=32<<20,va=32<<20,vr=64<<20,wr=1e3;function xa(a){return String(a&&(a._dssmPath||a.webkitRelativePath||a.name)||"").replace(/\\/g,"/")}function Tr(a){var e=Array.from(a||[]);if(!e.length)return null;if(e.length>wr)return{error:{code:"error.upload.tooMany",params:{limit:wr}}};var l=e.some(function(k){return xa(k).includes("/")});if(l){if(!e.some(function(k){return/(^|\/)skill\.md$/i.test(xa(k))}))return{error:{code:"select.folder.invalid"}};var d=e.find(function(k){return Number(k.size||0)>va});if(d)return{error:{code:"error.upload.tooLarge",params:{limit:va}}};var p=e.reduce(function(k,R){return k+Number(R.size||0)},0);return p>vr?{error:{code:"error.upload.tooLarge",params:{limit:vr}}}:{kind:"folder",name:xa(e[0]).split("/")[0],files:e,count:e.length,size:p}}if(e.length!==1)return{error:{code:"select.file.invalid"}};var f=String(e[0].name||""),g=f.toLowerCase(),y=Number(e[0].size||0);return g==="skill.md"?y>va?{error:{code:"error.upload.tooLarge",params:{limit:va}}}:{kind:"skill",name:f,files:e,count:1,size:y}:g.endsWith(".zip")?y>yr?{error:{code:"error.upload.archiveTooLarge",params:{limit:yr}}}:{kind:"zip",name:f,files:e,count:1,size:y}:{error:{code:"select.file.invalid"}}}function xs(a){for(var e=new Uint8Array(a),l="",d=32768,p=0;p<e.length;p+=d)l+=String.fromCharCode(...e.subarray(p,Math.min(p+d,e.length)));return btoa(l)}function Cs(a){return Promise.all(a.files.map(function(e){return e.arrayBuffer().then(function(l){return{path:xa(e),data:xs(l)}})})).then(function(e){return a.kind==="zip"?{name:a.name,zip:e[0].data}:{name:a.name,entries:e}})}function Hr(a,e,l){return a.isFile?new Promise(function(d,p){a.file(function(f){f._dssmPath=e+f.name,l.push(f),d()},p)}):a.isDirectory?new Promise(function(d,p){var f=a.createReader(),g=[];function y(){f.readEntries(function(k){if(!k.length){Promise.all(g.map(function(R){return Hr(R,e+a.name+"/",l)})).then(function(){d()},p);return}g=g.concat(k),y()},p)}y()}):Promise.resolve()}function Ss(a){var e=Array.from(a&&a.items||[]),l=e.map(function(p){return p.webkitGetAsEntry&&p.webkitGetAsEntry()}).filter(p=>!!p);if(!l.length)return Promise.resolve(Array.from(a&&a.files||[]));var d=[];return Promise.all(l.map(function(p){return Hr(p,"",d)})).then(function(){return d})}function Ns(a){return Array.prototype.slice.call(a.querySelectorAll('button:not(:disabled), [href], input:not([type=hidden]):not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])')||[])}function Rs(a,e){if(e.key==="Tab"){var l=Ns(a);if(l.length){var d=document.activeElement;(d===a||!a.contains(d)||(e.shiftKey?d===l[0]:d===l[l.length-1]))&&(e.preventDefault(),(e.shiftKey?l[l.length-1]:l[0]).focus())}}}function As(a){return Fa(a.on,a.label,a.disabled,a.onClick)}function be(a,e,l="primary",d){return o(Ie.Button,{variant:l==="primary"?"primary":"outline",className:l==="danger"?"dssm-btn-danger":void 0,disabled:d,onClick:e},a)}function Ye(a){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{d:a,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Ls(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},[3.5,8,12.5].map(function(a){return o("circle",{key:a,cx:a,cy:8,r:1.15,fill:"none",stroke:"currentColor",strokeWidth:1.5})}))}function jt(a,e,l,d,p){return o(Ie.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(d?" dssm-icon-danger":""),disabled:p,"aria-label":a,title:a,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:l})}function Ba(a,e,l,d,p){return o(Ie.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:d,"aria-label":a,title:p||a,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:l})}function Fa(a,e,l,d){return o("button",{type:"button",role:"switch","aria-checked":a,"aria-label":e,disabled:l,className:"dssm-enable-switch",onClick:function(p){p&&typeof p.stopPropagation=="function"&&p.stopPropagation(),d()}},o("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var Es="data:image/png;base64,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",Ms="data:image/png;base64,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",Ts="data:image/png;base64,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",Hs="M23.376 14.458v-4.056c0-2.304-1.003-4.154-2.748-5.075L11.612.574l-.046.086-.045.086c1.68.886 2.644 2.673 2.644 4.902v4.056a7.928 7.928 0 01-.014.454l-.005.061c-.005.081-.01.164-.018.245a4.897 4.897 0 01-.011.1l-.01.076c-.008.068-.015.135-.025.203l-.018.113-.01.058a9.99 9.99 0 01-.098.513l-.007.03a7.209 7.209 0 01-.074.294l-.024.086c-.027.099-.056.197-.087.296l-.027.085a9.592 9.592 0 01-.111.323l-.033.085-.018.046c-.032.082-.064.166-.098.248-.019.048-.04.096-.061.145l-.007.017a6 6 0 01-.084.187c-.024.056-.05.11-.077.165-.03.061-.058.122-.089.182a9.423 9.423 0 01-.176.332c-.03.056-.062.111-.094.167-.031.053-.062.108-.095.16-.033.055-.066.11-.101.164-.033.053-.065.104-.1.155-.034.055-.07.107-.111.169l-.099.144a15.193 15.193 0 01-.34.457c-.04.05-.08.102-.121.151l-.107.128-.007.008a6.987 6.987 0 01-.262.298l-.149.16-.116.12a9.562 9.562 0 01-.204.198l-.03.03-.072.069a9.05 9.05 0 01-.263.235l-.025.022-.029.026-.042.035a11.7 11.7 0 01-.22.18l-.07.055-.018.013a8.904 8.904 0 01-.194.146c-.029.02-.057.042-.086.063a7.7 7.7 0 01-.22.152l-.057.04a8.865 8.865 0 01-.293.185l-.062.037a10.424 10.424 0 01-.307.173l-.037.02-.196.103-.108.052-.012.006a6.196 6.196 0 01-.315.143c-.065.028-.13.054-.196.08l-.035.014-.086.034c-.07.026-.143.05-.215.075l-.039.014-.064.023a8.056 8.056 0 01-.323.097l-.63.173a7.285 7.285 0 01-.33.08l-.07.015c-.053.012-.104.023-.157.032l-.065.011-.085.015a2.332 2.332 0 01-.194.027l-.085.01a4.715 4.715 0 01-.16.018l-.034.003a4.861 4.861 0 01-.246.016h-.033a2.714 2.714 0 01-.155.005h-.106a3.384 3.384 0 01-.225-.007H4.86l-.15-.012-.066-.006a5.586 5.586 0 01-.187-.02l-.04-.005a5.14 5.14 0 01-.219-.035l-.054-.01a6.943 6.943 0 01-.347-.082l-.03-.008-.038-.01a5.034 5.034 0 01-.269-.086l-.063-.023a4.216 4.216 0 01-.188-.073l-.071-.031-.016-.007a4.959 4.959 0 01-.16-.074l-.026-.013a.164.164 0 00-.014-.007l-.671-.351.486.486h.016l8.995 4.742.093.048.03.014.02.01c.056.026.111.052.169.076l.016.008.073.032.195.076.022.008a.718.718 0 01.03.012l.014.004a4.693 4.693 0 00.323.1l.027.007c.073.02.147.038.22.055l.018.004.027.006.066.013.088.016c.075.014.15.026.226.038l.042.004c.064.009.128.016.193.022l.126.012.06.003.05.002.098.005c.046.002.094.002.14.003h.12c.05 0 .1-.002.161-.005h.033l.07-.004a6.17 6.17 0 00.184-.014l.033-.003a.753.753 0 00.058-.005l.108-.012.081-.01.08-.01.129-.021.082-.014.071-.012c.054-.01.107-.021.16-.033l.066-.013.059-.013c.096-.022.192-.046.287-.073l.63-.172a7.354 7.354 0 00.397-.122l.04-.015c.075-.025.149-.051.222-.078.032-.011.062-.024.093-.037l.03-.012c.067-.027.135-.054.2-.082l.128-.056.195-.09.021-.01.102-.05c.068-.034.135-.069.202-.105l.037-.02.073-.038c.08-.044.16-.092.24-.139l.026-.015a8.086 8.086 0 00.322-.2l.065-.045 1.98.902a1.748 1.748 0 002.472-1.59v-7.33l.004.004z",zs="M11.617.576a3.904 3.904 0 00-.093-.047c-.016-.009-.033-.016-.05-.024a5.854 5.854 0 00-.166-.077l-.09-.04a4.094 4.094 0 00-.194-.074c-.017-.006-.035-.015-.053-.02l-.013-.005a5.18 5.18 0 00-.277-.088l-.07-.019a4.034 4.034 0 00-.219-.053c-.015-.003-.03-.008-.044-.012L10.253.1l-.057-.011a5.177 5.177 0 00-.225-.036L9.928.047a5.972 5.972 0 00-.191-.022L9.669.02a1.33 1.33 0 00-.058-.005L9.515.009a4.058 4.058 0 00-.111-.005C9.354 0 9.304 0 9.254 0h-.109c-.052 0-.106.004-.16.004L8.884.01A5.32 5.32 0 008.7.022l-.083.006h-.008c-.05.005-.1.013-.15.019l-.12.014c-.056.008-.112.018-.169.028-.037.006-.074.011-.11.018a7.054 7.054 0 00-.572.133l-.63.172c-.111.031-.22.064-.33.1-.037.011-.072.025-.108.037a12.91 12.91 0 00-.345.126c-.067.027-.133.054-.2.083l-.128.055a11.916 11.916 0 00-.318.15 7.376 7.376 0 00-.311.163c-.082.045-.16.092-.24.14a9.424 9.424 0 00-.35.218l-.016.01-.06.04a9.242 9.242 0 00-.51.37 12.54 12.54 0 00-.315.254l-.043.034-.01.007-.045.041c-.09.078-.18.158-.268.24l-.106.101c-.07.067-.139.135-.207.204l-.056.054-.063.067-.153.164-.12.133-.148.17c-.024.03-.049.057-.073.086l-.043.053a5.96 5.96 0 00-.123.155l-.118.151c-.04.053-.08.106-.118.16l-.075.101-.038.056-.107.155-.11.164a9.91 9.91 0 00-.168.265c-.012.02-.023.043-.037.063a12.43 12.43 0 00-.192.335l-.09.168c-.019.034-.04.07-.057.105-.011.022-.02.043-.032.065l-.092.188-.08.167a19.15 19.15 0 00-.083.192c-.017.038-.035.076-.05.115-.008.016-.014.034-.021.051-.035.083-.067.167-.1.253l-.051.134c-.04.11-.077.22-.113.33l-.02.057c0 .002 0 .005-.002.007l-.008.026c-.032.1-.06.2-.09.301l-.023.089c-.027.1-.052.2-.075.301l-.007.03a7.63 7.63 0 00-.057.267l-.008.048c-.015.074-.026.148-.038.223L.082 8.4c-.011.078-.02.156-.029.234-.006.051-.013.103-.017.154a6.57 6.57 0 00-.02.26c-.003.044-.007.086-.009.13-.004.128-.007.257-.007.386v4.056c0 1.478.42 2.741 1.138 3.692A4.75 4.75 0 002.73 18.67l9.015 4.753c-1.656-.874-2.728-2.685-2.73-5.051v-4.056c0-.13.004-.26.01-.39.002-.043.006-.085.01-.128.005-.088.01-.174.019-.261l.017-.155c.01-.077.018-.155.029-.234l.026-.164c.013-.074.025-.15.039-.223.02-.105.04-.21.064-.313l.008-.031c.023-.1.048-.201.075-.301l.023-.088c.028-.1.058-.202.09-.302l.008-.025.021-.063c.036-.11.073-.22.113-.33l.052-.134c.031-.085.065-.169.1-.253.022-.056.047-.111.07-.166a13.856 13.856 0 01.164-.358c.03-.063.06-.126.092-.188l.088-.172a9.22 9.22 0 01.187-.338l.096-.164c.034-.057.069-.112.104-.168l.1-.159a10.49 10.49 0 01.567-.786l.123-.155.116-.139c.05-.057.098-.115.148-.171a14.092 14.092 0 01.272-.297 9.706 9.706 0 01.432-.425c.088-.083.177-.163.268-.241l.054-.048a10.08 10.08 0 01.553-.435l.092-.068c.075-.053.15-.105.226-.156.019-.013.038-.028.06-.04a9.18 9.18 0 01.362-.227c.08-.047.16-.094.241-.139l.11-.058a7.643 7.643 0 01.521-.256l.126-.056a7.509 7.509 0 01.546-.208l.107-.037c.11-.036.22-.069.33-.1l.63-.172c.095-.026.191-.05.287-.072l.097-.02c.062-.014.125-.029.187-.04l.114-.018c.055-.01.11-.02.166-.028.04-.006.08-.01.12-.014.053-.007.105-.014.157-.019l.083-.006c.061-.005.123-.01.184-.013.034-.003.067-.003.101-.004l.16-.006h.11a3.187 3.187 0 01.261.008l.153.01.067.007c.064.006.128.013.192.022l.043.005a5.232 5.232 0 01.281.047l.141.03c.073.016.146.035.218.053l.07.019c.094.026.187.055.278.087l.067.025a4.326 4.326 0 01.449.19l.143.072L11.617.576z",Is="M6.13671 5.82399V4.30398C6.13671 4.17596 6.18431 4.07991 6.29527 4.01598L9.32406 2.256C9.73637 2.01602 10.228 1.90406 10.7353 1.90406C12.6382 1.90406 13.8434 3.3921 13.8434 4.97604C13.8434 5.088 13.8434 5.21602 13.8274 5.34404L10.6877 3.488C10.4975 3.37605 10.3071 3.37605 10.1168 3.488L6.13671 5.82399ZM13.209 11.7441V8.11195C13.209 7.88789 13.1138 7.72791 12.9236 7.61594L8.94344 5.27995L10.2437 4.5279C10.3547 4.46397 10.4499 4.46397 10.5609 4.5279L13.5896 6.28789C14.4619 6.79996 15.0484 7.88789 15.0484 8.94385C15.0484 10.1598 14.335 11.28 13.209 11.7441ZM5.20114 8.54404L3.90086 7.77608C3.78989 7.71215 3.7423 7.6161 3.7423 7.48808V3.96811C3.7423 2.25615 5.04259 0.960061 6.80278 0.960061C7.46883 0.960061 8.08714 1.18413 8.61056 1.58409L5.48672 3.40816C5.29649 3.52012 5.20129 3.68011 5.20129 3.90418L5.20114 8.54404ZM7.99999 10.176L6.13671 9.12005V6.8801L7.99999 5.82414L9.8631 6.8801V9.12005L7.99999 10.176ZM9.19719 15.0401C8.53113 15.0401 7.91282 14.816 7.3894 14.4161L10.5132 12.5919C10.7034 12.48 10.7987 12.3201 10.7987 12.096V7.45596L12.1149 8.22392C12.2258 8.28785 12.2734 8.3839 12.2734 8.51192V12.0319C12.2734 13.7438 10.9572 15.0401 9.19719 15.0401ZM5.43898 11.4721L2.41018 9.71211C1.53796 9.20003 0.95134 8.11211 0.95134 7.05615C0.95134 5.82414 1.68077 4.72016 2.80657 4.25611V7.9041C2.80657 8.12817 2.90177 8.28815 3.092 8.40012L7.05637 10.72L5.75609 11.4721C5.64513 11.5361 5.54993 11.5361 5.43898 11.4721ZM5.26465 14.0961C3.47278 14.0961 2.15658 12.736 2.15658 11.056C2.15658 10.928 2.17249 10.8 2.18826 10.672L5.3121 12.4961C5.50234 12.608 5.69273 12.608 5.88297 12.4961L9.8631 10.1762V11.6962C9.8631 11.8242 9.8155 11.9202 9.70454 11.9841L6.67574 13.7441C6.26344 13.9841 5.77199 14.0961 5.26465 14.0961ZM9.19719 16C11.1159 16 12.7174 14.624 13.0823 12.8C14.8582 12.3359 16 10.6559 16 8.944C16 7.82396 15.5243 6.73603 14.668 5.95201C14.7473 5.61598 14.7949 5.27995 14.7949 4.94407C14.7949 2.65612 12.9554 0.944002 10.8305 0.944002C10.4025 0.944002 9.99013 1.00794 9.57782 1.15201C8.86416 0.447988 7.88099 0 6.80278 0C4.88403 0 3.28254 1.37593 2.91768 3.19999C1.14173 3.66404 0 5.34404 0 7.056C0 8.17604 0.475669 9.26397 1.33197 10.048C1.25269 10.384 1.20509 10.72 1.20509 11.0559C1.20509 13.3438 3.04456 15.0559 5.16946 15.0559C5.59753 15.0559 6.00984 14.9921 6.42215 14.848C7.13565 15.552 8.11882 16 9.19719 16Z",Ds="M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z",js="M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z",Ps="M24 20.541H3.428v-3.426H0V3.4h24V20.54zM3.428 17.115h17.144V6.827H3.428v10.288zm8.573-5.196l-2.425 2.424-2.424-2.424 2.424-2.424 2.425 2.424zm6.857-.001l-2.424 2.423-2.425-2.423 2.425-2.425 2.424 2.425z",Us="M20.113 5.5l-.442 1.557a.157.157 0 01-.196.106l-7.414-2.157a.16.16 0 00-.143.028l-7.342 5.74a.159.159 0 01-.074.032l-4.37.656a.154.154 0 00-.132.162l.02.245c.005.078.071.14.152.141l5.074.128.058.002 3.75-1.953a.16.16 0 01.164.01l2.657 1.847a.152.152 0 01.066.125l-.023 2.45c0 .032.01.063.028.089l3.737 5.227c.03.04.077.065.129.065h1.182a.153.153 0 00.14-.224l-2.664-4.919a.15.15 0 01.005-.152l1.389-2.169a.156.156 0 01.062-.055l4.965-2.456a.16.16 0 01.158.01l1.418.921a.16.16 0 00.087.026h1.289c.125 0 .2-.136.13-.237l-3.578-5.29c-.074-.109-.246-.082-.282.044z",Bs="M18.777 1.647c.28-.02.536.114.972.51 1.018.926 2.437 2.828 3.318 4.452l.34.631.482.24.11.06v3.638a5.206 5.206 0 00-5.32-1.23c-.491.166-1.021.471-2.08 1.082l-6.09 3.516c-1.057.61-1.586.916-1.975 1.259a5.208 5.208 0 00-1.493 5.572c.165.49.471 1.02 1.082 2.08l.315.543h-3.26c-.685 0-1.34-.135-1.939-.377-.169-.956-.009-1.789.469-2.335.158-.18.164-.189.13-.493a11.846 11.846 0 01-.057-1.711l.02-.444-.667-1.18C2.1 15.622 1.445 14.078 1.192 12.9c-.133-.647-.125-.934.04-1.146.1-.128.427-.261.822-.334.994-.175 3.162-.017 5.575.41l.25.043.551-.487c.915-.81 1.522-1.264 2.641-1.962 1.167-.73 2.484-1.331 3.967-1.807l.476-.152.261-.688c.937-2.471 1.896-4.293 2.58-4.9.235-.21.25-.22.422-.23z",Fs="M12.139 18.2a1.203 1.203 0 011.642.44l1.296 2.243a1.204 1.204 0 01-2.083 1.203l-1.296-2.243a1.203 1.203 0 01.44-1.644zM18.629 14.452a1.203 1.203 0 011.642.44l1.295 2.244a1.203 1.203 0 11-2.083 1.203l-1.295-2.243a1.203 1.203 0 01.44-1.644z",Os="M16.877 1.912c.58-.27 1.14-.323 1.616-.037a.317.317 0 01-.326.542c-.227-.136-.547-.153-1.022.068-.352.165-.765.45-1.234.866 2.683 1.17 4.4 3.5 5.148 5.921a6.421 6.421 0 00-.704.184c-.578.016-1.174.204-1.502.735-.338.55-.268 1.276.072 2.069l.005.012.007.014c.523 1.045 1.318 1.91 2.2 2.284-.912 3.274-3.44 6.144-5.972 6.988v2.109h-2.11v-2.11c-1.043.417-2.086.01-2.11 0v2.11h-2.11v-2.11c-2.531-.843-5.061-3.713-5.973-6.987.882-.373 1.678-1.238 2.2-2.284l.007-.014.006-.012c.34-.793.41-1.518.071-2.069-.327-.531-.923-.719-1.503-.735a6.409 6.409 0 00-.704-.183c.749-2.421 2.466-4.751 5.149-5.922-.47-.416-.88-.701-1.234-.866-.474-.221-.794-.204-1.021-.068a.318.318 0 01-.435-.109.317.317 0 01.109-.433c.476-.286 1.036-.233 1.615.037.49.229 1.031.628 1.621 1.182A9.924 9.924 0 0112 2.568c1.199 0 2.284.19 3.256.526.59-.554 1.13-.953 1.62-1.182zM8.835 6.577a1.266 1.266 0 100 2.532 1.266 1.266 0 000-2.532zm6.33 0a1.267 1.267 0 100 2.533 1.267 1.267 0 000-2.533z",Vs="M.395 13.118c-.966-1.932-.163-3.863 2.41-3.365v-.001l.05.01c.084.018.17.038.26.06.033.009.067.017.1.027.084.022.168.048.255.076l.09.027c.528 0 .95.158 1.16.501.212.343.212.87-.105 1.61-.085.17-.178.333-.276.489l-.01.017a4.967 4.967 0 01-.62.791l-.019.02c-1.092 1.117-2.496 1.336-3.295-.262z",Ws="M21.193 9.753c2.574-.5 3.378 1.433 2.411 3.365-.58 1.159-1.476 1.361-2.342.96l-.011-.005a2.419 2.419 0 01-.114-.056l-.019-.01a2.751 2.751 0 01-.115-.067l-.023-.014c-.035-.022-.071-.044-.106-.068l-.05-.035c-.55-.388-1.062-1.007-1.44-1.76-.276-.647-.311-1.132-.174-1.472.176-.439.636-.639 1.23-.639.032-.011.066-.02.099-.03.08-.026.16-.05.238-.072l.117-.03a5.502 5.502 0 01.3-.067z";function Ks(a){var e=String(a||"").toLowerCase();return e.includes("dsh")?o("img",{src:Es,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("workbuddy")?o("img",{src:Ms,width:16,height:16,alt:"WorkBuddy",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("ccswitch")||e.includes("cc-switch")?o("img",{src:Ts,width:16,height:16,alt:"CC Switch",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("qoder")||e.includes("lingma")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#2ADB5C",d:Hs}),o("path",{fill:"#ffffff",d:zs})):e.includes("codex")?o("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:Is})):e.includes("cursor")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",fillRule:"evenodd",d:Ds})):e.includes("claude")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#D97757",fillRule:"evenodd",clipRule:"evenodd",d:"M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z"})):e.includes("gemini")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#3b82f6",d:"M12 2C12 7.5 7.5 12 2 12c5.5 0 10 4.5 10 10 0-5.5 4.5-10 10-10-5.5 0-10-4.5-10-10z"})):e.includes("opencode")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:"M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})):e.includes("copilot")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:"M12 2a8 8 0 0 0-8 8v4a4 4 0 0 0 4 4h1v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2h1a4 4 0 0 0 4-4v-4a8 8 0 0 0-8-8zm-3 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm6 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"})):e.includes("windsurf")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#00d084",fillRule:"evenodd",clipRule:"evenodd",d:js})):e.includes("trae")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#32F08C",d:Ps})):e.includes("openclaw")||e.includes("clawdbot")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#FF4D4D",fillRule:"evenodd",d:Os}),o("path",{fill:"#FF4D4D",d:Vs}),o("path",{fill:"#FF4D4D",d:Ws})):e.includes("roo")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#eab308",fillRule:"evenodd",d:Us})):e.includes("codebuddy")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("rect",{width:24,height:24,rx:5,fill:"#2EA99D"}),o("path",{fill:"#ffffff",d:Bs}),o("path",{fill:"#ffffff",d:Fs})):o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#10b981",d:"M12 2a2 2 0 0 1 2 2c0 .74-.4 1.39-1 1.73V7h2a5 5 0 0 1 5 5v1a3 3 0 0 1 1 2.23V17a3 3 0 0 1-3 3h-1.1A6 6 0 0 1 12 22a6 6 0 0 1-4.9-2H6a3 3 0 0 1-3-3v-1.77A3 3 0 0 1 4 13v-1a5 5 0 0 1 5-5h2V5.73A2 2 0 0 1 10 4a2 2 0 0 1 2-2zm-3 10a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm6 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-6 5a4 4 0 0 0 6 0H9z"}))}function qs(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{fill:"currentColor",d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))}function zr(a,e,l){a&&e===l&&a.focus()}function Je(a){var e=z.useRef(null),l=z.useRef(a.onClose);l.current=a.onClose;function d(){var p=e.current;if(p){var f=p.querySelector("input, textarea");if(f instanceof HTMLElement){f.focus();return}p.tabIndex=-1,p.focus()}}return z.useLayoutEffect(function(){if(!(typeof document>"u")){var p=e.current;p&&zr(p,document.activeElement,document.body)}}),z.useEffect(function(){if(typeof document>"u")return;function p(f){f.key==="Escape"&&(f.preventDefault(),f.stopImmediatePropagation(),l.current())}return document.addEventListener("keydown",p,!0),function(){document.removeEventListener("keydown",p,!0)}},[]),o(Ie.Modal,{open:!0,title:a.title,description:a.description,footer:a.footer,onClose:a.onClose,closeLabel:a.closeLabel||"Close",className:a.className},a.children?o("div",{ref:e},a.children):void 0)}function Ir(a){if(a){for(var e=a.byId||{},l=Array.isArray(a.ids)&&a.ids.length?a.ids:Object.keys(e),d=0;d<l.length;d++){var p=e[l[d]];if(p&&p.retainedBy&&p.retainedBy.mainView)return l[d]}for(var f in e)if(l.indexOf(f)===-1&&e[f]&&e[f].retainedBy&&e[f].retainedBy.mainView)return f}}function Qs(a){var e=a.useSessions?a.useSessions(Ir):void 0,l=z.useState("user"),d=z.useState({}),p=z.useState({});return o(Zs,Object.assign({},a,{key:e||"no-session",sessionId:e,scope:l[0],setScope:l[1],savedFilters:d[0],setSavedFilters:d[1],expanded:p[0],setExpanded:p[1]}))}function Zs(a){var e=a.t;function l(r,i){var v=Object.fromEntries(new Headers(i?.headers).entries());return a.sessionId&&(v["x-dsh-skills-session"]=a.sessionId),wa(r,Object.assign({},i,{headers:v}))}var d=z.useState({loading:!0,error:null,data:null}),p=d[0],f=d[1],g=z.useState(!1),y=g[0],k=g[1],R=a.scope,s=a.setScope,F=a.expanded,O=a.setExpanded,le=a.savedFilters,nt=a.setSavedFilters,ke=z.useState(null),x=ke[0],L=ke[1],se=z.useState(""),u=se[0],Y=se[1],V=z.useState({}),ye=V[0],ee=V[1],Ge=z.useState(null),b=Ge[0]&&Ge[0].scope===R?Ge[0]:null;function W(r){Ge[1](r?Object.assign({},r,{scope:R}):null)}var he=z.useState({root:"dsh",name:"",description:"",body:""}),Ne=he[0],Xe=he[1],Q=z.useState(""),te=Q[0],De=Q[1],Ut=z.useState(It()),Ve=Ut[0],it=Ut[1],yt=z.useState(It()),je=yt[0],Bt=yt[1],vt=z.useState([]),oe=vt[0],h=vt[1],j=z.useState(""),ae=j[0],lt=j[1],ve=z.useRef(""),ta=z.useRef(0),K=z.useState({loading:!1,error:null}),wt=K[0],ne=K[1],aa=z.useState({}),dt=aa[0],kt=aa[1],xt=z.useState(null),ce=xt[0],xe=xt[1],Ft=z.useState(null),Re=Ft[0],Ot=Ft[1],_e=z.useRef(!1),ue=z.useRef(null),Ct=z.useRef(null),ra=z.useRef(null),We=z.useRef(!1),Vt=z.useRef({}),Pe=z.useRef(0);z.useEffect(function(){return function(){Pe.current++}},[]);function $e(r){return r||f({loading:!0,error:null,data:p.data}),l("/state").then(function(i){return f({loading:!1,error:null,data:i}),i}).catch(function(i){f({loading:!1,error:fe(e,i),data:p.data})})}z.useEffect(function(){$e(!1)},[]);function X(r,i,v,C){return _e.current?Promise.reject({error:"operation already in progress"}):(_e.current=!0,k(!0),W(null),l(r,{method:"POST",headers:$t,body:JSON.stringify(i||{})}).then(function(T){W({ok:!0,text:v?e(v,C||T||{}):e("result.updated")});var M=i&&typeof i.workspace=="string"?i.workspace:"";return Promise.all([$e(!0),M?Le(M):null]).then(function(){return T})}).catch(function(T){throw W({ok:!1,text:e("error.action",{error:fe(e,T)})}),T}).finally(function(){_e.current=!1,k(!1)}))}function Wt(r,i,v){k(!0),Ot(null),L("detail"),l("/detail",{method:"POST",headers:$t,body:JSON.stringify(v?{root:r.key,name:i.name,workspace:v}:{root:r.key,name:i.name})}).then(Ot).catch(function(C){W({ok:!1,text:e("error.action",{error:fe(e,C)})}),L(null)}).finally(function(){k(!1)})}function et(r,i){Xe(Object.assign({},Ne,{[r]:i}))}function sa(){ft(Ve,oe,me)&&X("/create",Object.assign({},Ne,{root:void 0},ha(Ve)),null).then(function(r){L(null),Xe({root:"dsh",name:"",description:"",body:""}),W({ok:!0,text:e("result.created",{name:r.name})+(Ve.scope==="workspace"?" \xB7 "+e("dest.createdInWorkspace"):"")})}).catch(function(){})}function St(r){We.current=!1;var i=Tr(r);if(i){if(i.error){xe(null),W({ok:!1,text:fe(e,i.error)});return}xe(i),W(null)}}function Nt(r){if(y||We.current||!r.current)return;We.current=!0,r.current.value="";function i(){setTimeout(function(){We.current=!1},0)}window.addEventListener("focus",i,{once:!0}),r.current.click(),setTimeout(function(){We.current=!1},3e4)}function oa(){!ce||!ft(je,oe,me)||Cs(ce).then(function(r){return X("/upload",Object.assign({},r,ha(je)),null)}).then(function(r){var i=Rr(e,r);W({ok:i.ok,warning:i.warning,text:i.text}),i.imported&&(L(null),xe(null))}).catch(function(){})}var Ae=p.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},Rt=Ae.roots||[],ct=R==="project"?"project":"user",_=le[ct]||{query:"",source:"",status:""},pe=_.query,tt=_.source;function Ke(r,i){nt(function(v){return Object.assign({},v,{[ct]:Object.assign({},_,{[r]:i})})})}function Na(r){Ke("query",r)}function Kt(r){Ke("source",r)}var ut=dt[ae],qt=R==="trash"?[]:R==="project"?Wa(ut?.roots||[]):Mr(Rt),At=qt.filter(function(r){return(r.skills||[]).length>0}),Ue=R!=="project"&&At.some(function(r){return r.key===tt})?tt:"";function Ce(r){return r.registeredPaths[0]||""}function na(r){oe.some(function(i){return i.available&&Ce(i)===r})&&(ve.current=r,lt(r),dt[r]||Le(r))}function at(r=R==="project",i=!1){var v=Pe.current,C=++ta.current,T=function(){return v===Pe.current&&C===ta.current};return ne({loading:!0,error:null}),wa("/workspaces").then(function(M){if(!T())return[];var q=M.items||[];h(q),ne({loading:!1,error:null});var $=q.find(function(P){return P.available&&Ce(P)===ve.current})||q.find(function(P){return P.available&&Ce(P)}),B=$?Ce($):"";return ve.current=B,lt(B),r&&B&&(i||!dt[B])&&Le(B),q}).catch(function(M){return T()?(h([]),ve.current="",lt(""),ne({loading:!1,error:fe(e,M)}),[]):[]})}function Le(r){var i=Pe.current,v=(Vt.current[r]||0)+1;Vt.current[r]=v;var C=function(){return i===Pe.current&&v===Vt.current[r]};return kt(function(T){return Object.assign({},T,{[r]:{loading:!0,error:null,roots:T[r]?T[r].roots:[]}})}),wa("/workspace-skills",{method:"POST",headers:$t,body:JSON.stringify({workspace:r})}).then(function(T){C()&&kt(function(M){return Object.assign({},M,{[r]:{loading:!1,error:null,roots:T.roots||[]}})})}).catch(function(T){C()&&kt(function(M){return Object.assign({},M,{[r]:{loading:!1,error:fe(e,T),roots:[]}})})})}function Be(){return Pe.current++,kt({}),at(!0,!0)}function Fe(){Xe(Object.assign({},Ne,{root:"dsh"})),it(It()),L("create"),at()}function Lt(){W(null),xe(null),Bt(It()),L("import"),at()}var me=(Ae.writeDestinations||[]).filter(function(r){return r.key==="dsh"||r.key==="agents"});function ia(r){var i=r.root&&r.root.scope==="project"?r.root.projectRoot:"",v=i?oe.find(function(C){return C.projectRoot===i&&C.available}):void 0;return v?{id:r.id,workspace:v.registeredPaths[0]||v.path}:{id:r.id}}function qe(r){return r.root&&r.root.scope==="project"?e("root.projectDsh")+" \xB7 "+(r.root.projectName||r.root.projectRoot):Oa(e,"root."+(r.root?.localeKey||r.root?.key||"dsh"),r.root?.label||e("root.dsh"))}function Qt(r){return o("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},Ks(r))}var Ee=[{value:"",label:e("filter.all")}].concat(At.map(function(r){return{value:r.key,label:e("filter.option",{name:bt(e,r),count:r.skills.length})}}));function I(r){if(!r.fallbackTo)return null;var i=Rt.find(function(v){return v.key===r.fallbackTo.root});return i?o("div",{className:"dssm-note dssm-fallback"},e("status.fallback."+r.fallbackTo.scope,{source:bt(e,i)})):null}function rt(r,i,v){var C=r==="status.enabled",T=r==="status.disabled",M=r==="status.invalid",q=C?"var(--dsw-alias-state-success-primary, #51b976)":T?"var(--dsw-alias-state-warn-primary, #d49245)":M?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",$=C?"M8 0a8 8 0 100 16A8 8 0 008 0zm3.28 6.72l-4 4a.75.75 0 01-1.06 0l-2-2a.75.75 0 111.06-1.06L7 9.44l3.47-3.47a.75.75 0 011.06 1.06z":T?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":M?"M8.982 1.566a1.13 1.13 0 00-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 01-1.1 0L7.1 5.995A.905.905 0 018 5zm.002 6a1 1 0 110 2 1 1 0 010-2z":"M8.28 1.34a.75.75 0 00-.56 0l-6.5 2.5a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-6.5-2.5zm5.97 6.41L8 10.15 1.75 7.75l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.2zM14.25 11.5L8 13.9 1.75 11.5l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.19z",B=i||e(r);return o("span",{className:"dssm-status "+(v||""),title:B,"aria-label":B,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:q,width:20,height:20,verticalAlign:"middle"}},o("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},o("path",{d:$})))}function la(r,i,v){var C=function(N){return v?Object.assign({},N,{workspace:v}):N},T=Ca(i),M=r.toggleable!==!1,q=i.shadowedBy?"status.shadowed":i.loadable===!1?"status.invalid":T?"status.enabled":"status.disabled",$=i.shadowedBy?"dssm-shadowed":T?"dssm-enabled":"dssm-disabled",B=!M||!!i.shadowedBy||i.loadable===!1,P=[{value:"detail",label:e("btn.detail")}],J=r.categories||[],Oe=i.categoryId||"";J.forEach(function(N){N.id!==Oe&&P.push({value:"category:"+N.id,label:e("category.assign",{name:N.name})})}),J.length&&Oe!==""&&P.push({value:"category:",label:e("category.assign",{name:e("category.uncategorized")})}),i.installSource&&P.push({value:"update",label:e("repo.manageUpdate")}),r.mutable&&P.push({value:"trash",label:e("btn.trash"),danger:!0});var S=i.shadowedBy?e("status.shadowedBy",{source:function(){var N=Rt.find(function(G){return G.key===i.shadowedBy.root});return N?bt(e,N):i.shadowedBy.root}()}):void 0,U=[o(Pt,{action:!0,icon:Ls(),label:e("btn.more"),disabled:y,options:P,onChange:function(N){if(N==="detail"&&Wt(r,i,v),N.indexOf("category:")===0){var G=N.slice(9),gt=J.find(function(La){return La.id===G});X("/category-assign",C({root:r.key,name:i.name,category:G}),"category.assigned",{name:i.name,category:gt?gt.name:e("category.uncategorized")})}N==="update"&&(ge.focusSource(i.installSource,i.name),s("repositories")),N==="trash"&&L({type:"trash-confirm",root:r.key,name:i.name,workspace:v})}})];U.push(o("div",{className:"dssm-row-state"},B?rt(q,S,$):null,M?Fa(T,e("skill.toggle")+" "+i.name,y||r.enabled===!1||i.loadable===!1,function(){X(T?"/disable":"/enable",C({root:r.key,name:i.name}))}):null));var Se=i.declaredName||i.name,re=i.description||e("note.missing"),ie=r.mutable===!0||!!(r.categories&&r.categories.length);return o("div",{key:r.key+":"+i.name,className:"dssm-skill-row",draggable:ie,onDragStart:function(N){if(ie){var G={root:r.key,name:i.name,currentCategoryId:i.categoryId||""};ue.current=G,N.dataTransfer.setData("text/plain",JSON.stringify(G)),N.dataTransfer.effectAllowed="move",N.currentTarget.classList.add("dragging")}},onDragEnd:function(N){ue.current=null,N.currentTarget.classList.remove("dragging"),Qe(N.currentTarget)},onDragOver:function(N){if(!(!ue.current||ue.current.root!==r.key||ue.current.name===i.name)){N.preventDefault(),N.stopPropagation();var G=N.currentTarget.getBoundingClientRect();N.currentTarget.classList.toggle("drop-before",N.clientY<G.top+G.height/2),N.currentTarget.classList.toggle("drop-after",N.clientY>=G.top+G.height/2)}},onDragLeave:function(N){N.currentTarget.classList.remove("drop-before","drop-after")},onDrop:function(N){N.preventDefault(),N.stopPropagation(),N.currentTarget.classList.remove("drop-before","drop-after");var G=ue.current;if(ue.current=null,Qe(N.currentTarget),!(!G||G.root!==r.key||G.name===i.name)){var gt=N.currentTarget.getBoundingClientRect();X("/category-move",C({root:r.key,name:G.name,category:i.categoryId||"",targetName:i.name,position:N.clientY<gt.top+gt.height/2?"before":"after"}),"category.moved",{name:G.name})}}},ie?o("div",{className:"dssm-drag-handle",title:e("category.dragTip")},"\u22EE\u22EE"):null,o("div",{className:"dssm-skill-copy"},o("div",{className:"dssm-name"},Se),o("div",{className:"dssm-skill-desc",title:i.description||void 0},re),I(i)),o("div",{className:"dssm-skill-actions"},U))}var Zt=qt.flatMap(function(r){return(r.skills||[]).map(function(i){return{root:r,skill:i}})}),Me=Zt.filter(function(r){return(!Ue||r.root.key===Ue)&&(!_.status||Ka(r.skill)===_.status)&&Va(Object.assign({},r.skill,{rootLabel:bt(e,r.root)}),pe)}),pt=Lr(Zt);function da(r,i,v){var C=i?{root:r.key,workspace:i}:{root:r.key},T=[];return T.push(jt(e("category.create"),Ye("M8 2.5v11M2.5 8h11"),function(){De(""),L({type:"category-create",root:r.key,workspace:i})},!1,y)),Er(r)&&T.push(o(As,{on:r.enabled,disabled:y,label:e("source.toggle")+" "+v,onClick:function(){X(r.enabled?"/source-disable":"/source-enable",C)}})),o("span",{className:"dssm-source-actions",onClick:function(M){M.stopPropagation()}},T)}function Ra(){return o("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},o("path",{fill:"#f59e0b",d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z"}))}function ca(){return o("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},o("path",{fill:"#fde68a",opacity:.85,d:"M159 768h612.3l103.4-256H262.3z"}),o("path",{fill:"#f59e0b",d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}))}function Qe(r){var i=r.closest(".dssm-section");i&&Array.prototype.forEach.call(i.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(v){v.classList.remove("drag-over","drop-before","drop-after")})}function ua(r,i,v,C,T){var M=JSON.stringify(["category",C||"",r.key,i.id||"none"]),q=F[M]===void 0?!!(pe||_.status):F[M],$=i.scope||i.skills,B=$.filter(function(S){return S.skill.loadable!==!1}),P=B.filter(function(S){return Ca(S.skill)}).length,J=B.length>0&&P===B.length,Oe=function(S){return v?Object.assign({},S,{workspace:v}):S};return o("section",{key:r.key+":"+(i.id||"none"),className:"dssm-cat","aria-label":i.name,onDragOver:function(S){S.preventDefault(),ue.current&&ue.current.root===r.key&&ue.current.currentCategoryId!==i.id?S.currentTarget.classList.add("drag-over"):S.currentTarget.classList.remove("drag-over")},onDragLeave:function(S){var U=S.relatedTarget;U&&S.currentTarget.contains(U)||S.currentTarget.classList.remove("drag-over")},onDrop:function(S){S.preventDefault(),ue.current=null,S.currentTarget.classList.remove("drag-over"),Qe(S.currentTarget);try{var U=JSON.parse(S.dataTransfer.getData("text/plain")||"{}");U&&U.name&&U.root===r.key&&U.currentCategoryId!==i.id&&X("/category-assign",Oe({root:r.key,name:U.name,category:i.id}),"category.assigned",{name:U.name,category:i.name})}catch{}}},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":q,onClick:function(){O(function(S){var U={};return U[M]=!q,Object.assign({},S,U)})}},o("span",{className:"dssm-cat-title"},o(q?ca:Ra),i.name),o("span",{className:"dssm-count"},e("category.progress",{count:$.length,enabled:P,usable:B.length}))),o("span",{className:"dssm-source-actions",onClick:function(S){S.stopPropagation()}},i.locked?null:jt(e("category.addSkills"),Ye("M8 2.5v11M2.5 8h11"),function(){var S={};(r.categories||[]).forEach(function(re){S[re.id]=re.name});var U=T||i.scope||i.skills,Se=U.filter(function(re){return re.skill.categoryId!==i.id}).map(function(re){return{name:re.skill.name,declaredName:re.skill.declaredName,description:re.skill.description,currentCatName:re.skill.categoryId&&S[re.skill.categoryId]||e("category.uncategorized")}});ee({}),Y(""),L({type:"category-add",root:r.key,id:i.id,name:i.name,workspace:v,skills:Se})},!1,y),i.locked?null:jt(e("category.rename"),Ye("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){De(i.name),L({type:"category-rename",root:r.key,id:i.id,name:i.name,workspace:v})},!1,y),i.locked?null:jt(e("category.delete"),Ye("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){L({type:"category-delete",root:r.key,id:i.id,name:i.name,workspace:v})},!0,y),Fa(J,e("category.toggle")+" "+i.name,y||r.enabled===!1||B.length===0,function(){X(J?"/category-disable":"/category-enable",Oe({root:r.key,category:i.id}))}))),q?i.skills.length?o("div",{className:"dssm-skill-list"},i.skills.map(function(S){return la(r,S.skill,v)})):o("div",{className:"dssm-empty"},e("category.empty")):null)}function pa(r,i,v,C,T){var M=r.categories||[],q=function(S,U){var Se=r.categoryOrder&&r.categoryOrder[U]||[],re=Object.create(null);return Se.forEach(function(ie,N){re[ie]=N}),S.map(function(ie,N){return{row:ie,index:N,rank:re[ie.skill.name]}}).sort(function(ie,N){return ie.rank!==void 0&&N.rank!==void 0?ie.rank-N.rank:ie.rank!==void 0?-1:N.rank!==void 0?1:ie.index-N.index}).map(function(ie){return ie.row})};if(!M.length)return i.length?o("div",{className:"dssm-skill-list"},q(i,"").map(function(S){return la(r,S.skill,v)})):o("div",{className:"dssm-empty"},e("empty.source"));var $={},B=T||i;M.forEach(function(S){$[S.id]=!0});var P=function(S,U){return q(S.filter(function(Se){return U?Se.skill.categoryId===U:!Se.skill.categoryId||!$[Se.skill.categoryId]}),U)},J=M.map(function(S){return{id:S.id,name:S.name,locked:!1,skills:P(i,S.id),scope:P(B,S.id)}});J.push({id:"",name:e("category.uncategorized"),locked:!0,skills:P(i,""),scope:P(B,"")});var Oe=!!(pe||_.status);return o("div",null,o("p",{className:"dssm-note dssm-cat-note"},e("category.note")),J.filter(function(S){return!Oe||S.skills.length}).map(function(S){return ua(r,S,v,C,B)}))}function Aa(r,i,v,C){var T=(v||Zt).filter(function(P){return P.root.key===r.key}),M=(v||Me).filter(function(P){return P.root.key===r.key});if(Ue&&r.key!==Ue||(pe||_.status)&&!M.length)return null;var q=JSON.stringify([ct,C||"",r.key,pe,Ue,_.status]),$=F[q]===void 0?i?!0:!!(pe||Ue||_.status):F[q],B=i?bt(e,Object.assign({},r,{projectName:void 0})):bt(e,r);return o("section",{key:(C||"")+r.key,className:"dssm-source","data-source-key":r.key},o("div",{className:"dssm-source-head"},o("button",{type:"button",className:"dssm-source-toggle","aria-expanded":$,onClick:function(){O(function(P){var J={};return J[q]=!$,Object.assign({},P,J)})}},fr(o,$),o("div",{className:"dssm-source-label"},Qt(r.key),o("span",{className:"dssm-source-title"},B),o("span",{className:"dssm-count"},e(ka("summary.group",M.length),{count:M.length})),o("span",{className:"dssm-source-path",title:r.path},r.path))),da(r,i,B)),$?o("div",{className:"dssm-source-body",role:"region"},pa(r,M,i,C,T)):null)}function Yt(){var r=R==="project",i=r?ae:void 0,v=qt.map(function(T){return Aa(T,i,void 0,i?i+"|":void 0)}).filter(Boolean),C=v.length?v:o("div",{className:"dssm-empty"},pe||_.status?e("empty.search"):e("empty.source"));return r&&(wt.error?C=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.listFailed",{error:wt.error})):wt.loading||ae&&(!ut||ut.loading)?C=o("div",{className:"dssm-empty"},e("workspace.loading")):ae?ut?.error?C=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.loadFailed",{error:ut.error})):!Zt.length&&!pe&&!_.status&&(C=o("div",{className:"dssm-empty"},e("workspace.noSkills"))):C=o("div",{className:"dssm-empty"},e(oe.length?"workspace.unavailable":"project.empty"))),o("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+R,className:"dssm-sources"},C)}function ma(){return o("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},Ae.trash.length?Ae.trash.map(function(r){return o("div",{key:r.id,className:"dssm-trash-item",role:"group","aria-label":r.name},o("div",{className:"dssm-trash-main"},o("div",{className:"dssm-name"},r.name),o("div",{className:"dssm-trash-meta"},o("time",{dateTime:r.deletedAt},e("trash.deletedAt",{time:Nr(e,r.deletedAt)})),o("span",{className:"dssm-trash-source"},e("trash.source",{source:qe(r)})))),o("div",{className:"dssm-trash-actions"},jt(e("btn.restore"),Ye("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){X("/trash-restore",ia(r),"result.restored",{name:r.name}).catch(function(){})},!1,y),jt(e("btn.delete.forever"),Ye("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){L({type:"delete-confirm",id:r.id,name:r.name})},!0,y)))}):o("div",{className:"dssm-empty"},e("trash.empty")))}var ge=vs({active:R==="repositories",t:e,onInstalled:function(){return Promise.all([$e(!1),Be()])}});function Te(r){var i=r==="user"?"M8 0a8 8 0 100 16A8 8 0 008 0zm6.5 8a6.5 6.5 0 01-.65 2.82L10.3 8.35a.75.75 0 00-1.06 0L8.2 9.4V6.5a.75.75 0 00-.75-.75h-1V4.25a.75.75 0 00-.75-.75h-1a6.47 6.47 0 013.3-1.95v1.2a.75.75 0 00.75.75h1.5a.75.75 0 00.75-.75V2.3A6.52 6.52 0 0114.5 8z":r==="project"?"M1.75 2.5h3.44l1.5 1.5h7.56c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 01-1.75 1.75H1.75A1.75 1.75 0 010 13.25V4.25C0 3.284.784 2.5 1.75 2.5z":r==="repositories"?"M8 0a8 8 0 100 16A8 8 0 008 0zm2.93 5.07l-1.5 4.5a.75.75 0 01-.43.43l-4.5 1.5a.375.375 0 01-.47-.47l1.5-4.5a.75.75 0 01.43-.43l4.5-1.5a.375.375 0 01.47.47z":"M5.5 1.25h5c.4 0 .75.35.75.7V3h2.5c.5 0 .9.4.9.9s-.4.9-.9.9h-.35l-.65 8.1a1.6 1.6 0 0 1-1.6 1.5H4.85a1.6 1.6 0 0 1-1.6-1.5L2.6 4.8H2.25c-.5 0-.9-.4-.9-.9s.4-.9.9-.9H4.75V1.95c0-.4.35-.7.75-.7z";return o("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor",style:{marginRight:6,display:"inline-block",verticalAlign:"-2px"},"aria-hidden":!0},o("path",{d:i}))}var Et=["user","project","repositories","trash"].map(function(r){var i=e("scope."+r),v=r==="trash"?(Ae.trash||[]).length:0,C=Te(r);return{value:r,id:"dssm-tab-"+r,panelId:"dssm-scope-panel",label:v>0?[C,i,o("span",{className:"dssm-trash-count"},v)]:[C,i]}}),mt=o(Ie.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:e("scope.label"),value:R,onChange:function(r){s(r),(r==="project"||r==="trash")&&at(r==="project"),r==="trash"&&$e(!0)},items:Et}),ga=[R==="project"?null:o("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(r){return o("div",{key:r[1],className:"dssm-stat"},o("strong",null,pt[r[0]]),e(ka(r[1],pt[r[0]]),{count:pt[r[0]]}).replace(String(pt[r[0]]),""))})),o("div",{key:"filters",className:"dssm-filters"},R==="project"?null:o("div",{className:"dssm-source-filter"},o(Pt,{value:Ue,label:e("filter.source"),options:Ee,onChange:Kt})),o("div",{className:"dssm-status-filter"},o(Pt,{value:_.status,label:e("filter.status"),options:[{value:"",label:e("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(r){return{value:r,label:e("status."+r)}})),onChange:function(r){Ke("status",r)}})),R==="project"?o("div",{className:"dssm-project-filter"},o(Pt,{value:ae,label:e("filter.workspace"),disabled:wt.loading||!oe.length,options:oe.map(function(r){return{value:Ce(r),label:r.name+(r.available?"":" \xB7 "+e("workspace.unavailable"))+(oe.filter(function(i){return i.name===r.name}).length>1?" \xB7 "+Ce(r):""),disabled:!r.available||!Ce(r)}}),onChange:na})):null,o(ot,{className:"dssm-search",allowClear:!0,value:pe,"aria-label":e("search"),placeholder:e("search.placeholder"),onChange:function(r){Na(r.target.value)}}),R!=="trash"?o("div",{className:"dssm-filter-actions"},Ba(e("btn.refresh"),Ye("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),function(){$e(!1),R==="project"&&Be()},y||p.loading),Ba(e("btn.create"),Ye("M8 2.5v11M2.5 8h11"),Fe,y,e("btn.create")+"\u2026"),Ba(e("import.global"),Ye("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),Lt,y)):null)],we=[o("style",{key:"css"},ws),o("div",{key:"head",className:"dssm-head"},o("div",{className:"dssm-title-block"},o("div",{className:"dssm-title-row"},o("h2",{className:"dssm-title"},e("title")),o("div",{className:"dssm-feedback-links"},o(Ie.Button,{variant:"outline",size:"sm","aria-label":e("link.project"),icon:o(qs),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},e("link.project")),o(Ie.Button,{variant:"outline",size:"sm","aria-label":e("link.feedback"),icon:o(hs),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},e("link.feedback")))),o("p",{className:"dssm-desc"},e("desc")))),mt].concat(R==="trash"||R==="repositories"?[]:ga,[b&&x!=="import"?o("div",{key:"result",className:"dssm-feedback"+(b.warning?" dssm-warning":b.ok?"":" dssm-error")},b.text):null],(Ae.warnings||[]).map(function(r,i){return o("div",{key:"warning-"+i,className:"dssm-feedback dssm-warning",role:"alert"},fe(e,r))}),[p.error?o("div",{key:"error",className:"dssm-feedback dssm-error"},p.error):null,p.loading&&!p.data?o("div",{key:"loading",className:"dssm-empty"},e("loading")):R==="repositories"?ge.content:R==="trash"?ma():Yt()]);if(x==="create"&&we.push(o(Je,{key:"create",title:e("create.title"),closeLabel:e("btn.close"),onClose:function(){L(null)}},o("div",{className:"dssm-form"},o(br,{t:e,value:Ve,disabled:y,allowAgents:!0,workspaces:oe,userDestinations:me,onChange:function(r){it(Object.assign({},Ve,r))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(r){return o("label",{key:r[0],className:"dssm-field"},o("span",{className:"dssm-label"},e(r[1])),o(ot,{value:Ne[r[0]],placeholder:e(r[2]),onChange:function(i){et(r[0],i.target.value)}}))}),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("create.body")),o(ot.TextArea,{rows:8,value:Ne.body,placeholder:e("create.body.placeholder"),onChange:function(r){et("body",r.target.value)}})),o("p",{className:"dssm-help"},e("create.chat.note"))),o("div",{className:"dssm-modal-actions"},be(e("btn.cancel"),function(){L(null)},"outline"),be(e("btn.create.now"),sa,"primary",y||!Ne.name.trim()||!Ne.description.trim()||!Ne.body.trim()||!ft(Ve,oe,me))))),x==="import"&&we.push(o(Je,{key:"import",className:"dssm-modal-import",title:e("import.title"),closeLabel:e("btn.close"),onClose:function(){We.current=!1,xe(null),W(null),L(null)}},o("input",{ref:Ct,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(r){St(r.target.files),r.target.value=""}}),o("input",{ref:ra,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(r){St(r.target.files),r.target.value=""}}),o("div",{className:"dssm-dropzone",onDragOver:function(r){r.preventDefault(),r.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(r){r.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(r){r.preventDefault(),r.currentTarget.classList.remove("dssm-dropzone-active"),Ss(r.dataTransfer).then(St).catch(function(i){W({ok:!1,text:fe(e,i)})})}},o("span",{className:"dssm-dropzone-title"},e("upload.drop.title")),o("span",{className:"dssm-dropzone-copy"},e("upload.drop.copy")),o("div",{className:"dssm-upload-choices"},o("button",{type:"button",className:"dssm-upload-link",disabled:y,onClick:function(r){r.stopPropagation(),Nt(ra)}},e("btn.folder.pick")),o("span",{className:"dssm-upload-divider"},"/"),o("button",{type:"button",className:"dssm-upload-link",disabled:y,onClick:function(r){r.stopPropagation(),Nt(Ct)}},e("btn.file.pick")))),ce?o("div",{className:"dssm-file",title:ce.name},o("span",{className:"dssm-file-kind","aria-hidden":"true"},ce.kind==="zip"?"ZIP":ce.kind==="folder"?"DIR":"MD"),o("span",{className:"dssm-file-name"},ce.name),o("span",{className:"dssm-file-meta"},e(ka("upload.selected",ce.count),{count:ce.count,size:ce.size<1024?ce.size+" B":Math.ceil(ce.size/1024)+" KB"})),o("button",{type:"button",className:"dssm-file-remove","aria-label":e("upload.remove"),onClick:function(){xe(null)}},"\xD7")):null,o(br,{t:e,value:je,disabled:y,allowAgents:!0,workspaces:oe,userDestinations:me,onChange:function(r){Bt(Object.assign({},je,r))}}),b?o("div",{className:"dssm-feedback"+(b.warning?" dssm-warning":b.ok?"":" dssm-error"),role:"alert"},b.text):null,o("div",{className:"dssm-upload-requirements"},o("div",{className:"dssm-label"},e("upload.requirements")),o("ul",null,o("li",null,e("upload.requirement.skill")),o("li",null,e("upload.requirement.frontmatter")),o("li",null,e("upload.requirement.copy")))),o("div",{className:"dssm-modal-actions"},be(e("btn.cancel"),function(){We.current=!1,xe(null),W(null),L(null)},"outline"),be(e(y?"upload.importing":"btn.import.now"),oa,"primary",y||!ce||!ft(je,oe,me))))),x==="detail"&&we.push(o(Je,{key:"detail",wide:!0,title:e("detail.title"),closeLabel:e("btn.close"),onClose:function(){L(null)}},Re?o("div",{className:"dssm-detail"},o("div",{className:"dssm-name"},Re.declaredName||Re.name),Re.description?o("p",{className:"dssm-desc"},Re.description):null,o("div",{className:"dssm-detail-path"},Re.path),Re.diagnostics.length?Re.diagnostics.map(function(r,i){return o("div",{key:i,className:"dssm-diag"},e(r.code,r.params||{}))}):null,o(ot.TextArea,{readOnly:!0,value:Re.body||"",autoSize:{minRows:6,maxRows:16}})):o("div",{className:"dssm-empty"},e("loading")))),x&&typeof x=="object"&&x.type==="trash-confirm"&&we.push(o(Je,{key:"trash-confirm",title:e("confirm.trash.title"),description:e("confirm.trash.desc",{name:x.name}),closeLabel:e("btn.close"),onClose:function(){L(null)},footer:o(ea.Fragment,null,be(e("btn.cancel"),function(){L(null)},"outline"),be(e("btn.trash"),function(){X("/delete",Object.assign({root:x.root,name:x.name},x.workspace?{workspace:x.workspace}:{}),"result.trashed",{name:x.name}).then(function(){L(null)}).catch(function(){})},"danger",y))})),x&&typeof x=="object"&&x.type==="delete-confirm"&&we.push(o(Je,{key:"delete-confirm",title:e("confirm.delete.title"),description:e("confirm.delete.desc",{name:x.name}),closeLabel:e("btn.close"),onClose:function(){L(null)},footer:o(ea.Fragment,null,be(e("btn.cancel"),function(){L(null)},"outline"),be(e("btn.delete.forever"),function(){X("/trash-delete",{id:x.id},"result.deleted",{name:x.name}).then(function(){L(null)}).catch(function(){})},"danger",y))})),x&&typeof x=="object"&&(x.type==="category-create"||x.type==="category-rename")){var Mt=x.type==="category-rename",st=x,Ze=te.trim(),fa=!!Ze&&(!Mt||Ze!==st.name),Tt=function(){if(!(y||!fa)){var r=Mt?X("/category-rename",{root:st.root,id:st.id,name:Ze,workspace:st.workspace},"category.renamed"):X("/category-create",{root:st.root,name:Ze,workspace:st.workspace},"category.created",{name:Ze});r.then(function(){L(null)}).catch(function(){})}};we.push(o(Je,{key:x.type,title:e(Mt?"category.rename":"category.create"),closeLabel:e("btn.close"),onClose:function(){L(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("category.name")),o(ot,{value:te,maxLength:24,"aria-label":e("category.name"),onChange:function(r){De(r.target.value)},onPressEnter:Tt})),o("p",{className:"dssm-help"},e("category.note"))),o("div",{className:"dssm-modal-actions"},be(e("btn.cancel"),function(){L(null)},"outline"),be(e(Mt?"btn.confirm":"category.create"),Tt,"primary",y||!fa))))}if(x&&typeof x=="object"&&x.type==="category-add"){var He=x,Ht=u.trim().toLowerCase(),Jt=He.skills.filter(function(r){return!Ht||r.name.toLowerCase().includes(Ht)||r.declaredName&&r.declaredName.toLowerCase().includes(Ht)||r.description&&r.description.toLowerCase().includes(Ht)}),zt=new Set(He.skills.map(function(r){return r.name})),Gt=Object.keys(ye).filter(function(r){return ye[r]&&zt.has(r)}).length;we.push(o(Je,{key:"category-add",title:e("category.selectSkills",{name:He.name}),closeLabel:e("btn.close"),onClose:function(){ee({}),Y(""),L(null)}},o(ot,{placeholder:e("search.placeholder"),value:u,allowClear:!0,onChange:function(r){Y(r.target.value)}}),o("div",{className:"dssm-batch-list"},Jt.length?Jt.map(function(r){var i=!!ye[r.name];return o("div",{key:r.name,className:"dssm-batch-item"+(i?" selected":""),onClick:function(){var v=Object.assign({},ye);i?delete v[r.name]:v[r.name]=!0,ee(v)}},o("input",{type:"checkbox",checked:i,readOnly:!0}),o("div",{className:"dssm-batch-info"},o("div",{className:"dssm-batch-name-row"},o("span",{className:"dssm-batch-name"},r.declaredName||r.name),r.currentCatName?o("span",{className:"dssm-batch-cat-tag"},r.currentCatName):null),r.description?o("div",{className:"dssm-batch-desc",title:r.description},r.description):null))}):o("div",{className:"dssm-empty"},e("category.noAvailableSkills"))),o("div",{className:"dssm-modal-actions"},be(e("btn.cancel"),function(){ee({}),Y(""),L(null)},"outline"),be(e("category.addSkills")+(Gt?" ("+Gt+")":""),function(){var r=Object.keys(ye).filter(function(v){return ye[v]&&zt.has(v)});if(!r.length){ee({}),Y(""),L(null);return}if(!_e.current){var i=function(v){return He.workspace?Object.assign({},v,{workspace:He.workspace}):v};_e.current=!0,k(!0),ee({}),Y(""),L(null),r.reduce(function(v,C){return v.then(function(){return l("/category-assign",{method:"POST",headers:$t,body:JSON.stringify(i({root:He.root,name:C,category:He.id}))})})},Promise.resolve()).then(function(){W({ok:!0,text:e("category.batchAssigned",{count:r.length,category:He.name})})}).catch(function(v){W({ok:!1,text:fe(e,v)})}).finally(function(){_e.current=!1,k(!1);var v=He.workspace;Promise.all([$e(!0),v?Le(v):null]).catch(function(){})})}},"primary",y||!Gt))))}return x&&typeof x=="object"&&x.type==="category-delete"&&we.push(o(Je,{key:"category-delete",title:e("confirm.category.title"),description:e("confirm.category.desc",{name:x.name}),closeLabel:e("btn.close"),onClose:function(){L(null)},footer:o(ea.Fragment,null,be(e("btn.cancel"),function(){L(null)},"outline"),be(e("category.delete"),function(){X("/category-delete",{root:x.root,id:x.id,workspace:x.workspace},"category.deleted",{name:x.name}).then(function(){L(null)}).catch(function(){})},"danger",y))})),o("section",{className:"dssm-section"},we)}var Ys=["slots","locale"];function Js(a){Cr=a.locale,a.effect(function(){return a.locale.register(ya,Sa)}),a.effect(function(){return cr({endpoint:"/api/michengai/dsh-skills-manager/update",packageName:"@michengai/dsh-skills-manager",titleRowSelector:".dssm-title-row",linksSelector:".dssm-feedback-links",zhName:"\u6280\u80FD",enName:"Skills",createIcon:ys})},"skills-manager: plugin update ui"),hr(a,function(){return a.locale.bind(ya)("title")}),a.slots.inject("settings.section",function(){return a.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return a.locale.bind(ya)("title")},icon:"skill",locale:ya},Qs)})}module.exports.formatTrashTime=Nr;module.exports.DICT=Sa;module.exports.translateError=fe;module.exports.parseApiResponse=xr;module.exports.isSkillEnabled=Ca;module.exports.countKey=ka;module.exports.rootDisplayName=bt;module.exports.summarizeImportResult=Rr;module.exports.normalizeSkillQuery=Ar;module.exports.matchSkillQuery=Va;module.exports.filterSkills=ks;module.exports.visibleSkillRoots=Wa;module.exports.scopeSkillRoots=Mr;module.exports.skillStatus=Ka;module.exports.countSkillStatuses=Lr;module.exports.currentSessionId=Ir;module.exports.canToggleSource=Er;module.exports.recoverModalFocus=zr;module.exports.trapModalFocus=Rs;module.exports.inspectUploadSelection=Tr;module.exports.apply=Js;module.exports.inject=Ys;
30
31
  return module.exports;
31
32
  } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@michengai/dsh-skills-manager",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": "DSH Skills Manager — 在 DeepSeek Harness 中统一加载并安全管理本机 Agent Skills · Load and safely manage local Agent Skills in DSH",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {