@michengai/dsh-skills-manager 1.2.35 → 1.3.0

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/lib/client.js CHANGED
@@ -1,7 +1,7 @@
1
1
  window.__ModuleLoader__.load({ id: "@michengai/dsh-skills-manager", factory: (require) => {
2
2
  var module = { exports: {} };
3
3
  var exports = module.exports;
4
- "use strict";var Fo=Object.create;var Xr=Object.defineProperty;var Vo=Object.getOwnPropertyDescriptor;var Wo=Object.getOwnPropertyNames;var Ko=Object.getPrototypeOf,qo=Object.prototype.hasOwnProperty;var Qo=(t,e,i,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of Wo(e))!qo.call(t,p)&&p!==i&&Xr(t,p,{get:()=>e[p],enumerable:!(l=Vo(e,p))||l.enumerable});return t};var na=(t,e,i)=>(i=t!=null?Fo(Ko(t)):{},Qo(e||!t||!t.__esModule?Xr(i,"default",{value:t,enumerable:!0}):i,t));var Fa=na(require("react"),1);var Dr={zh:{"repo.catalog.unknownLocation":"\u4F4D\u7F6E\u672A\u77E5","repo.catalog.reassociate":"\u9009\u62E9\u4F4D\u7F6E\u5E76\u91CD\u5173\u8054\u5B89\u88C5","repo.catalog.unknownHint":"\u6709\u65E7\u76EE\u5F55\u5B89\u88C5\u8BB0\u5F55\u4F4D\u7F6E\u672A\u77E5\uFF1B\u627E\u5230\u5BF9\u5E94\u6280\u80FD\u540E\u53EF\u9009\u62E9\u4F4D\u7F6E\u91CD\u5173\u8054\u5B89\u88C5\u3002","repo.catalog.loadMore":"\u518D\u52A0\u8F7D 10 \u6761","repo.catalog.installRefreshWarning":"\u6280\u80FD\u5DF2\u5B89\u88C5\u5E76\u542F\u7528\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u91CD\u65B0\u6253\u5F00\u53D1\u73B0\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5B89\u88C5\u3002","repo.catalog.uninstallRefreshWarning":"\u6280\u80FD\u5DF2\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u5237\u65B0\u6280\u80FD\u5217\u8868\u6216\u91CD\u65B0\u6253\u5F00\u8BBE\u7F6E\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5378\u8F7D\u3002","repo.installElsewhere":"\u5B89\u88C5\u5230\u5176\u4ED6\u4F4D\u7F6E","repo.destinationUnavailable":"\u539F\u9879\u76EE\u672A\u767B\u8BB0\u6216\u76EE\u5F55\u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u7BA1\u7406\u6B64\u526F\u672C\u3002\u8BF7\u5728\u4FA7\u680F\u91CD\u65B0\u767B\u8BB0\u539F\u9879\u76EE\u540E\u5237\u65B0\u3002","repo.scope.user":"\u5168\u5C40","repo.scope.project":"\u9879\u76EE","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026","repo.refreshed":"\u5237\u65B0\u4E0E\u66F4\u65B0\u68C0\u67E5\u5B8C\u6210","repo.partialRefreshFailed":"\u90E8\u5206\u4ED3\u5E93\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF08{names}\uFF09\uFF0C\u5176\u4F59\u5DF2\u5B8C\u6210","repo.detailLoading":"\u6B63\u5728\u8BFB\u53D6\u6280\u80FD\u8BF4\u660E\u2026","repo.local":"\u672C\u673A","repo.source":"\u5B89\u88C5\u6765\u6E90","repo.update":"\u53EF\u66F4\u65B0","repo.review":"\u67E5\u770B\u66F4\u65B0","repo.rollback":"\u6062\u590D\u4E0A\u4E00\u7248","repo.confirmUpdate":"\u5907\u4EFD\u5E76\u66F4\u65B0","repo.confirmRollback":"\u5907\u4EFD\u5E76\u6062\u590D","repo.overwrite":"\u5907\u4EFD\u672C\u5730\u4FEE\u6539\u5E76\u66FF\u6362","repo.modified":"\u68C0\u6D4B\u5230\u672C\u5730\u4FEE\u6539\u3002\u66FF\u6362\u4F1A\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u539F\u6587\u4EF6\u5C06\u5B8C\u6574\u5907\u4EFD\uFF0C\u53EF\u6062\u590D\u3002","repo.noChanges":"\u6587\u4EF6\u5185\u5BB9\u6CA1\u6709\u53D8\u5316\u3002","repo.added":"\u65B0\u589E","repo.removed":"\u5220\u9664","repo.modifiedFile":"\u4FEE\u6539","repo.updating":"\u66F4\u65B0\u4E2D\u2026","repo.updateProgress":"\u6B63\u5728\u6821\u9A8C\u3001\u5907\u4EFD\u5E76\u66FF\u6362\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.updateSuccess":"\u66F4\u65B0\u5B8C\u6210\uFF0C\u5DF2\u4FDD\u7559\u4E0A\u4E00\u7248\u5907\u4EFD\u3002","repo.rollbackSuccess":"\u5DF2\u6062\u590D\u4E0A\u4E00\u7248\u3002","repo.manageUpdate":"\u7BA1\u7406\u66F4\u65B0","error.repo.modified":"\u5B58\u5728\u672C\u5730\u4FEE\u6539\uFF0C\u8BF7\u9884\u89C8\u5E76\u786E\u8BA4\u5907\u4EFD\u540E\u66FF\u6362\u3002","scope.repositories":"\u53D1\u73B0\u6280\u80FD","repo.add":"\u6DFB\u52A0\u4ED3\u5E93","repo.manage":"\u7BA1\u7406\u4ED3\u5E93","repo.refresh":"\u5237\u65B0\u5E76\u68C0\u67E5\u66F4\u65B0","repo.save":"\u6DFB\u52A0\u5E76\u626B\u63CF","repo.subsource.github":"Git \u4ED3\u5E93","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"\u70ED\u95E8\u4E0B\u8F7D Top 100","repo.catalog.states":"\u5168\u90E8\u72B6\u6001","repo.catalog.uninstalled":"\u672A\u5B89\u88C5","repo.catalog.searchClawhub":"\u641C\u7D22 ClawHub \u6280\u80FD","repo.catalog.searchLoading":"\u6B63\u5728\u641C\u7D22 ClawHub\u2026","repo.catalog.searchEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 ClawHub \u6280\u80FD\u3002","repo.catalog.searchError":"ClawHub \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.catalog.searchSkillsh":"\u641C\u7D22 skills.sh \u6280\u80FD","repo.catalog.skillshLoading":"\u6B63\u5728\u641C\u7D22 skills.sh\u2026","repo.catalog.skillshEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 skills.sh \u6280\u80FD\u3002","repo.catalog.skillshError":"skills.sh \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.sort.installs":"\u5B89\u88C5\u91CF\u4ECE\u9AD8\u5230\u4F4E","repo.sort.name":"\u540D\u79F0 A-Z","repo.subsource.catalogNote":"ClawHub \u4E0B\u8F7D\u91CF\u699C \xB7 \u6700\u591A 100 \u6761\uFF0C\u4EC5\u5BF9\u5F53\u524D\u663E\u793A\u6761\u76EE\u6392\u5E8F","repo.catalog.empty":"ClawHub \u5F53\u524D\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","repo.catalog.loading":"\u6B63\u5728\u52A0\u8F7D ClawHub \u699C\u5355\u2026","repo.catalog.loadError":"ClawHub \u699C\u5355\u52A0\u8F7D\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","repo.catalog.retry":"\u91CD\u8BD5","repo.catalog.loadingMore":"\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u2026","repo.catalog.downloads":"\u4E0B\u8F7D","repo.catalog.installs":"\u5B89\u88C5","repo.catalog.stars":"\u661F\u6807","repo.hint":"\u4ECE\u5DF2\u8BA2\u9605\u7684 Git \u4ED3\u5E93\u6216\u7B2C\u4E09\u65B9\u76EE\u5F55\u53D1\u73B0\u6280\u80FD\uFF0C\u5B89\u88C5\u5230\u7528\u6237\u76EE\u5F55\u7684 DSH skills \u6216 Shared Agent\uFF0C\u6216\u5DF2\u767B\u8BB0\u9879\u76EE\u7684 .dsh/skills\u3002","repo.footer":"\u5237\u65B0\u4F1A\u68C0\u67E5\u4ED3\u5E93\u4E0E\u6280\u80FD\u66F4\u65B0\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u66FF\u6362\u672C\u5730\u6587\u4EF6\u3002\u5386\u53F2\u5907\u4EFD\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\uFF0C\u5360\u7528\u7A7A\u95F4\u4F1A\u968F\u66F4\u65B0\u589E\u52A0\u3002","repo.search":"\u641C\u7D22\u4ED3\u5E93\u6280\u80FD","repo.all":"\u5168\u90E8\u4ED3\u5E93","repo.states":"\u5168\u90E8\u72B6\u6001","repo.available":"\u53EF\u5B89\u88C5","repo.installed":"\u5DF2\u5B89\u88C5","repo.conflict":"\u540C\u540D\u51B2\u7A81","repo.invalid":"\u683C\u5F0F\u65E0\u6548","repo.install":"\u5B89\u88C5","repo.detail":"\u8BE6\u60C5","repo.installing":"\u5B89\u88C5\u4E2D\u2026","repo.installProgress":"\u6B63\u5728\u8BFB\u53D6\u5E76\u6821\u9A8C\u6280\u80FD\u6587\u4EF6\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.installSuccess":"\u5B89\u88C5\u6210\u529F\u5E76\u5DF2\u542F\u7528\uFF0C\u53EF\u5728\u5BF9\u8BDD\u4E2D\u7528\u659C\u6760\u8C03\u7528\u3002","repo.installDestination":"\u5B89\u88C5\u4F4D\u7F6E","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"\u4EC5\u4F9B DSH \u4F7F\u7528\uFF0C\u8DEF\u5F84\u4EE5\u5F53\u524D DSH_HOME \u4E3A\u51C6\u3002","repo.rootExternalHint":"\u4F7F\u7528\u8BE5\u76EE\u5F55\u7684\u5176\u4ED6 Agent \u4E5F\u80FD\u8BFB\u53D6\u6B64\u6280\u80FD\u3002","repo.installLocationsHint":"\u7528\u6237\u76EE\u5F55\u53EF\u9009 DSH skills \u6216 Shared Agent\uFF1B\u5DF2\u767B\u8BB0\u9879\u76EE\u4EC5\u5199\u5165 .dsh/skills\u3002\u9009\u62E9\u5668\u663E\u793A\u5B9E\u9645\u8DEF\u5F84\u3002\u7F3A\u5C11\u7684\u76EE\u5F55\u4F1A\u5728\u786E\u8BA4\u5B89\u88C5\u540E\u521B\u5EFA\u3002\u4E0D\u5B89\u5168\u7684\u8DEF\u5F84\u4E0D\u53EF\u9009\u3002","repo.uninstall":"\u5378\u8F7D","repo.confirmUninstall":"\u79FB\u81F3\u56DE\u6536\u7AD9","repo.uninstallHint":"\u4EC5\u5C06\u6B64\u4ED3\u5E93\u5DF2\u8DDF\u8E2A\u7684\u5B89\u88C5\u526F\u672C\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u5305\u62EC\u672C\u5730\u4FEE\u6539\u3002\u4E4B\u540E\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.uninstallExternalWarning":"\u5378\u8F7D\u8BE5\u6280\u80FD\u4E5F\u4F1A\u5F71\u54CD\u4F7F\u7528\u6240\u9009\u76EE\u5F55\u7684\u5176\u4ED6 Agent\u3002","repo.uninstalling":"\u5378\u8F7D\u4E2D\u2026","repo.uninstallProgress":"\u6B63\u5728\u5C06\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.uninstallSuccess":"\u6280\u80FD\u5DF2\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u4ED3\u5E93\uFF0C\u6DFB\u52A0\u4E00\u4E2A Git \u4ED3\u5E93\u5F00\u59CB\u3002","repo.noSkills":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002\u53EF\u5237\u65B0\u4ED3\u5E93\u6216\u8C03\u6574\u7B5B\u9009\u3002","repo.url":"\u4ED3\u5E93\u5730\u5740","repo.urlPlaceholder":"owner/repo \u6216\u5B8C\u6574 Git \u5730\u5740","repo.ref":"\u5206\u652F\u6216\u6807\u7B7E\uFF08\u53EF\u9009\uFF09","repo.directory":"\u6280\u80FD\u5B50\u76EE\u5F55\uFF08\u53EF\u9009\uFF09","repo.defaultBranch":"\u7559\u7A7A\u4F7F\u7528\u9ED8\u8BA4\u5206\u652F","repo.defaultBranchLabel":"\u9ED8\u8BA4\u5206\u652F","repo.directoryHint":"\u4F8B\u5982 skills\uFF0C\u7559\u7A7A\u626B\u63CF\u6574\u4E2A\u4ED3\u5E93","repo.remove":"\u79FB\u9664\u4ED3\u5E93","repo.removeHint":"\u4EC5\u79FB\u9664\u4ED3\u5E93\u8BA2\u9605\uFF0C\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u4F1A\u4FDD\u7559\u3002","repo.removeConfirm":"\u786E\u8BA4\u79FB\u9664","repo.cancel":"\u53D6\u6D88","repo.close":"\u5173\u95ED","repo.loading":"\u5904\u7406\u4E2D\u2026","repo.success":"\u64CD\u4F5C\u5B8C\u6210","repo.installHint":"\u6280\u80FD\u53EF\u80FD\u5305\u542B\u811A\u672C\uFF0C\u8BF7\u5148\u67E5\u770B\u8BF4\u660E\u5E76\u786E\u8BA4\u4FE1\u4EFB\u6765\u6E90\u3002\u5B89\u88C5\u4F1A\u4FDD\u7559\u8D44\u6E90\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u6267\u884C\u811A\u672C\u3002","repo.commit":"\u626B\u63CF\u7248\u672C","repo.notScanned":"\u5C1A\u672A\u626B\u63CF","repo.updated":"\u4E0A\u6B21\u5237\u65B0","repo.copyBody":"\u590D\u5236\u6B63\u6587","repo.copied":"\u5DF2\u590D\u5236","repo.copyFailed":"\u590D\u5236\u5931\u8D25","error.repo.tooLarge":"\u4ED3\u5E93\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u3002","error.repo.transientTooLarge":"\u4ED3\u5E93\u4E34\u65F6\u4E0B\u8F7D\u4F53\u79EF\u8FC7\u5927\uFF08\u5305\u542B Git \u5386\u53F2\u5BF9\u8C61\uFF09\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u3002","error.repo.disk":"\u78C1\u76D8\u5269\u4F59\u7A7A\u95F4\u4E0D\u8DB3\uFF0C\u65E0\u6CD5\u68C0\u51FA\u8BE5\u4ED3\u5E93\u3002\u8BF7\u6E05\u7406\u78C1\u76D8\u7A7A\u95F4\u540E\u91CD\u8BD5\u3002","error.repo.noGit":"\u672A\u68C0\u6D4B\u5230 Git \u547D\u4EE4\u884C\u5DE5\u5177\uFF0C\u8BF7\u5148\u5B89\u88C5 Git \u540E\u91CD\u8BD5\u3002","error.repo.installState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u4FDD\u7559\uFF0C\u4F46\u6765\u6E90\u72B6\u6001\u672A\u786E\u8BA4\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u65B0\u6253\u5F00\u4ED3\u5E93\u9875\uFF0C\u7CFB\u7EDF\u4F1A\u6821\u9A8C\u6587\u4EF6\u5E76\u6062\u590D\u8BB0\u5F55\u3002","error.repo.capacity":"\u5B89\u88C5\u6765\u6E90\u72B6\u6001\u8D85\u8FC7 16 MiB\u3002\u8BF7\u5148\u6E05\u7406\u4E0D\u9700\u8981\u7684\u56DE\u6536\u8BB0\u5F55\u6216\u65E7\u8EAB\u4EFD\uFF0C\u4ECD\u6709\u6548\u7684\u5B89\u88C5\u526F\u672C\u4F1A\u4FDD\u7559\u3002","error.repo.invalid":"\u4ED3\u5E93\u5730\u5740\u3001\u8DEF\u5F84\u6216\u5185\u5BB9\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165\u53CA\u4ED3\u5E93\u5927\u5C0F\u3002","error.repo.network":"\u4ED3\u5E93\u8BBF\u95EE\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216\u7A0D\u540E\u91CD\u8BD5\u3002\u4E0A\u6B21\u5217\u8868\u5DF2\u4FDD\u7559\u3002","error.repo.state":"\u4ED3\u5E93\u72B6\u6001\u6587\u4EF6\u635F\u574F\u6216\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u4FDD\u7559\u6587\u4EF6\u5E76\u4FEE\u590D\u540E\u91CD\u8BD5\u3002","error.repo.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728\u6216\u5B89\u88C5\u5931\u8D25\uFF0C\u672C\u5730\u6587\u4EF6\u672A\u88AB\u8986\u76D6\u3002","error.repo.enableState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u64A4\u9500\uFF0C\u4F46\u542F\u7528\u72B6\u6001\u65E0\u6CD5\u5199\u5165\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u8BD5\u5B89\u88C5\u3002"},en:{"repo.catalog.unknownLocation":"Location unknown","repo.catalog.reassociate":"Choose destination and reinstall to reassociate","repo.catalog.unknownHint":"Some legacy catalog installs have unknown locations. Find the skill and choose a destination to reinstall and reassociate.","repo.catalog.loadMore":"Load 10 more","repo.catalog.installRefreshWarning":"Installed and enabled, but the list could not refresh. Reopen Discover Skills; do not install again.","repo.catalog.uninstallRefreshWarning":"Moved to trash, but the list could not refresh. Refresh the skill list or reopen Settings; do not uninstall again.","repo.installElsewhere":"Install elsewhere","repo.destinationUnavailable":"The original project is unregistered or unavailable. Re-register it in the sidebar and refresh to manage this copy.","repo.scope.user":"Global","repo.scope.project":"Project","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"Checking updates\u2026","repo.refreshed":"Refresh and update check completed","repo.partialRefreshFailed":"Failed to check updates for some repositories ({names}); others completed.","repo.detailLoading":"Loading skill instructions\u2026","repo.local":"Local","repo.source":"Installed from","repo.update":"Update available","repo.review":"Review update","repo.rollback":"Restore previous version","repo.confirmUpdate":"Back up and update","repo.confirmRollback":"Back up and restore","repo.overwrite":"Back up local edits and replace","repo.modified":"Local edits detected. Replacement overwrites current files and keeps a complete backup for restoration.","repo.noChanges":"No file changes.","repo.added":"Added","repo.removed":"Removed","repo.modifiedFile":"Modified","repo.updating":"Updating\u2026","repo.updateProgress":"Verifying, backing up and replacing files. Please wait\u2026","repo.updateSuccess":"Updated. Previous version backed up.","repo.rollbackSuccess":"Previous version restored.","repo.manageUpdate":"Manage updates","error.repo.modified":"Local edits detected. Review and confirm replacement with a backup.","scope.repositories":"Discover Skills","repo.add":"Add repository","repo.manage":"Manage repositories","repo.refresh":"Refresh & check updates","repo.save":"Add and scan","repo.subsource.github":"Git Repos","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"Top 100 by downloads","repo.catalog.states":"All statuses","repo.catalog.uninstalled":"Not installed","repo.catalog.searchClawhub":"Search ClawHub skills","repo.catalog.searchLoading":"Searching ClawHub\u2026","repo.catalog.searchEmpty":"No matching ClawHub skills were found.","repo.catalog.searchError":"ClawHub search failed. Please retry.","repo.catalog.searchSkillsh":"Search skills.sh","repo.catalog.skillshLoading":"Searching skills.sh\u2026","repo.catalog.skillshEmpty":"No matching skills.sh skills were found.","repo.catalog.skillshError":"skills.sh search failed. Please retry.","repo.sort.installs":"Installs: high to low","repo.sort.name":"Name A\u2013Z","repo.subsource.catalogNote":"ClawHub download ranking \xB7 Up to 100; sort only displayed items","repo.catalog.empty":"No matching skills were returned by ClawHub.","repo.catalog.loading":"Loading ClawHub ranking\u2026","repo.catalog.loadError":"Failed to load the ClawHub ranking. Check your connection and retry.","repo.catalog.retry":"Retry","repo.catalog.loadingMore":"Loading more\u2026","repo.catalog.downloads":"downloads","repo.catalog.installs":"installs","repo.catalog.stars":"stars","repo.hint":"Discover skills from subscribed Git repositories or community registries, and install them to user DSH skills or Shared Agent, or a registered project's .dsh/skills.","repo.footer":"Refresh checks repositories and skill updates without replacing local files. Historical backups are not cleaned automatically and use additional disk space.","repo.search":"Search repository skills","repo.all":"All repositories","repo.states":"All statuses","repo.available":"Available","repo.installed":"Installed","repo.conflict":"Name conflict","repo.invalid":"Invalid format","repo.install":"Install","repo.detail":"Details","repo.installing":"Installing\u2026","repo.installProgress":"Reading and verifying skill files. Please wait\u2026","repo.installSuccess":"Installed and enabled. Invoke it from the slash menu.","repo.installDestination":"Installation destination","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"For DSH only. The path uses your current DSH_HOME.","repo.rootExternalHint":"Other agents using this directory can read this skill too.","repo.installLocationsHint":"User directories offer DSH skills or Shared Agent; registered projects write only to .dsh/skills. The chooser shows actual paths. Missing directories are created after confirmation. Unsafe paths cannot be selected.","repo.uninstall":"Uninstall","repo.confirmUninstall":"Move to Trash","repo.uninstallHint":"Move only this repository\u2019s tracked installed copy, including local edits, to Trash. You can restore it from Trash later.","repo.uninstallExternalWarning":"Uninstalling this skill also affects other agents that use the selected directory.","repo.uninstalling":"Uninstalling\u2026","repo.uninstallProgress":"Moving the installed skill to Trash. Please wait\u2026","repo.uninstallSuccess":"Skill moved to Trash. You can restore it from Trash.","repo.empty":"No repositories yet. Add a Git repository to get started.","repo.noSkills":"No matching skills. Refresh the repository or adjust your filters.","repo.url":"Repository URL","repo.urlPlaceholder":"owner/repo or full Git repository URL","repo.ref":"Branch or tag (optional)","repo.directory":"Skill subdirectory (optional)","repo.defaultBranch":"Leave empty for the default branch","repo.defaultBranchLabel":"default branch","repo.directoryHint":"For example: skills. Leave empty to scan the repository.","repo.remove":"Remove repository","repo.removeHint":"This removes the subscription only. Installed skills are kept.","repo.removeConfirm":"Confirm removal","repo.cancel":"Cancel","repo.close":"Close","repo.loading":"Working\u2026","repo.success":"Completed","repo.installHint":"Skills may include scripts. Read the instructions and trust the source before installing. Resources are copied; scripts are not executed.","repo.commit":"Snapshot version","repo.notScanned":"Not scanned yet","repo.updated":"Last refreshed","repo.copyBody":"Copy body","repo.copied":"Copied","repo.copyFailed":"Copy failed","error.repo.tooLarge":"Repository exceeds size limit. Choose a smaller repository.","error.repo.transientTooLarge":"Repository transient download size exceeds limit (including Git objects). Choose a smaller repository.","error.repo.disk":"Not enough free disk space to check out this repository. Free up space and retry.","error.repo.noGit":"Git command-line tool not found. Please install Git and retry.","error.repo.installState":"Skill files were preserved but source tracking could not be saved. Restore disk write access and reopen Repositories to verify files and recover the record.","error.repo.capacity":"Source tracking exceeds 16 MiB. Remove unneeded Trash records or legacy identities first. Active installation copies are kept.","error.repo.invalid":"Invalid repository URL, path or contents. Check the input and repository size.","error.repo.network":"Repository request failed. Check your connection or retry later. The previous catalog was kept.","error.repo.state":"Repository state is corrupt or unreadable. Preserve the file and repair it before retrying.","error.repo.conflict":"A skill with this name exists or installation failed. Local files were not overwritten.","error.repo.enableState":"The copied skill was removed because its enabled state could not be saved. Restore disk write access and install again."}},Zo=`
4
+ "use strict";var on=Object.create;var go=Object.defineProperty;var nn=Object.getOwnPropertyDescriptor;var sn=Object.getOwnPropertyNames;var ln=Object.getPrototypeOf,cn=Object.prototype.hasOwnProperty;var dn=(a,e,d,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let m of sn(e))!cn.call(a,m)&&m!==d&&go(a,m,{get:()=>e[m],enumerable:!(u=nn(e,m))||u.enumerable});return a};var La=(a,e,d)=>(d=a!=null?on(ln(a)):{},dn(e||!a||!a.__esModule?go(d,"default",{value:a,enumerable:!0}):d,a));var $a=La(require("react"),1);function ho(a){return!a||!Array.isArray(a.changes)||a.changes.length===0?"unchanged":a.localModified?"local-modified":"updatable"}var eo={zh:{"repo.catalog.unknownLocation":"\u4F4D\u7F6E\u672A\u77E5","repo.catalog.reassociate":"\u9009\u62E9\u4F4D\u7F6E\u5E76\u91CD\u5173\u8054\u5B89\u88C5","repo.catalog.unknownHint":"\u6709\u65E7\u76EE\u5F55\u5B89\u88C5\u8BB0\u5F55\u4F4D\u7F6E\u672A\u77E5\uFF1B\u627E\u5230\u5BF9\u5E94\u6280\u80FD\u540E\u53EF\u9009\u62E9\u4F4D\u7F6E\u91CD\u5173\u8054\u5B89\u88C5\u3002","repo.catalog.loadMore":"\u518D\u52A0\u8F7D 10 \u6761","repo.catalog.installRefreshWarning":"\u6280\u80FD\u5DF2\u5B89\u88C5\u5E76\u542F\u7528\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u91CD\u65B0\u6253\u5F00\u53D1\u73B0\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5B89\u88C5\u3002","repo.catalog.uninstallRefreshWarning":"\u6280\u80FD\u5DF2\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u5237\u65B0\u6280\u80FD\u5217\u8868\u6216\u91CD\u65B0\u6253\u5F00\u8BBE\u7F6E\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5378\u8F7D\u3002","repo.installElsewhere":"\u5B89\u88C5\u5230\u5176\u4ED6\u4F4D\u7F6E","repo.destinationUnavailable":"\u539F\u9879\u76EE\u672A\u767B\u8BB0\u6216\u76EE\u5F55\u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u7BA1\u7406\u6B64\u526F\u672C\u3002\u8BF7\u5728\u4FA7\u680F\u91CD\u65B0\u767B\u8BB0\u539F\u9879\u76EE\u540E\u5237\u65B0\u3002","repo.scope.user":"\u5168\u5C40","repo.scope.project":"\u9879\u76EE","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026","repo.refreshed":"\u5237\u65B0\u4E0E\u66F4\u65B0\u68C0\u67E5\u5B8C\u6210","repo.partialRefreshFailed":"\u90E8\u5206\u4ED3\u5E93\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF08{names}\uFF09\uFF0C\u5176\u4F59\u5DF2\u5B8C\u6210","repo.detailLoading":"\u6B63\u5728\u8BFB\u53D6\u6280\u80FD\u8BF4\u660E\u2026","repo.local":"\u672C\u673A","repo.source":"\u5B89\u88C5\u6765\u6E90","repo.update":"\u53EF\u66F4\u65B0","repo.review":"\u67E5\u770B\u66F4\u65B0","repo.rollback":"\u6062\u590D\u4E0A\u4E00\u7248","repo.confirmUpdate":"\u5907\u4EFD\u5E76\u66F4\u65B0","repo.confirmRollback":"\u5907\u4EFD\u5E76\u6062\u590D","repo.overwrite":"\u5907\u4EFD\u672C\u5730\u4FEE\u6539\u5E76\u66FF\u6362","repo.modified":"\u68C0\u6D4B\u5230\u672C\u5730\u4FEE\u6539\u3002\u66FF\u6362\u4F1A\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u539F\u6587\u4EF6\u5C06\u5B8C\u6574\u5907\u4EFD\uFF0C\u53EF\u6062\u590D\u3002","repo.noChanges":"\u6587\u4EF6\u5185\u5BB9\u6CA1\u6709\u53D8\u5316\u3002","repo.added":"\u65B0\u589E","repo.removed":"\u5220\u9664","repo.modifiedFile":"\u4FEE\u6539","repo.updating":"\u66F4\u65B0\u4E2D\u2026","repo.updateProgress":"\u6B63\u5728\u6821\u9A8C\u3001\u5907\u4EFD\u5E76\u66FF\u6362\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.updateSuccess":"\u66F4\u65B0\u5B8C\u6210\uFF0C\u5DF2\u4FDD\u7559\u4E0A\u4E00\u7248\u5907\u4EFD\u3002","repo.rollbackSuccess":"\u5DF2\u6062\u590D\u4E0A\u4E00\u7248\u3002","repo.manageUpdate":"\u7BA1\u7406\u66F4\u65B0","error.repo.modified":"\u5B58\u5728\u672C\u5730\u4FEE\u6539\uFF0C\u8BF7\u9884\u89C8\u5E76\u786E\u8BA4\u5907\u4EFD\u540E\u66FF\u6362\u3002","scope.repositories":"\u53D1\u73B0\u6280\u80FD","repo.add":"\u6DFB\u52A0\u4ED3\u5E93","repo.manage":"\u7BA1\u7406\u4ED3\u5E93","repo.refresh":"\u5237\u65B0\u5E76\u68C0\u67E5\u66F4\u65B0","repo.save":"\u6DFB\u52A0\u5E76\u626B\u63CF","repo.subsource.github":"Git \u4ED3\u5E93","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"\u70ED\u95E8\u4E0B\u8F7D Top 100","repo.catalog.states":"\u5168\u90E8\u72B6\u6001","repo.catalog.uninstalled":"\u672A\u5B89\u88C5","repo.catalog.searchClawhub":"\u641C\u7D22 ClawHub \u6280\u80FD","repo.catalog.searchLoading":"\u6B63\u5728\u641C\u7D22 ClawHub\u2026","repo.catalog.searchEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 ClawHub \u6280\u80FD\u3002","repo.catalog.searchError":"ClawHub \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.catalog.searchSkillsh":"\u641C\u7D22 skills.sh \u6280\u80FD","repo.catalog.skillshLoading":"\u6B63\u5728\u641C\u7D22 skills.sh\u2026","repo.catalog.skillshEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 skills.sh \u6280\u80FD\u3002","repo.catalog.skillshError":"skills.sh \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.sort.installs":"\u5B89\u88C5\u91CF\u4ECE\u9AD8\u5230\u4F4E","repo.sort.name":"\u540D\u79F0 A-Z","repo.subsource.catalogNote":"ClawHub \u4E0B\u8F7D\u91CF\u699C \xB7 \u6700\u591A 100 \u6761\uFF0C\u4EC5\u5BF9\u5F53\u524D\u663E\u793A\u6761\u76EE\u6392\u5E8F","repo.catalog.empty":"ClawHub \u5F53\u524D\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","repo.catalog.loading":"\u6B63\u5728\u52A0\u8F7D ClawHub \u699C\u5355\u2026","repo.catalog.loadError":"ClawHub \u699C\u5355\u52A0\u8F7D\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","repo.catalog.retry":"\u91CD\u8BD5","repo.catalog.loadingMore":"\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u2026","repo.catalog.downloads":"\u4E0B\u8F7D","repo.catalog.installs":"\u5B89\u88C5","repo.catalog.stars":"\u661F\u6807","repo.hint":"\u4ECE\u5DF2\u8BA2\u9605\u7684 Git \u4ED3\u5E93\u6216\u7B2C\u4E09\u65B9\u76EE\u5F55\u53D1\u73B0\u6280\u80FD\uFF0C\u5B89\u88C5\u5230\u7528\u6237\u76EE\u5F55\u7684 DSH skills \u6216 Shared Agent\uFF0C\u6216\u5DF2\u767B\u8BB0\u9879\u76EE\u7684 .dsh/skills\u3002","repo.footer":"\u5237\u65B0\u4F1A\u68C0\u67E5\u4ED3\u5E93\u4E0E\u6280\u80FD\u66F4\u65B0\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u66FF\u6362\u672C\u5730\u6587\u4EF6\u3002\u5386\u53F2\u5907\u4EFD\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\uFF0C\u5360\u7528\u7A7A\u95F4\u4F1A\u968F\u66F4\u65B0\u589E\u52A0\u3002","repo.search":"\u641C\u7D22\u4ED3\u5E93\u6280\u80FD","repo.all":"\u5168\u90E8\u4ED3\u5E93","repo.states":"\u5168\u90E8\u72B6\u6001","repo.available":"\u53EF\u5B89\u88C5","repo.installed":"\u5DF2\u5B89\u88C5","repo.conflict":"\u540C\u540D\u51B2\u7A81","repo.invalid":"\u683C\u5F0F\u65E0\u6548","repo.install":"\u5B89\u88C5","repo.detail":"\u8BE6\u60C5","repo.installing":"\u5B89\u88C5\u4E2D\u2026","repo.installProgress":"\u6B63\u5728\u8BFB\u53D6\u5E76\u6821\u9A8C\u6280\u80FD\u6587\u4EF6\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.installSuccess":"\u5B89\u88C5\u6210\u529F\u5E76\u5DF2\u542F\u7528\uFF0C\u53EF\u5728\u5BF9\u8BDD\u4E2D\u7528\u659C\u6760\u8C03\u7528\u3002","repo.installDestination":"\u5B89\u88C5\u4F4D\u7F6E","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"\u4EC5\u4F9B DSH \u4F7F\u7528\uFF0C\u8DEF\u5F84\u4EE5\u5F53\u524D DSH_HOME \u4E3A\u51C6\u3002","repo.rootExternalHint":"\u4F7F\u7528\u8BE5\u76EE\u5F55\u7684\u5176\u4ED6 Agent \u4E5F\u80FD\u8BFB\u53D6\u6B64\u6280\u80FD\u3002","repo.installLocationsHint":"\u7528\u6237\u76EE\u5F55\u53EF\u9009 DSH skills \u6216 Shared Agent\uFF1B\u5DF2\u767B\u8BB0\u9879\u76EE\u4EC5\u5199\u5165 .dsh/skills\u3002\u9009\u62E9\u5668\u663E\u793A\u5B9E\u9645\u8DEF\u5F84\u3002\u7F3A\u5C11\u7684\u76EE\u5F55\u4F1A\u5728\u786E\u8BA4\u5B89\u88C5\u540E\u521B\u5EFA\u3002\u4E0D\u5B89\u5168\u7684\u8DEF\u5F84\u4E0D\u53EF\u9009\u3002","repo.uninstall":"\u5378\u8F7D","repo.confirmUninstall":"\u79FB\u81F3\u56DE\u6536\u7AD9","repo.uninstallHint":"\u4EC5\u5C06\u6B64\u4ED3\u5E93\u5DF2\u8DDF\u8E2A\u7684\u5B89\u88C5\u526F\u672C\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u5305\u62EC\u672C\u5730\u4FEE\u6539\u3002\u4E4B\u540E\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.uninstallExternalWarning":"\u5378\u8F7D\u8BE5\u6280\u80FD\u4E5F\u4F1A\u5F71\u54CD\u4F7F\u7528\u6240\u9009\u76EE\u5F55\u7684\u5176\u4ED6 Agent\u3002","repo.uninstalling":"\u5378\u8F7D\u4E2D\u2026","repo.uninstallProgress":"\u6B63\u5728\u5C06\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.uninstallSuccess":"\u6280\u80FD\u5DF2\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u4ED3\u5E93\uFF0C\u6DFB\u52A0\u4E00\u4E2A Git \u4ED3\u5E93\u5F00\u59CB\u3002","repo.noSkills":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002\u53EF\u5237\u65B0\u4ED3\u5E93\u6216\u8C03\u6574\u7B5B\u9009\u3002","repo.url":"\u4ED3\u5E93\u5730\u5740","repo.urlPlaceholder":"owner/repo \u6216\u5B8C\u6574 Git \u5730\u5740","repo.ref":"\u5206\u652F\u6216\u6807\u7B7E\uFF08\u53EF\u9009\uFF09","repo.directory":"\u6280\u80FD\u5B50\u76EE\u5F55\uFF08\u53EF\u9009\uFF09","repo.defaultBranch":"\u7559\u7A7A\u4F7F\u7528\u9ED8\u8BA4\u5206\u652F","repo.defaultBranchLabel":"\u9ED8\u8BA4\u5206\u652F","repo.directoryHint":"\u4F8B\u5982 skills\uFF0C\u7559\u7A7A\u626B\u63CF\u6574\u4E2A\u4ED3\u5E93","repo.remove":"\u79FB\u9664\u4ED3\u5E93","repo.removeHint":"\u4EC5\u79FB\u9664\u4ED3\u5E93\u8BA2\u9605\uFF0C\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u4F1A\u4FDD\u7559\u3002","repo.removeConfirm":"\u786E\u8BA4\u79FB\u9664","repo.cancel":"\u53D6\u6D88","repo.close":"\u5173\u95ED","repo.loading":"\u5904\u7406\u4E2D\u2026","repo.success":"\u64CD\u4F5C\u5B8C\u6210","repo.installHint":"\u6280\u80FD\u53EF\u80FD\u5305\u542B\u811A\u672C\uFF0C\u8BF7\u5148\u67E5\u770B\u8BF4\u660E\u5E76\u786E\u8BA4\u4FE1\u4EFB\u6765\u6E90\u3002\u5B89\u88C5\u4F1A\u4FDD\u7559\u8D44\u6E90\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u6267\u884C\u811A\u672C\u3002","repo.commit":"\u626B\u63CF\u7248\u672C","repo.notScanned":"\u5C1A\u672A\u626B\u63CF","repo.updated":"\u4E0A\u6B21\u5237\u65B0","repo.copyBody":"\u590D\u5236\u6B63\u6587","repo.copied":"\u5DF2\u590D\u5236","repo.copyFailed":"\u590D\u5236\u5931\u8D25","error.repo.tooLarge":"\u4ED3\u5E93\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u3002","error.repo.transientTooLarge":"\u4ED3\u5E93\u4E34\u65F6\u4E0B\u8F7D\u4F53\u79EF\u8FC7\u5927\uFF08\u5305\u542B Git \u5386\u53F2\u5BF9\u8C61\uFF09\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u3002","error.repo.disk":"\u78C1\u76D8\u5269\u4F59\u7A7A\u95F4\u4E0D\u8DB3\uFF0C\u65E0\u6CD5\u68C0\u51FA\u8BE5\u4ED3\u5E93\u3002\u8BF7\u6E05\u7406\u78C1\u76D8\u7A7A\u95F4\u540E\u91CD\u8BD5\u3002","error.repo.noGit":"\u672A\u68C0\u6D4B\u5230 Git \u547D\u4EE4\u884C\u5DE5\u5177\uFF0C\u8BF7\u5148\u5B89\u88C5 Git \u540E\u91CD\u8BD5\u3002","error.repo.installState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u4FDD\u7559\uFF0C\u4F46\u6765\u6E90\u72B6\u6001\u672A\u786E\u8BA4\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u65B0\u6253\u5F00\u4ED3\u5E93\u9875\uFF0C\u7CFB\u7EDF\u4F1A\u6821\u9A8C\u6587\u4EF6\u5E76\u6062\u590D\u8BB0\u5F55\u3002","error.repo.capacity":"\u5B89\u88C5\u6765\u6E90\u72B6\u6001\u8D85\u8FC7 16 MiB\u3002\u8BF7\u5148\u6E05\u7406\u4E0D\u9700\u8981\u7684\u56DE\u6536\u8BB0\u5F55\u6216\u65E7\u8EAB\u4EFD\uFF0C\u4ECD\u6709\u6548\u7684\u5B89\u88C5\u526F\u672C\u4F1A\u4FDD\u7559\u3002","error.repo.invalid":"\u4ED3\u5E93\u5730\u5740\u3001\u8DEF\u5F84\u6216\u5185\u5BB9\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165\u53CA\u4ED3\u5E93\u5927\u5C0F\u3002","error.repo.network":"\u4ED3\u5E93\u8BBF\u95EE\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216\u7A0D\u540E\u91CD\u8BD5\u3002\u4E0A\u6B21\u5217\u8868\u5DF2\u4FDD\u7559\u3002","error.repo.state":"\u4ED3\u5E93\u72B6\u6001\u6587\u4EF6\u635F\u574F\u6216\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u4FDD\u7559\u6587\u4EF6\u5E76\u4FEE\u590D\u540E\u91CD\u8BD5\u3002","error.repo.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728\u6216\u5B89\u88C5\u5931\u8D25\uFF0C\u672C\u5730\u6587\u4EF6\u672A\u88AB\u8986\u76D6\u3002","error.repo.enableState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u64A4\u9500\uFF0C\u4F46\u542F\u7528\u72B6\u6001\u65E0\u6CD5\u5199\u5165\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u8BD5\u5B89\u88C5\u3002","error.repo.empty":"\u6279\u91CF\u64CD\u4F5C\u6CA1\u6709\u53EF\u5904\u7406\u7684\u9879\u76EE\u3002","error.repo.tooMany":"\u5355\u6B21\u6279\u91CF\u64CD\u4F5C\u6700\u591A 100 \u9879\uFF0C\u8BF7\u51CF\u5C11\u9009\u62E9\u3002","error.repo.duplicate":"\u6279\u91CF\u64CD\u4F5C\u5305\u542B\u91CD\u590D\u9879\u76EE\u3002","repo.bulk.limit":"\u5355\u6B21\u64CD\u4F5C\u6700\u591A 100 \u9879\uFF0C\u8BF7\u51CF\u5C11\u9009\u62E9\u3002","repo.bulk.scope":"\u64CD\u4F5C\u5305\u542B\u6240\u6709\u5DF2\u9009\u9879\u76EE\uFF0C\u5305\u62EC\u7B5B\u9009\u9690\u85CF\u7684\u9879\u76EE\u3002","repo.bulk.toolbar":"\u6279\u91CF\u64CD\u4F5C","repo.bulk.selected":"\u5DF2\u9009 {count} \u9879","repo.bulk.install":"\u5B89\u88C5 {count}","repo.bulk.update":"\u68C0\u67E5\u66F4\u65B0 {count}","repo.bulk.uninstall":"\u5378\u8F7D {count}","repo.bulk.rollback":"\u6062\u590D\u4E0A\u4E00\u7248 {count}","repo.bulk.selectRepo":"\u5168\u9009 {name} \u4E2D\u7684\u6280\u80FD","repo.bulk.selectRepoShort":"\u5168\u9009","repo.bulk.clear":"\u6E05\u9664\u9009\u62E9","repo.bulk.selectSkill":"\u9009\u62E9\u6280\u80FD {name}","repo.bulk.selectCopy":"\u9009\u62E9 {name} \u7684\u4F4D\u7F6E {target}","repo.bulk.checkingAll":"\u6B63\u5728\u9884\u68C0 {total} \u9879\u2026","repo.bulk.replacing":"\u6B63\u5728\u6279\u91CF\u66FF\u6362\u6280\u80FD\u6587\u4EF6\u2026","repo.bulk.preflightTitle":"\u6279\u91CF\u9884\u68C0","repo.bulk.preflightHint":"\u9884\u68C0\u4E0D\u4F1A\u4FEE\u6539\u6587\u4EF6\u3002\u6267\u884C\u65F6\u6309\u987A\u5E8F\u9010\u4E2A\u5904\u7406\uFF0C\u5355\u9879\u5931\u8D25\u4E0D\u4F1A\u5F71\u54CD\u5176\u4F59\u9879\u3002","repo.bulk.blockingHint":"\u6279\u91CF\u64CD\u4F5C\u8FDB\u884C\u4E2D\uFF0C\u8BF7\u52FF\u5173\u95ED\u7A97\u53E3\u6216\u5237\u65B0\u9875\u9762\u3002","repo.bulk.failed":"\u64CD\u4F5C\u5931\u8D25","repo.bulk.noUpdates":"\u6CA1\u6709\u53EF\u66F4\u65B0\u7684\u6280\u80FD\uFF08\u5DF2\u68C0\u67E5 {total} \u9879\uFF09","repo.bulk.installTitle":"\u6279\u91CF\u5B89\u88C5 {count} \u4E2A\u6280\u80FD","repo.bulk.updateTitle":"\u6279\u91CF\u66F4\u65B0 {count} \u4E2A\u6280\u80FD","repo.bulk.uninstallTitle":"\u6279\u91CF\u5378\u8F7D {count} \u4E2A\u6280\u80FD","repo.bulk.rollbackTitle":"\u6279\u91CF\u6062\u590D {count} \u4E2A\u6280\u80FD","repo.bulk.bucket.available":"\u53EF\u5B89\u88C5","repo.bulk.bucket.updatable":"\u53EF\u66F4\u65B0","repo.bulk.bucket.rollbackable":"\u53EF\u6062\u590D","repo.bulk.bucket.unchanged":"\u65E0\u53D8\u5316","repo.bulk.bucket.localModified":"\u672C\u5730\u5DF2\u4FEE\u6539","repo.bulk.bucket.uninstallable":"\u53EF\u5378\u8F7D","repo.bulk.bucket.unavailable":"\u4F4D\u7F6E\u4E0D\u53EF\u7528","repo.bulk.bucket.error":"\u9884\u68C0\u5931\u8D25","repo.bulk.policyLocalModified":"\u672C\u5730\u5DF2\u4FEE\u6539\u9879\uFF1A\u5907\u4EFD\u540E\u8986\u76D6","repo.bulk.apply":"\u5F00\u59CB\u6267\u884C","repo.bulk.executable":"\u5C06\u6267\u884C {count} \u9879\uFF0C\u8DF3\u8FC7 {skipped} \u9879","repo.bulk.doneTitle":"\u6279\u91CF\u7ED3\u679C","repo.bulk.result":"\u6279\u91CF\u5B8C\u6210\uFF1A\u6210\u529F {ok} \xB7 \u5931\u8D25 {failed} \xB7 \u8DF3\u8FC7 {skipped} \xB7 \u672A\u6267\u884C {notRun}","repo.bulk.retry":"\u91CD\u8BD5\u5931\u8D25\u9879","repo.bulk.refreshWarning":"\u6279\u91CF\u64CD\u4F5C\u5DF2\u5B8C\u6210\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\uFF1B\u8BF7\u624B\u52A8\u5237\u65B0\u786E\u8BA4\u3002","repo.bulk.nothingToRetry":"\u5931\u8D25\u9879\u5DF2\u4E0D\u53EF\u91CD\u8BD5\uFF08\u72B6\u6001\u5DF2\u53D8\u5316\uFF09\uFF0C\u8BF7\u5237\u65B0\u5217\u8868\u540E\u91CD\u65B0\u9009\u62E9\u3002","repo.bulk.status.ok":"\u6210\u529F","repo.bulk.status.failed":"\u5931\u8D25","repo.bulk.status.skipped":"\u8DF3\u8FC7","repo.bulk.status.notRun":"\u672A\u6267\u884C","repo.bulk.reason.conflict":"\u540C\u540D\u51B2\u7A81","repo.bulk.reason.unchanged":"\u65E0\u53D8\u5316","repo.bulk.reason.localModified":"\u672C\u5730\u5DF2\u4FEE\u6539","repo.bulk.reason.unavailable":"\u4F4D\u7F6E\u4E0D\u53EF\u7528","repo.bulk.reason.error":"\u9884\u68C0\u5931\u8D25"},en:{"repo.catalog.unknownLocation":"Location unknown","repo.catalog.reassociate":"Choose destination and reinstall to reassociate","repo.catalog.unknownHint":"Some legacy catalog installs have unknown locations. Find the skill and choose a destination to reinstall and reassociate.","repo.catalog.loadMore":"Load 10 more","repo.catalog.installRefreshWarning":"Installed and enabled, but the list could not refresh. Reopen Discover Skills; do not install again.","repo.catalog.uninstallRefreshWarning":"Moved to trash, but the list could not refresh. Refresh the skill list or reopen Settings; do not uninstall again.","repo.installElsewhere":"Install elsewhere","repo.destinationUnavailable":"The original project is unregistered or unavailable. Re-register it in the sidebar and refresh to manage this copy.","repo.scope.user":"Global","repo.scope.project":"Project","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"Checking updates\u2026","repo.refreshed":"Refresh and update check completed","repo.partialRefreshFailed":"Failed to check updates for some repositories ({names}); others completed.","repo.detailLoading":"Loading skill instructions\u2026","repo.local":"Local","repo.source":"Installed from","repo.update":"Update available","repo.review":"Review update","repo.rollback":"Restore previous version","repo.confirmUpdate":"Back up and update","repo.confirmRollback":"Back up and restore","repo.overwrite":"Back up local edits and replace","repo.modified":"Local edits detected. Replacement overwrites current files and keeps a complete backup for restoration.","repo.noChanges":"No file changes.","repo.added":"Added","repo.removed":"Removed","repo.modifiedFile":"Modified","repo.updating":"Updating\u2026","repo.updateProgress":"Verifying, backing up and replacing files. Please wait\u2026","repo.updateSuccess":"Updated. Previous version backed up.","repo.rollbackSuccess":"Previous version restored.","repo.manageUpdate":"Manage updates","error.repo.modified":"Local edits detected. Review and confirm replacement with a backup.","scope.repositories":"Discover Skills","repo.add":"Add repository","repo.manage":"Manage repositories","repo.refresh":"Refresh & check updates","repo.save":"Add and scan","repo.subsource.github":"Git Repos","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"Top 100 by downloads","repo.catalog.states":"All statuses","repo.catalog.uninstalled":"Not installed","repo.catalog.searchClawhub":"Search ClawHub skills","repo.catalog.searchLoading":"Searching ClawHub\u2026","repo.catalog.searchEmpty":"No matching ClawHub skills were found.","repo.catalog.searchError":"ClawHub search failed. Please retry.","repo.catalog.searchSkillsh":"Search skills.sh","repo.catalog.skillshLoading":"Searching skills.sh\u2026","repo.catalog.skillshEmpty":"No matching skills.sh skills were found.","repo.catalog.skillshError":"skills.sh search failed. Please retry.","repo.sort.installs":"Installs: high to low","repo.sort.name":"Name A\u2013Z","repo.subsource.catalogNote":"ClawHub download ranking \xB7 Up to 100; sort only displayed items","repo.catalog.empty":"No matching skills were returned by ClawHub.","repo.catalog.loading":"Loading ClawHub ranking\u2026","repo.catalog.loadError":"Failed to load the ClawHub ranking. Check your connection and retry.","repo.catalog.retry":"Retry","repo.catalog.loadingMore":"Loading more\u2026","repo.catalog.downloads":"downloads","repo.catalog.installs":"installs","repo.catalog.stars":"stars","repo.hint":"Discover skills from subscribed Git repositories or community registries, and install them to user DSH skills or Shared Agent, or a registered project's .dsh/skills.","repo.footer":"Refresh checks repositories and skill updates without replacing local files. Historical backups are not cleaned automatically and use additional disk space.","repo.search":"Search repository skills","repo.all":"All repositories","repo.states":"All statuses","repo.available":"Available","repo.installed":"Installed","repo.conflict":"Name conflict","repo.invalid":"Invalid format","repo.install":"Install","repo.detail":"Details","repo.installing":"Installing\u2026","repo.installProgress":"Reading and verifying skill files. Please wait\u2026","repo.installSuccess":"Installed and enabled. Invoke it from the slash menu.","repo.installDestination":"Installation destination","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"For DSH only. The path uses your current DSH_HOME.","repo.rootExternalHint":"Other agents using this directory can read this skill too.","repo.installLocationsHint":"User directories offer DSH skills or Shared Agent; registered projects write only to .dsh/skills. The chooser shows actual paths. Missing directories are created after confirmation. Unsafe paths cannot be selected.","repo.uninstall":"Uninstall","repo.confirmUninstall":"Move to Trash","repo.uninstallHint":"Move only this repository\u2019s tracked installed copy, including local edits, to Trash. You can restore it from Trash later.","repo.uninstallExternalWarning":"Uninstalling this skill also affects other agents that use the selected directory.","repo.uninstalling":"Uninstalling\u2026","repo.uninstallProgress":"Moving the installed skill to Trash. Please wait\u2026","repo.uninstallSuccess":"Skill moved to Trash. You can restore it from Trash.","repo.empty":"No repositories yet. Add a Git repository to get started.","repo.noSkills":"No matching skills. Refresh the repository or adjust your filters.","repo.url":"Repository URL","repo.urlPlaceholder":"owner/repo or full Git repository URL","repo.ref":"Branch or tag (optional)","repo.directory":"Skill subdirectory (optional)","repo.defaultBranch":"Leave empty for the default branch","repo.defaultBranchLabel":"default branch","repo.directoryHint":"For example: skills. Leave empty to scan the repository.","repo.remove":"Remove repository","repo.removeHint":"This removes the subscription only. Installed skills are kept.","repo.removeConfirm":"Confirm removal","repo.cancel":"Cancel","repo.close":"Close","repo.loading":"Working\u2026","repo.success":"Completed","repo.installHint":"Skills may include scripts. Read the instructions and trust the source before installing. Resources are copied; scripts are not executed.","repo.commit":"Snapshot version","repo.notScanned":"Not scanned yet","repo.updated":"Last refreshed","repo.copyBody":"Copy body","repo.copied":"Copied","repo.copyFailed":"Copy failed","error.repo.tooLarge":"Repository exceeds size limit. Choose a smaller repository.","error.repo.transientTooLarge":"Repository transient download size exceeds limit (including Git objects). Choose a smaller repository.","error.repo.disk":"Not enough free disk space to check out this repository. Free up space and retry.","error.repo.noGit":"Git command-line tool not found. Please install Git and retry.","error.repo.installState":"Skill files were preserved but source tracking could not be saved. Restore disk write access and reopen Repositories to verify files and recover the record.","error.repo.capacity":"Source tracking exceeds 16 MiB. Remove unneeded Trash records or legacy identities first. Active installation copies are kept.","error.repo.invalid":"Invalid repository URL, path or contents. Check the input and repository size.","error.repo.network":"Repository request failed. Check your connection or retry later. The previous catalog was kept.","error.repo.state":"Repository state is corrupt or unreadable. Preserve the file and repair it before retrying.","error.repo.conflict":"A skill with this name exists or installation failed. Local files were not overwritten.","error.repo.enableState":"The copied skill was removed because its enabled state could not be saved. Restore disk write access and install again.","error.repo.empty":"No items to process.","error.repo.tooMany":"A batch can contain at most 100 items. Reduce the selection.","error.repo.duplicate":"The batch contains a duplicate item.","repo.bulk.limit":"A batch can contain at most 100 items. Reduce the selection.","repo.bulk.scope":"Actions include all selected items, including those hidden by filters.","repo.bulk.toolbar":"Bulk actions","repo.bulk.selected":"{count} selected","repo.bulk.install":"Install {count}","repo.bulk.update":"Check updates {count}","repo.bulk.uninstall":"Uninstall {count}","repo.bulk.rollback":"Restore previous {count}","repo.bulk.selectRepo":"Select all skills in {name}","repo.bulk.selectRepoShort":"Select all","repo.bulk.clear":"Clear selection","repo.bulk.selectSkill":"Select skill {name}","repo.bulk.selectCopy":"Select location {target} for {name}","repo.bulk.checkingAll":"Preflighting {total} items\u2026","repo.bulk.replacing":"Replacing skill files\u2026","repo.bulk.preflightTitle":"Bulk preflight","repo.bulk.preflightHint":"Preflight only reads state and changes nothing. Items run one by one; a failed item does not stop the rest.","repo.bulk.blockingHint":"The batch is running. Keep this window open and do not refresh.","repo.bulk.failed":"Operation failed","repo.bulk.noUpdates":"No updates available (checked {total})","repo.bulk.installTitle":"Install {count} skills","repo.bulk.updateTitle":"Update {count} skills","repo.bulk.uninstallTitle":"Uninstall {count} skills","repo.bulk.rollbackTitle":"Restore {count} skills","repo.bulk.bucket.available":"Installable","repo.bulk.bucket.updatable":"Updatable","repo.bulk.bucket.rollbackable":"Restorable","repo.bulk.bucket.unchanged":"No changes","repo.bulk.bucket.localModified":"Locally modified","repo.bulk.bucket.uninstallable":"Uninstallable","repo.bulk.bucket.unavailable":"Location unavailable","repo.bulk.bucket.error":"Preflight failed","repo.bulk.policyLocalModified":"Locally modified items: back up and overwrite","repo.bulk.apply":"Run batch","repo.bulk.executable":"{count} will run, {skipped} will be skipped","repo.bulk.doneTitle":"Bulk results","repo.bulk.result":"Batch finished: {ok} succeeded \xB7 {failed} failed \xB7 {skipped} skipped \xB7 {notRun} not run","repo.bulk.retry":"Retry failed items","repo.bulk.refreshWarning":"The batch finished but the list refresh failed. Refresh manually to confirm.","repo.bulk.nothingToRetry":"These items can no longer be retried (their state changed). Refresh the list and select again.","repo.bulk.status.ok":"Done","repo.bulk.status.failed":"Failed","repo.bulk.status.skipped":"Skipped","repo.bulk.status.notRun":"Not run","repo.bulk.reason.conflict":"Name conflict","repo.bulk.reason.unchanged":"No changes","repo.bulk.reason.localModified":"Locally modified","repo.bulk.reason.unavailable":"Location unavailable","repo.bulk.reason.error":"Preflight failed"}},un=`
5
5
  .dssm-subsources{display:flex;align-items:center;gap:6px;margin:0;border-bottom:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);padding-bottom:6px}
6
6
  .dssm-subsource-btn{padding:5px 12px;border:0.5px solid var(--dsw-alias-border-l2,#494949);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);border-radius:var(--dsw-radius-sm,8px);font-size:12px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
7
7
  .dssm-subsource-btn:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eee)}
@@ -14,7 +14,31 @@ var exports = module.exports;
14
14
  .dssm-meta-origin{color:var(--dsw-alias-label-secondary,#8e8e8e);font-size:11px;margin-top:2px}
15
15
  .dssm-btn-danger:not(:disabled){color:var(--dsw-alias-state-error-primary,#ef7272)}
16
16
  .dssm-status-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--dsw-radius-sm,8px)}
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-flex;align-items:center;justify-content:center;animation:dssm-spin .8s linear infinite;transform-origin:center;flex:none}.dssm-icon-action .dssm-repo-spinner{margin:0}button:not(.dssm-icon-action) .dssm-repo-spinner{margin-right:6px}@keyframes dssm-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 _r({react:t,Modal:e,Input:i,Button:l,SourceSelect:p,destination:g,api:h,headers:b,translateError:v,getLocale:N,IconLoading:C,IconRefresh:z}){let s=t.createElement,A=C||function(q){let f=q?.size||14;return s("svg",{width:f,height:f,viewBox:"0 0 16 16",fill:"none",className:q?.className,"aria-hidden":"true",strokeWidth:1.3},s("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"}))},J=z||function(q){let f=q?.size||14;return s("svg",{width:f,height:f,viewBox:"0 0 16 16",fill:"none",className:q?.className,"aria-hidden":"true",strokeWidth:1.3},s("path",{d:"M14.5001 8C14.5 9.28552 14.1188 10.5422 13.4045 11.611C12.6903 12.6799 11.6752 13.5129 10.4875 14.0049C9.29982 14.4968 7.99295 14.6255 6.73212 14.3747C5.4713 14.124 4.31314 13.505 3.4041 12.596C2.49514 11.687 1.87614 10.5288 1.62537 9.26798C1.37459 8.00716 1.50331 6.70028 1.99525 5.51261C2.48719 4.32494 3.32025 3.30981 4.3891 2.59557C5.45795 1.88134 6.71458 1.50008 8.0001 1.5C9.9001 1.5 11.7001 2.3 13.0001 3.6L14.5001 5.1",stroke:"currentColor"}),s("path",{d:"M14.4999 1.5V5.1H10.8999",stroke:"currentColor"}))};function ue(pe){return s("svg",{className:"dssm-fold-chevron"+(pe?" 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 k=l,{DestinationPicker:I,defaultDestination:be,destinationPayload:K,destinationReady:Y}=g;return function({active:q,t:f,onInstalled:X}){let[R,L]=t.useState([]),[ae,ie]=t.useState([]),[Q,la]=t.useState(!1),[Ce,Zt]=t.useState(null),[At,oe]=t.useState(null),[le,ot]=t.useState(null),[nt,ca]=t.useState(""),[Pt,st]=t.useState(""),[It,da]=t.useState(""),[ye,Tt]=t.useState({}),[y,G]=t.useState(null),[ve,ht]=t.useState(be()),[qe,qa]=t.useState([]),[ee,ua]=t.useState("github"),[we,pa]=t.useState(""),[bt,Qa]=t.useState(""),[ge,it]=t.useState(""),[zt,Mt]=t.useState([]),[ma,fa]=t.useState([]),[Sr,Ht]=t.useState([]),[Yt,Za]=t.useState([]),[He,Ya]=t.useState([]),[yt,Qe]=t.useState("idle");function ga(r){if(typeof navigator>"u"||!navigator.clipboard){Qe("failed");return}navigator.clipboard.writeText(r).then(()=>{Qe("copied"),setTimeout(()=>Qe("idle"),1500)}).catch(()=>Qe("failed"))}let[lt,ha]=t.useState(!0),[jt,Gt]=t.useState(!1),[vt,ba]=t.useState(!1),[Ga,$e]=t.useState([]),[ya,Ne]=t.useState(!1),[ct,Jt]=t.useState(!1),wt=t.useRef(0),ke=t.useRef(null),kt=t.useRef(null),[Dt,Ja]=t.useState(""),[Xt,Xa]=t.useState(""),[xt,va]=t.useState([]),[dt,xe]=t.useState(!1),[wa,_t]=t.useState(!1),Ee=t.useRef(0),Ze=t.useRef(null),Re=t.useRef(null),je=t.useRef({cursor:null,count:0,hasMore:!0}),$=t.useRef(null),_a=t.useRef(null),[De,ka]=t.useState({url:"",ref:"",subdirectory:""}),Ue=t.useRef(!1),W=t.useRef(!0);t.useEffect(()=>(W.current=!0,()=>{W.current=!1}),[]);async function St(){let r=await h("/repositories");if(W.current){let c=(r.installRoots||[]).filter(d=>d.key==="dsh"||d.key==="agents");L(r.repositories||[]),ie(c),fa(r.catalogInstalls||[]),Ht(r.catalogCopies||[]),Za(r.catalogUnknownIds||[]),Ya(r.catalogWarnings||[]),ve.scope==="user"&&!c.some(d=>d.key===ve.location&&d.available)&&ht({...ve,location:c.find(d=>d.available)?.key||"dsh"}),h("/workspaces").then(d=>{W.current&&qa(d.items||[])}).catch(()=>{})}}function Cr(r){if(r.key==="dsh"||r.key==="agents")return f(r.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let c="root."+(r.localeKey||r.key),d=f(c);return d===c?r.label:d}function $a(r){let c=ae.find(d=>d.key===r);return c?Cr(c):f("root."+r)}function Ye(r){if(r.installedWorkspace){let c=m=>{let w=m.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(w)?w.toLowerCase():w},d=qe.find(m=>m.projectRoot&&c(m.projectRoot)===c(r.installedWorkspace));return d?.available&&d.registeredPaths[0]?{workspace:d.registeredPaths[0]}:null}return r.installedRoot==="dsh"||r.installedRoot==="agents"?{root:r.installedRoot}:null}function xa(r){return r.installedWorkspace||r.installedRoot?Ut(r):""}function er(r){let c=r.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(c)?c.toLowerCase():c}function Sa(r){let c=qe.find(w=>w.projectRoot&&er(w.projectRoot)===er(r));if(c?.name)return c.name;let d=r.replace(/[\\/]+$/,""),m=Math.max(d.lastIndexOf("/"),d.lastIndexOf("\\"));return m>=0?d.slice(m+1):d}function Ca(r){let c=!!r.installedWorkspace,d=c?"dsh":r.installedRoot,m=f(d==="agents"?"repo.source.agents":"repo.source.dsh"),w=f(c?"repo.scope.project":"repo.scope.user"),P=c?r.installedWorkspace||"":ae.find(T=>T.key===d)?.path||"";return{lead:c?[w,Sa(r.installedWorkspace||""),m].filter(Boolean).join(" \xB7 "):[w,m].filter(Boolean).join(" \xB7 "),path:P}}function Ut(r){let c=Ca(r);return c.path?c.lead+" "+c.path:c.lead}function ut(r){let c=Ca(r);return s("div",{className:"dssm-repo-metadata",title:Ut(r)},s("span",{className:"dssm-location-lead"},c.lead),c.path?s("span",{className:"dssm-location-path",title:c.path},c.path):null)}function Ot(r){return r.slice().sort((c,d)=>+!!c.installedWorkspace-+!!d.installedWorkspace)}function Ct(r){return Ot((r.installations??(r.installedRoot?[r]:[])).filter(c=>c.tracked===!0))}function Na(r){let c=r,d=v(f,r)||c.message||String(r),m=c?.params?.path;return typeof m=="string"&&m&&!d.includes(m)?d+" \xB7 "+m:d}function pt(r){if(r.payload)return Na(r.payload);if(r.key){let c=r.params||(r.name?{name:r.name,names:r.name}:void 0),d=f(r.key,c),m=r.name&&!d.includes(r.name)?" \xB7 "+r.name:"";return d+m}return r.text||""}async function O(r,c=!0,d=!1){if(!Ue.current){Ue.current=!0,d||(la(!0),oe(null));try{await r(),c&&await St()}catch(m){let w=m;W.current&&oe({error:!0,payload:w})}finally{Ue.current=!1,W.current&&la(!1)}}}function te(r,c){return h(`/repositories/${r}`,{method:"POST",headers:b,body:JSON.stringify(c)})}let Bt=t.useRef(!1);async function et(r=!1,c=!1,d=we){if(!q||d.trim()||$.current||c&&Bt.current)return;let m=je.current;if(!r&&(!m.hasMore||m.count>=100))return;c&&(Bt.current=!0);let w=r?0:m.count,P=new AbortController;$.current=P,Gt(!0),ba(!1),r&&(je.current={cursor:null,count:0,hasMore:!0},Mt([]));try{let H=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-w))}),T=r?null:m.cursor;T&&H.set("cursor",T);let ne=await h(`/clawhub/list?${H.toString()}`,{signal:P.signal});if($.current!==P||P.signal.aborted||!W.current)return;if(!Array.isArray(ne.items))throw new Error("ClawHub response has no items array");let oa=ne.items.flatMap(u=>{if(typeof u.ownerHandle!="string"||!u.ownerHandle||typeof u.slug!="string"||!u.slug)return[];let S=x=>typeof x=="number"&&Number.isFinite(x)?x:void 0;return[{id:u.ownerHandle+"/"+u.slug,owner:u.ownerHandle,slug:u.slug,name:typeof u.displayName=="string"&&u.displayName?u.displayName:u.slug,source:u.ownerHandle+"/"+u.slug,description:typeof u.summary=="string"?u.summary:"",downloads:S(u.stats?.downloads),installs:S(u.stats?.installs),stars:S(u.stats?.stars)}]}).slice(0,Math.max(0,100-w)),a=typeof ne.nextCursor=="string"&&ne.nextCursor?ne.nextCursor:null,n=w+oa.length;if(je.current={cursor:a,count:n,hasMore:!!a&&n<100},!W.current)return;Mt(u=>[...r?[]:u,...oa].slice(0,100)),ha(je.current.hasMore)}catch{$.current===P&&!P.signal.aborted&&W.current&&ba(!0)}finally{$.current===P&&($.current=null,Bt.current=!1,W.current&&Gt(!1))}}function tr(){kt.current&&clearTimeout(kt.current),kt.current=null,wt.current++,ke.current?.abort(),ke.current=null,W.current&&Ne(!1)}async function Ra(r){let c=++wt.current,d=new AbortController;ke.current?.abort(),ke.current=d,$e([]),Ne(!0),Jt(!1);try{let m=new URLSearchParams({q:r,limit:"100"}),w=await h(`/clawhub/search?${m.toString()}`,{signal:d.signal});if(!Array.isArray(w.results))throw new Error("ClawHub search response has no results array");let P=T=>typeof T=="number"&&Number.isFinite(T)?T:void 0,H=w.results.flatMap(T=>{if(typeof T.source=="string"&&T.source!=="clawhub")return[];let ne=typeof T.ownerHandle=="string"?T.ownerHandle:T.owner?.handle;return typeof ne!="string"||!ne||typeof T.slug!="string"||!T.slug?[]:[{id:typeof T.id=="string"?T.id:ne+"/"+T.slug,owner:ne,slug:T.slug,name:typeof T.displayName=="string"&&T.displayName?T.displayName:T.slug,source:ne+"/"+T.slug,description:typeof T.summary=="string"?T.summary:"",downloads:P(T.downloads)??P(T.stats?.downloads),installs:P(T.stats?.installs),stars:P(T.stats?.stars)}]});c===wt.current&&W.current&&$e(H)}catch(m){let w=m?.name==="AbortError";c===wt.current&&W.current&&!w&&Jt(!0)}finally{c===wt.current&&(ke.current=null,W.current&&Ne(!1))}}function Ft(r){pa(r),tr(),$e([]),Jt(!1);let c=r.trim().slice(0,100);if(!c){ee==="clawhub"&&!zt.length&&!jt&&et(!0,!1,c);return}Ne(!0),kt.current=setTimeout(()=>{kt.current=null,Ra(c)},300)}function La(){Re.current&&clearTimeout(Re.current),Re.current=null,Ee.current++,Ze.current?.abort(),Ze.current=null,W.current&&xe(!1)}async function $t(r){let c=++Ee.current,d=new AbortController;Ze.current?.abort(),Ze.current=d,va([]),xe(!0),_t(!1);try{let m=await h(`/skills-sh/search?q=${encodeURIComponent(r)}`,{signal:d.signal});c===Ee.current&&W.current&&va(m.skills)}catch(m){let w=m?.name==="AbortError";c===Ee.current&&W.current&&!w&&_t(!0)}finally{c===Ee.current&&(Ze.current=null,W.current&&xe(!1))}}function Le(r){Ja(r),Re.current&&clearTimeout(Re.current),Re.current=null,Ee.current++,Ze.current?.abort(),Ze.current=null,va([]),xe(!1),_t(!1);let c=r.trim();c&&(Re.current=setTimeout(()=>{Re.current=null,$t(c)},300))}function Ge(r){G(null),ua(r)}function Nr(r){let c=r.getBoundingClientRect(),d=r.parentElement;for(;d;){let m=getComputedStyle(d);if(/(auto|scroll)/.test(`${m.overflowY} ${m.overflow}`)&&d.scrollHeight>d.clientHeight+1){let w=d.getBoundingClientRect();return c.top<=w.bottom+80&&c.bottom>=w.top}d=d.parentElement}return c.top<=window.innerHeight+80}function ea(r){if(y||r.defaultPrevented||r.deltaY<=0||ee!=="clawhub"||we.trim()||!lt||vt||!r.target||!r.currentTarget.contains(r.target))return;let c=_a.current;!c||typeof c.getBoundingClientRect!="function"||!Nr(c)||et(!1,!0)}async function Vt(r){let c=await te("refresh",{id:r}),d=c.error||c.data?.error;d&&oe({error:!0,payload:d})}function ta(r){return O(async()=>{let c=[],d;try{for(let m=0;m<r.length;m++){let w=r[m];Zt({id:w.id,name:w.owner+"/"+w.name,index:m+1,total:r.length});let P=await te("refresh",{id:w.id}),H=P.error||P.data?.error;H&&(c.push(w.owner+"/"+w.name),d=H)}if(await St(),W.current)if(c.length===0)oe({key:"repo.refreshed"});else if(c.length===r.length)oe({error:!0,payload:d});else{let w=(N?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?", ":"\u3001";oe({error:!0,key:"repo.partialRefreshFailed",params:{names:c.join(w)}})}}finally{W.current&&Zt(null)}},!1,!0)}function Rr(r,c){return O(async()=>{Qe("idle"),G({type:"detail",repo:r,loading:!0});try{let d=await te("detail",{id:r.id,path:c.path});W.current&&G({type:"detail",detail:d,repo:r})}catch(d){let m=d;throw W.current&&G({type:"detail",repo:r,failed:!0}),m}},!1,!0)}function ar(r){return O(async()=>{Qe("idle"),G({type:"catalog-detail",loading:!0});try{let c=await h("/catalog/detail",{method:"POST",headers:b,body:JSON.stringify(r)});W.current&&G({type:"catalog-detail",detail:c})}catch(c){let d=c;throw W.current&&G({type:"catalog-detail",failed:!0}),d}},!1,!0)}function mt(r){Ue.current||(oe(null),G({type:"catalog-install",target:r}))}function Lr(){if(!y||y.type!=="catalog-install"||!Y(ve,qe,ae))return;let r=y.target,c=K(ve);return O(async()=>{let d=await h("/catalog/install",{method:"POST",headers:b,body:JSON.stringify({...r,...c})});if(!W.current)return;let m=r.catalog==="skillsh"?`skillsh:${r.source}/${r.skillId}`:`clawhub:${r.owner}/${r.slug}`;fa(H=>H.includes(m)?H:[...H,m]);let w=c.root||"dsh";Ht(H=>H.some(T=>T.id===m&&T.installedRoot===w&&T.installedWorkspace===c.workspace)?H:[...H,{id:m,name:d.name,installedRoot:w,...c.workspace?{installedWorkspace:c.workspace}:{},canUninstall:!0}]),oe({key:"repo.installSuccess",name:r.name}),G(null);let P=await Promise.allSettled([St(),Promise.resolve().then(()=>X?.())]);W.current&&P.some(H=>H.status==="rejected")&&oe({key:"repo.catalog.installRefreshWarning",name:r.name})},!1)}t.useEffect(()=>{q&&O(St,!1)},[q]),t.useEffect(()=>(q&&(ee==="clawhub"?we.trim()?Ra(we.trim()):zt.length||et(!0):ee==="skillsh"&&Dt.trim()&&$t(Dt.trim())),()=>{tr(),La(),$.current?.abort(),$.current=null,Bt.current=!1,W.current&&Gt(!1)}),[q,ee]);function me(r,c,d=!0,m=!1,w=!1){return s(k,{variant:d?"outline":"primary",className:w?"dssm-btn-danger":void 0,disabled:Q||m,onClick:c},f(r))}function Ea(r){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("path",{d:r,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Ie(r,c,d=!1,m){var w=r==="repo.uninstall"||r==="repo.uninstalling"||r==="repo.remove",P=r==="repo.installed"||r==="repo.installedSuccess",H=r==="repo.conflict",T=r==="repo.refresh"||r==="repo.refreshing",ne=T?null:r==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":r==="repo.installElsewhere"?"M8 3v10M3 8h10":r==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":r==="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":r==="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":H?"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",oa=T?s(J,{size:14}):Ea(ne);return s(k,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(w?" dssm-icon-danger":P?" dssm-icon-success":H?" dssm-icon-warn":""),"aria-label":f(r),title:m||f(r),icon:oa,disabled:Q||d,onClick:c,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 Er(r){G({type:"remove",repo:r})}function rr(r){let c=r.url||"",d="GitHub",m="0 0 16 16",w="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";/gitee\.com/i.test(c)?(d="Gitee",m="0 0 24 24",w="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):/gitlab(\.|\/)/i.test(c)?(d="GitLab",m="0 0 24 24",w="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):c&&!/github\.com/i.test(c)&&(d="Git",m="0 0 24 24",w="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187");let H=(N?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?" repository":" \u4ED3\u5E93";return s("span",{className:"dssm-source-brand",title:d+H},s("svg",{viewBox:m,width:16,height:16,fill:"currentColor","aria-hidden":!0},s("path",{d:w})))}function Ar(r){return Ce&&Ce.id===r.id?s(k,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":f("repo.refreshing"),title:f("repo.refreshing"),icon:s(A,{size:14,className:"dssm-repo-spinner"}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):Ie("repo.refresh",()=>ta([r]))}function Aa(){return R.length?R.map(r=>s("div",{key:r.id,className:"dssm-repo-row dssm-repo-manage-row"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name",style:{display:"flex",alignItems:"center",gap:"6px"}},rr(r),s("span",null,r.owner+"/"+r.name)),s("div",{className:"dssm-note"},[r.ref||f("repo.defaultBranch"),r.subdirectory].filter(Boolean).join(" \xB7 ")),s("div",{className:"dssm-repo-metadata"},r.refreshedAt?f("repo.updated")+" \xB7 "+new Date(r.refreshedAt).toLocaleString(N?.()||f("format.locale")):f("repo.notScanned"))),s("div",{className:"dssm-repo-actions"},Ar(r),Ie("repo.remove",()=>Er(r))))):s("div",{className:"dssm-empty"},f("repo.empty"))}function aa(r,c=!1){let d=Ce&&(!c||Ce.id===r[0]?.id);return s(k,{variant:"outline",disabled:Q||!!Ce||!r.length,"aria-busy":!!d,onClick:()=>ta(r)},d?s(A,{size:14,className:"dssm-repo-spinner"}):null,f(d?"repo.refreshing":"repo.refresh"))}function or(r){return!!r&&(r.type==="install"||r.type==="uninstall"||r.type==="catalog-install"||r.type==="catalog-uninstall"||r.type==="review"||r.type==="rollback")}function Oe(){Ue.current&&or(y)||(Qe("idle"),G(null))}function Pa(r,c,d,m){Ue.current||r==="uninstall"&&(!m||!m.canUninstall||!Ye(m))||(oe(null),G({type:r,repo:c,skill:d,copy:m}))}function nr(){if(!y||y.type!=="install"&&y.type!=="uninstall")return;let r=y,c=r.type,d=ve;if(c==="install"&&!Y(d,qe,ae))return;let m=c==="install"?K(d):r.copy&&Ye(r.copy);if(m)return O(async()=>{let w={id:r.repo.id,path:r.skill.path,...m};ot({...w,action:c,pending:!0,key:"repo."+c+"Progress"});try{await te(c,w)}catch(T){let ne=T;throw W.current&&ot({...w,action:c,error:!0,payload:ne}),ne}if(!W.current)return;let P="repo."+c+"Success";ot({...w,action:c,key:P}),oe({key:P,name:r.skill.name}),G(null);let H=await Promise.allSettled([St(),Promise.resolve().then(()=>X?.())]);for(let T of H)if(T.status==="rejected")throw T.reason},!1)}function sr(r,c,d,m=!1){let w=Ye(d);if(!(!w||(m?!d.canRollback:!d.tracked)))return O(async()=>{let P=await te("preview",{id:r.id,path:c.path,...w,rollback:m});G({type:m?"rollback":"review",repo:r,skill:c,copy:d,detail:P})})}function Ia(){if(!y||y.type!=="review"&&y.type!=="rollback")return;let r=y,c=r.type==="rollback",d=Ye(r.copy);if(d)return O(async()=>{let m={id:r.repo.id,path:r.skill.path,...d};ot({...m,pending:!0,key:"repo.updateProgress"});try{await te(c?"rollback":"update",{...m,token:r.detail.token,overwrite:r.detail.localModified})}catch(P){let H=P;throw W.current&&ot({...m,error:!0,payload:H}),H}if(!W.current)return;let w=c?"repo.rollbackSuccess":"repo.updateSuccess";ot({...m,key:w}),oe({key:w}),G(null),X&&await X()})}function ir(r,c,d){return s(k,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:Q,"aria-label":f(r),title:f(r),icon:Ea(c),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:d})}function Pr(r){let c=Ce&&Ce.id===r[0]?.id;return s(k,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:Q||!r.length,"aria-busy":!!c,"aria-label":f(c?"repo.refreshing":"repo.refresh"),title:f(c?"repo.refreshing":"repo.refresh"),icon:c?s(A,{size:14,className:"dssm-repo-spinner"}):s(J,{size:14}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>ta(r)})}function Ir(){return s("div",{className:"dssm-filter-actions"},Pr(R),ir("repo.add","M8 2.5v11M2.5 8h11",()=>{oe(null),ka({url:"",ref:"",subdirectory:""}),G({type:"add"})}),ir("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{oe(null),G({type:"manage"})}))}let lr=s("div",{key:"repository-actions",className:"dssm-actions"},aa(R),me("repo.add",()=>{oe(null),ka({url:"",ref:"",subdirectory:""}),G({type:"add"})},!1),me("repo.manage",()=>{oe(null),G({type:"manage"})})),Tr=R.filter(r=>!Pt||r.id===Pt);function zr(r,c,d){let m=Ye(d),w=le?.id===r.id&&le.path===c.path&&le.pending&&m&&le.root===m.root&&le.workspace===m.workspace;return s("div",{className:"dssm-repo-copy-actions"},d.tracked&&(d.updateAvailable||d.status==="conflict")?Ie("repo.review",()=>sr(r,c,d),!m):null,d.canRollback?Ie("repo.rollback",()=>sr(r,c,d,!0),!m):null,d.canUninstall?Ie(w&&le.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>Pa("uninstall",r,c,d),!m,Ut(d)):null)}function Mr(r,c,d){let m=Ye(d);return s("div",{className:"dssm-repo-copy",key:JSON.stringify([d.installedRoot,d.installedWorkspace||""])},ut(d),zr(r,c,d),m?null:s("div",{className:"dssm-note",role:"status"},f("repo.destinationUnavailable")))}let Ta=Tr.map(r=>{let c=nt.trim().toLowerCase(),d=r.skills.filter(P=>(!It||P.status===It)&&(!c||`${P.name} ${P.description} ${r.owner}/${r.name}`.toLowerCase().includes(c))),m=ye[r.id]===void 0?!!c||!!It:ye[r.id],w=m?d.length?d.map(P=>{let H=Ct(P),T=H.length===1?H[0]:void 0;return s("div",{key:P.path,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},P.name),s("div",{className:"dssm-repo-description",title:P.description},P.description),T&&!Ye(T)?s("div",{className:"dssm-note",role:"status"},f("repo.destinationUnavailable")):null,le?.id===r.id&&le.path===P.path?s("div",{className:"dssm-note"+(le.error?" dssm-error":""),role:le.error?"alert":"status","aria-live":"polite"},pt(le)):null),s("div",{className:"dssm-repo-actions"},Ie("repo.detail",()=>Rr(r,P)),Ie(le?.id===r.id&&le.path===P.path&&le.pending&&le.action==="install"?"repo.installing":H.length?"repo.installElsewhere":"repo."+(P.status==="available"?"install":P.status),()=>Pa("install",r,P),!H.length&&P.status!=="available"))),H.length?s("div",{className:"dssm-repo-copies"},H.map(ne=>Mr(r,P,ne))):null)}):s("div",{className:"dssm-empty"},f("repo.noSkills")):null;return s("div",{key:r.id},s("section",{className:"dssm-source"},s("div",{className:"dssm-source-head"},s("button",{type:"button",className:"dssm-source-toggle","aria-expanded":m,onClick:()=>Tt({...ye,[r.id]:!m})},ue(m),s("div",{className:"dssm-source-label"},rr(r),s("span",{className:"dssm-source-title"},r.owner+"/"+r.name),s("span",{className:"dssm-count"},d.length),s("span",{className:"dssm-source-path",title:r.owner+"/"+r.name},[r.ref||f("repo.defaultBranchLabel"),r.subdirectory].filter(Boolean).join(" \xB7 ")||r.owner+"/"+r.name))),s("span",{className:"dssm-repo-commit-badge",title:r.commit||f("repo.notScanned")},r.commit?r.commit.slice(0,7):f("repo.notScanned"))),m?s("div",{className:"dssm-source-body",role:"region"},w):null),r.error?s("div",{className:"dssm-feedback dssm-error",role:"alert"},Na(r.error)):null)});function ft(r,c,d,m){return s(p,{label:f(r),value:c,onChange:d,options:[{value:"",label:f(r)},...m.map(([w,P])=>({value:w,label:P}))]})}let Te=At?s("div",{className:"dssm-feedback"+(At.error?" dssm-error":""),role:At.error?"alert":"status"},pt(At)):null,cr=Ce?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},f("repo.refreshing")+" "+Ce.index+"/"+Ce.total+" \xB7 "+Ce.name):null,dr;if(y){let r,c,d;if(y.type==="install"&&(r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.skill.name),s(I,{t:f,value:ve,disabled:Q,allowAgents:!0,workspaces:qe,userDestinations:ae,onChange:m=>{Ue.current||ht({...ve,...m})}}),s("p",{className:"dssm-note"},f("repo.installLocationsHint")),s("p",{className:"dssm-note"},f("repo.installHint")),Q?s("div",{role:"status","aria-live":"polite"},f("repo.installProgress")):null,Te,s("div",{className:"dssm-modal-actions"},me("repo.cancel",Oe),me(Q?"repo.installing":"repo.install",nr,!1,!Y(ve,qe,ae))))),y.type==="uninstall"&&(c=f("repo.uninstallHint"),r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.skill.name),y.copy?s("div",{className:"dssm-repo-metadata"},xa(y.copy)):null,y.copy?.installedRoot==="agents"&&!y.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},f("repo.uninstallExternalWarning")):null,Q?s("div",{role:"status","aria-live":"polite"},f("repo.uninstallProgress")):null,Te),d=s(t.Fragment,null,me("repo.cancel",Oe),me(Q?"repo.uninstalling":"repo.confirmUninstall",nr,!0,!y.copy||!Ye(y.copy),!0))),(y.type==="review"||y.type==="rollback")&&(r=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},y.skill.name),s("div",{className:"dssm-repo-metadata"},xa(y.copy)),s("div",{className:"dssm-repo-metadata"},y.repo.owner+"/"+y.repo.name+" \xB7 "+y.detail.commit?.slice(0,7)),y.detail.localModified?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},f("repo.modified")):null,y.detail.changes.length?s("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},y.detail.changes.map(m=>s("li",{key:m.path},f("repo."+(m.kind==="modified"?"modifiedFile":m.kind))+" \xB7 "+m.path))):s("p",null,f("repo.noChanges")),Q?s("div",{role:"status"},f("repo.updateProgress")):null,Te),d=s(t.Fragment,null,me("repo.cancel",Oe),me(y.detail.localModified?"repo.overwrite":y.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",Ia,!1,!y.detail.changes.length||!Ye(y.copy)))),y.type==="add"&&(r=s("form",{className:"dssm-form",onSubmit:m=>{m.preventDefault(),De.url.trim()&&O(async()=>{let w=await te("add",De);await Vt(w.id),G(null)})}},[["url","repo.url",f("repo.urlPlaceholder")],["ref","repo.ref",f("repo.defaultBranch")],["subdirectory","repo.directory",f("repo.directoryHint")]].map(([m,w,P])=>s("label",{className:"dssm-field",key:m},s("span",{className:"dssm-label"},f(w)),s(i,{"aria-label":f(w),value:De[m],placeholder:P,maxLength:m==="url"?2048:512,required:m==="url",disabled:Q,onChange:H=>ka({...De,[m]:H.target.value})}))),Te,s("div",{className:"dssm-modal-actions"},me("repo.cancel",Oe),me("repo.save",()=>{De.url.trim()&&O(async()=>{let m=await te("add",De);await Vt(m.id),G(null)})},!1,!De.url.trim())))),y.type==="manage"&&(r=s("div",{className:"dssm-repo-panel"},s("p",{className:"dssm-desc"},f("repo.removeHint")),cr,Te,Aa())),y.type==="remove"&&(c=f("repo.removeHint"),r=s("div",null,s("div",{className:"dssm-name"},y.repo.owner+"/"+y.repo.name),Te),d=s(t.Fragment,null,me("repo.cancel",()=>G({type:"manage"})),me("repo.removeConfirm",()=>O(async()=>{await te("remove",{id:y.repo.id}),Pt===y.repo.id&&st(""),G({type:"manage"})}),!0,!1,!0))),y.type==="catalog-detail"&&y.detail){let m=y.detail;r=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-detail-head"},s("div",{className:"dssm-name",title:m.name},m.name),m.body?s(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ga(m.body)},f(yt==="copied"?"repo.copied":yt==="failed"?"repo.copyFailed":"repo.copyBody")):null),s("p",{className:"dssm-desc"},m.description),s("div",{className:"dssm-detail-path"},m.origin),s("p",{className:"dssm-note"},f("repo.installHint")),s(i.TextArea,{className:"dssm-detail-body",readOnly:!0,value:m.body||"",rows:16}))}if(y.type==="catalog-detail"&&!y.detail&&(r=s("div",{role:"status",className:"dssm-repo-panel"},y.loading?f("repo.detailLoading"):null,y.failed?Te:null)),y.type==="catalog-install"&&(r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.target.name),s(I,{t:f,value:ve,disabled:Q,allowAgents:!0,workspaces:qe,userDestinations:ae,onChange:m=>{Ue.current||ht({...ve,...m})}}),s("p",{className:"dssm-note"},f("repo.installLocationsHint")),s("p",{className:"dssm-note"},f("repo.installHint")),Q?s("div",{role:"status","aria-live":"polite"},f("repo.installProgress")):null,Te,s("div",{className:"dssm-modal-actions"},me("repo.cancel",Oe),me(Q?"repo.installing":"repo.install",Lr,!1,!Y(ve,qe,ae))))),y.type==="catalog-uninstall"&&(c=f("repo.uninstallHint"),r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.copy.name),s("div",{className:"dssm-repo-metadata"},Hr(y.copy)),y.copy.installedRoot==="agents"&&!y.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},f("repo.uninstallExternalWarning")):null,Q?s("div",{role:"status","aria-live":"polite"},f("repo.uninstallProgress")):null,Te),d=s(t.Fragment,null,me("repo.cancel",Oe),me(Q?"repo.uninstalling":"repo.confirmUninstall",jr,!0,!1,!0))),y.type==="detail"&&y.detail){let m=y.detail;r=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-detail-head"},s("div",{className:"dssm-name",title:m.name},m.name),m.body?s(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ga(m.body)},f(yt==="copied"?"repo.copied":yt==="failed"?"repo.copyFailed":"repo.copyBody")):null),s("p",{className:"dssm-desc"},m.description),s("div",{className:"dssm-detail-path"},y.repo.owner+"/"+y.repo.name+" \xB7 "+m.path),s("div",{className:"dssm-repo-metadata"},f("repo.commit")+" \xB7 "+m.commit),s("p",{className:"dssm-note"},f("repo.installHint")),s(i.TextArea,{className:"dssm-detail-body",readOnly:!0,value:m.body||"",rows:16}))}y.type==="detail"&&!y.detail&&(r=s("div",{role:"status",className:"dssm-repo-panel"},y.loading?f("repo.detailLoading"):null,y.failed?Te:null)),dr=s(e,{className:y.type==="detail"||y.type==="catalog-detail"?"dssm-modal-wide":void 0,title:f("repo."+(y.type==="catalog-detail"?"detail":y.type==="catalog-install"?"install":y.type==="catalog-uninstall"?"uninstall":y.type==="remove"?"remove":y.type)),description:c,footer:d,closeLabel:f("repo.close"),onClose:Oe},r)}function za(r){return ma.includes(r)||Ma(r).length>0}function Ma(r){return Ot(Sr.filter(c=>c.id===r))}function Hr(r){return Ut(r)}function ur(r){!Ue.current&&r.canUninstall&&(oe(null),G({type:"catalog-uninstall",copy:r}))}function jr(){if(!y||y.type!=="catalog-uninstall")return;let r=y.copy;return O(async()=>{if(await h("/delete",{method:"POST",headers:b,body:JSON.stringify({name:r.name,root:r.installedRoot,...r.installedWorkspace?{workspace:r.installedWorkspace}:{}})}),!W.current)return;Ht(d=>d.filter(m=>m!==r&&!(m.id===r.id&&m.installedRoot===r.installedRoot&&m.installedWorkspace===r.installedWorkspace))),oe({key:"repo.uninstallSuccess",name:r.name}),G(null);let c=await Promise.allSettled([St(),Promise.resolve().then(()=>X?.())]);W.current&&c.some(d=>d.status==="rejected")&&oe({key:"repo.catalog.uninstallRefreshWarning",name:r.name})},!1)}function pr(r,c,d,m){let w=Ma(r);return s("div",{className:"dssm-repo-actions"},Ie("repo.detail",d),c&&!w.length?s("span",{className:"dssm-note",role:"status"},f("repo.catalog.unknownLocation")):null,w.length?Ie("repo.installElsewhere",m):za(r)?s("span",{className:"dssm-catalog-installed",role:"status"},f("repo.installed")):Ie(c?"repo.catalog.reassociate":"repo.install",m))}function mr(r){let c=Ma(r);return c.length?s("div",{className:"dssm-repo-copies"},c.map(d=>s("div",{className:"dssm-repo-copy",key:JSON.stringify([d.id,d.installedRoot,d.installedWorkspace||""])},ut(d),d.canUninstall?Ie("repo.uninstall",()=>ur(d),!1,Ut(d)):null))):null}let Ha=zt.filter(r=>{let c=za(`clawhub:${r.owner}/${r.slug}`);return!ge||(ge==="installed"?c:!c)}),Ae=bt==="installs"?Ha.slice().sort((r,c)=>(c.installs||0)-(r.installs||0)):bt==="name"?Ha.slice().sort((r,c)=>r.name.localeCompare(c.name)):Ha,tt=r=>{let c=Yt.includes(`clawhub:${r.owner}/${r.slug}`),d=[r.source,r.downloads===void 0?null:r.downloads.toLocaleString()+" "+f("repo.catalog.downloads"),r.installs===void 0?null:r.installs.toLocaleString()+" "+f("repo.catalog.installs"),r.stars===void 0?null:r.stars.toLocaleString()+" "+f("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return s("div",{key:r.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},r.name),r.description?s("div",{className:"dssm-repo-description",title:r.description},r.description):null,s("div",{className:"dssm-meta-origin"},d)),pr(`clawhub:${r.owner}/${r.slug}`,c,()=>ar({catalog:"clawhub",owner:r.owner,slug:r.slug,name:r.name}),()=>mt({catalog:"clawhub",owner:r.owner,slug:r.slug,name:r.name}))),mr(`clawhub:${r.owner}/${r.slug}`))},gt=s("div",{className:"dssm-catalog-list",onWheel:ea},Ae.map(tt),!Ae.length&&!jt&&!vt?s("div",{className:"dssm-empty"},f("repo.catalog.empty")):null,jt?s("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},s("span",{className:"dssm-repo-spinner","aria-hidden":!0}),zt.length?f("repo.catalog.loadingMore"):f("repo.catalog.loading")):null,vt?s("div",{className:"dssm-feedback dssm-error",role:"alert"},f("repo.catalog.loadError"),s(k,{variant:"ghost",size:"sm",onClick:()=>{et()}},f("repo.catalog.retry"))):null,ee==="clawhub"&&!we.trim()&&lt&&!vt?s("div",{className:"dssm-catalog-sentinel",ref:_a,"aria-hidden":!0}):null,ee==="clawhub"&&!we.trim()&&lt&&!vt&&!jt?s("div",{className:"dssm-catalog-loading"},s(k,{variant:"ghost",size:"sm",onClick:()=>{et(!1,!0)}},f("repo.catalog.loadMore"))):null),ce=s("div",{className:"dssm-catalog-list"},Ga.map(tt),we.trim()&&!Ga.length&&!ya&&!ct?s("div",{className:"dssm-empty"},f("repo.catalog.searchEmpty")):null,ya?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},f("repo.catalog.searchLoading")):null,ct?s("div",{className:"dssm-feedback dssm-error",role:"alert"},f("repo.catalog.searchError"),s(k,{variant:"ghost",size:"sm",onClick:()=>{Ra(we.trim())}},f("repo.catalog.retry"))):null),ja=xt.filter(r=>{if(!Xt)return!0;let c=za(`skillsh:${r.source}/${r.skillId}`);return Xt==="installed"?c:!c}),ra=s("div",{className:"dssm-catalog-list"},ja.map(r=>{let c=`skillsh:${r.source}/${r.skillId}`,d=Yt.includes(c),m=[r.source,r.installs===void 0?null:r.installs.toLocaleString()+" "+f("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return s("div",{key:r.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},r.name),s("div",{className:"dssm-meta-origin"},m)),pr(c,d,()=>ar({catalog:"skillsh",source:r.source,skillId:r.skillId,name:r.name}),()=>mt({catalog:"skillsh",source:r.source,skillId:r.skillId,name:r.name}))),mr(c))}),Dt.trim()&&!ja.length&&!dt&&!wa?s("div",{className:"dssm-empty"},f("repo.catalog.skillshEmpty")):null,dt?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},f("repo.catalog.skillshLoading")):null,wa?s("div",{className:"dssm-feedback dssm-error",role:"alert"},f("repo.catalog.skillshError"),s(k,{variant:"ghost",size:"sm",onClick:()=>{$t(Dt.trim())}},f("repo.catalog.retry"))):null),Nt=s("div",{className:"dssm-subsources"},s("button",{type:"button",className:"dssm-subsource-btn"+(ee==="github"?" on":""),"aria-pressed":ee==="github",onClick:()=>Ge("github")},f("repo.subsource.github")+" ("+R.length+")"),s("button",{type:"button",className:"dssm-subsource-btn"+(ee==="clawhub"?" on":""),"aria-pressed":ee==="clawhub",onClick:()=>Ge("clawhub")},f("repo.subsource.clawhub")),s("button",{type:"button",className:"dssm-subsource-btn"+(ee==="skillsh"?" on":""),"aria-pressed":ee==="skillsh",onClick:()=>Ge("skillsh")},f("repo.subsource.skillsh"))),Wt=ee==="github"?s("div",{className:"dssm-filters"},s("div",{className:"dssm-source-filter"},ft("repo.all",Pt,st,R.map(r=>[r.id,r.owner+"/"+r.name]))),s("div",{className:"dssm-status-filter"},ft("repo.states",It,r=>{da(r),Tt({})},["available","installed","update","conflict","invalid"].map(r=>[r,f("repo."+r)]))),s(i,{className:"dssm-search",allowClear:!0,"aria-label":f("repo.search"),placeholder:f("repo.search"),value:nt,onChange:r=>{ca(r.target.value),Tt({})}}),Ir()):ee==="clawhub"?s("div",{className:"dssm-filters dssm-catalog-filters"},we.trim()?null:s("div",{className:"dssm-catalog-sort-filter"},ft("repo.subsource.popular",bt,Qa,[["installs",f("repo.sort.installs")],["name",f("repo.sort.name")]])),we.trim()?null:s("div",{className:"dssm-catalog-status-filter"},ft("repo.catalog.states",ge,it,[["available",f("repo.available")],["installed",f("repo.installed")]])),s(i,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":f("repo.catalog.searchClawhub"),placeholder:f("repo.catalog.searchClawhub"),value:we,onChange:r=>Ft(r.target.value)})):ee==="skillsh"?s("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},s("div",{className:"dssm-catalog-status-filter"},ft("repo.catalog.states",Xt,Xa,[["available",f("repo.catalog.uninstalled")],["installed",f("repo.installed")]])),s(i,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":f("repo.catalog.searchSkillsh"),placeholder:f("repo.catalog.searchSkillsh"),value:Dt,onChange:r=>Le(r.target.value)})):null,fr=s("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":Q},s("style",null,Zo),Nt,ee==="github"?s("p",{className:"dssm-desc"},f("repo.hint")):ee==="clawhub"&&!we.trim()?s("p",{className:"dssm-desc"},f("repo.subsource.catalogNote")):null,Wt,Yt.length?s("div",{className:"dssm-note",role:"status"},f("repo.catalog.unknownHint")):null,He.map(r=>s("div",{key:r.id,className:"dssm-feedback dssm-error",role:"alert"},r.id+" \xB7 "+Na(r))),Te,y?null:cr,Q&&!Ce?s("div",{className:"dssm-note",role:"status"},f("repo.loading")):null,ee==="github"?R.length?Ta:s("div",{className:"dssm-empty"},f("repo.empty")):ee==="skillsh"?ra:we.trim()?ce:gt,s("p",{className:"dssm-note"},f("repo.footer")),dr);return{actions:lr,content:fr,focusSource:(r,c)=>{st(r.id),ca(c),da(""),Tt({[r.id]:!0})}}}}var sa=()=>({scope:"user",location:"dsh",workspace:""});function gr(t){return t.scope==="workspace"?{workspace:t.workspace}:{root:t.location==="agents"?"agents":"dsh"}}function Kt(t,e,i){return t.scope==="user"?!i||i.some(l=>l.key===t.location&&l.available===!0):e.some(l=>l.available&&!!l.registeredPaths[0]&&l.registeredPaths[0]===t.workspace)}function Yo(t){let e=t.includes("\\")?"\\":"/";return t.replace(/[\\/]+$/,"")+e+".dsh"+e+"skills"}var Ur={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."}},$r=[".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 Go({react:t,SourceSelect:e,translateError:i}){let l=t.createElement;return function({t:g,value:h,onChange:b,workspaces:v,userDestinations:N,allowAgents:C,disabled:z}){let s=h.scope==="workspace",A=v.find(R=>!!R.registeredPaths[0]&&R.registeredPaths[0]===h.workspace),J=[{value:"user",label:g("dest.scope.user")},{value:"workspace",label:g("dest.scope.workspace")}],ue=new Map;for(let R of v)ue.set(R.name,(ue.get(R.name)??0)+1);let k=[{value:"",label:g("dest.workspace.placeholder")}].concat(v.map(R=>({value:R.registeredPaths[0]||"",label:R.available?(ue.get(R.name)??0)>1?R.name+" \xB7 "+R.path:R.name:g("dest.workspace.unavailable",{name:R.name}),disabled:!R.available||!R.registeredPaths[0]}))),be=(C?["dsh","agents"]:["dsh"]).filter(R=>N.some(L=>L.key===R)),K=R=>N.find(L=>L.key===R),Y=R=>be.some(L=>L===R)&&K(R)?.available!==!1,pe=be.map(R=>({value:R,label:g("dest.location."+R),disabled:K(R)?.available===!1})),q=s?l("div",{className:"dssm-field",key:"workspace"},l("span",{className:"dssm-label"},g("dest.workspace")),l(e,{label:g("dest.workspace"),value:h.workspace,disabled:z||v.length===0,options:k,onChange:R=>{!z&&v.length>0&&(R===""||Kt({...h,scope:"workspace",workspace:R},v))&&b({workspace:R})}})):l("div",{className:"dssm-field",key:"location"},l("span",{className:"dssm-label"},g("dest.location")),l(e,{label:g("dest.location"),value:h.location,disabled:z||be.length===0,options:pe,onChange:R=>{!z&&Y(R)&&b({location:R})}})),f=s?A&&A.available?Yo(A.projectRoot||A.path):"":K(h.location)?.path??"",X=s?[]:be.filter(R=>K(R)?.available===!1);return l("div",{className:"dssm-destination"},l("div",{className:"dssm-destination-pair"},l("div",{className:"dssm-field",key:"scope"},l("span",{className:"dssm-label"},g("dest.scope")),l(e,{label:g("dest.scope"),value:h.scope,disabled:z,options:J,onChange:R=>{!z&&(R==="workspace"||R==="user")&&b(R==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),q),s&&v.length===0?l("p",{className:"dssm-feedback dssm-warning",role:"status"},g("dest.empty")):null,s&&v.length>0&&!A?l("p",{className:"dssm-note"},g("dest.pickFirst")):null,f?l("code",{className:"dssm-destination-path"},f):null,X.map(R=>l("div",{key:R,className:"dssm-note dssm-destination-unavailable"},l("span",null,g("dest.location."+R)),l("code",{className:"dssm-destination-path"},K(R)?.path??""),l("span",null,K(R)?.error?i(g,K(R).error):""))),s&&A?l("p",{className:"dssm-note"},g("dest.projectNote")+" "+g("dest.location.agentsOff")):null)}}function eo(t){return{DestinationPicker:Go(t),defaultDestination:sa,destinationPayload:gr,destinationReady:Kt}}var F=na(require("react"),1),Or=require("react-dom/client"),qt=require("@deepseek-ai/dsh-client-ui-primitives");var Jo={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"},Xo={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 Ua(t){return t.toLowerCase().startsWith("zh")?Jo:Xo}function _o(t,e,i,l){let p=Ua(t),g=e?.restartDesktop===!0||e?.profileName==="desktop",h=g?{...p,manualHint:p.manualHintDesktop}:p,b=i!=="idle",v=h.checking,N="";return i==="checking"?v=h.checking:i==="updating"?v=h.updating:l.type==="error"?(v=l.message||h.failed,N="error"):l.type==="restart"?(v=g?h.restartDesktop:h.restart,N="success"):l.type==="restarting"?(v=h.restarting,N="success"):e===void 0?v=h.checking:e.latestCheckFailed?(v=h.failed,N="error"):!e.canAutoUpdate&&e.updateAvailable?(v=h.unavailable,N="update"):e.updateAvailable?(v=`${h.found}: v${e.latestVersion??h.unknown}`,N="update"):(v=h.latest,N="success"),{copy:h,busy:b,message:v,kind:N,loading:i==="updating",updateLabel:i==="updating"?h.updating:h.auto,disabled:b||e?.canAutoUpdate!==!0||e.updateAvailable!==!0,currentVersion:e===void 0?h.unknown:`v${e.currentVersion}`,latestVersion:e?.latestVersion===void 0?h.unknown:`v${e.latestVersion}`,profileName:e?.profileName??h.unknown,profileRaw:e?.profileName??"",latestRaw:e?.latestVersion??"latest"}}function to(t,e,i){let l="idle",p=e,g={type:"status"},h=0,b=new Set,v=()=>{for(let C of b)C()},N=C=>{p=C,i?.(C)};return{get posts(){return h},subscribe(C){return b.add(C),()=>{b.delete(C)}},view(C){return _o(C,p,l,g)},async check(){if(l==="idle"){l="checking",g={type:"status"},v();try{N(await t("GET")),g={type:"status"}}catch(C){g={type:"error",message:C instanceof Error?C.message:""}}finally{l="idle",v()}}},async update(){if(l==="idle"){l="updating",g={type:"status"},h+=1,v();try{let C=await t("POST");N(C),g={type:C.autoReload===!0?"restarting":"restart"}}catch(C){g={type:"error",message:C instanceof Error?C.message:""}}finally{l="idle",v()}}}}}function ao(t,e,i){return`dsh plugin${t.trim()===""?"":` --profile ${t.trim()}`} add ${e}@${i} --registry=https://registry.npmjs.org/`}function ro(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function $o(){if(typeof document>"u")return;let t=document.baseURI;if(!(typeof t!="string"||t===""))try{let e=new URL(t);return e.pathname.endsWith("/")||(e.pathname+="/"),e.href}catch{return}}function Oa(t){if(typeof t!="string"||t.charAt(0)!=="/"||t.charAt(1)==="/")return t;let e=$o();if(e===void 0)return t;try{return new URL(t.slice(1),e).href}catch{return t}}var en="x-michengai-plugin-update",oo="michengai-plugin-update-ui",tn=`
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-flex;align-items:center;justify-content:center;animation:dssm-spin .8s linear infinite;transform-origin:center;flex:none}.dssm-icon-action .dssm-repo-spinner{margin:0}button:not(.dssm-icon-action) .dssm-repo-spinner{margin-right:6px}@keyframes dssm-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}`,pn=`
18
+ .dssm-bulk-check{flex:none;gap:0!important;font-size:0;line-height:0}
19
+ /* \u89C6\u89C9\u9690\u85CF\u5BBF\u4E3B\u6807\u7B7E\uFF0C\u4F46\u4FDD\u7559\u5176\u65E0\u969C\u788D\u540D\u79F0\uFF1Bfont-size \u5F52\u96F6\u7528\u4E8E\u517C\u5BB9 DOM \u7ED3\u6784\u4E0D\u540C\u7684\u65E7\u5BBF\u4E3B\u3002 */
20
+ .dssm-bulk-check>span,.dssm-bulk-check>span *{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
21
+
22
+ .dssm-bulk-repo{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9);user-select:none;white-space:nowrap}
23
+ .dssm-bulk-repo:hover{color:var(--dsw-alias-label-primary,#eeeeee)}
24
+ .dssm-bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-md,10px);background:var(--dsw-alias-bg-layer-1,transparent);margin:0 0 10px}
25
+ .dssm-bulk-count{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9);margin-right:4px}
26
+ .dssm-bulk-bar button{flex:none}
27
+ .dssm-bulk-summary{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
28
+ .dssm-bulk-summary li{font-size:12px;padding:2px 8px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover,transparent);color:var(--dsw-alias-label-secondary,#b9b9b9)}
29
+ .dssm-bulk-policy{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9);margin:6px 0;cursor:pointer}
30
+ .dssm-bulk-results{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow:auto;margin:6px 0;padding:0;list-style:none}
31
+ .dssm-bulk-results li{display:flex;align-items:flex-start;flex-wrap:wrap;min-width:0;overflow-wrap:anywhere;gap:8px;font-size:12px;padding:4px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover,transparent)}
32
+ .dssm-bulk-results .dssm-bulk-status{flex:none;font-weight:600}
33
+ .dssm-bulk-results .dssm-bulk-status.ok{color:var(--dsw-alias-state-success-primary,#51b976)}
34
+ .dssm-bulk-results .dssm-bulk-status.failed{color:var(--dsw-alias-state-error-primary,#ef7272)}
35
+ .dssm-bulk-results .dssm-bulk-detail{margin-left:auto;min-width:0;overflow-wrap:anywhere;color:var(--dsw-alias-label-tertiary,#a0a0a0);max-width:50%}
36
+ .dssm-bulk-results .dssm-bulk-name,.dssm-bulk-results .dssm-bulk-reason{min-width:0;overflow-wrap:anywhere}
37
+ .dssm-bulk-progress{display:flex;align-items:center;gap:8px;margin:8px 0 2px}
38
+
39
+
40
+ .dssm-bulk-progress-text{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap}
41
+ `;function bo({react:a,Modal:e,Input:d,Button:u,Checkbox:m,SourceSelect:g,destination:b,api:y,headers:w,translateError:A,getLocale:N,IconLoading:j,IconRefresh:Z}){let n=a.createElement,$=j||function(te){let p=te?.size||14;return n("svg",{width:p,height:p,viewBox:"0 0 16 16",fill:"none",className:te?.className,"aria-hidden":"true",strokeWidth:1.3},n("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"}))},he=Z||function(te){let p=te?.size||14;return n("svg",{width:p,height:p,viewBox:"0 0 16 16",fill:"none",className:te?.className,"aria-hidden":"true",strokeWidth:1.3},n("path",{d:"M14.5001 8C14.5 9.28552 14.1188 10.5422 13.4045 11.611C12.6903 12.6799 11.6752 13.5129 10.4875 14.0049C9.29982 14.4968 7.99295 14.6255 6.73212 14.3747C5.4713 14.124 4.31314 13.505 3.4041 12.596C2.49514 11.687 1.87614 10.5288 1.62537 9.26798C1.37459 8.00716 1.50331 6.70028 1.99525 5.51261C2.48719 4.32494 3.32025 3.30981 4.3891 2.59557C5.45795 1.88134 6.71458 1.50008 8.0001 1.5C9.9001 1.5 11.7001 2.3 13.0001 3.6L14.5001 5.1",stroke:"currentColor"}),n("path",{d:"M14.4999 1.5V5.1H10.8999",stroke:"currentColor"}))};function I(se){return n("svg",{className:"dssm-fold-chevron"+(se?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},n("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}let L=u,{DestinationPicker:ve,defaultDestination:J,destinationPayload:ee,destinationReady:be}=b;return function({active:te,t:p,onInstalled:P}){let[S,Ne]=a.useState([]),[re,ct]=a.useState([]),[q,Pa]=a.useState(!1),[Re,Ta]=a.useState(null),[Kt,oe]=a.useState(null),[ke,Fe]=a.useState(null),[Ia,za]=a.useState(""),[dt,la]=a.useState(""),[qt,Te]=a.useState(""),[ia,Qt]=a.useState({}),[k,G]=a.useState(null),[We,Tt]=a.useState(()=>{try{let t=sessionStorage.getItem("dssm-bulk-selection");return t?JSON.parse(t):{}}catch{return{}}});a.useEffect(()=>{try{sessionStorage.setItem("dssm-bulk-selection",JSON.stringify(We))}catch{}},[We]);let[Le,ot]=a.useState(null),[Ma,rr]=a.useState({localModified:"skip"}),[ie,xt]=a.useState(J()),[Oe,Ie]=a.useState([]),[ae,or]=a.useState("github"),[we,Ha]=a.useState(""),[ca,Hr]=a.useState(""),[Zt,nr]=a.useState(""),[Yt,Ke]=a.useState([]),[sr,da]=a.useState([]),[ja,ua]=a.useState([]),[St,Oa]=a.useState([]),[lr,ir]=a.useState([]),[Gt,ut]=a.useState("idle");function cr(t){if(typeof navigator>"u"||!navigator.clipboard){ut("failed");return}navigator.clipboard.writeText(t).then(()=>{ut("copied"),setTimeout(()=>ut("idle"),1500)}).catch(()=>ut("failed"))}let[pt,dr]=a.useState(!0),[ze,mt]=a.useState(!1),[It,Ua]=a.useState(!1),[qe,pa]=a.useState([]),[ur,Jt]=a.useState(!1),[Ba,ma]=a.useState(!1),Ge=a.useRef(0),Xt=a.useRef(null),Je=a.useRef(null),[Ce,pr]=a.useState(""),[fa,Ct]=a.useState(""),[Da,ft]=a.useState([]),[gt,de]=a.useState(!1),[mr,zt]=a.useState(!1),Mt=a.useRef(0),ht=a.useRef(null),bt=a.useRef(null),ga=a.useRef({cursor:null,count:0,hasMore:!0}),yt=a.useRef(null),ha=a.useRef(null),[Nt,ba]=a.useState({url:"",ref:"",subdirectory:""}),Qe=a.useRef(!1),V=a.useRef(!0);a.useEffect(()=>(V.current=!0,()=>{V.current=!1}),[]);async function vt(){let t=await y("/repositories");if(V.current){let l=(t.installRoots||[]).filter(c=>c.key==="dsh"||c.key==="agents");Ne(t.repositories||[]),ct(l),da(t.catalogInstalls||[]),ua(t.catalogCopies||[]),Oa(t.catalogUnknownIds||[]),ir(t.catalogWarnings||[]),Me(t.repositories||[]),ie.scope==="user"&&!l.some(c=>c.key===ie.location&&c.available)&&xt({...ie,location:l.find(c=>c.available)?.key||"dsh"}),y("/workspaces").then(c=>{V.current&&Ie(c.items||[])}).catch(()=>{})}}function jr(t){if(t.key==="dsh"||t.key==="agents")return p(t.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let l="root."+(t.localeKey||t.key),c=p(l);return c===l?t.label:c}function Ht(t){let l=re.find(c=>c.key===t);return l?jr(l):p("root."+t)}function ue(t){if(t.installedWorkspace){let l=i=>{let f=i.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(f)?f.toLowerCase():f},c=Oe.find(i=>i.projectRoot&&l(i.projectRoot)===l(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 Rt(t){return t.installedWorkspace||t.installedRoot?ce(t):""}function fr(t){let l=t.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(l)?l.toLowerCase():l}function jt(t){let l=Oe.find(f=>f.projectRoot&&fr(f.projectRoot)===fr(t));if(l?.name)return l.name;let c=t.replace(/[\\/]+$/,""),i=Math.max(c.lastIndexOf("/"),c.lastIndexOf("\\"));return i>=0?c.slice(i+1):c}function X(t){let l=!!t.installedWorkspace,c=l?"dsh":t.installedRoot,i=p(c==="agents"?"repo.source.agents":"repo.source.dsh"),f=p(l?"repo.scope.project":"repo.scope.user"),x=l?t.installedWorkspace||"":re.find(z=>z.key===c)?.path||"";return{lead:l?[f,jt(t.installedWorkspace||""),i].filter(Boolean).join(" \xB7 "):[f,i].filter(Boolean).join(" \xB7 "),path:x}}function ce(t){let l=X(t);return l.path?l.lead+" "+l.path:l.lead}function Va(t){let l=X(t);return n("div",{className:"dssm-repo-metadata",title:ce(t)},n("span",{className:"dssm-location-lead"},l.lead),l.path?n("span",{className:"dssm-location-path",title:l.path},l.path):null)}function _t(t){return t.slice().sort((l,c)=>+!!l.installedWorkspace-+!!c.installedWorkspace)}function ya(t){return _t((t.installations??(t.installedRoot?[t]:[])).filter(l=>l.tracked===!0))}function Ot(t,l){return"install"+t.id+""+l.path}function Xe(t,l,c){return"copy"+t.id+""+l.path+""+(c.installedRoot||"")+""+(c.installedWorkspace||"")}function va(t){Tt(l=>{let c={...l};return c[t]?delete c[t]:c[t]=!0,c})}function Fa(){Tt({})}function Me(t){Tt(l=>{let c={};for(let x of t)for(let H of x.skills){H.status==="available"&&(c[Ot(x,H)]=!0);for(let z of ya(H))c[Xe(x,H,z)]=!0}let i={},f=!1;for(let x of Object.keys(l))c[x]?i[x]=!0:f=!0;return f?i:l})}function Ue(t){let l=t,c=A(p,t)||l.message||String(t),i=l?.params?.path;return typeof i=="string"&&i&&!c.includes(i)?c+" \xB7 "+i:c}function gr(t){if(t.payload)return Ue(t.payload);if(t.key){let l=t.params||(t.name?{name:t.name,names:t.name}:void 0),c=p(t.key,l),i=t.name&&!c.includes(t.name)?" \xB7 "+t.name:"";return c+i}return t.text||""}async function ye(t,l=!0,c=!1){if(!Qe.current){Qe.current=!0,c||(Pa(!0),oe(null));try{await t(),l&&await vt()}catch(i){let f=i;V.current&&oe({error:!0,payload:f})}finally{Qe.current=!1,V.current&&Pa(!1)}}}function xe(t,l){return y(`/repositories/${t}`,{method:"POST",headers:w,body:JSON.stringify(l)})}let $t=a.useRef(!1);async function ea(t=!1,l=!1,c=we){if(!te||c.trim()||yt.current||l&&$t.current)return;let i=ga.current;if(!t&&(!i.hasMore||i.count>=100))return;l&&($t.current=!0);let f=t?0:i.count,x=new AbortController;yt.current=x,mt(!0),Ua(!1),t&&(ga.current={cursor:null,count:0,hasMore:!0},Ke([]));try{let H=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-f))}),z=t?null:i.cursor;z&&H.set("cursor",z);let v=await y(`/clawhub/list?${H.toString()}`,{signal:x.signal});if(yt.current!==x||x.signal.aborted||!V.current)return;if(!Array.isArray(v.items))throw new Error("ClawHub response has no items array");let T=v.items.flatMap(M=>{if(typeof M.ownerHandle!="string"||!M.ownerHandle||typeof M.slug!="string"||!M.slug)return[];let Ve=Et=>typeof Et=="number"&&Number.isFinite(Et)?Et:void 0;return[{id:M.ownerHandle+"/"+M.slug,owner:M.ownerHandle,slug:M.slug,name:typeof M.displayName=="string"&&M.displayName?M.displayName:M.slug,source:M.ownerHandle+"/"+M.slug,description:typeof M.summary=="string"?M.summary:"",downloads:Ve(M.stats?.downloads),installs:Ve(M.stats?.installs),stars:Ve(M.stats?.stars)}]}).slice(0,Math.max(0,100-f)),F=typeof v.nextCursor=="string"&&v.nextCursor?v.nextCursor:null,Y=f+T.length;if(ga.current={cursor:F,count:Y,hasMore:!!F&&Y<100},!V.current)return;Ke(M=>[...t?[]:M,...T].slice(0,100)),dr(ga.current.hasMore)}catch{yt.current===x&&!x.signal.aborted&&V.current&&Ua(!0)}finally{yt.current===x&&(yt.current=null,$t.current=!1,V.current&&mt(!1))}}function hr(){Je.current&&clearTimeout(Je.current),Je.current=null,Ge.current++,Xt.current?.abort(),Xt.current=null,V.current&&Jt(!1)}async function kt(t){let l=++Ge.current,c=new AbortController;Xt.current?.abort(),Xt.current=c,pa([]),Jt(!0),ma(!1);try{let i=new URLSearchParams({q:t,limit:"100"}),f=await y(`/clawhub/search?${i.toString()}`,{signal:c.signal});if(!Array.isArray(f.results))throw new Error("ClawHub search response has no results array");let x=z=>typeof z=="number"&&Number.isFinite(z)?z:void 0,H=f.results.flatMap(z=>{if(typeof z.source=="string"&&z.source!=="clawhub")return[];let v=typeof z.ownerHandle=="string"?z.ownerHandle:z.owner?.handle;return typeof v!="string"||!v||typeof z.slug!="string"||!z.slug?[]:[{id:typeof z.id=="string"?z.id:v+"/"+z.slug,owner:v,slug:z.slug,name:typeof z.displayName=="string"&&z.displayName?z.displayName:z.slug,source:v+"/"+z.slug,description:typeof z.summary=="string"?z.summary:"",downloads:x(z.downloads)??x(z.stats?.downloads),installs:x(z.stats?.installs),stars:x(z.stats?.stars)}]});l===Ge.current&&V.current&&pa(H)}catch(i){let f=i?.name==="AbortError";l===Ge.current&&V.current&&!f&&ma(!0)}finally{l===Ge.current&&(Xt.current=null,V.current&&Jt(!1))}}function Or(t){Ha(t),hr(),pa([]),ma(!1);let l=t.trim().slice(0,100);if(!l){ae==="clawhub"&&!Yt.length&&!ze&&ea(!0,!1,l);return}Jt(!0),Je.current=setTimeout(()=>{Je.current=null,kt(l)},300)}function Ur(){bt.current&&clearTimeout(bt.current),bt.current=null,Mt.current++,ht.current?.abort(),ht.current=null,V.current&&de(!1)}async function ka(t){let l=++Mt.current,c=new AbortController;ht.current?.abort(),ht.current=c,ft([]),de(!0),zt(!1);try{let i=await y(`/skills-sh/search?q=${encodeURIComponent(t)}`,{signal:c.signal});l===Mt.current&&V.current&&ft(i.skills)}catch(i){let f=i?.name==="AbortError";l===Mt.current&&V.current&&!f&&zt(!0)}finally{l===Mt.current&&(ht.current=null,V.current&&de(!1))}}function Br(t){pr(t),bt.current&&clearTimeout(bt.current),bt.current=null,Mt.current++,ht.current?.abort(),ht.current=null,ft([]),de(!1),zt(!1);let l=t.trim();l&&(bt.current=setTimeout(()=>{bt.current=null,ka(l)},300))}function Wa(t){G(null),or(t),Fa()}function Dr(t){let l=t.getBoundingClientRect(),c=t.parentElement;for(;c;){let i=getComputedStyle(c);if(/(auto|scroll)/.test(`${i.overflowY} ${i.overflow}`)&&c.scrollHeight>c.clientHeight+1){let f=c.getBoundingClientRect();return l.top<=f.bottom+80&&l.bottom>=f.top}c=c.parentElement}return l.top<=window.innerHeight+80}function Vr(t){if(k||t.defaultPrevented||t.deltaY<=0||ae!=="clawhub"||we.trim()||!pt||It||!t.target||!t.currentTarget.contains(t.target))return;let l=ha.current;!l||typeof l.getBoundingClientRect!="function"||!Dr(l)||ea(!1,!0)}async function wa(t){let l=await xe("refresh",{id:t}),c=l.error||l.data?.error;c&&oe({error:!0,payload:c})}function Ut(t){return ye(async()=>{let l=[],c;try{for(let i=0;i<t.length;i++){let f=t[i];Ta({id:f.id,name:f.owner+"/"+f.name,index:i+1,total:t.length});let x=await xe("refresh",{id:f.id}),H=x.error||x.data?.error;H&&(l.push(f.owner+"/"+f.name),c=H)}if(await vt(),V.current)if(l.length===0)oe({key:"repo.refreshed"});else if(l.length===t.length)oe({error:!0,payload:c});else{let f=(N?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?", ":"\u3001";oe({error:!0,key:"repo.partialRefreshFailed",params:{names:l.join(f)}})}}finally{V.current&&Ta(null)}},!1,!0)}function br(t,l){return ye(async()=>{ut("idle"),G({type:"detail",repo:t,loading:!0});try{let c=await xe("detail",{id:t.id,path:l.path});V.current&&G({type:"detail",detail:c,repo:t})}catch(c){let i=c;throw V.current&&G({type:"detail",repo:t,failed:!0}),i}},!1,!0)}function ta(t){return ye(async()=>{ut("idle"),G({type:"catalog-detail",loading:!0});try{let l=await y("/catalog/detail",{method:"POST",headers:w,body:JSON.stringify(t)});V.current&&G({type:"catalog-detail",detail:l})}catch(l){let c=l;throw V.current&&G({type:"catalog-detail",failed:!0}),c}},!1,!0)}function Ka(t){Qe.current||(oe(null),G({type:"catalog-install",target:t}))}function Fr(){if(!k||k.type!=="catalog-install"||!be(ie,Oe,re))return;let t=k.target,l=ee(ie);return ye(async()=>{let c=await y("/catalog/install",{method:"POST",headers:w,body:JSON.stringify({...t,...l})});if(!V.current)return;let i=t.catalog==="skillsh"?`skillsh:${t.source}/${t.skillId}`:`clawhub:${t.owner}/${t.slug}`;da(H=>H.includes(i)?H:[...H,i]);let f=l.root||"dsh";ua(H=>H.some(z=>z.id===i&&z.installedRoot===f&&z.installedWorkspace===l.workspace)?H:[...H,{id:i,name:c.name,installedRoot:f,...l.workspace?{installedWorkspace:l.workspace}:{},canUninstall:!0}]),oe({key:"repo.installSuccess",name:t.name}),G(null);let x=await Promise.allSettled([vt(),Promise.resolve().then(()=>P?.())]);V.current&&x.some(H=>H.status==="rejected")&&oe({key:"repo.catalog.installRefreshWarning",name:t.name})},!1)}a.useEffect(()=>{te&&ye(vt,!1)},[te]),a.useEffect(()=>(te&&(ae==="clawhub"?we.trim()?kt(we.trim()):Yt.length||ea(!0):ae==="skillsh"&&Ce.trim()&&ka(Ce.trim())),()=>{hr(),Ur(),yt.current?.abort(),yt.current=null,$t.current=!1,V.current&&mt(!1)}),[te,ae]);function pe(t,l,c=!0,i=!1,f=!1){return n(L,{variant:c?"outline":"primary",className:f?"dssm-btn-danger":void 0,disabled:q||i,onClick:l},p(t))}function xa(t){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},n("path",{d:t,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Ze(t,l,c=!1,i){var f=t==="repo.uninstall"||t==="repo.uninstalling"||t==="repo.remove",x=t==="repo.installed"||t==="repo.installedSuccess",H=t==="repo.conflict",z=t==="repo.refresh"||t==="repo.refreshing",v=z?null: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":f?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":H?"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",T=z?n(he,{size:14}):xa(v);return n(L,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(f?" dssm-icon-danger":x?" dssm-icon-success":H?" dssm-icon-warn":""),"aria-label":p(t),title:i||p(t),icon:T,disabled:q||c,onClick:l,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},f?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},f?{danger:!0}:{}))}function Wr(t){G({type:"remove",repo:t})}function yr(t){let l=t.url||"",c="GitHub",i="0 0 16 16",f="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";/gitee\.com/i.test(l)?(c="Gitee",i="0 0 24 24",f="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):/gitlab(\.|\/)/i.test(l)?(c="GitLab",i="0 0 24 24",f="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):l&&!/github\.com/i.test(l)&&(c="Git",i="0 0 24 24",f="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187");let H=(N?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?" repository":" \u4ED3\u5E93";return n("span",{className:"dssm-source-brand",title:c+H},n("svg",{viewBox:i,width:16,height:16,fill:"currentColor","aria-hidden":!0},n("path",{d:f})))}function vr(t){return Re&&Re.id===t.id?n(L,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":p("repo.refreshing"),title:p("repo.refreshing"),icon:n($,{size:14,className:"dssm-repo-spinner"}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):Ze("repo.refresh",()=>Ut([t]))}function Kr(){return S.length?S.map(t=>n("div",{key:t.id,className:"dssm-repo-row dssm-repo-manage-row"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name",style:{display:"flex",alignItems:"center",gap:"6px"}},yr(t),n("span",null,t.owner+"/"+t.name)),n("div",{className:"dssm-note"},[t.ref||p("repo.defaultBranch"),t.subdirectory].filter(Boolean).join(" \xB7 ")),n("div",{className:"dssm-repo-metadata"},t.refreshedAt?p("repo.updated")+" \xB7 "+new Date(t.refreshedAt).toLocaleString(N?.()||p("format.locale")):p("repo.notScanned"))),n("div",{className:"dssm-repo-actions"},vr(t),Ze("repo.remove",()=>Wr(t))))):n("div",{className:"dssm-empty"},p("repo.empty"))}function qr(t,l=!1){let c=Re&&(!l||Re.id===t[0]?.id);return n(L,{variant:"outline",disabled:q||!!Re||!t.length,"aria-busy":!!c,onClick:()=>Ut(t)},c?n($,{size:14,className:"dssm-repo-spinner"}):null,p(c?"repo.refreshing":"repo.refresh"))}function Qr(t){return t?t.type==="bulk-review"?Le?.phase==="running":t.type==="install"||t.type==="uninstall"||t.type==="catalog-install"||t.type==="catalog-uninstall"||t.type==="review"||t.type==="rollback":!1}function Ye(){Qe.current&&Qr(k)||(ut("idle"),k&&(k.type==="bulk-review"||k.type==="bulk-done")&&ot(null),G(null))}function Sa(t,l,c,i){Qe.current||t==="uninstall"&&(!i||!i.canUninstall||!ue(i))||(oe(null),G({type:t,repo:l,skill:c,copy:i}))}function kr(){if(!k||k.type!=="install"&&k.type!=="uninstall")return;let t=k,l=t.type,c=ie;if(l==="install"&&!be(c,Oe,re))return;let i=l==="install"?ee(c):t.copy&&ue(t.copy);if(i)return ye(async()=>{let f={id:t.repo.id,path:t.skill.path,...i};Fe({...f,action:l,pending:!0,key:"repo."+l+"Progress"});try{await xe(l,f)}catch(z){let v=z;throw V.current&&Fe({...f,action:l,error:!0,payload:v}),v}if(!V.current)return;let x="repo."+l+"Success";Fe({...f,action:l,key:x}),oe({key:x,name:t.skill.name}),G(null);let H=await Promise.allSettled([vt(),Promise.resolve().then(()=>P?.())]);for(let z of H)if(z.status==="rejected")throw z.reason},!1)}function wr(t,l,c,i=!1){let f=ue(c);if(!(!f||(i?!c.canRollback:!c.tracked)))return ye(async()=>{let x=await xe("preview",{id:t.id,path:l.path,...f,rollback:i});G({type:i?"rollback":"review",repo:t,skill:l,copy:c,detail:x})})}function Zr(){if(!k||k.type!=="review"&&k.type!=="rollback")return;let t=k,l=t.type==="rollback",c=ue(t.copy);if(c)return ye(async()=>{let i={id:t.repo.id,path:t.skill.path,...c};Fe({...i,pending:!0,key:"repo.updateProgress"});try{await xe(l?"rollback":"update",{...i,token:t.detail.token,overwrite:t.detail.localModified})}catch(x){let H=x;throw V.current&&Fe({...i,error:!0,payload:H}),H}if(!V.current)return;let f=l?"repo.rollbackSuccess":"repo.updateSuccess";Fe({...i,key:f}),oe({key:f}),G(null),P&&await P()})}function Yr(){if(ie.scope==="user")return Ht(ie.location);let t=Oe.find(l=>l.registeredPaths.includes(ie.workspace)||l.projectRoot===ie.workspace);return(t?t.name:p("repo.scope.project"))+" \xB7 .dsh/skills"}function xr(t){return p("repo.bulk.bucket."+(t==="local-modified"?"localModified":t))}function Gr(t){let l={};for(let c of t)l[c.bucket]=(l[c.bucket]||0)+1;return l}function qa(t,l,c){return t.bucket==="error"?"error":l==="install"?t.bucket==="available"?null:"conflict":l==="uninstall"?t.bucket==="uninstallable"?null:"unavailable":t.bucket==="updatable"||t.bucket==="rollbackable"?null:t.bucket==="unchanged"?"unchanged":t.bucket==="local-modified"?c.localModified==="overwrite"?null:"localModified":"unavailable"}function Jr(t){return t.items.filter(l=>qa(l,t.op,t.policy)===null).length}function Qa(t,l){ot({op:t,phase:"preflight",items:l,results:[],policy:Ma}),G({type:"bulk-review"})}function Sr(t=He.installs){let l=t.filter(c=>c.skill.status==="available").map(c=>({key:Ot(c.repo,c.skill),repo:c.repo,skill:c.skill,bucket:"available"}));l.length&&l.length<=100&&Qa("install",l)}function Za(t,l=He.copies){let c=[];for(let i of l){let f=i.copy;ue(f)&&(t==="update"&&!f.tracked||t==="uninstall"&&!f.canUninstall||t==="rollback"&&!f.canRollback||c.push({key:Xe(i.repo,i.skill,f),repo:i.repo,skill:i.skill,copy:f,bucket:t==="uninstall"?"uninstallable":"available"}))}return Be(t,c)}function Be(t,l){if(!l.length||l.length>100)return;let c=t==="uninstall"?l.map(i=>({...i,bucket:"uninstallable"})):l;if(t==="uninstall"){Qa(t,c);return}return ye(async()=>{let i=new Array(c.length),f=new Array(c.length),x=[];for(let H=0;H<c.length;H++){let z=c[H],v=ue(z.copy);if(!v){i[H]={...z,bucket:"unavailable"};continue}f[H]=x.length,x.push({item:z,scope:v,rollback:t==="rollback"})}if(x.length){V.current&&oe({key:"repo.bulk.checkingAll",params:{total:x.length}});try{let H=await xe("previewMany",{items:x.map(v=>({id:v.item.repo.id,path:v.item.skill.path,...v.scope,rollback:v.rollback}))}),z=H&&Array.isArray(H.results)?H.results:[];for(let v=0;v<c.length;v++){if(i[v])continue;let T=x[f[v]],F=z[f[v]];if(!F||!F.ok){i[v]={...T.item,bucket:"error",error:Object.assign(new Error(F?.error||p("repo.bulk.failed")),{code:F?.code||"error.repo.invalid",params:F?.params})};continue}let Y=ho(F);i[v]={...T.item,token:F.token,bucket:T.rollback&&Y==="updatable"?"rollbackable":Y}}}catch(H){for(let z=0;z<c.length;z++)i[z]||(i[z]={...c[z],bucket:"error",error:H})}}if(V.current){if(t==="update"&&i.every(H=>H.bucket==="unchanged")){oe({key:"repo.bulk.noUpdates",params:{total:i.length}});return}oe(null),Qa(t,i)}},!1,!0)}async function Lt(){let t=Le;if(!t||t.phase!=="preflight"||Qe.current)return;let l=t.items;return ot({...t,phase:"running"}),ye(async()=>{let i=new Map,f=[];for(let v of l){let T=qa(v,t.op,t.policy);if(T==="error"){i.set(v.key,{status:"failed",error:v.error});continue}if(T){i.set(v.key,{status:"skipped",reason:T});continue}f.push(v)}let x=t.op==="install"?ee(ie):null;if(t.op==="install"&&f.length&&x)try{let v=await xe("installMany",{items:f.map(Y=>({id:Y.repo.id,path:Y.skill.path})),...x}),T=v&&Array.isArray(v.results)?v.results:[],F=new Map;for(let Y of T)F.set("install"+Y.id+""+Y.path,Y);for(let Y of f){let M=F.get(Y.key);M?M.ok?i.set(Y.key,{status:"ok"}):i.set(Y.key,{status:"failed",error:Object.assign(new Error(M.error||p("repo.bulk.failed")),{code:M.code,params:M.params})}):i.set(Y.key,{status:"failed",error:Object.assign(new Error(p("repo.bulk.failed")),{code:"error.repo.invalid"})})}}catch(v){for(let T of f)i.set(T.key,{status:"failed",error:v})}else if(t.op==="uninstall"&&f.length)try{let v=await xe("uninstallMany",{items:f.map(M=>({id:M.repo.id,path:M.skill.path,...M.copy?.installedRoot?{root:M.copy.installedRoot}:{},...M.copy?.installedWorkspace?{workspace:M.copy.installedWorkspace}:{}}))}),T=v&&Array.isArray(v.results)?v.results:[],F=T.slice(),Y=new Map;for(let M of T)Y.set("copy"+M.id+""+M.path+""+(M.root||"")+""+(M.workspace||""),M);for(let M of f){let Ve=Y.get(M.key);if(!Ve){let Et=F.findIndex(Rr=>Rr.id===M.repo.id&&Rr.path===M.skill.path);Et>=0&&(Ve=F[Et],F.splice(Et,1))}Ve?Ve.ok?i.set(M.key,{status:"ok"}):i.set(M.key,{status:"failed",error:Object.assign(new Error(Ve.error||p("repo.bulk.failed")),{code:Ve.code,params:Ve.params})}):i.set(M.key,{status:"failed",error:Object.assign(new Error(p("repo.bulk.failed")),{code:"error.repo.invalid"})})}}catch(v){for(let T of f)i.set(T.key,{status:"failed",error:v})}else if(f.length)try{let v=await xe("updateMany",{items:f.map(F=>({id:F.repo.id,path:F.skill.path,...ue(F.copy)||{},rollback:t.op==="rollback",token:F.token,overwrite:F.bucket==="local-modified"&&t.policy.localModified==="overwrite"}))}),T=v&&Array.isArray(v.results)?v.results:[];for(let F=0;F<f.length;F++){let Y=f[F],M=T[F];M?M.ok?i.set(Y.key,{status:"ok"}):i.set(Y.key,{status:"failed",error:Object.assign(new Error(M.error||p("repo.bulk.failed")),{code:M.code,params:M.params})}):i.set(Y.key,{status:"failed",error:Object.assign(new Error(p("repo.bulk.failed")),{code:"error.repo.invalid"})})}}catch(v){for(let T of f)i.set(T.key,{status:"failed",error:v})}let H=l.map(v=>{let T=i.get(v.key)||{status:"notRun"};return{key:v.key,label:v.skill.name,detail:v.copy?ce(v.copy):Yr(),status:T.status,error:T.error,reason:T.reason}});if(!V.current)return;let z=await Promise.allSettled([vt(),Promise.resolve().then(()=>P?.())]);V.current&&(ot({...t,phase:"done",results:H}),G({type:"bulk-done"}),oe(z.some(v=>v.status==="rejected")?{key:"repo.bulk.refreshWarning"}:null))},!1)}function At(){let t=Le;if(!t||t.phase!=="done")return;let l=new Set(t.results.filter(f=>f.status==="failed").map(f=>f.key)),c=t.items.filter(f=>l.has(f.key));if(!c.length)return;let i=t.op;if(ot(null),G(null),i==="install"){let f=c.filter(x=>x.skill.status==="available");if(!f.length){oe({key:"repo.bulk.nothingToRetry"});return}Sr(f.map(x=>({repo:x.repo,skill:x.skill})));return}return Be(i,c.map(f=>({...f,token:void 0,bucket:"available",error:void 0})))}function ge(t,l,c){return n(L,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:q,"aria-label":p(t),title:p(t),icon:xa(l),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 Cr(t){let l=Re&&Re.id===t[0]?.id;return n(L,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:q||!t.length,"aria-busy":!!l,"aria-label":p(l?"repo.refreshing":"repo.refresh"),title:p(l?"repo.refreshing":"repo.refresh"),icon:l?n($,{size:14,className:"dssm-repo-spinner"}):n(he,{size:14}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>Ut(t)})}function Ca(){return n("div",{className:"dssm-filter-actions"},Cr(S),ge("repo.add","M8 2.5v11M2.5 8h11",()=>{oe(null),ba({url:"",ref:"",subdirectory:""}),G({type:"add"})}),ge("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{oe(null),G({type:"manage"})}))}let Bt=n("div",{key:"repository-actions",className:"dssm-actions"},qr(S),pe("repo.add",()=>{oe(null),ba({url:"",ref:"",subdirectory:""}),G({type:"add"})},!1),pe("repo.manage",()=>{oe(null),G({type:"manage"})})),aa=S.filter(t=>!dt||t.id===dt),He=(()=>{let t=[],l=[];for(let c of S)for(let i of c.skills){We[Ot(c,i)]&&t.push({repo:c,skill:i});for(let f of ya(i))We[Xe(c,i,f)]&&l.push({repo:c,skill:i,copy:f})}return{installs:t,copies:l}})(),Ya=He.installs.length+He.copies.length;function nt(t,l,c){let i=ue(c),f=ke?.id===t.id&&ke.path===l.path&&ke.pending&&i&&ke.root===i.root&&ke.workspace===i.workspace;return n("div",{className:"dssm-repo-copy-actions"},c.tracked&&(c.updateAvailable||c.status==="conflict")?Ze("repo.review",()=>wr(t,l,c),!i):null,c.canRollback?Ze("repo.rollback",()=>wr(t,l,c,!0),!i):null,c.canUninstall?Ze(f&&ke.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>Sa("uninstall",t,l,c),!i,ce(c)):null)}function Na(t,l,c){let i=ue(c),f=Xe(t,l,c);return n("div",{className:"dssm-repo-copy",key:JSON.stringify([c.installedRoot,c.installedWorkspace||""])},n(m,{className:"dssm-bulk-check",checked:!!We[f],disabled:q||!i,label:p("repo.bulk.selectCopy",{name:l.name,target:ce(c)}),onChange:()=>va(f)}),Va(c),nt(t,l,c),i?null:n("div",{className:"dssm-note",role:"status"},p("repo.destinationUnavailable")))}let Nr=aa.map(t=>{let l=Ia.trim().toLowerCase(),c=t.skills.filter(v=>(!qt||v.status===qt)&&(!l||`${v.name} ${v.description} ${t.owner}/${t.name}`.toLowerCase().includes(l))),i=ia[t.id]===void 0?!!l||!!qt:ia[t.id],f=[];for(let v of c){let T=ya(v),F=T.filter(Y=>ue(Y));if(F.length)for(let Y of F)f.push(Xe(t,v,Y));else!T.length&&v.status==="available"&&f.push(Ot(t,v))}let x=f.length>0&&f.every(v=>We[v]),H=()=>Tt(v=>{let T={...v};if(x)for(let F of f)delete T[F];else for(let F of f)T[F]=!0;return T}),z=i?c.length?c.map(v=>{let T=ya(v),F=T.length===1?T[0]:void 0,M=T.filter(Pt=>ue(Pt)).map(Pt=>Xe(t,v,Pt)),Ve=T.length?M.length>0&&M.every(Pt=>We[Pt]):!!We[Ot(t,v)],Et=T.length?M.length>0:v.status==="available",Rr=()=>{if(!T.length){va(Ot(t,v));return}Tt(Pt=>{let _r={...Pt};if(Ve)for(let $r of M)delete _r[$r];else for(let $r of M)_r[$r]=!0;return _r})};return n("div",{key:v.path,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n(m,{className:"dssm-bulk-check",checked:Ve,disabled:q||!Et,label:p("repo.bulk.selectSkill",{name:v.name}),onChange:Rr}),n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},v.name),n("div",{className:"dssm-repo-description",title:v.description},v.description),F&&!ue(F)?n("div",{className:"dssm-note",role:"status"},p("repo.destinationUnavailable")):null,ke?.id===t.id&&ke.path===v.path?n("div",{className:"dssm-note"+(ke.error?" dssm-error":""),role:ke.error?"alert":"status","aria-live":"polite"},gr(ke)):null),n("div",{className:"dssm-repo-actions"},Ze("repo.detail",()=>br(t,v)),Ze(ke?.id===t.id&&ke.path===v.path&&ke.pending&&ke.action==="install"?"repo.installing":T.length?"repo.installElsewhere":"repo."+(v.status==="available"?"install":v.status),()=>Sa("install",t,v),!T.length&&v.status!=="available"))),T.length?n("div",{className:"dssm-repo-copies"},T.map(Pt=>Na(t,v,Pt))):null)}):n("div",{className:"dssm-empty"},p("repo.noSkills")):null;return n("div",{key:t.id},n("section",{className:"dssm-source"},n("div",{className:"dssm-source-head"},n("button",{type:"button",className:"dssm-source-toggle","aria-expanded":i,onClick:()=>Qt({...ia,[t.id]:!i})},I(i),n("div",{className:"dssm-source-label"},yr(t),n("span",{className:"dssm-source-title"},t.owner+"/"+t.name),n("span",{className:"dssm-count"},c.length),n("span",{className:"dssm-source-path",title:t.owner+"/"+t.name},[t.ref||p("repo.defaultBranchLabel"),t.subdirectory].filter(Boolean).join(" \xB7 ")||t.owner+"/"+t.name))),n("div",{className:"dssm-bulk-repo",role:"group","aria-label":p("repo.bulk.selectRepo",{name:t.owner+"/"+t.name})},n(m,{checked:x,disabled:q||!f.length,label:p("repo.bulk.selectRepoShort"),onChange:H})),n("span",{className:"dssm-repo-commit-badge",title:t.commit||p("repo.notScanned")},t.commit?t.commit.slice(0,7):p("repo.notScanned"))),i?n("div",{className:"dssm-source-body",role:"region"},z):null),t.error?n("div",{className:"dssm-feedback dssm-error",role:"alert"},Ue(t.error)):null)});function Dt(t,l,c,i){return n(g,{label:p(t),value:l,onChange:c,options:[{value:"",label:p(t)},...i.map(([f,x])=>({value:f,label:x}))]})}let Ae=Kt?n("div",{className:"dssm-feedback"+(Kt.error?" dssm-error":""),role:Kt.error?"alert":"status"},gr(Kt)):null,_e=Re?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},p("repo.refreshing")+" "+Re.index+"/"+Re.total+" \xB7 "+Re.name):null,ra;if(k){let t,l,c;if(k.type==="install"&&(t=n("div",{className:"dssm-repo-panel","aria-busy":q},n("div",{className:"dssm-name"},k.skill.name),n(ve,{t:p,value:ie,disabled:q,allowAgents:!0,workspaces:Oe,userDestinations:re,onChange:i=>{Qe.current||xt({...ie,...i})}}),n("p",{className:"dssm-note"},p("repo.installLocationsHint")),n("p",{className:"dssm-note"},p("repo.installHint")),q?n("div",{role:"status","aria-live":"polite"},p("repo.installProgress")):null,Ae,n("div",{className:"dssm-modal-actions"},pe("repo.cancel",Ye),pe(q?"repo.installing":"repo.install",kr,!1,!be(ie,Oe,re))))),k.type==="uninstall"&&(l=p("repo.uninstallHint"),t=n("div",{className:"dssm-repo-panel","aria-busy":q},n("div",{className:"dssm-name"},k.skill.name),k.copy?n("div",{className:"dssm-repo-metadata"},Rt(k.copy)):null,k.copy?.installedRoot==="agents"&&!k.copy.installedWorkspace?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},p("repo.uninstallExternalWarning")):null,q?n("div",{role:"status","aria-live":"polite"},p("repo.uninstallProgress")):null,Ae),c=n(a.Fragment,null,pe("repo.cancel",Ye),pe(q?"repo.uninstalling":"repo.confirmUninstall",kr,!0,!k.copy||!ue(k.copy),!0))),(k.type==="review"||k.type==="rollback")&&(t=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-name"},k.skill.name),n("div",{className:"dssm-repo-metadata"},Rt(k.copy)),n("div",{className:"dssm-repo-metadata"},k.repo.owner+"/"+k.repo.name+" \xB7 "+k.detail.commit?.slice(0,7)),k.detail.localModified?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},p("repo.modified")):null,k.detail.changes.length?n("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},k.detail.changes.map(i=>n("li",{key:i.path},p("repo."+(i.kind==="modified"?"modifiedFile":i.kind))+" \xB7 "+i.path))):n("p",null,p("repo.noChanges")),q?n("div",{role:"status"},p("repo.updateProgress")):null,Ae),c=n(a.Fragment,null,pe("repo.cancel",Ye),pe(k.detail.localModified?"repo.overwrite":k.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",Zr,!1,!k.detail.changes.length||!ue(k.copy)))),k.type==="bulk-review"&&Le){let i=Le,f=i.phase==="running",x=Gr(i.items),H=Jr(i),z=!H||q||i.op==="install"&&!be(ie,Oe,re),v=i.op==="install"?p("repo.installing"):i.op==="uninstall"?p("repo.uninstalling"):p("repo.bulk.replacing");l=p("repo.bulk.preflightHint"),t=n("div",{className:"dssm-repo-panel","aria-busy":q||f},n("div",{className:"dssm-name"},p("repo.bulk."+i.op+"Title",{count:i.items.length})),f?n("div",{role:"status","aria-live":"polite",className:"dssm-bulk-progress"},n($,{size:14,className:"dssm-repo-spinner"}),n("span",{className:"dssm-bulk-progress-text"},v)):null,f?n("p",{className:"dssm-note"},p("repo.bulk.blockingHint")):null,n("ul",{className:"dssm-bulk-summary"},Object.keys(x).map(T=>n("li",{key:T},xr(T)+" \xB7 "+x[T]))),n("ul",{className:"dssm-bulk-results"},i.items.map(T=>n("li",{key:T.key},n("span",{className:"dssm-bulk-name"},T.skill.name),n("span",{className:"dssm-bulk-detail"},T.repo.owner+"/"+T.repo.name+" \xB7 "+T.skill.path+(T.copy?" \xB7 "+ce(T.copy):"")),n("span",{className:"dssm-bulk-reason"},xr(T.bucket)),T.error?n("span",{className:"dssm-bulk-reason"},Ue(T.error)):null))),i.op==="install"?n(ve,{t:p,value:ie,disabled:q||f,allowAgents:!0,workspaces:Oe,userDestinations:re,onChange:T=>{!Qe.current&&!f&&xt({...ie,...T})}}):null,i.op==="install"?n("p",{className:"dssm-note"},p("repo.installHint")):null,x["local-modified"]?n(m,{className:"dssm-bulk-policy",checked:i.policy.localModified==="overwrite",disabled:q||f,label:p("repo.bulk.policyLocalModified"),onChange:T=>{let F={...i.policy,localModified:T?"overwrite":"skip"};rr(F),ot(Y=>Y&&{...Y,policy:F})}}):null,f?null:n("p",{className:"dssm-note",role:"status"},p("repo.bulk.executable",{count:H,skipped:i.items.length-H})),Ae),c=f?null:n(a.Fragment,null,pe("repo.cancel",Ye),pe("repo.bulk.apply",Lt,!1,z))}if(k.type==="bulk-done"&&Le){let i=Le,f={ok:0,failed:0,skipped:0,notRun:0};for(let x of i.results)f[x.status]++;t=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-name"},p("repo.bulk.result",{...f})),n("ul",{className:"dssm-bulk-results"},i.results.map(x=>n("li",{key:x.key},n("span",{className:"dssm-bulk-status "+x.status},p("repo.bulk.status."+x.status)),n("span",{className:"dssm-bulk-name"},x.label),n("span",{className:"dssm-bulk-detail",title:x.detail},x.detail),x.reason?n("span",{className:"dssm-bulk-reason"},p("repo.bulk.reason."+x.reason)):null,x.error?n("span",{className:"dssm-bulk-reason",title:Ue(x.error)},Ue(x.error)):null)))),c=n(a.Fragment,null,pe("repo.close",Ye),i.results.some(x=>x.status==="failed")?pe("repo.bulk.retry",At,!0):null)}if(k.type==="add"&&(t=n("form",{className:"dssm-form",onSubmit:i=>{i.preventDefault(),Nt.url.trim()&&ye(async()=>{let f=await xe("add",Nt);await wa(f.id),G(null)})}},[["url","repo.url",p("repo.urlPlaceholder")],["ref","repo.ref",p("repo.defaultBranch")],["subdirectory","repo.directory",p("repo.directoryHint")]].map(([i,f,x])=>n("label",{className:"dssm-field",key:i},n("span",{className:"dssm-label"},p(f)),n(d,{"aria-label":p(f),value:Nt[i],placeholder:x,maxLength:i==="url"?2048:512,required:i==="url",disabled:q,onChange:H=>ba({...Nt,[i]:H.target.value})}))),Ae,n("div",{className:"dssm-modal-actions"},pe("repo.cancel",Ye),pe("repo.save",()=>{Nt.url.trim()&&ye(async()=>{let i=await xe("add",Nt);await wa(i.id),G(null)})},!1,!Nt.url.trim())))),k.type==="manage"&&(t=n("div",{className:"dssm-repo-panel"},n("p",{className:"dssm-desc"},p("repo.removeHint")),_e,Ae,Kr())),k.type==="remove"&&(l=p("repo.removeHint"),t=n("div",null,n("div",{className:"dssm-name"},k.repo.owner+"/"+k.repo.name),Ae),c=n(a.Fragment,null,pe("repo.cancel",()=>G({type:"manage"})),pe("repo.removeConfirm",()=>ye(async()=>{await xe("remove",{id:k.repo.id}),dt===k.repo.id&&la(""),G({type:"manage"})}),!0,!1,!0))),k.type==="catalog-detail"&&k.detail){let i=k.detail;t=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:i.name},i.name),i.body?n(L,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>cr(i.body)},p(Gt==="copied"?"repo.copied":Gt==="failed"?"repo.copyFailed":"repo.copyBody")):null),n("p",{className:"dssm-desc"},i.description),n("div",{className:"dssm-detail-path"},i.origin),n("p",{className:"dssm-note"},p("repo.installHint")),n(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:i.body||"",rows:16}))}if(k.type==="catalog-detail"&&!k.detail&&(t=n("div",{role:"status",className:"dssm-repo-panel"},k.loading?p("repo.detailLoading"):null,k.failed?Ae:null)),k.type==="catalog-install"&&(t=n("div",{className:"dssm-repo-panel","aria-busy":q},n("div",{className:"dssm-name"},k.target.name),n(ve,{t:p,value:ie,disabled:q,allowAgents:!0,workspaces:Oe,userDestinations:re,onChange:i=>{Qe.current||xt({...ie,...i})}}),n("p",{className:"dssm-note"},p("repo.installLocationsHint")),n("p",{className:"dssm-note"},p("repo.installHint")),q?n("div",{role:"status","aria-live":"polite"},p("repo.installProgress")):null,Ae,n("div",{className:"dssm-modal-actions"},pe("repo.cancel",Ye),pe(q?"repo.installing":"repo.install",Fr,!1,!be(ie,Oe,re))))),k.type==="catalog-uninstall"&&(l=p("repo.uninstallHint"),t=n("div",{className:"dssm-repo-panel","aria-busy":q},n("div",{className:"dssm-name"},k.copy.name),n("div",{className:"dssm-repo-metadata"},r(k.copy)),k.copy.installedRoot==="agents"&&!k.copy.installedWorkspace?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},p("repo.uninstallExternalWarning")):null,q?n("div",{role:"status","aria-live":"polite"},p("repo.uninstallProgress")):null,Ae),c=n(a.Fragment,null,pe("repo.cancel",Ye),pe(q?"repo.uninstalling":"repo.confirmUninstall",h,!0,!1,!0))),k.type==="detail"&&k.detail){let i=k.detail;t=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:i.name},i.name),i.body?n(L,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>cr(i.body)},p(Gt==="copied"?"repo.copied":Gt==="failed"?"repo.copyFailed":"repo.copyBody")):null),n("p",{className:"dssm-desc"},i.description),n("div",{className:"dssm-detail-path"},k.repo.owner+"/"+k.repo.name+" \xB7 "+i.path),n("div",{className:"dssm-repo-metadata"},p("repo.commit")+" \xB7 "+i.commit),n("p",{className:"dssm-note"},p("repo.installHint")),n(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:i.body||"",rows:16}))}k.type==="detail"&&!k.detail&&(t=n("div",{role:"status",className:"dssm-repo-panel"},k.loading?p("repo.detailLoading"):null,k.failed?Ae:null)),ra=n(e,{className:k.type==="detail"||k.type==="catalog-detail"||k.type==="bulk-review"||k.type==="bulk-done"?"dssm-modal-wide":void 0,title:k.type==="bulk-review"?p("repo.bulk.preflightTitle"):k.type==="bulk-done"?p("repo.bulk.doneTitle"):p("repo."+(k.type==="catalog-detail"?"detail":k.type==="catalog-install"?"install":k.type==="catalog-uninstall"?"uninstall":k.type==="remove"?"remove":k.type)),description:l,footer:c,closeLabel:p("repo.close"),onClose:Ye},t)}function Ra(t){return sr.includes(t)||Ga(t).length>0}function Ga(t){return _t(ja.filter(l=>l.id===t))}function r(t){return ce(t)}function s(t){!Qe.current&&t.canUninstall&&(oe(null),G({type:"catalog-uninstall",copy:t}))}function h(){if(!k||k.type!=="catalog-uninstall")return;let t=k.copy;return ye(async()=>{if(await y("/delete",{method:"POST",headers:w,body:JSON.stringify({name:t.name,root:t.installedRoot,...t.installedWorkspace?{workspace:t.installedWorkspace}:{}})}),!V.current)return;ua(c=>c.filter(i=>i!==t&&!(i.id===t.id&&i.installedRoot===t.installedRoot&&i.installedWorkspace===t.installedWorkspace))),oe({key:"repo.uninstallSuccess",name:t.name}),G(null);let l=await Promise.allSettled([vt(),Promise.resolve().then(()=>P?.())]);V.current&&l.some(c=>c.status==="rejected")&&oe({key:"repo.catalog.uninstallRefreshWarning",name:t.name})},!1)}function R(t,l,c,i){let f=Ga(t);return n("div",{className:"dssm-repo-actions"},Ze("repo.detail",c),l&&!f.length?n("span",{className:"dssm-note",role:"status"},p("repo.catalog.unknownLocation")):null,f.length?Ze("repo.installElsewhere",i):Ra(t)?n("span",{className:"dssm-catalog-installed",role:"status"},p("repo.installed")):Ze(l?"repo.catalog.reassociate":"repo.install",i))}function C(t){let l=Ga(t);return l.length?n("div",{className:"dssm-repo-copies"},l.map(c=>n("div",{className:"dssm-repo-copy",key:JSON.stringify([c.id,c.installedRoot,c.installedWorkspace||""])},Va(c),c.canUninstall?Ze("repo.uninstall",()=>s(c),!1,ce(c)):null))):null}let E=Yt.filter(t=>{let l=Ra(`clawhub:${t.owner}/${t.slug}`);return!Zt||(Zt==="installed"?l:!l)}),O=ca==="installs"?E.slice().sort((t,l)=>(l.installs||0)-(t.installs||0)):ca==="name"?E.slice().sort((t,l)=>t.name.localeCompare(l.name)):E,Q=t=>{let l=St.includes(`clawhub:${t.owner}/${t.slug}`),c=[t.source,t.downloads===void 0?null:t.downloads.toLocaleString()+" "+p("repo.catalog.downloads"),t.installs===void 0?null:t.installs.toLocaleString()+" "+p("repo.catalog.installs"),t.stars===void 0?null:t.stars.toLocaleString()+" "+p("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return n("div",{key:t.id,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},t.name),t.description?n("div",{className:"dssm-repo-description",title:t.description},t.description):null,n("div",{className:"dssm-meta-origin"},c)),R(`clawhub:${t.owner}/${t.slug}`,l,()=>ta({catalog:"clawhub",owner:t.owner,slug:t.slug,name:t.name}),()=>Ka({catalog:"clawhub",owner:t.owner,slug:t.slug,name:t.name}))),C(`clawhub:${t.owner}/${t.slug}`))},W=n("div",{className:"dssm-catalog-list",onWheel:Vr},O.map(Q),!O.length&&!ze&&!It?n("div",{className:"dssm-empty"},p("repo.catalog.empty")):null,ze?n("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},n("span",{className:"dssm-repo-spinner","aria-hidden":!0}),Yt.length?p("repo.catalog.loadingMore"):p("repo.catalog.loading")):null,It?n("div",{className:"dssm-feedback dssm-error",role:"alert"},p("repo.catalog.loadError"),n(L,{variant:"ghost",size:"sm",onClick:()=>{ea()}},p("repo.catalog.retry"))):null,ae==="clawhub"&&!we.trim()&&pt&&!It?n("div",{className:"dssm-catalog-sentinel",ref:ha,"aria-hidden":!0}):null,ae==="clawhub"&&!we.trim()&&pt&&!It&&!ze?n("div",{className:"dssm-catalog-loading"},n(L,{variant:"ghost",size:"sm",onClick:()=>{ea(!1,!0)}},p("repo.catalog.loadMore"))):null),D=n("div",{className:"dssm-catalog-list"},qe.map(Q),we.trim()&&!qe.length&&!ur&&!Ba?n("div",{className:"dssm-empty"},p("repo.catalog.searchEmpty")):null,ur?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},p("repo.catalog.searchLoading")):null,Ba?n("div",{className:"dssm-feedback dssm-error",role:"alert"},p("repo.catalog.searchError"),n(L,{variant:"ghost",size:"sm",onClick:()=>{kt(we.trim())}},p("repo.catalog.retry"))):null),me=Da.filter(t=>{if(!fa)return!0;let l=Ra(`skillsh:${t.source}/${t.skillId}`);return fa==="installed"?l:!l}),je=n("div",{className:"dssm-catalog-list"},me.map(t=>{let l=`skillsh:${t.source}/${t.skillId}`,c=St.includes(l),i=[t.source,t.installs===void 0?null:t.installs.toLocaleString()+" "+p("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return n("div",{key:t.id,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},t.name),n("div",{className:"dssm-meta-origin"},i)),R(l,c,()=>ta({catalog:"skillsh",source:t.source,skillId:t.skillId,name:t.name}),()=>Ka({catalog:"skillsh",source:t.source,skillId:t.skillId,name:t.name}))),C(l))}),Ce.trim()&&!me.length&&!gt&&!mr?n("div",{className:"dssm-empty"},p("repo.catalog.skillshEmpty")):null,gt?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},p("repo.catalog.skillshLoading")):null,mr?n("div",{className:"dssm-feedback dssm-error",role:"alert"},p("repo.catalog.skillshError"),n(L,{variant:"ghost",size:"sm",onClick:()=>{ka(Ce.trim())}},p("repo.catalog.retry"))):null),U=n("div",{className:"dssm-subsources"},n("button",{type:"button",className:"dssm-subsource-btn"+(ae==="github"?" on":""),"aria-pressed":ae==="github",onClick:()=>Wa("github")},p("repo.subsource.github")+" ("+S.length+")"),n("button",{type:"button",className:"dssm-subsource-btn"+(ae==="clawhub"?" on":""),"aria-pressed":ae==="clawhub",onClick:()=>Wa("clawhub")},p("repo.subsource.clawhub")),n("button",{type:"button",className:"dssm-subsource-btn"+(ae==="skillsh"?" on":""),"aria-pressed":ae==="skillsh",onClick:()=>Wa("skillsh")},p("repo.subsource.skillsh"))),le=ae==="github"?n("div",{className:"dssm-filters"},n("div",{className:"dssm-source-filter"},Dt("repo.all",dt,t=>{la(t)},S.map(t=>[t.id,t.owner+"/"+t.name]))),n("div",{className:"dssm-status-filter"},Dt("repo.states",qt,t=>{Te(t),Qt({})},["available","installed","update","conflict","invalid"].map(t=>[t,p("repo."+t)]))),n(d,{className:"dssm-search",allowClear:!0,"aria-label":p("repo.search"),placeholder:p("repo.search"),value:Ia,onChange:t=>{za(t.target.value),Qt({})}}),Ca()):ae==="clawhub"?n("div",{className:"dssm-filters dssm-catalog-filters"},we.trim()?null:n("div",{className:"dssm-catalog-sort-filter"},Dt("repo.subsource.popular",ca,Hr,[["installs",p("repo.sort.installs")],["name",p("repo.sort.name")]])),we.trim()?null:n("div",{className:"dssm-catalog-status-filter"},Dt("repo.catalog.states",Zt,nr,[["available",p("repo.available")],["installed",p("repo.installed")]])),n(d,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":p("repo.catalog.searchClawhub"),placeholder:p("repo.catalog.searchClawhub"),value:we,onChange:t=>Or(t.target.value)})):ae==="skillsh"?n("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},n("div",{className:"dssm-catalog-status-filter"},Dt("repo.catalog.states",fa,Ct,[["available",p("repo.catalog.uninstalled")],["installed",p("repo.installed")]])),n(d,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":p("repo.catalog.searchSkillsh"),placeholder:p("repo.catalog.searchSkillsh"),value:Ce,onChange:t=>Br(t.target.value)})):null,$e=Le&&Le.phase==="running"?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},Le.op==="install"?p("repo.installing"):Le.op==="uninstall"?p("repo.uninstalling"):p("repo.bulk.replacing")):null,_={install:He.installs.filter(t=>t.skill.status==="available").length,update:He.copies.filter(t=>t.copy.tracked&&ue(t.copy)).length,uninstall:He.copies.filter(t=>t.copy.canUninstall&&ue(t.copy)).length,rollback:He.copies.filter(t=>t.copy.canRollback&&ue(t.copy)).length},Se=q||!!Le&&Le.phase==="running",De=ae==="github"&&Ya>0?n("div",{className:"dssm-bulk-bar",role:"toolbar","aria-label":p("repo.bulk.toolbar")},n("span",{className:"dssm-bulk-count"},p("repo.bulk.selected",{count:Ya})),n("span",{className:"dssm-bulk-count"},p("repo.bulk.scope")),Object.values(_).some(t=>t>100)?n("span",{role:"alert"},p("repo.bulk.limit")):null,He.installs.length?n(L,{variant:"outline",size:"sm",disabled:Se||!_.install||_.install>100,onClick:()=>Sr()},p("repo.bulk.install",{count:_.install})):null,He.copies.length?n(L,{variant:"outline",size:"sm",disabled:Se||!_.update||_.update>100,onClick:()=>Za("update")},p("repo.bulk.update",{count:_.update})):null,He.copies.length?n(L,{variant:"outline",size:"sm",disabled:Se||!_.uninstall||_.uninstall>100,onClick:()=>Za("uninstall")},p("repo.bulk.uninstall",{count:_.uninstall})):null,He.copies.length?n(L,{variant:"outline",size:"sm",disabled:Se||!_.rollback||_.rollback>100,onClick:()=>Za("rollback")},p("repo.bulk.rollback",{count:_.rollback})):null,n(L,{variant:"ghost",size:"sm",disabled:q,onClick:Fa},p("repo.bulk.clear"))):null,Xr=n("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":q},n("style",null,un+pn),U,ae==="github"?n("p",{className:"dssm-desc"},p("repo.hint")):ae==="clawhub"&&!we.trim()?n("p",{className:"dssm-desc"},p("repo.subsource.catalogNote")):null,le,De,St.length?n("div",{className:"dssm-note",role:"status"},p("repo.catalog.unknownHint")):null,lr.map(t=>n("div",{key:t.id,className:"dssm-feedback dssm-error",role:"alert"},t.id+" \xB7 "+Ue(t))),Ae,$e,k?null:_e,q&&!Re?n("div",{className:"dssm-note",role:"status"},p("repo.loading")):null,ae==="github"?S.length?Nr:n("div",{className:"dssm-empty"},p("repo.empty")):ae==="skillsh"?je:we.trim()?D:W,n("p",{className:"dssm-note"},p("repo.footer")),ra);return{actions:Bt,content:Xr,focusSource:(t,l)=>{la(t.id),za(l),Te(""),Qt({[t.id]:!0})}}}}var Aa=()=>({scope:"user",location:"dsh",workspace:""});function Lr(a){return a.scope==="workspace"?{workspace:a.workspace}:{root:a.location==="agents"?"agents":"dsh"}}function oa(a,e,d){return a.scope==="user"?!d||d.some(u=>u.key===a.location&&u.available===!0):e.some(u=>u.available&&!!u.registeredPaths[0]&&u.registeredPaths[0]===a.workspace)}function mn(a){let e=a.includes("\\")?"\\":"/";return a.replace(/[\\/]+$/,"")+e+".dsh"+e+"skills"}var to={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."}},yo=[".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 fn({react:a,SourceSelect:e,translateError:d}){let u=a.createElement;return function({t:g,value:b,onChange:y,workspaces:w,userDestinations:A,allowAgents:N,disabled:j}){let Z=b.scope==="workspace",n=w.find(P=>!!P.registeredPaths[0]&&P.registeredPaths[0]===b.workspace),$=[{value:"user",label:g("dest.scope.user")},{value:"workspace",label:g("dest.scope.workspace")}],he=new Map;for(let P of w)he.set(P.name,(he.get(P.name)??0)+1);let I=[{value:"",label:g("dest.workspace.placeholder")}].concat(w.map(P=>({value:P.registeredPaths[0]||"",label:P.available?(he.get(P.name)??0)>1?P.name+" \xB7 "+P.path:P.name:g("dest.workspace.unavailable",{name:P.name}),disabled:!P.available||!P.registeredPaths[0]}))),ve=(N?["dsh","agents"]:["dsh"]).filter(P=>A.some(S=>S.key===P)),J=P=>A.find(S=>S.key===P),ee=P=>ve.some(S=>S===P)&&J(P)?.available!==!1,be=ve.map(P=>({value:P,label:g("dest.location."+P),disabled:J(P)?.available===!1})),se=Z?u("div",{className:"dssm-field",key:"workspace"},u("span",{className:"dssm-label"},g("dest.workspace")),u(e,{label:g("dest.workspace"),value:b.workspace,disabled:j||w.length===0,options:I,onChange:P=>{!j&&w.length>0&&(P===""||oa({...b,scope:"workspace",workspace:P},w))&&y({workspace:P})}})):u("div",{className:"dssm-field",key:"location"},u("span",{className:"dssm-label"},g("dest.location")),u(e,{label:g("dest.location"),value:b.location,disabled:j||ve.length===0,options:be,onChange:P=>{!j&&ee(P)&&y({location:P})}})),te=Z?n&&n.available?mn(n.projectRoot||n.path):"":J(b.location)?.path??"",p=Z?[]:ve.filter(P=>J(P)?.available===!1);return u("div",{className:"dssm-destination"},u("div",{className:"dssm-destination-pair"},u("div",{className:"dssm-field",key:"scope"},u("span",{className:"dssm-label"},g("dest.scope")),u(e,{label:g("dest.scope"),value:b.scope,disabled:j,options:$,onChange:P=>{!j&&(P==="workspace"||P==="user")&&y(P==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),se),Z&&w.length===0?u("p",{className:"dssm-feedback dssm-warning",role:"status"},g("dest.empty")):null,Z&&w.length>0&&!n?u("p",{className:"dssm-note"},g("dest.pickFirst")):null,te?u("code",{className:"dssm-destination-path"},te):null,p.map(P=>u("div",{key:P,className:"dssm-note dssm-destination-unavailable"},u("span",null,g("dest.location."+P)),u("code",{className:"dssm-destination-path"},J(P)?.path??""),u("span",null,J(P)?.error?d(g,J(P).error):""))),Z&&n?u("p",{className:"dssm-note"},g("dest.projectNote")+" "+g("dest.location.agentsOff")):null)}}function vo(a){return{DestinationPicker:fn(a),defaultDestination:Aa,destinationPayload:Lr,destinationReady:oa}}var K=La(require("react"),1),ao=require("react-dom/client"),na=require("@deepseek-ai/dsh-client-ui-primitives");var gn={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"},hn={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 Ja(a){return a.toLowerCase().startsWith("zh")?gn:hn}function bn(a,e,d,u){let m=Ja(a),g=e?.restartDesktop===!0||e?.profileName==="desktop",b=g?{...m,manualHint:m.manualHintDesktop}:m,y=d!=="idle",w=b.checking,A="";return d==="checking"?w=b.checking:d==="updating"?w=b.updating:u.type==="error"?(w=u.message||b.failed,A="error"):u.type==="restart"?(w=g?b.restartDesktop:b.restart,A="success"):u.type==="restarting"?(w=b.restarting,A="success"):e===void 0?w=b.checking:e.latestCheckFailed?(w=b.failed,A="error"):!e.canAutoUpdate&&e.updateAvailable?(w=b.unavailable,A="update"):e.updateAvailable?(w=`${b.found}: v${e.latestVersion??b.unknown}`,A="update"):(w=b.latest,A="success"),{copy:b,busy:y,message:w,kind:A,loading:d==="updating",updateLabel:d==="updating"?b.updating:b.auto,disabled:y||e?.canAutoUpdate!==!0||e.updateAvailable!==!0,currentVersion:e===void 0?b.unknown:`v${e.currentVersion}`,latestVersion:e?.latestVersion===void 0?b.unknown:`v${e.latestVersion}`,profileName:e?.profileName??b.unknown,profileRaw:e?.profileName??"",latestRaw:e?.latestVersion??"latest"}}function ko(a,e,d){let u="idle",m=e,g={type:"status"},b=0,y=new Set,w=()=>{for(let N of y)N()},A=N=>{m=N,d?.(N)};return{get posts(){return b},subscribe(N){return y.add(N),()=>{y.delete(N)}},view(N){return bn(N,m,u,g)},async check(){if(u==="idle"){u="checking",g={type:"status"},w();try{A(await a("GET")),g={type:"status"}}catch(N){g={type:"error",message:N instanceof Error?N.message:""}}finally{u="idle",w()}}},async update(){if(u==="idle"){u="updating",g={type:"status"},b+=1,w();try{let N=await a("POST");A(N),g={type:N.autoReload===!0?"restarting":"restart"}}catch(N){g={type:"error",message:N instanceof Error?N.message:""}}finally{u="idle",w()}}}}}function wo(a,e,d){return`dsh plugin${a.trim()===""?"":` --profile ${a.trim()}`} add ${e}@${d} --registry=https://registry.npmjs.org/`}function xo(a,e){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),e(),!0)}function yn(){if(typeof document>"u")return;let a=document.baseURI;if(!(typeof a!="string"||a===""))try{let e=new URL(a);return e.pathname.endsWith("/")||(e.pathname+="/"),e.href}catch{return}}function Xa(a){if(typeof a!="string"||a.charAt(0)!=="/"||a.charAt(1)==="/")return a;let e=yn();if(e===void 0)return a;try{return new URL(a.slice(1),e).href}catch{return a}}var vn="x-michengai-plugin-update",So="michengai-plugin-update-ui",kn=`
18
42
  .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}
19
43
  .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}
20
44
  .dssm-update-progress{height:4px;border-radius:2px;background:var(--dsw-alias-border-l1,#3a3a3a);overflow:hidden;margin:12px 0;position:relative}
@@ -22,15 +46,15 @@ var exports = module.exports;
22
46
  @keyframes dssm-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
23
47
  @media (prefers-reduced-motion:reduce){.dssm-update-progress-bar{animation:none;width:100%;opacity:.6}}
24
48
  @media(max-width:560px){.mpi-meta{grid-template-columns:1fr;gap:2px}.mpi-meta dd{margin-bottom:6px}}
25
- `;function an(){if(document.getElementById(oo)!==null)return;let t=document.createElement("style");t.id=oo,t.textContent=tn,(document.head??document.documentElement).append(t)}function rn(t){if(t===null||typeof t!="object")return!1;let e=t;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 no(t,e,i){let l=i===void 0?{}:{signal:i},p=await fetch(t,e==="GET"?{cache:"no-store",...l}:{method:"POST",headers:{"content-type":"application/json",[en]:"1"},body:"{}",...l}),g=await p.json();if(!p.ok||!rn(g))throw new Error(g&&typeof g=="object"&&"error"in g&&typeof g.error=="string"?g.error:Ua(document.documentElement.lang).failed);return g}function on(t){let e=F.default.useRef(null);return F.default.useLayoutEffect(()=>{e.current?.replaceChildren(t.node)},[t.node]),F.default.createElement("span",{ref:e,className:"mpi-icon","aria-hidden":!0})}function nn(t){let e=F.default.useRef(null),[,i]=F.default.useState(0),[l,p]=F.default.useState("idle");F.default.useEffect(()=>t.flow.subscribe(()=>i(C=>C+1)),[t.flow]),F.default.useEffect(()=>{let C=document.documentElement,z=new MutationObserver(()=>i(s=>s+1));return z.observe(C,{attributes:!0,attributeFilter:["lang"]}),()=>z.disconnect()},[]),F.default.useEffect(()=>{t.flow.check()},[t.flow]),F.default.useEffect(()=>{function C(z){ro(z,t.onClose)}return document.addEventListener("keydown",C,!0),()=>document.removeEventListener("keydown",C,!0)},[t.onClose]);let g=document.documentElement.lang,h=t.flow.view(g),b=g.toLowerCase().startsWith("zh")?t.zhName:t.enName,v=ao(h.profileRaw,t.packageName,h.latestRaw),N=l==="copied"?h.copy.copied:l==="failed"?h.copy.copyFailed:h.copy.copy;return F.default.createElement(qt.Modal,{open:!0,className:"mpi-dialog",title:`${b} ${h.copy.update}`,onClose:t.onClose,closeLabel:"Close",footer:[F.default.createElement(qt.Button,{key:"check",variant:"outline",size:"sm",disabled:h.busy,onClick:()=>{t.flow.check()}},h.copy.recheck),F.default.createElement(qt.Button,{key:"update",variant:"primary",size:"sm",disabled:h.disabled,onClick:()=>{t.flow.update()}},h.updateLabel)]},F.default.createElement("div",{ref:e},F.default.createElement("p",{className:"mpi-intro"},h.copy.intro),F.default.createElement("dl",{className:"mpi-meta"},F.default.createElement("dt",null,h.copy.current),F.default.createElement("dd",null,F.default.createElement("span",{className:"mpi-mono"},h.currentVersion)),F.default.createElement("dt",null,h.copy.latestLabel),F.default.createElement("dd",{className:"mpi-latest"},F.default.createElement("span",{className:"mpi-mono"},h.latestVersion),F.default.createElement("span",{className:"mpi-status",role:"status","data-kind":h.kind,...h.kind==="update"?{style:{color:"#e8b15a"}}:{}},h.message)),F.default.createElement("dt",null,h.copy.profile),F.default.createElement("dd",null,F.default.createElement("span",{className:"mpi-mono"},h.profileName))),h.busy?F.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},F.default.createElement("div",{className:"dssm-update-progress-bar"})):null,F.default.createElement("section",{className:"mpi-manual"},F.default.createElement("h3",null,h.copy.manual),F.default.createElement("p",null,h.copy.manualHint),F.default.createElement("div",{className:"mpi-command"},F.default.createElement("code",null,v),F.default.createElement(qt.Button,{variant:"outline",size:"sm",disabled:h.busy,onClick:()=>{let C=navigator.clipboard?.writeText(v);if(C===void 0){p("failed");return}C.then(()=>{p("copied"),window.setTimeout(()=>p("idle"),1400)}).catch(()=>p("failed"))}},N)))))}function so(t){if(typeof document>"u"||document.body===null)return()=>{};let e=Oa(t.endpoint);an();let i=new AbortController,l,p,g,h,b,v,N;function C(){g?.unmount(),g=void 0,p=void 0,h=void 0}function z(){if(g===void 0)return;h===void 0&&(h=t.createIcon("refresh"));let K=h;g.render(F.default.createElement(qt.Button,{variant:"outline",size:"sm",onClick:A,icon:F.default.createElement(on,{node:K})},F.default.createElement("span",{"data-mpi-label":""},Ua(document.documentElement.lang).check)))}function s(){v?.unmount(),v=void 0,b?.remove(),b=void 0}function A(){s();let K=document.createElement("div");K.className="mpi-dialog-root",document.body.append(K),b=K,v=(0,Or.createRoot)(K),v.render(F.default.createElement(nn,{flow:to(Y=>no(e,Y,i.signal),l,Y=>{l=Y,J()}),packageName:t.packageName,zhName:t.zhName,enName:t.enName,onClose:s}))}function J(){let K=document.querySelector(t.titleRowSelector);if(K===null)return;let Y=K.querySelector("h1,h2");p!==void 0&&!p.isConnected&&C();let pe=K.querySelector(t.linksSelector);if(pe===null)return;let q=pe.querySelector(`[data-mpi-check="${t.packageName}"]`);if(t.isEnabled&&!t.isEnabled()){if(b!==void 0&&s(),q!==null&&(C(),q.remove()),Y!==null){let X=Y.querySelector(`.mpi-version[data-package="${t.packageName}"]`);X!==null&&X.remove()}return}if(Y!==null&&l!==void 0){let X=Y.querySelector(`.mpi-version[data-package="${t.packageName}"]`);X===null&&(X=document.createElement("span"),X.className="mpi-version",X.dataset.package=t.packageName,Y.append(X));let R=`v${l.currentVersion}`;X.textContent!==R&&(X.textContent=R)}if(q!==null){let X=q.querySelector("[data-mpi-label]");(X===null||X.textContent!==Ua(document.documentElement.lang).check)&&z();return}let f=document.createElement("span");f.dataset.mpiCheck=t.packageName,f.className="mpi-check-host",pe.append(f),p=f,g=(0,Or.createRoot)(f),z()}let ue,k=()=>(ue!==void 0||(ue=no(e,"GET",i.signal).then(K=>(i.signal.aborted||(l=K,J()),K)).finally(()=>{ue=void 0})),ue),I=new MutationObserver(()=>{N===void 0&&(N=window.requestAnimationFrame(()=>{N=void 0,J()}))});I.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),J(),k().catch(()=>{});let be=()=>{i.abort(),I.disconnect(),s(),C(),N!==void 0&&window.cancelAnimationFrame(N),document.querySelectorAll(`[data-mpi-check="${t.packageName}"],.mpi-version[data-package="${t.packageName}"]`).forEach(K=>K.remove())};return be.refresh=()=>{i.signal.aborted||(J(),l===void 0&&(!t.isEnabled||t.isEnabled())&&k().catch(()=>{}))},be}var ia=require("@deepseek-ai/dsh-client-ui-primitives");function io(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function lo(t){let e=t.createElement;return function(l){let p=t.useState(!1),g=p[0],h=p[1];t.useEffect(function(){if(!g||typeof window>"u")return;function C(z){io(z,function(){h(!1)})}return window.addEventListener("keydown",C,!0),function(){window.removeEventListener("keydown",C,!0)}},[g]);let b=t.useMemo(function(){return l.options.map(function(C){return{id:C.value,label:C.label,disabled:C.disabled,danger:C.danger}})},[l.options]);if(l.action)return e("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},e(ia.Menu,{open:g,onClose:function(){h(!1)},onSelect:function(C){l.onChange(C),h(!1)},align:"end",portal:!0,anchor:e(ia.Button,{variant:"outline",size:"sm",disabled:l.disabled,className:l.icon?"dssm-icon-action":void 0,style:l.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":l.label,title:l.label,onClick:function(){l.disabled||h(function(C){return!C})},icon:l.icon},l.icon?null:l.label),items:b}));let v=l.options.find(function(C){return C.value===l.value}),N=v?v.label:l.label;return e("div",{className:"dssm-menu-select-wrap"},e(ia.Menu,{open:g,onClose:function(){h(!1)},onSelect:function(C){l.onChange(C),h(!1)},selectedId:l.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:e(ia.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":l.label,"aria-expanded":g,disabled:l.disabled,className:"dssm-menu-select-trigger"+(g?" is-open":""),onClick:function(){l.disabled||h(function(C){return!C})}},e("span",{className:"dssm-menu-select-label"},N),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:g?"rotate(180deg)":"none"}},e("path",{d:"m4 6 4 4 4-4"}))),items:b}))}}var Pe=na(require("@deepseek-ai/dsh-client-ui-primitives"),1),Ke=require("@deepseek-ai/dsh-client-ui-primitives");var co=na(require("react"),1),uo=require("@deepseek-ai/dsh-client-ui-primitives");function sn(t){let{autoSize:e,className:i,rows:l,...p}=t;return co.default.createElement("textarea",{...p,className:["dssm-textarea",i].filter(Boolean).join(" "),rows:e?.minRows||l||4})}var Fe=Object.assign(uo.Input,{TextArea:sn});function Ba(t,e){return t("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},t("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}var hr=na(require("react"),1),Je="data-dssm-nav-icon",ln='[role="dialog"] nav button, .dcu-settings-page .dcu-settings-link',Br='<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.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"/>';function fo({size:t=16}){return hr.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:t,height:t,fill:"currentColor"},hr.default.createElement("path",{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"}),hr.default.createElement("path",{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.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"}))}var po=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${Br.replace(/fill=\"currentColor\"/g,'fill="black"')}</svg>`)}")`,mo="dssm-settings-nav-icon-style",cn=[`[${Je}] svg { display: none !important; }`,`[${Je}]::before {`," content: '';"," flex: none;"," width: 16px;"," height: 16px;"," color: var(--dcu-sidebar-icon, currentColor);"," background-color: currentColor;",` -webkit-mask: ${po} center / contain no-repeat;`,` mask: ${po} center / contain no-repeat;`," -webkit-mask-repeat: no-repeat;"," mask-repeat: no-repeat;"," -webkit-mask-position: center;"," mask-position: center;"," -webkit-mask-size: 16px 16px;"," mask-size: 16px 16px;","}"].join(`
26
- `);function dn(t,e){let i=String(e??"").trim();return i.length===0?!1:String(t??"").trim()===i}function un(){if(typeof document>"u"||document.getElementById(mo)!==null)return;let t=document.createElement("style");t.id=mo,t.textContent=cn,(document.head??document.documentElement).appendChild(t)}function pn(t,e){return dn(t.textContent,e())?Array.from(t.children).some(p=>p.tagName==="SPAN"&&!!(p.className&&String(p.className).includes("navIcon")))||!!t.querySelector?.('span[class*="navIcon"]')?t.hasAttribute(Je)?(t.removeAttribute(Je),!0):!1:t.getAttribute(Je)===""?!1:(t.setAttribute(Je,""),!0):t.hasAttribute(Je)?(t.removeAttribute(Je),!0):!1}function mn(t){return t.hasAttribute(Je)?(t.removeAttribute(Je),!0):!1}function go(t,e){typeof document>"u"||(un(),t.effect(()=>{let i=!1,l=!1,p=()=>{if(l=!1,!i)for(let b of document.querySelectorAll(ln))pn(b,e)},g=()=>{l||i||(l=!0,queueMicrotask(p))};p();let h=new MutationObserver(g);return h.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{i=!0,h.disconnect();for(let b of document.querySelectorAll(`[${Je}]`))mn(b)}},"skills-manager: settings nav icon"))}var Ve=na(require("react"),1),br=require("@deepseek-ai/dsh-client-ui-primitives");var Se=Ve.createElement,fn="@michengai/dsh-skills-manager",Fr="skills-manager",gn=2,Vr={zh:{"entry.location.title":"\u5165\u53E3\u5C55\u793A\u4F4D\u7F6E","entry.location.desc":"\u9009\u62E9\u6280\u80FD\u7BA1\u7406\u5165\u53E3\u7684\u5C55\u793A\u4F4D\u7F6E\uFF08\u81F3\u5C11\u4FDD\u7559\u4E00\u5904\uFF0C\u9632\u6B62\u65E0\u6CD5\u6253\u5F00\u9762\u677F\uFF09\u3002","entry.location.both":"\u4E24\u8FB9\u663E\u793A","entry.location.sidebar":"\u4EC5\u4FA7\u8FB9\u680F","entry.location.settings":"\u4EC5\u8BBE\u7F6E","sidebar.entry.title":"\u4FA7\u8FB9\u680F\u5165\u53E3","sidebar.entry.desc":"\u5728\u4FA7\u680F\u300C\u63D2\u4EF6\u300D\u4E0B\u65B9\u663E\u793A\u6280\u80FD\u3002\u8BBE\u7F6E\u91CC\u7684\u5165\u53E3\u4E0D\u53D8\u3002","sidebar.entry.toggle":"\u5207\u6362\u4FA7\u8FB9\u680F\u5165\u53E3","update.entry.title":"\u5728\u7EBF\u66F4\u65B0","update.entry.desc":"\u5141\u8BB8\u68C0\u67E5\u5E76\u5728\u7EBF\u5B89\u88C5\u6280\u80FD\u7BA1\u7406\u5668\u7684\u65B0\u7248\u672C\u3002\u5173\u95ED\u540E\u9690\u85CF\u66F4\u65B0\u5165\u53E3\u3002","update.entry.toggle":"\u5207\u6362\u5728\u7EBF\u66F4\u65B0","update.entry.locked":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u5BBF\u4E3B\u914D\u7F6E\u7981\u7528"},en:{"entry.location.title":"Entry placement","entry.location.desc":"Choose where to show the entry (at least one is retained to avoid losing access).","entry.location.both":"Both","entry.location.sidebar":"Sidebar only","entry.location.settings":"Settings only","sidebar.entry.title":"Sidebar entry","sidebar.entry.desc":"Show Skills below Plugins in the sidebar. The Settings entry stays either way.","sidebar.entry.toggle":"Toggle sidebar entry","update.entry.title":"Online updates","update.entry.desc":"Allow checking and installing new versions online. Hides the update entry when disabled.","update.entry.toggle":"Toggle online updates","update.entry.locked":"Online updates are disabled by the host configuration."}},ho="dssm-sidebar-entry-style",Wr=`
49
+ `;function wn(){if(document.getElementById(So)!==null)return;let a=document.createElement("style");a.id=So,a.textContent=kn,(document.head??document.documentElement).append(a)}function xn(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 Co(a,e,d){let u=d===void 0?{}:{signal:d},m=await fetch(a,e==="GET"?{cache:"no-store",...u}:{method:"POST",headers:{"content-type":"application/json",[vn]:"1"},body:"{}",...u}),g=await m.json();if(!m.ok||!xn(g))throw new Error(g&&typeof g=="object"&&"error"in g&&typeof g.error=="string"?g.error:Ja(document.documentElement.lang).failed);return g}function Sn(a){let e=K.default.useRef(null);return K.default.useLayoutEffect(()=>{e.current?.replaceChildren(a.node)},[a.node]),K.default.createElement("span",{ref:e,className:"mpi-icon","aria-hidden":!0})}function Cn(a){let e=K.default.useRef(null),[,d]=K.default.useState(0),[u,m]=K.default.useState("idle");K.default.useEffect(()=>a.flow.subscribe(()=>d(N=>N+1)),[a.flow]),K.default.useEffect(()=>{let N=document.documentElement,j=new MutationObserver(()=>d(Z=>Z+1));return j.observe(N,{attributes:!0,attributeFilter:["lang"]}),()=>j.disconnect()},[]),K.default.useEffect(()=>{a.flow.check()},[a.flow]),K.default.useEffect(()=>{function N(j){xo(j,a.onClose)}return document.addEventListener("keydown",N,!0),()=>document.removeEventListener("keydown",N,!0)},[a.onClose]);let g=document.documentElement.lang,b=a.flow.view(g),y=g.toLowerCase().startsWith("zh")?a.zhName:a.enName,w=wo(b.profileRaw,a.packageName,b.latestRaw),A=u==="copied"?b.copy.copied:u==="failed"?b.copy.copyFailed:b.copy.copy;return K.default.createElement(na.Modal,{open:!0,className:"mpi-dialog",title:`${y} ${b.copy.update}`,onClose:a.onClose,closeLabel:"Close",footer:[K.default.createElement(na.Button,{key:"check",variant:"outline",size:"sm",disabled:b.busy,onClick:()=>{a.flow.check()}},b.copy.recheck),K.default.createElement(na.Button,{key:"update",variant:"primary",size:"sm",disabled:b.disabled,onClick:()=>{a.flow.update()}},b.updateLabel)]},K.default.createElement("div",{ref:e},K.default.createElement("p",{className:"mpi-intro"},b.copy.intro),K.default.createElement("dl",{className:"mpi-meta"},K.default.createElement("dt",null,b.copy.current),K.default.createElement("dd",null,K.default.createElement("span",{className:"mpi-mono"},b.currentVersion)),K.default.createElement("dt",null,b.copy.latestLabel),K.default.createElement("dd",{className:"mpi-latest"},K.default.createElement("span",{className:"mpi-mono"},b.latestVersion),K.default.createElement("span",{className:"mpi-status",role:"status","data-kind":b.kind,...b.kind==="update"?{style:{color:"#e8b15a"}}:{}},b.message)),K.default.createElement("dt",null,b.copy.profile),K.default.createElement("dd",null,K.default.createElement("span",{className:"mpi-mono"},b.profileName))),b.busy?K.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},K.default.createElement("div",{className:"dssm-update-progress-bar"})):null,K.default.createElement("section",{className:"mpi-manual"},K.default.createElement("h3",null,b.copy.manual),K.default.createElement("p",null,b.copy.manualHint),K.default.createElement("div",{className:"mpi-command"},K.default.createElement("code",null,w),K.default.createElement(na.Button,{variant:"outline",size:"sm",disabled:b.busy,onClick:()=>{let N=navigator.clipboard?.writeText(w);if(N===void 0){m("failed");return}N.then(()=>{m("copied"),window.setTimeout(()=>m("idle"),1400)}).catch(()=>m("failed"))}},A)))))}function No(a){if(typeof document>"u"||document.body===null)return()=>{};let e=Xa(a.endpoint);wn();let d=new AbortController,u,m,g,b,y,w,A;function N(){g?.unmount(),g=void 0,m=void 0,b=void 0}function j(){if(g===void 0)return;b===void 0&&(b=a.createIcon("refresh"));let J=b;g.render(K.default.createElement(na.Button,{variant:"outline",size:"sm",onClick:n,icon:K.default.createElement(Sn,{node:J})},K.default.createElement("span",{"data-mpi-label":""},Ja(document.documentElement.lang).check)))}function Z(){w?.unmount(),w=void 0,y?.remove(),y=void 0}function n(){Z();let J=document.createElement("div");J.className="mpi-dialog-root",document.body.append(J),y=J,w=(0,ao.createRoot)(J),w.render(K.default.createElement(Cn,{flow:ko(ee=>Co(e,ee,d.signal),u,ee=>{u=ee,$()}),packageName:a.packageName,zhName:a.zhName,enName:a.enName,onClose:Z}))}function $(){let J=document.querySelector(a.titleRowSelector);if(J===null)return;let ee=J.querySelector("h1,h2");m!==void 0&&!m.isConnected&&N();let be=J.querySelector(a.linksSelector);if(be===null)return;let se=be.querySelector(`[data-mpi-check="${a.packageName}"]`);if(a.isEnabled&&!a.isEnabled()){if(y!==void 0&&Z(),se!==null&&(N(),se.remove()),ee!==null){let p=ee.querySelector(`.mpi-version[data-package="${a.packageName}"]`);p!==null&&p.remove()}return}if(ee!==null&&u!==void 0){let p=ee.querySelector(`.mpi-version[data-package="${a.packageName}"]`);p===null&&(p=document.createElement("span"),p.className="mpi-version",p.dataset.package=a.packageName,ee.append(p));let P=`v${u.currentVersion}`;p.textContent!==P&&(p.textContent=P)}if(se!==null){let p=se.querySelector("[data-mpi-label]");(p===null||p.textContent!==Ja(document.documentElement.lang).check)&&j();return}let te=document.createElement("span");te.dataset.mpiCheck=a.packageName,te.className="mpi-check-host",be.append(te),m=te,g=(0,ao.createRoot)(te),j()}let he,I=()=>(he!==void 0||(he=Co(e,"GET",d.signal).then(J=>(d.signal.aborted||(u=J,$()),J)).finally(()=>{he=void 0})),he),L=new MutationObserver(()=>{A===void 0&&(A=window.requestAnimationFrame(()=>{A=void 0,$()}))});L.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),$(),I().catch(()=>{});let ve=()=>{d.abort(),L.disconnect(),Z(),N(),A!==void 0&&window.cancelAnimationFrame(A),document.querySelectorAll(`[data-mpi-check="${a.packageName}"],.mpi-version[data-package="${a.packageName}"]`).forEach(J=>J.remove())};return ve.refresh=()=>{d.signal.aborted||($(),u===void 0&&(!a.isEnabled||a.isEnabled())&&I().catch(()=>{}))},ve}var Ea=require("@deepseek-ai/dsh-client-ui-primitives");function Ro(a,e){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),e(),!0)}function Lo(a){let e=a.createElement;return function(u){let m=a.useState(!1),g=m[0],b=m[1];a.useEffect(function(){if(!g||typeof window>"u")return;function N(j){Ro(j,function(){b(!1)})}return window.addEventListener("keydown",N,!0),function(){window.removeEventListener("keydown",N,!0)}},[g]);let y=a.useMemo(function(){return u.options.map(function(N){return{id:N.value,label:N.label,disabled:N.disabled,danger:N.danger}})},[u.options]);if(u.action)return e("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},e(Ea.Menu,{open:g,onClose:function(){b(!1)},onSelect:function(N){u.onChange(N),b(!1)},align:"end",portal:!0,anchor:e(Ea.Button,{variant:"outline",size:"sm",disabled:u.disabled,className:u.icon?"dssm-icon-action":void 0,style:u.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":u.label,title:u.label,onClick:function(){u.disabled||b(function(N){return!N})},icon:u.icon},u.icon?null:u.label),items:y}));let w=u.options.find(function(N){return N.value===u.value}),A=w?w.label:u.label;return e("div",{className:"dssm-menu-select-wrap"},e(Ea.Menu,{open:g,onClose:function(){b(!1)},onSelect:function(N){u.onChange(N),b(!1)},selectedId:u.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:e(Ea.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":u.label,"aria-expanded":g,disabled:u.disabled,className:"dssm-menu-select-trigger"+(g?" is-open":""),onClick:function(){u.disabled||b(function(N){return!N})}},e("span",{className:"dssm-menu-select-label"},A),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:g?"rotate(180deg)":"none"}},e("path",{d:"m4 6 4 4 4-4"}))),items:y}))}}var Pe=La(require("@deepseek-ai/dsh-client-ui-primitives"),1),rt=require("@deepseek-ai/dsh-client-ui-primitives");var Ao=La(require("react"),1),Eo=require("@deepseek-ai/dsh-client-ui-primitives");function Nn(a){let{autoSize:e,className:d,rows:u,...m}=a;return Ao.default.createElement("textarea",{...m,className:["dssm-textarea",d].filter(Boolean).join(" "),rows:e?.minRows||u||4})}var et=Object.assign(Eo.Input,{TextArea:Nn});function _a(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 Ar=La(require("react"),1),st="data-dssm-nav-icon",Rn='[role="dialog"] nav button, .dcu-settings-page .dcu-settings-link',ro='<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.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"/>';function Io({size:a=16}){return Ar.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:"currentColor"},Ar.default.createElement("path",{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"}),Ar.default.createElement("path",{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.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"}))}var Po=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${ro.replace(/fill=\"currentColor\"/g,'fill="black"')}</svg>`)}")`,To="dssm-settings-nav-icon-style",Ln=[`[${st}] svg { display: none !important; }`,`[${st}]::before {`," content: '';"," flex: none;"," width: 16px;"," height: 16px;"," color: var(--dcu-sidebar-icon, currentColor);"," background-color: currentColor;",` -webkit-mask: ${Po} center / contain no-repeat;`,` mask: ${Po} center / contain no-repeat;`," -webkit-mask-repeat: no-repeat;"," mask-repeat: no-repeat;"," -webkit-mask-position: center;"," mask-position: center;"," -webkit-mask-size: 16px 16px;"," mask-size: 16px 16px;","}"].join(`
50
+ `);function An(a,e){let d=String(e??"").trim();return d.length===0?!1:String(a??"").trim()===d}function En(){if(typeof document>"u"||document.getElementById(To)!==null)return;let a=document.createElement("style");a.id=To,a.textContent=Ln,(document.head??document.documentElement).appendChild(a)}function Pn(a,e){return An(a.textContent,e())?Array.from(a.children).some(m=>m.tagName==="SPAN"&&!!(m.className&&String(m.className).includes("navIcon")))||!!a.querySelector?.('span[class*="navIcon"]')?a.hasAttribute(st)?(a.removeAttribute(st),!0):!1:a.getAttribute(st)===""?!1:(a.setAttribute(st,""),!0):a.hasAttribute(st)?(a.removeAttribute(st),!0):!1}function Tn(a){return a.hasAttribute(st)?(a.removeAttribute(st),!0):!1}function zo(a,e){typeof document>"u"||(En(),a.effect(()=>{let d=!1,u=!1,m=()=>{if(u=!1,!d)for(let y of document.querySelectorAll(Rn))Pn(y,e)},g=()=>{u||d||(u=!0,queueMicrotask(m))};m();let b=new MutationObserver(g);return b.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{d=!0,b.disconnect();for(let y of document.querySelectorAll(`[${st}]`))Tn(y)}},"skills-manager: settings nav icon"))}var tt=La(require("react"),1),Er=require("@deepseek-ai/dsh-client-ui-primitives");var Ee=tt.createElement,In="@michengai/dsh-skills-manager",oo="skills-manager",zn=2,no={zh:{"entry.location.title":"\u5165\u53E3\u5C55\u793A\u4F4D\u7F6E","entry.location.desc":"\u9009\u62E9\u6280\u80FD\u7BA1\u7406\u5165\u53E3\u7684\u5C55\u793A\u4F4D\u7F6E\uFF08\u81F3\u5C11\u4FDD\u7559\u4E00\u5904\uFF0C\u9632\u6B62\u65E0\u6CD5\u6253\u5F00\u9762\u677F\uFF09\u3002","entry.location.both":"\u4E24\u8FB9\u663E\u793A","entry.location.sidebar":"\u4EC5\u4FA7\u8FB9\u680F","entry.location.settings":"\u4EC5\u8BBE\u7F6E","sidebar.entry.title":"\u4FA7\u8FB9\u680F\u5165\u53E3","sidebar.entry.desc":"\u5728\u4FA7\u680F\u300C\u63D2\u4EF6\u300D\u4E0B\u65B9\u663E\u793A\u6280\u80FD\u3002\u8BBE\u7F6E\u91CC\u7684\u5165\u53E3\u4E0D\u53D8\u3002","sidebar.entry.toggle":"\u5207\u6362\u4FA7\u8FB9\u680F\u5165\u53E3","update.entry.title":"\u5728\u7EBF\u66F4\u65B0","update.entry.desc":"\u5141\u8BB8\u68C0\u67E5\u5E76\u5728\u7EBF\u5B89\u88C5\u6280\u80FD\u7BA1\u7406\u5668\u7684\u65B0\u7248\u672C\u3002\u5173\u95ED\u540E\u9690\u85CF\u66F4\u65B0\u5165\u53E3\u3002","update.entry.toggle":"\u5207\u6362\u5728\u7EBF\u66F4\u65B0","update.entry.locked":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u5BBF\u4E3B\u914D\u7F6E\u7981\u7528"},en:{"entry.location.title":"Entry placement","entry.location.desc":"Choose where to show the entry (at least one is retained to avoid losing access).","entry.location.both":"Both","entry.location.sidebar":"Sidebar only","entry.location.settings":"Settings only","sidebar.entry.title":"Sidebar entry","sidebar.entry.desc":"Show Skills below Plugins in the sidebar. The Settings entry stays either way.","sidebar.entry.toggle":"Toggle sidebar entry","update.entry.title":"Online updates","update.entry.desc":"Allow checking and installing new versions online. Hides the update entry when disabled.","update.entry.toggle":"Toggle online updates","update.entry.locked":"Online updates are disabled by the host configuration."}},Mo="dssm-sidebar-entry-style",so=`
27
51
  .dssm-main-panel{box-sizing:border-box;height:100%;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:28px clamp(24px,4vw,48px) 48px}
28
52
  .dssm-main-panel>*{width:100%;max-width:960px}
29
53
  .dssm-bundle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:0.5px solid var(--dsw-alias-border-l2)}
30
54
  .dssm-bundle-label-box{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;text-align:left}
31
55
  .dssm-bundle-title{font-size:13px;font-weight:500;line-height:20px;color:var(--dsw-alias-label-primary)}
32
56
  .dssm-bundle-desc{font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary)}
33
- `;function bo(){if(typeof document>"u"||document.getElementById(ho)!==null)return;let t=document.createElement("style");t.id=ho,t.textContent=Wr,(document.head??document.documentElement).appendChild(t)}function hn(t){let e=t&&typeof t.size=="number"?t.size:16;return Se("svg",{viewBox:"0 0 16 16",width:e,height:e,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:Br}})}function bn(t){bo();let{t:e,location:i,onLocationChange:l,enabled:p=!1,onToggle:g,disabled:h,onlineUpdateEnabled:b=!0,onToggleOnlineUpdate:v,onlineUpdateDisabled:N,onlineUpdateLocked:C}=t,z=i??(p?"both":"settings"),s=J=>{(J==="both"||J==="sidebar"||J==="settings")&&(typeof l=="function"?l(J):typeof g=="function"&&g(J!=="settings"))},A=[Se("div",{key:"entry-location",className:"dssm-bundle-row"},Se("div",{className:"dssm-bundle-label-box"},Se("span",{className:"dssm-bundle-title"},e("entry.location.title")||e("sidebar.entry.title")),Se("span",{className:"dssm-bundle-desc"},e("entry.location.desc")||e("sidebar.entry.desc"))),Se(br.SegmentedControl,{id:"dssm-bundle-entry-location",value:z,onChange:s,label:e("entry.location.title")||e("sidebar.entry.title"),disabled:h,options:[{value:"both",label:e("entry.location.both")||"\u4E24\u8FB9\u663E\u793A"},{value:"sidebar",label:e("entry.location.sidebar")||"\u4EC5\u4FA7\u8FB9\u680F"},{value:"settings",label:e("entry.location.settings")||"\u4EC5\u8BBE\u7F6E"}]}))];return typeof v=="function"&&A.push(Se("div",{key:"online-update",className:"dssm-bundle-row"},Se("div",{className:"dssm-bundle-label-box"},Se("span",{className:"dssm-bundle-title"},e("update.entry.title")),Se("span",{className:"dssm-bundle-desc"},e(C?"update.entry.locked":"update.entry.desc"))),Se(br.Switch,{checked:b,onChange:v,label:e("update.entry.toggle"),disabled:N,title:C?e("update.entry.locked"):void 0}))),Se(Ve.Fragment,null,A)}function yn(t){let[e,i]=Ve.useState(t.getLocation),[l,p]=Ve.useState(t.getOnlineUpdateEnabled?t.getOnlineUpdateEnabled:()=>!0),[g,h]=Ve.useState(t.getOnlineUpdateLocked?t.getOnlineUpdateLocked:()=>!1),[b,v]=Ve.useState(!1),[N,C]=Ve.useState(!1);Ve.useEffect(()=>{let A=()=>{i(t.getLocation()),t.getOnlineUpdateEnabled&&p(t.getOnlineUpdateEnabled()),t.getOnlineUpdateLocked&&h(t.getOnlineUpdateLocked())};return A(),t.subscribe(A)},[t]);let z=A=>{v(!0),i(A),t.setLocation(A).catch(()=>{i(t.getLocation())}).finally(()=>{v(!1)})},s=t.setOnlineUpdate?A=>{t.getOnlineUpdateLocked?.()||(C(!0),p(A),t.setOnlineUpdate(A).catch(()=>{t.getOnlineUpdateEnabled&&p(t.getOnlineUpdateEnabled())}).finally(()=>{C(!1)}))}:void 0;return Se(bn,{t:t.t,location:e,disabled:b,onLocationChange:z,onlineUpdateEnabled:l,onlineUpdateDisabled:N||g,onlineUpdateLocked:g,onToggleOnlineUpdate:s})}function Kr(t,e){if(bo(),!t.locale)return{getLocation:()=>"settings",setLocation:async()=>"settings",isSettingsSectionEnabled:()=>!0,isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:i,headers:l,renderPanel:p,ns:g}=e,h="settings",b=!1,v=null,N=null,C=0,z=!1,s,A=new Set,J=()=>h==="both"||h==="sidebar",ue=()=>h==="both"||h==="settings",k=()=>{if(!z)for(let L of A)try{L()}catch{}},I=()=>{if(!z)if(b&&J()){if(!v){let L=t.slots.register({name:"main",key:Fr,locale:g,inject:()=>({t:t.locale?.bind?t.locale.bind(g):void 0})},ae=>Se("div",{className:"dssm-main-panel"},p(ae)));v=typeof L=="function"?L:()=>{}}if(!N){let L=t.slots.register({name:"sidebar.panellist",id:Fr,order:gn,label:()=>t.locale.bind(g)("title"),locale:g},ae=>Se(hn,ae));N=typeof L=="function"?L:()=>{}}}else{if(s?.panelInfo&&typeof s.selectPanel=="function")try{s.panelInfo.getSnapshot().activePanelId===Fr&&s.selectPanel(null)}catch{}if(N){try{N()}catch{}N=null}if(v){try{v()}catch{}v=null}}},be=async L=>{if(z)return h;let ae=++C,ie=h;if(h=L,I(),k(),typeof e.onLocationChange=="function")try{e.onLocationChange(L)}catch{}try{return await i("/sidebar-entry",{method:"POST",headers:l,body:JSON.stringify({location:L})}),L}catch(Q){if(ae===C&&(h=ie,I(),k(),typeof e.onLocationChange=="function"))try{e.onLocationChange(ie)}catch{}throw Q}},K=async L=>(await be(L?"both":"settings"),J()),Y=!0,pe=!1,q=0,f=async L=>{if(z||pe)return Y;let ae=++q;if(Y=L,k(),!L&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(L)}catch{}try{if(await i("/online-update",{method:"POST",headers:l,body:JSON.stringify({enabled:L})}),L&&!z&&ae===q&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(L)}catch{}return L}catch(ie){if(ae===q){let Q=ie!==null&&typeof ie=="object"&&"code"in ie&&ie.code==="error.update.disabled";if(Q&&(pe=!0),Y=Q?!1:!L,k(),typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(Y)}catch{}}throw ie}},X=C;i("/sidebar-entry").then(L=>{if(!z&&C===X&&L&&(L.location==="both"||L.location==="sidebar"||L.location==="settings"?h=L.location:typeof L.enabled=="boolean"&&(h=L.enabled?"both":"settings"),I(),k(),typeof e.onLocationChange=="function"))try{e.onLocationChange(h)}catch{}}).catch(()=>{});let R=q;return i("/online-update").then(L=>{if(!z&&q===R&&L&&typeof L.enabled=="boolean"&&(Y=L.enabled,L.locked===!0&&(pe=!0),k(),typeof e.onOnlineUpdateChange=="function"))try{e.onOnlineUpdateChange(L.enabled)}catch{}}).catch(()=>{}),typeof t.inject=="function"&&t.inject(["layout"],L=>{z||(s=L.layout)}),t.slots.inject("sidebar.panellist",()=>{z||(b=!0,I())}),t.slots.inject("plugins.bundle.config",()=>{if(!z)return t.slots.register({name:"plugins.bundle.config",key:fn,locale:g},L=>L&&L.view==="summary"?null:Se(yn,{t:t.locale.bind(g),getLocation:()=>h,setLocation:be,getEnabled:()=>J(),setSidebar:K,getOnlineUpdateEnabled:()=>Y,setOnlineUpdate:f,getOnlineUpdateLocked:()=>pe,subscribe:ae=>(A.add(ae),()=>{A.delete(ae)})}))}),{getLocation:()=>h,setLocation:be,isSettingsSectionEnabled:ue,isEnabled:()=>J(),isSupported:()=>b,setEnabled:K,isOnlineUpdateEnabled:()=>Y,setOnlineUpdate:f,destroy:()=>{if(!z){if(z=!0,C++,q++,s=void 0,A.clear(),N){try{N()}catch{}N=null}if(v){try{v()}catch{}v=null}}}}}var M=Fa,o=M.createElement,vn=Pe.IconEditOutlineRegular;function wn(){return o(vn,{size:16})}var kn={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 xn(t){var e=document.createElement("span"),i=document.createElementNS("http://www.w3.org/2000/svg","svg");return i.setAttribute("viewBox","0 0 16 16"),i.setAttribute("width","16"),i.setAttribute("height","16"),i.setAttribute("fill","none"),i.setAttribute("stroke","currentColor"),i.setAttribute("stroke-width","1.5"),i.setAttribute("stroke-linecap","round"),i.setAttribute("stroke-linejoin","round"),i.setAttribute("aria-hidden","true"),kn[t].forEach(function(l){var p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d",l),i.append(p)}),e.append(i),e}var Lt={"content-type":"application/json","x-dsh-skills-manager":"1"},rt="skills-manager",Ka={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\u3001\u63CF\u8FF0\u6216\u5907\u6CE8","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","skill.linked":"\u5916\u90E8\u76EE\u5F55\u94FE\u63A5\uFF0C\u53EA\u8BFB","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.customNote":"\u81EA\u5B9A\u4E49\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","detail.copyBody":"\u590D\u5236\u6B63\u6587","detail.copied":"\u5DF2\u590D\u5236","detail.copyFailed":"\u590D\u5236\u5931\u8D25","skill.editNote":"\u7F16\u8F91\u5907\u6CE8","note.title":"\u81EA\u5B9A\u4E49\u7B80\u4ECB / \u5907\u6CE8","note.label":"\u5907\u6CE8\u5185\u5BB9","note.placeholder":"\u8BB0\u5F55\u8FD9\u4E2A\u6280\u80FD\u662F\u5E72\u561B\u7684\u3001\u4EC0\u4E48\u65F6\u5019\u7528\u2026","note.help":"\u4FDD\u5B58\u5728\u63D2\u4EF6\u5185\u90E8\u663E\u793A\u5C42\uFF0C\u4E0D\u4FEE\u6539\u539F SKILL.md\u3002\u6E05\u7A7A\u53EF\u8FD8\u539F\u4E3A\u539F\u7B80\u4ECB\u3002","note.clear":"\u6E05\u7A7A","note.updated":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","note.cleared":"\u5DF2\u6E05\u9664\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","error.note.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.note.tooLarge":"\u81EA\u5B9A\u4E49\u7B80\u4ECB\u8FC7\u957F\uFF08\u6700\u591A {max} \u4E2A\u5B57\u7B26\uFF09","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.missing":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u53EF\u80FD\u5DF2\u88AB\u79FB\u52A8\u6216\u5220\u9664\uFF1A{path}","warning.project.unreadable":"\u65E0\u6743\u9650\u8BFB\u53D6\u5DE5\u4F5C\u533A\u76EE\u5F55\uFF1A{path}\uFF08{code}\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.linked":"\u76EE\u5F55\u94FE\u63A5\u4E0D\u80FD\u5220\u9664\u6216\u8986\u76D6\uFF1A{path}","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.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.invalidParams":"\u8BF7\u6C42\u53C2\u6570\u65E0\u6548","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.update.disabled":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u7981\u7528","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":"\u5BBF\u4E3B\u4E0D\u652F\u6301\u6B64\u6280\u80FD\u540D\u79F0\u683C\u5F0F\uFF08\u4EC5\u652F\u6301\u82F1\u6587\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u4E0E\u8FDE\u5B57\u7B26\uFF09\uFF0C\u65E0\u6CD5\u542F\u7528\u3002\u5982\u9700\u8C03\u7528\uFF0C\u8BF7\u5728 SKILL.md frontmatter \u4E2D\u6307\u5B9A\u82F1\u6587 name\uFF08\u76EE\u5F55\u540D\u53EF\u4FDD\u7559\u4E2D\u6587\uFF09\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.missing":"\u76EE\u5F55\u4E0D\u5B58\u5728","workspace.unreadable":"\u65E0\u8BFB\u53D6\u6743\u9650","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","root.antigravity":"Google Antigravity","group.label":"\u5206\u7EC4\u65B9\u5F0F","group.bySource":"\u6309\u6765\u6E90\u76EE\u5F55","group.byRepo":"\u6309\u6765\u6E90\u4ED3\u5E93","group.hint":"\u5728\u6765\u6E90\u76EE\u5F55\u4E0B\u6309\u53EF\u6838\u67E5\u7684\u8BB0\u5F55\u518D\u5206\u300C\u4ED3\u5E93 \u2192 \u4ED3\u5E93\u5185\u76EE\u5F55\u300D\uFF1A\u5B89\u88C5\u8BB0\u5F55 \u2192 \u76EE\u5F55\u9501\u6587\u4EF6 \u2192 \u6280\u80FD\u5143\u6570\u636E\uFF1B\u6CA1\u6709\u8BB0\u5F55\u7684\u6807\u4E3A\u300C\u6765\u6E90\u672A\u77E5\u300D\uFF0C\u4E0D\u6309\u76EE\u5F55\u540D\u79F0\u731C\u6D4B\u3002","group.provenanceCount":"{repos} \u4E2A\u6765\u6E90\u4ED3\u5E93 \xB7 {unknown} \u4E2A\u6280\u80FD\u6765\u6E90\u672A\u77E5","group.unknownSource":"\u6765\u6E90\u672A\u77E5","group.repoRoot":"\u4ED3\u5E93\u6839\u76EE\u5F55\uFF08\u672A\u5206\u76EE\u5F55\uFF09","group.evidence.install":"\u5B89\u88C5\u8BB0\u5F55","group.evidence.lock":"\u76EE\u5F55\u9501\u6587\u4EF6","group.evidence.meta":"\u6280\u80FD\u5143\u6570\u636E","group.evidence.root":"\u76EE\u5F55\u843D\u70B9","group.openRepo":"\u6253\u5F00 {repo}","group.noRepo":"\u6CA1\u6709\u53EF\u6838\u67E5\u7684\u4ED3\u5E93\u8BB0\u5F55\uFF0C\u6309\u6765\u6E90\u76EE\u5F55\u5F52\u7C7B\u3002"},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, descriptions or notes","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","skill.linked":"External directory link, read-only","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.customNote":"Custom note","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","detail.copyBody":"Copy body","detail.copied":"Copied","detail.copyFailed":"Copy failed","skill.editNote":"Edit note","note.title":"Custom description / Note","note.label":"Note","note.placeholder":"Record what this skill does and when to use it\u2026","note.help":"Saved in the plugin display layer without modifying SKILL.md. Clear to revert to original description.","note.clear":"Clear","note.updated":"Updated custom note for \u201C{name}\u201D.","note.cleared":"Cleared custom note for \u201C{name}\u201D.","error.note.root":"Skill source not found: {root}","error.note.tooLarge":"Custom note is too long (maximum {max} characters)","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.missing":"The workspace directory does not exist and may have been moved or deleted: {path}","warning.project.unreadable":"No permission to read the workspace directory: {path} ({code})","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.linked":"This directory link cannot be deleted or overwritten: {path}","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.contentType":"Content type must be application/json","error.proto.invalidParams":"Invalid request parameters","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.update.disabled":"Online updates are disabled","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 format is not supported by host (lowercase letters, numbers and hyphens only), cannot be enabled. To invoke it, specify an English name in the SKILL.md frontmatter (directory name can remain unchanged): {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.missing":"Directory missing","workspace.unreadable":"No read permission","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","root.antigravity":"Google Antigravity","group.label":"Group by","group.bySource":"Source directory","group.byRepo":"Source repository","group.hint":"Inside each source directory, verifiable records add a repository \u2192 directory hierarchy: install record \u2192 directory lock file \u2192 skill metadata; other sources are marked Unknown source. Directory names are not guessed.","group.provenanceCount":"{repos} repositories \xB7 {unknown} skills with unknown source","group.unknownSource":"Unknown source","group.repoRoot":"Repository root (no category)","group.evidence.install":"Install record","group.evidence.lock":"Directory lock file","group.evidence.meta":"Skill metadata","group.evidence.root":"Directory fallback","group.openRepo":"Open {repo}","group.noRepo":"No verifiable repository record; grouped by source directory."}},So={zh:{"rootPath.edit":"\u4FEE\u6539\u6280\u80FD\u76EE\u5F55","rootPath.title":"\u4FEE\u6539\u300C{name}\u300D\u7684\u6280\u80FD\u76EE\u5F55","rootPath.manage":"\u6765\u6E90\u76EE\u5F55","rootPath.source":"\u6280\u80FD\u6765\u6E90","rootPath.desc":"\u53EA\u6539\u672C\u63D2\u4EF6\u8BFB\u53D6\u7684\u4F4D\u7F6E\uFF0C\u4E0D\u79FB\u52A8\u4EFB\u4F55\u6587\u4EF6\u3002\u5916\u90E8\u6765\u6E90\u4ECD\u7136\u53EA\u8BFB\uFF1B\u8981\u8BA9\u8BE5 Agent \u81EA\u5DF1\u6362\u76EE\u5F55\uFF0C\u8BF7\u6539\u5B83\u81EA\u5DF1\u7684\u914D\u7F6E\u3002","rootPath.label":"\u6280\u80FD\u76EE\u5F55\uFF08\u542B SKILL.md \u7684\u4E0A\u4E00\u7EA7\uFF09","rootPath.placeholder":"\u4F8B\u5982 D:\\skills\\codex","rootPath.browse":"\u6D4F\u89C8\u2026","rootPath.pickUnavailable":"\u5F53\u524D\u73AF\u5883\u6CA1\u6709\u53EF\u7528\u7684\u76EE\u5F55\u9009\u62E9\u5668\uFF0C\u8BF7\u76F4\u63A5\u8F93\u5165\u8DEF\u5F84\u3002","rootPath.reset":"\u6062\u590D\u9ED8\u8BA4","rootPath.save":"\u4FDD\u5B58","rootPath.custom":"\u81EA\u5B9A\u4E49","rootPath.overrideTitle":"\u81EA\u5B9A\u4E49\u76EE\u5F55\uFF0C\u9ED8\u8BA4\uFF1A{path}","rootPath.defaultHint":"\u9ED8\u8BA4\u76EE\u5F55\uFF1A{path}","rootPath.saved":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u6280\u80FD\u76EE\u5F55\u3002","rootPath.resetDone":"\u5DF2\u6062\u590D\u300C{name}\u300D\u7684\u9ED8\u8BA4\u76EE\u5F55\u3002","error.rootPath.unsupported":"\u8BE5\u6280\u80FD\u6765\u6E90\u4E0D\u652F\u6301\u4FEE\u6539\u76EE\u5F55\uFF1A{root}","error.rootPath.invalid":"\u6280\u80FD\u76EE\u5F55\u65E0\u6548\uFF1A{path}","error.rootPath.absolute":"\u6280\u80FD\u76EE\u5F55\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.rootPath.tooLong":"\u6280\u80FD\u76EE\u5F55\u8DEF\u5F84\u8FC7\u957F\uFF1A{path}","error.rootPath.notFound":"\u6280\u80FD\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{path}","error.rootPath.notDirectory":"\u6280\u80FD\u76EE\u5F55\u4E0D\u662F\u6587\u4EF6\u5939\uFF1A{path}","error.rootPath.overlap":"\u6280\u80FD\u76EE\u5F55\u4E0D\u80FD\u4E0E\u5176\u5B83\u6280\u80FD\u6765\u6E90\u91CD\u53E0\uFF1A{path}","error.rootPath.reserved":"\u6280\u80FD\u76EE\u5F55\u4E0D\u80FD\u4E0E\u6280\u80FD\u7BA1\u7406\u5668\u7684\u72B6\u6001\u76EE\u5F55\u91CD\u53E0\uFF1A{path}","warning.rootPath.invalid":"\u6280\u80FD\u76EE\u5F55\u914D\u7F6E\u9879\u65E0\u6548\uFF0C\u5DF2\u5FFD\u7565\uFF1A{path}","warning.rootPath.corrupt":"\u6280\u80FD\u76EE\u5F55\u914D\u7F6E\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u4F7F\u7528\u9ED8\u8BA4\u76EE\u5F55\uFF1A{path}","warning.rootPath.missing":"\u81EA\u5B9A\u4E49\u6280\u80FD\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{path}","customSource.title":"\u81EA\u5B9A\u4E49\u6765\u6E90","customSource.add":"\u6DFB\u52A0\u6765\u6E90","customSource.desc":"\u767B\u8BB0\u6E05\u5355\u5916\u7684 Agent \u6280\u80FD\u76EE\u5F55\uFF1A\u53EA\u8BFB\u53D6\uFF0C\u4E0D\u79FB\u52A8\u4E5F\u4E0D\u6539\u52A8\u7B2C\u4E09\u65B9\u6587\u4EF6\u3002\u4E5F\u53EF\u4EE5\u586B\u4EA7\u54C1\u603B\u76EE\u5F55\u70B9\u300C\u626B\u63CF\u5B50\u76EE\u5F55\u300D\uFF0C\u81EA\u52A8\u627E\u51FA\u5404\u5B50\u76EE\u5F55\u4E0B\u7684 skills\u3002","customSource.path":"\u6280\u80FD\u76EE\u5F55\uFF08\u542B SKILL.md \u7684\u4E0A\u4E00\u7EA7\uFF09","customSource.path.placeholder":"\u4F8B\u5982 D:\\tools\\my-agent\\skills","customSource.label":"\u663E\u793A\u540D\uFF08\u7559\u7A7A\u5219\u7528\u76EE\u5F55\u540D\uFF09","customSource.label.placeholder":"\u4F8B\u5982 My Agent","customSource.scan":"\u626B\u63CF\u5B50\u76EE\u5F55","customSource.scanning":"\u626B\u63CF\u4E2D\u2026","customSource.scanResult":"\u5728 {path} \u4E0B\u627E\u5230 {count} \u4E2A\u6280\u80FD\u76EE\u5F55","customSource.skillCount.one":"{count} \u4E2A\u6280\u80FD","customSource.skillCount.other":"{count} \u4E2A\u6280\u80FD","customSource.addOne":"\u6DFB\u52A0","customSource.addAll":"\u5168\u90E8\u6DFB\u52A0","customSource.added":"\u5DF2\u6DFB\u52A0 {count} \u4E2A\u81EA\u5B9A\u4E49\u6765\u6E90\u3002","customSource.removed":"\u5DF2\u79FB\u9664\u8BE5\u81EA\u5B9A\u4E49\u6765\u6E90\u7684\u767B\u8BB0\u3002","customSource.remove":"\u79FB\u9664\u767B\u8BB0","customSource.registered":"\u5DF2\u767B\u8BB0","customSource.conflict":"\u4E0E\u5DF2\u6709\u6765\u6E90\u91CD\u53E0","error.customSource.unknown":"\u672A\u767B\u8BB0\u7684\u81EA\u5B9A\u4E49\u6765\u6E90\uFF1A{root}","error.customSource.limit":"\u81EA\u5B9A\u4E49\u6765\u6E90\u6570\u91CF\u5DF2\u8FBE\u4E0A\u9650\uFF1A{limit}","error.customSource.label":"\u81EA\u5B9A\u4E49\u6765\u6E90\u5FC5\u987B\u6709\u663E\u793A\u540D\uFF1A{path}","error.customSource.empty":"\u6CA1\u6709\u8981\u6DFB\u52A0\u7684\u6280\u80FD\u6765\u6E90"},en:{"rootPath.edit":"Change skills folder","rootPath.title":"Change the skills folder for {name}","rootPath.manage":"Source folders","rootPath.source":"Skill source","rootPath.desc":"Only changes where this plugin reads skills. No files are moved. External sources stay read-only; to change the agent's own folder, update that agent's configuration.","rootPath.label":"Skills folder (the parent of SKILL.md files)","rootPath.placeholder":"e.g. D:\\skills\\codex","rootPath.browse":"Browse\u2026","rootPath.pickUnavailable":"No directory picker is available here; type the path instead.","rootPath.reset":"Restore default","rootPath.save":"Save","rootPath.custom":"Custom","rootPath.overrideTitle":"Custom folder; default: {path}","rootPath.defaultHint":"Default folder: {path}","rootPath.saved":"Updated the skills folder for {name}.","rootPath.resetDone":"Restored the default folder for {name}.","error.rootPath.unsupported":"This skill source does not support changing its folder: {root}","error.rootPath.invalid":"Invalid skills folder: {path}","error.rootPath.absolute":"The skills folder must be an absolute path: {path}","error.rootPath.tooLong":"The skills folder path is too long: {path}","error.rootPath.notFound":"The skills folder does not exist: {path}","error.rootPath.notDirectory":"The skills folder is not a directory: {path}","error.rootPath.overlap":"The skills folder must not overlap another skill source: {path}","error.rootPath.reserved":"The skills folder must not overlap the manager's state folder: {path}","warning.rootPath.invalid":"Ignored an invalid skills folder setting: {path}","warning.rootPath.corrupt":"The skills folder settings could not be read; defaults are in use: {path}","warning.rootPath.missing":"The custom skills folder does not exist: {path}","customSource.title":"Custom sources","customSource.add":"Add source","customSource.desc":"Register skill folders for agents that are not in the built-in list. Read-only: nothing is moved or modified. You can also point at a product folder and scan for the skills folders inside it.","customSource.path":"Skills folder (the parent of SKILL.md files)","customSource.path.placeholder":"e.g. D:\\tools\\my-agent\\skills","customSource.label":"Display name (empty uses the folder name)","customSource.label.placeholder":"e.g. My Agent","customSource.scan":"Scan subfolders","customSource.scanning":"Scanning\u2026","customSource.scanResult":"Found {count} skills folders under {path}","customSource.skillCount.one":"{count} skill","customSource.skillCount.other":"{count} skills","customSource.addOne":"Add","customSource.addAll":"Add all","customSource.added":"Added {count} custom sources.","customSource.removed":"Removed the custom source registration.","customSource.remove":"Remove","customSource.registered":"Registered","customSource.conflict":"Overlaps an existing source","error.customSource.unknown":"Unknown custom source: {root}","error.customSource.limit":"Custom sources reached the limit: {limit}","error.customSource.label":"A custom source needs a display name: {path}","error.customSource.empty":"No skill sources to add"}};Object.assign(Ka.zh,So.zh,Dr.zh,Ur.zh,Vr.zh);Object.assign(Ka.en,So.en,Dr.en,Ur.en,Vr.en);var Et=lo(M),Co=eo({react:M,SourceSelect:Et,translateError:se}),yo=Co.DestinationPicker,Sn=Pe.IconLoadingOutlineMedium||Pe.IconLoadingOutlineRegular||Pe.IconLoadingOutline16,Cn=Pe.IconRefreshOutlineMedium||Pe.IconRefreshOutlineRegular||Pe.IconRefreshOutline16,Nn=_r({react:M,Modal:_e,Input:Fe,Button:Ke.Button,SourceSelect:Et,destination:Co,api:Va,headers:Lt,translateError:se,getLocale:xr,IconLoading:Sn,IconRefresh:Cn}),Rn=$r+Wr+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{display:grid!important;box-sizing:border-box!important;width:100%;height:32px!important;min-height:32px!important;max-height:32px!important;padding:2px!important;border-radius:var(--dsw-radius-sm,8px)!important;border:0.5px solid var(--dsw-alias-border-l2)!important;background:var(--dsw-alias-bg-layer-1)!important}.dssm-scope-tabs>span[aria-hidden="true"],.dssm-scope-tabs>[class*="indicator"]{width:calc((100% - 4px)/4)!important;inset:2px auto 2px 2px!important;border-radius:6px!important;border:0.5px solid var(--dsw-alias-border-l3,rgba(255,255,255,.12))!important;background:var(--dsw-alias-bg-layer-3,rgba(255,255,255,.08))!important;box-shadow:none!important}.dssm-scope-tabs [role=tab]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:28px!important;padding:0 6px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!important;white-space:nowrap!important;color:var(--dsw-alias-label-secondary)!important;text-align:center!important;box-sizing:border-box!important;transition:color 150ms ease!important}.dssm-scope-tabs [role=tab]:hover{color:var(--dsw-alias-label-primary)!important}.dssm-scope-tabs [role=tab][aria-selected="true"]{color:var(--dsw-alias-label-primary)!important;font-weight:600!important}.dssm-scope-tabs [role=tab] svg{flex:none;display:block}.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%;min-width:0;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-form+.dssm-modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--dsw-alias-border-l2)}.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}
57
+ `;function Ho(){if(typeof document>"u"||document.getElementById(Mo)!==null)return;let a=document.createElement("style");a.id=Mo,a.textContent=so,(document.head??document.documentElement).appendChild(a)}function Mn(a){let e=a&&typeof a.size=="number"?a.size:16;return Ee("svg",{viewBox:"0 0 16 16",width:e,height:e,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:ro}})}function Hn(a){Ho();let{t:e,location:d,onLocationChange:u,enabled:m=!1,onToggle:g,disabled:b,onlineUpdateEnabled:y=!0,onToggleOnlineUpdate:w,onlineUpdateDisabled:A,onlineUpdateLocked:N}=a,j=d??(m?"both":"settings"),Z=$=>{($==="both"||$==="sidebar"||$==="settings")&&(typeof u=="function"?u($):typeof g=="function"&&g($!=="settings"))},n=[Ee("div",{key:"entry-location",className:"dssm-bundle-row"},Ee("div",{className:"dssm-bundle-label-box"},Ee("span",{className:"dssm-bundle-title"},e("entry.location.title")||e("sidebar.entry.title")),Ee("span",{className:"dssm-bundle-desc"},e("entry.location.desc")||e("sidebar.entry.desc"))),Ee(Er.SegmentedControl,{id:"dssm-bundle-entry-location",value:j,onChange:Z,label:e("entry.location.title")||e("sidebar.entry.title"),disabled:b,options:[{value:"both",label:e("entry.location.both")||"\u4E24\u8FB9\u663E\u793A"},{value:"sidebar",label:e("entry.location.sidebar")||"\u4EC5\u4FA7\u8FB9\u680F"},{value:"settings",label:e("entry.location.settings")||"\u4EC5\u8BBE\u7F6E"}]}))];return typeof w=="function"&&n.push(Ee("div",{key:"online-update",className:"dssm-bundle-row"},Ee("div",{className:"dssm-bundle-label-box"},Ee("span",{className:"dssm-bundle-title"},e("update.entry.title")),Ee("span",{className:"dssm-bundle-desc"},e(N?"update.entry.locked":"update.entry.desc"))),Ee(Er.Switch,{checked:y,onChange:w,label:e("update.entry.toggle"),disabled:A,title:N?e("update.entry.locked"):void 0}))),Ee(tt.Fragment,null,n)}function jn(a){let[e,d]=tt.useState(a.getLocation),[u,m]=tt.useState(a.getOnlineUpdateEnabled?a.getOnlineUpdateEnabled:()=>!0),[g,b]=tt.useState(a.getOnlineUpdateLocked?a.getOnlineUpdateLocked:()=>!1),[y,w]=tt.useState(!1),[A,N]=tt.useState(!1);tt.useEffect(()=>{let n=()=>{d(a.getLocation()),a.getOnlineUpdateEnabled&&m(a.getOnlineUpdateEnabled()),a.getOnlineUpdateLocked&&b(a.getOnlineUpdateLocked())};return n(),a.subscribe(n)},[a]);let j=n=>{w(!0),d(n),a.setLocation(n).catch(()=>{d(a.getLocation())}).finally(()=>{w(!1)})},Z=a.setOnlineUpdate?n=>{a.getOnlineUpdateLocked?.()||(N(!0),m(n),a.setOnlineUpdate(n).catch(()=>{a.getOnlineUpdateEnabled&&m(a.getOnlineUpdateEnabled())}).finally(()=>{N(!1)}))}:void 0;return Ee(Hn,{t:a.t,location:e,disabled:y,onLocationChange:j,onlineUpdateEnabled:u,onlineUpdateDisabled:A||g,onlineUpdateLocked:g,onToggleOnlineUpdate:Z})}function lo(a,e){if(Ho(),!a.locale)return{getLocation:()=>"settings",setLocation:async()=>"settings",isSettingsSectionEnabled:()=>!0,isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:d,headers:u,renderPanel:m,ns:g}=e,b="settings",y=!1,w=null,A=null,N=0,j=!1,Z,n=new Set,$=()=>b==="both"||b==="sidebar",he=()=>b==="both"||b==="settings",I=()=>{if(!j)for(let S of n)try{S()}catch{}},L=()=>{if(!j)if(y&&$()){if(!w){let S=a.slots.register({name:"main",key:oo,locale:g,inject:()=>({t:a.locale?.bind?a.locale.bind(g):void 0})},Ne=>Ee("div",{className:"dssm-main-panel"},m(Ne)));w=typeof S=="function"?S:()=>{}}if(!A){let S=a.slots.register({name:"sidebar.panellist",id:oo,order:zn,label:()=>a.locale.bind(g)("title"),locale:g},Ne=>Ee(Mn,Ne));A=typeof S=="function"?S:()=>{}}}else{if(Z?.panelInfo&&typeof Z.selectPanel=="function")try{Z.panelInfo.getSnapshot().activePanelId===oo&&Z.selectPanel(null)}catch{}if(A){try{A()}catch{}A=null}if(w){try{w()}catch{}w=null}}},ve=async S=>{if(j)return b;let Ne=++N,re=b;if(b=S,L(),I(),typeof e.onLocationChange=="function")try{e.onLocationChange(S)}catch{}try{return await d("/sidebar-entry",{method:"POST",headers:u,body:JSON.stringify({location:S})}),S}catch(ct){if(Ne===N&&(b=re,L(),I(),typeof e.onLocationChange=="function"))try{e.onLocationChange(re)}catch{}throw ct}},J=async S=>(await ve(S?"both":"settings"),$()),ee=!0,be=!1,se=0,te=async S=>{if(j||be)return ee;let Ne=++se;if(ee=S,I(),!S&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(S)}catch{}try{if(await d("/online-update",{method:"POST",headers:u,body:JSON.stringify({enabled:S})}),S&&!j&&Ne===se&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(S)}catch{}return S}catch(re){if(Ne===se){let ct=re!==null&&typeof re=="object"&&"code"in re&&re.code==="error.update.disabled";if(ct&&(be=!0),ee=ct?!1:!S,I(),typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(ee)}catch{}}throw re}},p=N;d("/sidebar-entry").then(S=>{if(!j&&N===p&&S&&(S.location==="both"||S.location==="sidebar"||S.location==="settings"?b=S.location:typeof S.enabled=="boolean"&&(b=S.enabled?"both":"settings"),L(),I(),typeof e.onLocationChange=="function"))try{e.onLocationChange(b)}catch{}}).catch(()=>{});let P=se;return d("/online-update").then(S=>{if(!j&&se===P&&S&&typeof S.enabled=="boolean"&&(ee=S.enabled,S.locked===!0&&(be=!0),I(),typeof e.onOnlineUpdateChange=="function"))try{e.onOnlineUpdateChange(S.enabled)}catch{}}).catch(()=>{}),typeof a.inject=="function"&&a.inject(["layout"],S=>{j||(Z=S.layout)}),a.slots.inject("sidebar.panellist",()=>{j||(y=!0,L())}),a.slots.inject("plugins.bundle.config",()=>{if(!j)return a.slots.register({name:"plugins.bundle.config",key:In,locale:g},S=>S&&S.view==="summary"?null:Ee(jn,{t:a.locale.bind(g),getLocation:()=>b,setLocation:ve,getEnabled:()=>$(),setSidebar:J,getOnlineUpdateEnabled:()=>ee,setOnlineUpdate:te,getOnlineUpdateLocked:()=>be,subscribe:Ne=>(n.add(Ne),()=>{n.delete(Ne)})}))}),{getLocation:()=>b,setLocation:ve,isSettingsSectionEnabled:he,isEnabled:()=>$(),isSupported:()=>y,setEnabled:J,isOnlineUpdateEnabled:()=>ee,setOnlineUpdate:te,destroy:()=>{if(!j){if(j=!0,N++,se++,Z=void 0,n.clear(),A){try{A()}catch{}A=null}if(w){try{w()}catch{}w=null}}}}}var B=$a,o=B.createElement,On=function(e){return o("label",{className:e.className},o("input",{type:"checkbox",checked:e.checked,disabled:e.disabled,onChange:function(d){e.onChange(d.target.checked)}}),o("span",null,e.label))},Vo=Pe.Checkbox||On,Un=Pe.IconEditOutlineRegular;function Bn(){return o(Un,{size:16})}var Dn={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 Vn(a){var e=document.createElement("span"),d=document.createElementNS("http://www.w3.org/2000/svg","svg");return d.setAttribute("viewBox","0 0 16 16"),d.setAttribute("width","16"),d.setAttribute("height","16"),d.setAttribute("fill","none"),d.setAttribute("stroke","currentColor"),d.setAttribute("stroke-width","1.5"),d.setAttribute("stroke-linecap","round"),d.setAttribute("stroke-linejoin","round"),d.setAttribute("aria-hidden","true"),Dn[a].forEach(function(u){var m=document.createElementNS("http://www.w3.org/2000/svg","path");m.setAttribute("d",u),d.append(m)}),e.append(d),e}var Ft={"content-type":"application/json","x-dsh-skills-manager":"1"},wt="skills-manager",ar={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\u3001\u63CF\u8FF0\u6216\u5907\u6CE8","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","skill.linked":"\u5916\u90E8\u76EE\u5F55\u94FE\u63A5\uFF0C\u53EA\u8BFB","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.customNote":"\u81EA\u5B9A\u4E49\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","detail.copyBody":"\u590D\u5236\u6B63\u6587","detail.copied":"\u5DF2\u590D\u5236","detail.copyFailed":"\u590D\u5236\u5931\u8D25","skill.editNote":"\u7F16\u8F91\u5907\u6CE8","note.title":"\u81EA\u5B9A\u4E49\u7B80\u4ECB / \u5907\u6CE8","note.label":"\u5907\u6CE8\u5185\u5BB9","note.placeholder":"\u8BB0\u5F55\u8FD9\u4E2A\u6280\u80FD\u662F\u5E72\u561B\u7684\u3001\u4EC0\u4E48\u65F6\u5019\u7528\u2026","note.help":"\u4FDD\u5B58\u5728\u63D2\u4EF6\u5185\u90E8\u663E\u793A\u5C42\uFF0C\u4E0D\u4FEE\u6539\u539F SKILL.md\u3002\u6E05\u7A7A\u53EF\u8FD8\u539F\u4E3A\u539F\u7B80\u4ECB\u3002","note.clear":"\u6E05\u7A7A","note.updated":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","note.cleared":"\u5DF2\u6E05\u9664\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","error.note.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.note.tooLarge":"\u81EA\u5B9A\u4E49\u7B80\u4ECB\u8FC7\u957F\uFF08\u6700\u591A {max} \u4E2A\u5B57\u7B26\uFF09","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.missing":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u53EF\u80FD\u5DF2\u88AB\u79FB\u52A8\u6216\u5220\u9664\uFF1A{path}","warning.project.unreadable":"\u65E0\u6743\u9650\u8BFB\u53D6\u5DE5\u4F5C\u533A\u76EE\u5F55\uFF1A{path}\uFF08{code}\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.linked":"\u76EE\u5F55\u94FE\u63A5\u4E0D\u80FD\u5220\u9664\u6216\u8986\u76D6\uFF1A{path}","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.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.invalidParams":"\u8BF7\u6C42\u53C2\u6570\u65E0\u6548","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.update.disabled":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u7981\u7528","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":"\u5BBF\u4E3B\u4E0D\u652F\u6301\u6B64\u6280\u80FD\u540D\u79F0\u683C\u5F0F\uFF08\u4EC5\u652F\u6301\u82F1\u6587\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u4E0E\u8FDE\u5B57\u7B26\uFF09\uFF0C\u65E0\u6CD5\u542F\u7528\u3002\u5982\u9700\u8C03\u7528\uFF0C\u8BF7\u5728 SKILL.md frontmatter \u4E2D\u6307\u5B9A\u82F1\u6587 name\uFF08\u76EE\u5F55\u540D\u53EF\u4FDD\u7559\u4E2D\u6587\uFF09\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.missing":"\u76EE\u5F55\u4E0D\u5B58\u5728","workspace.unreadable":"\u65E0\u8BFB\u53D6\u6743\u9650","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","root.antigravity":"Google Antigravity","group.label":"\u5206\u7EC4\u65B9\u5F0F","group.bySource":"\u6309\u6765\u6E90\u76EE\u5F55","group.byRepo":"\u6309\u6765\u6E90\u4ED3\u5E93","group.hint":"\u5728\u6765\u6E90\u76EE\u5F55\u4E0B\u6309\u53EF\u6838\u67E5\u7684\u8BB0\u5F55\u518D\u5206\u300C\u4ED3\u5E93 \u2192 \u4ED3\u5E93\u5185\u76EE\u5F55\u300D\uFF1A\u5B89\u88C5\u8BB0\u5F55 \u2192 \u76EE\u5F55\u9501\u6587\u4EF6 \u2192 \u6280\u80FD\u5143\u6570\u636E\uFF1B\u6CA1\u6709\u8BB0\u5F55\u7684\u6807\u4E3A\u300C\u6765\u6E90\u672A\u77E5\u300D\uFF0C\u4E0D\u6309\u76EE\u5F55\u540D\u79F0\u731C\u6D4B\u3002","group.provenanceCount":"{repos} \u4E2A\u6765\u6E90\u4ED3\u5E93 \xB7 {unknown} \u4E2A\u6280\u80FD\u6765\u6E90\u672A\u77E5","group.unknownSource":"\u6765\u6E90\u672A\u77E5","group.repoRoot":"\u4ED3\u5E93\u6839\u76EE\u5F55\uFF08\u672A\u5206\u76EE\u5F55\uFF09","group.evidence.install":"\u5B89\u88C5\u8BB0\u5F55","group.evidence.lock":"\u76EE\u5F55\u9501\u6587\u4EF6","group.evidence.meta":"\u6280\u80FD\u5143\u6570\u636E","group.evidence.root":"\u76EE\u5F55\u843D\u70B9","group.openRepo":"\u6253\u5F00 {repo}","group.noRepo":"\u6CA1\u6709\u53EF\u6838\u67E5\u7684\u4ED3\u5E93\u8BB0\u5F55\uFF0C\u6309\u6765\u6E90\u76EE\u5F55\u5F52\u7C7B\u3002"},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, descriptions or notes","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","skill.linked":"External directory link, read-only","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.customNote":"Custom note","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","detail.copyBody":"Copy body","detail.copied":"Copied","detail.copyFailed":"Copy failed","skill.editNote":"Edit note","note.title":"Custom description / Note","note.label":"Note","note.placeholder":"Record what this skill does and when to use it\u2026","note.help":"Saved in the plugin display layer without modifying SKILL.md. Clear to revert to original description.","note.clear":"Clear","note.updated":"Updated custom note for \u201C{name}\u201D.","note.cleared":"Cleared custom note for \u201C{name}\u201D.","error.note.root":"Skill source not found: {root}","error.note.tooLarge":"Custom note is too long (maximum {max} characters)","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.missing":"The workspace directory does not exist and may have been moved or deleted: {path}","warning.project.unreadable":"No permission to read the workspace directory: {path} ({code})","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.linked":"This directory link cannot be deleted or overwritten: {path}","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.contentType":"Content type must be application/json","error.proto.invalidParams":"Invalid request parameters","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.update.disabled":"Online updates are disabled","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 format is not supported by host (lowercase letters, numbers and hyphens only), cannot be enabled. To invoke it, specify an English name in the SKILL.md frontmatter (directory name can remain unchanged): {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.missing":"Directory missing","workspace.unreadable":"No read permission","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","root.antigravity":"Google Antigravity","group.label":"Group by","group.bySource":"Source directory","group.byRepo":"Source repository","group.hint":"Inside each source directory, verifiable records add a repository \u2192 directory hierarchy: install record \u2192 directory lock file \u2192 skill metadata; other sources are marked Unknown source. Directory names are not guessed.","group.provenanceCount":"{repos} repositories \xB7 {unknown} skills with unknown source","group.unknownSource":"Unknown source","group.repoRoot":"Repository root (no category)","group.evidence.install":"Install record","group.evidence.lock":"Directory lock file","group.evidence.meta":"Skill metadata","group.evidence.root":"Directory fallback","group.openRepo":"Open {repo}","group.noRepo":"No verifiable repository record; grouped by source directory."}},Fo={zh:{"rootPath.edit":"\u4FEE\u6539\u6280\u80FD\u76EE\u5F55","rootPath.title":"\u4FEE\u6539\u300C{name}\u300D\u7684\u6280\u80FD\u76EE\u5F55","rootPath.manage":"\u6765\u6E90\u76EE\u5F55","rootPath.source":"\u6280\u80FD\u6765\u6E90","rootPath.desc":"\u53EA\u6539\u672C\u63D2\u4EF6\u8BFB\u53D6\u7684\u4F4D\u7F6E\uFF0C\u4E0D\u79FB\u52A8\u4EFB\u4F55\u6587\u4EF6\u3002\u5916\u90E8\u6765\u6E90\u4ECD\u7136\u53EA\u8BFB\uFF1B\u8981\u8BA9\u8BE5 Agent \u81EA\u5DF1\u6362\u76EE\u5F55\uFF0C\u8BF7\u6539\u5B83\u81EA\u5DF1\u7684\u914D\u7F6E\u3002","rootPath.label":"\u6280\u80FD\u76EE\u5F55\uFF08\u542B SKILL.md \u7684\u4E0A\u4E00\u7EA7\uFF09","rootPath.placeholder":"\u4F8B\u5982 D:\\skills\\codex","rootPath.browse":"\u6D4F\u89C8\u2026","rootPath.pickUnavailable":"\u5F53\u524D\u73AF\u5883\u6CA1\u6709\u53EF\u7528\u7684\u76EE\u5F55\u9009\u62E9\u5668\uFF0C\u8BF7\u76F4\u63A5\u8F93\u5165\u8DEF\u5F84\u3002","rootPath.reset":"\u6062\u590D\u9ED8\u8BA4","rootPath.save":"\u4FDD\u5B58","rootPath.custom":"\u81EA\u5B9A\u4E49","rootPath.overrideTitle":"\u81EA\u5B9A\u4E49\u76EE\u5F55\uFF0C\u9ED8\u8BA4\uFF1A{path}","rootPath.defaultHint":"\u9ED8\u8BA4\u76EE\u5F55\uFF1A{path}","rootPath.saved":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u6280\u80FD\u76EE\u5F55\u3002","rootPath.resetDone":"\u5DF2\u6062\u590D\u300C{name}\u300D\u7684\u9ED8\u8BA4\u76EE\u5F55\u3002","error.rootPath.unsupported":"\u8BE5\u6280\u80FD\u6765\u6E90\u4E0D\u652F\u6301\u4FEE\u6539\u76EE\u5F55\uFF1A{root}","error.rootPath.invalid":"\u6280\u80FD\u76EE\u5F55\u65E0\u6548\uFF1A{path}","error.rootPath.absolute":"\u6280\u80FD\u76EE\u5F55\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.rootPath.tooLong":"\u6280\u80FD\u76EE\u5F55\u8DEF\u5F84\u8FC7\u957F\uFF1A{path}","error.rootPath.notFound":"\u6280\u80FD\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{path}","error.rootPath.notDirectory":"\u6280\u80FD\u76EE\u5F55\u4E0D\u662F\u6587\u4EF6\u5939\uFF1A{path}","error.rootPath.overlap":"\u6280\u80FD\u76EE\u5F55\u4E0D\u80FD\u4E0E\u5176\u5B83\u6280\u80FD\u6765\u6E90\u91CD\u53E0\uFF1A{path}","error.rootPath.reserved":"\u6280\u80FD\u76EE\u5F55\u4E0D\u80FD\u4E0E\u6280\u80FD\u7BA1\u7406\u5668\u7684\u72B6\u6001\u76EE\u5F55\u91CD\u53E0\uFF1A{path}","warning.rootPath.invalid":"\u6280\u80FD\u76EE\u5F55\u914D\u7F6E\u9879\u65E0\u6548\uFF0C\u5DF2\u5FFD\u7565\uFF1A{path}","warning.rootPath.corrupt":"\u6280\u80FD\u76EE\u5F55\u914D\u7F6E\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u4F7F\u7528\u9ED8\u8BA4\u76EE\u5F55\uFF1A{path}","warning.rootPath.missing":"\u81EA\u5B9A\u4E49\u6280\u80FD\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{path}","customSource.title":"\u81EA\u5B9A\u4E49\u6765\u6E90","customSource.add":"\u6DFB\u52A0\u6765\u6E90","customSource.desc":"\u767B\u8BB0\u6E05\u5355\u5916\u7684 Agent \u6280\u80FD\u76EE\u5F55\uFF1A\u53EA\u8BFB\u53D6\uFF0C\u4E0D\u79FB\u52A8\u4E5F\u4E0D\u6539\u52A8\u7B2C\u4E09\u65B9\u6587\u4EF6\u3002\u4E5F\u53EF\u4EE5\u586B\u4EA7\u54C1\u603B\u76EE\u5F55\u70B9\u300C\u626B\u63CF\u5B50\u76EE\u5F55\u300D\uFF0C\u81EA\u52A8\u627E\u51FA\u5404\u5B50\u76EE\u5F55\u4E0B\u7684 skills\u3002","customSource.path":"\u6280\u80FD\u76EE\u5F55\uFF08\u542B SKILL.md \u7684\u4E0A\u4E00\u7EA7\uFF09","customSource.path.placeholder":"\u4F8B\u5982 D:\\tools\\my-agent\\skills","customSource.label":"\u663E\u793A\u540D\uFF08\u7559\u7A7A\u5219\u7528\u76EE\u5F55\u540D\uFF09","customSource.label.placeholder":"\u4F8B\u5982 My Agent","customSource.scan":"\u626B\u63CF\u5B50\u76EE\u5F55","customSource.scanning":"\u626B\u63CF\u4E2D\u2026","customSource.scanResult":"\u5728 {path} \u4E0B\u627E\u5230 {count} \u4E2A\u6280\u80FD\u76EE\u5F55","customSource.skillCount.one":"{count} \u4E2A\u6280\u80FD","customSource.skillCount.other":"{count} \u4E2A\u6280\u80FD","customSource.addOne":"\u6DFB\u52A0","customSource.addAll":"\u5168\u90E8\u6DFB\u52A0","customSource.added":"\u5DF2\u6DFB\u52A0 {count} \u4E2A\u81EA\u5B9A\u4E49\u6765\u6E90\u3002","customSource.removed":"\u5DF2\u79FB\u9664\u8BE5\u81EA\u5B9A\u4E49\u6765\u6E90\u7684\u767B\u8BB0\u3002","customSource.remove":"\u79FB\u9664\u767B\u8BB0","customSource.registered":"\u5DF2\u767B\u8BB0","customSource.conflict":"\u4E0E\u5DF2\u6709\u6765\u6E90\u91CD\u53E0","error.customSource.unknown":"\u672A\u767B\u8BB0\u7684\u81EA\u5B9A\u4E49\u6765\u6E90\uFF1A{root}","error.customSource.limit":"\u81EA\u5B9A\u4E49\u6765\u6E90\u6570\u91CF\u5DF2\u8FBE\u4E0A\u9650\uFF1A{limit}","error.customSource.label":"\u81EA\u5B9A\u4E49\u6765\u6E90\u5FC5\u987B\u6709\u663E\u793A\u540D\uFF1A{path}","error.customSource.empty":"\u6CA1\u6709\u8981\u6DFB\u52A0\u7684\u6280\u80FD\u6765\u6E90"},en:{"rootPath.edit":"Change skills folder","rootPath.title":"Change the skills folder for {name}","rootPath.manage":"Source folders","rootPath.source":"Skill source","rootPath.desc":"Only changes where this plugin reads skills. No files are moved. External sources stay read-only; to change the agent's own folder, update that agent's configuration.","rootPath.label":"Skills folder (the parent of SKILL.md files)","rootPath.placeholder":"e.g. D:\\skills\\codex","rootPath.browse":"Browse\u2026","rootPath.pickUnavailable":"No directory picker is available here; type the path instead.","rootPath.reset":"Restore default","rootPath.save":"Save","rootPath.custom":"Custom","rootPath.overrideTitle":"Custom folder; default: {path}","rootPath.defaultHint":"Default folder: {path}","rootPath.saved":"Updated the skills folder for {name}.","rootPath.resetDone":"Restored the default folder for {name}.","error.rootPath.unsupported":"This skill source does not support changing its folder: {root}","error.rootPath.invalid":"Invalid skills folder: {path}","error.rootPath.absolute":"The skills folder must be an absolute path: {path}","error.rootPath.tooLong":"The skills folder path is too long: {path}","error.rootPath.notFound":"The skills folder does not exist: {path}","error.rootPath.notDirectory":"The skills folder is not a directory: {path}","error.rootPath.overlap":"The skills folder must not overlap another skill source: {path}","error.rootPath.reserved":"The skills folder must not overlap the manager's state folder: {path}","warning.rootPath.invalid":"Ignored an invalid skills folder setting: {path}","warning.rootPath.corrupt":"The skills folder settings could not be read; defaults are in use: {path}","warning.rootPath.missing":"The custom skills folder does not exist: {path}","customSource.title":"Custom sources","customSource.add":"Add source","customSource.desc":"Register skill folders for agents that are not in the built-in list. Read-only: nothing is moved or modified. You can also point at a product folder and scan for the skills folders inside it.","customSource.path":"Skills folder (the parent of SKILL.md files)","customSource.path.placeholder":"e.g. D:\\tools\\my-agent\\skills","customSource.label":"Display name (empty uses the folder name)","customSource.label.placeholder":"e.g. My Agent","customSource.scan":"Scan subfolders","customSource.scanning":"Scanning\u2026","customSource.scanResult":"Found {count} skills folders under {path}","customSource.skillCount.one":"{count} skill","customSource.skillCount.other":"{count} skills","customSource.addOne":"Add","customSource.addAll":"Add all","customSource.added":"Added {count} custom sources.","customSource.removed":"Removed the custom source registration.","customSource.remove":"Remove","customSource.registered":"Registered","customSource.conflict":"Overlaps an existing source","error.customSource.unknown":"Unknown custom source: {root}","error.customSource.limit":"Custom sources reached the limit: {limit}","error.customSource.label":"A custom source needs a display name: {path}","error.customSource.empty":"No skill sources to add"}};Object.assign(ar.zh,Fo.zh,eo.zh,to.zh,no.zh);Object.assign(ar.en,Fo.en,eo.en,to.en,no.en);var Wt=Lo(B),Wo=vo({react:B,SourceSelect:Wt,translateError:fe}),jo=Wo.DestinationPicker,Fn=Pe.IconLoadingOutlineMedium||Pe.IconLoadingOutlineRegular||Pe.IconLoadingOutline16,Wn=Pe.IconRefreshOutlineMedium||Pe.IconRefreshOutlineRegular||Pe.IconRefreshOutline16,Kn=Vo,qn=bo({react:B,Modal:it,Input:et,Button:rt.Button,Checkbox:Kn,SourceSelect:Wt,destination:Wo,api:er,headers:Ft,translateError:fe,getLocale:Mr,IconLoading:Fn,IconRefresh:Wn}),Qn=yo+so+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{display:grid!important;box-sizing:border-box!important;width:100%;height:32px!important;min-height:32px!important;max-height:32px!important;padding:2px!important;border-radius:var(--dsw-radius-sm,8px)!important;border:0.5px solid var(--dsw-alias-border-l2)!important;background:var(--dsw-alias-bg-layer-1)!important}.dssm-scope-tabs>span[aria-hidden="true"],.dssm-scope-tabs>[class*="indicator"]{width:calc((100% - 4px)/4)!important;inset:2px auto 2px 2px!important;border-radius:6px!important;border:0.5px solid var(--dsw-alias-border-l3,rgba(255,255,255,.12))!important;background:var(--dsw-alias-bg-layer-3,rgba(255,255,255,.08))!important;box-shadow:none!important}.dssm-scope-tabs [role=tab]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:28px!important;padding:0 6px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!important;white-space:nowrap!important;color:var(--dsw-alias-label-secondary)!important;text-align:center!important;box-sizing:border-box!important;transition:color 150ms ease!important}.dssm-scope-tabs [role=tab]:hover{color:var(--dsw-alias-label-primary)!important}.dssm-scope-tabs [role=tab][aria-selected="true"]{color:var(--dsw-alias-label-primary)!important;font-weight:600!important}.dssm-scope-tabs [role=tab] svg{flex:none;display:block}.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%;min-width:0;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-check{flex:none;gap:0!important;font-size:0;line-height:0}.dssm-batch-check>span,.dssm-batch-check>span *{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.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-form+.dssm-modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--dsw-alias-border-l2)}.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}
34
58
  @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:repeat(2,minmax(0,1fr))}.dssm-stat:nth-child(2){border-right:0}.dssm-stat:nth-child(n+3){border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a)}.dssm-filters{flex-wrap:wrap}.dssm-filters .dssm-search{flex:1 1 100%;min-width:0;order:2}.dssm-filters .dssm-filter-actions{order:3;margin-left:auto}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter{flex:1 1 calc(50% - 4px);min-width:0;order:1}.dssm-filters .dssm-source-filter .dssm-menu-select-wrap,.dssm-filters .dssm-status-filter .dssm-menu-select-wrap,.dssm-filters .dssm-project-filter .dssm-menu-select-wrap{width:100%!important;display:flex!important}.dssm-filters .dssm-source-filter .dssm-menu-select-trigger,.dssm-filters .dssm-status-filter .dssm-menu-select-trigger,.dssm-filters .dssm-project-filter .dssm-menu-select-trigger{width:100%!important;min-width:0!important}}.dssm-row-state{display:flex;align-items:center;justify-content:flex-end;gap:8px}
35
59
  .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)}
36
60
  .dssm-icon-action{box-sizing:border-box;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);border-style:solid;border-width:0.5px}.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)}
@@ -59,7 +83,7 @@ var exports = module.exports;
59
83
  .dssm-prov-badge{flex:none;border:1px solid var(--dsw-alias-border-secondary,#e2e2e2);border-radius:999px;padding:0 6px;font-size:11px;line-height:16px;color:var(--dsw-alias-label-secondary,#666);white-space:nowrap}
60
84
  .dssm-prov-repo-link{border:0.5px solid var(--dsw-alias-border-l2,#494949);text-decoration:none}
61
85
 
62
- `;function Zr(t,e,i,l){var p=t(e,l);return typeof p=="string"&&p!==e?p:i}function se(t,e){if(e instanceof Error&&!e.code)return e.message;if(e&&typeof e=="object"){let g=e;if(g.code){var i=Object.assign({},g.params||{});i.action&&(i.action=Zr(t,"action."+i.action,String(i.action)));var l=t(g.code,i);if(typeof l=="string"&&l!==g.code){if(i.code&&g.code==="error.workspace.unavailable"){var p=xr()==="zh"||!xr()&&l.includes("\uFF1A");return l+(p?"\uFF08"+i.code+"\uFF09":" ("+i.code+")")}return l}if(l===g.code)return g.error!==void 0?se(t,g.error):g.code}if(g.error!==void 0)return se(t,g.error);if(g.message!==void 0)return String(g.message)}return String(e??"")}function No(t){return t.json().catch(function(){var e=new Error("non-json response");throw e.code="error.proto.nonJson",e.params={status:t.status},e}).then(function(e){let i=e;if(!t.ok||i.ok===!1)throw i;return i.data})}function Va(t,e){return fetch(Oa("/api/michengai/dsh-skills-manager"+t),e).then(No)}function kr(t){return t.enabled!==void 0?t.enabled===!0:!!(t.invocationPolicyValid&&t.modelInvocable&&t.userInvocable&&t.managerEnabled!==!1)}function Rt(t,e){return t+(Number(e)===1?".one":".other")}var Wa;function xr(){return Wa?.getLocale?.().active}function Ro(t,e){return new Date(e).toLocaleString(xr()||t("format.locale"))}function Xe(t,e){var i=Zr(t,"root."+(e.localeKey||e.kind||e.key),e.label);return e.projectName?i+" \xB7 "+e.projectName:i}function Lo(t,e){var i=e&&e.imported||[],l=i.map(function(b){return b.name}),p=(e&&e.skipped||[]).map(function(b){return b.name}),g=[];i.forEach(function(b){(b.warnings||[]).forEach(function(v){g.push(se(t,v))})});var h;return l.length&&p.length?h={ok:!0,warning:!0,imported:!0,text:t("result.importPartial",{imported:l.join(", "),skipped:p.join(", ")})}:l.length?h={ok:!0,warning:!1,imported:!0,text:t("result.imported",{names:l.join(", ")})}:p.length?h={ok:!1,warning:!0,imported:!1,text:t("result.importSkipped",{names:p.join(", ")})}:h={ok:!1,warning:!1,imported:!1,text:t("result.importEmpty")},g.length&&(h.warning=!0,h.text=t("result.importWarnings",{result:h.text,warnings:g.join(t("format.warningSeparator"))})),h}function Eo(t){return String(t??"").trim().toLowerCase()}function Yr(t,e){var i=Eo(e);if(!i)return!0;var l=t.provenance;return[t.name,t.declaredName,t.description,t.customNote,t.kind,t.kindLabel,t.statusLabel,t.rootKey,t.rootLabel,l?l.repo:null,l?l.category:null,l?l.path:null].some(function(p){return String(p??"").toLowerCase().includes(i)})}function Ln(t,e){var i=e&&e.rootKey!=null?e.rootKey:"";return t.filter(function(l){return(!i||l.rootKey===i)&&Yr(l,e&&e.query)})}function Gr(t){return(t||[]).filter(function(e){return e.mutable||e.overridden===!0||e.exists!==!1})}function Jr(t){return t.shadowedBy?"shadowed":t.loadable===!1?"invalid":kr(t)?"enabled":"disabled"}function Ao(t){var e={total:t.length,enabled:0,disabled:0,shadowed:0,invalid:0};return t.forEach(function(i){e[Jr(i.skill)]++}),e}function Po(t){return!!(t&&t.toggleable!==!1&&t.kind!=="project-dsh")}function Io(t){return Gr(t).filter(function(e){return e.scope==="project"?!1:e.mutable||e.overridden===!0||(e.skills||[]).length>0})}var vo=32<<20,yr=32<<20,wo=64<<20,ko=1e3;function wr(t){return String(t&&(t._dssmPath||t.webkitRelativePath||t.name)||"").replace(/\\/g,"/")}function To(t){var e=Array.from(t||[]);if(!e.length)return null;if(e.length>ko)return{error:{code:"error.upload.tooMany",params:{limit:ko}}};var i=e.some(function(v){return wr(v).includes("/")});if(i){if(!e.some(function(v){return/(^|\/)skill\.md$/i.test(wr(v))}))return{error:{code:"select.folder.invalid"}};var l=e.find(function(v){return Number(v.size||0)>yr});if(l)return{error:{code:"error.upload.tooLarge",params:{limit:yr}}};var p=e.reduce(function(v,N){return v+Number(N.size||0)},0);return p>wo?{error:{code:"error.upload.tooLarge",params:{limit:wo}}}:{kind:"folder",name:wr(e[0]).split("/")[0],files:e,count:e.length,size:p}}if(e.length!==1)return{error:{code:"select.file.invalid"}};var g=String(e[0].name||""),h=g.toLowerCase(),b=Number(e[0].size||0);return h==="skill.md"?b>yr?{error:{code:"error.upload.tooLarge",params:{limit:yr}}}:{kind:"skill",name:g,files:e,count:1,size:b}:h.endsWith(".zip")?b>vo?{error:{code:"error.upload.archiveTooLarge",params:{limit:vo}}}:{kind:"zip",name:g,files:e,count:1,size:b}:{error:{code:"select.file.invalid"}}}function En(t){for(var e=new Uint8Array(t),i="",l=32768,p=0;p<e.length;p+=l)i+=String.fromCharCode(...e.subarray(p,Math.min(p+l,e.length)));return btoa(i)}function An(t){return Promise.all(t.files.map(function(e){return e.arrayBuffer().then(function(i){return{path:wr(e),data:En(i)}})})).then(function(e){return t.kind==="zip"?{name:t.name,zip:e[0].data}:{name:t.name,entries:e}})}function zo(t,e,i){return t.isFile?new Promise(function(l,p){t.file(function(g){g._dssmPath=e+g.name,i.push(g),l()},p)}):t.isDirectory?new Promise(function(l,p){var g=t.createReader(),h=[];function b(){g.readEntries(function(v){if(!v.length){Promise.all(h.map(function(N){return zo(N,e+t.name+"/",i)})).then(function(){l()},p);return}h=h.concat(v),b()},p)}b()}):Promise.resolve()}function Pn(t){var e=Array.from(t&&t.items||[]),i=e.map(function(p){return p.webkitGetAsEntry&&p.webkitGetAsEntry()}).filter(p=>!!p);if(!i.length)return Promise.resolve(Array.from(t&&t.files||[]));var l=[];return Promise.all(i.map(function(p){return zo(p,"",l)})).then(function(){return l})}function In(t){return Array.prototype.slice.call(t.querySelectorAll('button:not(:disabled), [href], input:not([type=hidden]):not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])')||[])}function Tn(t,e){if(e.key==="Tab"){var i=In(t);if(i.length){var l=document.activeElement;(l===t||!t.contains(l)||(e.shiftKey?l===i[0]:l===i[i.length-1]))&&(e.preventDefault(),(e.shiftKey?i[i.length-1]:i[0]).focus())}}}function zn(t){return Qr(t.on,t.label,t.disabled,t.onClick)}function _(t,e,i="primary",l){return o(Ke.Button,{variant:i==="primary"?"primary":"outline",className:i==="danger"?"dssm-btn-danger":void 0,disabled:l,onClick:e},t)}function We(t){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{d:t,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Mn(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},[3.5,8,12.5].map(function(t){return o("circle",{key:t,cx:t,cy:8,r:1.15,fill:"none",stroke:"currentColor",strokeWidth:1.5})}))}function Qt(t,e,i,l,p){return o(Ke.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(l?" dssm-icon-danger":""),disabled:p,"aria-label":t,title:t,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:i})}function vr(t,e,i,l,p){return o(Ke.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:l,"aria-label":t,title:p||t,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:i})}function Qr(t,e,i,l){return o("button",{type:"button",role:"switch","aria-checked":t,"aria-label":e,disabled:i,className:"dssm-enable-switch",onClick:function(p){p&&typeof p.stopPropagation=="function"&&p.stopPropagation(),l()}},o("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var Hn="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",jn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAf9SURBVFhHrVdrUJTXGd7RVNgb4BUvqKg1qTUx1WobTczFmmj8007bmU4nPzrtjG3TSWc6bWf6h/udZW9cNYpREYGxYpJJrWljEzKt2XO+2wJyUURAEASBXdjL9+0uuzyd8wErC5lJL7wzz+zZc973fd73Oec7365GM8+SbtVuTXDU2xJIQ2cCqZcTSAOWBmqujgRHg3WlcGXLfM6oGWjdr42kLmAk9VgKbBEasUv6cNG8kdQrBlL/yxhyI6n7hZHUYamwVWjEJ+4hSL5x/OhO06J1BgO5/CuVPNFRn2oktQEjuYylgnWwHW1+NzrkCbTLbpzouLnIx0guK2zLNQZHrc1AarFU2N/ykUraKU/grjyJe8okWvwuPOv8YJGvgdRaNHpS02kgl7BUsA21RYnvKx70Brx4EPDiumsAiZSRPvHVO2raNXpyUdaTGiwFUsUravfdigc9s+T9QR8eBv0YCsp4p8cRG+Oo8bMCsFT4Ux8fJX4Q8GEg6MNg0I9HIRkjIUWd2+W8GhOj0ZMLWAok0osQfKPoC3gXEMsYDSkYnwrAPRXE1bFerKRMgZk4jY6cx/+DVLEBv+t1oGlyaFZuH4aCfgyHZDwOKRibUuCaCmAiHIQnHII3HEK77MKbHR+r8RodeQ//C55vvoqzI53oVibVQ8a6/ipif2QKSiSM4HQEoekIPnYPQKMl1fhvsEG4BPNgSwzxjNz+BXLPkHfIbvQGPJBniaemI4hgGnOm0ZKz+E9xouM6eO9j9AU86A96o3IvJHb6RvFW102s4y9EY9n4tz3/UgufbxotOQOGBFqNdfx5dbwQOnIGv++7pXYyn3g45MfjkByV+64ygZPdTTBSptbiPAzJ/AX83d3/pICd0mX8xdWHFv8YbvvH1QPyT88Qrox1wzbUgj/2fYFTw22zcnsxGPRF5Z4jZuP8hwLW8uegJae/Egn0DFr9YzMFHLrdqH5pk8fRIbtwR3bjnjKB+8qk2vGDgGcR8Yzciip3w1gXdjlroSOno9CTU9DTLwE5FfU5fLsR4elpaJK4sxB9j1XiLmUC3coEegKTC/bZFyM3I6beYRxr/wBaNWkVdLQKelIFPa2CgVTCwD4XglSqPsyXxVQ+aoUmjlSh/FGL2nUssXcRMTtkzOc3PZ/BSFknldDRSugpI6yEkVYggVYgkZYjRXgXb3X9FdvFaiSpczPzbJ35spiNYjU0K0gljnd+iN4Ae6wWyj2v63AA1SNt2MhXI55UQksroKMV0NMKGNXE5UiiZVhJy7GKK4PDM6ju8X3FjRS+EqtpqTrPfJgvi9GTClZAhZrw5kT/lxKzQ9Yf8OBYx/uIdzDfCmjVYJakDAlq0lKspnaspXYkc3as5+wYDHqiJ900cAvr+Zk15rOKK0USKVXjNStIORi+f+ejqNyjqtwzXbMCjnVcQxwpRzwph46UQU/LYFSTsGQsqQ3rORs2cVakcFZs4SzIevBptAAlMoWDLWewmbNgI2dFMmfDGmpDErVD8zVSCoYVpBSfTz6MEk+Gg+r1WTXcrK7FkVJoiR06YoeBsyORWrGKs2ItZ8EGzoLNXAm28iXYwRdjp1CM3WIJuuXRaBEXRwTsEIpVn028GcnUgtXUygqwYw5HO65iIhyAJxyM3tv7Wi8hjtgRT23QERsM1IpEasFPu97HuREnDt8+hy28CTv4IjwjFGE3X4g9QgH2CgV4u6sueunWjFDsFgrxNF+EVN6EFM6EdZwZmqeIDfPBDqEcmUIgElaLWUGsiCNWxFMrdNQKI7Vgu1SpvkyY9QZc2CWU4BtCAZ4T87FPzMcBKQ8HxVwcknLwh+46lPTfwGFnobq2WyzATr4QW/libOBMrAAr5qM/6FGTs0uiW3FjhcOKOGqBllig5yxIJGZs5u2qSnNmfvgp9gh52C/m4qCUg8NSNl6VsnCEwZmljtncC2IO9oq52CUUYAdfiBSumBVglp8iFsyBPTZzbyumhJZaEU/M0BEzjLQESZwJazkT8gY+ixbgCwfxRosVB6VsvKySZuINKQPHnBk41pyhjtncYWcWDkjZeE7Iw04uH1kPPglplpOSzuXEDIbN0mn4IqFoYmb7W2sQR83Q0hIYONNsAUXYxpvQF3BF/WwDf8OLEus2E69L6TjuTMcJZxrebJ4ZH3Vm4BUpE9+RsrBXzId9sAn3lfGAZrnDZF1OSsBgGqIx5MwaxjoRR0ugo8UwUhNW0iKs45h8+fhZVx3Cs+/4k13v4SUpA685M/C6Mw3HnWk40TwDNj7qTMcrUgbe7jqPu/KwmvuG646k0Xxh2bSMFMvLiAnXxu8u5Fe3Y9/t84inxdDTIiTSIqzhCrCBL8BWPg8vt9pxpNWOvWI2vitmqkW8KqXhNWcaviel4YgzXR3/pM2Cf7jbonnZ3WAe+fyQ+u9omaPo58tIMaqGpRjyObvh7kY8KYKOK0ICLcQqmo9kPh8pfB62CTl4RsjGswKTNgsHxEy8IGXgRTEdL0npONqci/OPmhCYt7XsgF98LFyK+X+4zFF08gdd154c7QX2w7t/hpYrhIEWIokWYA2Xh/V8LjbzudjO5+BpIRvfFLOwh8/Et8QMfFvMRHpvI0ZCsb+ARkPeadPDpvIY8jlLdNpSr453cvcUV4A9AfNtKORFqlQGLS2AgeYjieZhNZeLZC4Hm/gcbOFzsE3IxteFTPy48wyc3ie/epRICL3KWPC6q118p6fx+fmc/wYNNEiugm3b7wAAAABJRU5ErkJggg==",Dn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAflSURBVFhH7Vd7UFNXGicPwiMSWsiCiCwiLM+UQkEeIYhS5JkQEoJJQCCIdKW7uLCjYot1akFueAZ5BJUBpLxBQKpjrUWrLq517bYznXG1aylV3gjyUJRX8u2cG0IRYXHc7R87s7/JnXPPd07O7zu/833nnKuh8X/8L4FAIBBVBV4usaOfBgG9Epe1/WpAXuClinhZ28u2/wrc4iR5ESfk3Ua2Nh6oTiQSSaikkInkpvdY5259EHjHzcLQDW8jEIhEogaRTCKQl4/zSsB1JpHIhAUSPWNj87jWZth76SIEHD3SgWxkEomCSh9rI58ZeRRAeSwUCF3kyKalSdR+YbgVlFoVL60xkYjPIjjzWOfuthaIrq+d1d9oaq1uPxhgnzZVLIYnRSIQuv5WrLY7bta12xNkFLs4zqssjZpcW1+fbhMYEK+po0NVt9mFBL8f/9lZQI+zcOfHantL4taLz0oioT+HP21nomeDbO62696ePOs+Cbd94FTKZlwVIkFjjQBdCCwShaLFyZbeTuy4BLzCgnuGlpZOyK5Lp2+IrKl6EtfWAvxC2T+RqvraZL27n4QOIgX+9qH/PdTPyZLKmGr3nJq74AnwlRd8Xci4oRp+DQXUs6fS6aaSM00Q29wIqJQ0N4E9OyQJtbH2JVXjKrQ2g749g+myXpcxdlwIs3IxHOM65pkbUTY8afKanj/HBLjkBV1Vzl10GvkN9F8S8RVSVO3Eegd7prC8bGj32TbYVVszl3DhPDAT95Zt8maFRzc1wJ72Vngr4ffFiZ5mcdPySBjJCwcp3yHrnoz58/yZ7aD4zBsG61yHzI0pG9F4miSCJirXXAakEYlExDvr0PTe9P8o7WLC+XbYVfPpXHx7G0ScOtEjOl0xGdNYB+zSE32tB9m3JvP48BDjzg7L2IqxUwEwU+cHj6u9nlqZaFssHVubokrJVZditVRh8PmpkpYmiGmsh9iGWoipq4ao6ipFdHUl3JFFwzAWquzLCoM+aahypDAE7udv7bcw0sJn7s2geX4gMj14Jdu+Y7jZdTDY7Y0AZCcRCXh6L0JNrkMhUdw3G7jYmdBszQyoZgZULQPUc6MjgxUmL/5J0NAI/No6RVB9MySVFykHsVBFnxSRc5W9GFc5ks+BUglDXiCxLuouc++FCyyAqyyADibANz7wl3yHays6oN7DT+5yr5qRo5QKn3mA8Z78kB766PuPOb1Xk1idVw5z/9FR8kdoL/qT8lN5qvK6bI9yGOMAcqBfysWfvizO/OTJYICWQJht2Qaz7SyAyyyAL5kw0rxlJIVvsg/nI74cC7gC3x4Ovg+nYmCyUIRvLKicOC6EySIxTMgEMJ7FgXEpGyawEBhZTi7lKvH3HLaivyBgZrzcD7pLPR5kRJsdcbLStl8kWikG1ArssFvvXxfvdbb9fZ+Oa/v9vvvucFD3/fTQ0YFs/twDLOx5TxZvri87HHqz+dCXxYN+3IFfnj5pmLJfyoOezLD5Hixs/sdPOGMXk3xvlojdKlP8bFOZloaeuBMrxdtKnlEpJB06lWJI0yZT4zzNYx5mcib7ETlOpJq9KgZwB5T9WVzoxbiKcZkApkuEMF6wE1dyqkQMU8WR8LRYBCwrujca+6U4UBvRgxQhL6QjQtJ2q5TuDM5TRP4IYyuHFuRHsqP3ASxU2YuFKQZyONAv8392fKdjcV64c+k3H/rf78vmTU8UCuFpcSSg+HLbZICfmCs6gLBUHocNNLvLKb5fPy8SwlCuACalbLieF6esKDqgHMQ4OHn18WTFD3liGJaG4tI/LgmCewWeP7/rqI/P1IKuuynkLRPOETbjWBzTYs9yjhewtCH5XZv9w7nhisf5EfC4QAi9RwPHTmKJPezaBigqSVOMZwbBQCZHkVhZDAcyku+OZgRO9+eEI2Xmp2t3AHy5DbLizbEXGdaAWpb8iHeKlCd3wUB2uPK5PBK+SPS6uo3lFMmtqBzn1dTCBdlexURmENzFBHNJ9WWwNTX5/H5fqwMzJSLowXizg3mhiqlW5jzc8IZOGeO6qSHFGI1LIRPxO8SqIBFV22VFrEctVEpgMFcwf9DfLg0lrl8mdnt3cwNEVlfB3/NiYCIzSHkzXwL7agogvSJtSmudNvV0jFvDtFwMDzPDZ0dLQ+DZebdZuOoFg02uA5tNtMzR2P/2PFBngpGe1m8OBdp/9I65gSuqeyTEyxPaW0BUXweSrCPfd6Wzx8ayuHA5N2okp/rQzFfn/gBMV9Mg1Pfbw0FdKOh6McHcWOWOebjmCdDJAnfbdS6ofc1TcXk6WrGYEeg6hs6BoMKinwJdLQWjOTwYzxfAMZFTblN5xIORKwLA3rOWof4MU5rDYC5/7lF+BIzmR8CZQ/YNHE993LmVdsAVgachQYNE1iRr7iw7MSRpaYb4tjNAtbHfEuNsIn5eGgXjBQLY+js6qzHD+XPo3A43ZOjiofKd52zKmy4Rwc3UHXdIC5yrpt2qWLghOYuF6eg0dBFFZKB6cZR75bQ8CoZy+XM0CoWaEWd6FP7qBVPntjyzWK9lpv67gwnNXl9Hk4be1feB14auwZvGau2SfK2ToTwGLv/Z9xaqsxz0POC6J3SdfvtHw19uP4uz/Y8/VtS3JPXHCIK7hcEWY5qWkbruZKnLoNPIBqp+qnVAxMvj6bWxlHwplnyWLdZf7PErAUm8lAyl1uuQ/wtXmaOWiiPiDAAAAABJRU5ErkJggg==",Un="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",On="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",Bn="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",Fn="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",Vn="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",Wn="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",Kn="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",qn="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",Qn="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",Zn="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",Yn="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",Gn="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 Jn(t){var e=String(t||"").toLowerCase();return e.includes("dsh")?o("img",{src:Hn,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("workbuddy")?o("img",{src:jn,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:Dn,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:Un}),o("path",{fill:"#ffffff",d:On})):e.includes("codex")?o("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:Bn})):e.includes("cursor")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",fillRule:"evenodd",d:Fn})):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:Vn})):e.includes("trae")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#32F08C",d:Wn})):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:Zn}),o("path",{fill:"#FF4D4D",d:Yn}),o("path",{fill:"#FF4D4D",d:Gn})):e.includes("roo")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#eab308",fillRule:"evenodd",d:Kn})):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:qn}),o("path",{fill:"#ffffff",d:Qn})):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 Mo(t,e){var i=(t||e||"").trim();if(!i)return"GitHub";var l="";try{/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(i)?l=new URL(i).hostname.toLowerCase():/^git@[^:]+:/.test(i)&&(l=i.slice(4).split(":")[0].toLowerCase())}catch{l=""}if(l)return l==="github.com"||l.endsWith(".github.com")?"GitHub":l==="gitee.com"||l.endsWith(".gitee.com")?"Gitee":l==="gitlab.com"||l.endsWith(".gitlab.com")||l.includes("gitlab")?"GitLab":"Git";var p=i.toLowerCase();return p.startsWith("gitee.com/")||p.startsWith("gitee:")?"Gitee":p.startsWith("gitlab.com/")||p.startsWith("gitlab:")?"GitLab":p.startsWith("github.com/")||p.startsWith("github:")||/^[a-z0-9_.-]+\/[a-z0-9_.-]+$/i.test(i)?"GitHub":"Git"}function Xn(t,e){var i=Mo(t,e),l="0 0 16 16",p="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";return i==="Gitee"?(l="0 0 24 24",p="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):i==="GitLab"?(l="0 0 24 24",p="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):i==="Git"&&(l="0 0 24 24",p="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187"),o("span",{className:"dssm-brand-icon","aria-hidden":!0,title:i},o("svg",{viewBox:l,width:16,height:16,fill:"currentColor",focusable:"false"},o("path",{d:p})))}function _n(){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 Ho(t,e,i){t&&e===i&&t.focus()}function _e(t){var e=M.useRef(null),i=M.useRef(t.onClose);i.current=t.onClose;function l(){var p=e.current;if(p){var g=p.querySelector("input, textarea");if(g instanceof HTMLElement){g.focus();return}p.tabIndex=-1,p.focus()}}return M.useLayoutEffect(function(){if(!(typeof document>"u")){var p=e.current;p&&Ho(p,document.activeElement,document.body)}}),M.useEffect(function(){if(typeof document>"u")return;function p(g){g.key==="Escape"&&(g.preventDefault(),g.stopImmediatePropagation(),i.current())}return document.addEventListener("keydown",p,!0),function(){document.removeEventListener("keydown",p,!0)}},[]),o(Ke.Modal,{open:!0,title:t.title,description:t.description,footer:t.footer,onClose:t.onClose,closeLabel:t.closeLabel||"Close",className:["dssm-modal",t.className].filter(Boolean).join(" "),contentClassName:["dssm-modal-content",t.contentClassName].filter(Boolean).join(" ")},t.children?o("div",{ref:e},t.children):void 0)}function jo(t){if(t){for(var e=t.byId||{},i=Array.isArray(t.ids)&&t.ids.length?t.ids:Object.keys(e),l=0;l<i.length;l++){var p=e[i[l]];if(p&&p.retainedBy&&p.retainedBy.mainView)return i[l]}for(var g in e)if(i.indexOf(g)===-1&&e[g]&&e[g].retainedBy&&e[g].retainedBy.mainView)return g}}function Do(t){return typeof t=="function"?t:Wa&&typeof Wa.bind=="function"?Wa.bind(rt):function(e,i){var l=Ka.zh||{},p=l[e]||e;if(!i)return p;var g=i;return p.replace(/\{(\w+)\}/g,function(h,b){return String(g[b]??"{"+b+"}")})}}function qr(t){var e=Do(t&&t.t),i=t&&t.useSessions?t.useSessions(jo):void 0,l=M.useState("user"),p=M.useState({}),g=M.useState({});return o($n,Object.assign({},t,{t:e,key:i||"no-session",sessionId:i,scope:l[0],setScope:l[1],savedFilters:p[0],setSavedFilters:p[1],expanded:g[0],setExpanded:g[1]}))}function $n(t){var e=Do(t&&t.t);function i(a,n){var u=Object.fromEntries(new Headers(n?.headers).entries());return t.sessionId&&(u["x-dsh-skills-session"]=t.sessionId),Va(a,Object.assign({},n,{headers:u}))}var l=M.useState({loading:!0,error:null,data:null}),p=l[0],g=l[1],h=M.useState(!1),b=h[0],v=h[1],N=t.scope,C=t.setScope,z=t.expanded,s=t.setExpanded,A=t.savedFilters,J=t.setSavedFilters,ue=M.useState(null),k=ue[0],I=ue[1],be=M.useState(""),K=be[0],Y=be[1],pe=M.useState({}),q=pe[0],f=pe[1],X=M.useState(null),R=X[0]&&X[0].scope===N?X[0]:null;function L(a){X[1](a?Object.assign({},a,{scope:N}):null)}var ae=M.useState({root:"dsh",name:"",description:"",body:""}),ie=ae[0],Q=ae[1],la=M.useState(""),Ce=la[0],Zt=la[1],At=M.useState(""),oe=At[0],le=At[1],ot=M.useState(sa()),nt=ot[0],ca=ot[1],Pt=M.useState(sa()),st=Pt[0],It=Pt[1],da=M.useState([]),ye=da[0],Tt=da[1],y=M.useState(""),G=y[0],ve=y[1],ht=M.useRef(""),qe=M.useRef(0),qa=M.useState({loading:!1,error:null}),ee=qa[0],ua=qa[1],we=M.useState({}),pa=we[0],bt=we[1],Qa=M.useState(null),ge=Qa[0],it=Qa[1],zt=M.useState(""),Mt=zt[0],ma=zt[1],fa=M.useState(!1),Sr=fa[0],Ht=fa[1],Yt=M.useState(null),Za=Yt[0],He=Yt[1],Ya=M.useState(!1),yt=Ya[0],Qe=Ya[1],ga=M.useState(""),lt=ga[0],ha=ga[1],jt=M.useState(""),Gt=jt[0],vt=jt[1],ba=M.useState(null),Ga=ba[0],$e=ba[1],ya=M.useState(!1),Ne=ya[0],ct=ya[1],Jt=M.useState(null),wt=Jt[0],ke=Jt[1],kt=M.useState(null),Dt=kt[0],Ja=kt[1],Xt=M.useState("idle"),Xa=Xt[0],xt=Xt[1];function va(a){if(typeof navigator>"u"||!navigator.clipboard){xt("failed");return}navigator.clipboard.writeText(a).then(function(){xt("copied"),setTimeout(function(){xt("idle")},1500)}).catch(function(){xt("failed")})}var dt=M.useRef(!1),xe=M.useRef(null),wa=M.useRef(null),_t=M.useRef(null),Ee=M.useRef(!1),Ze=M.useRef({}),Re=M.useRef(0);M.useEffect(function(){return function(){Re.current++}},[]);function je(a){return a||g({loading:!0,error:null,data:p.data}),i("/state").then(function(n){return g({loading:!1,error:null,data:n}),n}).catch(function(n){g({loading:!1,error:se(e,n),data:p.data})})}M.useEffect(function(){je(!1)},[]);function $(a,n,u,S){return dt.current?Promise.reject({error:"operation already in progress"}):(dt.current=!0,v(!0),L(null),i(a,{method:"POST",headers:Lt,body:JSON.stringify(n||{})}).then(function(x){L({ok:!0,text:u?e(u,S||x||{}):e("result.updated")});var E=n&&typeof n.workspace=="string"?n.workspace:"";return Promise.all([je(!0),E?Vt(E):null]).then(function(){return x})}).catch(function(x){throw L({ok:!1,text:e("error.action",{error:se(e,x)})}),x}).finally(function(){dt.current=!1,v(!1)}))}function _a(a,n,u){v(!0),Ja(null),xt("idle"),I("detail"),i("/detail",{method:"POST",headers:Lt,body:JSON.stringify(u?{root:a.key,name:n.name,workspace:u}:{root:a.key,name:n.name})}).then(Ja).catch(function(S){L({ok:!1,text:e("error.action",{error:se(e,S)})}),I(null)}).finally(function(){v(!1)})}function De(a){ma(a.path||""),Ht(!1),He(null),I({type:"root-path",root:a.key,label:Xe(e,a),path:a.path||"",defaultPath:a.defaultPath})}function ka(){var a=xo();if(!a){He(e("rootPath.pickUnavailable"));return}He(null),Ht(!0),Promise.resolve().then(a).then(function(n){typeof n=="string"&&n.trim()&&ma(n.trim())}).catch(function(n){He(se(e,n))}).finally(function(){Ht(!1)})}function Ue(a){var n=k&&typeof k=="object"&&k.type==="root-path"?k:null;n&&(He(null),$("/root-path",{key:n.root,path:a},a===null?"rootPath.resetDone":"rootPath.saved",{name:n.label}).then(function(){I(null)}).catch(function(u){He(se(e,u))}))}function W(){Qe(!0),ke(null),$e(null)}function St(){var a=xo();if(!a){ke(e("rootPath.pickUnavailable"));return}ke(null),ct(!0),Promise.resolve().then(a).then(function(n){typeof n=="string"&&n.trim()&&ha(n.trim())}).catch(function(n){ke(se(e,n))}).finally(function(){ct(!1)})}function Cr(){var a=(lt||"").trim();a&&(ct(!0),ke(null),i("/custom-source-scan",{method:"POST",headers:Lt,body:JSON.stringify({path:a})}).then(function(n){$e(n)}).catch(function(n){$e(null),ke(se(e,n))}).finally(function(){ct(!1)}))}function $a(a){var n=a.filter(function(u){return u&&u.path});!n.length||Ne||(ct(!0),ke(null),L(null),i("/custom-source-add",{method:"POST",headers:Lt,body:JSON.stringify({sources:n})}).then(function(u){var S=u&&Array.isArray(u.added)?u.added.length:n.length;return je(!0).then(function(){L({ok:!0,text:e("customSource.added",{count:S})}),$e(null),ha(""),vt(""),Qe(!1)})}).catch(function(u){ke(se(e,u))}).finally(function(){ct(!1)}))}function Ye(a){if(!b){var n=Mt;$("/custom-source-remove",{id:a},"customSource.removed").then(function(){return i("/state").then(function(u){g({loading:!1,error:null,data:u});var S=(u&&Array.isArray(u.roots)?u.roots:[]).filter(function(E){return!E.mutable&&E.scope!=="project"&&E.key!==a}),x=S.find(function(E){return E.custom})||S[0];x?De(x):I(null),n&&$e(function(E){return E?Object.assign({},E,{candidates:E.candidates.map(function(j){return j.path===n?Object.assign({},j,{registered:!1}):j})}):null})})}).catch(function(u){He(se(e,u))})}}function xa(a,n){Q(Object.assign({},ie,{[a]:n}))}function er(){Kt(nt,ye,mt)&&$("/create",Object.assign({},ie,{root:void 0},gr(nt)),null).then(function(a){I(null),Q({root:"dsh",name:"",description:"",body:""}),L({ok:!0,text:e("result.created",{name:a.name})+(nt.scope==="workspace"?" \xB7 "+e("dest.createdInWorkspace"):"")})}).catch(function(){})}function Sa(a){Ee.current=!1;var n=To(a);if(n){if(n.error){it(null),L({ok:!1,text:se(e,n.error)});return}it(n),L(null)}}function Ca(a){if(b||Ee.current||!a.current)return;Ee.current=!0,a.current.value="";function n(){setTimeout(function(){Ee.current=!1},0)}window.addEventListener("focus",n,{once:!0}),a.current.click(),setTimeout(function(){Ee.current=!1},3e4)}function Ut(){!ge||!Kt(st,ye,mt)||An(ge).then(function(a){return $("/upload",Object.assign({},a,gr(st)),null)}).then(function(a){var n=Lo(e,a);L({ok:n.ok,warning:n.warning,text:n.text}),n.imported&&(I(null),it(null))}).catch(function(){})}var ut=p.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},Ot=ut.roots||[],Ct=Ot.filter(function(a){return!a.mutable&&a.scope!=="project"});function Na(){if(Ct.length){var a=Le&&Ct.find(function(n){return n.key===Le})||Ct[0];De(a)}}var pt=N==="project"?"project":"user",O=A[pt]||{query:"",source:"",status:""},te=O.query,Bt=O.source;function et(a,n){J(function(u){return Object.assign({},u,{[pt]:Object.assign({},O,{[a]:n})})})}function tr(a){et("query",a)}function Ra(a){et("source",a)}var Ft=pa[G],La=N==="trash"?[]:N==="project"?Gr(Ft?.roots||[]):Io(Ot),$t=La.filter(function(a){return(a.skills||[]).length>0}),Le=N!=="project"&&$t.some(function(a){return a.key===Bt})?Bt:"";function Ge(a){return a.registeredPaths[0]||""}function Nr(a){ye.some(function(n){return n.available&&Ge(n)===a})&&(ht.current=a,ve(a),pa[a]||Vt(a))}function ea(a=N==="project",n=!1){var u=Re.current,S=++qe.current,x=function(){return u===Re.current&&S===qe.current};return ua({loading:!0,error:null}),Va("/workspaces").then(function(E){if(!x())return[];var j=E.items||[];Tt(j),ua({loading:!1,error:null});var Z=j.find(function(U){return U.available&&Ge(U)===ht.current})||j.find(function(U){return U.available&&Ge(U)}),V=Z?Ge(Z):"";return ht.current=V,ve(V),a&&V&&(n||!pa[V])&&Vt(V),j}).catch(function(E){return x()?(Tt([]),ht.current="",ve(""),ua({loading:!1,error:se(e,E)}),[]):[]})}function Vt(a){var n=Re.current,u=(Ze.current[a]||0)+1;Ze.current[a]=u;var S=function(){return n===Re.current&&u===Ze.current[a]};return bt(function(x){return Object.assign({},x,{[a]:{loading:!0,error:null,roots:x[a]?x[a].roots:[]}})}),Va("/workspace-skills",{method:"POST",headers:Lt,body:JSON.stringify({workspace:a})}).then(function(x){S()&&bt(function(E){return Object.assign({},E,{[a]:{loading:!1,error:null,roots:x.roots||[]}})})}).catch(function(x){S()&&bt(function(E){return Object.assign({},E,{[a]:{loading:!1,error:se(e,x),roots:[]}})})})}function ta(){return Re.current++,bt({}),ea(!0,!0)}function Rr(){Q(Object.assign({},ie,{root:"dsh"})),ca(sa()),I("create"),ea()}function ar(){L(null),it(null),It(sa()),I("import"),ea()}var mt=(ut.writeDestinations||[]).filter(function(a){return a.key==="dsh"||a.key==="agents"});function Lr(a){var n=a.root&&a.root.scope==="project"?a.root.projectRoot:"",u=n?ye.find(function(S){return S.projectRoot===n&&S.available}):void 0;return u?{id:a.id,workspace:u.registeredPaths[0]||u.path}:{id:a.id}}function me(a){return a.root&&a.root.scope==="project"?e("root.projectDsh")+" \xB7 "+(a.root.projectName||a.root.projectRoot):Zr(e,"root."+(a.root?.localeKey||a.root?.key||"dsh"),a.root?.label||e("root.dsh"))}function Ea(a){return o("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},Jn(a))}var Ie=[{value:"",label:e("filter.all")}].concat($t.map(function(a){return{value:a.key,label:e("filter.option",{name:Xe(e,a),count:a.skills.length})}}));function Er(a){return a.linked!==!0?null:o("div",{className:"dssm-note"},e("skill.linked"))}function rr(a){if(!a.fallbackTo)return null;var n=Ot.find(function(u){return u.key===a.fallbackTo.root});return n?o("div",{className:"dssm-note dssm-fallback"},e("status.fallback."+a.fallbackTo.scope,{source:Xe(e,n)})):null}function Ar(a,n,u){var S=a==="status.enabled",x=a==="status.disabled",E=a==="status.invalid",j=S?"var(--dsw-alias-state-success-primary, #51b976)":x?"var(--dsw-alias-state-warn-primary, #d49245)":E?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",Z=S?"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":x?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":E?"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",V=n||e(a);return o("span",{className:"dssm-status "+(u||""),title:V,"aria-label":V,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:j,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:Z})))}function Aa(a,n,u){var S=function(B){return u?Object.assign({},B,{workspace:u}):B},x=kr(n),E=a.toggleable!==!1,j=n.shadowedBy?"status.shadowed":n.loadable===!1?"status.invalid":x?"status.enabled":"status.disabled",Z=n.shadowedBy?"dssm-shadowed":x?"dssm-enabled":"dssm-disabled",V=!E||!!n.shadowedBy||n.loadable===!1,U=[{value:"detail",label:e("btn.detail")}],de=O.group==="repo"?[]:a.categories||[],ze=n.categoryId||"";de.forEach(function(B){B.id!==ze&&U.push({value:"category:"+B.id,label:e("category.assign",{name:B.name})})}),de.length&&ze!==""&&U.push({value:"category:",label:e("category.assign",{name:e("category.uncategorized")})}),n.installSource&&n.linked!==!0&&U.push({value:"update",label:e("repo.manageUpdate")}),U.push({value:"note",label:e("skill.editNote")}),a.mutable&&n.linked!==!0&&U.push({value:"trash",label:e("btn.trash"),danger:!0});var D=n.shadowedBy?e("status.shadowedBy",{source:function(){var B=Ot.find(function(fe){return fe.key===n.shadowedBy.root});return B?Xe(e,B):n.shadowedBy.root}()}):void 0,re=[o(Et,{action:!0,icon:Mn(),label:e("btn.more"),disabled:b,options:U,onChange:function(B){if(B==="detail"&&_a(a,n,u),B.indexOf("category:")===0){var fe=B.slice(9),Da=de.find(function(Bo){return Bo.id===fe});$("/category-assign",S({root:a.key,name:n.name,category:fe}),"category.assigned",{name:n.name,category:Da?Da.name:e("category.uncategorized")})}B==="update"&&(ur.focusSource(n.installSource,n.name),C("repositories")),B==="note"&&(le(n.customNote||""),I({type:"skill-note",root:a.key,name:n.name,note:n.customNote||"",workspace:u})),B==="trash"&&I({type:"trash-confirm",root:a.key,name:n.name,workspace:u})}})];re.push(o("div",{className:"dssm-row-state"},V?Ar(j,D,Z):null,E?Qr(x,e("skill.toggle")+" "+n.name,b||a.enabled===!1||!x&&n.loadable===!1,function(){$(x?"/disable":"/enable",S({root:a.key,name:n.name}))}):null));var at=n.declaredName||n.name,he=typeof n.customNote=="string"&&n.customNote.trim().length>0,Me=he?n.customNote:n.description||e("note.missing"),Be=O.group!=="repo"&&(a.mutable===!0||!!(a.categories&&a.categories.length)),Oo=he?n.description?`${n.customNote}
63
- (${e("detail.description")}: ${n.description})`:n.customNote:n.description||void 0;return o("div",{key:a.key+":"+n.name,className:"dssm-skill-row",draggable:Be,onDragStart:O.group==="repo"?void 0:function(B){if(Be){var fe={root:a.key,name:n.name,currentCategoryId:n.categoryId||""};xe.current=fe,B.dataTransfer.setData("text/plain",JSON.stringify(fe)),B.dataTransfer.effectAllowed="move",B.currentTarget.classList.add("dragging")}},onDragEnd:O.group==="repo"?void 0:function(B){xe.current=null,B.currentTarget.classList.remove("dragging"),Ia(B.currentTarget)},onDragOver:O.group==="repo"?void 0:function(B){if(!(!xe.current||xe.current.root!==a.key||xe.current.name===n.name)){B.preventDefault(),B.stopPropagation();var fe=B.currentTarget.getBoundingClientRect();B.currentTarget.classList.toggle("drop-before",B.clientY<fe.top+fe.height/2),B.currentTarget.classList.toggle("drop-after",B.clientY>=fe.top+fe.height/2)}},onDragLeave:O.group==="repo"?void 0:function(B){B.currentTarget.classList.remove("drop-before","drop-after")},onDrop:O.group==="repo"?void 0:function(B){B.preventDefault(),B.stopPropagation(),B.currentTarget.classList.remove("drop-before","drop-after");var fe=xe.current;if(xe.current=null,Ia(B.currentTarget),!(!fe||fe.root!==a.key||fe.name===n.name)){var Da=B.currentTarget.getBoundingClientRect();$("/category-move",S({root:a.key,name:fe.name,category:n.categoryId||"",targetName:n.name,position:B.clientY<Da.top+Da.height/2?"before":"after"}),"category.moved",{name:fe.name})}}},Be?o("div",{className:"dssm-drag-handle",title:e("category.dragTip")},"\u22EE\u22EE"):null,o("div",{className:"dssm-skill-copy"},o("div",{className:"dssm-name"},at),o("div",{className:"dssm-skill-desc"+(he?" dssm-custom-note":""),title:Oo},Me),Er(n),rr(n)),o("div",{className:"dssm-skill-actions"},re))}var aa=La.flatMap(function(a){return(a.skills||[]).map(function(n){return{root:a,skill:n}})}),or=aa.filter(function(a){return(!Le||a.root.key===Le)&&(!O.status||Jr(a.skill)===O.status)&&Yr(Object.assign({},a.skill,{rootLabel:Xe(e,a.root)}),te)}),Oe=Ao(aa);function Pa(a,n,u){var S=n?{root:a.key,workspace:n}:{root:a.key},x=[];return O.group!=="repo"&&x.push(Qt(e("category.create"),We("M8 2.5v11M2.5 8h11"),function(){Zt(""),I({type:"category-create",root:a.key,workspace:n})},!1,b)),!n&&a.mutable!==!0&&x.push(Qt(e("rootPath.edit"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),function(){De(a)},!1,b)),Po(a)&&x.push(o(zn,{on:a.enabled,disabled:b,label:e("source.toggle")+" "+u,onClick:function(){$(a.enabled?"/source-disable":"/source-enable",S)}})),o("span",{className:"dssm-source-actions",onClick:function(E){E.stopPropagation()}},x)}function nr(){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 sr(){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 Ia(a){var n=a.closest(".dssm-section");n&&Array.prototype.forEach.call(n.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(u){u.classList.remove("drag-over","drop-before","drop-after")})}function ir(a,n,u,S,x){var E=JSON.stringify(["category",S||"",a.key,n.id||"none"]),j=z[E]===void 0?!!(te||O.status):z[E],Z=n.scope||n.skills,V=Z.filter(function(D){return D.skill.loadable!==!1}),U=V.filter(function(D){return kr(D.skill)}).length,de=V.length>0&&U===V.length,ze=function(D){return u?Object.assign({},D,{workspace:u}):D};return o("section",{key:a.key+":"+(n.id||"none"),className:"dssm-cat","aria-label":n.name,onDragOver:function(D){D.preventDefault(),xe.current&&xe.current.root===a.key&&xe.current.currentCategoryId!==n.id?D.currentTarget.classList.add("drag-over"):D.currentTarget.classList.remove("drag-over")},onDragLeave:function(D){var re=D.relatedTarget;re&&D.currentTarget.contains(re)||D.currentTarget.classList.remove("drag-over")},onDrop:function(D){D.preventDefault(),xe.current=null,D.currentTarget.classList.remove("drag-over"),Ia(D.currentTarget);try{var re=JSON.parse(D.dataTransfer.getData("text/plain")||"{}");re&&re.name&&re.root===a.key&&re.currentCategoryId!==n.id&&$("/category-assign",ze({root:a.key,name:re.name,category:n.id}),"category.assigned",{name:re.name,category:n.name})}catch{}}},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":j,onClick:function(){s(function(D){var re={};return re[E]=!j,Object.assign({},D,re)})}},o("span",{className:"dssm-cat-title"},o(j?sr:nr),n.name),o("span",{className:"dssm-count"},e("category.progress",{count:Z.length,enabled:U,usable:V.length}))),o("span",{className:"dssm-source-actions",onClick:function(D){D.stopPropagation()}},n.locked?null:Qt(e("category.addSkills"),We("M8 2.5v11M2.5 8h11"),function(){var D={};(a.categories||[]).forEach(function(he){D[he.id]=he.name});var re=x||n.scope||n.skills,at=re.filter(function(he){return he.skill.categoryId!==n.id}).map(function(he){return{name:he.skill.name,declaredName:he.skill.declaredName,description:he.skill.description,currentCatName:he.skill.categoryId&&D[he.skill.categoryId]||e("category.uncategorized")}});f({}),Y(""),I({type:"category-add",root:a.key,id:n.id,name:n.name,workspace:u,skills:at})},!1,b),n.locked?null:Qt(e("category.rename"),We("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){Zt(n.name),I({type:"category-rename",root:a.key,id:n.id,name:n.name,workspace:u})},!1,b),n.locked?null:Qt(e("category.delete"),We("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){I({type:"category-delete",root:a.key,id:n.id,name:n.name,workspace:u})},!0,b),Qr(de,e("category.toggle")+" "+n.name,b||a.enabled===!1||V.length===0,function(){$(de?"/category-disable":"/category-enable",ze({root:a.key,category:n.id}))}))),j?n.skills.length?o("div",{className:"dssm-skill-list"},n.skills.map(function(D){return Aa(a,D.skill,u)})):o("div",{className:"dssm-empty"},e("category.empty")):null)}function Pr(a,n,u,S,x){var E=a.categories||[],j=function(D,re){var at=a.categoryOrder&&a.categoryOrder[re]||[],he=Object.create(null);return at.forEach(function(Me,Be){he[Me]=Be}),D.map(function(Me,Be){return{row:Me,index:Be,rank:he[Me.skill.name]}}).sort(function(Me,Be){return Me.rank!==void 0&&Be.rank!==void 0?Me.rank-Be.rank:Me.rank!==void 0?-1:Be.rank!==void 0?1:Me.index-Be.index}).map(function(Me){return Me.row})};if(!E.length)return n.length?o("div",{className:"dssm-skill-list"},j(n,"").map(function(D){return Aa(a,D.skill,u)})):o("div",{className:"dssm-empty"},e("empty.source"));var Z={},V=x||n;E.forEach(function(D){Z[D.id]=!0});var U=function(D,re){return j(D.filter(function(at){return re?at.skill.categoryId===re:!at.skill.categoryId||!Z[at.skill.categoryId]}),re)},de=E.map(function(D){return{id:D.id,name:D.name,locked:!1,skills:U(n,D.id),scope:U(V,D.id)}});de.push({id:"",name:e("category.uncategorized"),locked:!0,skills:U(n,""),scope:U(V,"")});var ze=!!(te||O.status);return o("div",null,o("p",{className:"dssm-note dssm-cat-note"},e("category.note")),de.filter(function(D){return!ze||D.skills.length}).map(function(D){return ir(a,D,u,S,V)}))}function Ir(a,n,u,S){var x=(u||aa).filter(function(U){return U.root.key===a.key}),E=(u||or).filter(function(U){return U.root.key===a.key});if(Le&&a.key!==Le||(te||O.status)&&!E.length)return null;var j=JSON.stringify([pt,S||"",a.key,te,Le,O.status]),Z=z[j]===void 0?n?!0:!!(te||Le||O.status):z[j],V=n?Xe(e,Object.assign({},a,{projectName:void 0})):Xe(e,a);return o("section",{key:(S||"")+a.key,className:"dssm-source","data-source-key":a.key},o("div",{className:"dssm-source-head"},o("button",{type:"button",className:"dssm-source-toggle","aria-expanded":Z,onClick:function(){s(function(U){var de={};return de[j]=!Z,Object.assign({},U,de)})}},Ba(o,Z),o("div",{className:"dssm-source-label"},Ea(a.key),o("span",{className:"dssm-source-title"},V),o("span",{className:"dssm-count"},e(Rt("summary.group",E.length),{count:E.length})),a.overridden?o("span",{className:"dssm-source-custom"},e("rootPath.custom")):null,o("span",{className:"dssm-source-path",title:a.overridden?e("rootPath.overrideTitle",{path:a.defaultPath||""}):a.path},a.path))),Pa(a,n,V)),Z?o("div",{className:"dssm-source-body",role:"region"},Pr(a,E,n,S,x)):null)}function lr(a){return a.skill.provenance||null}function Tr(a){if(!a)return null;try{var n=new URL(a);return(n.protocol==="https:"||n.protocol==="http:")&&n.hostname?n.href:null}catch{return null}}function zr(){var a=Object.create(null),n=[];return or.forEach(function(u){var S=a[u.root.key];S||(S={key:u.root.key,root:u.root,rows:[],repos:[],hasEvidence:!1},a[u.root.key]=S,n.push(u.root.key)),S.rows.push(u);for(var x=lr(u),E=x&&x.repo?x.repo:null,j=x&&x.identity,Z=j||E,V=Z?"repo:"+Z:"none",U=null,de=0;de<S.repos.length;de++)if(S.repos[de].key===V){U=S.repos[de];break}if(U||(U={key:V,kind:Z&&x?x.kind:"root",repo:E||j||null,url:Tr(x&&x.url),fallback:!Z,rows:[],categories:[]},S.repos.push(U)),U.rows.push(u),Z&&x){var ze=x.category||"";U.categories.indexOf(ze)<0&&U.categories.push(ze),S.hasEvidence=!0}}),n.map(function(u){var S=a[u];return S.repos.sort(function(x,E){return x.fallback!==E.fallback?x.fallback?1:-1:String(x.repo||"").localeCompare(String(E.repo||""))}),S})}function Mr(a){return a||e("group.repoRoot")}function Ta(a,n){return o("div",{className:"dssm-skill-list"},a.map(function(u){return Aa(u.root,u.skill,n)}))}function ft(){return!!(te||Le||O.status)}function Te(a,n,u,S,x){var E=JSON.stringify(["provcat",pt,x||"",a.key,n.key,u,te,Le,O.status]),j=z[E]===void 0?ft():z[E];return o("section",{className:"dssm-cat dssm-prov-cat",key:E},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":j,onClick:function(){s(function(Z){var V={};return V[E]=!j,Object.assign({},Z,V)})}},Ba(o,j),o("span",{className:"dssm-cat-title"},Mr(u)),o("span",{className:"dssm-count"},e(Rt("summary.group",S.length),{count:S.length})))),j?Ta(S,x):null)}function cr(a,n,u){var S=JSON.stringify(["provrepo",pt,u||"",a.key,n.key,te,Le,O.status]),x=z[S]===void 0?ft():z[S],E=n.repo||e("group.unknownSource"),j=n.categories.slice().sort(function(V,U){return V?U?V.localeCompare(U):-1:1}),Z=null;return x&&(!j.length||j.length===1&&!j[0]?Z=Ta(n.rows,u):Z=j.map(function(V){var U=n.rows.filter(function(de){var ze=lr(de);return(ze&&ze.category||"")===V});return U.length?Te(a,n,V,U,u):null})),o("section",{className:"dssm-cat dssm-prov-repo",key:n.key},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":x,onClick:function(){s(function(V){var U={};return U[S]=!x,Object.assign({},V,U)})}},Ba(o,x),n.repo?Xn(n.url,n.repo):null,o("span",{className:"dssm-cat-title"},E),o("span",{className:"dssm-count"},e(Rt("summary.group",n.rows.length),{count:n.rows.length})),o("span",{className:"dssm-prov-badge",title:e("group.hint")},e("group.evidence."+n.kind))),n.url?o("span",{className:"dssm-source-actions"},o("a",{className:"dssm-icon-action dssm-prov-repo-link",href:n.url,target:"_blank",rel:"noopener noreferrer","aria-label":e("group.openRepo",{repo:n.repo||""}),title:e("group.openRepo",{repo:n.repo||""}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}},We("M12 9.5V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3.5m4-1h3.5m0 0v3.5m0-3.5L7 10"))):null),Z)}function dr(a,n){var u=JSON.stringify(["provroot",pt,n||"",a.key,te,Le,O.status]),S=z[u]===void 0?!!(n||ft()):z[u],x=n?Xe(e,Object.assign({},a.root,{projectName:void 0})):Xe(e,a.root),E=null;return S&&(E=o("div",{className:"dssm-source-body",role:"region"},a.hasEvidence?a.repos.map(function(j){return cr(a,j,n)}):Ta(a.rows,n))),o("section",{key:a.key,className:"dssm-source","data-source-key":a.key},o("div",{className:"dssm-source-head"},o("button",{type:"button",className:"dssm-source-toggle","aria-expanded":S,onClick:function(){s(function(j){var Z={};return Z[u]=!S,Object.assign({},j,Z)})}},Ba(o,S),o("div",{className:"dssm-source-label"},Ea(a.root.key),o("span",{className:"dssm-source-title"},x),o("span",{className:"dssm-count"},e(Rt("summary.group",a.rows.length),{count:a.rows.length})),a.hasEvidence?null:o("span",{className:"dssm-prov-badge",title:e("group.noRepo")},e("group.unknownSource")),o("span",{className:"dssm-source-path",title:a.root.path},a.root.path))),Pa(a.root,n,x)),E)}function za(a){var n=zr();if(!n.length)return o("div",{className:"dssm-empty"},te||O.status?e("empty.search"):e("empty.source"));var u=Object.create(null);n.forEach(function(E){E.repos.forEach(function(j){j.fallback||(u[j.key]=!0)})});var S=Object.keys(u).length,x=0;return n.forEach(function(E){E.repos.forEach(function(j){j.fallback&&(x+=j.rows.length)})}),o("div",{className:"dssm-sources dssm-provenance"},o("p",{className:"dssm-note dssm-prov-note"},o("strong",null,e("group.provenanceCount",{repos:S,unknown:x}))," ",e("group.hint")),n.map(function(E){return dr(E,a)}))}function Ma(){var a=N==="project",n=a?G:void 0,u;if(O.group==="repo")u=za(n);else{var S=La.map(function(x){return Ir(x,n,void 0,n?n+"|":void 0)}).filter(Boolean);u=S.length?S:o("div",{className:"dssm-empty"},te||O.status?e("empty.search"):e("empty.source"))}return a&&(ee.error?u=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.listFailed",{error:ee.error})):ee.loading||G&&(!Ft||Ft.loading)?u=o("div",{className:"dssm-empty"},e("workspace.loading")):G?Ft?.error?u=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.loadFailed",{error:Ft.error})):!aa.length&&!te&&!O.status&&(u=o("div",{className:"dssm-empty"},e("workspace.noSkills"))):u=o("div",{className:"dssm-empty"},e(ye.length?"workspace.unavailable":"project.empty"))),o("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+N,className:"dssm-sources"},u)}function Hr(){return o("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},ut.trash.length?ut.trash.map(function(a){return o("div",{key:a.id,className:"dssm-trash-item",role:"group","aria-label":a.name},o("div",{className:"dssm-trash-main"},o("div",{className:"dssm-name"},a.name),o("div",{className:"dssm-trash-meta"},o("time",{dateTime:a.deletedAt},e("trash.deletedAt",{time:Ro(e,a.deletedAt)})),o("span",{className:"dssm-trash-source"},e("trash.source",{source:me(a)})))),o("div",{className:"dssm-trash-actions"},Qt(e("btn.restore"),We("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){$("/trash-restore",Lr(a),"result.restored",{name:a.name}).catch(function(){})},!1,b),Qt(e("btn.delete.forever"),We("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){I({type:"delete-confirm",id:a.id,name:a.name})},!0,b)))}):o("div",{className:"dssm-empty"},e("trash.empty")))}var ur=Nn({active:N==="repositories",t:e,onInstalled:function(){return Promise.all([je(!1),ta()])}});function jr(a){var n=a==="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":a==="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":a==="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","aria-hidden":!0},o("path",{d:n}))}var pr=["user","project","repositories","trash"].map(function(a){var n=e("scope."+a),u=a==="trash"?(ut.trash||[]).length:0,S=jr(a);return{value:a,id:"dssm-tab-"+a,panelId:"dssm-scope-panel",label:u>0?[S,n,o("span",{className:"dssm-trash-count"},u)]:[S,n]}}),mr=o(Ke.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:e("scope.label"),value:N,onChange:function(a){C(a),(a==="project"||a==="trash")&&ea(a==="project"),a==="trash"&&je(!0)},items:pr}),Ha=[N==="project"?null:o("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(a){return o("div",{key:a[1],className:"dssm-stat"},o("strong",null,Oe[a[0]]),e(Rt(a[1],Oe[a[0]]),{count:Oe[a[0]]}).replace(String(Oe[a[0]]),""))})),o("div",{key:"filters",className:"dssm-filters"},N==="project"?null:o("div",{className:"dssm-source-filter"},o(Et,{value:Le,label:e("filter.source"),options:Ie,onChange:Ra})),o("div",{className:"dssm-group-filter"},o(Et,{value:O.group||"",label:e("group.label"),options:[{value:"",label:e("group.bySource")},{value:"repo",label:e("group.byRepo")}],onChange:function(a){et("group",a)}})),o("div",{className:"dssm-status-filter"},o(Et,{value:O.status,label:e("filter.status"),options:[{value:"",label:e("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(a){return{value:a,label:e("status."+a)}})),onChange:function(a){et("status",a)}})),N==="project"?o("div",{className:"dssm-project-filter"},o(Et,{value:G,label:e("filter.workspace"),disabled:ee.loading||!ye.length,options:ye.map(function(a){return{value:Ge(a),label:a.name+(a.available?"":" \xB7 "+(a.errorCode==="ENOENT"||a.errorCode==="ENOTDIR"?e("workspace.missing"):a.errorCode==="EACCES"||a.errorCode==="EPERM"?e("workspace.unreadable"):e("workspace.unavailable")))+(ye.filter(function(n){return n.name===a.name}).length>1?" \xB7 "+Ge(a):""),disabled:!a.available||!Ge(a)}}),onChange:Nr})):null,o(Fe,{className:"dssm-search",allowClear:!0,value:te,"aria-label":e("search"),placeholder:e("search.placeholder"),onChange:function(a){tr(a.target.value)}}),N!=="trash"?o("div",{className:"dssm-filter-actions"},vr(e("btn.refresh"),We("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(){je(!1),N==="project"&&ta()},b||p.loading),vr(e("btn.create"),We("M8 2.5v11M2.5 8h11"),Rr,b,e("btn.create")+"\u2026"),vr(e("import.global"),We("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),ar,b),N==="user"?vr(e("rootPath.manage"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),Na,b,e("rootPath.manage")+"\u2026"):null):null)],Ae=[o("style",{key:"css"},Rn),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(Ke.Button,{variant:"outline",size:"sm","aria-label":e("link.project"),icon:o(_n),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},e("link.project")),o(Ke.Button,{variant:"outline",size:"sm","aria-label":e("link.feedback"),icon:o(wn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},e("link.feedback")))),o("p",{className:"dssm-desc"},e("desc")))),mr].concat(N==="trash"||N==="repositories"?[]:Ha,[R&&k!=="import"?o("div",{key:"result",className:"dssm-feedback"+(R.warning?" dssm-warning":R.ok?"":" dssm-error")},R.text):null],(ut.warnings||[]).map(function(a,n){return o("div",{key:"warning-"+n,className:"dssm-feedback dssm-warning",role:"alert"},se(e,a))}),[p.error?o("div",{key:"error",className:"dssm-feedback dssm-error"},p.error):null,N==="repositories"?ur.content:p.loading&&!p.data?o("div",{key:"loading",className:"dssm-empty"},e("loading")):N==="trash"?Hr():Ma()]);if(k==="create"&&Ae.push(o(_e,{key:"create",title:e("create.title"),closeLabel:e("btn.close"),onClose:function(){I(null)}},o("div",{className:"dssm-form"},o(yo,{t:e,value:nt,disabled:b,allowAgents:!0,workspaces:ye,userDestinations:mt,onChange:function(a){ca(Object.assign({},nt,a))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(a){return o("label",{key:a[0],className:"dssm-field"},o("span",{className:"dssm-label"},e(a[1])),o(Fe,{value:ie[a[0]],placeholder:e(a[2]),onChange:function(n){xa(a[0],n.target.value)}}))}),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("create.body")),o(Fe.TextArea,{rows:8,value:ie.body,placeholder:e("create.body.placeholder"),onChange:function(a){xa("body",a.target.value)}})),o("p",{className:"dssm-help"},e("create.chat.note"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){I(null)},"outline"),_(e("btn.create.now"),er,"primary",b||!ie.name.trim()||!ie.description.trim()||!ie.body.trim()||!Kt(nt,ye,mt))))),k==="import"&&Ae.push(o(_e,{key:"import",className:"dssm-modal-import",title:e("import.title"),closeLabel:e("btn.close"),onClose:function(){Ee.current=!1,it(null),L(null),I(null)}},o("input",{ref:wa,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(a){Sa(a.target.files),a.target.value=""}}),o("input",{ref:_t,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(a){Sa(a.target.files),a.target.value=""}}),o("div",{className:"dssm-dropzone",onDragOver:function(a){a.preventDefault(),a.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(a){a.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(a){a.preventDefault(),a.currentTarget.classList.remove("dssm-dropzone-active"),Pn(a.dataTransfer).then(Sa).catch(function(n){L({ok:!1,text:se(e,n)})})}},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:b,onClick:function(a){a.stopPropagation(),Ca(_t)}},e("btn.folder.pick")),o("span",{className:"dssm-upload-divider"},"/"),o("button",{type:"button",className:"dssm-upload-link",disabled:b,onClick:function(a){a.stopPropagation(),Ca(wa)}},e("btn.file.pick")))),ge?o("div",{className:"dssm-file",title:ge.name},o("span",{className:"dssm-file-kind","aria-hidden":"true"},ge.kind==="zip"?"ZIP":ge.kind==="folder"?"DIR":"MD"),o("span",{className:"dssm-file-name"},ge.name),o("span",{className:"dssm-file-meta"},e(Rt("upload.selected",ge.count),{count:ge.count,size:ge.size<1024?ge.size+" B":Math.ceil(ge.size/1024)+" KB"})),o("button",{type:"button",className:"dssm-file-remove","aria-label":e("upload.remove"),onClick:function(){it(null)}},"\xD7")):null,o(yo,{t:e,value:st,disabled:b,allowAgents:!0,workspaces:ye,userDestinations:mt,onChange:function(a){It(Object.assign({},st,a))}}),R?o("div",{className:"dssm-feedback"+(R.warning?" dssm-warning":R.ok?"":" dssm-error"),role:"alert"},R.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"},_(e("btn.cancel"),function(){Ee.current=!1,it(null),L(null),I(null)},"outline"),_(e(b?"upload.importing":"btn.import.now"),Ut,"primary",b||!ge||!Kt(st,ye,mt))))),k&&typeof k=="object"&&k.type==="root-path"){var tt=k,gt=Ga;Ae.push(o(_e,{key:"root-path",title:e("rootPath.title",{name:tt.label}),closeLabel:e("btn.close"),onClose:function(){I(null),He(null)}},o("div",{className:"dssm-form"},o("p",{className:"dssm-note"},e("rootPath.desc")),Ct.length>0?o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.source")),o(Et,{value:tt.root,label:e("rootPath.source"),disabled:b,options:Ct.map(function(a){return{value:a.key,label:Xe(e,a)}}),onChange:function(a){var n=Ct.find(function(u){return u.key===a});n&&De(n)}})):null,o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.label")),o(Fe,{value:Mt,placeholder:e("rootPath.placeholder"),disabled:b,onChange:function(a){ma(a.target.value),He(null)}})),o("div",{className:"dssm-root-path-actions"},_(e("rootPath.browse"),ka,"outline",b||Sr),tt.defaultPath?_(e("rootPath.reset"),function(){Ue(null)},"outline",b):null,tt.root.indexOf("custom:")===0?_(e("customSource.remove"),function(){Ye(tt.root)},"outline",b):null),o("p",{className:"dssm-help"},e("rootPath.defaultHint",{path:tt.defaultPath||tt.path})),Za?o("div",{className:"dssm-feedback dssm-error",role:"alert"},Za):null,o("div",{className:"dssm-custom-sources"},o("div",{className:"dssm-custom-source-head"},o("span",{className:"dssm-label"},e("customSource.title")),_(e(yt?"btn.cancel":"customSource.add"),function(){yt?(Qe(!1),$e(null),ke(null)):W()},"outline",b||Ne)),o("p",{className:"dssm-help"},e("customSource.desc")),yt?o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("customSource.label")),o(Fe,{value:Gt,maxLength:48,placeholder:e("customSource.label.placeholder"),disabled:b||Ne,onChange:function(a){vt(a.target.value)}})),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("customSource.path")),o(Fe,{value:lt,placeholder:e("customSource.path.placeholder"),disabled:b||Ne,onChange:function(a){ha(a.target.value),ke(null)}})),o("div",{className:"dssm-root-path-actions"},_(e("rootPath.browse"),St,"outline",b||Ne),_(e(Ne?"customSource.scanning":"customSource.scan"),Cr,"outline",b||Ne||!(lt||"").trim()),_(e("customSource.addOne"),function(){$a([{label:(Gt||"").trim(),path:(lt||"").trim()}])},"primary",b||Ne||!(lt||"").trim())),wt?o("div",{className:"dssm-feedback dssm-error",role:"alert"},wt):null,gt?o("div",{className:"dssm-custom-scan"},o("p",{className:"dssm-help"},e("customSource.scanResult",{count:gt.candidates.length,path:gt.root})),gt.candidates.length?o("div",{className:"dssm-root-path-actions"},_(e("customSource.addAll"),function(){$a(gt.candidates.filter(function(a){return!a.registered&&!a.conflict}).map(function(a){return{label:a.label,path:a.path,group:a.group}}))},"primary",b||Ne||!gt.candidates.some(function(a){return!a.registered&&!a.conflict}))):null,gt.candidates.map(function(a,n){return o("div",{key:"candidate-"+n,className:"dssm-custom-candidate"},o("div",{className:"dssm-custom-candidate-text"},o("span",{className:"dssm-custom-candidate-name"},a.label),o("span",{className:"dssm-custom-candidate-meta"},a.path+" \xB7 "+e(Rt("customSource.skillCount",a.skillCount),{count:a.skillCount}))),a.registered?o("span",{className:"dssm-custom-candidate-state"},e("customSource.registered")):a.conflict?o("span",{className:"dssm-custom-candidate-state"},e("customSource.conflict")):_(e("customSource.addOne"),function(){$a([{label:a.label,path:a.path,group:a.group}])},"outline",b||Ne))})):null):null)),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){I(null),He(null)},"outline"),_(e("rootPath.save"),function(){Ue((Mt||"").trim())},"primary",b||!(Mt||"").trim()))))}if(k==="detail"){var ce=Dt,ja=ce?ce.declaredName||ce.name:"";Ae.push(o(_e,{key:"detail",className:"dssm-modal-wide",title:e("detail.title"),closeLabel:e("btn.close"),onClose:function(){xt("idle"),I(null)}},ce?o("div",{className:"dssm-detail"},o("div",{className:"dssm-detail-head"},o("div",{className:"dssm-name",title:ja},ja),ce.body?o(Ke.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){ce&&ce.body&&va(ce.body)}},e(Xa==="copied"?"detail.copied":Xa==="failed"?"detail.copyFailed":"detail.copyBody")):null),ce.customNote?o("p",{className:"dssm-desc dssm-custom-note",title:e("detail.customNote")},ce.customNote):null,ce.description?o("p",{className:"dssm-desc"+(ce.customNote?" dssm-desc-secondary":"")},ce.description):null,o("div",{className:"dssm-detail-path"},ce.path),ce.diagnostics.length?ce.diagnostics.map(function(a,n){return o("div",{key:n,className:"dssm-diag"},e(a.code,a.params||{}))}):null,o(Fe.TextArea,{className:"dssm-detail-body",readOnly:!0,value:ce.body||"",rows:16})):o("div",{className:"dssm-empty"},e("loading"))))}if(k&&typeof k=="object"&&k.type==="trash-confirm"&&Ae.push(o(_e,{key:"trash-confirm",title:e("confirm.trash.title"),description:e("confirm.trash.desc",{name:k.name}),closeLabel:e("btn.close"),onClose:function(){I(null)},footer:o(Fa.Fragment,null,_(e("btn.cancel"),function(){I(null)},"outline"),_(e("btn.trash"),function(){$("/delete",Object.assign({root:k.root,name:k.name},k.workspace?{workspace:k.workspace}:{}),"result.trashed",{name:k.name}).then(function(){I(null)}).catch(function(){})},"danger",b))})),k&&typeof k=="object"&&k.type==="delete-confirm"&&Ae.push(o(_e,{key:"delete-confirm",title:e("confirm.delete.title"),description:e("confirm.delete.desc",{name:k.name}),closeLabel:e("btn.close"),onClose:function(){I(null)},footer:o(Fa.Fragment,null,_(e("btn.cancel"),function(){I(null)},"outline"),_(e("btn.delete.forever"),function(){$("/trash-delete",{id:k.id},"result.deleted",{name:k.name}).then(function(){I(null)}).catch(function(){})},"danger",b))})),k&&typeof k=="object"&&(k.type==="category-create"||k.type==="category-rename")){var ra=k.type==="category-rename",Nt=k,Wt=Ce.trim(),fr=!!Wt&&(!ra||Wt!==Nt.name),r=function(){if(!(b||!fr)){var a=ra?$("/category-rename",{root:Nt.root,id:Nt.id,name:Wt,workspace:Nt.workspace},"category.renamed"):$("/category-create",{root:Nt.root,name:Wt,workspace:Nt.workspace},"category.created",{name:Wt});a.then(function(){I(null)}).catch(function(){})}};Ae.push(o(_e,{key:k.type,title:e(ra?"category.rename":"category.create"),closeLabel:e("btn.close"),onClose:function(){I(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("category.name")),o(Fe,{value:Ce,maxLength:24,"aria-label":e("category.name"),onChange:function(a){Zt(a.target.value)},onPressEnter:r})),o("p",{className:"dssm-help"},e("category.note"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){I(null)},"outline"),_(e(ra?"btn.confirm":"category.create"),r,"primary",b||!fr))))}if(k&&typeof k=="object"&&k.type==="category-add"){var c=k,d=K.trim().toLowerCase(),m=c.skills.filter(function(a){return!d||a.name.toLowerCase().includes(d)||a.declaredName&&a.declaredName.toLowerCase().includes(d)||a.description&&a.description.toLowerCase().includes(d)}),w=new Set(c.skills.map(function(a){return a.name})),P=Object.keys(q).filter(function(a){return q[a]&&w.has(a)}).length;Ae.push(o(_e,{key:"category-add",title:e("category.selectSkills",{name:c.name}),closeLabel:e("btn.close"),onClose:function(){f({}),Y(""),I(null)}},o(Fe,{placeholder:e("search.placeholder"),value:K,allowClear:!0,onChange:function(a){Y(a.target.value)}}),o("div",{className:"dssm-batch-list"},m.length?m.map(function(a){var n=!!q[a.name];return o("div",{key:a.name,className:"dssm-batch-item"+(n?" selected":""),onClick:function(){var u=Object.assign({},q);n?delete u[a.name]:u[a.name]=!0,f(u)}},o("input",{type:"checkbox",checked:n,readOnly:!0}),o("div",{className:"dssm-batch-info"},o("div",{className:"dssm-batch-name-row"},o("span",{className:"dssm-batch-name"},a.declaredName||a.name),a.currentCatName?o("span",{className:"dssm-batch-cat-tag"},a.currentCatName):null),a.description?o("div",{className:"dssm-batch-desc",title:a.description},a.description):null))}):o("div",{className:"dssm-empty"},e("category.noAvailableSkills"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){f({}),Y(""),I(null)},"outline"),_(e("category.addSkills")+(P?" ("+P+")":""),function(){var a=Object.keys(q).filter(function(u){return q[u]&&w.has(u)});if(!a.length){f({}),Y(""),I(null);return}if(!dt.current){var n=function(u){return c.workspace?Object.assign({},u,{workspace:c.workspace}):u};dt.current=!0,v(!0),f({}),Y(""),I(null),a.reduce(function(u,S){return u.then(function(){return i("/category-assign",{method:"POST",headers:Lt,body:JSON.stringify(n({root:c.root,name:S,category:c.id}))})})},Promise.resolve()).then(function(){L({ok:!0,text:e("category.batchAssigned",{count:a.length,category:c.name})})}).catch(function(u){L({ok:!1,text:se(e,u)})}).finally(function(){dt.current=!1,v(!1);var u=c.workspace;Promise.all([je(!0),u?Vt(u):null]).catch(function(){})})}},"primary",b||!P))))}if(k&&typeof k=="object"&&k.type==="skill-note"){var H=k,T=oe.trim(),ne=T!==(H.note||""),oa=function(){if(!(b||!ne)){var a=H.workspace?{root:H.root,name:H.name,note:T,workspace:H.workspace}:{root:H.root,name:H.name,note:T};$("/skill-note",a,T?"note.updated":"note.cleared",{name:H.name}).then(function(){I(null)}).catch(function(){})}};Ae.push(o(_e,{key:"skill-note",title:e("note.title"),closeLabel:e("btn.close"),onClose:function(){I(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("note.label")),o(Fe.TextArea,{value:oe,maxLength:500,rows:4,placeholder:e("note.placeholder"),"aria-label":e("note.label"),onChange:function(a){le(a.target.value)}})),o("p",{className:"dssm-help"},e("note.help"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){I(null)},"outline"),H.note?_(e("note.clear"),function(){le("")},"outline",b):null,_(e("btn.confirm"),oa,"primary",b||!ne))))}return k&&typeof k=="object"&&k.type==="category-delete"&&Ae.push(o(_e,{key:"category-delete",title:e("confirm.category.title"),description:e("confirm.category.desc",{name:k.name}),closeLabel:e("btn.close"),onClose:function(){I(null)},footer:o(Fa.Fragment,null,_(e("btn.cancel"),function(){I(null)},"outline"),_(e("category.delete"),function(){$("/category-delete",{root:k.root,id:k.id,workspace:k.workspace},"category.deleted",{name:k.name}).then(function(){I(null)}).catch(function(){})},"danger",b))})),o("section",{className:"dssm-section"},Ae)}var Uo=null;function xo(){var t=globalThis.__DSH_DIRECTORY_PICKER__;if(t&&typeof t.pick=="function"){var e=t.pick.bind(t);return function(){return e()}}return Uo}var es=["slots","locale"];function ts(t){if(Wa=t.locale,typeof t.inject=="function")try{t.inject(["uiWorkspace"],function(A){var J=A.uiWorkspace;if(J&&typeof J.pickDirectory=="function"){var ue=J.pickDirectory.bind(J);Uo=function(){return ue()}}})}catch{}t.effect(function(){return t.locale.register(rt,Ka)});var e,i;t.effect(function(){return e=so({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:xn,isEnabled:function(){return i?i.isOnlineUpdateEnabled():!0}}),function(){typeof e=="function"&&e(),e=void 0}},"skills-manager: plugin update ui"),go(t,function(){return t.locale.bind(rt)("title")});let l=null,p=null,g=!1,h=!1,b=()=>{if(!(!g||l)&&!(i&&!i.isSettingsSectionEnabled()))try{let A=t.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return t.locale.bind(rt)("title")},icon:"skill",locale:rt},qr);l=typeof A=="function"?A:()=>{}}catch(A){console.warn("skills-manager: register settings.section failed:",A),l=null}},v=()=>{if(l){try{l()}catch{}l=null}},N=()=>{if(p)return!0;try{let A=t.slots.register({name:"settings.section.icon",id:"skills-manager",locale:rt},fo);return p=typeof A=="function"?A:()=>{},!0}catch(A){return console.warn("skills-manager: register settings.section.icon failed:",A),p=null,!1}},C=()=>{h&&(i&&!i.isSettingsSectionEnabled()||N())},z=()=>{let A=p;if(p=null,!!A)try{A()}catch{}},s=()=>{i?.isSettingsSectionEnabled?.()??!0?(b(),C()):(v(),z())};if(typeof t.slots?.inject=="function")try{t.slots.inject("settings.section.icon",function(){h=!0;let A=function(){h=!1,z()};return i&&!i.isSettingsSectionEnabled()||!N(),A})}catch(A){console.warn("skills-manager: inject settings.section.icon failed:",A)}t.slots.inject("settings.section",function(){g=!0;try{if(i&&!i.isSettingsSectionEnabled())return function(){g=!1,v()};let A=t.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return t.locale.bind(rt)("title")},icon:"skill",locale:rt},qr);return l=typeof A=="function"?A:()=>{},A}catch(A){return console.warn("skills-manager: register settings.section failed:",A),function(){g=!1}}}),i=Kr(t,{callApi:Va,headers:Lt,renderPanel:function(A){return o(qr,Object.assign({t:t.locale.bind(rt)},A))},ns:rt,onOnlineUpdateChange:function(){e&&typeof e.refresh=="function"&&e.refresh()},onLocationChange:function(){s()}}),t.effect(function(){return function(){i&&typeof i.destroy=="function"&&(i.destroy(),i=void 0),z(),v()}},"skills-manager: sidebar entry cleanup")}module.exports.formatTrashTime=Ro;module.exports.DICT=Ka;module.exports.translateError=se;module.exports.parseApiResponse=No;module.exports.resolveApiUrl=Oa;module.exports.resolveRepoBrand=Mo;module.exports.isSkillEnabled=kr;module.exports.countKey=Rt;module.exports.rootDisplayName=Xe;module.exports.summarizeImportResult=Lo;module.exports.normalizeSkillQuery=Eo;module.exports.matchSkillQuery=Yr;module.exports.filterSkills=Ln;module.exports.visibleSkillRoots=Gr;module.exports.scopeSkillRoots=Io;module.exports.skillStatus=Jr;module.exports.countSkillStatuses=Ao;module.exports.currentSessionId=jo;module.exports.canToggleSource=Po;module.exports.recoverModalFocus=Ho;module.exports.trapModalFocus=Tn;module.exports.inspectUploadSelection=To;module.exports.setupSidebarEntry=Kr;module.exports.apply=ts;module.exports.inject=es;
86
+ `;function uo(a,e,d,u){var m=a(e,u);return typeof m=="string"&&m!==e?m:d}function fe(a,e){if(e instanceof Error&&!e.code)return e.message;if(e&&typeof e=="object"){let g=e;if(g.code){var d=Object.assign({},g.params||{});d.action&&(d.action=uo(a,"action."+d.action,String(d.action)));var u=a(g.code,d);if(typeof u=="string"&&u!==g.code){if(d.code&&g.code==="error.workspace.unavailable"){var m=Mr()==="zh"||!Mr()&&u.includes("\uFF1A");return u+(m?"\uFF08"+d.code+"\uFF09":" ("+d.code+")")}return u}if(u===g.code)return g.error!==void 0?fe(a,g.error):g.code}if(g.error!==void 0)return fe(a,g.error);if(g.message!==void 0)return String(g.message)}return String(e??"")}function Ko(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 d=e;if(!a.ok||d.ok===!1)throw d;return d.data})}function er(a,e){return fetch(Xa("/api/michengai/dsh-skills-manager"+a),e).then(Ko)}function zr(a){return a.enabled!==void 0?a.enabled===!0:!!(a.invocationPolicyValid&&a.modelInvocable&&a.userInvocable&&a.managerEnabled!==!1)}function Vt(a,e){return a+(Number(e)===1?".one":".other")}var tr;function Mr(){return tr?.getLocale?.().active}function qo(a,e){return new Date(e).toLocaleString(Mr()||a("format.locale"))}function lt(a,e){var d=uo(a,"root."+(e.localeKey||e.kind||e.key),e.label);return e.projectName?d+" \xB7 "+e.projectName:d}function Qo(a,e){var d=e&&e.imported||[],u=d.map(function(y){return y.name}),m=(e&&e.skipped||[]).map(function(y){return y.name}),g=[];d.forEach(function(y){(y.warnings||[]).forEach(function(w){g.push(fe(a,w))})});var b;return u.length&&m.length?b={ok:!0,warning:!0,imported:!0,text:a("result.importPartial",{imported:u.join(", "),skipped:m.join(", ")})}:u.length?b={ok:!0,warning:!1,imported:!0,text:a("result.imported",{names:u.join(", ")})}:m.length?b={ok:!1,warning:!0,imported:!1,text:a("result.importSkipped",{names:m.join(", ")})}:b={ok:!1,warning:!1,imported:!1,text:a("result.importEmpty")},g.length&&(b.warning=!0,b.text=a("result.importWarnings",{result:b.text,warnings:g.join(a("format.warningSeparator"))})),b}function Zo(a){return String(a??"").trim().toLowerCase()}function po(a,e){var d=Zo(e);if(!d)return!0;var u=a.provenance;return[a.name,a.declaredName,a.description,a.customNote,a.kind,a.kindLabel,a.statusLabel,a.rootKey,a.rootLabel,u?u.repo:null,u?u.category:null,u?u.path:null].some(function(m){return String(m??"").toLowerCase().includes(d)})}function Zn(a,e){var d=e&&e.rootKey!=null?e.rootKey:"";return a.filter(function(u){return(!d||u.rootKey===d)&&po(u,e&&e.query)})}function mo(a){return(a||[]).filter(function(e){return e.mutable||e.overridden===!0||e.exists!==!1})}function fo(a){return a.shadowedBy?"shadowed":a.loadable===!1?"invalid":zr(a)?"enabled":"disabled"}function Yo(a){var e={total:a.length,enabled:0,disabled:0,shadowed:0,invalid:0};return a.forEach(function(d){e[fo(d.skill)]++}),e}function Go(a){return!!(a&&a.toggleable!==!1&&a.kind!=="project-dsh")}function Jo(a){return mo(a).filter(function(e){return e.scope==="project"?!1:e.mutable||e.overridden===!0||(e.skills||[]).length>0})}var Oo=32<<20,Pr=32<<20,Uo=64<<20,Bo=1e3;function Ir(a){return String(a&&(a._dssmPath||a.webkitRelativePath||a.name)||"").replace(/\\/g,"/")}function Xo(a){var e=Array.from(a||[]);if(!e.length)return null;if(e.length>Bo)return{error:{code:"error.upload.tooMany",params:{limit:Bo}}};var d=e.some(function(w){return Ir(w).includes("/")});if(d){if(!e.some(function(w){return/(^|\/)skill\.md$/i.test(Ir(w))}))return{error:{code:"select.folder.invalid"}};var u=e.find(function(w){return Number(w.size||0)>Pr});if(u)return{error:{code:"error.upload.tooLarge",params:{limit:Pr}}};var m=e.reduce(function(w,A){return w+Number(A.size||0)},0);return m>Uo?{error:{code:"error.upload.tooLarge",params:{limit:Uo}}}:{kind:"folder",name:Ir(e[0]).split("/")[0],files:e,count:e.length,size:m}}if(e.length!==1)return{error:{code:"select.file.invalid"}};var g=String(e[0].name||""),b=g.toLowerCase(),y=Number(e[0].size||0);return b==="skill.md"?y>Pr?{error:{code:"error.upload.tooLarge",params:{limit:Pr}}}:{kind:"skill",name:g,files:e,count:1,size:y}:b.endsWith(".zip")?y>Oo?{error:{code:"error.upload.archiveTooLarge",params:{limit:Oo}}}:{kind:"zip",name:g,files:e,count:1,size:y}:{error:{code:"select.file.invalid"}}}function Yn(a){for(var e=new Uint8Array(a),d="",u=32768,m=0;m<e.length;m+=u)d+=String.fromCharCode(...e.subarray(m,Math.min(m+u,e.length)));return btoa(d)}function Gn(a){return Promise.all(a.files.map(function(e){return e.arrayBuffer().then(function(d){return{path:Ir(e),data:Yn(d)}})})).then(function(e){return a.kind==="zip"?{name:a.name,zip:e[0].data}:{name:a.name,entries:e}})}function _o(a,e,d){return a.isFile?new Promise(function(u,m){a.file(function(g){g._dssmPath=e+g.name,d.push(g),u()},m)}):a.isDirectory?new Promise(function(u,m){var g=a.createReader(),b=[];function y(){g.readEntries(function(w){if(!w.length){Promise.all(b.map(function(A){return _o(A,e+a.name+"/",d)})).then(function(){u()},m);return}b=b.concat(w),y()},m)}y()}):Promise.resolve()}function Jn(a){var e=Array.from(a&&a.items||[]),d=e.map(function(m){return m.webkitGetAsEntry&&m.webkitGetAsEntry()}).filter(m=>!!m);if(!d.length)return Promise.resolve(Array.from(a&&a.files||[]));var u=[];return Promise.all(d.map(function(m){return _o(m,"",u)})).then(function(){return u})}function Xn(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 _n(a,e){if(e.key==="Tab"){var d=Xn(a);if(d.length){var u=document.activeElement;(u===a||!a.contains(u)||(e.shiftKey?u===d[0]:u===d[d.length-1]))&&(e.preventDefault(),(e.shiftKey?d[d.length-1]:d[0]).focus())}}}function $n(a){return co(a.on,a.label,a.disabled,a.onClick)}function ne(a,e,d="primary",u){return o(rt.Button,{variant:d==="primary"?"primary":"outline",className:d==="danger"?"dssm-btn-danger":void 0,disabled:u,onClick:e},a)}function at(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 es(){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 sa(a,e,d,u,m){return o(rt.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(u?" dssm-icon-danger":""),disabled:m,"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:d})}function Tr(a,e,d,u,m){return o(rt.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:u,"aria-label":a,title:m||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:d})}function co(a,e,d,u){return o("button",{type:"button",role:"switch","aria-checked":a,"aria-label":e,disabled:d,className:"dssm-enable-switch",onClick:function(m){m&&typeof m.stopPropagation=="function"&&m.stopPropagation(),u()}},o("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var ts="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",as="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAf9SURBVFhHrVdrUJTXGd7RVNgb4BUvqKg1qTUx1WobTczFmmj8007bmU4nPzrtjG3TSWc6bWf6h/udZW9cNYpREYGxYpJJrWljEzKt2XO+2wJyUURAEASBXdjL9+0uuzyd8wErC5lJL7wzz+zZc973fd73Oec7365GM8+SbtVuTXDU2xJIQ2cCqZcTSAOWBmqujgRHg3WlcGXLfM6oGWjdr42kLmAk9VgKbBEasUv6cNG8kdQrBlL/yxhyI6n7hZHUYamwVWjEJ+4hSL5x/OhO06J1BgO5/CuVPNFRn2oktQEjuYylgnWwHW1+NzrkCbTLbpzouLnIx0guK2zLNQZHrc1AarFU2N/ykUraKU/grjyJe8okWvwuPOv8YJGvgdRaNHpS02kgl7BUsA21RYnvKx70Brx4EPDiumsAiZSRPvHVO2raNXpyUdaTGiwFUsUravfdigc9s+T9QR8eBv0YCsp4p8cRG+Oo8bMCsFT4Ux8fJX4Q8GEg6MNg0I9HIRkjIUWd2+W8GhOj0ZMLWAok0osQfKPoC3gXEMsYDSkYnwrAPRXE1bFerKRMgZk4jY6cx/+DVLEBv+t1oGlyaFZuH4aCfgyHZDwOKRibUuCaCmAiHIQnHII3HEK77MKbHR+r8RodeQ//C55vvoqzI53oVibVQ8a6/ipif2QKSiSM4HQEoekIPnYPQKMl1fhvsEG4BPNgSwzxjNz+BXLPkHfIbvQGPJBniaemI4hgGnOm0ZKz+E9xouM6eO9j9AU86A96o3IvJHb6RvFW102s4y9EY9n4tz3/UgufbxotOQOGBFqNdfx5dbwQOnIGv++7pXYyn3g45MfjkByV+64ygZPdTTBSptbiPAzJ/AX83d3/pICd0mX8xdWHFv8YbvvH1QPyT88Qrox1wzbUgj/2fYFTw22zcnsxGPRF5Z4jZuP8hwLW8uegJae/Egn0DFr9YzMFHLrdqH5pk8fRIbtwR3bjnjKB+8qk2vGDgGcR8Yzciip3w1gXdjlroSOno9CTU9DTLwE5FfU5fLsR4elpaJK4sxB9j1XiLmUC3coEegKTC/bZFyM3I6beYRxr/wBaNWkVdLQKelIFPa2CgVTCwD4XglSqPsyXxVQ+aoUmjlSh/FGL2nUssXcRMTtkzOc3PZ/BSFknldDRSugpI6yEkVYggVYgkZYjRXgXb3X9FdvFaiSpczPzbJ35spiNYjU0K0gljnd+iN4Ae6wWyj2v63AA1SNt2MhXI55UQksroKMV0NMKGNXE5UiiZVhJy7GKK4PDM6ju8X3FjRS+EqtpqTrPfJgvi9GTClZAhZrw5kT/lxKzQ9Yf8OBYx/uIdzDfCmjVYJakDAlq0lKspnaspXYkc3as5+wYDHqiJ900cAvr+Zk15rOKK0USKVXjNStIORi+f+ejqNyjqtwzXbMCjnVcQxwpRzwph46UQU/LYFSTsGQsqQ3rORs2cVakcFZs4SzIevBptAAlMoWDLWewmbNgI2dFMmfDGmpDErVD8zVSCoYVpBSfTz6MEk+Gg+r1WTXcrK7FkVJoiR06YoeBsyORWrGKs2ItZ8EGzoLNXAm28iXYwRdjp1CM3WIJuuXRaBEXRwTsEIpVn028GcnUgtXUygqwYw5HO65iIhyAJxyM3tv7Wi8hjtgRT23QERsM1IpEasFPu97HuREnDt8+hy28CTv4IjwjFGE3X4g9QgH2CgV4u6sueunWjFDsFgrxNF+EVN6EFM6EdZwZmqeIDfPBDqEcmUIgElaLWUGsiCNWxFMrdNQKI7Vgu1SpvkyY9QZc2CWU4BtCAZ4T87FPzMcBKQ8HxVwcknLwh+46lPTfwGFnobq2WyzATr4QW/libOBMrAAr5qM/6FGTs0uiW3FjhcOKOGqBllig5yxIJGZs5u2qSnNmfvgp9gh52C/m4qCUg8NSNl6VsnCEwZmljtncC2IO9oq52CUUYAdfiBSumBVglp8iFsyBPTZzbyumhJZaEU/M0BEzjLQESZwJazkT8gY+ixbgCwfxRosVB6VsvKySZuINKQPHnBk41pyhjtncYWcWDkjZeE7Iw04uH1kPPglplpOSzuXEDIbN0mn4IqFoYmb7W2sQR83Q0hIYONNsAUXYxpvQF3BF/WwDf8OLEus2E69L6TjuTMcJZxrebJ4ZH3Vm4BUpE9+RsrBXzId9sAn3lfGAZrnDZF1OSsBgGqIx5MwaxjoRR0ugo8UwUhNW0iKs45h8+fhZVx3Cs+/4k13v4SUpA685M/C6Mw3HnWk40TwDNj7qTMcrUgbe7jqPu/KwmvuG646k0Xxh2bSMFMvLiAnXxu8u5Fe3Y9/t84inxdDTIiTSIqzhCrCBL8BWPg8vt9pxpNWOvWI2vitmqkW8KqXhNWcaviel4YgzXR3/pM2Cf7jbonnZ3WAe+fyQ+u9omaPo58tIMaqGpRjyObvh7kY8KYKOK0ICLcQqmo9kPh8pfB62CTl4RsjGswKTNgsHxEy8IGXgRTEdL0npONqci/OPmhCYt7XsgF98LFyK+X+4zFF08gdd154c7QX2w7t/hpYrhIEWIokWYA2Xh/V8LjbzudjO5+BpIRvfFLOwh8/Et8QMfFvMRHpvI0ZCsb+ARkPeadPDpvIY8jlLdNpSr453cvcUV4A9AfNtKORFqlQGLS2AgeYjieZhNZeLZC4Hm/gcbOFzsE3IxteFTPy48wyc3ie/epRICL3KWPC6q118p6fx+fmc/wYNNEiugm3b7wAAAABJRU5ErkJggg==",rs="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAflSURBVFhH7Vd7UFNXGicPwiMSWsiCiCwiLM+UQkEeIYhS5JkQEoJJQCCIdKW7uLCjYot1akFueAZ5BJUBpLxBQKpjrUWrLq517bYznXG1aylV3gjyUJRX8u2cG0IRYXHc7R87s7/JnXPPd07O7zu/833nnKuh8X/8L4FAIBBVBV4usaOfBgG9Epe1/WpAXuClinhZ28u2/wrc4iR5ESfk3Ua2Nh6oTiQSSaikkInkpvdY5259EHjHzcLQDW8jEIhEogaRTCKQl4/zSsB1JpHIhAUSPWNj87jWZth76SIEHD3SgWxkEomCSh9rI58ZeRRAeSwUCF3kyKalSdR+YbgVlFoVL60xkYjPIjjzWOfuthaIrq+d1d9oaq1uPxhgnzZVLIYnRSIQuv5WrLY7bta12xNkFLs4zqssjZpcW1+fbhMYEK+po0NVt9mFBL8f/9lZQI+zcOfHantL4taLz0oioT+HP21nomeDbO62696ePOs+Cbd94FTKZlwVIkFjjQBdCCwShaLFyZbeTuy4BLzCgnuGlpZOyK5Lp2+IrKl6EtfWAvxC2T+RqvraZL27n4QOIgX+9qH/PdTPyZLKmGr3nJq74AnwlRd8Xci4oRp+DQXUs6fS6aaSM00Q29wIqJQ0N4E9OyQJtbH2JVXjKrQ2g749g+myXpcxdlwIs3IxHOM65pkbUTY8afKanj/HBLjkBV1Vzl10GvkN9F8S8RVSVO3Eegd7prC8bGj32TbYVVszl3DhPDAT95Zt8maFRzc1wJ72Vngr4ffFiZ5mcdPySBjJCwcp3yHrnoz58/yZ7aD4zBsG61yHzI0pG9F4miSCJirXXAakEYlExDvr0PTe9P8o7WLC+XbYVfPpXHx7G0ScOtEjOl0xGdNYB+zSE32tB9m3JvP48BDjzg7L2IqxUwEwU+cHj6u9nlqZaFssHVubokrJVZditVRh8PmpkpYmiGmsh9iGWoipq4ao6ipFdHUl3JFFwzAWquzLCoM+aahypDAE7udv7bcw0sJn7s2geX4gMj14Jdu+Y7jZdTDY7Y0AZCcRCXh6L0JNrkMhUdw3G7jYmdBszQyoZgZULQPUc6MjgxUmL/5J0NAI/No6RVB9MySVFykHsVBFnxSRc5W9GFc5ks+BUglDXiCxLuouc++FCyyAqyyADibANz7wl3yHays6oN7DT+5yr5qRo5QKn3mA8Z78kB766PuPOb1Xk1idVw5z/9FR8kdoL/qT8lN5qvK6bI9yGOMAcqBfysWfvizO/OTJYICWQJht2Qaz7SyAyyyAL5kw0rxlJIVvsg/nI74cC7gC3x4Ovg+nYmCyUIRvLKicOC6EySIxTMgEMJ7FgXEpGyawEBhZTi7lKvH3HLaivyBgZrzcD7pLPR5kRJsdcbLStl8kWikG1ArssFvvXxfvdbb9fZ+Oa/v9vvvucFD3/fTQ0YFs/twDLOx5TxZvri87HHqz+dCXxYN+3IFfnj5pmLJfyoOezLD5Hixs/sdPOGMXk3xvlojdKlP8bFOZloaeuBMrxdtKnlEpJB06lWJI0yZT4zzNYx5mcib7ETlOpJq9KgZwB5T9WVzoxbiKcZkApkuEMF6wE1dyqkQMU8WR8LRYBCwrujca+6U4UBvRgxQhL6QjQtJ2q5TuDM5TRP4IYyuHFuRHsqP3ASxU2YuFKQZyONAv8392fKdjcV64c+k3H/rf78vmTU8UCuFpcSSg+HLbZICfmCs6gLBUHocNNLvLKb5fPy8SwlCuACalbLieF6esKDqgHMQ4OHn18WTFD3liGJaG4tI/LgmCewWeP7/rqI/P1IKuuynkLRPOETbjWBzTYs9yjhewtCH5XZv9w7nhisf5EfC4QAi9RwPHTmKJPezaBigqSVOMZwbBQCZHkVhZDAcyku+OZgRO9+eEI2Xmp2t3AHy5DbLizbEXGdaAWpb8iHeKlCd3wUB2uPK5PBK+SPS6uo3lFMmtqBzn1dTCBdlexURmENzFBHNJ9WWwNTX5/H5fqwMzJSLowXizg3mhiqlW5jzc8IZOGeO6qSHFGI1LIRPxO8SqIBFV22VFrEctVEpgMFcwf9DfLg0lrl8mdnt3cwNEVlfB3/NiYCIzSHkzXwL7agogvSJtSmudNvV0jFvDtFwMDzPDZ0dLQ+DZebdZuOoFg02uA5tNtMzR2P/2PFBngpGe1m8OBdp/9I65gSuqeyTEyxPaW0BUXweSrCPfd6Wzx8ayuHA5N2okp/rQzFfn/gBMV9Mg1Pfbw0FdKOh6McHcWOWOebjmCdDJAnfbdS6ofc1TcXk6WrGYEeg6hs6BoMKinwJdLQWjOTwYzxfAMZFTblN5xIORKwLA3rOWof4MU5rDYC5/7lF+BIzmR8CZQ/YNHE993LmVdsAVgachQYNE1iRr7iw7MSRpaYb4tjNAtbHfEuNsIn5eGgXjBQLY+js6qzHD+XPo3A43ZOjiofKd52zKmy4Rwc3UHXdIC5yrpt2qWLghOYuF6eg0dBFFZKB6cZR75bQ8CoZy+XM0CoWaEWd6FP7qBVPntjyzWK9lpv67gwnNXl9Hk4be1feB14auwZvGau2SfK2ToTwGLv/Z9xaqsxz0POC6J3SdfvtHw19uP4uz/Y8/VtS3JPXHCIK7hcEWY5qWkbruZKnLoNPIBqp+qnVAxMvj6bWxlHwplnyWLdZf7PErAUm8lAyl1uuQ/wtXmaOWiiPiDAAAAABJRU5ErkJggg==",os="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",ns="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",ss="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",ls="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",is="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",cs="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",ds="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",us="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",ps="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",ms="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",fs="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",gs="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 hs(a){var e=String(a||"").toLowerCase();return e.includes("dsh")?o("img",{src:ts,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("workbuddy")?o("img",{src:as,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:rs,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:os}),o("path",{fill:"#ffffff",d:ns})):e.includes("codex")?o("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:ss})):e.includes("cursor")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",fillRule:"evenodd",d:ls})):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:is})):e.includes("trae")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#32F08C",d:cs})):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:ms}),o("path",{fill:"#FF4D4D",d:fs}),o("path",{fill:"#FF4D4D",d:gs})):e.includes("roo")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#eab308",fillRule:"evenodd",d:ds})):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:us}),o("path",{fill:"#ffffff",d:ps})):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 $o(a,e){var d=(a||e||"").trim();if(!d)return"GitHub";var u="";try{/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(d)?u=new URL(d).hostname.toLowerCase():/^git@[^:]+:/.test(d)&&(u=d.slice(4).split(":")[0].toLowerCase())}catch{u=""}if(u)return u==="github.com"||u.endsWith(".github.com")?"GitHub":u==="gitee.com"||u.endsWith(".gitee.com")?"Gitee":u==="gitlab.com"||u.endsWith(".gitlab.com")||u.includes("gitlab")?"GitLab":"Git";var m=d.toLowerCase();return m.startsWith("gitee.com/")||m.startsWith("gitee:")?"Gitee":m.startsWith("gitlab.com/")||m.startsWith("gitlab:")?"GitLab":m.startsWith("github.com/")||m.startsWith("github:")||/^[a-z0-9_.-]+\/[a-z0-9_.-]+$/i.test(d)?"GitHub":"Git"}function bs(a,e){var d=$o(a,e),u="0 0 16 16",m="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";return d==="Gitee"?(u="0 0 24 24",m="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):d==="GitLab"?(u="0 0 24 24",m="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):d==="Git"&&(u="0 0 24 24",m="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187"),o("span",{className:"dssm-brand-icon","aria-hidden":!0,title:d},o("svg",{viewBox:u,width:16,height:16,fill:"currentColor",focusable:"false"},o("path",{d:m})))}function ys(){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 en(a,e,d){a&&e===d&&a.focus()}function it(a){var e=B.useRef(null),d=B.useRef(a.onClose);d.current=a.onClose;function u(){var m=e.current;if(m){var g=m.querySelector("input, textarea");if(g instanceof HTMLElement){g.focus();return}m.tabIndex=-1,m.focus()}}return B.useLayoutEffect(function(){if(!(typeof document>"u")){var m=e.current;m&&en(m,document.activeElement,document.body)}}),B.useEffect(function(){if(typeof document>"u")return;function m(g){g.key==="Escape"&&(g.preventDefault(),g.stopImmediatePropagation(),d.current())}return document.addEventListener("keydown",m,!0),function(){document.removeEventListener("keydown",m,!0)}},[]),o(rt.Modal,{open:!0,title:a.title,description:a.description,footer:a.footer,onClose:a.onClose,closeLabel:a.closeLabel||"Close",className:["dssm-modal",a.className].filter(Boolean).join(" "),contentClassName:["dssm-modal-content",a.contentClassName].filter(Boolean).join(" ")},a.children?o("div",{ref:e},a.children):void 0)}function tn(a){if(a){for(var e=a.byId||{},d=Array.isArray(a.ids)&&a.ids.length?a.ids:Object.keys(e),u=0;u<d.length;u++){var m=e[d[u]];if(m&&m.retainedBy&&m.retainedBy.mainView)return d[u]}for(var g in e)if(d.indexOf(g)===-1&&e[g]&&e[g].retainedBy&&e[g].retainedBy.mainView)return g}}function an(a){return typeof a=="function"?a:tr&&typeof tr.bind=="function"?tr.bind(wt):function(e,d){var u=ar.zh||{},m=u[e]||e;if(!d)return m;var g=d;return m.replace(/\{(\w+)\}/g,function(b,y){return String(g[y]??"{"+y+"}")})}}function io(a){var e=an(a&&a.t),d=a&&a.useSessions?a.useSessions(tn):void 0,u=B.useState("user"),m=B.useState({}),g=B.useState({});return o(vs,Object.assign({},a,{t:e,key:d||"no-session",sessionId:d,scope:u[0],setScope:u[1],savedFilters:m[0],setSavedFilters:m[1],expanded:g[0],setExpanded:g[1]}))}function vs(a){var e=an(a&&a.t);function d(r,s){var h=Object.fromEntries(new Headers(s?.headers).entries());return a.sessionId&&(h["x-dsh-skills-session"]=a.sessionId),er(r,Object.assign({},s,{headers:h}))}var u=B.useState({loading:!0,error:null,data:null}),m=u[0],g=u[1],b=B.useState(!1),y=b[0],w=b[1],A=a.scope,N=a.setScope,j=a.expanded,Z=a.setExpanded,n=a.savedFilters,$=a.setSavedFilters,he=B.useState(null),I=he[0],L=he[1],ve=B.useState(""),J=ve[0],ee=ve[1],be=B.useState({}),se=be[0],te=be[1],p=B.useState(null),P=p[0]&&p[0].scope===A?p[0]:null;function S(r){p[1](r?Object.assign({},r,{scope:A}):null)}var Ne=B.useState({root:"dsh",name:"",description:"",body:""}),re=Ne[0],ct=Ne[1],q=B.useState(""),Pa=q[0],Re=q[1],Ta=B.useState(""),Kt=Ta[0],oe=Ta[1],ke=B.useState(Aa()),Fe=ke[0],Ia=ke[1],za=B.useState(Aa()),dt=za[0],la=za[1],qt=B.useState([]),Te=qt[0],ia=qt[1],Qt=B.useState(""),k=Qt[0],G=Qt[1],We=B.useRef(""),Tt=B.useRef(0),Le=B.useState({loading:!1,error:null}),ot=Le[0],Ma=Le[1],rr=B.useState({}),ie=rr[0],xt=rr[1],Oe=B.useState(null),Ie=Oe[0],ae=Oe[1],or=B.useState(""),we=or[0],Ha=or[1],ca=B.useState(!1),Hr=ca[0],Zt=ca[1],nr=B.useState(null),Yt=nr[0],Ke=nr[1],sr=B.useState(!1),da=sr[0],ja=sr[1],ua=B.useState(""),St=ua[0],Oa=ua[1],lr=B.useState(""),ir=lr[0],Gt=lr[1],ut=B.useState(null),cr=ut[0],pt=ut[1],dr=B.useState(!1),ze=dr[0],mt=dr[1],It=B.useState(null),Ua=It[0],qe=It[1],pa=B.useState(null),ur=pa[0],Jt=pa[1],Ba=B.useState("idle"),ma=Ba[0],Ge=Ba[1];function Xt(r){if(typeof navigator>"u"||!navigator.clipboard){Ge("failed");return}navigator.clipboard.writeText(r).then(function(){Ge("copied"),setTimeout(function(){Ge("idle")},1500)}).catch(function(){Ge("failed")})}var Je=B.useRef(!1),Ce=B.useRef(null),pr=B.useRef(null),fa=B.useRef(null),Ct=B.useRef(!1),Da=B.useRef({}),ft=B.useRef(0);B.useEffect(function(){return function(){ft.current++}},[]);function gt(r){return r||g({loading:!0,error:null,data:m.data}),d("/state").then(function(s){return g({loading:!1,error:null,data:s}),s}).catch(function(s){g({loading:!1,error:fe(e,s),data:m.data})})}B.useEffect(function(){gt(!1)},[]);function de(r,s,h,R){return Je.current?Promise.reject({error:"operation already in progress"}):(Je.current=!0,w(!0),S(null),d(r,{method:"POST",headers:Ft,body:JSON.stringify(s||{})}).then(function(C){S({ok:!0,text:h?e(h,R||C||{}):e("result.updated")});var E=s&&typeof s.workspace=="string"?s.workspace:"";return Promise.all([gt(!0),E?xe(E):null]).then(function(){return C})}).catch(function(C){throw S({ok:!1,text:e("error.action",{error:fe(e,C)})}),C}).finally(function(){Je.current=!1,w(!1)}))}function mr(r,s,h){w(!0),Jt(null),Ge("idle"),L("detail"),d("/detail",{method:"POST",headers:Ft,body:JSON.stringify(h?{root:r.key,name:s.name,workspace:h}:{root:r.key,name:s.name})}).then(Jt).catch(function(R){S({ok:!1,text:e("error.action",{error:fe(e,R)})}),L(null)}).finally(function(){w(!1)})}function zt(r){Ha(r.path||""),Zt(!1),Ke(null),L({type:"root-path",root:r.key,label:lt(e,r),path:r.path||"",defaultPath:r.defaultPath})}function Mt(){var r=Do();if(!r){Ke(e("rootPath.pickUnavailable"));return}Ke(null),Zt(!0),Promise.resolve().then(r).then(function(s){typeof s=="string"&&s.trim()&&Ha(s.trim())}).catch(function(s){Ke(fe(e,s))}).finally(function(){Zt(!1)})}function ht(r){var s=I&&typeof I=="object"&&I.type==="root-path"?I:null;s&&(Ke(null),de("/root-path",{key:s.root,path:r},r===null?"rootPath.resetDone":"rootPath.saved",{name:s.label}).then(function(){L(null)}).catch(function(h){Ke(fe(e,h))}))}function bt(){ja(!0),qe(null),pt(null)}function ga(){var r=Do();if(!r){qe(e("rootPath.pickUnavailable"));return}qe(null),mt(!0),Promise.resolve().then(r).then(function(s){typeof s=="string"&&s.trim()&&Oa(s.trim())}).catch(function(s){qe(fe(e,s))}).finally(function(){mt(!1)})}function yt(){var r=(St||"").trim();r&&(mt(!0),qe(null),d("/custom-source-scan",{method:"POST",headers:Ft,body:JSON.stringify({path:r})}).then(function(s){pt(s)}).catch(function(s){pt(null),qe(fe(e,s))}).finally(function(){mt(!1)}))}function ha(r){var s=r.filter(function(h){return h&&h.path});!s.length||ze||(mt(!0),qe(null),S(null),d("/custom-source-add",{method:"POST",headers:Ft,body:JSON.stringify({sources:s})}).then(function(h){var R=h&&Array.isArray(h.added)?h.added.length:s.length;return gt(!0).then(function(){S({ok:!0,text:e("customSource.added",{count:R})}),pt(null),Oa(""),Gt(""),ja(!1)})}).catch(function(h){qe(fe(e,h))}).finally(function(){mt(!1)}))}function Nt(r){if(!y){var s=we;de("/custom-source-remove",{id:r},"customSource.removed").then(function(){return d("/state").then(function(h){g({loading:!1,error:null,data:h});var R=(h&&Array.isArray(h.roots)?h.roots:[]).filter(function(E){return!E.mutable&&E.scope!=="project"&&E.key!==r}),C=R.find(function(E){return E.custom})||R[0];C?zt(C):L(null),s&&pt(function(E){return E?Object.assign({},E,{candidates:E.candidates.map(function(O){return O.path===s?Object.assign({},O,{registered:!1}):O})}):null})})}).catch(function(h){Ke(fe(e,h))})}}function ba(r,s){ct(Object.assign({},re,{[r]:s}))}function Qe(){oa(Fe,Te,kt)&&de("/create",Object.assign({},re,{root:void 0},Lr(Fe)),null).then(function(r){L(null),ct({root:"dsh",name:"",description:"",body:""}),S({ok:!0,text:e("result.created",{name:r.name})+(Fe.scope==="workspace"?" \xB7 "+e("dest.createdInWorkspace"):"")})}).catch(function(){})}function V(r){Ct.current=!1;var s=Xo(r);if(s){if(s.error){ae(null),S({ok:!1,text:fe(e,s.error)});return}ae(s),S(null)}}function vt(r){if(y||Ct.current||!r.current)return;Ct.current=!0,r.current.value="";function s(){setTimeout(function(){Ct.current=!1},0)}window.addEventListener("focus",s,{once:!0}),r.current.click(),setTimeout(function(){Ct.current=!1},3e4)}function jr(){!Ie||!oa(dt,Te,kt)||Gn(Ie).then(function(r){return de("/upload",Object.assign({},r,Lr(dt)),null)}).then(function(r){var s=Qo(e,r);S({ok:s.ok,warning:s.warning,text:s.text}),s.imported&&(L(null),ae(null))}).catch(function(){})}var Ht=m.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},ue=Ht.roots||[],Rt=ue.filter(function(r){return!r.mutable&&r.scope!=="project"});function fr(){if(Rt.length){var r=Me&&Rt.find(function(s){return s.key===Me})||Rt[0];zt(r)}}var jt=A==="project"?"project":"user",X=n[jt]||{query:"",source:"",status:""},ce=X.query,Va=X.source;function _t(r,s){$(function(h){return Object.assign({},h,{[jt]:Object.assign({},X,{[r]:s})})})}function ya(r){_t("query",r)}function Ot(r){_t("source",r)}var Xe=ie[k],va=A==="trash"?[]:A==="project"?mo(Xe?.roots||[]):Jo(ue),Fa=va.filter(function(r){return(r.skills||[]).length>0}),Me=A!=="project"&&Fa.some(function(r){return r.key===Va})?Va:"";function Ue(r){return r.registeredPaths[0]||""}function gr(r){Te.some(function(s){return s.available&&Ue(s)===r})&&(We.current=r,G(r),ie[r]||xe(r))}function ye(r=A==="project",s=!1){var h=ft.current,R=++Tt.current,C=function(){return h===ft.current&&R===Tt.current};return Ma({loading:!0,error:null}),er("/workspaces").then(function(E){if(!C())return[];var O=E.items||[];ia(O),Ma({loading:!1,error:null});var Q=O.find(function(D){return D.available&&Ue(D)===We.current})||O.find(function(D){return D.available&&Ue(D)}),W=Q?Ue(Q):"";return We.current=W,G(W),r&&W&&(s||!ie[W])&&xe(W),O}).catch(function(E){return C()?(ia([]),We.current="",G(""),Ma({loading:!1,error:fe(e,E)}),[]):[]})}function xe(r){var s=ft.current,h=(Da.current[r]||0)+1;Da.current[r]=h;var R=function(){return s===ft.current&&h===Da.current[r]};return xt(function(C){return Object.assign({},C,{[r]:{loading:!0,error:null,roots:C[r]?C[r].roots:[]}})}),er("/workspace-skills",{method:"POST",headers:Ft,body:JSON.stringify({workspace:r})}).then(function(C){R()&&xt(function(E){return Object.assign({},E,{[r]:{loading:!1,error:null,roots:C.roots||[]}})})}).catch(function(C){R()&&xt(function(E){return Object.assign({},E,{[r]:{loading:!1,error:fe(e,C),roots:[]}})})})}function $t(){return ft.current++,xt({}),ye(!0,!0)}function ea(){ct(Object.assign({},re,{root:"dsh"})),Ia(Aa()),L("create"),ye()}function hr(){S(null),ae(null),la(Aa()),L("import"),ye()}var kt=(Ht.writeDestinations||[]).filter(function(r){return r.key==="dsh"||r.key==="agents"});function Or(r){var s=r.root&&r.root.scope==="project"?r.root.projectRoot:"",h=s?Te.find(function(R){return R.projectRoot===s&&R.available}):void 0;return h?{id:r.id,workspace:h.registeredPaths[0]||h.path}:{id:r.id}}function Ur(r){return r.root&&r.root.scope==="project"?e("root.projectDsh")+" \xB7 "+(r.root.projectName||r.root.projectRoot):uo(e,"root."+(r.root?.localeKey||r.root?.key||"dsh"),r.root?.label||e("root.dsh"))}function ka(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}},hs(r))}var Br=[{value:"",label:e("filter.all")}].concat(Fa.map(function(r){return{value:r.key,label:e("filter.option",{name:lt(e,r),count:r.skills.length})}}));function Wa(r){return r.linked!==!0?null:o("div",{className:"dssm-note"},e("skill.linked"))}function Dr(r){if(!r.fallbackTo)return null;var s=ue.find(function(h){return h.key===r.fallbackTo.root});return s?o("div",{className:"dssm-note dssm-fallback"},e("status.fallback."+r.fallbackTo.scope,{source:lt(e,s)})):null}function Vr(r,s,h){var R=r==="status.enabled",C=r==="status.disabled",E=r==="status.invalid",O=R?"var(--dsw-alias-state-success-primary, #51b976)":C?"var(--dsw-alias-state-warn-primary, #d49245)":E?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",Q=R?"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":C?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":E?"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",W=s||e(r);return o("span",{className:"dssm-status "+(h||""),title:W,"aria-label":W,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:O,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:Q})))}function wa(r,s,h){var R=function(t){return h?Object.assign({},t,{workspace:h}):t},C=zr(s),E=r.toggleable!==!1,O=s.shadowedBy?"status.shadowed":s.loadable===!1?"status.invalid":C?"status.enabled":"status.disabled",Q=s.shadowedBy?"dssm-shadowed":C?"dssm-enabled":"dssm-disabled",W=!E||!!s.shadowedBy||s.loadable===!1,D=[{value:"detail",label:e("btn.detail")}],me=X.group==="repo"?[]:r.categories||[],je=s.categoryId||"";me.forEach(function(t){t.id!==je&&D.push({value:"category:"+t.id,label:e("category.assign",{name:t.name})})}),me.length&&je!==""&&D.push({value:"category:",label:e("category.assign",{name:e("category.uncategorized")})}),s.installSource&&s.linked!==!0&&D.push({value:"update",label:e("repo.manageUpdate")}),D.push({value:"note",label:e("skill.editNote")}),r.mutable&&s.linked!==!0&&D.push({value:"trash",label:e("btn.trash"),danger:!0});var U=s.shadowedBy?e("status.shadowedBy",{source:function(){var t=ue.find(function(l){return l.key===s.shadowedBy.root});return t?lt(e,t):s.shadowedBy.root}()}):void 0,le=[o(Wt,{action:!0,icon:es(),label:e("btn.more"),disabled:y,options:D,onChange:function(t){if(t==="detail"&&mr(r,s,h),t.indexOf("category:")===0){var l=t.slice(9),c=me.find(function(i){return i.id===l});de("/category-assign",R({root:r.key,name:s.name,category:l}),"category.assigned",{name:s.name,category:c?c.name:e("category.uncategorized")})}t==="update"&&(qa.focusSource(s.installSource,s.name),N("repositories")),t==="note"&&(oe(s.customNote||""),L({type:"skill-note",root:r.key,name:s.name,note:s.customNote||"",workspace:h})),t==="trash"&&L({type:"trash-confirm",root:r.key,name:s.name,workspace:h})}})];le.push(o("div",{className:"dssm-row-state"},W?Vr(O,U,Q):null,E?co(C,e("skill.toggle")+" "+s.name,y||r.enabled===!1||!C&&s.loadable===!1,function(){de(C?"/disable":"/enable",R({root:r.key,name:s.name}))}):null));var $e=s.declaredName||s.name,_=typeof s.customNote=="string"&&s.customNote.trim().length>0,Se=_?s.customNote:s.description||e("note.missing"),De=X.group!=="repo"&&(r.mutable===!0||!!(r.categories&&r.categories.length)),Xr=_?s.description?`${s.customNote}
87
+ (${e("detail.description")}: ${s.description})`:s.customNote:s.description||void 0;return o("div",{key:r.key+":"+s.name,className:"dssm-skill-row",draggable:De,onDragStart:X.group==="repo"?void 0:function(t){if(De){var l={root:r.key,name:s.name,currentCategoryId:s.categoryId||""};Ce.current=l,t.dataTransfer.setData("text/plain",JSON.stringify(l)),t.dataTransfer.effectAllowed="move",t.currentTarget.classList.add("dragging")}},onDragEnd:X.group==="repo"?void 0:function(t){Ce.current=null,t.currentTarget.classList.remove("dragging"),xa(t.currentTarget)},onDragOver:X.group==="repo"?void 0:function(t){if(!(!Ce.current||Ce.current.root!==r.key||Ce.current.name===s.name)){t.preventDefault(),t.stopPropagation();var l=t.currentTarget.getBoundingClientRect();t.currentTarget.classList.toggle("drop-before",t.clientY<l.top+l.height/2),t.currentTarget.classList.toggle("drop-after",t.clientY>=l.top+l.height/2)}},onDragLeave:X.group==="repo"?void 0:function(t){t.currentTarget.classList.remove("drop-before","drop-after")},onDrop:X.group==="repo"?void 0:function(t){t.preventDefault(),t.stopPropagation(),t.currentTarget.classList.remove("drop-before","drop-after");var l=Ce.current;if(Ce.current=null,xa(t.currentTarget),!(!l||l.root!==r.key||l.name===s.name)){var c=t.currentTarget.getBoundingClientRect();de("/category-move",R({root:r.key,name:l.name,category:s.categoryId||"",targetName:s.name,position:t.clientY<c.top+c.height/2?"before":"after"}),"category.moved",{name:l.name})}}},De?o("div",{className:"dssm-drag-handle",title:e("category.dragTip")},"\u22EE\u22EE"):null,o("div",{className:"dssm-skill-copy"},o("div",{className:"dssm-name"},$e),o("div",{className:"dssm-skill-desc"+(_?" dssm-custom-note":""),title:Xr},Se),Wa(s),Dr(s)),o("div",{className:"dssm-skill-actions"},le))}var Ut=va.flatMap(function(r){return(r.skills||[]).map(function(s){return{root:r,skill:s}})}),br=Ut.filter(function(r){return(!Me||r.root.key===Me)&&(!X.status||fo(r.skill)===X.status)&&po(Object.assign({},r.skill,{rootLabel:lt(e,r.root)}),ce)}),ta=Yo(Ut);function Ka(r,s,h){var R=s?{root:r.key,workspace:s}:{root:r.key},C=[];return X.group!=="repo"&&C.push(sa(e("category.create"),at("M8 2.5v11M2.5 8h11"),function(){Re(""),L({type:"category-create",root:r.key,workspace:s})},!1,y)),!s&&r.mutable!==!0&&C.push(sa(e("rootPath.edit"),at("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),function(){zt(r)},!1,y)),Go(r)&&C.push(o($n,{on:r.enabled,disabled:y,label:e("source.toggle")+" "+h,onClick:function(){de(r.enabled?"/source-disable":"/source-enable",R)}})),o("span",{className:"dssm-source-actions",onClick:function(E){E.stopPropagation()}},C)}function Fr(){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 pe(){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 xa(r){var s=r.closest(".dssm-section");s&&Array.prototype.forEach.call(s.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(h){h.classList.remove("drag-over","drop-before","drop-after")})}function Ze(r,s,h,R,C){var E=JSON.stringify(["category",R||"",r.key,s.id||"none"]),O=j[E]===void 0?!!(ce||X.status):j[E],Q=s.scope||s.skills,W=Q.filter(function(U){return U.skill.loadable!==!1}),D=W.filter(function(U){return zr(U.skill)}).length,me=W.length>0&&D===W.length,je=function(U){return h?Object.assign({},U,{workspace:h}):U};return o("section",{key:r.key+":"+(s.id||"none"),className:"dssm-cat","aria-label":s.name,onDragOver:function(U){U.preventDefault(),Ce.current&&Ce.current.root===r.key&&Ce.current.currentCategoryId!==s.id?U.currentTarget.classList.add("drag-over"):U.currentTarget.classList.remove("drag-over")},onDragLeave:function(U){var le=U.relatedTarget;le&&U.currentTarget.contains(le)||U.currentTarget.classList.remove("drag-over")},onDrop:function(U){U.preventDefault(),Ce.current=null,U.currentTarget.classList.remove("drag-over"),xa(U.currentTarget);try{var le=JSON.parse(U.dataTransfer.getData("text/plain")||"{}");le&&le.name&&le.root===r.key&&le.currentCategoryId!==s.id&&de("/category-assign",je({root:r.key,name:le.name,category:s.id}),"category.assigned",{name:le.name,category:s.name})}catch{}}},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":O,onClick:function(){Z(function(U){var le={};return le[E]=!O,Object.assign({},U,le)})}},o("span",{className:"dssm-cat-title"},o(O?pe:Fr),s.name),o("span",{className:"dssm-count"},e("category.progress",{count:Q.length,enabled:D,usable:W.length}))),o("span",{className:"dssm-source-actions",onClick:function(U){U.stopPropagation()}},s.locked?null:sa(e("category.addSkills"),at("M8 2.5v11M2.5 8h11"),function(){var U={};(r.categories||[]).forEach(function(_){U[_.id]=_.name});var le=C||s.scope||s.skills,$e=le.filter(function(_){return _.skill.categoryId!==s.id}).map(function(_){return{name:_.skill.name,declaredName:_.skill.declaredName,description:_.skill.description,currentCatName:_.skill.categoryId&&U[_.skill.categoryId]||e("category.uncategorized")}});te({}),ee(""),L({type:"category-add",root:r.key,id:s.id,name:s.name,workspace:h,skills:$e})},!1,y),s.locked?null:sa(e("category.rename"),at("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){Re(s.name),L({type:"category-rename",root:r.key,id:s.id,name:s.name,workspace:h})},!1,y),s.locked?null:sa(e("category.delete"),at("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:s.id,name:s.name,workspace:h})},!0,y),co(me,e("category.toggle")+" "+s.name,y||r.enabled===!1||W.length===0,function(){de(me?"/category-disable":"/category-enable",je({root:r.key,category:s.id}))}))),O?s.skills.length?o("div",{className:"dssm-skill-list"},s.skills.map(function(U){return wa(r,U.skill,h)})):o("div",{className:"dssm-empty"},e("category.empty")):null)}function Wr(r,s,h,R,C){var E=r.categories||[],O=function(U,le){var $e=r.categoryOrder&&r.categoryOrder[le]||[],_=Object.create(null);return $e.forEach(function(Se,De){_[Se]=De}),U.map(function(Se,De){return{row:Se,index:De,rank:_[Se.skill.name]}}).sort(function(Se,De){return Se.rank!==void 0&&De.rank!==void 0?Se.rank-De.rank:Se.rank!==void 0?-1:De.rank!==void 0?1:Se.index-De.index}).map(function(Se){return Se.row})};if(!E.length)return s.length?o("div",{className:"dssm-skill-list"},O(s,"").map(function(U){return wa(r,U.skill,h)})):o("div",{className:"dssm-empty"},e("empty.source"));var Q={},W=C||s;E.forEach(function(U){Q[U.id]=!0});var D=function(U,le){return O(U.filter(function($e){return le?$e.skill.categoryId===le:!$e.skill.categoryId||!Q[$e.skill.categoryId]}),le)},me=E.map(function(U){return{id:U.id,name:U.name,locked:!1,skills:D(s,U.id),scope:D(W,U.id)}});me.push({id:"",name:e("category.uncategorized"),locked:!0,skills:D(s,""),scope:D(W,"")});var je=!!(ce||X.status);return o("div",null,o("p",{className:"dssm-note dssm-cat-note"},e("category.note")),me.filter(function(U){return!je||U.skills.length}).map(function(U){return Ze(r,U,h,R,W)}))}function yr(r,s,h,R){var C=(h||Ut).filter(function(D){return D.root.key===r.key}),E=(h||br).filter(function(D){return D.root.key===r.key});if(Me&&r.key!==Me||(ce||X.status)&&!E.length)return null;var O=JSON.stringify([jt,R||"",r.key,ce,Me,X.status]),Q=j[O]===void 0?s?!0:!!(ce||Me||X.status):j[O],W=s?lt(e,Object.assign({},r,{projectName:void 0})):lt(e,r);return o("section",{key:(R||"")+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":Q,onClick:function(){Z(function(D){var me={};return me[O]=!Q,Object.assign({},D,me)})}},_a(o,Q),o("div",{className:"dssm-source-label"},ka(r.key),o("span",{className:"dssm-source-title"},W),o("span",{className:"dssm-count"},e(Vt("summary.group",E.length),{count:E.length})),r.overridden?o("span",{className:"dssm-source-custom"},e("rootPath.custom")):null,o("span",{className:"dssm-source-path",title:r.overridden?e("rootPath.overrideTitle",{path:r.defaultPath||""}):r.path},r.path))),Ka(r,s,W)),Q?o("div",{className:"dssm-source-body",role:"region"},Wr(r,E,s,R,C)):null)}function vr(r){return r.skill.provenance||null}function Kr(r){if(!r)return null;try{var s=new URL(r);return(s.protocol==="https:"||s.protocol==="http:")&&s.hostname?s.href:null}catch{return null}}function qr(){var r=Object.create(null),s=[];return br.forEach(function(h){var R=r[h.root.key];R||(R={key:h.root.key,root:h.root,rows:[],repos:[],hasEvidence:!1},r[h.root.key]=R,s.push(h.root.key)),R.rows.push(h);for(var C=vr(h),E=C&&C.repo?C.repo:null,O=C&&C.identity,Q=O||E,W=Q?"repo:"+Q:"none",D=null,me=0;me<R.repos.length;me++)if(R.repos[me].key===W){D=R.repos[me];break}if(D||(D={key:W,kind:Q&&C?C.kind:"root",repo:E||O||null,url:Kr(C&&C.url),fallback:!Q,rows:[],categories:[]},R.repos.push(D)),D.rows.push(h),Q&&C){var je=C.category||"";D.categories.indexOf(je)<0&&D.categories.push(je),R.hasEvidence=!0}}),s.map(function(h){var R=r[h];return R.repos.sort(function(C,E){return C.fallback!==E.fallback?C.fallback?1:-1:String(C.repo||"").localeCompare(String(E.repo||""))}),R})}function Qr(r){return r||e("group.repoRoot")}function Ye(r,s){return o("div",{className:"dssm-skill-list"},r.map(function(h){return wa(h.root,h.skill,s)}))}function Sa(){return!!(ce||Me||X.status)}function kr(r,s,h,R,C){var E=JSON.stringify(["provcat",jt,C||"",r.key,s.key,h,ce,Me,X.status]),O=j[E]===void 0?Sa():j[E];return o("section",{className:"dssm-cat dssm-prov-cat",key:E},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":O,onClick:function(){Z(function(Q){var W={};return W[E]=!O,Object.assign({},Q,W)})}},_a(o,O),o("span",{className:"dssm-cat-title"},Qr(h)),o("span",{className:"dssm-count"},e(Vt("summary.group",R.length),{count:R.length})))),O?Ye(R,C):null)}function wr(r,s,h){var R=JSON.stringify(["provrepo",jt,h||"",r.key,s.key,ce,Me,X.status]),C=j[R]===void 0?Sa():j[R],E=s.repo||e("group.unknownSource"),O=s.categories.slice().sort(function(W,D){return W?D?W.localeCompare(D):-1:1}),Q=null;return C&&(!O.length||O.length===1&&!O[0]?Q=Ye(s.rows,h):Q=O.map(function(W){var D=s.rows.filter(function(me){var je=vr(me);return(je&&je.category||"")===W});return D.length?kr(r,s,W,D,h):null})),o("section",{className:"dssm-cat dssm-prov-repo",key:s.key},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":C,onClick:function(){Z(function(W){var D={};return D[R]=!C,Object.assign({},W,D)})}},_a(o,C),s.repo?bs(s.url,s.repo):null,o("span",{className:"dssm-cat-title"},E),o("span",{className:"dssm-count"},e(Vt("summary.group",s.rows.length),{count:s.rows.length})),o("span",{className:"dssm-prov-badge",title:e("group.hint")},e("group.evidence."+s.kind))),s.url?o("span",{className:"dssm-source-actions"},o("a",{className:"dssm-icon-action dssm-prov-repo-link",href:s.url,target:"_blank",rel:"noopener noreferrer","aria-label":e("group.openRepo",{repo:s.repo||""}),title:e("group.openRepo",{repo:s.repo||""}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}},at("M12 9.5V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3.5m4-1h3.5m0 0v3.5m0-3.5L7 10"))):null),Q)}function Zr(r,s){var h=JSON.stringify(["provroot",jt,s||"",r.key,ce,Me,X.status]),R=j[h]===void 0?!!(s||Sa()):j[h],C=s?lt(e,Object.assign({},r.root,{projectName:void 0})):lt(e,r.root),E=null;return R&&(E=o("div",{className:"dssm-source-body",role:"region"},r.hasEvidence?r.repos.map(function(O){return wr(r,O,s)}):Ye(r.rows,s))),o("section",{key: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":R,onClick:function(){Z(function(O){var Q={};return Q[h]=!R,Object.assign({},O,Q)})}},_a(o,R),o("div",{className:"dssm-source-label"},ka(r.root.key),o("span",{className:"dssm-source-title"},C),o("span",{className:"dssm-count"},e(Vt("summary.group",r.rows.length),{count:r.rows.length})),r.hasEvidence?null:o("span",{className:"dssm-prov-badge",title:e("group.noRepo")},e("group.unknownSource")),o("span",{className:"dssm-source-path",title:r.root.path},r.root.path))),Ka(r.root,s,C)),E)}function Yr(r){var s=qr();if(!s.length)return o("div",{className:"dssm-empty"},ce||X.status?e("empty.search"):e("empty.source"));var h=Object.create(null);s.forEach(function(E){E.repos.forEach(function(O){O.fallback||(h[O.key]=!0)})});var R=Object.keys(h).length,C=0;return s.forEach(function(E){E.repos.forEach(function(O){O.fallback&&(C+=O.rows.length)})}),o("div",{className:"dssm-sources dssm-provenance"},o("p",{className:"dssm-note dssm-prov-note"},o("strong",null,e("group.provenanceCount",{repos:R,unknown:C}))," ",e("group.hint")),s.map(function(E){return Zr(E,r)}))}function xr(){var r=A==="project",s=r?k:void 0,h;if(X.group==="repo")h=Yr(s);else{var R=va.map(function(C){return yr(C,s,void 0,s?s+"|":void 0)}).filter(Boolean);h=R.length?R:o("div",{className:"dssm-empty"},ce||X.status?e("empty.search"):e("empty.source"))}return r&&(ot.error?h=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.listFailed",{error:ot.error})):ot.loading||k&&(!Xe||Xe.loading)?h=o("div",{className:"dssm-empty"},e("workspace.loading")):k?Xe?.error?h=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.loadFailed",{error:Xe.error})):!Ut.length&&!ce&&!X.status&&(h=o("div",{className:"dssm-empty"},e("workspace.noSkills"))):h=o("div",{className:"dssm-empty"},e(Te.length?"workspace.unavailable":"project.empty"))),o("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+A,className:"dssm-sources"},h)}function Gr(){return o("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},Ht.trash.length?Ht.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:qo(e,r.deletedAt)})),o("span",{className:"dssm-trash-source"},e("trash.source",{source:Ur(r)})))),o("div",{className:"dssm-trash-actions"},sa(e("btn.restore"),at("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){de("/trash-restore",Or(r),"result.restored",{name:r.name}).catch(function(){})},!1,y),sa(e("btn.delete.forever"),at("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 qa=qn({active:A==="repositories",t:e,onInstalled:function(){return Promise.all([gt(!1),$t()])}});function Jr(r){var s=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","aria-hidden":!0},o("path",{d:s}))}var Qa=["user","project","repositories","trash"].map(function(r){var s=e("scope."+r),h=r==="trash"?(Ht.trash||[]).length:0,R=Jr(r);return{value:r,id:"dssm-tab-"+r,panelId:"dssm-scope-panel",label:h>0?[R,s,o("span",{className:"dssm-trash-count"},h)]:[R,s]}}),Sr=o(rt.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:e("scope.label"),value:A,onChange:function(r){N(r),(r==="project"||r==="trash")&&ye(r==="project"),r==="trash"&&gt(!0)},items:Qa}),Za=[A==="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,ta[r[0]]),e(Vt(r[1],ta[r[0]]),{count:ta[r[0]]}).replace(String(ta[r[0]]),""))})),o("div",{key:"filters",className:"dssm-filters"},A==="project"?null:o("div",{className:"dssm-source-filter"},o(Wt,{value:Me,label:e("filter.source"),options:Br,onChange:Ot})),o("div",{className:"dssm-group-filter"},o(Wt,{value:X.group||"",label:e("group.label"),options:[{value:"",label:e("group.bySource")},{value:"repo",label:e("group.byRepo")}],onChange:function(r){_t("group",r)}})),o("div",{className:"dssm-status-filter"},o(Wt,{value:X.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){_t("status",r)}})),A==="project"?o("div",{className:"dssm-project-filter"},o(Wt,{value:k,label:e("filter.workspace"),disabled:ot.loading||!Te.length,options:Te.map(function(r){return{value:Ue(r),label:r.name+(r.available?"":" \xB7 "+(r.errorCode==="ENOENT"||r.errorCode==="ENOTDIR"?e("workspace.missing"):r.errorCode==="EACCES"||r.errorCode==="EPERM"?e("workspace.unreadable"):e("workspace.unavailable")))+(Te.filter(function(s){return s.name===r.name}).length>1?" \xB7 "+Ue(r):""),disabled:!r.available||!Ue(r)}}),onChange:gr})):null,o(et,{className:"dssm-search",allowClear:!0,value:ce,"aria-label":e("search"),placeholder:e("search.placeholder"),onChange:function(r){ya(r.target.value)}}),A!=="trash"?o("div",{className:"dssm-filter-actions"},Tr(e("btn.refresh"),at("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(){gt(!1),A==="project"&&$t()},y||m.loading),Tr(e("btn.create"),at("M8 2.5v11M2.5 8h11"),ea,y,e("btn.create")+"\u2026"),Tr(e("import.global"),at("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),hr,y),A==="user"?Tr(e("rootPath.manage"),at("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),fr,y,e("rootPath.manage")+"\u2026"):null):null)],Be=[o("style",{key:"css"},Qn),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(rt.Button,{variant:"outline",size:"sm","aria-label":e("link.project"),icon:o(ys),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},e("link.project")),o(rt.Button,{variant:"outline",size:"sm","aria-label":e("link.feedback"),icon:o(Bn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},e("link.feedback")))),o("p",{className:"dssm-desc"},e("desc")))),Sr].concat(A==="trash"||A==="repositories"?[]:Za,[P&&I!=="import"?o("div",{key:"result",className:"dssm-feedback"+(P.warning?" dssm-warning":P.ok?"":" dssm-error")},P.text):null],(Ht.warnings||[]).map(function(r,s){return o("div",{key:"warning-"+s,className:"dssm-feedback dssm-warning",role:"alert"},fe(e,r))}),[m.error?o("div",{key:"error",className:"dssm-feedback dssm-error"},m.error):null,A==="repositories"?qa.content:m.loading&&!m.data?o("div",{key:"loading",className:"dssm-empty"},e("loading")):A==="trash"?Gr():xr()]);if(I==="create"&&Be.push(o(it,{key:"create",title:e("create.title"),closeLabel:e("btn.close"),onClose:function(){L(null)}},o("div",{className:"dssm-form"},o(jo,{t:e,value:Fe,disabled:y,allowAgents:!0,workspaces:Te,userDestinations:kt,onChange:function(r){Ia(Object.assign({},Fe,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(et,{value:re[r[0]],placeholder:e(r[2]),onChange:function(s){ba(r[0],s.target.value)}}))}),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("create.body")),o(et.TextArea,{rows:8,value:re.body,placeholder:e("create.body.placeholder"),onChange:function(r){ba("body",r.target.value)}})),o("p",{className:"dssm-help"},e("create.chat.note"))),o("div",{className:"dssm-modal-actions"},ne(e("btn.cancel"),function(){L(null)},"outline"),ne(e("btn.create.now"),Qe,"primary",y||!re.name.trim()||!re.description.trim()||!re.body.trim()||!oa(Fe,Te,kt))))),I==="import"&&Be.push(o(it,{key:"import",className:"dssm-modal-import",title:e("import.title"),closeLabel:e("btn.close"),onClose:function(){Ct.current=!1,ae(null),S(null),L(null)}},o("input",{ref:pr,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(r){V(r.target.files),r.target.value=""}}),o("input",{ref:fa,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(r){V(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"),Jn(r.dataTransfer).then(V).catch(function(s){S({ok:!1,text:fe(e,s)})})}},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(),vt(fa)}},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(),vt(pr)}},e("btn.file.pick")))),Ie?o("div",{className:"dssm-file",title:Ie.name},o("span",{className:"dssm-file-kind","aria-hidden":"true"},Ie.kind==="zip"?"ZIP":Ie.kind==="folder"?"DIR":"MD"),o("span",{className:"dssm-file-name"},Ie.name),o("span",{className:"dssm-file-meta"},e(Vt("upload.selected",Ie.count),{count:Ie.count,size:Ie.size<1024?Ie.size+" B":Math.ceil(Ie.size/1024)+" KB"})),o("button",{type:"button",className:"dssm-file-remove","aria-label":e("upload.remove"),onClick:function(){ae(null)}},"\xD7")):null,o(jo,{t:e,value:dt,disabled:y,allowAgents:!0,workspaces:Te,userDestinations:kt,onChange:function(r){la(Object.assign({},dt,r))}}),P?o("div",{className:"dssm-feedback"+(P.warning?" dssm-warning":P.ok?"":" dssm-error"),role:"alert"},P.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"},ne(e("btn.cancel"),function(){Ct.current=!1,ae(null),S(null),L(null)},"outline"),ne(e(y?"upload.importing":"btn.import.now"),jr,"primary",y||!Ie||!oa(dt,Te,kt))))),I&&typeof I=="object"&&I.type==="root-path"){var Lt=I,At=cr;Be.push(o(it,{key:"root-path",title:e("rootPath.title",{name:Lt.label}),closeLabel:e("btn.close"),onClose:function(){L(null),Ke(null)}},o("div",{className:"dssm-form"},o("p",{className:"dssm-note"},e("rootPath.desc")),Rt.length>0?o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.source")),o(Wt,{value:Lt.root,label:e("rootPath.source"),disabled:y,options:Rt.map(function(r){return{value:r.key,label:lt(e,r)}}),onChange:function(r){var s=Rt.find(function(h){return h.key===r});s&&zt(s)}})):null,o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.label")),o(et,{value:we,placeholder:e("rootPath.placeholder"),disabled:y,onChange:function(r){Ha(r.target.value),Ke(null)}})),o("div",{className:"dssm-root-path-actions"},ne(e("rootPath.browse"),Mt,"outline",y||Hr),Lt.defaultPath?ne(e("rootPath.reset"),function(){ht(null)},"outline",y):null,Lt.root.indexOf("custom:")===0?ne(e("customSource.remove"),function(){Nt(Lt.root)},"outline",y):null),o("p",{className:"dssm-help"},e("rootPath.defaultHint",{path:Lt.defaultPath||Lt.path})),Yt?o("div",{className:"dssm-feedback dssm-error",role:"alert"},Yt):null,o("div",{className:"dssm-custom-sources"},o("div",{className:"dssm-custom-source-head"},o("span",{className:"dssm-label"},e("customSource.title")),ne(e(da?"btn.cancel":"customSource.add"),function(){da?(ja(!1),pt(null),qe(null)):bt()},"outline",y||ze)),o("p",{className:"dssm-help"},e("customSource.desc")),da?o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("customSource.label")),o(et,{value:ir,maxLength:48,placeholder:e("customSource.label.placeholder"),disabled:y||ze,onChange:function(r){Gt(r.target.value)}})),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("customSource.path")),o(et,{value:St,placeholder:e("customSource.path.placeholder"),disabled:y||ze,onChange:function(r){Oa(r.target.value),qe(null)}})),o("div",{className:"dssm-root-path-actions"},ne(e("rootPath.browse"),ga,"outline",y||ze),ne(e(ze?"customSource.scanning":"customSource.scan"),yt,"outline",y||ze||!(St||"").trim()),ne(e("customSource.addOne"),function(){ha([{label:(ir||"").trim(),path:(St||"").trim()}])},"primary",y||ze||!(St||"").trim())),Ua?o("div",{className:"dssm-feedback dssm-error",role:"alert"},Ua):null,At?o("div",{className:"dssm-custom-scan"},o("p",{className:"dssm-help"},e("customSource.scanResult",{count:At.candidates.length,path:At.root})),At.candidates.length?o("div",{className:"dssm-root-path-actions"},ne(e("customSource.addAll"),function(){ha(At.candidates.filter(function(r){return!r.registered&&!r.conflict}).map(function(r){return{label:r.label,path:r.path,group:r.group}}))},"primary",y||ze||!At.candidates.some(function(r){return!r.registered&&!r.conflict}))):null,At.candidates.map(function(r,s){return o("div",{key:"candidate-"+s,className:"dssm-custom-candidate"},o("div",{className:"dssm-custom-candidate-text"},o("span",{className:"dssm-custom-candidate-name"},r.label),o("span",{className:"dssm-custom-candidate-meta"},r.path+" \xB7 "+e(Vt("customSource.skillCount",r.skillCount),{count:r.skillCount}))),r.registered?o("span",{className:"dssm-custom-candidate-state"},e("customSource.registered")):r.conflict?o("span",{className:"dssm-custom-candidate-state"},e("customSource.conflict")):ne(e("customSource.addOne"),function(){ha([{label:r.label,path:r.path,group:r.group}])},"outline",y||ze))})):null):null)),o("div",{className:"dssm-modal-actions"},ne(e("btn.cancel"),function(){L(null),Ke(null)},"outline"),ne(e("rootPath.save"),function(){ht((we||"").trim())},"primary",y||!(we||"").trim()))))}if(I==="detail"){var ge=ur,Cr=ge?ge.declaredName||ge.name:"";Be.push(o(it,{key:"detail",className:"dssm-modal-wide",title:e("detail.title"),closeLabel:e("btn.close"),onClose:function(){Ge("idle"),L(null)}},ge?o("div",{className:"dssm-detail"},o("div",{className:"dssm-detail-head"},o("div",{className:"dssm-name",title:Cr},Cr),ge.body?o(rt.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){ge&&ge.body&&Xt(ge.body)}},e(ma==="copied"?"detail.copied":ma==="failed"?"detail.copyFailed":"detail.copyBody")):null),ge.customNote?o("p",{className:"dssm-desc dssm-custom-note",title:e("detail.customNote")},ge.customNote):null,ge.description?o("p",{className:"dssm-desc"+(ge.customNote?" dssm-desc-secondary":"")},ge.description):null,o("div",{className:"dssm-detail-path"},ge.path),ge.diagnostics.length?ge.diagnostics.map(function(r,s){return o("div",{key:s,className:"dssm-diag"},e(r.code,r.params||{}))}):null,o(et.TextArea,{className:"dssm-detail-body",readOnly:!0,value:ge.body||"",rows:16})):o("div",{className:"dssm-empty"},e("loading"))))}if(I&&typeof I=="object"&&I.type==="trash-confirm"&&Be.push(o(it,{key:"trash-confirm",title:e("confirm.trash.title"),description:e("confirm.trash.desc",{name:I.name}),closeLabel:e("btn.close"),onClose:function(){L(null)},footer:o($a.Fragment,null,ne(e("btn.cancel"),function(){L(null)},"outline"),ne(e("btn.trash"),function(){de("/delete",Object.assign({root:I.root,name:I.name},I.workspace?{workspace:I.workspace}:{}),"result.trashed",{name:I.name}).then(function(){L(null)}).catch(function(){})},"danger",y))})),I&&typeof I=="object"&&I.type==="delete-confirm"&&Be.push(o(it,{key:"delete-confirm",title:e("confirm.delete.title"),description:e("confirm.delete.desc",{name:I.name}),closeLabel:e("btn.close"),onClose:function(){L(null)},footer:o($a.Fragment,null,ne(e("btn.cancel"),function(){L(null)},"outline"),ne(e("btn.delete.forever"),function(){de("/trash-delete",{id:I.id},"result.deleted",{name:I.name}).then(function(){L(null)}).catch(function(){})},"danger",y))})),I&&typeof I=="object"&&(I.type==="category-create"||I.type==="category-rename")){var Ca=I.type==="category-rename",Bt=I,aa=Pa.trim(),He=!!aa&&(!Ca||aa!==Bt.name),Ya=function(){if(!(y||!He)){var r=Ca?de("/category-rename",{root:Bt.root,id:Bt.id,name:aa,workspace:Bt.workspace},"category.renamed"):de("/category-create",{root:Bt.root,name:aa,workspace:Bt.workspace},"category.created",{name:aa});r.then(function(){L(null)}).catch(function(){})}};Be.push(o(it,{key:I.type,title:e(Ca?"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(et,{value:Pa,maxLength:24,"aria-label":e("category.name"),onChange:function(r){Re(r.target.value)},onPressEnter:Ya})),o("p",{className:"dssm-help"},e("category.note"))),o("div",{className:"dssm-modal-actions"},ne(e("btn.cancel"),function(){L(null)},"outline"),ne(e(Ca?"btn.confirm":"category.create"),Ya,"primary",y||!He))))}if(I&&typeof I=="object"&&I.type==="category-add"){var nt=I,Na=J.trim().toLowerCase(),Nr=nt.skills.filter(function(r){return!Na||r.name.toLowerCase().includes(Na)||r.declaredName&&r.declaredName.toLowerCase().includes(Na)||r.description&&r.description.toLowerCase().includes(Na)}),Dt=new Set(nt.skills.map(function(r){return r.name})),Ae=Object.keys(se).filter(function(r){return se[r]&&Dt.has(r)}).length;Be.push(o(it,{key:"category-add",title:e("category.selectSkills",{name:nt.name}),closeLabel:e("btn.close"),onClose:function(){te({}),ee(""),L(null)}},o(et,{placeholder:e("search.placeholder"),value:J,allowClear:!0,onChange:function(r){ee(r.target.value)}}),o("div",{className:"dssm-batch-list"},Nr.length?Nr.map(function(r){var s=!!se[r.name];return o("div",{key:r.name,className:"dssm-batch-item"+(s?" selected":""),onClick:function(){var h=Object.assign({},se);s?delete h[r.name]:h[r.name]=!0,te(h)}},o(Vo,{className:"dssm-batch-check",checked:s,label:r.declaredName||r.name,onChange:function(){}}),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"},ne(e("btn.cancel"),function(){te({}),ee(""),L(null)},"outline"),ne(e("category.addSkills")+(Ae?" ("+Ae+")":""),function(){var r=Object.keys(se).filter(function(h){return se[h]&&Dt.has(h)});if(!r.length){te({}),ee(""),L(null);return}if(!Je.current){var s=function(h){return nt.workspace?Object.assign({},h,{workspace:nt.workspace}):h};Je.current=!0,w(!0),te({}),ee(""),L(null),r.reduce(function(h,R){return h.then(function(){return d("/category-assign",{method:"POST",headers:Ft,body:JSON.stringify(s({root:nt.root,name:R,category:nt.id}))})})},Promise.resolve()).then(function(){S({ok:!0,text:e("category.batchAssigned",{count:r.length,category:nt.name})})}).catch(function(h){S({ok:!1,text:fe(e,h)})}).finally(function(){Je.current=!1,w(!1);var h=nt.workspace;Promise.all([gt(!0),h?xe(h):null]).catch(function(){})})}},"primary",y||!Ae))))}if(I&&typeof I=="object"&&I.type==="skill-note"){var _e=I,ra=Kt.trim(),Ra=ra!==(_e.note||""),Ga=function(){if(!(y||!Ra)){var r=_e.workspace?{root:_e.root,name:_e.name,note:ra,workspace:_e.workspace}:{root:_e.root,name:_e.name,note:ra};de("/skill-note",r,ra?"note.updated":"note.cleared",{name:_e.name}).then(function(){L(null)}).catch(function(){})}};Be.push(o(it,{key:"skill-note",title:e("note.title"),closeLabel:e("btn.close"),onClose:function(){L(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("note.label")),o(et.TextArea,{value:Kt,maxLength:500,rows:4,placeholder:e("note.placeholder"),"aria-label":e("note.label"),onChange:function(r){oe(r.target.value)}})),o("p",{className:"dssm-help"},e("note.help"))),o("div",{className:"dssm-modal-actions"},ne(e("btn.cancel"),function(){L(null)},"outline"),_e.note?ne(e("note.clear"),function(){oe("")},"outline",y):null,ne(e("btn.confirm"),Ga,"primary",y||!Ra))))}return I&&typeof I=="object"&&I.type==="category-delete"&&Be.push(o(it,{key:"category-delete",title:e("confirm.category.title"),description:e("confirm.category.desc",{name:I.name}),closeLabel:e("btn.close"),onClose:function(){L(null)},footer:o($a.Fragment,null,ne(e("btn.cancel"),function(){L(null)},"outline"),ne(e("category.delete"),function(){de("/category-delete",{root:I.root,id:I.id,workspace:I.workspace},"category.deleted",{name:I.name}).then(function(){L(null)}).catch(function(){})},"danger",y))})),o("section",{className:"dssm-section"},Be)}var rn=null;function Do(){var a=globalThis.__DSH_DIRECTORY_PICKER__;if(a&&typeof a.pick=="function"){var e=a.pick.bind(a);return function(){return e()}}return rn}var ks=["slots","locale"];function ws(a){if(tr=a.locale,typeof a.inject=="function")try{a.inject(["uiWorkspace"],function(n){var $=n.uiWorkspace;if($&&typeof $.pickDirectory=="function"){var he=$.pickDirectory.bind($);rn=function(){return he()}}})}catch{}a.effect(function(){return a.locale.register(wt,ar)});var e,d;a.effect(function(){return e=No({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:Vn,isEnabled:function(){return d?d.isOnlineUpdateEnabled():!0}}),function(){typeof e=="function"&&e(),e=void 0}},"skills-manager: plugin update ui"),zo(a,function(){return a.locale.bind(wt)("title")});let u=null,m=null,g=!1,b=!1,y=()=>{if(!(!g||u)&&!(d&&!d.isSettingsSectionEnabled()))try{let n=a.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return a.locale.bind(wt)("title")},icon:"skill",locale:wt},io);u=typeof n=="function"?n:()=>{}}catch(n){console.warn("skills-manager: register settings.section failed:",n),u=null}},w=()=>{if(u){try{u()}catch{}u=null}},A=()=>{if(m)return!0;try{let n=a.slots.register({name:"settings.section.icon",id:"skills-manager",locale:wt},Io);return m=typeof n=="function"?n:()=>{},!0}catch(n){return console.warn("skills-manager: register settings.section.icon failed:",n),m=null,!1}},N=()=>{b&&(d&&!d.isSettingsSectionEnabled()||A())},j=()=>{let n=m;if(m=null,!!n)try{n()}catch{}},Z=()=>{d?.isSettingsSectionEnabled?.()??!0?(y(),N()):(w(),j())};if(typeof a.slots?.inject=="function")try{a.slots.inject("settings.section.icon",function(){b=!0;let n=function(){b=!1,j()};return d&&!d.isSettingsSectionEnabled()||!A(),n})}catch(n){console.warn("skills-manager: inject settings.section.icon failed:",n)}a.slots.inject("settings.section",function(){g=!0;try{if(d&&!d.isSettingsSectionEnabled())return function(){g=!1,w()};let n=a.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return a.locale.bind(wt)("title")},icon:"skill",locale:wt},io);return u=typeof n=="function"?n:()=>{},n}catch(n){return console.warn("skills-manager: register settings.section failed:",n),function(){g=!1}}}),d=lo(a,{callApi:er,headers:Ft,renderPanel:function(n){return o(io,Object.assign({t:a.locale.bind(wt)},n))},ns:wt,onOnlineUpdateChange:function(){e&&typeof e.refresh=="function"&&e.refresh()},onLocationChange:function(){Z()}}),a.effect(function(){return function(){d&&typeof d.destroy=="function"&&(d.destroy(),d=void 0),j(),w()}},"skills-manager: sidebar entry cleanup")}module.exports.formatTrashTime=qo;module.exports.DICT=ar;module.exports.translateError=fe;module.exports.parseApiResponse=Ko;module.exports.resolveApiUrl=Xa;module.exports.resolveRepoBrand=$o;module.exports.isSkillEnabled=zr;module.exports.countKey=Vt;module.exports.rootDisplayName=lt;module.exports.summarizeImportResult=Qo;module.exports.normalizeSkillQuery=Zo;module.exports.matchSkillQuery=po;module.exports.filterSkills=Zn;module.exports.visibleSkillRoots=mo;module.exports.scopeSkillRoots=Jo;module.exports.skillStatus=fo;module.exports.countSkillStatuses=Yo;module.exports.currentSessionId=tn;module.exports.canToggleSource=Go;module.exports.recoverModalFocus=en;module.exports.trapModalFocus=_n;module.exports.inspectUploadSelection=Xo;module.exports.setupSidebarEntry=lo;module.exports.apply=ws;module.exports.inject=ks;
64
88
  return module.exports;
65
89
  } });