@michengai/dsh-skills-manager 1.2.19 → 1.2.21

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 mn=Object.create;var wr=Object.defineProperty;var fn=Object.getOwnPropertyDescriptor;var gn=Object.getOwnPropertyNames;var hn=Object.getPrototypeOf,bn=Object.prototype.hasOwnProperty;var yn=(t,e,l,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of gn(e))!bn.call(t,p)&&p!==l&&wr(t,p,{get:()=>e[p],enumerable:!(d=fn(e,p))||d.enumerable});return t};var ha=(t,e,l)=>(l=t!=null?mn(hn(t)):{},yn(e||!t||!t.__esModule?wr(l,"default",{value:t,enumerable:!0}):l,t));var va=ha(require("react"),1);var rr={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.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":"GitHub \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 GitHub \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\u516C\u5F00 GitHub \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.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\u5F52\u6863\u8D85\u8FC7 32 MiB\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\uFF1B\u5B50\u76EE\u5F55\u7B5B\u9009\u4E0D\u4F1A\u7F29\u5C0F\u4E0B\u8F7D\u91CF\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.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":"GitHub 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 GitHub 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 public GitHub repository to get started.","repo.noSkills":"No matching skills. Refresh the repository or adjust your filters.","repo.url":"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 archive exceeds 32 MiB. Choose a smaller repository; a subdirectory filter does not reduce the download size.","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."}},vn=`
4
+ "use strict";var vo=Object.create;var Er=Object.defineProperty;var wo=Object.getOwnPropertyDescriptor;var ko=Object.getOwnPropertyNames;var xo=Object.getPrototypeOf,So=Object.prototype.hasOwnProperty;var Co=(a,t,d,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let p of ko(t))!So.call(a,p)&&p!==d&&Er(a,p,{get:()=>t[p],enumerable:!(c=wo(t,p))||c.enumerable});return a};var ha=(a,t,d)=>(d=a!=null?vo(xo(a)):{},Co(t||!a||!a.__esModule?Er(d,"default",{value:a,enumerable:!0}):d,a));var wa=ha(require("react"),1);var mr={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.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":"GitHub \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 GitHub \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\u516C\u5F00 GitHub \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.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\u5F52\u6863\u8D85\u8FC7 32 MiB\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\uFF1B\u5B50\u76EE\u5F55\u7B5B\u9009\u4E0D\u4F1A\u7F29\u5C0F\u4E0B\u8F7D\u91CF\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.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":"GitHub 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 GitHub 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 public GitHub repository to get started.","repo.noSkills":"No matching skills. Refresh the repository or adjust your filters.","repo.url":"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 archive exceeds 32 MiB. Choose a smaller repository; a subdirectory filter does not reduce the download size.","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."}},No=`
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,7 @@ 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-block;width:12px;height:12px;margin-right:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;corner-shape:round;animation:dssm-repo-spin .8s linear infinite}@keyframes dssm-repo-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dssm-repo-spinner{animation:none}}.dssm-repo-commit-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;line-height:16px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);margin-left:12px;white-space:nowrap;user-select:all}.dssm-repo-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-repo-panel .dssm-desc{margin:0}.dssm-repo-metadata{font-size:11px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow-wrap:anywhere}.dssm-repo-panel .dssm-source{flex-shrink:0;overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-repo-panel .dssm-source-title{font-size:14px;font-weight:650;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:7px}.dssm-repo-panel .dssm-source-brand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-panel .dssm-source-brand svg{width:16px;height:16px;display:block}.dssm-repo-panel .dssm-source-path{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-repo-panel .dssm-count{padding:1px 6px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-bg-layer-2,rgba(255,255,255,0.08));font-size:11px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-manage-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.dssm-repo-manage-row .dssm-repo-main{flex:1}.dssm-repo-manage-row .dssm-repo-actions{margin-left:auto}.dssm-repo-manage-row .dssm-repo-actions button{width:auto;flex:none}.dssm-repo-head .dssm-repo-actions{gap:8px}.dssm-repo-actions>.dssm-repo-copy-actions{display:contents}.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-repo-copies{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:2px}.dssm-repo-copy{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 4px 4px 8px;border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1,rgba(255,255,255,0.04))}.dssm-repo-copy .dssm-repo-metadata{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-copy .dssm-repo-copy-actions{margin-left:0}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger{border-color:var(--dsw-alias-border-l2,#494949)}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger:not(:disabled):hover{color:var(--dsw-alias-state-error-primary,#ef7272)!important;border-color:var(--dsw-alias-state-error-primary,#ef7272)!important}.dssm-repo-copy .dssm-repo-metadata{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dssm-location-lead{flex:0 1 auto;max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-location-path{margin-left:auto;min-width:0;max-width:50%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}`;function kr({react:t,Modal:e,Input:l,Button:d,SourceSelect:p,destination:g,api:f,headers:h,translateError:w,getLocale:k}){let n=t.createElement;function H(N){return n("svg",{className:"dssm-fold-chevron"+(N?" 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 D=d,{DestinationPicker:V,defaultDestination:se,destinationPayload:te,destinationReady:C}=g;return function({active:X,t:c,onInstalled:W}){let[ne,pe]=t.useState([]),[S,j]=t.useState([]),[b,q]=t.useState(!1),[ke,Ie]=t.useState(null),[it,_]=t.useState(null),[ie,Ke]=t.useState(null),[Xt,Ge]=t.useState(""),[mt,Mt]=t.useState(""),[qe,_t]=t.useState(""),[Ht,me]=t.useState({}),[y,F]=t.useState(null),[le,ft]=t.useState(se()),[Ae,Sa]=t.useState([]),[Z,Dt]=t.useState("github"),[fe,Ca]=t.useState(""),[gt,Ut]=t.useState(""),[jt,ve]=t.useState(""),[Le,$t]=t.useState([]),[ea,Ot]=t.useState([]),[Na,ta]=t.useState([]),[ht,Ra]=t.useState([]),[Aa,Me]=t.useState([]),[bt,Xe]=t.useState("idle");function aa(a){if(typeof navigator>"u"||!navigator.clipboard){Xe("failed");return}navigator.clipboard.writeText(a).then(()=>{Xe("copied"),setTimeout(()=>Xe("idle"),1500)}).catch(()=>Xe("failed"))}let[Bt,Ea]=t.useState(!0),[He,ra]=t.useState(!1),[Pe,xe]=t.useState(!1),[na,Ft]=t.useState([]),[Qe,lt]=t.useState(!1),[_e,Ze]=t.useState(!1),$=t.useRef(0),yt=t.useRef(null),$e=t.useRef(null),[vt,La]=t.useState(""),[Vt,Za]=t.useState(""),[oa,Wt]=t.useState([]),[Pa,De]=t.useState(!1),[wt,Ye]=t.useState(!1),dt=t.useRef(0),Ue=t.useRef(null),J=t.useRef(null),Se=t.useRef({cursor:null,count:0,hasMore:!0}),je=t.useRef(null),Kt=t.useRef(null),[et,sa]=t.useState({url:"",ref:"",subdirectory:""}),we=t.useRef(!1),U=t.useRef(!0);t.useEffect(()=>(U.current=!0,()=>{U.current=!1}),[]);async function tt(){let a=await f("/repositories");if(U.current){let i=(a.installRoots||[]).filter(u=>u.key==="dsh"||u.key==="agents");pe(a.repositories||[]),j(i),Ot(a.catalogInstalls||[]),ta(a.catalogCopies||[]),Ra(a.catalogUnknownIds||[]),Me(a.catalogWarnings||[]),le.scope==="user"&&!i.some(u=>u.key===le.location&&u.available)&&ft({...le,location:i.find(u=>u.available)?.key||"dsh"}),f("/workspaces").then(u=>{U.current&&Sa(u.items||[])}).catch(()=>{})}}function Oe(a){if(a.key==="dsh"||a.key==="agents")return c(a.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let i="root."+(a.localeKey||a.key),u=c(i);return u===i?a.label:u}function ct(a){let i=S.find(u=>u.key===a);return i?Oe(i):c("root."+a)}function Be(a){if(a.installedWorkspace){let i=m=>{let x=m.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(x)?x.toLowerCase():x},u=Ae.find(m=>m.projectRoot&&i(m.projectRoot)===i(a.installedWorkspace));return u?.available&&u.registeredPaths[0]?{workspace:u.registeredPaths[0]}:null}return a.installedRoot==="dsh"||a.installedRoot==="agents"?{root:a.installedRoot}:null}function kt(a){return a.installedWorkspace||a.installedRoot?St(a):""}function xt(a){let i=a.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(i)?i.toLowerCase():i}function Ta(a){let i=Ae.find(x=>x.projectRoot&&xt(x.projectRoot)===xt(a));if(i?.name)return i.name;let u=a.replace(/[\\/]+$/,""),m=Math.max(u.lastIndexOf("/"),u.lastIndexOf("\\"));return m>=0?u.slice(m+1):u}function za(a){let i=!!a.installedWorkspace,u=i?"dsh":a.installedRoot,m=c(u==="agents"?"repo.source.agents":"repo.source.dsh"),x=c(i?"repo.scope.project":"repo.scope.user"),E=i?a.installedWorkspace||"":S.find(L=>L.key===u)?.path||"";return{lead:i?[x,Ta(a.installedWorkspace||""),m].filter(Boolean).join(" \xB7 "):[x,m].filter(Boolean).join(" \xB7 "),path:E}}function St(a){let i=za(a);return i.path?i.lead+" "+i.path:i.lead}function at(a){let i=za(a);return n("div",{className:"dssm-repo-metadata",title:St(a)},n("span",{className:"dssm-location-lead"},i.lead),i.path?n("span",{className:"dssm-location-path",title:i.path},i.path):null)}function Ia(a){return a.slice().sort((i,u)=>+!!i.installedWorkspace-+!!u.installedWorkspace)}function Ya(a){return Ia((a.installations??(a.installedRoot?[a]:[])).filter(i=>i.tracked===!0))}function ia(a){let i=a,u=w(c,a)||i.message||String(a),m=i?.params?.path;return typeof m=="string"&&m&&!u.includes(m)?u+" \xB7 "+m:u}function Ma(a){return a.payload?ia(a.payload):(a.key?c(a.key):a.text||"")+(a.name?" \xB7 "+a.name:"")}async function Ce(a,i=!0,u=!1){if(!we.current){we.current=!0,u||(q(!0),_(null));try{await a(),i&&await tt()}catch(m){let x=m;U.current&&_({error:!0,payload:x})}finally{we.current=!1,U.current&&q(!1)}}}function Fe(a,i){return f(`/repositories/${a}`,{method:"POST",headers:h,body:JSON.stringify(i)})}let qt=t.useRef(!1);async function ut(a=!1,i=!1,u=fe){if(!X||u.trim()||je.current||i&&qt.current)return;let m=Se.current;if(!a&&(!m.hasMore||m.count>=100))return;i&&(qt.current=!0);let x=a?0:m.count,E=new AbortController;je.current=E,ra(!0),xe(!1),a&&(Se.current={cursor:null,count:0,hasMore:!0},$t([]));try{let O=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-x))}),L=a?null:m.cursor;L&&O.set("cursor",L);let be=await f(`/clawhub/list?${O.toString()}`,{signal:E.signal});if(je.current!==E||E.signal.aborted||!U.current)return;if(!Array.isArray(be.items))throw new Error("ClawHub response has no items array");let br=be.items.flatMap(ee=>{if(typeof ee.ownerHandle!="string"||!ee.ownerHandle||typeof ee.slug!="string"||!ee.slug)return[];let tr=ar=>typeof ar=="number"&&Number.isFinite(ar)?ar:void 0;return[{id:ee.ownerHandle+"/"+ee.slug,owner:ee.ownerHandle,slug:ee.slug,name:typeof ee.displayName=="string"&&ee.displayName?ee.displayName:ee.slug,source:ee.ownerHandle+"/"+ee.slug,description:typeof ee.summary=="string"?ee.summary:"",downloads:tr(ee.stats?.downloads),installs:tr(ee.stats?.installs),stars:tr(ee.stats?.stars)}]}).slice(0,Math.max(0,100-x)),yr=typeof be.nextCursor=="string"&&be.nextCursor?be.nextCursor:null,vr=x+br.length;if(Se.current={cursor:yr,count:vr,hasMore:!!yr&&vr<100},!U.current)return;$t(ee=>[...a?[]:ee,...br].slice(0,100)),Ea(Se.current.hasMore)}catch{je.current===E&&!E.signal.aborted&&U.current&&xe(!0)}finally{je.current===E&&(je.current=null,qt.current=!1,U.current&&ra(!1))}}function Ct(){$e.current&&clearTimeout($e.current),$e.current=null,$.current++,yt.current?.abort(),yt.current=null,U.current&&lt(!1)}async function la(a){let i=++$.current,u=new AbortController;yt.current?.abort(),yt.current=u,Ft([]),lt(!0),Ze(!1);try{let m=new URLSearchParams({q:a,limit:"100"}),x=await f(`/clawhub/search?${m.toString()}`,{signal:u.signal});if(!Array.isArray(x.results))throw new Error("ClawHub search response has no results array");let E=L=>typeof L=="number"&&Number.isFinite(L)?L:void 0,O=x.results.flatMap(L=>{if(typeof L.source=="string"&&L.source!=="clawhub")return[];let be=typeof L.ownerHandle=="string"?L.ownerHandle:L.owner?.handle;return typeof be!="string"||!be||typeof L.slug!="string"||!L.slug?[]:[{id:typeof L.id=="string"?L.id:be+"/"+L.slug,owner:be,slug:L.slug,name:typeof L.displayName=="string"&&L.displayName?L.displayName:L.slug,source:be+"/"+L.slug,description:typeof L.summary=="string"?L.summary:"",downloads:E(L.downloads)??E(L.stats?.downloads),installs:E(L.stats?.installs),stars:E(L.stats?.stars)}]});i===$.current&&U.current&&Ft(O)}catch(m){let x=m?.name==="AbortError";i===$.current&&U.current&&!x&&Ze(!0)}finally{i===$.current&&(yt.current=null,U.current&&lt(!1))}}function Qt(a){Ca(a),Ct(),Ft([]),Ze(!1);let i=a.trim().slice(0,100);if(!i){Z==="clawhub"&&!Le.length&&!He&&ut(!0,!1,i);return}lt(!0),$e.current=setTimeout(()=>{$e.current=null,la(i)},300)}function Ja(){J.current&&clearTimeout(J.current),J.current=null,dt.current++,Ue.current?.abort(),Ue.current=null,U.current&&De(!1)}async function da(a){let i=++dt.current,u=new AbortController;Ue.current?.abort(),Ue.current=u,Wt([]),De(!0),Ye(!1);try{let m=await f(`/skills-sh/search?q=${encodeURIComponent(a)}`,{signal:u.signal});i===dt.current&&U.current&&Wt(m.skills)}catch(m){let x=m?.name==="AbortError";i===dt.current&&U.current&&!x&&Ye(!0)}finally{i===dt.current&&(Ue.current=null,U.current&&De(!1))}}function Ga(a){La(a),J.current&&clearTimeout(J.current),J.current=null,dt.current++,Ue.current?.abort(),Ue.current=null,Wt([]),De(!1),Ye(!1);let i=a.trim();i&&(J.current=setTimeout(()=>{J.current=null,da(i)},300))}function Nt(a){F(null),Dt(a)}function Xa(a){let i=a.getBoundingClientRect(),u=a.parentElement;for(;u;){let m=getComputedStyle(u);if(/(auto|scroll)/.test(`${m.overflowY} ${m.overflow}`)&&u.scrollHeight>u.clientHeight+1){let x=u.getBoundingClientRect();return i.top<=x.bottom+80&&i.bottom>=x.top}u=u.parentElement}return i.top<=window.innerHeight+80}function _a(a){if(y||a.defaultPrevented||a.deltaY<=0||Z!=="clawhub"||fe.trim()||!Bt||Pe||!a.target||!a.currentTarget.contains(a.target))return;let i=Kt.current;!i||typeof i.getBoundingClientRect!="function"||!Xa(i)||ut(!1,!0)}async function Ha(a){let i=await Fe("refresh",{id:a});i.error&&_({error:!0,payload:i.error})}function ca(a){return Ce(async()=>{let i=!1;try{for(let u=0;u<a.length;u++){let m=a[u];Ie({id:m.id,name:m.owner+"/"+m.name,index:u+1,total:a.length});let x=await Fe("refresh",{id:m.id});x.error&&(i=!0,_({error:!0,payload:x.error}))}await tt(),!i&&U.current&&_({key:"repo.refreshed"})}finally{U.current&&Ie(null)}},!1)}function $a(a,i){return Ce(async()=>{Xe("idle"),F({type:"detail",repo:a,loading:!0});try{let u=await Fe("detail",{id:a.id,path:i.path});U.current&&F({type:"detail",detail:u,repo:a})}catch(u){let m=u;throw U.current&&F({type:"detail",repo:a,failed:!0}),m}},!1,!0)}function ua(a){return Ce(async()=>{Xe("idle"),F({type:"catalog-detail",loading:!0});try{let i=await f("/catalog/detail",{method:"POST",headers:h,body:JSON.stringify(a)});U.current&&F({type:"catalog-detail",detail:i})}catch(i){let u=i;throw U.current&&F({type:"catalog-detail",failed:!0}),u}},!1,!0)}function Da(a){we.current||(_(null),F({type:"catalog-install",target:a}))}function er(){if(!y||y.type!=="catalog-install"||!C(le,Ae,S))return;let a=y.target,i=te(le);return Ce(async()=>{let u=await f("/catalog/install",{method:"POST",headers:h,body:JSON.stringify({...a,...i})});if(!U.current)return;let m=a.catalog==="skillsh"?`skillsh:${a.source}/${a.skillId}`:`clawhub:${a.owner}/${a.slug}`;Ot(O=>O.includes(m)?O:[...O,m]);let x=i.root||"dsh";ta(O=>O.some(L=>L.id===m&&L.installedRoot===x&&L.installedWorkspace===i.workspace)?O:[...O,{id:m,name:u.name,installedRoot:x,...i.workspace?{installedWorkspace:i.workspace}:{},canUninstall:!0}]),_({key:"repo.installSuccess",name:a.name}),F(null);let E=await Promise.allSettled([tt(),Promise.resolve().then(()=>W?.())]);U.current&&E.some(O=>O.status==="rejected")&&_({key:"repo.catalog.installRefreshWarning",name:a.name})},!1)}t.useEffect(()=>{X&&Ce(tt,!1)},[X]),t.useEffect(()=>(X&&(Z==="clawhub"?fe.trim()?la(fe.trim()):Le.length||ut(!0):Z==="skillsh"&&vt.trim()&&da(vt.trim())),()=>{Ct(),Ja(),je.current?.abort(),je.current=null,qt.current=!1,U.current&&ra(!1)}),[X,Z]);function de(a,i,u=!0,m=!1,x=!1){return n(D,{variant:u?"outline":"primary",className:x?"dssm-btn-danger":void 0,disabled:b||m,onClick:i},c(a))}function pa(a){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},n("path",{d:a,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function G(a,i,u=!1,m){var x=a==="repo.uninstall"||a==="repo.uninstalling"||a==="repo.remove",E=a==="repo.installed"||a==="repo.installedSuccess",O=a==="repo.conflict",L=a==="repo.refresh"||a==="repo.refreshing"?"M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10":a==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":a==="repo.installElsewhere"?"M8 3v10M3 8h10":a==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":a==="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":a==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":x?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":O?"M8 2.5l5.5 10.5H2.5L8 2.5zm0 3.5v3.5m0 2v.5":"M8 2.5v7M5.2 7.2 8 10l2.8-2.8M3.5 13.5h9";return n(D,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(x?" dssm-icon-danger":E?" dssm-icon-success":O?" dssm-icon-warn":""),"aria-label":c(a),title:m||c(a),icon:pa(L),disabled:b||u,onClick:i,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},x?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},x?{danger:!0}:{}))}function Rt(a){F({type:"remove",repo:a})}function he(a){return ke&&ke.id===a.id?n(D,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":c("repo.refreshing"),title:c("repo.refreshing"),icon:n("span",{className:"dssm-repo-spinner","aria-hidden":!0}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):G("repo.refresh",()=>ca([a]))}function Ua(){return ne.length?ne.map(a=>n("div",{key:a.id,className:"dssm-repo-row dssm-repo-manage-row"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},a.owner+"/"+a.name),n("div",{className:"dssm-note"},[a.ref||c("repo.defaultBranch"),a.subdirectory].filter(Boolean).join(" \xB7 ")),n("div",{className:"dssm-repo-metadata"},a.refreshedAt?c("repo.updated")+" \xB7 "+new Date(a.refreshedAt).toLocaleString(k?.()||c("format.locale")):c("repo.notScanned"))),n("div",{className:"dssm-repo-actions"},he(a),G("repo.remove",()=>Rt(a))))):n("div",{className:"dssm-empty"},c("repo.empty"))}function Zt(a,i=!1){let u=ke&&(!i||ke.id===a[0]?.id);return n(D,{variant:"outline",disabled:b||!a.length,"aria-busy":!!u,onClick:()=>ca(a)},u?n("span",{className:"dssm-repo-spinner","aria-hidden":!0}):null,c(u?"repo.refreshing":"repo.refresh"))}function Ne(){we.current||(Xe("idle"),F(null))}function pt(a,i,u,m){we.current||a==="uninstall"&&(!m||!m.canUninstall||!Be(m))||(_(null),F({type:a,repo:i,skill:u,copy:m}))}function ma(){if(!y||y.type!=="install"&&y.type!=="uninstall")return;let a=y,i=a.type,u=le;if(i==="install"&&!C(u,Ae,S))return;let m=i==="install"?te(u):a.copy&&Be(a.copy);if(m)return Ce(async()=>{let x={id:a.repo.id,path:a.skill.path,...m};Ke({...x,action:i,pending:!0,key:"repo."+i+"Progress"});try{await Fe(i,x)}catch(L){let be=L;throw U.current&&Ke({...x,action:i,error:!0,payload:be}),be}if(!U.current)return;let E="repo."+i+"Success";Ke({...x,action:i,key:E}),_({key:E,name:a.skill.name}),F(null);let O=await Promise.allSettled([tt(),Promise.resolve().then(()=>W?.())]);for(let L of O)if(L.status==="rejected")throw L.reason},!1)}function fa(a,i,u,m=!1){let x=Be(u);if(!(!x||(m?!u.canRollback:!u.tracked)))return Ce(async()=>{let E=await Fe("preview",{id:a.id,path:i.path,...x,rollback:m});F({type:m?"rollback":"review",repo:a,skill:i,copy:u,detail:E})})}function Ve(){if(!y||y.type!=="review"&&y.type!=="rollback")return;let a=y,i=a.type==="rollback",u=Be(a.copy);if(u)return Ce(async()=>{let m={id:a.repo.id,path:a.skill.path,...u};Ke({...m,pending:!0,key:"repo.updateProgress"});try{await Fe(i?"rollback":"update",{...m,token:a.detail.token,overwrite:a.detail.localModified})}catch(E){let O=E;throw U.current&&Ke({...m,error:!0,payload:O}),O}if(!U.current)return;let x=i?"repo.rollbackSuccess":"repo.updateSuccess";Ke({...m,key:x}),_({key:x}),F(null),W&&await W()})}function At(a,i,u){return n(D,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:b,"aria-label":c(a),title:c(a),icon:pa(i),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:u})}function ja(a){let i=ke&&ke.id===a[0]?.id;return n(D,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:b||!a.length,"aria-busy":!!i,"aria-label":c(i?"repo.refreshing":"repo.refresh"),title:c(i?"repo.refreshing":"repo.refresh"),icon:i?n("span",{className:"dssm-repo-spinner","aria-hidden":!0}):pa("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>ca(a)})}function Oa(){return n("div",{className:"dssm-filter-actions"},ja(ne),At("repo.add","M8 2.5v11M2.5 8h11",()=>{_(null),sa({url:"",ref:"",subdirectory:""}),F({type:"add"})}),At("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{_(null),F({type:"manage"})}))}let ga=n("div",{key:"repository-actions",className:"dssm-actions"},Zt(ne),de("repo.add",()=>{_(null),sa({url:"",ref:"",subdirectory:""}),F({type:"add"})},!1),de("repo.manage",()=>{_(null),F({type:"manage"})})),r=ne.filter(a=>!mt||a.id===mt);function s(a,i,u){let m=Be(u),x=ie?.id===a.id&&ie.path===i.path&&ie.pending&&m&&ie.root===m.root&&ie.workspace===m.workspace;return n("div",{className:"dssm-repo-copy-actions"},u.tracked&&(u.updateAvailable||u.status==="conflict")?G("repo.review",()=>fa(a,i,u),!m):null,u.canRollback?G("repo.rollback",()=>fa(a,i,u,!0),!m):null,u.canUninstall?G(x&&ie.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>pt("uninstall",a,i,u),!m,St(u)):null)}function v(a,i,u){let m=Be(u);return n("div",{className:"dssm-repo-copy",key:JSON.stringify([u.installedRoot,u.installedWorkspace||""])},at(u),s(a,i,u),m?null:n("div",{className:"dssm-note",role:"status"},c("repo.destinationUnavailable")))}let z=r.map(a=>{let i=Xt.trim().toLowerCase(),u=a.skills.filter(E=>(!qe||E.status===qe)&&(!i||`${E.name} ${E.description} ${a.owner}/${a.name}`.toLowerCase().includes(i))),m=Ht[a.id]===void 0?!!i||!!qe:Ht[a.id],x=m?u.length?u.map(E=>{let O=Ya(E),L=O.length===1?O[0]:void 0;return n("div",{key:E.path,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},E.name),n("div",{className:"dssm-repo-description",title:E.description},E.description),L&&!Be(L)?n("div",{className:"dssm-note",role:"status"},c("repo.destinationUnavailable")):null,ie?.id===a.id&&ie.path===E.path?n("div",{className:"dssm-note"+(ie.error?" dssm-error":""),role:ie.error?"alert":"status","aria-live":"polite"},Ma(ie)):null),n("div",{className:"dssm-repo-actions"},G("repo.detail",()=>$a(a,E)),G(ie?.id===a.id&&ie.path===E.path&&ie.pending&&ie.action==="install"?"repo.installing":O.length?"repo.installElsewhere":"repo."+(E.status==="available"?"install":E.status),()=>pt("install",a,E),!O.length&&E.status!=="available"))),O.length?n("div",{className:"dssm-repo-copies"},O.map(be=>v(a,E,be))):null)}):n("div",{className:"dssm-empty"},c("repo.noSkills")):null;return n("div",{key:a.id},n("section",{className:"dssm-source"},n("div",{className:"dssm-source-head"},n("button",{type:"button",className:"dssm-source-toggle","aria-expanded":m,onClick:()=>me({...Ht,[a.id]:!m})},H(m),n("div",{className:"dssm-source-label"},n("span",{className:"dssm-source-brand",title:"GitHub Repository"},n("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"currentColor"},n("path",{d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))),n("span",{className:"dssm-source-title"},a.owner+"/"+a.name),n("span",{className:"dssm-count"},u.length),n("span",{className:"dssm-source-path",title:a.owner+"/"+a.name},[a.ref||c("repo.defaultBranchLabel"),a.subdirectory].filter(Boolean).join(" \xB7 ")||a.owner+"/"+a.name))),n("span",{className:"dssm-repo-commit-badge",title:a.commit||c("repo.notScanned")},a.commit?a.commit.slice(0,7):c("repo.notScanned"))),m?n("div",{className:"dssm-source-body",role:"region"},x):null),a.error?n("div",{className:"dssm-feedback dssm-error",role:"alert"},ia(a.error)):null)});function P(a,i,u,m){return n(p,{label:c(a),value:i,onChange:u,options:[{value:"",label:c(a)},...m.map(([x,E])=>({value:x,label:E}))]})}let T=it?n("div",{className:"dssm-feedback"+(it.error?" dssm-error":""),role:it.error?"alert":"status"},Ma(it)):null,Y=ke?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},c("repo.refreshing")+" "+ke.index+"/"+ke.total+" \xB7 "+ke.name):null,ae;if(y){let a,i,u;if(y.type==="install"&&(a=n("div",{className:"dssm-repo-panel","aria-busy":b},n("div",{className:"dssm-name"},y.skill.name),n(V,{t:c,value:le,disabled:b,allowAgents:!0,workspaces:Ae,userDestinations:S,onChange:m=>{we.current||ft({...le,...m})}}),n("p",{className:"dssm-note"},c("repo.installLocationsHint")),n("p",{className:"dssm-note"},c("repo.installHint")),b?n("div",{role:"status","aria-live":"polite"},c("repo.installProgress")):null,T,n("div",{className:"dssm-modal-actions"},de("repo.cancel",Ne),de(b?"repo.installing":"repo.install",ma,!1,!C(le,Ae,S))))),y.type==="uninstall"&&(i=c("repo.uninstallHint"),a=n("div",{className:"dssm-repo-panel","aria-busy":b},n("div",{className:"dssm-name"},y.skill.name),y.copy?n("div",{className:"dssm-repo-metadata"},kt(y.copy)):null,y.copy?.installedRoot==="agents"&&!y.copy.installedWorkspace?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},c("repo.uninstallExternalWarning")):null,b?n("div",{role:"status","aria-live":"polite"},c("repo.uninstallProgress")):null,T),u=n(t.Fragment,null,de("repo.cancel",Ne),de(b?"repo.uninstalling":"repo.confirmUninstall",ma,!0,!y.copy||!Be(y.copy),!0))),(y.type==="review"||y.type==="rollback")&&(a=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-name"},y.skill.name),n("div",{className:"dssm-repo-metadata"},kt(y.copy)),n("div",{className:"dssm-repo-metadata"},y.repo.owner+"/"+y.repo.name+" \xB7 "+y.detail.commit?.slice(0,7)),y.detail.localModified?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},c("repo.modified")):null,y.detail.changes.length?n("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},y.detail.changes.map(m=>n("li",{key:m.path},c("repo."+(m.kind==="modified"?"modifiedFile":m.kind))+" \xB7 "+m.path))):n("p",null,c("repo.noChanges")),b?n("div",{role:"status"},c("repo.updateProgress")):null,T),u=n(t.Fragment,null,de("repo.cancel",Ne),de(y.detail.localModified?"repo.overwrite":y.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",Ve,!1,!y.detail.changes.length||!Be(y.copy)))),y.type==="add"&&(a=n("form",{className:"dssm-form",onSubmit:m=>{m.preventDefault(),et.url.trim()&&Ce(async()=>{let x=await Fe("add",et);await Ha(x.id),F(null)})}},[["url","repo.url","https://github.com/owner/repo"],["ref","repo.ref",c("repo.defaultBranch")],["subdirectory","repo.directory",c("repo.directoryHint")]].map(([m,x,E])=>n("label",{className:"dssm-field",key:m},n("span",{className:"dssm-label"},c(x)),n(l,{"aria-label":c(x),value:et[m],placeholder:E,maxLength:m==="url"?2048:512,required:m==="url",disabled:b,onChange:O=>sa({...et,[m]:O.target.value})}))),T,n("div",{className:"dssm-modal-actions"},de("repo.cancel",Ne),de("repo.save",()=>{et.url.trim()&&Ce(async()=>{let m=await Fe("add",et);await Ha(m.id),F(null)})},!1,!et.url.trim())))),y.type==="manage"&&(a=n("div",{className:"dssm-repo-panel"},n("p",{className:"dssm-desc"},c("repo.removeHint")),Y,T,Ua())),y.type==="remove"&&(i=c("repo.removeHint"),a=n("div",null,n("div",{className:"dssm-name"},y.repo.owner+"/"+y.repo.name),T),u=n(t.Fragment,null,de("repo.cancel",()=>F({type:"manage"})),de("repo.removeConfirm",()=>Ce(async()=>{await Fe("remove",{id:y.repo.id}),mt===y.repo.id&&Mt(""),F({type:"manage"})}),!0,!1,!0))),y.type==="catalog-detail"&&y.detail){let m=y.detail;a=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:m.name},m.name),m.body?n(D,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>aa(m.body)},c(bt==="copied"?"repo.copied":bt==="failed"?"repo.copyFailed":"repo.copyBody")):null),n("p",{className:"dssm-desc"},m.description),n("div",{className:"dssm-detail-path"},m.origin),n("p",{className:"dssm-note"},c("repo.installHint")),n(l.TextArea,{className:"dssm-detail-body",readOnly:!0,value:m.body||"",rows:16}))}if(y.type==="catalog-detail"&&!y.detail&&(a=n("div",{role:"status",className:"dssm-repo-panel"},y.loading?c("repo.detailLoading"):null,y.failed?T:null)),y.type==="catalog-install"&&(a=n("div",{className:"dssm-repo-panel","aria-busy":b},n("div",{className:"dssm-name"},y.target.name),n(V,{t:c,value:le,disabled:b,allowAgents:!0,workspaces:Ae,userDestinations:S,onChange:m=>{we.current||ft({...le,...m})}}),n("p",{className:"dssm-note"},c("repo.installLocationsHint")),n("p",{className:"dssm-note"},c("repo.installHint")),b?n("div",{role:"status","aria-live":"polite"},c("repo.installProgress")):null,T,n("div",{className:"dssm-modal-actions"},de("repo.cancel",Ne),de(b?"repo.installing":"repo.install",er,!1,!C(le,Ae,S))))),y.type==="catalog-uninstall"&&(i=c("repo.uninstallHint"),a=n("div",{className:"dssm-repo-panel","aria-busy":b},n("div",{className:"dssm-name"},y.copy.name),n("div",{className:"dssm-repo-metadata"},Re(y.copy)),y.copy.installedRoot==="agents"&&!y.copy.installedWorkspace?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},c("repo.uninstallExternalWarning")):null,b?n("div",{role:"status","aria-live":"polite"},c("repo.uninstallProgress")):null,T),u=n(t.Fragment,null,de("repo.cancel",Ne),de(b?"repo.uninstalling":"repo.confirmUninstall",A,!0,!1,!0))),y.type==="detail"&&y.detail){let m=y.detail;a=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:m.name},m.name),m.body?n(D,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>aa(m.body)},c(bt==="copied"?"repo.copied":bt==="failed"?"repo.copyFailed":"repo.copyBody")):null),n("p",{className:"dssm-desc"},m.description),n("div",{className:"dssm-detail-path"},y.repo.owner+"/"+y.repo.name+" \xB7 "+m.path),n("div",{className:"dssm-repo-metadata"},c("repo.commit")+" \xB7 "+m.commit),n("p",{className:"dssm-note"},c("repo.installHint")),n(l.TextArea,{className:"dssm-detail-body",readOnly:!0,value:m.body||"",rows:16}))}y.type==="detail"&&!y.detail&&(a=n("div",{role:"status",className:"dssm-repo-panel"},y.loading?c("repo.detailLoading"):null,y.failed?T:null)),ae=n(e,{className:y.type==="detail"||y.type==="catalog-detail"?"dssm-modal-wide":void 0,title:c("repo."+(y.type==="catalog-detail"?"detail":y.type==="catalog-install"?"install":y.type==="catalog-uninstall"?"uninstall":y.type==="remove"?"remove":y.type)),description:i,footer:u,closeLabel:c("repo.close"),onClose:Ne},a)}function K(a){return ea.includes(a)||B(a).length>0}function B(a){return Ia(Na.filter(i=>i.id===a))}function Re(a){return St(a)}function rt(a){!we.current&&a.canUninstall&&(_(null),F({type:"catalog-uninstall",copy:a}))}function A(){if(!y||y.type!=="catalog-uninstall")return;let a=y.copy;return Ce(async()=>{if(await f("/delete",{method:"POST",headers:h,body:JSON.stringify({name:a.name,root:a.installedRoot,...a.installedWorkspace?{workspace:a.installedWorkspace}:{}})}),!U.current)return;ta(u=>u.filter(m=>m!==a&&!(m.id===a.id&&m.installedRoot===a.installedRoot&&m.installedWorkspace===a.installedWorkspace))),_({key:"repo.uninstallSuccess",name:a.name}),F(null);let i=await Promise.allSettled([tt(),Promise.resolve().then(()=>W?.())]);U.current&&i.some(u=>u.status==="rejected")&&_({key:"repo.catalog.uninstallRefreshWarning",name:a.name})},!1)}function Q(a,i,u,m){let x=B(a);return n("div",{className:"dssm-repo-actions"},G("repo.detail",u),i&&!x.length?n("span",{className:"dssm-note",role:"status"},c("repo.catalog.unknownLocation")):null,x.length?G("repo.installElsewhere",m):K(a)?n("span",{className:"dssm-catalog-installed",role:"status"},c("repo.installed")):G(i?"repo.catalog.reassociate":"repo.install",m))}function Ee(a){let i=B(a);return i.length?n("div",{className:"dssm-repo-copies"},i.map(u=>n("div",{className:"dssm-repo-copy",key:JSON.stringify([u.id,u.installedRoot,u.installedWorkspace||""])},at(u),u.canUninstall?G("repo.uninstall",()=>rt(u),!1,St(u)):null))):null}let oe=Le.filter(a=>{let i=K(`clawhub:${a.owner}/${a.slug}`);return!jt||(jt==="installed"?i:!i)}),ce=gt==="installs"?oe.slice().sort((a,i)=>(i.installs||0)-(a.installs||0)):gt==="name"?oe.slice().sort((a,i)=>a.name.localeCompare(i.name)):oe,R=a=>{let i=ht.includes(`clawhub:${a.owner}/${a.slug}`),u=[a.source,a.downloads===void 0?null:a.downloads.toLocaleString()+" "+c("repo.catalog.downloads"),a.installs===void 0?null:a.installs.toLocaleString()+" "+c("repo.catalog.installs"),a.stars===void 0?null:a.stars.toLocaleString()+" "+c("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return n("div",{key:a.id,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},a.name),a.description?n("div",{className:"dssm-repo-description",title:a.description},a.description):null,n("div",{className:"dssm-meta-origin"},u)),Q(`clawhub:${a.owner}/${a.slug}`,i,()=>ua({catalog:"clawhub",owner:a.owner,slug:a.slug,name:a.name}),()=>Da({catalog:"clawhub",owner:a.owner,slug:a.slug,name:a.name}))),Ee(`clawhub:${a.owner}/${a.slug}`))},re=n("div",{className:"dssm-catalog-list",onWheel:_a},ce.map(R),!ce.length&&!He&&!Pe?n("div",{className:"dssm-empty"},c("repo.catalog.empty")):null,He?n("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},n("span",{className:"dssm-repo-spinner","aria-hidden":!0}),Le.length?c("repo.catalog.loadingMore"):c("repo.catalog.loading")):null,Pe?n("div",{className:"dssm-feedback dssm-error",role:"alert"},c("repo.catalog.loadError"),n(D,{variant:"ghost",size:"sm",onClick:()=>{ut()}},c("repo.catalog.retry"))):null,Z==="clawhub"&&!fe.trim()&&Bt&&!Pe?n("div",{className:"dssm-catalog-sentinel",ref:Kt,"aria-hidden":!0}):null,Z==="clawhub"&&!fe.trim()&&Bt&&!Pe&&!He?n("div",{className:"dssm-catalog-loading"},n(D,{variant:"ghost",size:"sm",onClick:()=>{ut(!1,!0)}},c("repo.catalog.loadMore"))):null),Et=n("div",{className:"dssm-catalog-list"},na.map(R),fe.trim()&&!na.length&&!Qe&&!_e?n("div",{className:"dssm-empty"},c("repo.catalog.searchEmpty")):null,Qe?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},c("repo.catalog.searchLoading")):null,_e?n("div",{className:"dssm-feedback dssm-error",role:"alert"},c("repo.catalog.searchError"),n(D,{variant:"ghost",size:"sm",onClick:()=>{la(fe.trim())}},c("repo.catalog.retry"))):null),Ba=oa.filter(a=>{if(!Vt)return!0;let i=K(`skillsh:${a.source}/${a.skillId}`);return Vt==="installed"?i:!i}),dn=n("div",{className:"dssm-catalog-list"},Ba.map(a=>{let i=`skillsh:${a.source}/${a.skillId}`,u=ht.includes(i),m=[a.source,a.installs===void 0?null:a.installs.toLocaleString()+" "+c("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return n("div",{key:a.id,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},a.name),n("div",{className:"dssm-meta-origin"},m)),Q(i,u,()=>ua({catalog:"skillsh",source:a.source,skillId:a.skillId,name:a.name}),()=>Da({catalog:"skillsh",source:a.source,skillId:a.skillId,name:a.name}))),Ee(i))}),vt.trim()&&!Ba.length&&!Pa&&!wt?n("div",{className:"dssm-empty"},c("repo.catalog.skillshEmpty")):null,Pa?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},c("repo.catalog.skillshLoading")):null,wt?n("div",{className:"dssm-feedback dssm-error",role:"alert"},c("repo.catalog.skillshError"),n(D,{variant:"ghost",size:"sm",onClick:()=>{da(vt.trim())}},c("repo.catalog.retry"))):null),cn=n("div",{className:"dssm-subsources"},n("button",{type:"button",className:"dssm-subsource-btn"+(Z==="github"?" on":""),"aria-pressed":Z==="github",onClick:()=>Nt("github")},c("repo.subsource.github")+" ("+ne.length+")"),n("button",{type:"button",className:"dssm-subsource-btn"+(Z==="clawhub"?" on":""),"aria-pressed":Z==="clawhub",onClick:()=>Nt("clawhub")},c("repo.subsource.clawhub")),n("button",{type:"button",className:"dssm-subsource-btn"+(Z==="skillsh"?" on":""),"aria-pressed":Z==="skillsh",onClick:()=>Nt("skillsh")},c("repo.subsource.skillsh"))),un=Z==="github"?n("div",{className:"dssm-filters"},n("div",{className:"dssm-source-filter"},P("repo.all",mt,Mt,ne.map(a=>[a.id,a.owner+"/"+a.name]))),n("div",{className:"dssm-status-filter"},P("repo.states",qe,a=>{_t(a),me({})},["available","installed","update","conflict","invalid"].map(a=>[a,c("repo."+a)]))),n(l,{className:"dssm-search",allowClear:!0,"aria-label":c("repo.search"),placeholder:c("repo.search"),value:Xt,onChange:a=>{Ge(a.target.value),me({})}}),Oa()):Z==="clawhub"?n("div",{className:"dssm-filters dssm-catalog-filters"},fe.trim()?null:n("div",{className:"dssm-catalog-sort-filter"},P("repo.subsource.popular",gt,Ut,[["installs",c("repo.sort.installs")],["name",c("repo.sort.name")]])),fe.trim()?null:n("div",{className:"dssm-catalog-status-filter"},P("repo.catalog.states",jt,ve,[["available",c("repo.available")],["installed",c("repo.installed")]])),n(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":c("repo.catalog.searchClawhub"),placeholder:c("repo.catalog.searchClawhub"),value:fe,onChange:a=>Qt(a.target.value)})):Z==="skillsh"?n("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},n("div",{className:"dssm-catalog-status-filter"},P("repo.catalog.states",Vt,Za,[["available",c("repo.catalog.uninstalled")],["installed",c("repo.installed")]])),n(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":c("repo.catalog.searchSkillsh"),placeholder:c("repo.catalog.searchSkillsh"),value:vt,onChange:a=>Ga(a.target.value)})):null,pn=n("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":b},n("style",null,vn),cn,Z==="github"?n("p",{className:"dssm-desc"},c("repo.hint")):Z==="clawhub"&&!fe.trim()?n("p",{className:"dssm-desc"},c("repo.subsource.catalogNote")):null,un,ht.length?n("div",{className:"dssm-note",role:"status"},c("repo.catalog.unknownHint")):null,Aa.map(a=>n("div",{key:a.id,className:"dssm-feedback dssm-error",role:"alert"},a.id+" \xB7 "+ia(a))),T,y?null:Y,b&&!ke?n("div",{className:"dssm-note",role:"status"},c("repo.loading")):null,Z==="github"?ne.length?z:n("div",{className:"dssm-empty"},c("repo.empty")):Z==="skillsh"?dn:fe.trim()?Et:re,n("p",{className:"dssm-note"},c("repo.footer")),ae);return{actions:ga,content:pn,focusSource:(a,i)=>{Mt(a.id),Ge(i),_t(""),me({[a.id]:!0})}}}}var Yt=()=>({scope:"user",location:"dsh",workspace:""});function Fa(t){return t.scope==="workspace"?{workspace:t.workspace}:{root:t.location==="agents"?"agents":"dsh"}}function Lt(t,e,l){return t.scope==="user"?!l||l.some(d=>d.key===t.location&&d.available===!0):e.some(d=>d.available&&!!d.registeredPaths[0]&&d.registeredPaths[0]===t.workspace)}function wn(t){let e=t.includes("\\")?"\\":"/";return t.replace(/[\\/]+$/,"")+e+".dsh"+e+"skills"}var nr={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."}},xr=[".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 kn({react:t,SourceSelect:e,translateError:l}){let d=t.createElement;return function({t:g,value:f,onChange:h,workspaces:w,userDestinations:k,allowAgents:n,disabled:H}){let D=f.scope==="workspace",V=w.find(b=>!!b.registeredPaths[0]&&b.registeredPaths[0]===f.workspace),se=[{value:"user",label:g("dest.scope.user")},{value:"workspace",label:g("dest.scope.workspace")}],te=new Map;for(let b of w)te.set(b.name,(te.get(b.name)??0)+1);let C=[{value:"",label:g("dest.workspace.placeholder")}].concat(w.map(b=>({value:b.registeredPaths[0]||"",label:b.available?(te.get(b.name)??0)>1?b.name+" \xB7 "+b.path:b.name:g("dest.workspace.unavailable",{name:b.name}),disabled:!b.available||!b.registeredPaths[0]}))),X=(n?["dsh","agents"]:["dsh"]).filter(b=>k.some(q=>q.key===b)),c=b=>k.find(q=>q.key===b),W=b=>X.some(q=>q===b)&&c(b)?.available!==!1,ne=X.map(b=>({value:b,label:g("dest.location."+b),disabled:c(b)?.available===!1})),pe=D?d("div",{className:"dssm-field",key:"workspace"},d("span",{className:"dssm-label"},g("dest.workspace")),d(e,{label:g("dest.workspace"),value:f.workspace,disabled:H||w.length===0,options:C,onChange:b=>{!H&&w.length>0&&(b===""||Lt({...f,scope:"workspace",workspace:b},w))&&h({workspace:b})}})):d("div",{className:"dssm-field",key:"location"},d("span",{className:"dssm-label"},g("dest.location")),d(e,{label:g("dest.location"),value:f.location,disabled:H||X.length===0,options:ne,onChange:b=>{!H&&W(b)&&h({location:b})}})),S=D?V&&V.available?wn(V.projectRoot||V.path):"":c(f.location)?.path??"",j=D?[]:X.filter(b=>c(b)?.available===!1);return d("div",{className:"dssm-destination"},d("div",{className:"dssm-destination-pair"},d("div",{className:"dssm-field",key:"scope"},d("span",{className:"dssm-label"},g("dest.scope")),d(e,{label:g("dest.scope"),value:f.scope,disabled:H,options:se,onChange:b=>{!H&&(b==="workspace"||b==="user")&&h(b==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),pe),D&&w.length===0?d("p",{className:"dssm-feedback dssm-warning",role:"status"},g("dest.empty")):null,D&&w.length>0&&!V?d("p",{className:"dssm-note"},g("dest.pickFirst")):null,S?d("code",{className:"dssm-destination-path"},S):null,j.map(b=>d("div",{key:b,className:"dssm-note dssm-destination-unavailable"},d("span",null,g("dest.location."+b)),d("code",{className:"dssm-destination-path"},c(b)?.path??""),d("span",null,c(b)?.error?l(g,c(b).error):""))),D&&V?d("p",{className:"dssm-note"},g("dest.projectNote")+" "+g("dest.location.agentsOff")):null)}}function Sr(t){return{DestinationPicker:kn(t),defaultDestination:Yt,destinationPayload:Fa,destinationReady:Lt}}var M=ha(require("react"),1),or=require("react-dom/client"),Pt=require("@deepseek-ai/dsh-client-ui-primitives");var xn={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"},Sn={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 ba(t){return t.toLowerCase().startsWith("zh")?xn:Sn}function Cn(t,e,l,d){let p=ba(t),g=e?.restartDesktop===!0||e?.profileName==="desktop",f=g?{...p,manualHint:p.manualHintDesktop}:p,h=l!=="idle",w=f.checking,k="";return l==="checking"?w=f.checking:l==="updating"?w=f.updating:d.type==="error"?(w=d.message||f.failed,k="error"):d.type==="restart"?(w=g?f.restartDesktop:f.restart,k="success"):d.type==="restarting"?(w=f.restarting,k="success"):e===void 0?w=f.checking:e.latestCheckFailed?(w=f.failed,k="error"):!e.canAutoUpdate&&e.updateAvailable?(w=f.unavailable,k="update"):e.updateAvailable?(w=`${f.found}: v${e.latestVersion??f.unknown}`,k="update"):(w=f.latest,k="success"),{copy:f,busy:h,message:w,kind:k,loading:l==="updating",updateLabel:l==="updating"?f.updating:f.auto,disabled:h||e?.canAutoUpdate!==!0||e.updateAvailable!==!0,currentVersion:e===void 0?f.unknown:`v${e.currentVersion}`,latestVersion:e?.latestVersion===void 0?f.unknown:`v${e.latestVersion}`,profileName:e?.profileName??f.unknown,profileRaw:e?.profileName??"",latestRaw:e?.latestVersion??"latest"}}function Cr(t,e,l){let d="idle",p=e,g={type:"status"},f=0,h=new Set,w=()=>{for(let n of h)n()},k=n=>{p=n,l?.(n)};return{get posts(){return f},subscribe(n){return h.add(n),()=>{h.delete(n)}},view(n){return Cn(n,p,d,g)},async check(){if(d==="idle"){d="checking",g={type:"status"},w();try{k(await t("GET")),g={type:"status"}}catch(n){g={type:"error",message:n instanceof Error?n.message:""}}finally{d="idle",w()}}},async update(){if(d==="idle"){d="updating",g={type:"status"},f+=1,w();try{let n=await t("POST");k(n),g={type:n.autoReload===!0?"restarting":"restart"}}catch(n){g={type:"error",message:n instanceof Error?n.message:""}}finally{d="idle",w()}}}}}function Nr(t,e,l){return`dsh plugin${t.trim()===""?"":` --profile ${t.trim()}`} add ${e}@${l} --registry=https://registry.npmjs.org/`}function Rr(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function Nn(){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 ya(t){if(typeof t!="string"||t.charAt(0)!=="/"||t.charAt(1)==="/")return t;let e=Nn();if(e===void 0)return t;try{return new URL(t.slice(1),e).href}catch{return t}}var Rn="x-michengai-plugin-update",Ar="michengai-plugin-update-ui",An=`
17
+ .dssm-repo-row .dssm-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-repo-row{display:flex;flex-direction:column;gap:6px;padding:11px 13px;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);background:transparent}.dssm-repo-head{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.dssm-repo-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-repo-actions button{flex:none}.dssm-repo-actions .dssm-repo-copy-actions{gap:8px;margin-left:0}.dssm-repo-main{flex:1;min-width:0}.dssm-repo-main>.dssm-repo-metadata{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-description{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-repo-copies{display:flex;flex-direction:column;gap:2px;min-width:0}.dssm-repo-copy{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent}.dssm-repo-copy .dssm-repo-metadata{font-size:12px;line-height:18px}.dssm-repo-copy-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}.dssm-repo-spinner{display:inline-block;width:12px;height:12px;margin-right:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;corner-shape:round;animation:dssm-repo-spin .8s linear infinite}@keyframes dssm-repo-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dssm-repo-spinner{animation:none}}.dssm-repo-commit-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;line-height:16px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);margin-left:12px;white-space:nowrap;user-select:all}.dssm-repo-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-repo-panel .dssm-desc{margin:0}.dssm-repo-metadata{font-size:11px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow-wrap:anywhere}.dssm-repo-panel .dssm-source{flex-shrink:0;overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-repo-panel .dssm-source-title{font-size:14px;font-weight:650;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:7px}.dssm-repo-panel .dssm-source-brand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-panel .dssm-source-brand svg{width:16px;height:16px;display:block}.dssm-repo-panel .dssm-source-path{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-repo-panel .dssm-count{padding:1px 6px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-bg-layer-2,rgba(255,255,255,0.08));font-size:11px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-manage-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.dssm-repo-manage-row .dssm-repo-main{flex:1}.dssm-repo-manage-row .dssm-repo-actions{margin-left:auto}.dssm-repo-manage-row .dssm-repo-actions button{width:auto;flex:none}.dssm-repo-head .dssm-repo-actions{gap:8px}.dssm-repo-actions>.dssm-repo-copy-actions{display:contents}.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-repo-copies{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:2px}.dssm-repo-copy{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 4px 4px 8px;border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1,rgba(255,255,255,0.04))}.dssm-repo-copy .dssm-repo-metadata{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-copy .dssm-repo-copy-actions{margin-left:0}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger{border-color:var(--dsw-alias-border-l2,#494949)}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger:not(:disabled):hover{color:var(--dsw-alias-state-error-primary,#ef7272)!important;border-color:var(--dsw-alias-state-error-primary,#ef7272)!important}.dssm-repo-copy .dssm-repo-metadata{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dssm-location-lead{flex:0 1 auto;max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-location-path{margin-left:auto;min-width:0;max-width:50%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}`;function Lr({react:a,Modal:t,Input:d,Button:c,SourceSelect:p,destination:f,api:m,headers:h,translateError:v,getLocale:x}){let n=a.createElement;function I(N){return n("svg",{className:"dssm-fold-chevron"+(N?" 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 M=c,{DestinationPicker:O,defaultDestination:X,destinationPayload:Y,destinationReady:C}=f;return function({active:K,t:u,onInstalled:B}){let[Z,ae]=a.useState([]),[S,D]=a.useState([]),[b,U]=a.useState(!1),[fe,Pe]=a.useState(null),[rt,q]=a.useState(null),[_,je]=a.useState(null),[ea,Ye]=a.useState(""),[yt,Ut]=a.useState(""),[Oe,ta]=a.useState(""),[jt,re]=a.useState({}),[y,j]=a.useState(null),[$,vt]=a.useState(X()),[ve,Ca]=a.useState([]),[V,Ot]=a.useState("github"),[oe,Na]=a.useState(""),[wt,Bt]=a.useState(""),[Ft,ce]=a.useState(""),[Ne,aa]=a.useState([]),[Vt,Wt]=a.useState([]),[Ra,ra]=a.useState([]),[kt,Aa]=a.useState([]),[Ea,Re]=a.useState([]),[xt,Te]=a.useState("idle");function Kt(e){if(typeof navigator>"u"||!navigator.clipboard){Te("failed");return}navigator.clipboard.writeText(e).then(()=>{Te("copied"),setTimeout(()=>Te("idle"),1500)}).catch(()=>Te("failed"))}let[qt,St]=a.useState(!0),[ot,Qt]=a.useState(!1),[st,oa]=a.useState(!1),[sa,na]=a.useState([]),[Ze,Ct]=a.useState(!1),[we,Be]=a.useState(!1),nt=a.useRef(0),it=a.useRef(null),se=a.useRef(null),[lt,Xa]=a.useState(""),[Yt,La]=a.useState(""),[Pa,Fe]=a.useState([]),[Ta,ze]=a.useState(!1),[ge,Zt]=a.useState(!1),Je=a.useRef(0),ue=a.useRef(null),Ae=a.useRef(null),Ie=a.useRef({cursor:null,count:0,hasMore:!0}),ne=a.useRef(null),J=a.useRef(null),[Ge,dt]=a.useState({url:"",ref:"",subdirectory:""}),Me=a.useRef(!1),H=a.useRef(!0);a.useEffect(()=>(H.current=!0,()=>{H.current=!1}),[]);async function ct(){let e=await m("/repositories");if(H.current){let o=(e.installRoots||[]).filter(i=>i.key==="dsh"||i.key==="agents");ae(e.repositories||[]),D(o),Wt(e.catalogInstalls||[]),ra(e.catalogCopies||[]),Aa(e.catalogUnknownIds||[]),Re(e.catalogWarnings||[]),$.scope==="user"&&!o.some(i=>i.key===$.location&&i.available)&&vt({...$,location:o.find(i=>i.available)?.key||"dsh"}),m("/workspaces").then(i=>{H.current&&Ca(i.items||[])}).catch(()=>{})}}function _a(e){if(e.key==="dsh"||e.key==="agents")return u(e.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let o="root."+(e.localeKey||e.key),i=u(o);return i===o?e.label:i}function Ar(e){let o=S.find(i=>i.key===e);return o?_a(o):u("root."+e)}function ke(e){if(e.installedWorkspace){let o=l=>{let g=l.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(g)?g.toLowerCase():g},i=ve.find(l=>l.projectRoot&&o(l.projectRoot)===o(e.installedWorkspace));return i?.available&&i.registeredPaths[0]?{workspace:i.registeredPaths[0]}:null}return e.installedRoot==="dsh"||e.installedRoot==="agents"?{root:e.installedRoot}:null}function za(e){return e.installedWorkspace||e.installedRoot?ut(e):""}function ia(e){let o=e.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(o)?o.toLowerCase():o}function $a(e){let o=ve.find(g=>g.projectRoot&&ia(g.projectRoot)===ia(e));if(o?.name)return o.name;let i=e.replace(/[\\/]+$/,""),l=Math.max(i.lastIndexOf("/"),i.lastIndexOf("\\"));return l>=0?i.slice(l+1):i}function Jt(e){let o=!!e.installedWorkspace,i=o?"dsh":e.installedRoot,l=u(i==="agents"?"repo.source.agents":"repo.source.dsh"),g=u(o?"repo.scope.project":"repo.scope.user"),w=o?e.installedWorkspace||"":S.find(k=>k.key===i)?.path||"";return{lead:o?[g,$a(e.installedWorkspace||""),l].filter(Boolean).join(" \xB7 "):[g,l].filter(Boolean).join(" \xB7 "),path:w}}function ut(e){let o=Jt(e);return o.path?o.lead+" "+o.path:o.lead}function Ia(e){let o=Jt(e);return n("div",{className:"dssm-repo-metadata",title:ut(e)},n("span",{className:"dssm-location-lead"},o.lead),o.path?n("span",{className:"dssm-location-path",title:o.path},o.path):null)}function Xe(e){return e.slice().sort((o,i)=>+!!o.installedWorkspace-+!!i.installedWorkspace)}function Gt(e){return Xe((e.installations??(e.installedRoot?[e]:[])).filter(o=>o.tracked===!0))}function Ve(e){let o=e,i=v(u,e)||o.message||String(e),l=o?.params?.path;return typeof l=="string"&&l&&!i.includes(l)?i+" \xB7 "+l:i}function Ma(e){return e.payload?Ve(e.payload):(e.key?u(e.key):e.text||"")+(e.name?" \xB7 "+e.name:"")}async function ie(e,o=!0,i=!1){if(!Me.current){Me.current=!0,i||(U(!0),q(null));try{await e(),o&&await ct()}catch(l){let g=l;H.current&&q({error:!0,payload:g})}finally{Me.current=!1,H.current&&U(!1)}}}function W(e,o){return m(`/repositories/${e}`,{method:"POST",headers:h,body:JSON.stringify(o)})}let he=a.useRef(!1);async function pt(e=!1,o=!1,i=oe){if(!K||i.trim()||ne.current||o&&he.current)return;let l=Ie.current;if(!e&&(!l.hasMore||l.count>=100))return;o&&(he.current=!0);let g=e?0:l.count,w=new AbortController;ne.current=w,Qt(!0),oa(!1),e&&(Ie.current={cursor:null,count:0,hasMore:!0},aa([]));try{let R=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-g))}),k=e?null:l.cursor;k&&R.set("cursor",k);let T=await m(`/clawhub/list?${R.toString()}`,{signal:w.signal});if(ne.current!==w||w.signal.aborted||!H.current)return;if(!Array.isArray(T.items))throw new Error("ClawHub response has no items array");let pe=T.items.flatMap(P=>{if(typeof P.ownerHandle!="string"||!P.ownerHandle||typeof P.slug!="string"||!P.slug)return[];let ye=G=>typeof G=="number"&&Number.isFinite(G)?G:void 0;return[{id:P.ownerHandle+"/"+P.slug,owner:P.ownerHandle,slug:P.slug,name:typeof P.displayName=="string"&&P.displayName?P.displayName:P.slug,source:P.ownerHandle+"/"+P.slug,description:typeof P.summary=="string"?P.summary:"",downloads:ye(P.stats?.downloads),installs:ye(P.stats?.installs),stars:ye(P.stats?.stars)}]}).slice(0,Math.max(0,100-g)),qe=typeof T.nextCursor=="string"&&T.nextCursor?T.nextCursor:null,A=g+pe.length;if(Ie.current={cursor:qe,count:A,hasMore:!!qe&&A<100},!H.current)return;aa(P=>[...e?[]:P,...pe].slice(0,100)),St(Ie.current.hasMore)}catch{ne.current===w&&!w.signal.aborted&&H.current&&oa(!0)}finally{ne.current===w&&(ne.current=null,he.current=!1,H.current&&Qt(!1))}}function Xt(){se.current&&clearTimeout(se.current),se.current=null,nt.current++,it.current?.abort(),it.current=null,H.current&&Ct(!1)}async function la(e){let o=++nt.current,i=new AbortController;it.current?.abort(),it.current=i,na([]),Ct(!0),Be(!1);try{let l=new URLSearchParams({q:e,limit:"100"}),g=await m(`/clawhub/search?${l.toString()}`,{signal:i.signal});if(!Array.isArray(g.results))throw new Error("ClawHub search response has no results array");let w=k=>typeof k=="number"&&Number.isFinite(k)?k:void 0,R=g.results.flatMap(k=>{if(typeof k.source=="string"&&k.source!=="clawhub")return[];let T=typeof k.ownerHandle=="string"?k.ownerHandle:k.owner?.handle;return typeof T!="string"||!T||typeof k.slug!="string"||!k.slug?[]:[{id:typeof k.id=="string"?k.id:T+"/"+k.slug,owner:T,slug:k.slug,name:typeof k.displayName=="string"&&k.displayName?k.displayName:k.slug,source:T+"/"+k.slug,description:typeof k.summary=="string"?k.summary:"",downloads:w(k.downloads)??w(k.stats?.downloads),installs:w(k.stats?.installs),stars:w(k.stats?.stars)}]});o===nt.current&&H.current&&na(R)}catch(l){let g=l?.name==="AbortError";o===nt.current&&H.current&&!g&&Be(!0)}finally{o===nt.current&&(it.current=null,H.current&&Ct(!1))}}function er(e){Na(e),Xt(),na([]),Be(!1);let o=e.trim().slice(0,100);if(!o){V==="clawhub"&&!Ne.length&&!ot&&pt(!0,!1,o);return}Ct(!0),se.current=setTimeout(()=>{se.current=null,la(o)},300)}function Nt(){Ae.current&&clearTimeout(Ae.current),Ae.current=null,Je.current++,ue.current?.abort(),ue.current=null,H.current&&ze(!1)}async function Rt(e){let o=++Je.current,i=new AbortController;ue.current?.abort(),ue.current=i,Fe([]),ze(!0),Zt(!1);try{let l=await m(`/skills-sh/search?q=${encodeURIComponent(e)}`,{signal:i.signal});o===Je.current&&H.current&&Fe(l.skills)}catch(l){let g=l?.name==="AbortError";o===Je.current&&H.current&&!g&&Zt(!0)}finally{o===Je.current&&(ue.current=null,H.current&&ze(!1))}}function Ha(e){Xa(e),Ae.current&&clearTimeout(Ae.current),Ae.current=null,Je.current++,ue.current?.abort(),ue.current=null,Fe([]),ze(!1),Zt(!1);let o=e.trim();o&&(Ae.current=setTimeout(()=>{Ae.current=null,Rt(o)},300))}function xe(e){j(null),Ot(e)}function _e(e){let o=e.getBoundingClientRect(),i=e.parentElement;for(;i;){let l=getComputedStyle(i);if(/(auto|scroll)/.test(`${l.overflowY} ${l.overflow}`)&&i.scrollHeight>i.clientHeight+1){let g=i.getBoundingClientRect();return o.top<=g.bottom+80&&o.bottom>=g.top}i=i.parentElement}return o.top<=window.innerHeight+80}function tr(e){if(y||e.defaultPrevented||e.deltaY<=0||V!=="clawhub"||oe.trim()||!qt||st||!e.target||!e.currentTarget.contains(e.target))return;let o=J.current;!o||typeof o.getBoundingClientRect!="function"||!_e(o)||pt(!1,!0)}async function At(e){let o=await W("refresh",{id:e});o.error&&q({error:!0,payload:o.error})}function mt(e){return ie(async()=>{let o=!1;try{for(let i=0;i<e.length;i++){let l=e[i];Pe({id:l.id,name:l.owner+"/"+l.name,index:i+1,total:e.length});let g=await W("refresh",{id:l.id});g.error&&(o=!0,q({error:!0,payload:g.error}))}await ct(),!o&&H.current&&q({key:"repo.refreshed"})}finally{H.current&&Pe(null)}},!1)}function Da(e,o){return ie(async()=>{Te("idle"),j({type:"detail",repo:e,loading:!0});try{let i=await W("detail",{id:e.id,path:o.path});H.current&&j({type:"detail",detail:i,repo:e})}catch(i){let l=i;throw H.current&&j({type:"detail",repo:e,failed:!0}),l}},!1,!0)}function Ua(e){return ie(async()=>{Te("idle"),j({type:"catalog-detail",loading:!0});try{let o=await m("/catalog/detail",{method:"POST",headers:h,body:JSON.stringify(e)});H.current&&j({type:"catalog-detail",detail:o})}catch(o){let i=o;throw H.current&&j({type:"catalog-detail",failed:!0}),i}},!1,!0)}function ja(e){Me.current||(q(null),j({type:"catalog-install",target:e}))}function ft(){if(!y||y.type!=="catalog-install"||!C($,ve,S))return;let e=y.target,o=Y($);return ie(async()=>{let i=await m("/catalog/install",{method:"POST",headers:h,body:JSON.stringify({...e,...o})});if(!H.current)return;let l=e.catalog==="skillsh"?`skillsh:${e.source}/${e.skillId}`:`clawhub:${e.owner}/${e.slug}`;Wt(R=>R.includes(l)?R:[...R,l]);let g=o.root||"dsh";ra(R=>R.some(k=>k.id===l&&k.installedRoot===g&&k.installedWorkspace===o.workspace)?R:[...R,{id:l,name:i.name,installedRoot:g,...o.workspace?{installedWorkspace:o.workspace}:{},canUninstall:!0}]),q({key:"repo.installSuccess",name:e.name}),j(null);let w=await Promise.allSettled([ct(),Promise.resolve().then(()=>B?.())]);H.current&&w.some(R=>R.status==="rejected")&&q({key:"repo.catalog.installRefreshWarning",name:e.name})},!1)}a.useEffect(()=>{K&&ie(ct,!1)},[K]),a.useEffect(()=>(K&&(V==="clawhub"?oe.trim()?la(oe.trim()):Ne.length||pt(!0):V==="skillsh"&&lt.trim()&&Rt(lt.trim())),()=>{Xt(),Nt(),ne.current?.abort(),ne.current=null,he.current=!1,H.current&&Qt(!1)}),[K,V]);function ee(e,o,i=!0,l=!1,g=!1){return n(M,{variant:i?"outline":"primary",className:g?"dssm-btn-danger":void 0,disabled:b||l,onClick:o},u(e))}function da(e){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},n("path",{d:e,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Se(e,o,i=!1,l){var g=e==="repo.uninstall"||e==="repo.uninstalling"||e==="repo.remove",w=e==="repo.installed"||e==="repo.installedSuccess",R=e==="repo.conflict",k=e==="repo.refresh"||e==="repo.refreshing"?"M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10":e==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":e==="repo.installElsewhere"?"M8 3v10M3 8h10":e==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":e==="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":e==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":g?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":R?"M8 2.5l5.5 10.5H2.5L8 2.5zm0 3.5v3.5m0 2v.5":"M8 2.5v7M5.2 7.2 8 10l2.8-2.8M3.5 13.5h9";return n(M,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(g?" dssm-icon-danger":w?" dssm-icon-success":R?" dssm-icon-warn":""),"aria-label":u(e),title:l||u(e),icon:da(k),disabled:b||i,onClick:o,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},g?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},g?{danger:!0}:{}))}function ar(e){j({type:"remove",repo:e})}function rr(e){return fe&&fe.id===e.id?n(M,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":u("repo.refreshing"),title:u("repo.refreshing"),icon:n("span",{className:"dssm-repo-spinner","aria-hidden":!0}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):Se("repo.refresh",()=>mt([e]))}function or(){return Z.length?Z.map(e=>n("div",{key:e.id,className:"dssm-repo-row dssm-repo-manage-row"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},e.owner+"/"+e.name),n("div",{className:"dssm-note"},[e.ref||u("repo.defaultBranch"),e.subdirectory].filter(Boolean).join(" \xB7 ")),n("div",{className:"dssm-repo-metadata"},e.refreshedAt?u("repo.updated")+" \xB7 "+new Date(e.refreshedAt).toLocaleString(x?.()||u("format.locale")):u("repo.notScanned"))),n("div",{className:"dssm-repo-actions"},rr(e),Se("repo.remove",()=>ar(e))))):n("div",{className:"dssm-empty"},u("repo.empty"))}function sr(e,o=!1){let i=fe&&(!o||fe.id===e[0]?.id);return n(M,{variant:"outline",disabled:b||!e.length,"aria-busy":!!i,onClick:()=>mt(e)},i?n("span",{className:"dssm-repo-spinner","aria-hidden":!0}):null,u(i?"repo.refreshing":"repo.refresh"))}function We(){Me.current||(Te("idle"),j(null))}function Et(e,o,i,l){Me.current||e==="uninstall"&&(!l||!l.canUninstall||!ke(l))||(q(null),j({type:e,repo:o,skill:i,copy:l}))}function Oa(){if(!y||y.type!=="install"&&y.type!=="uninstall")return;let e=y,o=e.type,i=$;if(o==="install"&&!C(i,ve,S))return;let l=o==="install"?Y(i):e.copy&&ke(e.copy);if(l)return ie(async()=>{let g={id:e.repo.id,path:e.skill.path,...l};je({...g,action:o,pending:!0,key:"repo."+o+"Progress"});try{await W(o,g)}catch(k){let T=k;throw H.current&&je({...g,action:o,error:!0,payload:T}),T}if(!H.current)return;let w="repo."+o+"Success";je({...g,action:o,key:w}),q({key:w,name:e.skill.name}),j(null);let R=await Promise.allSettled([ct(),Promise.resolve().then(()=>B?.())]);for(let k of R)if(k.status==="rejected")throw k.reason},!1)}function Lt(e,o,i,l=!1){let g=ke(i);if(!(!g||(l?!i.canRollback:!i.tracked)))return ie(async()=>{let w=await W("preview",{id:e.id,path:o.path,...g,rollback:l});j({type:l?"rollback":"review",repo:e,skill:o,copy:i,detail:w})})}function nr(){if(!y||y.type!=="review"&&y.type!=="rollback")return;let e=y,o=e.type==="rollback",i=ke(e.copy);if(i)return ie(async()=>{let l={id:e.repo.id,path:e.skill.path,...i};je({...l,pending:!0,key:"repo.updateProgress"});try{await W(o?"rollback":"update",{...l,token:e.detail.token,overwrite:e.detail.localModified})}catch(w){let R=w;throw H.current&&je({...l,error:!0,payload:R}),R}if(!H.current)return;let g=o?"repo.rollbackSuccess":"repo.updateSuccess";je({...l,key:g}),q({key:g}),j(null),B&&await B()})}function Ba(e,o,i){return n(M,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:b,"aria-label":u(e),title:u(e),icon:da(o),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 ir(e){let o=fe&&fe.id===e[0]?.id;return n(M,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:b||!e.length,"aria-busy":!!o,"aria-label":u(o?"repo.refreshing":"repo.refresh"),title:u(o?"repo.refreshing":"repo.refresh"),icon:o?n("span",{className:"dssm-repo-spinner","aria-hidden":!0}):da("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>mt(e)})}function ca(){return n("div",{className:"dssm-filter-actions"},ir(Z),Ba("repo.add","M8 2.5v11M2.5 8h11",()=>{q(null),dt({url:"",ref:"",subdirectory:""}),j({type:"add"})}),Ba("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{q(null),j({type:"manage"})}))}let lr=n("div",{key:"repository-actions",className:"dssm-actions"},sr(Z),ee("repo.add",()=>{q(null),dt({url:"",ref:"",subdirectory:""}),j({type:"add"})},!1),ee("repo.manage",()=>{q(null),j({type:"manage"})})),dr=Z.filter(e=>!yt||e.id===yt);function cr(e,o,i){let l=ke(i),g=_?.id===e.id&&_.path===o.path&&_.pending&&l&&_.root===l.root&&_.workspace===l.workspace;return n("div",{className:"dssm-repo-copy-actions"},i.tracked&&(i.updateAvailable||i.status==="conflict")?Se("repo.review",()=>Lt(e,o,i),!l):null,i.canRollback?Se("repo.rollback",()=>Lt(e,o,i,!0),!l):null,i.canUninstall?Se(g&&_.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>Et("uninstall",e,o,i),!l,ut(i)):null)}function ur(e,o,i){let l=ke(i);return n("div",{className:"dssm-repo-copy",key:JSON.stringify([i.installedRoot,i.installedWorkspace||""])},Ia(i),cr(e,o,i),l?null:n("div",{className:"dssm-note",role:"status"},u("repo.destinationUnavailable")))}let pr=dr.map(e=>{let o=ea.trim().toLowerCase(),i=e.skills.filter(w=>(!Oe||w.status===Oe)&&(!o||`${w.name} ${w.description} ${e.owner}/${e.name}`.toLowerCase().includes(o))),l=jt[e.id]===void 0?!!o||!!Oe:jt[e.id],g=l?i.length?i.map(w=>{let R=Gt(w),k=R.length===1?R[0]:void 0;return n("div",{key:w.path,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},w.name),n("div",{className:"dssm-repo-description",title:w.description},w.description),k&&!ke(k)?n("div",{className:"dssm-note",role:"status"},u("repo.destinationUnavailable")):null,_?.id===e.id&&_.path===w.path?n("div",{className:"dssm-note"+(_.error?" dssm-error":""),role:_.error?"alert":"status","aria-live":"polite"},Ma(_)):null),n("div",{className:"dssm-repo-actions"},Se("repo.detail",()=>Da(e,w)),Se(_?.id===e.id&&_.path===w.path&&_.pending&&_.action==="install"?"repo.installing":R.length?"repo.installElsewhere":"repo."+(w.status==="available"?"install":w.status),()=>Et("install",e,w),!R.length&&w.status!=="available"))),R.length?n("div",{className:"dssm-repo-copies"},R.map(T=>ur(e,w,T))):null)}):n("div",{className:"dssm-empty"},u("repo.noSkills")):null;return n("div",{key:e.id},n("section",{className:"dssm-source"},n("div",{className:"dssm-source-head"},n("button",{type:"button",className:"dssm-source-toggle","aria-expanded":l,onClick:()=>re({...jt,[e.id]:!l})},I(l),n("div",{className:"dssm-source-label"},n("span",{className:"dssm-source-brand",title:"GitHub Repository"},n("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"currentColor"},n("path",{d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))),n("span",{className:"dssm-source-title"},e.owner+"/"+e.name),n("span",{className:"dssm-count"},i.length),n("span",{className:"dssm-source-path",title:e.owner+"/"+e.name},[e.ref||u("repo.defaultBranchLabel"),e.subdirectory].filter(Boolean).join(" \xB7 ")||e.owner+"/"+e.name))),n("span",{className:"dssm-repo-commit-badge",title:e.commit||u("repo.notScanned")},e.commit?e.commit.slice(0,7):u("repo.notScanned"))),l?n("div",{className:"dssm-source-body",role:"region"},g):null),e.error?n("div",{className:"dssm-feedback dssm-error",role:"alert"},Ve(e.error)):null)});function gt(e,o,i,l){return n(p,{label:u(e),value:o,onChange:i,options:[{value:"",label:u(e)},...l.map(([g,w])=>({value:g,label:w}))]})}let Ce=rt?n("div",{className:"dssm-feedback"+(rt.error?" dssm-error":""),role:rt.error?"alert":"status"},Ma(rt)):null,Fa=fe?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.refreshing")+" "+fe.index+"/"+fe.total+" \xB7 "+fe.name):null,Va;if(y){let e,o,i;if(y.type==="install"&&(e=n("div",{className:"dssm-repo-panel","aria-busy":b},n("div",{className:"dssm-name"},y.skill.name),n(O,{t:u,value:$,disabled:b,allowAgents:!0,workspaces:ve,userDestinations:S,onChange:l=>{Me.current||vt({...$,...l})}}),n("p",{className:"dssm-note"},u("repo.installLocationsHint")),n("p",{className:"dssm-note"},u("repo.installHint")),b?n("div",{role:"status","aria-live":"polite"},u("repo.installProgress")):null,Ce,n("div",{className:"dssm-modal-actions"},ee("repo.cancel",We),ee(b?"repo.installing":"repo.install",Oa,!1,!C($,ve,S))))),y.type==="uninstall"&&(o=u("repo.uninstallHint"),e=n("div",{className:"dssm-repo-panel","aria-busy":b},n("div",{className:"dssm-name"},y.skill.name),y.copy?n("div",{className:"dssm-repo-metadata"},za(y.copy)):null,y.copy?.installedRoot==="agents"&&!y.copy.installedWorkspace?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.uninstallExternalWarning")):null,b?n("div",{role:"status","aria-live":"polite"},u("repo.uninstallProgress")):null,Ce),i=n(a.Fragment,null,ee("repo.cancel",We),ee(b?"repo.uninstalling":"repo.confirmUninstall",Oa,!0,!y.copy||!ke(y.copy),!0))),(y.type==="review"||y.type==="rollback")&&(e=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-name"},y.skill.name),n("div",{className:"dssm-repo-metadata"},za(y.copy)),n("div",{className:"dssm-repo-metadata"},y.repo.owner+"/"+y.repo.name+" \xB7 "+y.detail.commit?.slice(0,7)),y.detail.localModified?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.modified")):null,y.detail.changes.length?n("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},y.detail.changes.map(l=>n("li",{key:l.path},u("repo."+(l.kind==="modified"?"modifiedFile":l.kind))+" \xB7 "+l.path))):n("p",null,u("repo.noChanges")),b?n("div",{role:"status"},u("repo.updateProgress")):null,Ce),i=n(a.Fragment,null,ee("repo.cancel",We),ee(y.detail.localModified?"repo.overwrite":y.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",nr,!1,!y.detail.changes.length||!ke(y.copy)))),y.type==="add"&&(e=n("form",{className:"dssm-form",onSubmit:l=>{l.preventDefault(),Ge.url.trim()&&ie(async()=>{let g=await W("add",Ge);await At(g.id),j(null)})}},[["url","repo.url","https://github.com/owner/repo"],["ref","repo.ref",u("repo.defaultBranch")],["subdirectory","repo.directory",u("repo.directoryHint")]].map(([l,g,w])=>n("label",{className:"dssm-field",key:l},n("span",{className:"dssm-label"},u(g)),n(d,{"aria-label":u(g),value:Ge[l],placeholder:w,maxLength:l==="url"?2048:512,required:l==="url",disabled:b,onChange:R=>dt({...Ge,[l]:R.target.value})}))),Ce,n("div",{className:"dssm-modal-actions"},ee("repo.cancel",We),ee("repo.save",()=>{Ge.url.trim()&&ie(async()=>{let l=await W("add",Ge);await At(l.id),j(null)})},!1,!Ge.url.trim())))),y.type==="manage"&&(e=n("div",{className:"dssm-repo-panel"},n("p",{className:"dssm-desc"},u("repo.removeHint")),Fa,Ce,or())),y.type==="remove"&&(o=u("repo.removeHint"),e=n("div",null,n("div",{className:"dssm-name"},y.repo.owner+"/"+y.repo.name),Ce),i=n(a.Fragment,null,ee("repo.cancel",()=>j({type:"manage"})),ee("repo.removeConfirm",()=>ie(async()=>{await W("remove",{id:y.repo.id}),yt===y.repo.id&&Ut(""),j({type:"manage"})}),!0,!1,!0))),y.type==="catalog-detail"&&y.detail){let l=y.detail;e=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:l.name},l.name),l.body?n(M,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>Kt(l.body)},u(xt==="copied"?"repo.copied":xt==="failed"?"repo.copyFailed":"repo.copyBody")):null),n("p",{className:"dssm-desc"},l.description),n("div",{className:"dssm-detail-path"},l.origin),n("p",{className:"dssm-note"},u("repo.installHint")),n(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:l.body||"",rows:16}))}if(y.type==="catalog-detail"&&!y.detail&&(e=n("div",{role:"status",className:"dssm-repo-panel"},y.loading?u("repo.detailLoading"):null,y.failed?Ce:null)),y.type==="catalog-install"&&(e=n("div",{className:"dssm-repo-panel","aria-busy":b},n("div",{className:"dssm-name"},y.target.name),n(O,{t:u,value:$,disabled:b,allowAgents:!0,workspaces:ve,userDestinations:S,onChange:l=>{Me.current||vt({...$,...l})}}),n("p",{className:"dssm-note"},u("repo.installLocationsHint")),n("p",{className:"dssm-note"},u("repo.installHint")),b?n("div",{role:"status","aria-live":"polite"},u("repo.installProgress")):null,Ce,n("div",{className:"dssm-modal-actions"},ee("repo.cancel",We),ee(b?"repo.installing":"repo.install",ft,!1,!C($,ve,S))))),y.type==="catalog-uninstall"&&(o=u("repo.uninstallHint"),e=n("div",{className:"dssm-repo-panel","aria-busy":b},n("div",{className:"dssm-name"},y.copy.name),n("div",{className:"dssm-repo-metadata"},$e(y.copy)),y.copy.installedRoot==="agents"&&!y.copy.installedWorkspace?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.uninstallExternalWarning")):null,b?n("div",{role:"status","aria-live":"polite"},u("repo.uninstallProgress")):null,Ce),i=n(a.Fragment,null,ee("repo.cancel",We),ee(b?"repo.uninstalling":"repo.confirmUninstall",le,!0,!1,!0))),y.type==="detail"&&y.detail){let l=y.detail;e=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:l.name},l.name),l.body?n(M,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>Kt(l.body)},u(xt==="copied"?"repo.copied":xt==="failed"?"repo.copyFailed":"repo.copyBody")):null),n("p",{className:"dssm-desc"},l.description),n("div",{className:"dssm-detail-path"},y.repo.owner+"/"+y.repo.name+" \xB7 "+l.path),n("div",{className:"dssm-repo-metadata"},u("repo.commit")+" \xB7 "+l.commit),n("p",{className:"dssm-note"},u("repo.installHint")),n(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:l.body||"",rows:16}))}y.type==="detail"&&!y.detail&&(e=n("div",{role:"status",className:"dssm-repo-panel"},y.loading?u("repo.detailLoading"):null,y.failed?Ce:null)),Va=n(t,{className:y.type==="detail"||y.type==="catalog-detail"?"dssm-modal-wide":void 0,title:u("repo."+(y.type==="catalog-detail"?"detail":y.type==="catalog-install"?"install":y.type==="catalog-uninstall"?"uninstall":y.type==="remove"?"remove":y.type)),description:o,footer:i,closeLabel:u("repo.close"),onClose:We},e)}function ua(e){return Vt.includes(e)||be(e).length>0}function be(e){return Xe(Ra.filter(o=>o.id===e))}function $e(e){return ut(e)}function et(e){!Me.current&&e.canUninstall&&(q(null),j({type:"catalog-uninstall",copy:e}))}function le(){if(!y||y.type!=="catalog-uninstall")return;let e=y.copy;return ie(async()=>{if(await m("/delete",{method:"POST",headers:h,body:JSON.stringify({name:e.name,root:e.installedRoot,...e.installedWorkspace?{workspace:e.installedWorkspace}:{}})}),!H.current)return;ra(i=>i.filter(l=>l!==e&&!(l.id===e.id&&l.installedRoot===e.installedRoot&&l.installedWorkspace===e.installedWorkspace))),q({key:"repo.uninstallSuccess",name:e.name}),j(null);let o=await Promise.allSettled([ct(),Promise.resolve().then(()=>B?.())]);H.current&&o.some(i=>i.status==="rejected")&&q({key:"repo.catalog.uninstallRefreshWarning",name:e.name})},!1)}function pa(e,o,i,l){let g=be(e);return n("div",{className:"dssm-repo-actions"},Se("repo.detail",i),o&&!g.length?n("span",{className:"dssm-note",role:"status"},u("repo.catalog.unknownLocation")):null,g.length?Se("repo.installElsewhere",l):ua(e)?n("span",{className:"dssm-catalog-installed",role:"status"},u("repo.installed")):Se(o?"repo.catalog.reassociate":"repo.install",l))}function Pt(e){let o=be(e);return o.length?n("div",{className:"dssm-repo-copies"},o.map(i=>n("div",{className:"dssm-repo-copy",key:JSON.stringify([i.id,i.installedRoot,i.installedWorkspace||""])},Ia(i),i.canUninstall?Se("repo.uninstall",()=>et(i),!1,ut(i)):null))):null}let Ke=Ne.filter(e=>{let o=ua(`clawhub:${e.owner}/${e.slug}`);return!Ft||(Ft==="installed"?o:!o)}),ht=wt==="installs"?Ke.slice().sort((e,o)=>(o.installs||0)-(e.installs||0)):wt==="name"?Ke.slice().sort((e,o)=>e.name.localeCompare(o.name)):Ke,ma=e=>{let o=kt.includes(`clawhub:${e.owner}/${e.slug}`),i=[e.source,e.downloads===void 0?null:e.downloads.toLocaleString()+" "+u("repo.catalog.downloads"),e.installs===void 0?null:e.installs.toLocaleString()+" "+u("repo.catalog.installs"),e.stars===void 0?null:e.stars.toLocaleString()+" "+u("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return n("div",{key:e.id,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},e.name),e.description?n("div",{className:"dssm-repo-description",title:e.description},e.description):null,n("div",{className:"dssm-meta-origin"},i)),pa(`clawhub:${e.owner}/${e.slug}`,o,()=>Ua({catalog:"clawhub",owner:e.owner,slug:e.slug,name:e.name}),()=>ja({catalog:"clawhub",owner:e.owner,slug:e.slug,name:e.name}))),Pt(`clawhub:${e.owner}/${e.slug}`))},Wa=n("div",{className:"dssm-catalog-list",onWheel:tr},ht.map(ma),!ht.length&&!ot&&!st?n("div",{className:"dssm-empty"},u("repo.catalog.empty")):null,ot?n("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},n("span",{className:"dssm-repo-spinner","aria-hidden":!0}),Ne.length?u("repo.catalog.loadingMore"):u("repo.catalog.loading")):null,st?n("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.loadError"),n(M,{variant:"ghost",size:"sm",onClick:()=>{pt()}},u("repo.catalog.retry"))):null,V==="clawhub"&&!oe.trim()&&qt&&!st?n("div",{className:"dssm-catalog-sentinel",ref:J,"aria-hidden":!0}):null,V==="clawhub"&&!oe.trim()&&qt&&!st&&!ot?n("div",{className:"dssm-catalog-loading"},n(M,{variant:"ghost",size:"sm",onClick:()=>{pt(!1,!0)}},u("repo.catalog.loadMore"))):null),He=n("div",{className:"dssm-catalog-list"},sa.map(ma),oe.trim()&&!sa.length&&!Ze&&!we?n("div",{className:"dssm-empty"},u("repo.catalog.searchEmpty")):null,Ze?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.catalog.searchLoading")):null,we?n("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.searchError"),n(M,{variant:"ghost",size:"sm",onClick:()=>{la(oe.trim())}},u("repo.catalog.retry"))):null),Tt=Pa.filter(e=>{if(!Yt)return!0;let o=ua(`skillsh:${e.source}/${e.skillId}`);return Yt==="installed"?o:!o}),Ka=n("div",{className:"dssm-catalog-list"},Tt.map(e=>{let o=`skillsh:${e.source}/${e.skillId}`,i=kt.includes(o),l=[e.source,e.installs===void 0?null:e.installs.toLocaleString()+" "+u("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return n("div",{key:e.id,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},e.name),n("div",{className:"dssm-meta-origin"},l)),pa(o,i,()=>Ua({catalog:"skillsh",source:e.source,skillId:e.skillId,name:e.name}),()=>ja({catalog:"skillsh",source:e.source,skillId:e.skillId,name:e.name}))),Pt(o))}),lt.trim()&&!Tt.length&&!Ta&&!ge?n("div",{className:"dssm-empty"},u("repo.catalog.skillshEmpty")):null,Ta?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.catalog.skillshLoading")):null,ge?n("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.skillshError"),n(M,{variant:"ghost",size:"sm",onClick:()=>{Rt(lt.trim())}},u("repo.catalog.retry"))):null),qa=n("div",{className:"dssm-subsources"},n("button",{type:"button",className:"dssm-subsource-btn"+(V==="github"?" on":""),"aria-pressed":V==="github",onClick:()=>xe("github")},u("repo.subsource.github")+" ("+Z.length+")"),n("button",{type:"button",className:"dssm-subsource-btn"+(V==="clawhub"?" on":""),"aria-pressed":V==="clawhub",onClick:()=>xe("clawhub")},u("repo.subsource.clawhub")),n("button",{type:"button",className:"dssm-subsource-btn"+(V==="skillsh"?" on":""),"aria-pressed":V==="skillsh",onClick:()=>xe("skillsh")},u("repo.subsource.skillsh"))),fa=V==="github"?n("div",{className:"dssm-filters"},n("div",{className:"dssm-source-filter"},gt("repo.all",yt,Ut,Z.map(e=>[e.id,e.owner+"/"+e.name]))),n("div",{className:"dssm-status-filter"},gt("repo.states",Oe,e=>{ta(e),re({})},["available","installed","update","conflict","invalid"].map(e=>[e,u("repo."+e)]))),n(d,{className:"dssm-search",allowClear:!0,"aria-label":u("repo.search"),placeholder:u("repo.search"),value:ea,onChange:e=>{Ye(e.target.value),re({})}}),ca()):V==="clawhub"?n("div",{className:"dssm-filters dssm-catalog-filters"},oe.trim()?null:n("div",{className:"dssm-catalog-sort-filter"},gt("repo.subsource.popular",wt,Bt,[["installs",u("repo.sort.installs")],["name",u("repo.sort.name")]])),oe.trim()?null:n("div",{className:"dssm-catalog-status-filter"},gt("repo.catalog.states",Ft,ce,[["available",u("repo.available")],["installed",u("repo.installed")]])),n(d,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":u("repo.catalog.searchClawhub"),placeholder:u("repo.catalog.searchClawhub"),value:oe,onChange:e=>er(e.target.value)})):V==="skillsh"?n("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},n("div",{className:"dssm-catalog-status-filter"},gt("repo.catalog.states",Yt,La,[["available",u("repo.catalog.uninstalled")],["installed",u("repo.installed")]])),n(d,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":u("repo.catalog.searchSkillsh"),placeholder:u("repo.catalog.searchSkillsh"),value:lt,onChange:e=>Ha(e.target.value)})):null,r=n("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":b},n("style",null,No),qa,V==="github"?n("p",{className:"dssm-desc"},u("repo.hint")):V==="clawhub"&&!oe.trim()?n("p",{className:"dssm-desc"},u("repo.subsource.catalogNote")):null,fa,kt.length?n("div",{className:"dssm-note",role:"status"},u("repo.catalog.unknownHint")):null,Ea.map(e=>n("div",{key:e.id,className:"dssm-feedback dssm-error",role:"alert"},e.id+" \xB7 "+Ve(e))),Ce,y?null:Fa,b&&!fe?n("div",{className:"dssm-note",role:"status"},u("repo.loading")):null,V==="github"?Z.length?pr:n("div",{className:"dssm-empty"},u("repo.empty")):V==="skillsh"?Ka:oe.trim()?He:Wa,n("p",{className:"dssm-note"},u("repo.footer")),Va);return{actions:lr,content:r,focusSource:(e,o)=>{Ut(e.id),Ye(o),ta(""),re({[e.id]:!0})}}}}var _t=()=>({scope:"user",location:"dsh",workspace:""});function Qa(a){return a.scope==="workspace"?{workspace:a.workspace}:{root:a.location==="agents"?"agents":"dsh"}}function zt(a,t,d){return a.scope==="user"?!d||d.some(c=>c.key===a.location&&c.available===!0):t.some(c=>c.available&&!!c.registeredPaths[0]&&c.registeredPaths[0]===a.workspace)}function Ro(a){let t=a.includes("\\")?"\\":"/";return a.replace(/[\\/]+$/,"")+t+".dsh"+t+"skills"}var fr={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."}},Pr=[".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 Ao({react:a,SourceSelect:t,translateError:d}){let c=a.createElement;return function({t:f,value:m,onChange:h,workspaces:v,userDestinations:x,allowAgents:n,disabled:I}){let M=m.scope==="workspace",O=v.find(b=>!!b.registeredPaths[0]&&b.registeredPaths[0]===m.workspace),X=[{value:"user",label:f("dest.scope.user")},{value:"workspace",label:f("dest.scope.workspace")}],Y=new Map;for(let b of v)Y.set(b.name,(Y.get(b.name)??0)+1);let C=[{value:"",label:f("dest.workspace.placeholder")}].concat(v.map(b=>({value:b.registeredPaths[0]||"",label:b.available?(Y.get(b.name)??0)>1?b.name+" \xB7 "+b.path:b.name:f("dest.workspace.unavailable",{name:b.name}),disabled:!b.available||!b.registeredPaths[0]}))),K=(n?["dsh","agents"]:["dsh"]).filter(b=>x.some(U=>U.key===b)),u=b=>x.find(U=>U.key===b),B=b=>K.some(U=>U===b)&&u(b)?.available!==!1,Z=K.map(b=>({value:b,label:f("dest.location."+b),disabled:u(b)?.available===!1})),ae=M?c("div",{className:"dssm-field",key:"workspace"},c("span",{className:"dssm-label"},f("dest.workspace")),c(t,{label:f("dest.workspace"),value:m.workspace,disabled:I||v.length===0,options:C,onChange:b=>{!I&&v.length>0&&(b===""||zt({...m,scope:"workspace",workspace:b},v))&&h({workspace:b})}})):c("div",{className:"dssm-field",key:"location"},c("span",{className:"dssm-label"},f("dest.location")),c(t,{label:f("dest.location"),value:m.location,disabled:I||K.length===0,options:Z,onChange:b=>{!I&&B(b)&&h({location:b})}})),S=M?O&&O.available?Ro(O.projectRoot||O.path):"":u(m.location)?.path??"",D=M?[]:K.filter(b=>u(b)?.available===!1);return c("div",{className:"dssm-destination"},c("div",{className:"dssm-destination-pair"},c("div",{className:"dssm-field",key:"scope"},c("span",{className:"dssm-label"},f("dest.scope")),c(t,{label:f("dest.scope"),value:m.scope,disabled:I,options:X,onChange:b=>{!I&&(b==="workspace"||b==="user")&&h(b==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),ae),M&&v.length===0?c("p",{className:"dssm-feedback dssm-warning",role:"status"},f("dest.empty")):null,M&&v.length>0&&!O?c("p",{className:"dssm-note"},f("dest.pickFirst")):null,S?c("code",{className:"dssm-destination-path"},S):null,D.map(b=>c("div",{key:b,className:"dssm-note dssm-destination-unavailable"},c("span",null,f("dest.location."+b)),c("code",{className:"dssm-destination-path"},u(b)?.path??""),c("span",null,u(b)?.error?d(f,u(b).error):""))),M&&O?c("p",{className:"dssm-note"},f("dest.projectNote")+" "+f("dest.location.agentsOff")):null)}}function Tr(a){return{DestinationPicker:Ao(a),defaultDestination:_t,destinationPayload:Qa,destinationReady:zt}}var z=ha(require("react"),1),gr=require("react-dom/client"),It=require("@deepseek-ai/dsh-client-ui-primitives");var Eo={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"},Lo={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 ba(a){return a.toLowerCase().startsWith("zh")?Eo:Lo}function Po(a,t,d,c){let p=ba(a),f=t?.restartDesktop===!0||t?.profileName==="desktop",m=f?{...p,manualHint:p.manualHintDesktop}:p,h=d!=="idle",v=m.checking,x="";return d==="checking"?v=m.checking:d==="updating"?v=m.updating:c.type==="error"?(v=c.message||m.failed,x="error"):c.type==="restart"?(v=f?m.restartDesktop:m.restart,x="success"):c.type==="restarting"?(v=m.restarting,x="success"):t===void 0?v=m.checking:t.latestCheckFailed?(v=m.failed,x="error"):!t.canAutoUpdate&&t.updateAvailable?(v=m.unavailable,x="update"):t.updateAvailable?(v=`${m.found}: v${t.latestVersion??m.unknown}`,x="update"):(v=m.latest,x="success"),{copy:m,busy:h,message:v,kind:x,loading:d==="updating",updateLabel:d==="updating"?m.updating:m.auto,disabled:h||t?.canAutoUpdate!==!0||t.updateAvailable!==!0,currentVersion:t===void 0?m.unknown:`v${t.currentVersion}`,latestVersion:t?.latestVersion===void 0?m.unknown:`v${t.latestVersion}`,profileName:t?.profileName??m.unknown,profileRaw:t?.profileName??"",latestRaw:t?.latestVersion??"latest"}}function zr(a,t,d){let c="idle",p=t,f={type:"status"},m=0,h=new Set,v=()=>{for(let n of h)n()},x=n=>{p=n,d?.(n)};return{get posts(){return m},subscribe(n){return h.add(n),()=>{h.delete(n)}},view(n){return Po(n,p,c,f)},async check(){if(c==="idle"){c="checking",f={type:"status"},v();try{x(await a("GET")),f={type:"status"}}catch(n){f={type:"error",message:n instanceof Error?n.message:""}}finally{c="idle",v()}}},async update(){if(c==="idle"){c="updating",f={type:"status"},m+=1,v();try{let n=await a("POST");x(n),f={type:n.autoReload===!0?"restarting":"restart"}}catch(n){f={type:"error",message:n instanceof Error?n.message:""}}finally{c="idle",v()}}}}}function Ir(a,t,d){return`dsh plugin${a.trim()===""?"":` --profile ${a.trim()}`} add ${t}@${d} --registry=https://registry.npmjs.org/`}function Mr(a,t){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),t(),!0)}function To(){if(typeof document>"u")return;let a=document.baseURI;if(!(typeof a!="string"||a===""))try{let t=new URL(a);return t.pathname.endsWith("/")||(t.pathname+="/"),t.href}catch{return}}function ya(a){if(typeof a!="string"||a.charAt(0)!=="/"||a.charAt(1)==="/")return a;let t=To();if(t===void 0)return a;try{return new URL(a.slice(1),t).href}catch{return a}}var zo="x-michengai-plugin-update",Hr="michengai-plugin-update-ui",Io=`
18
18
  .mpi-version{margin-left:8px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-family:inherit;font-size:12px;font-weight:500;line-height:18px;letter-spacing:0;white-space:nowrap;vertical-align:baseline}.mpi-check-host{display:inline-flex;align-items:center}.mpi-icon{display:inline-flex;flex:0 0 auto;width:16px;height:16px;align-items:center;justify-content:center;pointer-events:none}.mpi-icon svg{display:block;width:16px;height:16px}
19
19
  .mpi-intro{margin:0 0 16px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:13px;line-height:20px}.mpi-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;margin:0 0 16px;font-size:12px;line-height:18px}.mpi-meta dt{color:var(--dsw-alias-label-secondary,#b9b9b9)}.mpi-meta dd{margin:0}.mpi-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.mpi-latest{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.mpi-status{font-size:13px;font-weight:600;line-height:18px}.mpi-status[data-kind=error]{color:var(--dsw-alias-state-error-primary,#ef7272)}.mpi-status[data-kind=success]{color:var(--dsw-alias-state-success-primary,#51b976)}.mpi-status[data-kind=update]{color:#e8b15a !important}.mpi-manual{border-top:0.5px solid var(--dsw-alias-border-l2,#494949);padding-top:16px}.mpi-manual h3{margin:0 0 6px;font-size:14px;line-height:20px}.mpi-manual p{margin:0 0 10px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px;line-height:18px}.mpi-command{display:flex;align-items:flex-start;gap:8px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);padding:10px;background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent))}.mpi-command code{min-width:0;flex:1;overflow:visible;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:18px;white-space:pre-wrap;overflow-wrap:anywhere}
20
20
  .dssm-update-progress{height:4px;border-radius:2px;background:var(--dsw-alias-border-l1,#3a3a3a);overflow:hidden;margin:12px 0;position:relative}
@@ -22,19 +22,27 @@ var exports = module.exports;
22
22
  @keyframes dssm-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
23
23
  @media (prefers-reduced-motion:reduce){.dssm-update-progress-bar{animation:none;width:100%;opacity:.6}}
24
24
  @media(max-width:560px){.mpi-meta{grid-template-columns:1fr;gap:2px}.mpi-meta dd{margin-bottom:6px}}
25
- `;function En(){if(document.getElementById(Ar)!==null)return;let t=document.createElement("style");t.id=Ar,t.textContent=An,(document.head??document.documentElement).append(t)}function Ln(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 Er(t,e,l){let d=l===void 0?{}:{signal:l},p=await fetch(t,e==="GET"?{cache:"no-store",...d}:{method:"POST",headers:{"content-type":"application/json",[Rn]:"1"},body:"{}",...d}),g=await p.json();if(!p.ok||!Ln(g))throw new Error(g&&typeof g=="object"&&"error"in g&&typeof g.error=="string"?g.error:ba(document.documentElement.lang).failed);return g}function Pn(t){let e=M.default.useRef(null);return M.default.useLayoutEffect(()=>{e.current?.replaceChildren(t.node)},[t.node]),M.default.createElement("span",{ref:e,className:"mpi-icon","aria-hidden":!0})}function Tn(t){let e=M.default.useRef(null),[,l]=M.default.useState(0),[d,p]=M.default.useState("idle");M.default.useEffect(()=>t.flow.subscribe(()=>l(n=>n+1)),[t.flow]),M.default.useEffect(()=>{let n=document.documentElement,H=new MutationObserver(()=>l(D=>D+1));return H.observe(n,{attributes:!0,attributeFilter:["lang"]}),()=>H.disconnect()},[]),M.default.useEffect(()=>{t.flow.check()},[t.flow]),M.default.useEffect(()=>{function n(H){Rr(H,t.onClose)}return document.addEventListener("keydown",n,!0),()=>document.removeEventListener("keydown",n,!0)},[t.onClose]);let g=document.documentElement.lang,f=t.flow.view(g),h=g.toLowerCase().startsWith("zh")?t.zhName:t.enName,w=Nr(f.profileRaw,t.packageName,f.latestRaw),k=d==="copied"?f.copy.copied:d==="failed"?f.copy.copyFailed:f.copy.copy;return M.default.createElement(Pt.Modal,{open:!0,className:"mpi-dialog",title:`${h} ${f.copy.update}`,onClose:t.onClose,closeLabel:"Close",footer:[M.default.createElement(Pt.Button,{key:"check",variant:"outline",size:"sm",disabled:f.busy,onClick:()=>{t.flow.check()}},f.copy.recheck),M.default.createElement(Pt.Button,{key:"update",variant:"primary",size:"sm",disabled:f.disabled,onClick:()=>{t.flow.update()}},f.updateLabel)]},M.default.createElement("div",{ref:e},M.default.createElement("p",{className:"mpi-intro"},f.copy.intro),M.default.createElement("dl",{className:"mpi-meta"},M.default.createElement("dt",null,f.copy.current),M.default.createElement("dd",null,M.default.createElement("span",{className:"mpi-mono"},f.currentVersion)),M.default.createElement("dt",null,f.copy.latestLabel),M.default.createElement("dd",{className:"mpi-latest"},M.default.createElement("span",{className:"mpi-mono"},f.latestVersion),M.default.createElement("span",{className:"mpi-status",role:"status","data-kind":f.kind,...f.kind==="update"?{style:{color:"#e8b15a"}}:{}},f.message)),M.default.createElement("dt",null,f.copy.profile),M.default.createElement("dd",null,M.default.createElement("span",{className:"mpi-mono"},f.profileName))),f.busy?M.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},M.default.createElement("div",{className:"dssm-update-progress-bar"})):null,M.default.createElement("section",{className:"mpi-manual"},M.default.createElement("h3",null,f.copy.manual),M.default.createElement("p",null,f.copy.manualHint),M.default.createElement("div",{className:"mpi-command"},M.default.createElement("code",null,w),M.default.createElement(Pt.Button,{variant:"outline",size:"sm",disabled:f.busy,onClick:()=>{let n=navigator.clipboard?.writeText(w);if(n===void 0){p("failed");return}n.then(()=>{p("copied"),window.setTimeout(()=>p("idle"),1400)}).catch(()=>p("failed"))}},k)))))}function Lr(t){if(typeof document>"u"||document.body===null)return()=>{};let e=ya(t.endpoint);En();let l=new AbortController,d,p,g,f,h,w,k;function n(){g?.unmount(),g=void 0,p=void 0,f=void 0}function H(){if(g===void 0)return;f===void 0&&(f=t.createIcon("refresh"));let c=f;g.render(M.default.createElement(Pt.Button,{variant:"outline",size:"sm",onClick:V,icon:M.default.createElement(Pn,{node:c})},M.default.createElement("span",{"data-mpi-label":""},ba(document.documentElement.lang).check)))}function D(){w?.unmount(),w=void 0,h?.remove(),h=void 0}function V(){D();let c=document.createElement("div");c.className="mpi-dialog-root",document.body.append(c),h=c,w=(0,or.createRoot)(c),w.render(M.default.createElement(Tn,{flow:Cr(W=>Er(e,W,l.signal),d,W=>{d=W,se()}),packageName:t.packageName,zhName:t.zhName,enName:t.enName,onClose:D}))}function se(){let c=document.querySelector(t.titleRowSelector);if(c===null)return;let W=c.querySelector("h1,h2");p!==void 0&&!p.isConnected&&n();let ne=c.querySelector(t.linksSelector);if(ne===null)return;let pe=ne.querySelector(`[data-mpi-check="${t.packageName}"]`);if(t.isEnabled&&!t.isEnabled()){if(h!==void 0&&D(),pe!==null&&(n(),pe.remove()),W!==null){let j=W.querySelector(`.mpi-version[data-package="${t.packageName}"]`);j!==null&&j.remove()}return}if(W!==null&&d!==void 0){let j=W.querySelector(`.mpi-version[data-package="${t.packageName}"]`);j===null&&(j=document.createElement("span"),j.className="mpi-version",j.dataset.package=t.packageName,W.append(j));let b=`v${d.currentVersion}`;j.textContent!==b&&(j.textContent=b)}if(pe!==null){let j=pe.querySelector("[data-mpi-label]");(j===null||j.textContent!==ba(document.documentElement.lang).check)&&H();return}let S=document.createElement("span");S.dataset.mpiCheck=t.packageName,S.className="mpi-check-host",ne.append(S),p=S,g=(0,or.createRoot)(S),H()}let te,C=()=>(te!==void 0||(te=Er(e,"GET",l.signal).then(c=>(l.signal.aborted||(d=c,se()),c)).finally(()=>{te=void 0})),te),N=new MutationObserver(()=>{k===void 0&&(k=window.requestAnimationFrame(()=>{k=void 0,se()}))});N.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),se(),C().catch(()=>{});let X=()=>{l.abort(),N.disconnect(),D(),n(),k!==void 0&&window.cancelAnimationFrame(k),document.querySelectorAll(`[data-mpi-check="${t.packageName}"],.mpi-version[data-package="${t.packageName}"]`).forEach(c=>c.remove())};return X.refresh=()=>{l.signal.aborted||(se(),d===void 0&&(!t.isEnabled||t.isEnabled())&&C().catch(()=>{}))},X}var Jt=require("@deepseek-ai/dsh-client-ui-primitives");function Pr(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function Tr(t){let e=t.createElement;return function(d){let p=t.useState(!1),g=p[0],f=p[1];t.useEffect(function(){if(!g||typeof window>"u")return;function n(H){Pr(H,function(){f(!1)})}return window.addEventListener("keydown",n,!0),function(){window.removeEventListener("keydown",n,!0)}},[g]);let h=t.useMemo(function(){return d.options.map(function(n){return{id:n.value,label:n.label,disabled:n.disabled,danger:n.danger}})},[d.options]);if(d.action)return e("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},e(Jt.Menu,{open:g,onClose:function(){f(!1)},onSelect:function(n){d.onChange(n),f(!1)},align:"end",portal:!0,anchor:e(Jt.Button,{variant:"outline",size:"sm",disabled:d.disabled,className:d.icon?"dssm-icon-action":void 0,style:d.icon?{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}:void 0,"aria-label":d.label,title:d.label,onClick:function(){d.disabled||f(function(n){return!n})},icon:d.icon},d.icon?null:d.label),items:h}));let w=d.options.find(function(n){return n.value===d.value}),k=w?w.label:d.label;return e("div",{className:"dssm-menu-select-wrap"},e(Jt.Menu,{open:g,onClose:function(){f(!1)},onSelect:function(n){d.onChange(n),f(!1)},selectedId:d.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:e(Jt.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":d.label,"aria-expanded":g,disabled:d.disabled,className:"dssm-menu-select-trigger"+(g?" is-open":""),onClick:function(){d.disabled||f(function(n){return!n})}},e("span",{className:"dssm-menu-select-label"},k),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:h}))}}var qr=ha(require("@deepseek-ai/dsh-client-ui-primitives"),1),ze=require("@deepseek-ai/dsh-client-ui-primitives");var zr=ha(require("react"),1),Ir=require("@deepseek-ai/dsh-client-ui-primitives");function zn(t){let{autoSize:e,className:l,rows:d,...p}=t;return zr.default.createElement("textarea",{...p,className:["dssm-textarea",l].filter(Boolean).join(" "),rows:e?.minRows||d||4})}var nt=Object.assign(Ir.Input,{TextArea:zn});function Mr(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 ot="data-dssm-nav-icon",In='[role="dialog"] nav button',sr='<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"/>',Hr=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${sr.replace(/fill=\"currentColor\"/g,'fill="black"')}</svg>`)}")`,Dr="dssm-settings-nav-icon-style",Mn=[`[${ot}] > svg { display: none !important; }`,`[${ot}]::before {`," content: '';"," flex: none;"," width: 16px;"," height: 16px;"," background-color: currentColor;",` -webkit-mask: ${Hr} center / contain no-repeat;`,` mask: ${Hr} 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 Hn(t,e){let l=String(e??"").trim();return l.length===0?!1:String(t??"").trim()===l}function Dn(){if(typeof document>"u"||document.getElementById(Dr)!==null)return;let t=document.createElement("style");t.id=Dr,t.textContent=Mn,(document.head??document.documentElement).appendChild(t)}function Un(t,e){return Hn(t.textContent,e())?t.getAttribute(ot)===""?!1:(t.setAttribute(ot,""),!0):t.hasAttribute(ot)?(t.removeAttribute(ot),!0):!1}function jn(t){return t.hasAttribute(ot)?(t.removeAttribute(ot),!0):!1}function Ur(t,e){typeof document>"u"||(Dn(),t.effect(()=>{let l=!1,d=!1,p=()=>{if(d=!1,!l)for(let h of document.querySelectorAll(In))Un(h,e)},g=()=>{d||l||(d=!0,queueMicrotask(p))};p();let f=new MutationObserver(g);return f.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{l=!0,f.disconnect();for(let h of document.querySelectorAll(`[${ot}]`))jn(h)}},"skills-manager: settings nav icon"))}var Te=ha(require("react"),1),lr=require("@deepseek-ai/dsh-client-ui-primitives");var ye=Te.createElement,On="@michengai/dsh-skills-manager",ir="skills-manager",Bn=2,dr={zh:{"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:{"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."}},jr="dssm-sidebar-entry-style",cr=`
25
+ `;function Mo(){if(document.getElementById(Hr)!==null)return;let a=document.createElement("style");a.id=Hr,a.textContent=Io,(document.head??document.documentElement).append(a)}function Ho(a){if(a===null||typeof a!="object")return!1;let t=a;return typeof t.packageName=="string"&&typeof t.currentVersion=="string"&&typeof t.updateAvailable=="boolean"&&typeof t.profileName=="string"&&typeof t.canAutoUpdate=="boolean"&&typeof t.latestCheckFailed=="boolean"&&(t.latestVersion===void 0||typeof t.latestVersion=="string")}async function Dr(a,t,d){let c=d===void 0?{}:{signal:d},p=await fetch(a,t==="GET"?{cache:"no-store",...c}:{method:"POST",headers:{"content-type":"application/json",[zo]:"1"},body:"{}",...c}),f=await p.json();if(!p.ok||!Ho(f))throw new Error(f&&typeof f=="object"&&"error"in f&&typeof f.error=="string"?f.error:ba(document.documentElement.lang).failed);return f}function Do(a){let t=z.default.useRef(null);return z.default.useLayoutEffect(()=>{t.current?.replaceChildren(a.node)},[a.node]),z.default.createElement("span",{ref:t,className:"mpi-icon","aria-hidden":!0})}function Uo(a){let t=z.default.useRef(null),[,d]=z.default.useState(0),[c,p]=z.default.useState("idle");z.default.useEffect(()=>a.flow.subscribe(()=>d(n=>n+1)),[a.flow]),z.default.useEffect(()=>{let n=document.documentElement,I=new MutationObserver(()=>d(M=>M+1));return I.observe(n,{attributes:!0,attributeFilter:["lang"]}),()=>I.disconnect()},[]),z.default.useEffect(()=>{a.flow.check()},[a.flow]),z.default.useEffect(()=>{function n(I){Mr(I,a.onClose)}return document.addEventListener("keydown",n,!0),()=>document.removeEventListener("keydown",n,!0)},[a.onClose]);let f=document.documentElement.lang,m=a.flow.view(f),h=f.toLowerCase().startsWith("zh")?a.zhName:a.enName,v=Ir(m.profileRaw,a.packageName,m.latestRaw),x=c==="copied"?m.copy.copied:c==="failed"?m.copy.copyFailed:m.copy.copy;return z.default.createElement(It.Modal,{open:!0,className:"mpi-dialog",title:`${h} ${m.copy.update}`,onClose:a.onClose,closeLabel:"Close",footer:[z.default.createElement(It.Button,{key:"check",variant:"outline",size:"sm",disabled:m.busy,onClick:()=>{a.flow.check()}},m.copy.recheck),z.default.createElement(It.Button,{key:"update",variant:"primary",size:"sm",disabled:m.disabled,onClick:()=>{a.flow.update()}},m.updateLabel)]},z.default.createElement("div",{ref:t},z.default.createElement("p",{className:"mpi-intro"},m.copy.intro),z.default.createElement("dl",{className:"mpi-meta"},z.default.createElement("dt",null,m.copy.current),z.default.createElement("dd",null,z.default.createElement("span",{className:"mpi-mono"},m.currentVersion)),z.default.createElement("dt",null,m.copy.latestLabel),z.default.createElement("dd",{className:"mpi-latest"},z.default.createElement("span",{className:"mpi-mono"},m.latestVersion),z.default.createElement("span",{className:"mpi-status",role:"status","data-kind":m.kind,...m.kind==="update"?{style:{color:"#e8b15a"}}:{}},m.message)),z.default.createElement("dt",null,m.copy.profile),z.default.createElement("dd",null,z.default.createElement("span",{className:"mpi-mono"},m.profileName))),m.busy?z.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},z.default.createElement("div",{className:"dssm-update-progress-bar"})):null,z.default.createElement("section",{className:"mpi-manual"},z.default.createElement("h3",null,m.copy.manual),z.default.createElement("p",null,m.copy.manualHint),z.default.createElement("div",{className:"mpi-command"},z.default.createElement("code",null,v),z.default.createElement(It.Button,{variant:"outline",size:"sm",disabled:m.busy,onClick:()=>{let n=navigator.clipboard?.writeText(v);if(n===void 0){p("failed");return}n.then(()=>{p("copied"),window.setTimeout(()=>p("idle"),1400)}).catch(()=>p("failed"))}},x)))))}function Ur(a){if(typeof document>"u"||document.body===null)return()=>{};let t=ya(a.endpoint);Mo();let d=new AbortController,c,p,f,m,h,v,x;function n(){f?.unmount(),f=void 0,p=void 0,m=void 0}function I(){if(f===void 0)return;m===void 0&&(m=a.createIcon("refresh"));let u=m;f.render(z.default.createElement(It.Button,{variant:"outline",size:"sm",onClick:O,icon:z.default.createElement(Do,{node:u})},z.default.createElement("span",{"data-mpi-label":""},ba(document.documentElement.lang).check)))}function M(){v?.unmount(),v=void 0,h?.remove(),h=void 0}function O(){M();let u=document.createElement("div");u.className="mpi-dialog-root",document.body.append(u),h=u,v=(0,gr.createRoot)(u),v.render(z.default.createElement(Uo,{flow:zr(B=>Dr(t,B,d.signal),c,B=>{c=B,X()}),packageName:a.packageName,zhName:a.zhName,enName:a.enName,onClose:M}))}function X(){let u=document.querySelector(a.titleRowSelector);if(u===null)return;let B=u.querySelector("h1,h2");p!==void 0&&!p.isConnected&&n();let Z=u.querySelector(a.linksSelector);if(Z===null)return;let ae=Z.querySelector(`[data-mpi-check="${a.packageName}"]`);if(a.isEnabled&&!a.isEnabled()){if(h!==void 0&&M(),ae!==null&&(n(),ae.remove()),B!==null){let D=B.querySelector(`.mpi-version[data-package="${a.packageName}"]`);D!==null&&D.remove()}return}if(B!==null&&c!==void 0){let D=B.querySelector(`.mpi-version[data-package="${a.packageName}"]`);D===null&&(D=document.createElement("span"),D.className="mpi-version",D.dataset.package=a.packageName,B.append(D));let b=`v${c.currentVersion}`;D.textContent!==b&&(D.textContent=b)}if(ae!==null){let D=ae.querySelector("[data-mpi-label]");(D===null||D.textContent!==ba(document.documentElement.lang).check)&&I();return}let S=document.createElement("span");S.dataset.mpiCheck=a.packageName,S.className="mpi-check-host",Z.append(S),p=S,f=(0,gr.createRoot)(S),I()}let Y,C=()=>(Y!==void 0||(Y=Dr(t,"GET",d.signal).then(u=>(d.signal.aborted||(c=u,X()),u)).finally(()=>{Y=void 0})),Y),N=new MutationObserver(()=>{x===void 0&&(x=window.requestAnimationFrame(()=>{x=void 0,X()}))});N.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),X(),C().catch(()=>{});let K=()=>{d.abort(),N.disconnect(),M(),n(),x!==void 0&&window.cancelAnimationFrame(x),document.querySelectorAll(`[data-mpi-check="${a.packageName}"],.mpi-version[data-package="${a.packageName}"]`).forEach(u=>u.remove())};return K.refresh=()=>{d.signal.aborted||(X(),c===void 0&&(!a.isEnabled||a.isEnabled())&&C().catch(()=>{}))},K}var $t=require("@deepseek-ai/dsh-client-ui-primitives");function jr(a,t){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),t(),!0)}function Or(a){let t=a.createElement;return function(c){let p=a.useState(!1),f=p[0],m=p[1];a.useEffect(function(){if(!f||typeof window>"u")return;function n(I){jr(I,function(){m(!1)})}return window.addEventListener("keydown",n,!0),function(){window.removeEventListener("keydown",n,!0)}},[f]);let h=a.useMemo(function(){return c.options.map(function(n){return{id:n.value,label:n.label,disabled:n.disabled,danger:n.danger}})},[c.options]);if(c.action)return t("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},t($t.Menu,{open:f,onClose:function(){m(!1)},onSelect:function(n){c.onChange(n),m(!1)},align:"end",portal:!0,anchor:t($t.Button,{variant:"outline",size:"sm",disabled:c.disabled,className:c.icon?"dssm-icon-action":void 0,style:c.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":c.label,title:c.label,onClick:function(){c.disabled||m(function(n){return!n})},icon:c.icon},c.icon?null:c.label),items:h}));let v=c.options.find(function(n){return n.value===c.value}),x=v?v.label:c.label;return t("div",{className:"dssm-menu-select-wrap"},t($t.Menu,{open:f,onClose:function(){m(!1)},onSelect:function(n){c.onChange(n),m(!1)},selectedId:c.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:t($t.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":c.label,"aria-expanded":f,disabled:c.disabled,className:"dssm-menu-select-trigger"+(f?" is-open":""),onClick:function(){c.disabled||m(function(n){return!n})}},t("span",{className:"dssm-menu-select-label"},x),t("svg",{className:"dssm-menu-select-arrow",viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:4,transition:"transform 150ms ease",transform:f?"rotate(180deg)":"none"}},t("path",{d:"m4 6 4 4 4-4"}))),items:h}))}}var eo=ha(require("@deepseek-ai/dsh-client-ui-primitives"),1),Le=require("@deepseek-ai/dsh-client-ui-primitives");var Br=ha(require("react"),1),Fr=require("@deepseek-ai/dsh-client-ui-primitives");function jo(a){let{autoSize:t,className:d,rows:c,...p}=a;return Br.default.createElement("textarea",{...p,className:["dssm-textarea",d].filter(Boolean).join(" "),rows:t?.minRows||c||4})}var De=Object.assign(Fr.Input,{TextArea:jo});function Vr(a,t){return a("svg",{className:"dssm-fold-chevron"+(t?" 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 tt="data-dssm-nav-icon",Oo='[role="dialog"] nav button',hr='<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"/>',Wr=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${hr.replace(/fill=\"currentColor\"/g,'fill="black"')}</svg>`)}")`,Kr="dssm-settings-nav-icon-style",Bo=[`[${tt}] > svg { display: none !important; }`,`[${tt}]::before {`," content: '';"," flex: none;"," width: 16px;"," height: 16px;"," background-color: currentColor;",` -webkit-mask: ${Wr} center / contain no-repeat;`,` mask: ${Wr} 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 Fo(a,t){let d=String(t??"").trim();return d.length===0?!1:String(a??"").trim()===d}function Vo(){if(typeof document>"u"||document.getElementById(Kr)!==null)return;let a=document.createElement("style");a.id=Kr,a.textContent=Bo,(document.head??document.documentElement).appendChild(a)}function Wo(a,t){return Fo(a.textContent,t())?a.getAttribute(tt)===""?!1:(a.setAttribute(tt,""),!0):a.hasAttribute(tt)?(a.removeAttribute(tt),!0):!1}function Ko(a){return a.hasAttribute(tt)?(a.removeAttribute(tt),!0):!1}function qr(a,t){typeof document>"u"||(Vo(),a.effect(()=>{let d=!1,c=!1,p=()=>{if(c=!1,!d)for(let h of document.querySelectorAll(Oo))Wo(h,t)},f=()=>{c||d||(c=!0,queueMicrotask(p))};p();let m=new MutationObserver(f);return m.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{d=!0,m.disconnect();for(let h of document.querySelectorAll(`[${tt}]`))Ko(h)}},"skills-manager: settings nav icon"))}var Ee=ha(require("react"),1),yr=require("@deepseek-ai/dsh-client-ui-primitives");var de=Ee.createElement,qo="@michengai/dsh-skills-manager",br="skills-manager",Qo=2,vr={zh:{"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:{"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."}},Qr="dssm-sidebar-entry-style",wr=`
27
27
  .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
28
  .dssm-main-panel>*{width:100%;max-width:960px}
29
29
  .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
30
  .dssm-bundle-label-box{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;text-align:left}
31
31
  .dssm-bundle-title{font-size:13px;font-weight:500;line-height:20px;color:var(--dsw-alias-label-primary)}
32
32
  .dssm-bundle-desc{font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary)}
33
- `;function Or(){if(typeof document>"u"||document.getElementById(jr)!==null)return;let t=document.createElement("style");t.id=jr,t.textContent=cr,(document.head??document.documentElement).appendChild(t)}function Fn(t){let e=t&&typeof t.size=="number"?t.size:16;return ye("svg",{viewBox:"0 0 16 16",width:e,height:e,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:sr}})}function Vn(t){Or();let{t:e,enabled:l,onToggle:d,disabled:p,onlineUpdateEnabled:g=!0,onToggleOnlineUpdate:f,onlineUpdateDisabled:h,onlineUpdateLocked:w}=t,k=[ye("div",{key:"sidebar-entry",className:"dssm-bundle-row"},ye("div",{className:"dssm-bundle-label-box"},ye("span",{className:"dssm-bundle-title"},e("sidebar.entry.title")),ye("span",{className:"dssm-bundle-desc"},e("sidebar.entry.desc"))),ye(lr.Switch,{checked:l,onChange:d,label:e("sidebar.entry.toggle"),disabled:p}))];return typeof f=="function"&&k.push(ye("div",{key:"online-update",className:"dssm-bundle-row"},ye("div",{className:"dssm-bundle-label-box"},ye("span",{className:"dssm-bundle-title"},e("update.entry.title")),ye("span",{className:"dssm-bundle-desc"},e(w?"update.entry.locked":"update.entry.desc"))),ye(lr.Switch,{checked:g,onChange:f,label:e("update.entry.toggle"),disabled:h,title:w?e("update.entry.locked"):void 0}))),ye(Te.Fragment,null,k)}function Wn(t){let[e,l]=Te.useState(t.getEnabled),[d,p]=Te.useState(t.getOnlineUpdateEnabled?t.getOnlineUpdateEnabled:()=>!0),[g,f]=Te.useState(t.getOnlineUpdateLocked?t.getOnlineUpdateLocked:()=>!1),[h,w]=Te.useState(!1),[k,n]=Te.useState(!1);Te.useEffect(()=>{let V=()=>{l(t.getEnabled()),t.getOnlineUpdateEnabled&&p(t.getOnlineUpdateEnabled()),t.getOnlineUpdateLocked&&f(t.getOnlineUpdateLocked())};return V(),t.subscribe(V)},[t]);let H=V=>{w(!0),l(V),t.setSidebar(V).catch(()=>{l(t.getEnabled())}).finally(()=>{w(!1)})},D=t.setOnlineUpdate?V=>{t.getOnlineUpdateLocked?.()||(n(!0),p(V),t.setOnlineUpdate(V).catch(()=>{t.getOnlineUpdateEnabled&&p(t.getOnlineUpdateEnabled())}).finally(()=>{n(!1)}))}:void 0;return ye(Vn,{t:t.t,enabled:e,disabled:h,onToggle:H,onlineUpdateEnabled:d,onlineUpdateDisabled:k||g,onlineUpdateLocked:g,onToggleOnlineUpdate:D})}function ur(t,e){if(Or(),!t.locale)return{isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:l,headers:d,renderPanel:p,ns:g}=e,f=!1,h=!1,w=null,k=null,n=0,H=!1,D,V=new Set,se=()=>{if(!H)for(let S of V)try{S()}catch{}},te=()=>{if(!H)if(h&&f){if(!w){let S=t.slots.register({name:"main",key:ir,locale:g,inject:()=>({t:t.locale?.bind?t.locale.bind(g):void 0})},j=>ye("div",{className:"dssm-main-panel"},p(j)));w=typeof S=="function"?S:()=>{}}if(!k){let S=t.slots.register({name:"sidebar.panellist",id:ir,order:Bn,label:()=>t.locale.bind(g)("title"),locale:g},j=>ye(Fn,j));k=typeof S=="function"?S:()=>{}}}else{if(D?.panelInfo&&typeof D.selectPanel=="function")try{D.panelInfo.getSnapshot().activePanelId===ir&&D.selectPanel(null)}catch{}if(k){try{k()}catch{}k=null}if(w){try{w()}catch{}w=null}}},C=async S=>{if(H)return f;let j=++n;f=S,te(),se();try{return await l("/sidebar-entry",{method:"POST",headers:d,body:JSON.stringify({enabled:S})}),S}catch(b){throw j===n&&(f=!S,te(),se()),b}},N=!0,X=!1,c=0,W=async S=>{if(H||X)return N;let j=++c;if(N=S,se(),!S&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(S)}catch{}try{if(await l("/online-update",{method:"POST",headers:d,body:JSON.stringify({enabled:S})}),S&&!H&&j===c&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(S)}catch{}return S}catch(b){if(j===c){let q=b!==null&&typeof b=="object"&&"code"in b&&b.code==="error.update.disabled";if(q&&(X=!0),N=q?!1:!S,se(),typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(N)}catch{}}throw b}},ne=n;l("/sidebar-entry").then(S=>{!H&&n===ne&&S&&typeof S.enabled=="boolean"&&(f=S.enabled,te(),se())}).catch(()=>{});let pe=c;return l("/online-update").then(S=>{if(!H&&c===pe&&S&&typeof S.enabled=="boolean"&&(N=S.enabled,S.locked===!0&&(X=!0),se(),typeof e.onOnlineUpdateChange=="function"))try{e.onOnlineUpdateChange(S.enabled)}catch{}}).catch(()=>{}),typeof t.inject=="function"&&t.inject(["layout"],S=>{H||(D=S.layout)}),t.slots.inject("sidebar.panellist",()=>{H||(h=!0,te())}),t.slots.inject("plugins.bundle.config",()=>{if(!H)return t.slots.register({name:"plugins.bundle.config",key:On,locale:g},S=>S&&S.view==="summary"?null:ye(Wn,{t:t.locale.bind(g),getEnabled:()=>f,setSidebar:C,getOnlineUpdateEnabled:()=>N,setOnlineUpdate:W,getOnlineUpdateLocked:()=>X,subscribe:j=>(V.add(j),()=>{V.delete(j)})}))}),{isEnabled:()=>f,isSupported:()=>h,setEnabled:C,isOnlineUpdateEnabled:()=>N,setOnlineUpdate:W,destroy:()=>{if(!H){if(H=!0,n++,c++,D=void 0,V.clear(),k){try{k()}catch{}k=null}if(w){try{w()}catch{}w=null}}}}}var I=va,o=I.createElement,Kn=qr.IconEditOutlineRegular;function qn(){return o(Kn,{size:16})}var Qn={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 Zn(t){var e=document.createElement("span"),l=document.createElementNS("http://www.w3.org/2000/svg","svg");return l.setAttribute("viewBox","0 0 16 16"),l.setAttribute("width","16"),l.setAttribute("height","16"),l.setAttribute("fill","none"),l.setAttribute("stroke","currentColor"),l.setAttribute("stroke-width","1.5"),l.setAttribute("stroke-linecap","round"),l.setAttribute("stroke-linejoin","round"),l.setAttribute("aria-hidden","true"),Qn[t].forEach(function(d){var p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d",d),l.append(p)}),e.append(l),e}var Gt={"content-type":"application/json","x-dsh-skills-manager":"1"},zt="skills-manager",xa={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u6216\u63CF\u8FF0","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","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.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","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.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.forbiddenHost":"\u7981\u6B62\u7684\u8BF7\u6C42\u6765\u6E90\uFF08\u975E\u6CD5 Host\uFF09","error.proto.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.method":"\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5","error.proto.unknownAction":"\u672A\u77E5\u64CD\u4F5C","error.proto.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.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"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names or descriptions","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","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.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","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.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.forbiddenHost":"Forbidden request origin (invalid host)","error.proto.contentType":"Content type must be application/json","error.proto.method":"Method not allowed","error.proto.unknownAction":"Unknown action","error.proto.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.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"}},Qr={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}"},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}"}};Object.assign(xa.zh,Qr.zh,rr.zh,nr.zh,dr.zh);Object.assign(xa.en,Qr.en,rr.en,nr.en,dr.en);var It=Tr(I),Zr=Sr({react:I,SourceSelect:It,translateError:ge}),Br=Zr.DestinationPicker,Yn=kr({react:I,Modal:Je,Input:nt,Button:ze.Button,SourceSelect:It,destination:Zr,api:wa,headers:Gt,translateError:ge,getLocale:Jr}),Jn=xr+cr+`.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:6px!important;height:28px!important;padding:0 12px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!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-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}
33
+ `;function Yr(){if(typeof document>"u"||document.getElementById(Qr)!==null)return;let a=document.createElement("style");a.id=Qr,a.textContent=wr,(document.head??document.documentElement).appendChild(a)}function Yo(a){let t=a&&typeof a.size=="number"?a.size:16;return de("svg",{viewBox:"0 0 16 16",width:t,height:t,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:hr}})}function Zo(a){Yr();let{t,enabled:d,onToggle:c,disabled:p,onlineUpdateEnabled:f=!0,onToggleOnlineUpdate:m,onlineUpdateDisabled:h,onlineUpdateLocked:v}=a,x=[de("div",{key:"sidebar-entry",className:"dssm-bundle-row"},de("div",{className:"dssm-bundle-label-box"},de("span",{className:"dssm-bundle-title"},t("sidebar.entry.title")),de("span",{className:"dssm-bundle-desc"},t("sidebar.entry.desc"))),de(yr.Switch,{checked:d,onChange:c,label:t("sidebar.entry.toggle"),disabled:p}))];return typeof m=="function"&&x.push(de("div",{key:"online-update",className:"dssm-bundle-row"},de("div",{className:"dssm-bundle-label-box"},de("span",{className:"dssm-bundle-title"},t("update.entry.title")),de("span",{className:"dssm-bundle-desc"},t(v?"update.entry.locked":"update.entry.desc"))),de(yr.Switch,{checked:f,onChange:m,label:t("update.entry.toggle"),disabled:h,title:v?t("update.entry.locked"):void 0}))),de(Ee.Fragment,null,x)}function Jo(a){let[t,d]=Ee.useState(a.getEnabled),[c,p]=Ee.useState(a.getOnlineUpdateEnabled?a.getOnlineUpdateEnabled:()=>!0),[f,m]=Ee.useState(a.getOnlineUpdateLocked?a.getOnlineUpdateLocked:()=>!1),[h,v]=Ee.useState(!1),[x,n]=Ee.useState(!1);Ee.useEffect(()=>{let O=()=>{d(a.getEnabled()),a.getOnlineUpdateEnabled&&p(a.getOnlineUpdateEnabled()),a.getOnlineUpdateLocked&&m(a.getOnlineUpdateLocked())};return O(),a.subscribe(O)},[a]);let I=O=>{v(!0),d(O),a.setSidebar(O).catch(()=>{d(a.getEnabled())}).finally(()=>{v(!1)})},M=a.setOnlineUpdate?O=>{a.getOnlineUpdateLocked?.()||(n(!0),p(O),a.setOnlineUpdate(O).catch(()=>{a.getOnlineUpdateEnabled&&p(a.getOnlineUpdateEnabled())}).finally(()=>{n(!1)}))}:void 0;return de(Zo,{t:a.t,enabled:t,disabled:h,onToggle:I,onlineUpdateEnabled:c,onlineUpdateDisabled:x||f,onlineUpdateLocked:f,onToggleOnlineUpdate:M})}function kr(a,t){if(Yr(),!a.locale)return{isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:d,headers:c,renderPanel:p,ns:f}=t,m=!1,h=!1,v=null,x=null,n=0,I=!1,M,O=new Set,X=()=>{if(!I)for(let S of O)try{S()}catch{}},Y=()=>{if(!I)if(h&&m){if(!v){let S=a.slots.register({name:"main",key:br,locale:f,inject:()=>({t:a.locale?.bind?a.locale.bind(f):void 0})},D=>de("div",{className:"dssm-main-panel"},p(D)));v=typeof S=="function"?S:()=>{}}if(!x){let S=a.slots.register({name:"sidebar.panellist",id:br,order:Qo,label:()=>a.locale.bind(f)("title"),locale:f},D=>de(Yo,D));x=typeof S=="function"?S:()=>{}}}else{if(M?.panelInfo&&typeof M.selectPanel=="function")try{M.panelInfo.getSnapshot().activePanelId===br&&M.selectPanel(null)}catch{}if(x){try{x()}catch{}x=null}if(v){try{v()}catch{}v=null}}},C=async S=>{if(I)return m;let D=++n;m=S,Y(),X();try{return await d("/sidebar-entry",{method:"POST",headers:c,body:JSON.stringify({enabled:S})}),S}catch(b){throw D===n&&(m=!S,Y(),X()),b}},N=!0,K=!1,u=0,B=async S=>{if(I||K)return N;let D=++u;if(N=S,X(),!S&&typeof t.onOnlineUpdateChange=="function")try{t.onOnlineUpdateChange(S)}catch{}try{if(await d("/online-update",{method:"POST",headers:c,body:JSON.stringify({enabled:S})}),S&&!I&&D===u&&typeof t.onOnlineUpdateChange=="function")try{t.onOnlineUpdateChange(S)}catch{}return S}catch(b){if(D===u){let U=b!==null&&typeof b=="object"&&"code"in b&&b.code==="error.update.disabled";if(U&&(K=!0),N=U?!1:!S,X(),typeof t.onOnlineUpdateChange=="function")try{t.onOnlineUpdateChange(N)}catch{}}throw b}},Z=n;d("/sidebar-entry").then(S=>{!I&&n===Z&&S&&typeof S.enabled=="boolean"&&(m=S.enabled,Y(),X())}).catch(()=>{});let ae=u;return d("/online-update").then(S=>{if(!I&&u===ae&&S&&typeof S.enabled=="boolean"&&(N=S.enabled,S.locked===!0&&(K=!0),X(),typeof t.onOnlineUpdateChange=="function"))try{t.onOnlineUpdateChange(S.enabled)}catch{}}).catch(()=>{}),typeof a.inject=="function"&&a.inject(["layout"],S=>{I||(M=S.layout)}),a.slots.inject("sidebar.panellist",()=>{I||(h=!0,Y())}),a.slots.inject("plugins.bundle.config",()=>{if(!I)return a.slots.register({name:"plugins.bundle.config",key:qo,locale:f},S=>S&&S.view==="summary"?null:de(Jo,{t:a.locale.bind(f),getEnabled:()=>m,setSidebar:C,getOnlineUpdateEnabled:()=>N,setOnlineUpdate:B,getOnlineUpdateLocked:()=>K,subscribe:D=>(O.add(D),()=>{O.delete(D)})}))}),{isEnabled:()=>m,isSupported:()=>h,setEnabled:C,isOnlineUpdateEnabled:()=>N,setOnlineUpdate:B,destroy:()=>{if(!I){if(I=!0,n++,u++,M=void 0,O.clear(),x){try{x()}catch{}x=null}if(v){try{v()}catch{}v=null}}}}}var L=wa,s=L.createElement,Go=eo.IconEditOutlineRegular;function Xo(){return s(Go,{size:16})}var _o={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 $o(a){var t=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"),_o[a].forEach(function(c){var p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d",c),d.append(p)}),t.append(d),t}var bt={"content-type":"application/json","x-dsh-skills-manager":"1"},Ht="skills-manager",Sa={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u6216\u63CF\u8FF0","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","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.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","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.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.forbiddenHost":"\u7981\u6B62\u7684\u8BF7\u6C42\u6765\u6E90\uFF08\u975E\u6CD5 Host\uFF09","error.proto.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.method":"\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5","error.proto.unknownAction":"\u672A\u77E5\u64CD\u4F5C","error.proto.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.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"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names or descriptions","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","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.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","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.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.forbiddenHost":"Forbidden request origin (invalid host)","error.proto.contentType":"Content type must be application/json","error.proto.method":"Method not allowed","error.proto.unknownAction":"Unknown action","error.proto.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.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"}},to={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(Sa.zh,to.zh,mr.zh,fr.zh,vr.zh);Object.assign(Sa.en,to.en,mr.en,fr.en,vr.en);var Dt=Or(L),ao=Tr({react:L,SourceSelect:Dt,translateError:Q}),Zr=ao.DestinationPicker,es=Lr({react:L,Modal:Qe,Input:De,Button:Le.Button,SourceSelect:Dt,destination:ao,api:ka,headers:bt,translateError:Q,getLocale:oo}),ts=Pr+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:6px!important;height:28px!important;padding:0 12px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!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}
34
34
  @container(max-width:400px){.dssm-source-path{display:none}}@media(max-width:760px){.dssm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.dssm-title-row{flex-wrap:wrap}}@container(max-width:520px){.dssm-trash-item{grid-template-columns:minmax(0,1fr)}.dssm-skill-row{flex-wrap:wrap}.dssm-skill-actions{width:100%;margin-inline-start:0;justify-content:flex-end}.dssm-trash-actions{justify-content:flex-end}.dssm-head{flex-direction:column}.dssm-actions{width:100%;margin-left:0}.dssm-actions button{flex:1}.dssm-summary{grid-template-columns:1fr}}.dssm-row-state{display:flex;align-items:center;justify-content:flex-end;gap:8px}
35
35
  .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
36
  .dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-btn-danger:not(:disabled){color:var(--dsw-alias-state-error-primary,#ef7272)}
37
37
  .dssm-root-path-actions{display:flex;flex-wrap:wrap;gap:8px}
38
+ .dssm-custom-sources{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--dsw-alias-border-l2)}
39
+ .dssm-custom-source-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
40
+ .dssm-custom-scan{display:flex;flex-direction:column;gap:6px}
41
+ .dssm-custom-candidate{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:6px;background:var(--dsw-alias-bg-layer-1)}
42
+ .dssm-custom-candidate-text{display:flex;flex-direction:column;min-width:0}
43
+ .dssm-custom-candidate-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
44
+ .dssm-custom-candidate-meta,.dssm-custom-candidate-state{font-size:12px;color:var(--dsw-alias-label-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
45
+ .dssm-custom-candidate-state{white-space:nowrap}
38
46
  .dssm-source-custom{color:var(--dsw-alias-label-tertiary);font-size:11px;white-space:nowrap}
39
47
  .dssm-modal{max-height:100%}
40
48
  .dssm-modal.dssm-modal-wide{width:min(760px,100%)!important;max-height:100%!important}
@@ -45,6 +53,6 @@ var exports = module.exports;
45
53
  .dssm-detail-head button{flex:none}
46
54
  .dssm-detail-body{box-sizing:border-box;width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace!important;font-size:13px!important;line-height:20px!important;resize:vertical!important}
47
55
 
48
- `;function mr(t,e,l,d){var p=t(e,d);return typeof p=="string"&&p!==e?p:l}function ge(t,e){if(e instanceof Error&&!e.code)return e.message;if(e&&typeof e=="object"){let p=e;if(p.code){var l=Object.assign({},p.params||{});l.action&&(l.action=mr(t,"action."+l.action,String(l.action)));var d=t(p.code,l);if(typeof d=="string"&&d!==p.code)return d;if(d===p.code)return p.error!==void 0?ge(t,p.error):p.code}if(p.error!==void 0)return ge(t,p.error);if(p.message!==void 0)return String(p.message)}return String(e??"")}function Yr(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 l=e;if(!t.ok||l.ok===!1)throw l;return l.data})}function wa(t,e){return fetch(ya("/api/dsh-skills-manager"+t),e).then(Yr)}function Qa(t){return t.enabled!==void 0?t.enabled===!0:!!(t.invocationPolicyValid&&t.modelInvocable&&t.userInvocable&&t.managerEnabled!==!1)}function Ka(t,e){return t+(Number(e)===1?".one":".other")}var ka;function Jr(){return ka?.getLocale?.().active}function Gr(t,e){return new Date(e).toLocaleString(Jr()||t("format.locale"))}function st(t,e){var l=mr(t,"root."+(e.localeKey||e.kind||e.key),e.label);return e.projectName?l+" \xB7 "+e.projectName:l}function Xr(t,e){var l=e&&e.imported||[],d=l.map(function(h){return h.name}),p=(e&&e.skipped||[]).map(function(h){return h.name}),g=[];l.forEach(function(h){(h.warnings||[]).forEach(function(w){g.push(ge(t,w))})});var f;return d.length&&p.length?f={ok:!0,warning:!0,imported:!0,text:t("result.importPartial",{imported:d.join(", "),skipped:p.join(", ")})}:d.length?f={ok:!0,warning:!1,imported:!0,text:t("result.imported",{names:d.join(", ")})}:p.length?f={ok:!1,warning:!0,imported:!1,text:t("result.importSkipped",{names:p.join(", ")})}:f={ok:!1,warning:!1,imported:!1,text:t("result.importEmpty")},g.length&&(f.warning=!0,f.text=t("result.importWarnings",{result:f.text,warnings:g.join(t("format.warningSeparator"))})),f}function _r(t){return String(t??"").trim().toLowerCase()}function fr(t,e){var l=_r(e);return l?[t.name,t.declaredName,t.description,t.kind,t.kindLabel,t.statusLabel,t.rootKey,t.rootLabel].some(function(d){return String(d??"").toLowerCase().includes(l)}):!0}function Gn(t,e){var l=e&&e.rootKey!=null?e.rootKey:"";return t.filter(function(d){return(!l||d.rootKey===l)&&fr(d,e&&e.query)})}function gr(t){return(t||[]).filter(function(e){return e.mutable||e.overridden===!0||e.exists!==!1})}function hr(t){return t.shadowedBy?"shadowed":t.loadable===!1?"invalid":Qa(t)?"enabled":"disabled"}function $r(t){var e={total:t.length,enabled:0,disabled:0,shadowed:0,invalid:0};return t.forEach(function(l){e[hr(l.skill)]++}),e}function en(t){return!!(t&&t.toggleable!==!1&&t.kind!=="project-dsh")}function tn(t){return gr(t).filter(function(e){return e.scope==="project"?!1:e.mutable||e.overridden===!0||(e.skills||[]).length>0})}var Fr=32<<20,Va=32<<20,Vr=64<<20,Wr=1e3;function qa(t){return String(t&&(t._dssmPath||t.webkitRelativePath||t.name)||"").replace(/\\/g,"/")}function an(t){var e=Array.from(t||[]);if(!e.length)return null;if(e.length>Wr)return{error:{code:"error.upload.tooMany",params:{limit:Wr}}};var l=e.some(function(w){return qa(w).includes("/")});if(l){if(!e.some(function(w){return/(^|\/)skill\.md$/i.test(qa(w))}))return{error:{code:"select.folder.invalid"}};var d=e.find(function(w){return Number(w.size||0)>Va});if(d)return{error:{code:"error.upload.tooLarge",params:{limit:Va}}};var p=e.reduce(function(w,k){return w+Number(k.size||0)},0);return p>Vr?{error:{code:"error.upload.tooLarge",params:{limit:Vr}}}:{kind:"folder",name:qa(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||""),f=g.toLowerCase(),h=Number(e[0].size||0);return f==="skill.md"?h>Va?{error:{code:"error.upload.tooLarge",params:{limit:Va}}}:{kind:"skill",name:g,files:e,count:1,size:h}:f.endsWith(".zip")?h>Fr?{error:{code:"error.upload.archiveTooLarge",params:{limit:Fr}}}:{kind:"zip",name:g,files:e,count:1,size:h}:{error:{code:"select.file.invalid"}}}function Xn(t){for(var e=new Uint8Array(t),l="",d=32768,p=0;p<e.length;p+=d)l+=String.fromCharCode(...e.subarray(p,Math.min(p+d,e.length)));return btoa(l)}function _n(t){return Promise.all(t.files.map(function(e){return e.arrayBuffer().then(function(l){return{path:qa(e),data:Xn(l)}})})).then(function(e){return t.kind==="zip"?{name:t.name,zip:e[0].data}:{name:t.name,entries:e}})}function rn(t,e,l){return t.isFile?new Promise(function(d,p){t.file(function(g){g._dssmPath=e+g.name,l.push(g),d()},p)}):t.isDirectory?new Promise(function(d,p){var g=t.createReader(),f=[];function h(){g.readEntries(function(w){if(!w.length){Promise.all(f.map(function(k){return rn(k,e+t.name+"/",l)})).then(function(){d()},p);return}f=f.concat(w),h()},p)}h()}):Promise.resolve()}function $n(t){var e=Array.from(t&&t.items||[]),l=e.map(function(p){return p.webkitGetAsEntry&&p.webkitGetAsEntry()}).filter(p=>!!p);if(!l.length)return Promise.resolve(Array.from(t&&t.files||[]));var d=[];return Promise.all(l.map(function(p){return rn(p,"",d)})).then(function(){return d})}function eo(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 to(t,e){if(e.key==="Tab"){var l=eo(t);if(l.length){var d=document.activeElement;(d===t||!t.contains(d)||(e.shiftKey?d===l[0]:d===l[l.length-1]))&&(e.preventDefault(),(e.shiftKey?l[l.length-1]:l[0]).focus())}}}function ao(t){return pr(t.on,t.label,t.disabled,t.onClick)}function ue(t,e,l="primary",d){return o(ze.Button,{variant:l==="primary"?"primary":"outline",className:l==="danger"?"dssm-btn-danger":void 0,disabled:d,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 ro(){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 Tt(t,e,l,d,p){return o(ze.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(d?" 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:l})}function Wa(t,e,l,d,p){return o(ze.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:d,"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:l})}function pr(t,e,l,d){return o("button",{type:"button",role:"switch","aria-checked":t,"aria-label":e,disabled:l,className:"dssm-enable-switch",onClick:function(p){p&&typeof p.stopPropagation=="function"&&p.stopPropagation(),d()}},o("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var no="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",oo="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==",so="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==",io="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",lo="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",co="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",uo="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",po="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",mo="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",fo="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",go="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",ho="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",bo="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",yo="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",vo="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 wo(t){var e=String(t||"").toLowerCase();return e.includes("dsh")?o("img",{src:no,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("workbuddy")?o("img",{src:oo,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:so,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:io}),o("path",{fill:"#ffffff",d:lo})):e.includes("codex")?o("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:co})):e.includes("cursor")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",fillRule:"evenodd",d:uo})):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:po})):e.includes("trae")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#32F08C",d:mo})):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:bo}),o("path",{fill:"#FF4D4D",d:yo}),o("path",{fill:"#FF4D4D",d:vo})):e.includes("roo")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#eab308",fillRule:"evenodd",d:fo})):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:go}),o("path",{fill:"#ffffff",d:ho})):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 ko(){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 nn(t,e,l){t&&e===l&&t.focus()}function Je(t){var e=I.useRef(null),l=I.useRef(t.onClose);l.current=t.onClose;function d(){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 I.useLayoutEffect(function(){if(!(typeof document>"u")){var p=e.current;p&&nn(p,document.activeElement,document.body)}}),I.useEffect(function(){if(typeof document>"u")return;function p(g){g.key==="Escape"&&(g.preventDefault(),g.stopImmediatePropagation(),l.current())}return document.addEventListener("keydown",p,!0),function(){document.removeEventListener("keydown",p,!0)}},[]),o(ze.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 on(t){if(t){for(var e=t.byId||{},l=Array.isArray(t.ids)&&t.ids.length?t.ids:Object.keys(e),d=0;d<l.length;d++){var p=e[l[d]];if(p&&p.retainedBy&&p.retainedBy.mainView)return l[d]}for(var g in e)if(l.indexOf(g)===-1&&e[g]&&e[g].retainedBy&&e[g].retainedBy.mainView)return g}}function sn(t){return typeof t=="function"?t:ka&&typeof ka.bind=="function"?ka.bind(zt):function(e,l){var d=xa.zh||{},p=d[e]||e;if(!l)return p;var g=l;return p.replace(/\{(\w+)\}/g,function(f,h){return String(g[h]??"{"+h+"}")})}}function Kr(t){var e=sn(t&&t.t),l=t&&t.useSessions?t.useSessions(on):void 0,d=I.useState("user"),p=I.useState({}),g=I.useState({});return o(xo,Object.assign({},t,{t:e,key:l||"no-session",sessionId:l,scope:d[0],setScope:d[1],savedFilters:p[0],setSavedFilters:p[1],expanded:g[0],setExpanded:g[1]}))}function xo(t){var e=sn(t&&t.t);function l(r,s){var v=Object.fromEntries(new Headers(s?.headers).entries());return t.sessionId&&(v["x-dsh-skills-session"]=t.sessionId),wa(r,Object.assign({},s,{headers:v}))}var d=I.useState({loading:!0,error:null,data:null}),p=d[0],g=d[1],f=I.useState(!1),h=f[0],w=f[1],k=t.scope,n=t.setScope,H=t.expanded,D=t.setExpanded,V=t.savedFilters,se=t.setSavedFilters,te=I.useState(null),C=te[0],N=te[1],X=I.useState(""),c=X[0],W=X[1],ne=I.useState({}),pe=ne[0],S=ne[1],j=I.useState(null),b=j[0]&&j[0].scope===k?j[0]:null;function q(r){j[1](r?Object.assign({},r,{scope:k}):null)}var ke=I.useState({root:"dsh",name:"",description:"",body:""}),Ie=ke[0],it=ke[1],_=I.useState(""),ie=_[0],Ke=_[1],Xt=I.useState(Yt()),Ge=Xt[0],mt=Xt[1],Mt=I.useState(Yt()),qe=Mt[0],_t=Mt[1],Ht=I.useState([]),me=Ht[0],y=Ht[1],F=I.useState(""),le=F[0],ft=F[1],Ae=I.useRef(""),Sa=I.useRef(0),Z=I.useState({loading:!1,error:null}),Dt=Z[0],fe=Z[1],Ca=I.useState({}),gt=Ca[0],Ut=Ca[1],jt=I.useState(null),ve=jt[0],Le=jt[1],$t=I.useState(""),ea=$t[0],Ot=$t[1],Na=I.useState(!1),ta=Na[0],ht=Na[1],Ra=I.useState(null),Aa=Ra[0],Me=Ra[1],bt=I.useState(null),Xe=bt[0],aa=bt[1],Bt=I.useState("idle"),Ea=Bt[0],He=Bt[1];function ra(r){if(typeof navigator>"u"||!navigator.clipboard){He("failed");return}navigator.clipboard.writeText(r).then(function(){He("copied"),setTimeout(function(){He("idle")},1500)}).catch(function(){He("failed")})}var Pe=I.useRef(!1),xe=I.useRef(null),na=I.useRef(null),Ft=I.useRef(null),Qe=I.useRef(!1),lt=I.useRef({}),_e=I.useRef(0);I.useEffect(function(){return function(){_e.current++}},[]);function Ze(r){return r||g({loading:!0,error:null,data:p.data}),l("/state").then(function(s){return g({loading:!1,error:null,data:s}),s}).catch(function(s){g({loading:!1,error:ge(e,s),data:p.data})})}I.useEffect(function(){Ze(!1)},[]);function $(r,s,v,z){return Pe.current?Promise.reject({error:"operation already in progress"}):(Pe.current=!0,w(!0),q(null),l(r,{method:"POST",headers:Gt,body:JSON.stringify(s||{})}).then(function(P){q({ok:!0,text:v?e(v,z||P||{}):e("result.updated")});var T=s&&typeof s.workspace=="string"?s.workspace:"";return Promise.all([Ze(!0),T?xt(T):null]).then(function(){return P})}).catch(function(P){throw q({ok:!1,text:e("error.action",{error:ge(e,P)})}),P}).finally(function(){Pe.current=!1,w(!1)}))}function yt(r,s,v){w(!0),aa(null),He("idle"),N("detail"),l("/detail",{method:"POST",headers:Gt,body:JSON.stringify(v?{root:r.key,name:s.name,workspace:v}:{root:r.key,name:s.name})}).then(aa).catch(function(z){q({ok:!1,text:e("error.action",{error:ge(e,z)})}),N(null)}).finally(function(){w(!1)})}function $e(r){Ot(r.path||""),ht(!1),Me(null),N({type:"root-path",root:r.key,label:st(e,r),path:r.path||"",defaultPath:r.defaultPath})}function vt(){var r=So();if(!r){Me(e("rootPath.pickUnavailable"));return}Me(null),ht(!0),Promise.resolve().then(r).then(function(s){typeof s=="string"&&s.trim()&&Ot(s.trim())}).catch(function(s){Me(ge(e,s))}).finally(function(){ht(!1)})}function La(r){var s=C&&typeof C=="object"&&C.type==="root-path"?C:null;s&&(Me(null),$("/root-path",{key:s.root,path:r},r===null?"rootPath.resetDone":"rootPath.saved",{name:s.label}).then(function(){N(null)}).catch(function(v){Me(ge(e,v))}))}function Vt(r,s){it(Object.assign({},Ie,{[r]:s}))}function Za(){Lt(Ge,me,at)&&$("/create",Object.assign({},Ie,{root:void 0},Fa(Ge)),null).then(function(r){N(null),it({root:"dsh",name:"",description:"",body:""}),q({ok:!0,text:e("result.created",{name:r.name})+(Ge.scope==="workspace"?" \xB7 "+e("dest.createdInWorkspace"):"")})}).catch(function(){})}function oa(r){Qe.current=!1;var s=an(r);if(s){if(s.error){Le(null),q({ok:!1,text:ge(e,s.error)});return}Le(s),q(null)}}function Wt(r){if(h||Qe.current||!r.current)return;Qe.current=!0,r.current.value="";function s(){setTimeout(function(){Qe.current=!1},0)}window.addEventListener("focus",s,{once:!0}),r.current.click(),setTimeout(function(){Qe.current=!1},3e4)}function Pa(){!ve||!Lt(qe,me,at)||_n(ve).then(function(r){return $("/upload",Object.assign({},r,Fa(qe)),null)}).then(function(r){var s=Xr(e,r);q({ok:s.ok,warning:s.warning,text:s.text}),s.imported&&(N(null),Le(null))}).catch(function(){})}var De=p.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},wt=De.roots||[],Ye=wt.filter(function(r){return!r.mutable&&r.scope!=="project"});function dt(){if(Ye.length){var r=Oe&&Ye.find(function(s){return s.key===Oe})||Ye[0];$e(r)}}var Ue=k==="project"?"project":"user",J=V[Ue]||{query:"",source:"",status:""},Se=J.query,je=J.source;function Kt(r,s){se(function(v){return Object.assign({},v,{[Ue]:Object.assign({},J,{[r]:s})})})}function et(r){Kt("query",r)}function sa(r){Kt("source",r)}var we=gt[le],U=k==="trash"?[]:k==="project"?gr(we?.roots||[]):tn(wt),tt=U.filter(function(r){return(r.skills||[]).length>0}),Oe=k!=="project"&&tt.some(function(r){return r.key===je})?je:"";function ct(r){return r.registeredPaths[0]||""}function Be(r){me.some(function(s){return s.available&&ct(s)===r})&&(Ae.current=r,ft(r),gt[r]||xt(r))}function kt(r=k==="project",s=!1){var v=_e.current,z=++Sa.current,P=function(){return v===_e.current&&z===Sa.current};return fe({loading:!0,error:null}),wa("/workspaces").then(function(T){if(!P())return[];var Y=T.items||[];y(Y),fe({loading:!1,error:null});var ae=Y.find(function(B){return B.available&&ct(B)===Ae.current})||Y.find(function(B){return B.available&&ct(B)}),K=ae?ct(ae):"";return Ae.current=K,ft(K),r&&K&&(s||!gt[K])&&xt(K),Y}).catch(function(T){return P()?(y([]),Ae.current="",ft(""),fe({loading:!1,error:ge(e,T)}),[]):[]})}function xt(r){var s=_e.current,v=(lt.current[r]||0)+1;lt.current[r]=v;var z=function(){return s===_e.current&&v===lt.current[r]};return Ut(function(P){return Object.assign({},P,{[r]:{loading:!0,error:null,roots:P[r]?P[r].roots:[]}})}),wa("/workspace-skills",{method:"POST",headers:Gt,body:JSON.stringify({workspace:r})}).then(function(P){z()&&Ut(function(T){return Object.assign({},T,{[r]:{loading:!1,error:null,roots:P.roots||[]}})})}).catch(function(P){z()&&Ut(function(T){return Object.assign({},T,{[r]:{loading:!1,error:ge(e,P),roots:[]}})})})}function Ta(){return _e.current++,Ut({}),kt(!0,!0)}function za(){it(Object.assign({},Ie,{root:"dsh"})),mt(Yt()),N("create"),kt()}function St(){q(null),Le(null),_t(Yt()),N("import"),kt()}var at=(De.writeDestinations||[]).filter(function(r){return r.key==="dsh"||r.key==="agents"});function Ia(r){var s=r.root&&r.root.scope==="project"?r.root.projectRoot:"",v=s?me.find(function(z){return z.projectRoot===s&&z.available}):void 0;return v?{id:r.id,workspace:v.registeredPaths[0]||v.path}:{id:r.id}}function Ya(r){return r.root&&r.root.scope==="project"?e("root.projectDsh")+" \xB7 "+(r.root.projectName||r.root.projectRoot):mr(e,"root."+(r.root?.localeKey||r.root?.key||"dsh"),r.root?.label||e("root.dsh"))}function ia(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}},wo(r))}var Ma=[{value:"",label:e("filter.all")}].concat(tt.map(function(r){return{value:r.key,label:e("filter.option",{name:st(e,r),count:r.skills.length})}}));function Ce(r){return r.linked!==!0?null:o("div",{className:"dssm-note"},e("skill.linked"))}function Fe(r){if(!r.fallbackTo)return null;var s=wt.find(function(v){return v.key===r.fallbackTo.root});return s?o("div",{className:"dssm-note dssm-fallback"},e("status.fallback."+r.fallbackTo.scope,{source:st(e,s)})):null}function qt(r,s,v){var z=r==="status.enabled",P=r==="status.disabled",T=r==="status.invalid",Y=z?"var(--dsw-alias-state-success-primary, #51b976)":P?"var(--dsw-alias-state-warn-primary, #d49245)":T?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",ae=z?"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":P?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":T?"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",K=s||e(r);return o("span",{className:"dssm-status "+(v||""),title:K,"aria-label":K,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:Y,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:ae})))}function ut(r,s,v){var z=function(R){return v?Object.assign({},R,{workspace:v}):R},P=Qa(s),T=r.toggleable!==!1,Y=s.shadowedBy?"status.shadowed":s.loadable===!1?"status.invalid":P?"status.enabled":"status.disabled",ae=s.shadowedBy?"dssm-shadowed":P?"dssm-enabled":"dssm-disabled",K=!T||!!s.shadowedBy||s.loadable===!1,B=[{value:"detail",label:e("btn.detail")}],Re=r.categories||[],rt=s.categoryId||"";Re.forEach(function(R){R.id!==rt&&B.push({value:"category:"+R.id,label:e("category.assign",{name:R.name})})}),Re.length&&rt!==""&&B.push({value:"category:",label:e("category.assign",{name:e("category.uncategorized")})}),s.installSource&&s.linked!==!0&&B.push({value:"update",label:e("repo.manageUpdate")}),r.mutable&&s.linked!==!0&&B.push({value:"trash",label:e("btn.trash"),danger:!0});var A=s.shadowedBy?e("status.shadowedBy",{source:function(){var R=wt.find(function(re){return re.key===s.shadowedBy.root});return R?st(e,R):s.shadowedBy.root}()}):void 0,Q=[o(It,{action:!0,icon:ro(),label:e("btn.more"),disabled:h,options:B,onChange:function(R){if(R==="detail"&&yt(r,s,v),R.indexOf("category:")===0){var re=R.slice(9),Et=Re.find(function(Ba){return Ba.id===re});$("/category-assign",z({root:r.key,name:s.name,category:re}),"category.assigned",{name:s.name,category:Et?Et.name:e("category.uncategorized")})}R==="update"&&(ua.focusSource(s.installSource,s.name),n("repositories")),R==="trash"&&N({type:"trash-confirm",root:r.key,name:s.name,workspace:v})}})];Q.push(o("div",{className:"dssm-row-state"},K?qt(Y,A,ae):null,T?pr(P,e("skill.toggle")+" "+s.name,h||r.enabled===!1||!P&&s.loadable===!1,function(){$(P?"/disable":"/enable",z({root:r.key,name:s.name}))}):null));var Ee=s.declaredName||s.name,oe=s.description||e("note.missing"),ce=r.mutable===!0||!!(r.categories&&r.categories.length);return o("div",{key:r.key+":"+s.name,className:"dssm-skill-row",draggable:ce,onDragStart:function(R){if(ce){var re={root:r.key,name:s.name,currentCategoryId:s.categoryId||""};xe.current=re,R.dataTransfer.setData("text/plain",JSON.stringify(re)),R.dataTransfer.effectAllowed="move",R.currentTarget.classList.add("dragging")}},onDragEnd:function(R){xe.current=null,R.currentTarget.classList.remove("dragging"),Nt(R.currentTarget)},onDragOver:function(R){if(!(!xe.current||xe.current.root!==r.key||xe.current.name===s.name)){R.preventDefault(),R.stopPropagation();var re=R.currentTarget.getBoundingClientRect();R.currentTarget.classList.toggle("drop-before",R.clientY<re.top+re.height/2),R.currentTarget.classList.toggle("drop-after",R.clientY>=re.top+re.height/2)}},onDragLeave:function(R){R.currentTarget.classList.remove("drop-before","drop-after")},onDrop:function(R){R.preventDefault(),R.stopPropagation(),R.currentTarget.classList.remove("drop-before","drop-after");var re=xe.current;if(xe.current=null,Nt(R.currentTarget),!(!re||re.root!==r.key||re.name===s.name)){var Et=R.currentTarget.getBoundingClientRect();$("/category-move",z({root:r.key,name:re.name,category:s.categoryId||"",targetName:s.name,position:R.clientY<Et.top+Et.height/2?"before":"after"}),"category.moved",{name:re.name})}}},ce?o("div",{className:"dssm-drag-handle",title:e("category.dragTip")},"\u22EE\u22EE"):null,o("div",{className:"dssm-skill-copy"},o("div",{className:"dssm-name"},Ee),o("div",{className:"dssm-skill-desc",title:s.description||void 0},oe),Ce(s),Fe(s)),o("div",{className:"dssm-skill-actions"},Q))}var Ct=U.flatMap(function(r){return(r.skills||[]).map(function(s){return{root:r,skill:s}})}),la=Ct.filter(function(r){return(!Oe||r.root.key===Oe)&&(!J.status||hr(r.skill)===J.status)&&fr(Object.assign({},r.skill,{rootLabel:st(e,r.root)}),Se)}),Qt=$r(Ct);function Ja(r,s,v){var z=s?{root:r.key,workspace:s}:{root:r.key},P=[];return P.push(Tt(e("category.create"),We("M8 2.5v11M2.5 8h11"),function(){Ke(""),N({type:"category-create",root:r.key,workspace:s})},!1,h)),!s&&r.mutable!==!0&&P.push(Tt(e("rootPath.edit"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),function(){$e(r)},!1,h)),en(r)&&P.push(o(ao,{on:r.enabled,disabled:h,label:e("source.toggle")+" "+v,onClick:function(){$(r.enabled?"/source-disable":"/source-enable",z)}})),o("span",{className:"dssm-source-actions",onClick:function(T){T.stopPropagation()}},P)}function da(){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 Ga(){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 Nt(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(v){v.classList.remove("drag-over","drop-before","drop-after")})}function Xa(r,s,v,z,P){var T=JSON.stringify(["category",z||"",r.key,s.id||"none"]),Y=H[T]===void 0?!!(Se||J.status):H[T],ae=s.scope||s.skills,K=ae.filter(function(A){return A.skill.loadable!==!1}),B=K.filter(function(A){return Qa(A.skill)}).length,Re=K.length>0&&B===K.length,rt=function(A){return v?Object.assign({},A,{workspace:v}):A};return o("section",{key:r.key+":"+(s.id||"none"),className:"dssm-cat","aria-label":s.name,onDragOver:function(A){A.preventDefault(),xe.current&&xe.current.root===r.key&&xe.current.currentCategoryId!==s.id?A.currentTarget.classList.add("drag-over"):A.currentTarget.classList.remove("drag-over")},onDragLeave:function(A){var Q=A.relatedTarget;Q&&A.currentTarget.contains(Q)||A.currentTarget.classList.remove("drag-over")},onDrop:function(A){A.preventDefault(),xe.current=null,A.currentTarget.classList.remove("drag-over"),Nt(A.currentTarget);try{var Q=JSON.parse(A.dataTransfer.getData("text/plain")||"{}");Q&&Q.name&&Q.root===r.key&&Q.currentCategoryId!==s.id&&$("/category-assign",rt({root:r.key,name:Q.name,category:s.id}),"category.assigned",{name:Q.name,category:s.name})}catch{}}},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":Y,onClick:function(){D(function(A){var Q={};return Q[T]=!Y,Object.assign({},A,Q)})}},o("span",{className:"dssm-cat-title"},o(Y?Ga:da),s.name),o("span",{className:"dssm-count"},e("category.progress",{count:ae.length,enabled:B,usable:K.length}))),o("span",{className:"dssm-source-actions",onClick:function(A){A.stopPropagation()}},s.locked?null:Tt(e("category.addSkills"),We("M8 2.5v11M2.5 8h11"),function(){var A={};(r.categories||[]).forEach(function(oe){A[oe.id]=oe.name});var Q=P||s.scope||s.skills,Ee=Q.filter(function(oe){return oe.skill.categoryId!==s.id}).map(function(oe){return{name:oe.skill.name,declaredName:oe.skill.declaredName,description:oe.skill.description,currentCatName:oe.skill.categoryId&&A[oe.skill.categoryId]||e("category.uncategorized")}});S({}),W(""),N({type:"category-add",root:r.key,id:s.id,name:s.name,workspace:v,skills:Ee})},!1,h),s.locked?null:Tt(e("category.rename"),We("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){Ke(s.name),N({type:"category-rename",root:r.key,id:s.id,name:s.name,workspace:v})},!1,h),s.locked?null:Tt(e("category.delete"),We("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){N({type:"category-delete",root:r.key,id:s.id,name:s.name,workspace:v})},!0,h),pr(Re,e("category.toggle")+" "+s.name,h||r.enabled===!1||K.length===0,function(){$(Re?"/category-disable":"/category-enable",rt({root:r.key,category:s.id}))}))),Y?s.skills.length?o("div",{className:"dssm-skill-list"},s.skills.map(function(A){return ut(r,A.skill,v)})):o("div",{className:"dssm-empty"},e("category.empty")):null)}function _a(r,s,v,z,P){var T=r.categories||[],Y=function(A,Q){var Ee=r.categoryOrder&&r.categoryOrder[Q]||[],oe=Object.create(null);return Ee.forEach(function(ce,R){oe[ce]=R}),A.map(function(ce,R){return{row:ce,index:R,rank:oe[ce.skill.name]}}).sort(function(ce,R){return ce.rank!==void 0&&R.rank!==void 0?ce.rank-R.rank:ce.rank!==void 0?-1:R.rank!==void 0?1:ce.index-R.index}).map(function(ce){return ce.row})};if(!T.length)return s.length?o("div",{className:"dssm-skill-list"},Y(s,"").map(function(A){return ut(r,A.skill,v)})):o("div",{className:"dssm-empty"},e("empty.source"));var ae={},K=P||s;T.forEach(function(A){ae[A.id]=!0});var B=function(A,Q){return Y(A.filter(function(Ee){return Q?Ee.skill.categoryId===Q:!Ee.skill.categoryId||!ae[Ee.skill.categoryId]}),Q)},Re=T.map(function(A){return{id:A.id,name:A.name,locked:!1,skills:B(s,A.id),scope:B(K,A.id)}});Re.push({id:"",name:e("category.uncategorized"),locked:!0,skills:B(s,""),scope:B(K,"")});var rt=!!(Se||J.status);return o("div",null,o("p",{className:"dssm-note dssm-cat-note"},e("category.note")),Re.filter(function(A){return!rt||A.skills.length}).map(function(A){return Xa(r,A,v,z,K)}))}function Ha(r,s,v,z){var P=(v||Ct).filter(function(B){return B.root.key===r.key}),T=(v||la).filter(function(B){return B.root.key===r.key});if(Oe&&r.key!==Oe||(Se||J.status)&&!T.length)return null;var Y=JSON.stringify([Ue,z||"",r.key,Se,Oe,J.status]),ae=H[Y]===void 0?s?!0:!!(Se||Oe||J.status):H[Y],K=s?st(e,Object.assign({},r,{projectName:void 0})):st(e,r);return o("section",{key:(z||"")+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":ae,onClick:function(){D(function(B){var Re={};return Re[Y]=!ae,Object.assign({},B,Re)})}},Mr(o,ae),o("div",{className:"dssm-source-label"},ia(r.key),o("span",{className:"dssm-source-title"},K),o("span",{className:"dssm-count"},e(Ka("summary.group",T.length),{count:T.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))),Ja(r,s,K)),ae?o("div",{className:"dssm-source-body",role:"region"},_a(r,T,s,z,P)):null)}function ca(){var r=k==="project",s=r?le:void 0,v=U.map(function(P){return Ha(P,s,void 0,s?s+"|":void 0)}).filter(Boolean),z=v.length?v:o("div",{className:"dssm-empty"},Se||J.status?e("empty.search"):e("empty.source"));return r&&(Dt.error?z=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.listFailed",{error:Dt.error})):Dt.loading||le&&(!we||we.loading)?z=o("div",{className:"dssm-empty"},e("workspace.loading")):le?we?.error?z=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.loadFailed",{error:we.error})):!Ct.length&&!Se&&!J.status&&(z=o("div",{className:"dssm-empty"},e("workspace.noSkills"))):z=o("div",{className:"dssm-empty"},e(me.length?"workspace.unavailable":"project.empty"))),o("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+k,className:"dssm-sources"},z)}function $a(){return o("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},De.trash.length?De.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:Gr(e,r.deletedAt)})),o("span",{className:"dssm-trash-source"},e("trash.source",{source:Ya(r)})))),o("div",{className:"dssm-trash-actions"},Tt(e("btn.restore"),We("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){$("/trash-restore",Ia(r),"result.restored",{name:r.name}).catch(function(){})},!1,h),Tt(e("btn.delete.forever"),We("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){N({type:"delete-confirm",id:r.id,name:r.name})},!0,h)))}):o("div",{className:"dssm-empty"},e("trash.empty")))}var ua=Yn({active:k==="repositories",t:e,onInstalled:function(){return Promise.all([Ze(!1),Ta()])}});function Da(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 er=["user","project","repositories","trash"].map(function(r){var s=e("scope."+r),v=r==="trash"?(De.trash||[]).length:0,z=Da(r);return{value:r,id:"dssm-tab-"+r,panelId:"dssm-scope-panel",label:v>0?[z,s,o("span",{className:"dssm-trash-count"},v)]:[z,s]}}),de=o(ze.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:e("scope.label"),value:k,onChange:function(r){n(r),(r==="project"||r==="trash")&&kt(r==="project"),r==="trash"&&Ze(!0)},items:er}),pa=[k==="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,Qt[r[0]]),e(Ka(r[1],Qt[r[0]]),{count:Qt[r[0]]}).replace(String(Qt[r[0]]),""))})),o("div",{key:"filters",className:"dssm-filters"},k==="project"?null:o("div",{className:"dssm-source-filter"},o(It,{value:Oe,label:e("filter.source"),options:Ma,onChange:sa})),o("div",{className:"dssm-status-filter"},o(It,{value:J.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){Kt("status",r)}})),k==="project"?o("div",{className:"dssm-project-filter"},o(It,{value:le,label:e("filter.workspace"),disabled:Dt.loading||!me.length,options:me.map(function(r){return{value:ct(r),label:r.name+(r.available?"":" \xB7 "+e("workspace.unavailable"))+(me.filter(function(s){return s.name===r.name}).length>1?" \xB7 "+ct(r):""),disabled:!r.available||!ct(r)}}),onChange:Be})):null,o(nt,{className:"dssm-search",allowClear:!0,value:Se,"aria-label":e("search"),placeholder:e("search.placeholder"),onChange:function(r){et(r.target.value)}}),k!=="trash"?o("div",{className:"dssm-filter-actions"},Wa(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(){Ze(!1),k==="project"&&Ta()},h||p.loading),Wa(e("btn.create"),We("M8 2.5v11M2.5 8h11"),za,h,e("btn.create")+"\u2026"),Wa(e("import.global"),We("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),St,h),k==="user"?Wa(e("rootPath.manage"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),dt,h,e("rootPath.manage")+"\u2026"):null):null)],G=[o("style",{key:"css"},Jn),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(ze.Button,{variant:"outline",size:"sm","aria-label":e("link.project"),icon:o(ko),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},e("link.project")),o(ze.Button,{variant:"outline",size:"sm","aria-label":e("link.feedback"),icon:o(qn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},e("link.feedback")))),o("p",{className:"dssm-desc"},e("desc")))),de].concat(k==="trash"||k==="repositories"?[]:pa,[b&&C!=="import"?o("div",{key:"result",className:"dssm-feedback"+(b.warning?" dssm-warning":b.ok?"":" dssm-error")},b.text):null],(De.warnings||[]).map(function(r,s){return o("div",{key:"warning-"+s,className:"dssm-feedback dssm-warning",role:"alert"},ge(e,r))}),[p.error?o("div",{key:"error",className:"dssm-feedback dssm-error"},p.error):null,p.loading&&!p.data?o("div",{key:"loading",className:"dssm-empty"},e("loading")):k==="repositories"?ua.content:k==="trash"?$a():ca()]);if(C==="create"&&G.push(o(Je,{key:"create",title:e("create.title"),closeLabel:e("btn.close"),onClose:function(){N(null)}},o("div",{className:"dssm-form"},o(Br,{t:e,value:Ge,disabled:h,allowAgents:!0,workspaces:me,userDestinations:at,onChange:function(r){mt(Object.assign({},Ge,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(nt,{value:Ie[r[0]],placeholder:e(r[2]),onChange:function(s){Vt(r[0],s.target.value)}}))}),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("create.body")),o(nt.TextArea,{rows:8,value:Ie.body,placeholder:e("create.body.placeholder"),onChange:function(r){Vt("body",r.target.value)}})),o("p",{className:"dssm-help"},e("create.chat.note"))),o("div",{className:"dssm-modal-actions"},ue(e("btn.cancel"),function(){N(null)},"outline"),ue(e("btn.create.now"),Za,"primary",h||!Ie.name.trim()||!Ie.description.trim()||!Ie.body.trim()||!Lt(Ge,me,at))))),C==="import"&&G.push(o(Je,{key:"import",className:"dssm-modal-import",title:e("import.title"),closeLabel:e("btn.close"),onClose:function(){Qe.current=!1,Le(null),q(null),N(null)}},o("input",{ref:na,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(r){oa(r.target.files),r.target.value=""}}),o("input",{ref:Ft,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(r){oa(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"),$n(r.dataTransfer).then(oa).catch(function(s){q({ok:!1,text:ge(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:h,onClick:function(r){r.stopPropagation(),Wt(Ft)}},e("btn.folder.pick")),o("span",{className:"dssm-upload-divider"},"/"),o("button",{type:"button",className:"dssm-upload-link",disabled:h,onClick:function(r){r.stopPropagation(),Wt(na)}},e("btn.file.pick")))),ve?o("div",{className:"dssm-file",title:ve.name},o("span",{className:"dssm-file-kind","aria-hidden":"true"},ve.kind==="zip"?"ZIP":ve.kind==="folder"?"DIR":"MD"),o("span",{className:"dssm-file-name"},ve.name),o("span",{className:"dssm-file-meta"},e(Ka("upload.selected",ve.count),{count:ve.count,size:ve.size<1024?ve.size+" B":Math.ceil(ve.size/1024)+" KB"})),o("button",{type:"button",className:"dssm-file-remove","aria-label":e("upload.remove"),onClick:function(){Le(null)}},"\xD7")):null,o(Br,{t:e,value:qe,disabled:h,allowAgents:!0,workspaces:me,userDestinations:at,onChange:function(r){_t(Object.assign({},qe,r))}}),b?o("div",{className:"dssm-feedback"+(b.warning?" dssm-warning":b.ok?"":" dssm-error"),role:"alert"},b.text):null,o("div",{className:"dssm-upload-requirements"},o("div",{className:"dssm-label"},e("upload.requirements")),o("ul",null,o("li",null,e("upload.requirement.skill")),o("li",null,e("upload.requirement.frontmatter")),o("li",null,e("upload.requirement.copy")))),o("div",{className:"dssm-modal-actions"},ue(e("btn.cancel"),function(){Qe.current=!1,Le(null),q(null),N(null)},"outline"),ue(e(h?"upload.importing":"btn.import.now"),Pa,"primary",h||!ve||!Lt(qe,me,at))))),C&&typeof C=="object"&&C.type==="root-path"){var Rt=C;G.push(o(Je,{key:"root-path",title:e("rootPath.title",{name:Rt.label}),closeLabel:e("btn.close"),onClose:function(){N(null),Me(null)}},o("div",{className:"dssm-form"},o("p",{className:"dssm-note"},e("rootPath.desc")),Ye.length>0?o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.source")),o(It,{value:Rt.root,label:e("rootPath.source"),disabled:h,options:Ye.map(function(r){return{value:r.key,label:st(e,r)}}),onChange:function(r){var s=Ye.find(function(v){return v.key===r});s&&$e(s)}})):null,o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.label")),o(nt,{value:ea,placeholder:e("rootPath.placeholder"),disabled:h,onChange:function(r){Ot(r.target.value),Me(null)}})),o("div",{className:"dssm-root-path-actions"},ue(e("rootPath.browse"),vt,"outline",h||ta),Rt.defaultPath?ue(e("rootPath.reset"),function(){La(null)},"outline",h):null),o("p",{className:"dssm-help"},e("rootPath.defaultHint",{path:Rt.defaultPath||Rt.path})),Aa?o("div",{className:"dssm-feedback dssm-error",role:"alert"},Aa):null),o("div",{className:"dssm-modal-actions"},ue(e("btn.cancel"),function(){N(null),Me(null)},"outline"),ue(e("rootPath.save"),function(){La((ea||"").trim())},"primary",h||!(ea||"").trim()))))}if(C==="detail"){var he=Xe,Ua=he?he.declaredName||he.name:"";G.push(o(Je,{key:"detail",className:"dssm-modal-wide",title:e("detail.title"),closeLabel:e("btn.close"),onClose:function(){He("idle"),N(null)}},he?o("div",{className:"dssm-detail"},o("div",{className:"dssm-detail-head"},o("div",{className:"dssm-name",title:Ua},Ua),he.body?o(ze.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){he&&he.body&&ra(he.body)}},e(Ea==="copied"?"detail.copied":Ea==="failed"?"detail.copyFailed":"detail.copyBody")):null),he.description?o("p",{className:"dssm-desc"},he.description):null,o("div",{className:"dssm-detail-path"},he.path),he.diagnostics.length?he.diagnostics.map(function(r,s){return o("div",{key:s,className:"dssm-diag"},e(r.code,r.params||{}))}):null,o(nt.TextArea,{className:"dssm-detail-body",readOnly:!0,value:he.body||"",rows:16})):o("div",{className:"dssm-empty"},e("loading"))))}if(C&&typeof C=="object"&&C.type==="trash-confirm"&&G.push(o(Je,{key:"trash-confirm",title:e("confirm.trash.title"),description:e("confirm.trash.desc",{name:C.name}),closeLabel:e("btn.close"),onClose:function(){N(null)},footer:o(va.Fragment,null,ue(e("btn.cancel"),function(){N(null)},"outline"),ue(e("btn.trash"),function(){$("/delete",Object.assign({root:C.root,name:C.name},C.workspace?{workspace:C.workspace}:{}),"result.trashed",{name:C.name}).then(function(){N(null)}).catch(function(){})},"danger",h))})),C&&typeof C=="object"&&C.type==="delete-confirm"&&G.push(o(Je,{key:"delete-confirm",title:e("confirm.delete.title"),description:e("confirm.delete.desc",{name:C.name}),closeLabel:e("btn.close"),onClose:function(){N(null)},footer:o(va.Fragment,null,ue(e("btn.cancel"),function(){N(null)},"outline"),ue(e("btn.delete.forever"),function(){$("/trash-delete",{id:C.id},"result.deleted",{name:C.name}).then(function(){N(null)}).catch(function(){})},"danger",h))})),C&&typeof C=="object"&&(C.type==="category-create"||C.type==="category-rename")){var Zt=C.type==="category-rename",Ne=C,pt=ie.trim(),ma=!!pt&&(!Zt||pt!==Ne.name),fa=function(){if(!(h||!ma)){var r=Zt?$("/category-rename",{root:Ne.root,id:Ne.id,name:pt,workspace:Ne.workspace},"category.renamed"):$("/category-create",{root:Ne.root,name:pt,workspace:Ne.workspace},"category.created",{name:pt});r.then(function(){N(null)}).catch(function(){})}};G.push(o(Je,{key:C.type,title:e(Zt?"category.rename":"category.create"),closeLabel:e("btn.close"),onClose:function(){N(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("category.name")),o(nt,{value:ie,maxLength:24,"aria-label":e("category.name"),onChange:function(r){Ke(r.target.value)},onPressEnter:fa})),o("p",{className:"dssm-help"},e("category.note"))),o("div",{className:"dssm-modal-actions"},ue(e("btn.cancel"),function(){N(null)},"outline"),ue(e(Zt?"btn.confirm":"category.create"),fa,"primary",h||!ma))))}if(C&&typeof C=="object"&&C.type==="category-add"){var Ve=C,At=c.trim().toLowerCase(),ja=Ve.skills.filter(function(r){return!At||r.name.toLowerCase().includes(At)||r.declaredName&&r.declaredName.toLowerCase().includes(At)||r.description&&r.description.toLowerCase().includes(At)}),Oa=new Set(Ve.skills.map(function(r){return r.name})),ga=Object.keys(pe).filter(function(r){return pe[r]&&Oa.has(r)}).length;G.push(o(Je,{key:"category-add",title:e("category.selectSkills",{name:Ve.name}),closeLabel:e("btn.close"),onClose:function(){S({}),W(""),N(null)}},o(nt,{placeholder:e("search.placeholder"),value:c,allowClear:!0,onChange:function(r){W(r.target.value)}}),o("div",{className:"dssm-batch-list"},ja.length?ja.map(function(r){var s=!!pe[r.name];return o("div",{key:r.name,className:"dssm-batch-item"+(s?" selected":""),onClick:function(){var v=Object.assign({},pe);s?delete v[r.name]:v[r.name]=!0,S(v)}},o("input",{type:"checkbox",checked:s,readOnly:!0}),o("div",{className:"dssm-batch-info"},o("div",{className:"dssm-batch-name-row"},o("span",{className:"dssm-batch-name"},r.declaredName||r.name),r.currentCatName?o("span",{className:"dssm-batch-cat-tag"},r.currentCatName):null),r.description?o("div",{className:"dssm-batch-desc",title:r.description},r.description):null))}):o("div",{className:"dssm-empty"},e("category.noAvailableSkills"))),o("div",{className:"dssm-modal-actions"},ue(e("btn.cancel"),function(){S({}),W(""),N(null)},"outline"),ue(e("category.addSkills")+(ga?" ("+ga+")":""),function(){var r=Object.keys(pe).filter(function(v){return pe[v]&&Oa.has(v)});if(!r.length){S({}),W(""),N(null);return}if(!Pe.current){var s=function(v){return Ve.workspace?Object.assign({},v,{workspace:Ve.workspace}):v};Pe.current=!0,w(!0),S({}),W(""),N(null),r.reduce(function(v,z){return v.then(function(){return l("/category-assign",{method:"POST",headers:Gt,body:JSON.stringify(s({root:Ve.root,name:z,category:Ve.id}))})})},Promise.resolve()).then(function(){q({ok:!0,text:e("category.batchAssigned",{count:r.length,category:Ve.name})})}).catch(function(v){q({ok:!1,text:ge(e,v)})}).finally(function(){Pe.current=!1,w(!1);var v=Ve.workspace;Promise.all([Ze(!0),v?xt(v):null]).catch(function(){})})}},"primary",h||!ga))))}return C&&typeof C=="object"&&C.type==="category-delete"&&G.push(o(Je,{key:"category-delete",title:e("confirm.category.title"),description:e("confirm.category.desc",{name:C.name}),closeLabel:e("btn.close"),onClose:function(){N(null)},footer:o(va.Fragment,null,ue(e("btn.cancel"),function(){N(null)},"outline"),ue(e("category.delete"),function(){$("/category-delete",{root:C.root,id:C.id,workspace:C.workspace},"category.deleted",{name:C.name}).then(function(){N(null)}).catch(function(){})},"danger",h))})),o("section",{className:"dssm-section"},G)}var ln=null;function So(){var t=globalThis.__DSH_DIRECTORY_PICKER__;if(t&&typeof t.pick=="function"){var e=t.pick.bind(t);return function(){return e()}}return ln}var Co=["slots","locale"];function No(t){if(ka=t.locale,typeof t.inject=="function")try{t.inject(["uiWorkspace"],function(d){var p=d.uiWorkspace;if(p&&typeof p.pickDirectory=="function"){var g=p.pickDirectory.bind(p);ln=function(){return g()}}})}catch{}t.effect(function(){return t.locale.register(zt,xa)});var e,l;t.effect(function(){return e=Lr({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:Zn,isEnabled:function(){return l?l.isOnlineUpdateEnabled():!0}}),function(){typeof e=="function"&&e(),e=void 0}},"skills-manager: plugin update ui"),Ur(t,function(){return t.locale.bind(zt)("title")}),t.slots.inject("settings.section",function(){return t.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return t.locale.bind(zt)("title")},icon:"skill",locale:zt},Kr)}),l=ur(t,{callApi:wa,headers:Gt,renderPanel:function(d){return o(Kr,Object.assign({t:t.locale.bind(zt)},d))},ns:zt,onOnlineUpdateChange:function(){e&&typeof e.refresh=="function"&&e.refresh()}}),t.effect(function(){return function(){l&&typeof l.destroy=="function"&&(l.destroy(),l=void 0)}},"skills-manager: sidebar entry cleanup")}module.exports.formatTrashTime=Gr;module.exports.DICT=xa;module.exports.translateError=ge;module.exports.parseApiResponse=Yr;module.exports.resolveApiUrl=ya;module.exports.isSkillEnabled=Qa;module.exports.countKey=Ka;module.exports.rootDisplayName=st;module.exports.summarizeImportResult=Xr;module.exports.normalizeSkillQuery=_r;module.exports.matchSkillQuery=fr;module.exports.filterSkills=Gn;module.exports.visibleSkillRoots=gr;module.exports.scopeSkillRoots=tn;module.exports.skillStatus=hr;module.exports.countSkillStatuses=$r;module.exports.currentSessionId=on;module.exports.canToggleSource=en;module.exports.recoverModalFocus=nn;module.exports.trapModalFocus=to;module.exports.inspectUploadSelection=an;module.exports.setupSidebarEntry=ur;module.exports.apply=No;module.exports.inject=Co;
56
+ `;function Sr(a,t,d,c){var p=a(t,c);return typeof p=="string"&&p!==t?p:d}function Q(a,t){if(t instanceof Error&&!t.code)return t.message;if(t&&typeof t=="object"){let p=t;if(p.code){var d=Object.assign({},p.params||{});d.action&&(d.action=Sr(a,"action."+d.action,String(d.action)));var c=a(p.code,d);if(typeof c=="string"&&c!==p.code)return c;if(c===p.code)return p.error!==void 0?Q(a,p.error):p.code}if(p.error!==void 0)return Q(a,p.error);if(p.message!==void 0)return String(p.message)}return String(t??"")}function ro(a){return a.json().catch(function(){var t=new Error("non-json response");throw t.code="error.proto.nonJson",t.params={status:a.status},t}).then(function(t){let d=t;if(!a.ok||d.ok===!1)throw d;return d.data})}function ka(a,t){return fetch(ya("/api/michengai/dsh-skills-manager"+a),t).then(ro)}function Ga(a){return a.enabled!==void 0?a.enabled===!0:!!(a.invocationPolicyValid&&a.modelInvocable&&a.userInvocable&&a.managerEnabled!==!1)}function va(a,t){return a+(Number(t)===1?".one":".other")}var xa;function oo(){return xa?.getLocale?.().active}function so(a,t){return new Date(t).toLocaleString(oo()||a("format.locale"))}function at(a,t){var d=Sr(a,"root."+(t.localeKey||t.kind||t.key),t.label);return t.projectName?d+" \xB7 "+t.projectName:d}function no(a,t){var d=t&&t.imported||[],c=d.map(function(h){return h.name}),p=(t&&t.skipped||[]).map(function(h){return h.name}),f=[];d.forEach(function(h){(h.warnings||[]).forEach(function(v){f.push(Q(a,v))})});var m;return c.length&&p.length?m={ok:!0,warning:!0,imported:!0,text:a("result.importPartial",{imported:c.join(", "),skipped:p.join(", ")})}:c.length?m={ok:!0,warning:!1,imported:!0,text:a("result.imported",{names:c.join(", ")})}:p.length?m={ok:!1,warning:!0,imported:!1,text:a("result.importSkipped",{names:p.join(", ")})}:m={ok:!1,warning:!1,imported:!1,text:a("result.importEmpty")},f.length&&(m.warning=!0,m.text=a("result.importWarnings",{result:m.text,warnings:f.join(a("format.warningSeparator"))})),m}function io(a){return String(a??"").trim().toLowerCase()}function Cr(a,t){var d=io(t);return d?[a.name,a.declaredName,a.description,a.kind,a.kindLabel,a.statusLabel,a.rootKey,a.rootLabel].some(function(c){return String(c??"").toLowerCase().includes(d)}):!0}function as(a,t){var d=t&&t.rootKey!=null?t.rootKey:"";return a.filter(function(c){return(!d||c.rootKey===d)&&Cr(c,t&&t.query)})}function Nr(a){return(a||[]).filter(function(t){return t.mutable||t.overridden===!0||t.exists!==!1})}function Rr(a){return a.shadowedBy?"shadowed":a.loadable===!1?"invalid":Ga(a)?"enabled":"disabled"}function lo(a){var t={total:a.length,enabled:0,disabled:0,shadowed:0,invalid:0};return a.forEach(function(d){t[Rr(d.skill)]++}),t}function co(a){return!!(a&&a.toggleable!==!1&&a.kind!=="project-dsh")}function uo(a){return Nr(a).filter(function(t){return t.scope==="project"?!1:t.mutable||t.overridden===!0||(t.skills||[]).length>0})}var Jr=32<<20,Ya=32<<20,Gr=64<<20,Xr=1e3;function Ja(a){return String(a&&(a._dssmPath||a.webkitRelativePath||a.name)||"").replace(/\\/g,"/")}function po(a){var t=Array.from(a||[]);if(!t.length)return null;if(t.length>Xr)return{error:{code:"error.upload.tooMany",params:{limit:Xr}}};var d=t.some(function(v){return Ja(v).includes("/")});if(d){if(!t.some(function(v){return/(^|\/)skill\.md$/i.test(Ja(v))}))return{error:{code:"select.folder.invalid"}};var c=t.find(function(v){return Number(v.size||0)>Ya});if(c)return{error:{code:"error.upload.tooLarge",params:{limit:Ya}}};var p=t.reduce(function(v,x){return v+Number(x.size||0)},0);return p>Gr?{error:{code:"error.upload.tooLarge",params:{limit:Gr}}}:{kind:"folder",name:Ja(t[0]).split("/")[0],files:t,count:t.length,size:p}}if(t.length!==1)return{error:{code:"select.file.invalid"}};var f=String(t[0].name||""),m=f.toLowerCase(),h=Number(t[0].size||0);return m==="skill.md"?h>Ya?{error:{code:"error.upload.tooLarge",params:{limit:Ya}}}:{kind:"skill",name:f,files:t,count:1,size:h}:m.endsWith(".zip")?h>Jr?{error:{code:"error.upload.archiveTooLarge",params:{limit:Jr}}}:{kind:"zip",name:f,files:t,count:1,size:h}:{error:{code:"select.file.invalid"}}}function rs(a){for(var t=new Uint8Array(a),d="",c=32768,p=0;p<t.length;p+=c)d+=String.fromCharCode(...t.subarray(p,Math.min(p+c,t.length)));return btoa(d)}function os(a){return Promise.all(a.files.map(function(t){return t.arrayBuffer().then(function(d){return{path:Ja(t),data:rs(d)}})})).then(function(t){return a.kind==="zip"?{name:a.name,zip:t[0].data}:{name:a.name,entries:t}})}function mo(a,t,d){return a.isFile?new Promise(function(c,p){a.file(function(f){f._dssmPath=t+f.name,d.push(f),c()},p)}):a.isDirectory?new Promise(function(c,p){var f=a.createReader(),m=[];function h(){f.readEntries(function(v){if(!v.length){Promise.all(m.map(function(x){return mo(x,t+a.name+"/",d)})).then(function(){c()},p);return}m=m.concat(v),h()},p)}h()}):Promise.resolve()}function ss(a){var t=Array.from(a&&a.items||[]),d=t.map(function(p){return p.webkitGetAsEntry&&p.webkitGetAsEntry()}).filter(p=>!!p);if(!d.length)return Promise.resolve(Array.from(a&&a.files||[]));var c=[];return Promise.all(d.map(function(p){return mo(p,"",c)})).then(function(){return c})}function ns(a){return Array.prototype.slice.call(a.querySelectorAll('button:not(:disabled), [href], input:not([type=hidden]):not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])')||[])}function is(a,t){if(t.key==="Tab"){var d=ns(a);if(d.length){var c=document.activeElement;(c===a||!a.contains(c)||(t.shiftKey?c===d[0]:c===d[d.length-1]))&&(t.preventDefault(),(t.shiftKey?d[d.length-1]:d[0]).focus())}}}function ls(a){return xr(a.on,a.label,a.disabled,a.onClick)}function F(a,t,d="primary",c){return s(Le.Button,{variant:d==="primary"?"primary":"outline",className:d==="danger"?"dssm-btn-danger":void 0,disabled:c,onClick:t},a)}function Ue(a){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("path",{d:a,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function ds(){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},[3.5,8,12.5].map(function(a){return s("circle",{key:a,cx:a,cy:8,r:1.15,fill:"none",stroke:"currentColor",strokeWidth:1.5})}))}function Mt(a,t,d,c,p){return s(Le.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(c?" dssm-icon-danger":""),disabled:p,"aria-label":a,title:a,icon:t,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 Za(a,t,d,c,p){return s(Le.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:c,"aria-label":a,title:p||a,icon:t,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 xr(a,t,d,c){return s("button",{type:"button",role:"switch","aria-checked":a,"aria-label":t,disabled:d,className:"dssm-enable-switch",onClick:function(p){p&&typeof p.stopPropagation=="function"&&p.stopPropagation(),c()}},s("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var cs="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",us="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==",ps="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==",ms="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",fs="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",gs="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",hs="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",bs="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",ys="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",vs="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",ws="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",ks="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",xs="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",Ss="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",Cs="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 Ns(a){var t=String(a||"").toLowerCase();return t.includes("dsh")?s("img",{src:cs,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):t.includes("workbuddy")?s("img",{src:us,width:16,height:16,alt:"WorkBuddy",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):t.includes("ccswitch")||t.includes("cc-switch")?s("img",{src:ps,width:16,height:16,alt:"CC Switch",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):t.includes("qoder")||t.includes("lingma")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#2ADB5C",d:ms}),s("path",{fill:"#ffffff",d:fs})):t.includes("codex")?s("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},s("path",{fill:"currentColor",d:gs})):t.includes("cursor")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"currentColor",fillRule:"evenodd",d:hs})):t.includes("claude")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("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"})):t.includes("gemini")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("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"})):t.includes("opencode")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("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"})):t.includes("copilot")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("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"})):t.includes("windsurf")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#00d084",fillRule:"evenodd",clipRule:"evenodd",d:bs})):t.includes("trae")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#32F08C",d:ys})):t.includes("openclaw")||t.includes("clawdbot")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#FF4D4D",fillRule:"evenodd",d:xs}),s("path",{fill:"#FF4D4D",d:Ss}),s("path",{fill:"#FF4D4D",d:Cs})):t.includes("roo")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#eab308",fillRule:"evenodd",d:vs})):t.includes("codebuddy")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("rect",{width:24,height:24,rx:5,fill:"#2EA99D"}),s("path",{fill:"#ffffff",d:ws}),s("path",{fill:"#ffffff",d:ks})):s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("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 Rs(){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("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 fo(a,t,d){a&&t===d&&a.focus()}function Qe(a){var t=L.useRef(null),d=L.useRef(a.onClose);d.current=a.onClose;function c(){var p=t.current;if(p){var f=p.querySelector("input, textarea");if(f instanceof HTMLElement){f.focus();return}p.tabIndex=-1,p.focus()}}return L.useLayoutEffect(function(){if(!(typeof document>"u")){var p=t.current;p&&fo(p,document.activeElement,document.body)}}),L.useEffect(function(){if(typeof document>"u")return;function p(f){f.key==="Escape"&&(f.preventDefault(),f.stopImmediatePropagation(),d.current())}return document.addEventListener("keydown",p,!0),function(){document.removeEventListener("keydown",p,!0)}},[]),s(Le.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?s("div",{ref:t},a.children):void 0)}function go(a){if(a){for(var t=a.byId||{},d=Array.isArray(a.ids)&&a.ids.length?a.ids:Object.keys(t),c=0;c<d.length;c++){var p=t[d[c]];if(p&&p.retainedBy&&p.retainedBy.mainView)return d[c]}for(var f in t)if(d.indexOf(f)===-1&&t[f]&&t[f].retainedBy&&t[f].retainedBy.mainView)return f}}function ho(a){return typeof a=="function"?a:xa&&typeof xa.bind=="function"?xa.bind(Ht):function(t,d){var c=Sa.zh||{},p=c[t]||t;if(!d)return p;var f=d;return p.replace(/\{(\w+)\}/g,function(m,h){return String(f[h]??"{"+h+"}")})}}function _r(a){var t=ho(a&&a.t),d=a&&a.useSessions?a.useSessions(go):void 0,c=L.useState("user"),p=L.useState({}),f=L.useState({});return s(As,Object.assign({},a,{t,key:d||"no-session",sessionId:d,scope:c[0],setScope:c[1],savedFilters:p[0],setSavedFilters:p[1],expanded:f[0],setExpanded:f[1]}))}function As(a){var t=ho(a&&a.t);function d(r,e){var o=Object.fromEntries(new Headers(e?.headers).entries());return a.sessionId&&(o["x-dsh-skills-session"]=a.sessionId),ka(r,Object.assign({},e,{headers:o}))}var c=L.useState({loading:!0,error:null,data:null}),p=c[0],f=c[1],m=L.useState(!1),h=m[0],v=m[1],x=a.scope,n=a.setScope,I=a.expanded,M=a.setExpanded,O=a.savedFilters,X=a.setSavedFilters,Y=L.useState(null),C=Y[0],N=Y[1],K=L.useState(""),u=K[0],B=K[1],Z=L.useState({}),ae=Z[0],S=Z[1],D=L.useState(null),b=D[0]&&D[0].scope===x?D[0]:null;function U(r){D[1](r?Object.assign({},r,{scope:x}):null)}var fe=L.useState({root:"dsh",name:"",description:"",body:""}),Pe=fe[0],rt=fe[1],q=L.useState(""),_=q[0],je=q[1],ea=L.useState(_t()),Ye=ea[0],yt=ea[1],Ut=L.useState(_t()),Oe=Ut[0],ta=Ut[1],jt=L.useState([]),re=jt[0],y=jt[1],j=L.useState(""),$=j[0],vt=j[1],ve=L.useRef(""),Ca=L.useRef(0),V=L.useState({loading:!1,error:null}),Ot=V[0],oe=V[1],Na=L.useState({}),wt=Na[0],Bt=Na[1],Ft=L.useState(null),ce=Ft[0],Ne=Ft[1],aa=L.useState(""),Vt=aa[0],Wt=aa[1],Ra=L.useState(!1),ra=Ra[0],kt=Ra[1],Aa=L.useState(null),Ea=Aa[0],Re=Aa[1],xt=L.useState(!1),Te=xt[0],Kt=xt[1],qt=L.useState(""),St=qt[0],ot=qt[1],Qt=L.useState(""),st=Qt[0],oa=Qt[1],sa=L.useState(null),na=sa[0],Ze=sa[1],Ct=L.useState(!1),we=Ct[0],Be=Ct[1],nt=L.useState(null),it=nt[0],se=nt[1],lt=L.useState(null),Xa=lt[0],Yt=lt[1],La=L.useState("idle"),Pa=La[0],Fe=La[1];function Ta(r){if(typeof navigator>"u"||!navigator.clipboard){Fe("failed");return}navigator.clipboard.writeText(r).then(function(){Fe("copied"),setTimeout(function(){Fe("idle")},1500)}).catch(function(){Fe("failed")})}var ze=L.useRef(!1),ge=L.useRef(null),Zt=L.useRef(null),Je=L.useRef(null),ue=L.useRef(!1),Ae=L.useRef({}),Ie=L.useRef(0);L.useEffect(function(){return function(){Ie.current++}},[]);function ne(r){return r||f({loading:!0,error:null,data:p.data}),d("/state").then(function(e){return f({loading:!1,error:null,data:e}),e}).catch(function(e){f({loading:!1,error:Q(t,e),data:p.data})})}L.useEffect(function(){ne(!1)},[]);function J(r,e,o,i){return ze.current?Promise.reject({error:"operation already in progress"}):(ze.current=!0,v(!0),U(null),d(r,{method:"POST",headers:bt,body:JSON.stringify(e||{})}).then(function(l){U({ok:!0,text:o?t(o,i||l||{}):t("result.updated")});var g=e&&typeof e.workspace=="string"?e.workspace:"";return Promise.all([ne(!0),g?mt(g):null]).then(function(){return l})}).catch(function(l){throw U({ok:!1,text:t("error.action",{error:Q(t,l)})}),l}).finally(function(){ze.current=!1,v(!1)}))}function Ge(r,e,o){v(!0),Yt(null),Fe("idle"),N("detail"),d("/detail",{method:"POST",headers:bt,body:JSON.stringify(o?{root:r.key,name:e.name,workspace:o}:{root:r.key,name:e.name})}).then(Yt).catch(function(i){U({ok:!1,text:t("error.action",{error:Q(t,i)})}),N(null)}).finally(function(){v(!1)})}function dt(r){Wt(r.path||""),kt(!1),Re(null),N({type:"root-path",root:r.key,label:at(t,r),path:r.path||"",defaultPath:r.defaultPath})}function Me(){var r=$r();if(!r){Re(t("rootPath.pickUnavailable"));return}Re(null),kt(!0),Promise.resolve().then(r).then(function(e){typeof e=="string"&&e.trim()&&Wt(e.trim())}).catch(function(e){Re(Q(t,e))}).finally(function(){kt(!1)})}function H(r){var e=C&&typeof C=="object"&&C.type==="root-path"?C:null;e&&(Re(null),J("/root-path",{key:e.root,path:r},r===null?"rootPath.resetDone":"rootPath.saved",{name:e.label}).then(function(){N(null)}).catch(function(o){Re(Q(t,o))}))}function ct(){Kt(!0),se(null),Ze(null)}function _a(){var r=$r();if(!r){se(t("rootPath.pickUnavailable"));return}se(null),Be(!0),Promise.resolve().then(r).then(function(e){typeof e=="string"&&e.trim()&&ot(e.trim())}).catch(function(e){se(Q(t,e))}).finally(function(){Be(!1)})}function Ar(){var r=(St||"").trim();r&&(Be(!0),se(null),d("/custom-source-scan",{method:"POST",headers:bt,body:JSON.stringify({path:r})}).then(function(e){Ze(e)}).catch(function(e){Ze(null),se(Q(t,e))}).finally(function(){Be(!1)}))}function ke(r){var e=r.filter(function(o){return o&&o.path});!e.length||we||(Be(!0),se(null),U(null),d("/custom-source-add",{method:"POST",headers:bt,body:JSON.stringify({sources:e})}).then(function(o){var i=o&&Array.isArray(o.added)?o.added.length:e.length;return ne(!0).then(function(){U({ok:!0,text:t("customSource.added",{count:i})}),Ze(null),ot(""),oa(""),Kt(!1)})}).catch(function(o){se(Q(t,o))}).finally(function(){Be(!1)}))}function za(r){if(!h){var e=Vt;J("/custom-source-remove",{id:r},"customSource.removed").then(function(){return d("/state").then(function(o){f({loading:!1,error:null,data:o});var i=(o&&Array.isArray(o.roots)?o.roots:[]).filter(function(g){return!g.mutable&&g.scope!=="project"&&g.key!==r}),l=i.find(function(g){return g.custom})||i[0];l?dt(l):N(null),e&&Ze(function(g){return g?Object.assign({},g,{candidates:g.candidates.map(function(w){return w.path===e?Object.assign({},w,{registered:!1}):w})}):null})})}).catch(function(o){Re(Q(t,o))})}}function ia(r,e){rt(Object.assign({},Pe,{[r]:e}))}function $a(){zt(Ye,re,ft)&&J("/create",Object.assign({},Pe,{root:void 0},Qa(Ye)),null).then(function(r){N(null),rt({root:"dsh",name:"",description:"",body:""}),U({ok:!0,text:t("result.created",{name:r.name})+(Ye.scope==="workspace"?" \xB7 "+t("dest.createdInWorkspace"):"")})}).catch(function(){})}function Jt(r){ue.current=!1;var e=po(r);if(e){if(e.error){Ne(null),U({ok:!1,text:Q(t,e.error)});return}Ne(e),U(null)}}function ut(r){if(h||ue.current||!r.current)return;ue.current=!0,r.current.value="";function e(){setTimeout(function(){ue.current=!1},0)}window.addEventListener("focus",e,{once:!0}),r.current.click(),setTimeout(function(){ue.current=!1},3e4)}function Ia(){!ce||!zt(Oe,re,ft)||os(ce).then(function(r){return J("/upload",Object.assign({},r,Qa(Oe)),null)}).then(function(r){var e=no(t,r);U({ok:e.ok,warning:e.warning,text:e.text}),e.imported&&(N(null),Ne(null))}).catch(function(){})}var Xe=p.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},Gt=Xe.roots||[],Ve=Gt.filter(function(r){return!r.mutable&&r.scope!=="project"});function Ma(){if(Ve.length){var r=xe&&Ve.find(function(e){return e.key===xe})||Ve[0];dt(r)}}var ie=x==="project"?"project":"user",W=O[ie]||{query:"",source:"",status:""},he=W.query,pt=W.source;function Xt(r,e){X(function(o){return Object.assign({},o,{[ie]:Object.assign({},W,{[r]:e})})})}function la(r){Xt("query",r)}function er(r){Xt("source",r)}var Nt=wt[$],Rt=x==="trash"?[]:x==="project"?Nr(Nt?.roots||[]):uo(Gt),Ha=Rt.filter(function(r){return(r.skills||[]).length>0}),xe=x!=="project"&&Ha.some(function(r){return r.key===pt})?pt:"";function _e(r){return r.registeredPaths[0]||""}function tr(r){re.some(function(e){return e.available&&_e(e)===r})&&(ve.current=r,vt(r),wt[r]||mt(r))}function At(r=x==="project",e=!1){var o=Ie.current,i=++Ca.current,l=function(){return o===Ie.current&&i===Ca.current};return oe({loading:!0,error:null}),ka("/workspaces").then(function(g){if(!l())return[];var w=g.items||[];y(w),oe({loading:!1,error:null});var R=w.find(function(T){return T.available&&_e(T)===ve.current})||w.find(function(T){return T.available&&_e(T)}),k=R?_e(R):"";return ve.current=k,vt(k),r&&k&&(e||!wt[k])&&mt(k),w}).catch(function(g){return l()?(y([]),ve.current="",vt(""),oe({loading:!1,error:Q(t,g)}),[]):[]})}function mt(r){var e=Ie.current,o=(Ae.current[r]||0)+1;Ae.current[r]=o;var i=function(){return e===Ie.current&&o===Ae.current[r]};return Bt(function(l){return Object.assign({},l,{[r]:{loading:!0,error:null,roots:l[r]?l[r].roots:[]}})}),ka("/workspace-skills",{method:"POST",headers:bt,body:JSON.stringify({workspace:r})}).then(function(l){i()&&Bt(function(g){return Object.assign({},g,{[r]:{loading:!1,error:null,roots:l.roots||[]}})})}).catch(function(l){i()&&Bt(function(g){return Object.assign({},g,{[r]:{loading:!1,error:Q(t,l),roots:[]}})})})}function Da(){return Ie.current++,Bt({}),At(!0,!0)}function Ua(){rt(Object.assign({},Pe,{root:"dsh"})),yt(_t()),N("create"),At()}function ja(){U(null),Ne(null),ta(_t()),N("import"),At()}var ft=(Xe.writeDestinations||[]).filter(function(r){return r.key==="dsh"||r.key==="agents"});function ee(r){var e=r.root&&r.root.scope==="project"?r.root.projectRoot:"",o=e?re.find(function(i){return i.projectRoot===e&&i.available}):void 0;return o?{id:r.id,workspace:o.registeredPaths[0]||o.path}:{id:r.id}}function da(r){return r.root&&r.root.scope==="project"?t("root.projectDsh")+" \xB7 "+(r.root.projectName||r.root.projectRoot):Sr(t,"root."+(r.root?.localeKey||r.root?.key||"dsh"),r.root?.label||t("root.dsh"))}function Se(r){return s("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},Ns(r))}var ar=[{value:"",label:t("filter.all")}].concat(Ha.map(function(r){return{value:r.key,label:t("filter.option",{name:at(t,r),count:r.skills.length})}}));function rr(r){return r.linked!==!0?null:s("div",{className:"dssm-note"},t("skill.linked"))}function or(r){if(!r.fallbackTo)return null;var e=Gt.find(function(o){return o.key===r.fallbackTo.root});return e?s("div",{className:"dssm-note dssm-fallback"},t("status.fallback."+r.fallbackTo.scope,{source:at(t,e)})):null}function sr(r,e,o){var i=r==="status.enabled",l=r==="status.disabled",g=r==="status.invalid",w=i?"var(--dsw-alias-state-success-primary, #51b976)":l?"var(--dsw-alias-state-warn-primary, #d49245)":g?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",R=i?"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":l?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":g?"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",k=e||t(r);return s("span",{className:"dssm-status "+(o||""),title:k,"aria-label":k,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:w,width:20,height:20,verticalAlign:"middle"}},s("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},s("path",{d:R})))}function We(r,e,o){var i=function(E){return o?Object.assign({},E,{workspace:o}):E},l=Ga(e),g=r.toggleable!==!1,w=e.shadowedBy?"status.shadowed":e.loadable===!1?"status.invalid":l?"status.enabled":"status.disabled",R=e.shadowedBy?"dssm-shadowed":l?"dssm-enabled":"dssm-disabled",k=!g||!!e.shadowedBy||e.loadable===!1,T=[{value:"detail",label:t("btn.detail")}],pe=r.categories||[],qe=e.categoryId||"";pe.forEach(function(E){E.id!==qe&&T.push({value:"category:"+E.id,label:t("category.assign",{name:E.name})})}),pe.length&&qe!==""&&T.push({value:"category:",label:t("category.assign",{name:t("category.uncategorized")})}),e.installSource&&e.linked!==!0&&T.push({value:"update",label:t("repo.manageUpdate")}),r.mutable&&e.linked!==!0&&T.push({value:"trash",label:t("btn.trash"),danger:!0});var A=e.shadowedBy?t("status.shadowedBy",{source:function(){var E=Gt.find(function(te){return te.key===e.shadowedBy.root});return E?at(t,E):e.shadowedBy.root}()}):void 0,P=[s(Dt,{action:!0,icon:ds(),label:t("btn.more"),disabled:h,options:T,onChange:function(E){if(E==="detail"&&Ge(r,e,o),E.indexOf("category:")===0){var te=E.slice(9),ga=pe.find(function(yo){return yo.id===te});J("/category-assign",i({root:r.key,name:e.name,category:te}),"category.assigned",{name:e.name,category:ga?ga.name:t("category.uncategorized")})}E==="update"&&(gt.focusSource(e.installSource,e.name),n("repositories")),E==="trash"&&N({type:"trash-confirm",root:r.key,name:e.name,workspace:o})}})];P.push(s("div",{className:"dssm-row-state"},k?sr(w,A,R):null,g?xr(l,t("skill.toggle")+" "+e.name,h||r.enabled===!1||!l&&e.loadable===!1,function(){J(l?"/disable":"/enable",i({root:r.key,name:e.name}))}):null));var ye=e.declaredName||e.name,G=e.description||t("note.missing"),me=r.mutable===!0||!!(r.categories&&r.categories.length);return s("div",{key:r.key+":"+e.name,className:"dssm-skill-row",draggable:me,onDragStart:function(E){if(me){var te={root:r.key,name:e.name,currentCategoryId:e.categoryId||""};ge.current=te,E.dataTransfer.setData("text/plain",JSON.stringify(te)),E.dataTransfer.effectAllowed="move",E.currentTarget.classList.add("dragging")}},onDragEnd:function(E){ge.current=null,E.currentTarget.classList.remove("dragging"),ca(E.currentTarget)},onDragOver:function(E){if(!(!ge.current||ge.current.root!==r.key||ge.current.name===e.name)){E.preventDefault(),E.stopPropagation();var te=E.currentTarget.getBoundingClientRect();E.currentTarget.classList.toggle("drop-before",E.clientY<te.top+te.height/2),E.currentTarget.classList.toggle("drop-after",E.clientY>=te.top+te.height/2)}},onDragLeave:function(E){E.currentTarget.classList.remove("drop-before","drop-after")},onDrop:function(E){E.preventDefault(),E.stopPropagation(),E.currentTarget.classList.remove("drop-before","drop-after");var te=ge.current;if(ge.current=null,ca(E.currentTarget),!(!te||te.root!==r.key||te.name===e.name)){var ga=E.currentTarget.getBoundingClientRect();J("/category-move",i({root:r.key,name:te.name,category:e.categoryId||"",targetName:e.name,position:E.clientY<ga.top+ga.height/2?"before":"after"}),"category.moved",{name:te.name})}}},me?s("div",{className:"dssm-drag-handle",title:t("category.dragTip")},"\u22EE\u22EE"):null,s("div",{className:"dssm-skill-copy"},s("div",{className:"dssm-name"},ye),s("div",{className:"dssm-skill-desc",title:e.description||void 0},G),rr(e),or(e)),s("div",{className:"dssm-skill-actions"},P))}var Et=Rt.flatMap(function(r){return(r.skills||[]).map(function(e){return{root:r,skill:e}})}),Oa=Et.filter(function(r){return(!xe||r.root.key===xe)&&(!W.status||Rr(r.skill)===W.status)&&Cr(Object.assign({},r.skill,{rootLabel:at(t,r.root)}),he)}),Lt=lo(Et);function nr(r,e,o){var i=e?{root:r.key,workspace:e}:{root:r.key},l=[];return l.push(Mt(t("category.create"),Ue("M8 2.5v11M2.5 8h11"),function(){je(""),N({type:"category-create",root:r.key,workspace:e})},!1,h)),!e&&r.mutable!==!0&&l.push(Mt(t("rootPath.edit"),Ue("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),function(){dt(r)},!1,h)),co(r)&&l.push(s(ls,{on:r.enabled,disabled:h,label:t("source.toggle")+" "+o,onClick:function(){J(r.enabled?"/source-disable":"/source-enable",i)}})),s("span",{className:"dssm-source-actions",onClick:function(g){g.stopPropagation()}},l)}function Ba(){return s("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}},s("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 ir(){return s("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}},s("path",{fill:"#fde68a",opacity:.85,d:"M159 768h612.3l103.4-256H262.3z"}),s("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 ca(r){var e=r.closest(".dssm-section");e&&Array.prototype.forEach.call(e.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(o){o.classList.remove("drag-over","drop-before","drop-after")})}function lr(r,e,o,i,l){var g=JSON.stringify(["category",i||"",r.key,e.id||"none"]),w=I[g]===void 0?!!(he||W.status):I[g],R=e.scope||e.skills,k=R.filter(function(A){return A.skill.loadable!==!1}),T=k.filter(function(A){return Ga(A.skill)}).length,pe=k.length>0&&T===k.length,qe=function(A){return o?Object.assign({},A,{workspace:o}):A};return s("section",{key:r.key+":"+(e.id||"none"),className:"dssm-cat","aria-label":e.name,onDragOver:function(A){A.preventDefault(),ge.current&&ge.current.root===r.key&&ge.current.currentCategoryId!==e.id?A.currentTarget.classList.add("drag-over"):A.currentTarget.classList.remove("drag-over")},onDragLeave:function(A){var P=A.relatedTarget;P&&A.currentTarget.contains(P)||A.currentTarget.classList.remove("drag-over")},onDrop:function(A){A.preventDefault(),ge.current=null,A.currentTarget.classList.remove("drag-over"),ca(A.currentTarget);try{var P=JSON.parse(A.dataTransfer.getData("text/plain")||"{}");P&&P.name&&P.root===r.key&&P.currentCategoryId!==e.id&&J("/category-assign",qe({root:r.key,name:P.name,category:e.id}),"category.assigned",{name:P.name,category:e.name})}catch{}}},s("div",{className:"dssm-cat-head"},s("button",{type:"button",className:"dssm-cat-main","aria-expanded":w,onClick:function(){M(function(A){var P={};return P[g]=!w,Object.assign({},A,P)})}},s("span",{className:"dssm-cat-title"},s(w?ir:Ba),e.name),s("span",{className:"dssm-count"},t("category.progress",{count:R.length,enabled:T,usable:k.length}))),s("span",{className:"dssm-source-actions",onClick:function(A){A.stopPropagation()}},e.locked?null:Mt(t("category.addSkills"),Ue("M8 2.5v11M2.5 8h11"),function(){var A={};(r.categories||[]).forEach(function(G){A[G.id]=G.name});var P=l||e.scope||e.skills,ye=P.filter(function(G){return G.skill.categoryId!==e.id}).map(function(G){return{name:G.skill.name,declaredName:G.skill.declaredName,description:G.skill.description,currentCatName:G.skill.categoryId&&A[G.skill.categoryId]||t("category.uncategorized")}});S({}),B(""),N({type:"category-add",root:r.key,id:e.id,name:e.name,workspace:o,skills:ye})},!1,h),e.locked?null:Mt(t("category.rename"),Ue("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){je(e.name),N({type:"category-rename",root:r.key,id:e.id,name:e.name,workspace:o})},!1,h),e.locked?null:Mt(t("category.delete"),Ue("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){N({type:"category-delete",root:r.key,id:e.id,name:e.name,workspace:o})},!0,h),xr(pe,t("category.toggle")+" "+e.name,h||r.enabled===!1||k.length===0,function(){J(pe?"/category-disable":"/category-enable",qe({root:r.key,category:e.id}))}))),w?e.skills.length?s("div",{className:"dssm-skill-list"},e.skills.map(function(A){return We(r,A.skill,o)})):s("div",{className:"dssm-empty"},t("category.empty")):null)}function dr(r,e,o,i,l){var g=r.categories||[],w=function(A,P){var ye=r.categoryOrder&&r.categoryOrder[P]||[],G=Object.create(null);return ye.forEach(function(me,E){G[me]=E}),A.map(function(me,E){return{row:me,index:E,rank:G[me.skill.name]}}).sort(function(me,E){return me.rank!==void 0&&E.rank!==void 0?me.rank-E.rank:me.rank!==void 0?-1:E.rank!==void 0?1:me.index-E.index}).map(function(me){return me.row})};if(!g.length)return e.length?s("div",{className:"dssm-skill-list"},w(e,"").map(function(A){return We(r,A.skill,o)})):s("div",{className:"dssm-empty"},t("empty.source"));var R={},k=l||e;g.forEach(function(A){R[A.id]=!0});var T=function(A,P){return w(A.filter(function(ye){return P?ye.skill.categoryId===P:!ye.skill.categoryId||!R[ye.skill.categoryId]}),P)},pe=g.map(function(A){return{id:A.id,name:A.name,locked:!1,skills:T(e,A.id),scope:T(k,A.id)}});pe.push({id:"",name:t("category.uncategorized"),locked:!0,skills:T(e,""),scope:T(k,"")});var qe=!!(he||W.status);return s("div",null,s("p",{className:"dssm-note dssm-cat-note"},t("category.note")),pe.filter(function(A){return!qe||A.skills.length}).map(function(A){return lr(r,A,o,i,k)}))}function cr(r,e,o,i){var l=(o||Et).filter(function(T){return T.root.key===r.key}),g=(o||Oa).filter(function(T){return T.root.key===r.key});if(xe&&r.key!==xe||(he||W.status)&&!g.length)return null;var w=JSON.stringify([ie,i||"",r.key,he,xe,W.status]),R=I[w]===void 0?e?!0:!!(he||xe||W.status):I[w],k=e?at(t,Object.assign({},r,{projectName:void 0})):at(t,r);return s("section",{key:(i||"")+r.key,className:"dssm-source","data-source-key":r.key},s("div",{className:"dssm-source-head"},s("button",{type:"button",className:"dssm-source-toggle","aria-expanded":R,onClick:function(){M(function(T){var pe={};return pe[w]=!R,Object.assign({},T,pe)})}},Vr(s,R),s("div",{className:"dssm-source-label"},Se(r.key),s("span",{className:"dssm-source-title"},k),s("span",{className:"dssm-count"},t(va("summary.group",g.length),{count:g.length})),r.overridden?s("span",{className:"dssm-source-custom"},t("rootPath.custom")):null,s("span",{className:"dssm-source-path",title:r.overridden?t("rootPath.overrideTitle",{path:r.defaultPath||""}):r.path},r.path))),nr(r,e,k)),R?s("div",{className:"dssm-source-body",role:"region"},dr(r,g,e,i,l)):null)}function ur(){var r=x==="project",e=r?$:void 0,o=Rt.map(function(l){return cr(l,e,void 0,e?e+"|":void 0)}).filter(Boolean),i=o.length?o:s("div",{className:"dssm-empty"},he||W.status?t("empty.search"):t("empty.source"));return r&&(Ot.error?i=s("div",{className:"dssm-feedback dssm-error",role:"alert"},t("workspace.listFailed",{error:Ot.error})):Ot.loading||$&&(!Nt||Nt.loading)?i=s("div",{className:"dssm-empty"},t("workspace.loading")):$?Nt?.error?i=s("div",{className:"dssm-feedback dssm-error",role:"alert"},t("workspace.loadFailed",{error:Nt.error})):!Et.length&&!he&&!W.status&&(i=s("div",{className:"dssm-empty"},t("workspace.noSkills"))):i=s("div",{className:"dssm-empty"},t(re.length?"workspace.unavailable":"project.empty"))),s("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+x,className:"dssm-sources"},i)}function pr(){return s("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},Xe.trash.length?Xe.trash.map(function(r){return s("div",{key:r.id,className:"dssm-trash-item",role:"group","aria-label":r.name},s("div",{className:"dssm-trash-main"},s("div",{className:"dssm-name"},r.name),s("div",{className:"dssm-trash-meta"},s("time",{dateTime:r.deletedAt},t("trash.deletedAt",{time:so(t,r.deletedAt)})),s("span",{className:"dssm-trash-source"},t("trash.source",{source:da(r)})))),s("div",{className:"dssm-trash-actions"},Mt(t("btn.restore"),Ue("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){J("/trash-restore",ee(r),"result.restored",{name:r.name}).catch(function(){})},!1,h),Mt(t("btn.delete.forever"),Ue("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){N({type:"delete-confirm",id:r.id,name:r.name})},!0,h)))}):s("div",{className:"dssm-empty"},t("trash.empty")))}var gt=es({active:x==="repositories",t,onInstalled:function(){return Promise.all([ne(!1),Da()])}});function Ce(r){var e=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 s("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},s("path",{d:e}))}var Fa=["user","project","repositories","trash"].map(function(r){var e=t("scope."+r),o=r==="trash"?(Xe.trash||[]).length:0,i=Ce(r);return{value:r,id:"dssm-tab-"+r,panelId:"dssm-scope-panel",label:o>0?[i,e,s("span",{className:"dssm-trash-count"},o)]:[i,e]}}),Va=s(Le.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:t("scope.label"),value:x,onChange:function(r){n(r),(r==="project"||r==="trash")&&At(r==="project"),r==="trash"&&ne(!0)},items:Fa}),ua=[x==="project"?null:s("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(r){return s("div",{key:r[1],className:"dssm-stat"},s("strong",null,Lt[r[0]]),t(va(r[1],Lt[r[0]]),{count:Lt[r[0]]}).replace(String(Lt[r[0]]),""))})),s("div",{key:"filters",className:"dssm-filters"},x==="project"?null:s("div",{className:"dssm-source-filter"},s(Dt,{value:xe,label:t("filter.source"),options:ar,onChange:er})),s("div",{className:"dssm-status-filter"},s(Dt,{value:W.status,label:t("filter.status"),options:[{value:"",label:t("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(r){return{value:r,label:t("status."+r)}})),onChange:function(r){Xt("status",r)}})),x==="project"?s("div",{className:"dssm-project-filter"},s(Dt,{value:$,label:t("filter.workspace"),disabled:Ot.loading||!re.length,options:re.map(function(r){return{value:_e(r),label:r.name+(r.available?"":" \xB7 "+t("workspace.unavailable"))+(re.filter(function(e){return e.name===r.name}).length>1?" \xB7 "+_e(r):""),disabled:!r.available||!_e(r)}}),onChange:tr})):null,s(De,{className:"dssm-search",allowClear:!0,value:he,"aria-label":t("search"),placeholder:t("search.placeholder"),onChange:function(r){la(r.target.value)}}),x!=="trash"?s("div",{className:"dssm-filter-actions"},Za(t("btn.refresh"),Ue("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(){ne(!1),x==="project"&&Da()},h||p.loading),Za(t("btn.create"),Ue("M8 2.5v11M2.5 8h11"),Ua,h,t("btn.create")+"\u2026"),Za(t("import.global"),Ue("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),ja,h),x==="user"?Za(t("rootPath.manage"),Ue("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),Ma,h,t("rootPath.manage")+"\u2026"):null):null)],be=[s("style",{key:"css"},ts),s("div",{key:"head",className:"dssm-head"},s("div",{className:"dssm-title-block"},s("div",{className:"dssm-title-row"},s("h2",{className:"dssm-title"},t("title")),s("div",{className:"dssm-feedback-links"},s(Le.Button,{variant:"outline",size:"sm","aria-label":t("link.project"),icon:s(Rs),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},t("link.project")),s(Le.Button,{variant:"outline",size:"sm","aria-label":t("link.feedback"),icon:s(Xo),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},t("link.feedback")))),s("p",{className:"dssm-desc"},t("desc")))),Va].concat(x==="trash"||x==="repositories"?[]:ua,[b&&C!=="import"?s("div",{key:"result",className:"dssm-feedback"+(b.warning?" dssm-warning":b.ok?"":" dssm-error")},b.text):null],(Xe.warnings||[]).map(function(r,e){return s("div",{key:"warning-"+e,className:"dssm-feedback dssm-warning",role:"alert"},Q(t,r))}),[p.error?s("div",{key:"error",className:"dssm-feedback dssm-error"},p.error):null,p.loading&&!p.data?s("div",{key:"loading",className:"dssm-empty"},t("loading")):x==="repositories"?gt.content:x==="trash"?pr():ur()]);if(C==="create"&&be.push(s(Qe,{key:"create",title:t("create.title"),closeLabel:t("btn.close"),onClose:function(){N(null)}},s("div",{className:"dssm-form"},s(Zr,{t,value:Ye,disabled:h,allowAgents:!0,workspaces:re,userDestinations:ft,onChange:function(r){yt(Object.assign({},Ye,r))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(r){return s("label",{key:r[0],className:"dssm-field"},s("span",{className:"dssm-label"},t(r[1])),s(De,{value:Pe[r[0]],placeholder:t(r[2]),onChange:function(e){ia(r[0],e.target.value)}}))}),s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("create.body")),s(De.TextArea,{rows:8,value:Pe.body,placeholder:t("create.body.placeholder"),onChange:function(r){ia("body",r.target.value)}})),s("p",{className:"dssm-help"},t("create.chat.note"))),s("div",{className:"dssm-modal-actions"},F(t("btn.cancel"),function(){N(null)},"outline"),F(t("btn.create.now"),$a,"primary",h||!Pe.name.trim()||!Pe.description.trim()||!Pe.body.trim()||!zt(Ye,re,ft))))),C==="import"&&be.push(s(Qe,{key:"import",className:"dssm-modal-import",title:t("import.title"),closeLabel:t("btn.close"),onClose:function(){ue.current=!1,Ne(null),U(null),N(null)}},s("input",{ref:Zt,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(r){Jt(r.target.files),r.target.value=""}}),s("input",{ref:Je,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(r){Jt(r.target.files),r.target.value=""}}),s("div",{className:"dssm-dropzone",onDragOver:function(r){r.preventDefault(),r.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(r){r.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(r){r.preventDefault(),r.currentTarget.classList.remove("dssm-dropzone-active"),ss(r.dataTransfer).then(Jt).catch(function(e){U({ok:!1,text:Q(t,e)})})}},s("span",{className:"dssm-dropzone-title"},t("upload.drop.title")),s("span",{className:"dssm-dropzone-copy"},t("upload.drop.copy")),s("div",{className:"dssm-upload-choices"},s("button",{type:"button",className:"dssm-upload-link",disabled:h,onClick:function(r){r.stopPropagation(),ut(Je)}},t("btn.folder.pick")),s("span",{className:"dssm-upload-divider"},"/"),s("button",{type:"button",className:"dssm-upload-link",disabled:h,onClick:function(r){r.stopPropagation(),ut(Zt)}},t("btn.file.pick")))),ce?s("div",{className:"dssm-file",title:ce.name},s("span",{className:"dssm-file-kind","aria-hidden":"true"},ce.kind==="zip"?"ZIP":ce.kind==="folder"?"DIR":"MD"),s("span",{className:"dssm-file-name"},ce.name),s("span",{className:"dssm-file-meta"},t(va("upload.selected",ce.count),{count:ce.count,size:ce.size<1024?ce.size+" B":Math.ceil(ce.size/1024)+" KB"})),s("button",{type:"button",className:"dssm-file-remove","aria-label":t("upload.remove"),onClick:function(){Ne(null)}},"\xD7")):null,s(Zr,{t,value:Oe,disabled:h,allowAgents:!0,workspaces:re,userDestinations:ft,onChange:function(r){ta(Object.assign({},Oe,r))}}),b?s("div",{className:"dssm-feedback"+(b.warning?" dssm-warning":b.ok?"":" dssm-error"),role:"alert"},b.text):null,s("div",{className:"dssm-upload-requirements"},s("div",{className:"dssm-label"},t("upload.requirements")),s("ul",null,s("li",null,t("upload.requirement.skill")),s("li",null,t("upload.requirement.frontmatter")),s("li",null,t("upload.requirement.copy")))),s("div",{className:"dssm-modal-actions"},F(t("btn.cancel"),function(){ue.current=!1,Ne(null),U(null),N(null)},"outline"),F(t(h?"upload.importing":"btn.import.now"),Ia,"primary",h||!ce||!zt(Oe,re,ft))))),C&&typeof C=="object"&&C.type==="root-path"){var $e=C,et=na;be.push(s(Qe,{key:"root-path",title:t("rootPath.title",{name:$e.label}),closeLabel:t("btn.close"),onClose:function(){N(null),Re(null)}},s("div",{className:"dssm-form"},s("p",{className:"dssm-note"},t("rootPath.desc")),Ve.length>0?s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("rootPath.source")),s(Dt,{value:$e.root,label:t("rootPath.source"),disabled:h,options:Ve.map(function(r){return{value:r.key,label:at(t,r)}}),onChange:function(r){var e=Ve.find(function(o){return o.key===r});e&&dt(e)}})):null,s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("rootPath.label")),s(De,{value:Vt,placeholder:t("rootPath.placeholder"),disabled:h,onChange:function(r){Wt(r.target.value),Re(null)}})),s("div",{className:"dssm-root-path-actions"},F(t("rootPath.browse"),Me,"outline",h||ra),$e.defaultPath?F(t("rootPath.reset"),function(){H(null)},"outline",h):null,$e.root.indexOf("custom:")===0?F(t("customSource.remove"),function(){za($e.root)},"outline",h):null),s("p",{className:"dssm-help"},t("rootPath.defaultHint",{path:$e.defaultPath||$e.path})),Ea?s("div",{className:"dssm-feedback dssm-error",role:"alert"},Ea):null,s("div",{className:"dssm-custom-sources"},s("div",{className:"dssm-custom-source-head"},s("span",{className:"dssm-label"},t("customSource.title")),F(t(Te?"btn.cancel":"customSource.add"),function(){Te?(Kt(!1),Ze(null),se(null)):ct()},"outline",h||we)),s("p",{className:"dssm-help"},t("customSource.desc")),Te?s("div",{className:"dssm-form"},s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("customSource.label")),s(De,{value:st,maxLength:48,placeholder:t("customSource.label.placeholder"),disabled:h||we,onChange:function(r){oa(r.target.value)}})),s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("customSource.path")),s(De,{value:St,placeholder:t("customSource.path.placeholder"),disabled:h||we,onChange:function(r){ot(r.target.value),se(null)}})),s("div",{className:"dssm-root-path-actions"},F(t("rootPath.browse"),_a,"outline",h||we),F(t(we?"customSource.scanning":"customSource.scan"),Ar,"outline",h||we||!(St||"").trim()),F(t("customSource.addOne"),function(){ke([{label:(st||"").trim(),path:(St||"").trim()}])},"primary",h||we||!(St||"").trim())),it?s("div",{className:"dssm-feedback dssm-error",role:"alert"},it):null,et?s("div",{className:"dssm-custom-scan"},s("p",{className:"dssm-help"},t("customSource.scanResult",{count:et.candidates.length,path:et.root})),et.candidates.length?s("div",{className:"dssm-root-path-actions"},F(t("customSource.addAll"),function(){ke(et.candidates.filter(function(r){return!r.registered&&!r.conflict}).map(function(r){return{label:r.label,path:r.path,group:r.group}}))},"primary",h||we||!et.candidates.some(function(r){return!r.registered&&!r.conflict}))):null,et.candidates.map(function(r,e){return s("div",{key:"candidate-"+e,className:"dssm-custom-candidate"},s("div",{className:"dssm-custom-candidate-text"},s("span",{className:"dssm-custom-candidate-name"},r.label),s("span",{className:"dssm-custom-candidate-meta"},r.path+" \xB7 "+t(va("customSource.skillCount",r.skillCount),{count:r.skillCount}))),r.registered?s("span",{className:"dssm-custom-candidate-state"},t("customSource.registered")):r.conflict?s("span",{className:"dssm-custom-candidate-state"},t("customSource.conflict")):F(t("customSource.addOne"),function(){ke([{label:r.label,path:r.path,group:r.group}])},"outline",h||we))})):null):null)),s("div",{className:"dssm-modal-actions"},F(t("btn.cancel"),function(){N(null),Re(null)},"outline"),F(t("rootPath.save"),function(){H((Vt||"").trim())},"primary",h||!(Vt||"").trim()))))}if(C==="detail"){var le=Xa,pa=le?le.declaredName||le.name:"";be.push(s(Qe,{key:"detail",className:"dssm-modal-wide",title:t("detail.title"),closeLabel:t("btn.close"),onClose:function(){Fe("idle"),N(null)}},le?s("div",{className:"dssm-detail"},s("div",{className:"dssm-detail-head"},s("div",{className:"dssm-name",title:pa},pa),le.body?s(Le.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){le&&le.body&&Ta(le.body)}},t(Pa==="copied"?"detail.copied":Pa==="failed"?"detail.copyFailed":"detail.copyBody")):null),le.description?s("p",{className:"dssm-desc"},le.description):null,s("div",{className:"dssm-detail-path"},le.path),le.diagnostics.length?le.diagnostics.map(function(r,e){return s("div",{key:e,className:"dssm-diag"},t(r.code,r.params||{}))}):null,s(De.TextArea,{className:"dssm-detail-body",readOnly:!0,value:le.body||"",rows:16})):s("div",{className:"dssm-empty"},t("loading"))))}if(C&&typeof C=="object"&&C.type==="trash-confirm"&&be.push(s(Qe,{key:"trash-confirm",title:t("confirm.trash.title"),description:t("confirm.trash.desc",{name:C.name}),closeLabel:t("btn.close"),onClose:function(){N(null)},footer:s(wa.Fragment,null,F(t("btn.cancel"),function(){N(null)},"outline"),F(t("btn.trash"),function(){J("/delete",Object.assign({root:C.root,name:C.name},C.workspace?{workspace:C.workspace}:{}),"result.trashed",{name:C.name}).then(function(){N(null)}).catch(function(){})},"danger",h))})),C&&typeof C=="object"&&C.type==="delete-confirm"&&be.push(s(Qe,{key:"delete-confirm",title:t("confirm.delete.title"),description:t("confirm.delete.desc",{name:C.name}),closeLabel:t("btn.close"),onClose:function(){N(null)},footer:s(wa.Fragment,null,F(t("btn.cancel"),function(){N(null)},"outline"),F(t("btn.delete.forever"),function(){J("/trash-delete",{id:C.id},"result.deleted",{name:C.name}).then(function(){N(null)}).catch(function(){})},"danger",h))})),C&&typeof C=="object"&&(C.type==="category-create"||C.type==="category-rename")){var Pt=C.type==="category-rename",Ke=C,ht=_.trim(),ma=!!ht&&(!Pt||ht!==Ke.name),Wa=function(){if(!(h||!ma)){var r=Pt?J("/category-rename",{root:Ke.root,id:Ke.id,name:ht,workspace:Ke.workspace},"category.renamed"):J("/category-create",{root:Ke.root,name:ht,workspace:Ke.workspace},"category.created",{name:ht});r.then(function(){N(null)}).catch(function(){})}};be.push(s(Qe,{key:C.type,title:t(Pt?"category.rename":"category.create"),closeLabel:t("btn.close"),onClose:function(){N(null)}},s("div",{className:"dssm-form"},s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("category.name")),s(De,{value:_,maxLength:24,"aria-label":t("category.name"),onChange:function(r){je(r.target.value)},onPressEnter:Wa})),s("p",{className:"dssm-help"},t("category.note"))),s("div",{className:"dssm-modal-actions"},F(t("btn.cancel"),function(){N(null)},"outline"),F(t(Pt?"btn.confirm":"category.create"),Wa,"primary",h||!ma))))}if(C&&typeof C=="object"&&C.type==="category-add"){var He=C,Tt=u.trim().toLowerCase(),Ka=He.skills.filter(function(r){return!Tt||r.name.toLowerCase().includes(Tt)||r.declaredName&&r.declaredName.toLowerCase().includes(Tt)||r.description&&r.description.toLowerCase().includes(Tt)}),qa=new Set(He.skills.map(function(r){return r.name})),fa=Object.keys(ae).filter(function(r){return ae[r]&&qa.has(r)}).length;be.push(s(Qe,{key:"category-add",title:t("category.selectSkills",{name:He.name}),closeLabel:t("btn.close"),onClose:function(){S({}),B(""),N(null)}},s(De,{placeholder:t("search.placeholder"),value:u,allowClear:!0,onChange:function(r){B(r.target.value)}}),s("div",{className:"dssm-batch-list"},Ka.length?Ka.map(function(r){var e=!!ae[r.name];return s("div",{key:r.name,className:"dssm-batch-item"+(e?" selected":""),onClick:function(){var o=Object.assign({},ae);e?delete o[r.name]:o[r.name]=!0,S(o)}},s("input",{type:"checkbox",checked:e,readOnly:!0}),s("div",{className:"dssm-batch-info"},s("div",{className:"dssm-batch-name-row"},s("span",{className:"dssm-batch-name"},r.declaredName||r.name),r.currentCatName?s("span",{className:"dssm-batch-cat-tag"},r.currentCatName):null),r.description?s("div",{className:"dssm-batch-desc",title:r.description},r.description):null))}):s("div",{className:"dssm-empty"},t("category.noAvailableSkills"))),s("div",{className:"dssm-modal-actions"},F(t("btn.cancel"),function(){S({}),B(""),N(null)},"outline"),F(t("category.addSkills")+(fa?" ("+fa+")":""),function(){var r=Object.keys(ae).filter(function(o){return ae[o]&&qa.has(o)});if(!r.length){S({}),B(""),N(null);return}if(!ze.current){var e=function(o){return He.workspace?Object.assign({},o,{workspace:He.workspace}):o};ze.current=!0,v(!0),S({}),B(""),N(null),r.reduce(function(o,i){return o.then(function(){return d("/category-assign",{method:"POST",headers:bt,body:JSON.stringify(e({root:He.root,name:i,category:He.id}))})})},Promise.resolve()).then(function(){U({ok:!0,text:t("category.batchAssigned",{count:r.length,category:He.name})})}).catch(function(o){U({ok:!1,text:Q(t,o)})}).finally(function(){ze.current=!1,v(!1);var o=He.workspace;Promise.all([ne(!0),o?mt(o):null]).catch(function(){})})}},"primary",h||!fa))))}return C&&typeof C=="object"&&C.type==="category-delete"&&be.push(s(Qe,{key:"category-delete",title:t("confirm.category.title"),description:t("confirm.category.desc",{name:C.name}),closeLabel:t("btn.close"),onClose:function(){N(null)},footer:s(wa.Fragment,null,F(t("btn.cancel"),function(){N(null)},"outline"),F(t("category.delete"),function(){J("/category-delete",{root:C.root,id:C.id,workspace:C.workspace},"category.deleted",{name:C.name}).then(function(){N(null)}).catch(function(){})},"danger",h))})),s("section",{className:"dssm-section"},be)}var bo=null;function $r(){var a=globalThis.__DSH_DIRECTORY_PICKER__;if(a&&typeof a.pick=="function"){var t=a.pick.bind(a);return function(){return t()}}return bo}var Es=["slots","locale"];function Ls(a){if(xa=a.locale,typeof a.inject=="function")try{a.inject(["uiWorkspace"],function(c){var p=c.uiWorkspace;if(p&&typeof p.pickDirectory=="function"){var f=p.pickDirectory.bind(p);bo=function(){return f()}}})}catch{}a.effect(function(){return a.locale.register(Ht,Sa)});var t,d;a.effect(function(){return t=Ur({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:$o,isEnabled:function(){return d?d.isOnlineUpdateEnabled():!0}}),function(){typeof t=="function"&&t(),t=void 0}},"skills-manager: plugin update ui"),qr(a,function(){return a.locale.bind(Ht)("title")}),a.slots.inject("settings.section",function(){return a.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return a.locale.bind(Ht)("title")},icon:"skill",locale:Ht},_r)}),d=kr(a,{callApi:ka,headers:bt,renderPanel:function(c){return s(_r,Object.assign({t:a.locale.bind(Ht)},c))},ns:Ht,onOnlineUpdateChange:function(){t&&typeof t.refresh=="function"&&t.refresh()}}),a.effect(function(){return function(){d&&typeof d.destroy=="function"&&(d.destroy(),d=void 0)}},"skills-manager: sidebar entry cleanup")}module.exports.formatTrashTime=so;module.exports.DICT=Sa;module.exports.translateError=Q;module.exports.parseApiResponse=ro;module.exports.resolveApiUrl=ya;module.exports.isSkillEnabled=Ga;module.exports.countKey=va;module.exports.rootDisplayName=at;module.exports.summarizeImportResult=no;module.exports.normalizeSkillQuery=io;module.exports.matchSkillQuery=Cr;module.exports.filterSkills=as;module.exports.visibleSkillRoots=Nr;module.exports.scopeSkillRoots=uo;module.exports.skillStatus=Rr;module.exports.countSkillStatuses=lo;module.exports.currentSessionId=go;module.exports.canToggleSource=co;module.exports.recoverModalFocus=fo;module.exports.trapModalFocus=is;module.exports.inspectUploadSelection=po;module.exports.setupSidebarEntry=kr;module.exports.apply=Ls;module.exports.inject=Es;
49
57
  return module.exports;
50
58
  } });