@michengai/dsh-skills-manager 1.2.26 → 1.2.28

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 Eo=Object.create;var Ur=Object.defineProperty;var Lo=Object.getOwnPropertyDescriptor;var Po=Object.getOwnPropertyNames;var To=Object.getPrototypeOf,Io=Object.prototype.hasOwnProperty;var zo=(a,t,d,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let p of Po(t))!Io.call(a,p)&&p!==d&&Ur(a,p,{get:()=>t[p],enumerable:!(c=Lo(t,p))||c.enumerable});return a};var Ea=(a,t,d)=>(d=a!=null?Eo(To(a)):{},zo(t||!a||!a.__esModule?Ur(d,"default",{value:a,enumerable:!0}):d,a));var Ia=Ea(require("react"),1);var Cr={zh:{"repo.catalog.unknownLocation":"\u4F4D\u7F6E\u672A\u77E5","repo.catalog.reassociate":"\u9009\u62E9\u4F4D\u7F6E\u5E76\u91CD\u5173\u8054\u5B89\u88C5","repo.catalog.unknownHint":"\u6709\u65E7\u76EE\u5F55\u5B89\u88C5\u8BB0\u5F55\u4F4D\u7F6E\u672A\u77E5\uFF1B\u627E\u5230\u5BF9\u5E94\u6280\u80FD\u540E\u53EF\u9009\u62E9\u4F4D\u7F6E\u91CD\u5173\u8054\u5B89\u88C5\u3002","repo.catalog.loadMore":"\u518D\u52A0\u8F7D 10 \u6761","repo.catalog.installRefreshWarning":"\u6280\u80FD\u5DF2\u5B89\u88C5\u5E76\u542F\u7528\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u91CD\u65B0\u6253\u5F00\u53D1\u73B0\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5B89\u88C5\u3002","repo.catalog.uninstallRefreshWarning":"\u6280\u80FD\u5DF2\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u5237\u65B0\u6280\u80FD\u5217\u8868\u6216\u91CD\u65B0\u6253\u5F00\u8BBE\u7F6E\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5378\u8F7D\u3002","repo.installElsewhere":"\u5B89\u88C5\u5230\u5176\u4ED6\u4F4D\u7F6E","repo.destinationUnavailable":"\u539F\u9879\u76EE\u672A\u767B\u8BB0\u6216\u76EE\u5F55\u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u7BA1\u7406\u6B64\u526F\u672C\u3002\u8BF7\u5728\u4FA7\u680F\u91CD\u65B0\u767B\u8BB0\u539F\u9879\u76EE\u540E\u5237\u65B0\u3002","repo.scope.user":"\u5168\u5C40","repo.scope.project":"\u9879\u76EE","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026","repo.refreshed":"\u5237\u65B0\u4E0E\u66F4\u65B0\u68C0\u67E5\u5B8C\u6210","repo.partialRefreshFailed":"\u90E8\u5206\u4ED3\u5E93\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF08{names}\uFF09\uFF0C\u5176\u4F59\u5DF2\u5B8C\u6210","repo.detailLoading":"\u6B63\u5728\u8BFB\u53D6\u6280\u80FD\u8BF4\u660E\u2026","repo.local":"\u672C\u673A","repo.source":"\u5B89\u88C5\u6765\u6E90","repo.update":"\u53EF\u66F4\u65B0","repo.review":"\u67E5\u770B\u66F4\u65B0","repo.rollback":"\u6062\u590D\u4E0A\u4E00\u7248","repo.confirmUpdate":"\u5907\u4EFD\u5E76\u66F4\u65B0","repo.confirmRollback":"\u5907\u4EFD\u5E76\u6062\u590D","repo.overwrite":"\u5907\u4EFD\u672C\u5730\u4FEE\u6539\u5E76\u66FF\u6362","repo.modified":"\u68C0\u6D4B\u5230\u672C\u5730\u4FEE\u6539\u3002\u66FF\u6362\u4F1A\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u539F\u6587\u4EF6\u5C06\u5B8C\u6574\u5907\u4EFD\uFF0C\u53EF\u6062\u590D\u3002","repo.noChanges":"\u6587\u4EF6\u5185\u5BB9\u6CA1\u6709\u53D8\u5316\u3002","repo.added":"\u65B0\u589E","repo.removed":"\u5220\u9664","repo.modifiedFile":"\u4FEE\u6539","repo.updating":"\u66F4\u65B0\u4E2D\u2026","repo.updateProgress":"\u6B63\u5728\u6821\u9A8C\u3001\u5907\u4EFD\u5E76\u66FF\u6362\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.updateSuccess":"\u66F4\u65B0\u5B8C\u6210\uFF0C\u5DF2\u4FDD\u7559\u4E0A\u4E00\u7248\u5907\u4EFD\u3002","repo.rollbackSuccess":"\u5DF2\u6062\u590D\u4E0A\u4E00\u7248\u3002","repo.manageUpdate":"\u7BA1\u7406\u66F4\u65B0","error.repo.modified":"\u5B58\u5728\u672C\u5730\u4FEE\u6539\uFF0C\u8BF7\u9884\u89C8\u5E76\u786E\u8BA4\u5907\u4EFD\u540E\u66FF\u6362\u3002","scope.repositories":"\u53D1\u73B0\u6280\u80FD","repo.add":"\u6DFB\u52A0\u4ED3\u5E93","repo.manage":"\u7BA1\u7406\u4ED3\u5E93","repo.refresh":"\u5237\u65B0\u5E76\u68C0\u67E5\u66F4\u65B0","repo.save":"\u6DFB\u52A0\u5E76\u626B\u63CF","repo.subsource.github":"Git \u4ED3\u5E93","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"\u70ED\u95E8\u4E0B\u8F7D Top 100","repo.catalog.states":"\u5168\u90E8\u72B6\u6001","repo.catalog.uninstalled":"\u672A\u5B89\u88C5","repo.catalog.searchClawhub":"\u641C\u7D22 ClawHub \u6280\u80FD","repo.catalog.searchLoading":"\u6B63\u5728\u641C\u7D22 ClawHub\u2026","repo.catalog.searchEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 ClawHub \u6280\u80FD\u3002","repo.catalog.searchError":"ClawHub \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.catalog.searchSkillsh":"\u641C\u7D22 skills.sh \u6280\u80FD","repo.catalog.skillshLoading":"\u6B63\u5728\u641C\u7D22 skills.sh\u2026","repo.catalog.skillshEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 skills.sh \u6280\u80FD\u3002","repo.catalog.skillshError":"skills.sh \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.sort.installs":"\u5B89\u88C5\u91CF\u4ECE\u9AD8\u5230\u4F4E","repo.sort.name":"\u540D\u79F0 A-Z","repo.subsource.catalogNote":"ClawHub \u4E0B\u8F7D\u91CF\u699C \xB7 \u6700\u591A 100 \u6761\uFF0C\u4EC5\u5BF9\u5F53\u524D\u663E\u793A\u6761\u76EE\u6392\u5E8F","repo.catalog.empty":"ClawHub \u5F53\u524D\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","repo.catalog.loading":"\u6B63\u5728\u52A0\u8F7D ClawHub \u699C\u5355\u2026","repo.catalog.loadError":"ClawHub \u699C\u5355\u52A0\u8F7D\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","repo.catalog.retry":"\u91CD\u8BD5","repo.catalog.loadingMore":"\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u2026","repo.catalog.downloads":"\u4E0B\u8F7D","repo.catalog.installs":"\u5B89\u88C5","repo.catalog.stars":"\u661F\u6807","repo.hint":"\u4ECE\u5DF2\u8BA2\u9605\u7684 Git \u4ED3\u5E93\u6216\u7B2C\u4E09\u65B9\u76EE\u5F55\u53D1\u73B0\u6280\u80FD\uFF0C\u5B89\u88C5\u5230\u7528\u6237\u76EE\u5F55\u7684 DSH skills \u6216 Shared Agent\uFF0C\u6216\u5DF2\u767B\u8BB0\u9879\u76EE\u7684 .dsh/skills\u3002","repo.footer":"\u5237\u65B0\u4F1A\u68C0\u67E5\u4ED3\u5E93\u4E0E\u6280\u80FD\u66F4\u65B0\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u66FF\u6362\u672C\u5730\u6587\u4EF6\u3002\u5386\u53F2\u5907\u4EFD\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\uFF0C\u5360\u7528\u7A7A\u95F4\u4F1A\u968F\u66F4\u65B0\u589E\u52A0\u3002","repo.search":"\u641C\u7D22\u4ED3\u5E93\u6280\u80FD","repo.all":"\u5168\u90E8\u4ED3\u5E93","repo.states":"\u5168\u90E8\u72B6\u6001","repo.available":"\u53EF\u5B89\u88C5","repo.installed":"\u5DF2\u5B89\u88C5","repo.conflict":"\u540C\u540D\u51B2\u7A81","repo.invalid":"\u683C\u5F0F\u65E0\u6548","repo.install":"\u5B89\u88C5","repo.detail":"\u8BE6\u60C5","repo.installing":"\u5B89\u88C5\u4E2D\u2026","repo.installProgress":"\u6B63\u5728\u8BFB\u53D6\u5E76\u6821\u9A8C\u6280\u80FD\u6587\u4EF6\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.installSuccess":"\u5B89\u88C5\u6210\u529F\u5E76\u5DF2\u542F\u7528\uFF0C\u53EF\u5728\u5BF9\u8BDD\u4E2D\u7528\u659C\u6760\u8C03\u7528\u3002","repo.installDestination":"\u5B89\u88C5\u4F4D\u7F6E","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"\u4EC5\u4F9B DSH \u4F7F\u7528\uFF0C\u8DEF\u5F84\u4EE5\u5F53\u524D DSH_HOME \u4E3A\u51C6\u3002","repo.rootExternalHint":"\u4F7F\u7528\u8BE5\u76EE\u5F55\u7684\u5176\u4ED6 Agent \u4E5F\u80FD\u8BFB\u53D6\u6B64\u6280\u80FD\u3002","repo.installLocationsHint":"\u7528\u6237\u76EE\u5F55\u53EF\u9009 DSH skills \u6216 Shared Agent\uFF1B\u5DF2\u767B\u8BB0\u9879\u76EE\u4EC5\u5199\u5165 .dsh/skills\u3002\u9009\u62E9\u5668\u663E\u793A\u5B9E\u9645\u8DEF\u5F84\u3002\u7F3A\u5C11\u7684\u76EE\u5F55\u4F1A\u5728\u786E\u8BA4\u5B89\u88C5\u540E\u521B\u5EFA\u3002\u4E0D\u5B89\u5168\u7684\u8DEF\u5F84\u4E0D\u53EF\u9009\u3002","repo.uninstall":"\u5378\u8F7D","repo.confirmUninstall":"\u79FB\u81F3\u56DE\u6536\u7AD9","repo.uninstallHint":"\u4EC5\u5C06\u6B64\u4ED3\u5E93\u5DF2\u8DDF\u8E2A\u7684\u5B89\u88C5\u526F\u672C\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u5305\u62EC\u672C\u5730\u4FEE\u6539\u3002\u4E4B\u540E\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.uninstallExternalWarning":"\u5378\u8F7D\u8BE5\u6280\u80FD\u4E5F\u4F1A\u5F71\u54CD\u4F7F\u7528\u6240\u9009\u76EE\u5F55\u7684\u5176\u4ED6 Agent\u3002","repo.uninstalling":"\u5378\u8F7D\u4E2D\u2026","repo.uninstallProgress":"\u6B63\u5728\u5C06\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.uninstallSuccess":"\u6280\u80FD\u5DF2\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u4ED3\u5E93\uFF0C\u6DFB\u52A0\u4E00\u4E2A Git \u4ED3\u5E93\u5F00\u59CB\u3002","repo.noSkills":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002\u53EF\u5237\u65B0\u4ED3\u5E93\u6216\u8C03\u6574\u7B5B\u9009\u3002","repo.url":"\u4ED3\u5E93\u5730\u5740","repo.urlPlaceholder":"owner/repo \u6216\u5B8C\u6574 Git \u5730\u5740","repo.ref":"\u5206\u652F\u6216\u6807\u7B7E\uFF08\u53EF\u9009\uFF09","repo.directory":"\u6280\u80FD\u5B50\u76EE\u5F55\uFF08\u53EF\u9009\uFF09","repo.defaultBranch":"\u7559\u7A7A\u4F7F\u7528\u9ED8\u8BA4\u5206\u652F","repo.defaultBranchLabel":"\u9ED8\u8BA4\u5206\u652F","repo.directoryHint":"\u4F8B\u5982 skills\uFF0C\u7559\u7A7A\u626B\u63CF\u6574\u4E2A\u4ED3\u5E93","repo.remove":"\u79FB\u9664\u4ED3\u5E93","repo.removeHint":"\u4EC5\u79FB\u9664\u4ED3\u5E93\u8BA2\u9605\uFF0C\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u4F1A\u4FDD\u7559\u3002","repo.removeConfirm":"\u786E\u8BA4\u79FB\u9664","repo.cancel":"\u53D6\u6D88","repo.close":"\u5173\u95ED","repo.loading":"\u5904\u7406\u4E2D\u2026","repo.success":"\u64CD\u4F5C\u5B8C\u6210","repo.installHint":"\u6280\u80FD\u53EF\u80FD\u5305\u542B\u811A\u672C\uFF0C\u8BF7\u5148\u67E5\u770B\u8BF4\u660E\u5E76\u786E\u8BA4\u4FE1\u4EFB\u6765\u6E90\u3002\u5B89\u88C5\u4F1A\u4FDD\u7559\u8D44\u6E90\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u6267\u884C\u811A\u672C\u3002","repo.commit":"\u626B\u63CF\u7248\u672C","repo.notScanned":"\u5C1A\u672A\u626B\u63CF","repo.updated":"\u4E0A\u6B21\u5237\u65B0","repo.copyBody":"\u590D\u5236\u6B63\u6587","repo.copied":"\u5DF2\u590D\u5236","repo.copyFailed":"\u590D\u5236\u5931\u8D25","error.repo.tooLarge":"\u4ED3\u5E93\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u3002","error.repo.transientTooLarge":"\u4ED3\u5E93\u4E34\u65F6\u4E0B\u8F7D\u4F53\u79EF\u8FC7\u5927\uFF08\u5305\u542B Git \u5386\u53F2\u5BF9\u8C61\uFF09\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u6216\u63D0\u9AD8\u4E34\u65F6\u5927\u5C0F\u9650\u5236\u3002","error.repo.noGit":"\u672A\u68C0\u6D4B\u5230 Git \u547D\u4EE4\u884C\u5DE5\u5177\uFF0C\u8BF7\u5148\u5B89\u88C5 Git \u540E\u91CD\u8BD5\u3002","error.repo.installState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u4FDD\u7559\uFF0C\u4F46\u6765\u6E90\u72B6\u6001\u672A\u786E\u8BA4\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u65B0\u6253\u5F00\u4ED3\u5E93\u9875\uFF0C\u7CFB\u7EDF\u4F1A\u6821\u9A8C\u6587\u4EF6\u5E76\u6062\u590D\u8BB0\u5F55\u3002","error.repo.capacity":"\u5B89\u88C5\u6765\u6E90\u72B6\u6001\u8D85\u8FC7 16 MiB\u3002\u8BF7\u5148\u6E05\u7406\u4E0D\u9700\u8981\u7684\u56DE\u6536\u8BB0\u5F55\u6216\u65E7\u8EAB\u4EFD\uFF0C\u4ECD\u6709\u6548\u7684\u5B89\u88C5\u526F\u672C\u4F1A\u4FDD\u7559\u3002","error.repo.invalid":"\u4ED3\u5E93\u5730\u5740\u3001\u8DEF\u5F84\u6216\u5185\u5BB9\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165\u53CA\u4ED3\u5E93\u5927\u5C0F\u3002","error.repo.network":"\u4ED3\u5E93\u8BBF\u95EE\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216\u7A0D\u540E\u91CD\u8BD5\u3002\u4E0A\u6B21\u5217\u8868\u5DF2\u4FDD\u7559\u3002","error.repo.state":"\u4ED3\u5E93\u72B6\u6001\u6587\u4EF6\u635F\u574F\u6216\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u4FDD\u7559\u6587\u4EF6\u5E76\u4FEE\u590D\u540E\u91CD\u8BD5\u3002","error.repo.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728\u6216\u5B89\u88C5\u5931\u8D25\uFF0C\u672C\u5730\u6587\u4EF6\u672A\u88AB\u8986\u76D6\u3002","error.repo.enableState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u64A4\u9500\uFF0C\u4F46\u542F\u7528\u72B6\u6001\u65E0\u6CD5\u5199\u5165\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u8BD5\u5B89\u88C5\u3002"},en:{"repo.catalog.unknownLocation":"Location unknown","repo.catalog.reassociate":"Choose destination and reinstall to reassociate","repo.catalog.unknownHint":"Some legacy catalog installs have unknown locations. Find the skill and choose a destination to reinstall and reassociate.","repo.catalog.loadMore":"Load 10 more","repo.catalog.installRefreshWarning":"Installed and enabled, but the list could not refresh. Reopen Discover Skills; do not install again.","repo.catalog.uninstallRefreshWarning":"Moved to trash, but the list could not refresh. Refresh the skill list or reopen Settings; do not uninstall again.","repo.installElsewhere":"Install elsewhere","repo.destinationUnavailable":"The original project is unregistered or unavailable. Re-register it in the sidebar and refresh to manage this copy.","repo.scope.user":"Global","repo.scope.project":"Project","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"Checking updates\u2026","repo.refreshed":"Refresh and update check completed","repo.partialRefreshFailed":"Failed to check updates for some repositories ({names}); others completed.","repo.detailLoading":"Loading skill instructions\u2026","repo.local":"Local","repo.source":"Installed from","repo.update":"Update available","repo.review":"Review update","repo.rollback":"Restore previous version","repo.confirmUpdate":"Back up and update","repo.confirmRollback":"Back up and restore","repo.overwrite":"Back up local edits and replace","repo.modified":"Local edits detected. Replacement overwrites current files and keeps a complete backup for restoration.","repo.noChanges":"No file changes.","repo.added":"Added","repo.removed":"Removed","repo.modifiedFile":"Modified","repo.updating":"Updating\u2026","repo.updateProgress":"Verifying, backing up and replacing files. Please wait\u2026","repo.updateSuccess":"Updated. Previous version backed up.","repo.rollbackSuccess":"Previous version restored.","repo.manageUpdate":"Manage updates","error.repo.modified":"Local edits detected. Review and confirm replacement with a backup.","scope.repositories":"Discover Skills","repo.add":"Add repository","repo.manage":"Manage repositories","repo.refresh":"Refresh & check updates","repo.save":"Add and scan","repo.subsource.github":"Git Repos","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"Top 100 by downloads","repo.catalog.states":"All statuses","repo.catalog.uninstalled":"Not installed","repo.catalog.searchClawhub":"Search ClawHub skills","repo.catalog.searchLoading":"Searching ClawHub\u2026","repo.catalog.searchEmpty":"No matching ClawHub skills were found.","repo.catalog.searchError":"ClawHub search failed. Please retry.","repo.catalog.searchSkillsh":"Search skills.sh","repo.catalog.skillshLoading":"Searching skills.sh\u2026","repo.catalog.skillshEmpty":"No matching skills.sh skills were found.","repo.catalog.skillshError":"skills.sh search failed. Please retry.","repo.sort.installs":"Installs: high to low","repo.sort.name":"Name A\u2013Z","repo.subsource.catalogNote":"ClawHub download ranking \xB7 Up to 100; sort only displayed items","repo.catalog.empty":"No matching skills were returned by ClawHub.","repo.catalog.loading":"Loading ClawHub ranking\u2026","repo.catalog.loadError":"Failed to load the ClawHub ranking. Check your connection and retry.","repo.catalog.retry":"Retry","repo.catalog.loadingMore":"Loading more\u2026","repo.catalog.downloads":"downloads","repo.catalog.installs":"installs","repo.catalog.stars":"stars","repo.hint":"Discover skills from subscribed Git repositories or community registries, and install them to user DSH skills or Shared Agent, or a registered project's .dsh/skills.","repo.footer":"Refresh checks repositories and skill updates without replacing local files. Historical backups are not cleaned automatically and use additional disk space.","repo.search":"Search repository skills","repo.all":"All repositories","repo.states":"All statuses","repo.available":"Available","repo.installed":"Installed","repo.conflict":"Name conflict","repo.invalid":"Invalid format","repo.install":"Install","repo.detail":"Details","repo.installing":"Installing\u2026","repo.installProgress":"Reading and verifying skill files. Please wait\u2026","repo.installSuccess":"Installed and enabled. Invoke it from the slash menu.","repo.installDestination":"Installation destination","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"For DSH only. The path uses your current DSH_HOME.","repo.rootExternalHint":"Other agents using this directory can read this skill too.","repo.installLocationsHint":"User directories offer DSH skills or Shared Agent; registered projects write only to .dsh/skills. The chooser shows actual paths. Missing directories are created after confirmation. Unsafe paths cannot be selected.","repo.uninstall":"Uninstall","repo.confirmUninstall":"Move to Trash","repo.uninstallHint":"Move only this repository\u2019s tracked installed copy, including local edits, to Trash. You can restore it from Trash later.","repo.uninstallExternalWarning":"Uninstalling this skill also affects other agents that use the selected directory.","repo.uninstalling":"Uninstalling\u2026","repo.uninstallProgress":"Moving the installed skill to Trash. Please wait\u2026","repo.uninstallSuccess":"Skill moved to Trash. You can restore it from Trash.","repo.empty":"No repositories yet. Add a Git repository to get started.","repo.noSkills":"No matching skills. Refresh the repository or adjust your filters.","repo.url":"Repository URL","repo.urlPlaceholder":"owner/repo or full Git repository URL","repo.ref":"Branch or tag (optional)","repo.directory":"Skill subdirectory (optional)","repo.defaultBranch":"Leave empty for the default branch","repo.defaultBranchLabel":"default branch","repo.directoryHint":"For example: skills. Leave empty to scan the repository.","repo.remove":"Remove repository","repo.removeHint":"This removes the subscription only. Installed skills are kept.","repo.removeConfirm":"Confirm removal","repo.cancel":"Cancel","repo.close":"Close","repo.loading":"Working\u2026","repo.success":"Completed","repo.installHint":"Skills may include scripts. Read the instructions and trust the source before installing. Resources are copied; scripts are not executed.","repo.commit":"Snapshot version","repo.notScanned":"Not scanned yet","repo.updated":"Last refreshed","repo.copyBody":"Copy body","repo.copied":"Copied","repo.copyFailed":"Copy failed","error.repo.tooLarge":"Repository exceeds size limit. Choose a smaller repository.","error.repo.transientTooLarge":"Repository transient download size exceeds limit (including Git objects). Choose a smaller repository or increase temporary limit.","error.repo.noGit":"Git command-line tool not found. Please install Git and retry.","error.repo.installState":"Skill files were preserved but source tracking could not be saved. Restore disk write access and reopen Repositories to verify files and recover the record.","error.repo.capacity":"Source tracking exceeds 16 MiB. Remove unneeded Trash records or legacy identities first. Active installation copies are kept.","error.repo.invalid":"Invalid repository URL, path or contents. Check the input and repository size.","error.repo.network":"Repository request failed. Check your connection or retry later. The previous catalog was kept.","error.repo.state":"Repository state is corrupt or unreadable. Preserve the file and repair it before retrying.","error.repo.conflict":"A skill with this name exists or installation failed. Local files were not overwritten.","error.repo.enableState":"The copied skill was removed because its enabled state could not be saved. Restore disk write access and install again."}},Mo=`
4
+ "use strict";var Po=Object.create;var Br=Object.defineProperty;var To=Object.getOwnPropertyDescriptor;var Io=Object.getOwnPropertyNames;var zo=Object.getPrototypeOf,Mo=Object.prototype.hasOwnProperty;var Ho=(a,t,l,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let u of Io(t))!Mo.call(a,u)&&u!==l&&Br(a,u,{get:()=>t[u],enumerable:!(d=To(t,u))||d.enumerable});return a};var aa=(a,t,l)=>(l=a!=null?Po(zo(a)):{},Ho(t||!a||!a.__esModule?Br(l,"default",{value:a,enumerable:!0}):l,a));var Ia=aa(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.partialRefreshFailed":"\u90E8\u5206\u4ED3\u5E93\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF08{names}\uFF09\uFF0C\u5176\u4F59\u5DF2\u5B8C\u6210","repo.detailLoading":"\u6B63\u5728\u8BFB\u53D6\u6280\u80FD\u8BF4\u660E\u2026","repo.local":"\u672C\u673A","repo.source":"\u5B89\u88C5\u6765\u6E90","repo.update":"\u53EF\u66F4\u65B0","repo.review":"\u67E5\u770B\u66F4\u65B0","repo.rollback":"\u6062\u590D\u4E0A\u4E00\u7248","repo.confirmUpdate":"\u5907\u4EFD\u5E76\u66F4\u65B0","repo.confirmRollback":"\u5907\u4EFD\u5E76\u6062\u590D","repo.overwrite":"\u5907\u4EFD\u672C\u5730\u4FEE\u6539\u5E76\u66FF\u6362","repo.modified":"\u68C0\u6D4B\u5230\u672C\u5730\u4FEE\u6539\u3002\u66FF\u6362\u4F1A\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u539F\u6587\u4EF6\u5C06\u5B8C\u6574\u5907\u4EFD\uFF0C\u53EF\u6062\u590D\u3002","repo.noChanges":"\u6587\u4EF6\u5185\u5BB9\u6CA1\u6709\u53D8\u5316\u3002","repo.added":"\u65B0\u589E","repo.removed":"\u5220\u9664","repo.modifiedFile":"\u4FEE\u6539","repo.updating":"\u66F4\u65B0\u4E2D\u2026","repo.updateProgress":"\u6B63\u5728\u6821\u9A8C\u3001\u5907\u4EFD\u5E76\u66FF\u6362\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.updateSuccess":"\u66F4\u65B0\u5B8C\u6210\uFF0C\u5DF2\u4FDD\u7559\u4E0A\u4E00\u7248\u5907\u4EFD\u3002","repo.rollbackSuccess":"\u5DF2\u6062\u590D\u4E0A\u4E00\u7248\u3002","repo.manageUpdate":"\u7BA1\u7406\u66F4\u65B0","error.repo.modified":"\u5B58\u5728\u672C\u5730\u4FEE\u6539\uFF0C\u8BF7\u9884\u89C8\u5E76\u786E\u8BA4\u5907\u4EFD\u540E\u66FF\u6362\u3002","scope.repositories":"\u53D1\u73B0\u6280\u80FD","repo.add":"\u6DFB\u52A0\u4ED3\u5E93","repo.manage":"\u7BA1\u7406\u4ED3\u5E93","repo.refresh":"\u5237\u65B0\u5E76\u68C0\u67E5\u66F4\u65B0","repo.save":"\u6DFB\u52A0\u5E76\u626B\u63CF","repo.subsource.github":"Git \u4ED3\u5E93","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"\u70ED\u95E8\u4E0B\u8F7D Top 100","repo.catalog.states":"\u5168\u90E8\u72B6\u6001","repo.catalog.uninstalled":"\u672A\u5B89\u88C5","repo.catalog.searchClawhub":"\u641C\u7D22 ClawHub \u6280\u80FD","repo.catalog.searchLoading":"\u6B63\u5728\u641C\u7D22 ClawHub\u2026","repo.catalog.searchEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 ClawHub \u6280\u80FD\u3002","repo.catalog.searchError":"ClawHub \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.catalog.searchSkillsh":"\u641C\u7D22 skills.sh \u6280\u80FD","repo.catalog.skillshLoading":"\u6B63\u5728\u641C\u7D22 skills.sh\u2026","repo.catalog.skillshEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 skills.sh \u6280\u80FD\u3002","repo.catalog.skillshError":"skills.sh \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.sort.installs":"\u5B89\u88C5\u91CF\u4ECE\u9AD8\u5230\u4F4E","repo.sort.name":"\u540D\u79F0 A-Z","repo.subsource.catalogNote":"ClawHub \u4E0B\u8F7D\u91CF\u699C \xB7 \u6700\u591A 100 \u6761\uFF0C\u4EC5\u5BF9\u5F53\u524D\u663E\u793A\u6761\u76EE\u6392\u5E8F","repo.catalog.empty":"ClawHub \u5F53\u524D\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","repo.catalog.loading":"\u6B63\u5728\u52A0\u8F7D ClawHub \u699C\u5355\u2026","repo.catalog.loadError":"ClawHub \u699C\u5355\u52A0\u8F7D\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","repo.catalog.retry":"\u91CD\u8BD5","repo.catalog.loadingMore":"\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u2026","repo.catalog.downloads":"\u4E0B\u8F7D","repo.catalog.installs":"\u5B89\u88C5","repo.catalog.stars":"\u661F\u6807","repo.hint":"\u4ECE\u5DF2\u8BA2\u9605\u7684 Git \u4ED3\u5E93\u6216\u7B2C\u4E09\u65B9\u76EE\u5F55\u53D1\u73B0\u6280\u80FD\uFF0C\u5B89\u88C5\u5230\u7528\u6237\u76EE\u5F55\u7684 DSH skills \u6216 Shared Agent\uFF0C\u6216\u5DF2\u767B\u8BB0\u9879\u76EE\u7684 .dsh/skills\u3002","repo.footer":"\u5237\u65B0\u4F1A\u68C0\u67E5\u4ED3\u5E93\u4E0E\u6280\u80FD\u66F4\u65B0\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u66FF\u6362\u672C\u5730\u6587\u4EF6\u3002\u5386\u53F2\u5907\u4EFD\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\uFF0C\u5360\u7528\u7A7A\u95F4\u4F1A\u968F\u66F4\u65B0\u589E\u52A0\u3002","repo.search":"\u641C\u7D22\u4ED3\u5E93\u6280\u80FD","repo.all":"\u5168\u90E8\u4ED3\u5E93","repo.states":"\u5168\u90E8\u72B6\u6001","repo.available":"\u53EF\u5B89\u88C5","repo.installed":"\u5DF2\u5B89\u88C5","repo.conflict":"\u540C\u540D\u51B2\u7A81","repo.invalid":"\u683C\u5F0F\u65E0\u6548","repo.install":"\u5B89\u88C5","repo.detail":"\u8BE6\u60C5","repo.installing":"\u5B89\u88C5\u4E2D\u2026","repo.installProgress":"\u6B63\u5728\u8BFB\u53D6\u5E76\u6821\u9A8C\u6280\u80FD\u6587\u4EF6\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.installSuccess":"\u5B89\u88C5\u6210\u529F\u5E76\u5DF2\u542F\u7528\uFF0C\u53EF\u5728\u5BF9\u8BDD\u4E2D\u7528\u659C\u6760\u8C03\u7528\u3002","repo.installDestination":"\u5B89\u88C5\u4F4D\u7F6E","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"\u4EC5\u4F9B DSH \u4F7F\u7528\uFF0C\u8DEF\u5F84\u4EE5\u5F53\u524D DSH_HOME \u4E3A\u51C6\u3002","repo.rootExternalHint":"\u4F7F\u7528\u8BE5\u76EE\u5F55\u7684\u5176\u4ED6 Agent \u4E5F\u80FD\u8BFB\u53D6\u6B64\u6280\u80FD\u3002","repo.installLocationsHint":"\u7528\u6237\u76EE\u5F55\u53EF\u9009 DSH skills \u6216 Shared Agent\uFF1B\u5DF2\u767B\u8BB0\u9879\u76EE\u4EC5\u5199\u5165 .dsh/skills\u3002\u9009\u62E9\u5668\u663E\u793A\u5B9E\u9645\u8DEF\u5F84\u3002\u7F3A\u5C11\u7684\u76EE\u5F55\u4F1A\u5728\u786E\u8BA4\u5B89\u88C5\u540E\u521B\u5EFA\u3002\u4E0D\u5B89\u5168\u7684\u8DEF\u5F84\u4E0D\u53EF\u9009\u3002","repo.uninstall":"\u5378\u8F7D","repo.confirmUninstall":"\u79FB\u81F3\u56DE\u6536\u7AD9","repo.uninstallHint":"\u4EC5\u5C06\u6B64\u4ED3\u5E93\u5DF2\u8DDF\u8E2A\u7684\u5B89\u88C5\u526F\u672C\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u5305\u62EC\u672C\u5730\u4FEE\u6539\u3002\u4E4B\u540E\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.uninstallExternalWarning":"\u5378\u8F7D\u8BE5\u6280\u80FD\u4E5F\u4F1A\u5F71\u54CD\u4F7F\u7528\u6240\u9009\u76EE\u5F55\u7684\u5176\u4ED6 Agent\u3002","repo.uninstalling":"\u5378\u8F7D\u4E2D\u2026","repo.uninstallProgress":"\u6B63\u5728\u5C06\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.uninstallSuccess":"\u6280\u80FD\u5DF2\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u4ED3\u5E93\uFF0C\u6DFB\u52A0\u4E00\u4E2A Git \u4ED3\u5E93\u5F00\u59CB\u3002","repo.noSkills":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002\u53EF\u5237\u65B0\u4ED3\u5E93\u6216\u8C03\u6574\u7B5B\u9009\u3002","repo.url":"\u4ED3\u5E93\u5730\u5740","repo.urlPlaceholder":"owner/repo \u6216\u5B8C\u6574 Git \u5730\u5740","repo.ref":"\u5206\u652F\u6216\u6807\u7B7E\uFF08\u53EF\u9009\uFF09","repo.directory":"\u6280\u80FD\u5B50\u76EE\u5F55\uFF08\u53EF\u9009\uFF09","repo.defaultBranch":"\u7559\u7A7A\u4F7F\u7528\u9ED8\u8BA4\u5206\u652F","repo.defaultBranchLabel":"\u9ED8\u8BA4\u5206\u652F","repo.directoryHint":"\u4F8B\u5982 skills\uFF0C\u7559\u7A7A\u626B\u63CF\u6574\u4E2A\u4ED3\u5E93","repo.remove":"\u79FB\u9664\u4ED3\u5E93","repo.removeHint":"\u4EC5\u79FB\u9664\u4ED3\u5E93\u8BA2\u9605\uFF0C\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u4F1A\u4FDD\u7559\u3002","repo.removeConfirm":"\u786E\u8BA4\u79FB\u9664","repo.cancel":"\u53D6\u6D88","repo.close":"\u5173\u95ED","repo.loading":"\u5904\u7406\u4E2D\u2026","repo.success":"\u64CD\u4F5C\u5B8C\u6210","repo.installHint":"\u6280\u80FD\u53EF\u80FD\u5305\u542B\u811A\u672C\uFF0C\u8BF7\u5148\u67E5\u770B\u8BF4\u660E\u5E76\u786E\u8BA4\u4FE1\u4EFB\u6765\u6E90\u3002\u5B89\u88C5\u4F1A\u4FDD\u7559\u8D44\u6E90\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u6267\u884C\u811A\u672C\u3002","repo.commit":"\u626B\u63CF\u7248\u672C","repo.notScanned":"\u5C1A\u672A\u626B\u63CF","repo.updated":"\u4E0A\u6B21\u5237\u65B0","repo.copyBody":"\u590D\u5236\u6B63\u6587","repo.copied":"\u5DF2\u590D\u5236","repo.copyFailed":"\u590D\u5236\u5931\u8D25","error.repo.tooLarge":"\u4ED3\u5E93\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u3002","error.repo.transientTooLarge":"\u4ED3\u5E93\u4E34\u65F6\u4E0B\u8F7D\u4F53\u79EF\u8FC7\u5927\uFF08\u5305\u542B Git \u5386\u53F2\u5BF9\u8C61\uFF09\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u6216\u63D0\u9AD8\u4E34\u65F6\u5927\u5C0F\u9650\u5236\u3002","error.repo.noGit":"\u672A\u68C0\u6D4B\u5230 Git \u547D\u4EE4\u884C\u5DE5\u5177\uFF0C\u8BF7\u5148\u5B89\u88C5 Git \u540E\u91CD\u8BD5\u3002","error.repo.installState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u4FDD\u7559\uFF0C\u4F46\u6765\u6E90\u72B6\u6001\u672A\u786E\u8BA4\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u65B0\u6253\u5F00\u4ED3\u5E93\u9875\uFF0C\u7CFB\u7EDF\u4F1A\u6821\u9A8C\u6587\u4EF6\u5E76\u6062\u590D\u8BB0\u5F55\u3002","error.repo.capacity":"\u5B89\u88C5\u6765\u6E90\u72B6\u6001\u8D85\u8FC7 16 MiB\u3002\u8BF7\u5148\u6E05\u7406\u4E0D\u9700\u8981\u7684\u56DE\u6536\u8BB0\u5F55\u6216\u65E7\u8EAB\u4EFD\uFF0C\u4ECD\u6709\u6548\u7684\u5B89\u88C5\u526F\u672C\u4F1A\u4FDD\u7559\u3002","error.repo.invalid":"\u4ED3\u5E93\u5730\u5740\u3001\u8DEF\u5F84\u6216\u5185\u5BB9\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165\u53CA\u4ED3\u5E93\u5927\u5C0F\u3002","error.repo.network":"\u4ED3\u5E93\u8BBF\u95EE\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216\u7A0D\u540E\u91CD\u8BD5\u3002\u4E0A\u6B21\u5217\u8868\u5DF2\u4FDD\u7559\u3002","error.repo.state":"\u4ED3\u5E93\u72B6\u6001\u6587\u4EF6\u635F\u574F\u6216\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u4FDD\u7559\u6587\u4EF6\u5E76\u4FEE\u590D\u540E\u91CD\u8BD5\u3002","error.repo.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728\u6216\u5B89\u88C5\u5931\u8D25\uFF0C\u672C\u5730\u6587\u4EF6\u672A\u88AB\u8986\u76D6\u3002","error.repo.enableState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u64A4\u9500\uFF0C\u4F46\u542F\u7528\u72B6\u6001\u65E0\u6CD5\u5199\u5165\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u8BD5\u5B89\u88C5\u3002"},en:{"repo.catalog.unknownLocation":"Location unknown","repo.catalog.reassociate":"Choose destination and reinstall to reassociate","repo.catalog.unknownHint":"Some legacy catalog installs have unknown locations. Find the skill and choose a destination to reinstall and reassociate.","repo.catalog.loadMore":"Load 10 more","repo.catalog.installRefreshWarning":"Installed and enabled, but the list could not refresh. Reopen Discover Skills; do not install again.","repo.catalog.uninstallRefreshWarning":"Moved to trash, but the list could not refresh. Refresh the skill list or reopen Settings; do not uninstall again.","repo.installElsewhere":"Install elsewhere","repo.destinationUnavailable":"The original project is unregistered or unavailable. Re-register it in the sidebar and refresh to manage this copy.","repo.scope.user":"Global","repo.scope.project":"Project","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"Checking updates\u2026","repo.refreshed":"Refresh and update check completed","repo.partialRefreshFailed":"Failed to check updates for some repositories ({names}); others completed.","repo.detailLoading":"Loading skill instructions\u2026","repo.local":"Local","repo.source":"Installed from","repo.update":"Update available","repo.review":"Review update","repo.rollback":"Restore previous version","repo.confirmUpdate":"Back up and update","repo.confirmRollback":"Back up and restore","repo.overwrite":"Back up local edits and replace","repo.modified":"Local edits detected. Replacement overwrites current files and keeps a complete backup for restoration.","repo.noChanges":"No file changes.","repo.added":"Added","repo.removed":"Removed","repo.modifiedFile":"Modified","repo.updating":"Updating\u2026","repo.updateProgress":"Verifying, backing up and replacing files. Please wait\u2026","repo.updateSuccess":"Updated. Previous version backed up.","repo.rollbackSuccess":"Previous version restored.","repo.manageUpdate":"Manage updates","error.repo.modified":"Local edits detected. Review and confirm replacement with a backup.","scope.repositories":"Discover Skills","repo.add":"Add repository","repo.manage":"Manage repositories","repo.refresh":"Refresh & check updates","repo.save":"Add and scan","repo.subsource.github":"Git Repos","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"Top 100 by downloads","repo.catalog.states":"All statuses","repo.catalog.uninstalled":"Not installed","repo.catalog.searchClawhub":"Search ClawHub skills","repo.catalog.searchLoading":"Searching ClawHub\u2026","repo.catalog.searchEmpty":"No matching ClawHub skills were found.","repo.catalog.searchError":"ClawHub search failed. Please retry.","repo.catalog.searchSkillsh":"Search skills.sh","repo.catalog.skillshLoading":"Searching skills.sh\u2026","repo.catalog.skillshEmpty":"No matching skills.sh skills were found.","repo.catalog.skillshError":"skills.sh search failed. Please retry.","repo.sort.installs":"Installs: high to low","repo.sort.name":"Name A\u2013Z","repo.subsource.catalogNote":"ClawHub download ranking \xB7 Up to 100; sort only displayed items","repo.catalog.empty":"No matching skills were returned by ClawHub.","repo.catalog.loading":"Loading ClawHub ranking\u2026","repo.catalog.loadError":"Failed to load the ClawHub ranking. Check your connection and retry.","repo.catalog.retry":"Retry","repo.catalog.loadingMore":"Loading more\u2026","repo.catalog.downloads":"downloads","repo.catalog.installs":"installs","repo.catalog.stars":"stars","repo.hint":"Discover skills from subscribed Git repositories or community registries, and install them to user DSH skills or Shared Agent, or a registered project's .dsh/skills.","repo.footer":"Refresh checks repositories and skill updates without replacing local files. Historical backups are not cleaned automatically and use additional disk space.","repo.search":"Search repository skills","repo.all":"All repositories","repo.states":"All statuses","repo.available":"Available","repo.installed":"Installed","repo.conflict":"Name conflict","repo.invalid":"Invalid format","repo.install":"Install","repo.detail":"Details","repo.installing":"Installing\u2026","repo.installProgress":"Reading and verifying skill files. Please wait\u2026","repo.installSuccess":"Installed and enabled. Invoke it from the slash menu.","repo.installDestination":"Installation destination","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"For DSH only. The path uses your current DSH_HOME.","repo.rootExternalHint":"Other agents using this directory can read this skill too.","repo.installLocationsHint":"User directories offer DSH skills or Shared Agent; registered projects write only to .dsh/skills. The chooser shows actual paths. Missing directories are created after confirmation. Unsafe paths cannot be selected.","repo.uninstall":"Uninstall","repo.confirmUninstall":"Move to Trash","repo.uninstallHint":"Move only this repository\u2019s tracked installed copy, including local edits, to Trash. You can restore it from Trash later.","repo.uninstallExternalWarning":"Uninstalling this skill also affects other agents that use the selected directory.","repo.uninstalling":"Uninstalling\u2026","repo.uninstallProgress":"Moving the installed skill to Trash. Please wait\u2026","repo.uninstallSuccess":"Skill moved to Trash. You can restore it from Trash.","repo.empty":"No repositories yet. Add a Git repository to get started.","repo.noSkills":"No matching skills. Refresh the repository or adjust your filters.","repo.url":"Repository URL","repo.urlPlaceholder":"owner/repo or full Git repository URL","repo.ref":"Branch or tag (optional)","repo.directory":"Skill subdirectory (optional)","repo.defaultBranch":"Leave empty for the default branch","repo.defaultBranchLabel":"default branch","repo.directoryHint":"For example: skills. Leave empty to scan the repository.","repo.remove":"Remove repository","repo.removeHint":"This removes the subscription only. Installed skills are kept.","repo.removeConfirm":"Confirm removal","repo.cancel":"Cancel","repo.close":"Close","repo.loading":"Working\u2026","repo.success":"Completed","repo.installHint":"Skills may include scripts. Read the instructions and trust the source before installing. Resources are copied; scripts are not executed.","repo.commit":"Snapshot version","repo.notScanned":"Not scanned yet","repo.updated":"Last refreshed","repo.copyBody":"Copy body","repo.copied":"Copied","repo.copyFailed":"Copy failed","error.repo.tooLarge":"Repository exceeds size limit. Choose a smaller repository.","error.repo.transientTooLarge":"Repository transient download size exceeds limit (including Git objects). Choose a smaller repository or increase temporary limit.","error.repo.noGit":"Git command-line tool not found. Please install Git and retry.","error.repo.installState":"Skill files were preserved but source tracking could not be saved. Restore disk write access and reopen Repositories to verify files and recover the record.","error.repo.capacity":"Source tracking exceeds 16 MiB. Remove unneeded Trash records or legacy identities first. Active installation copies are kept.","error.repo.invalid":"Invalid repository URL, path or contents. Check the input and repository size.","error.repo.network":"Repository request failed. Check your connection or retry later. The previous catalog was kept.","error.repo.state":"Repository state is corrupt or unreadable. Preserve the file and repair it before retrying.","error.repo.conflict":"A skill with this name exists or installation failed. Local files were not overwritten.","error.repo.enableState":"The copied skill was removed because its enabled state could not be saved. Restore disk write access and install again."}},jo=`
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-flex;align-items:center;justify-content:center;animation:dssm-spin .8s linear infinite;transform-origin:center;flex:none}.dssm-icon-action .dssm-repo-spinner{margin:0}button:not(.dssm-icon-action) .dssm-repo-spinner{margin-right:6px}@keyframes dssm-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dssm-repo-spinner{animation:none}}.dssm-repo-commit-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;line-height:16px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);margin-left:12px;white-space:nowrap;user-select:all}.dssm-repo-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-repo-panel .dssm-desc{margin:0}.dssm-repo-metadata{font-size:11px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow-wrap:anywhere}.dssm-repo-panel .dssm-source{flex-shrink:0;overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-repo-panel .dssm-source-title{font-size:14px;font-weight:650;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:7px}.dssm-repo-panel .dssm-source-brand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-panel .dssm-source-brand svg{width:16px;height:16px;display:block}.dssm-repo-panel .dssm-source-path{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-repo-panel .dssm-count{padding:1px 6px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-bg-layer-2,rgba(255,255,255,0.08));font-size:11px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-manage-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.dssm-repo-manage-row .dssm-repo-main{flex:1}.dssm-repo-manage-row .dssm-repo-actions{margin-left:auto}.dssm-repo-manage-row .dssm-repo-actions button{width:auto;flex:none}.dssm-repo-head .dssm-repo-actions{gap:8px}.dssm-repo-actions>.dssm-repo-copy-actions{display:contents}.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-repo-copies{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:2px}.dssm-repo-copy{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 4px 4px 8px;border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1,rgba(255,255,255,0.04))}.dssm-repo-copy .dssm-repo-metadata{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-copy .dssm-repo-copy-actions{margin-left:0}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger{border-color:var(--dsw-alias-border-l2,#494949)}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger:not(:disabled):hover{color:var(--dsw-alias-state-error-primary,#ef7272)!important;border-color:var(--dsw-alias-state-error-primary,#ef7272)!important}.dssm-repo-copy .dssm-repo-metadata{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dssm-location-lead{flex:0 1 auto;max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-location-path{margin-left:auto;min-width:0;max-width:50%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}`;function Or({react:a,Modal:t,Input:d,Button:c,SourceSelect:p,destination:u,api:f,headers:g,translateError:w,getLocale:S,IconLoading:C,IconRefresh:P}){let i=a.createElement,U=C||function(F){let l=F?.size||14;return i("svg",{width:l,height:l,viewBox:"0 0 16 16",fill:"none",className:F?.className,"aria-hidden":"true",strokeWidth:1.3},i("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"}))},X=P||function(F){let l=F?.size||14;return i("svg",{width:l,height:l,viewBox:"0 0 16 16",fill:"none",className:F?.className,"aria-hidden":"true",strokeWidth:1.3},i("path",{d:"M14.5001 8C14.5 9.28552 14.1188 10.5422 13.4045 11.611C12.6903 12.6799 11.6752 13.5129 10.4875 14.0049C9.29982 14.4968 7.99295 14.6255 6.73212 14.3747C5.4713 14.124 4.31314 13.505 3.4041 12.596C2.49514 11.687 1.87614 10.5288 1.62537 9.26798C1.37459 8.00716 1.50331 6.70028 1.99525 5.51261C2.48719 4.32494 3.32025 3.30981 4.3891 2.59557C5.45795 1.88134 6.71458 1.50008 8.0001 1.5C9.9001 1.5 11.7001 2.3 13.0001 3.6L14.5001 5.1",stroke:"currentColor"}),i("path",{d:"M14.4999 1.5V5.1H10.8999",stroke:"currentColor"}))};function _(me){return i("svg",{className:"dssm-fold-chevron"+(me?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},i("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}let k=c,{DestinationPicker:N,defaultDestination:oe,destinationPayload:I,destinationReady:q}=u;return function({active:F,t:l,onInstalled:T}){let[v,V]=a.useState([]),[ze,qe]=a.useState([]),[W,oa]=a.useState(!1),[fe,Bt]=a.useState(null),[vt,G]=a.useState(null),[$,Ye]=a.useState(null),[Ge,sa]=a.useState(""),[wt,Je]=a.useState(""),[kt,na]=a.useState(""),[ie,xt]=a.useState({}),[b,H]=a.useState(null),[le,lt]=a.useState(oe()),[Me,Da]=a.useState([]),[Y,ia]=a.useState("github"),[de,la]=a.useState(""),[dt,ja]=a.useState(""),[se,Xe]=a.useState(""),[St,Ct]=a.useState([]),[da,ca]=a.useState([]),[cr,Nt]=a.useState([]),[Ft,Ua]=a.useState([]),[Ce,Oa]=a.useState([]),[ct,He]=a.useState("idle");function ua(o){if(typeof navigator>"u"||!navigator.clipboard){He("failed");return}navigator.clipboard.writeText(o).then(()=>{He("copied"),setTimeout(()=>He("idle"),1500)}).catch(()=>He("failed"))}let[_e,pa]=a.useState(!0),[Rt,Vt]=a.useState(!1),[ut,ma]=a.useState(!1),[Ba,Qe]=a.useState([]),[fa,ge]=a.useState(!1),[$e,Wt]=a.useState(!1),pt=a.useRef(0),ce=a.useRef(null),mt=a.useRef(null),[At,Fa]=a.useState(""),[Kt,Va]=a.useState(""),[ft,ga]=a.useState([]),[et,ue]=a.useState(!1),[ha,qt]=a.useState(!1),ye=a.useRef(0),De=a.useRef(null),he=a.useRef(null),Ne=a.useRef({cursor:null,count:0,hasMore:!0}),Q=a.useRef(null),Wa=a.useRef(null),[Re,ba]=a.useState({url:"",ref:"",subdirectory:""}),Ae=a.useRef(!1),M=a.useRef(!0);a.useEffect(()=>(M.current=!0,()=>{M.current=!1}),[]);async function gt(){let o=await f("/repositories");if(M.current){let e=(o.installRoots||[]).filter(r=>r.key==="dsh"||r.key==="agents");V(o.repositories||[]),qe(e),ca(o.catalogInstalls||[]),Nt(o.catalogCopies||[]),Ua(o.catalogUnknownIds||[]),Oa(o.catalogWarnings||[]),le.scope==="user"&&!e.some(r=>r.key===le.location&&r.available)&&lt({...le,location:e.find(r=>r.available)?.key||"dsh"}),f("/workspaces").then(r=>{M.current&&Da(r.items||[])}).catch(()=>{})}}function ur(o){if(o.key==="dsh"||o.key==="agents")return l(o.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let e="root."+(o.localeKey||o.key),r=l(e);return r===e?o.label:r}function Ka(o){let e=ze.find(r=>r.key===o);return e?ur(e):l("root."+o)}function je(o){if(o.installedWorkspace){let e=n=>{let m=n.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(m)?m.toLowerCase():m},r=Me.find(n=>n.projectRoot&&e(n.projectRoot)===e(o.installedWorkspace));return r?.available&&r.registeredPaths[0]?{workspace:r.registeredPaths[0]}:null}return o.installedRoot==="dsh"||o.installedRoot==="agents"?{root:o.installedRoot}:null}function ya(o){return o.installedWorkspace||o.installedRoot?Et(o):""}function qa(o){let e=o.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(e)?e.toLowerCase():e}function va(o){let e=Me.find(m=>m.projectRoot&&qa(m.projectRoot)===qa(o));if(e?.name)return e.name;let r=o.replace(/[\\/]+$/,""),n=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));return n>=0?r.slice(n+1):r}function wa(o){let e=!!o.installedWorkspace,r=e?"dsh":o.installedRoot,n=l(r==="agents"?"repo.source.agents":"repo.source.dsh"),m=l(e?"repo.scope.project":"repo.scope.user"),h=e?o.installedWorkspace||"":ze.find(x=>x.key===r)?.path||"";return{lead:e?[m,va(o.installedWorkspace||""),n].filter(Boolean).join(" \xB7 "):[m,n].filter(Boolean).join(" \xB7 "),path:h}}function Et(o){let e=wa(o);return e.path?e.lead+" "+e.path:e.lead}function tt(o){let e=wa(o);return i("div",{className:"dssm-repo-metadata",title:Et(o)},i("span",{className:"dssm-location-lead"},e.lead),e.path?i("span",{className:"dssm-location-path",title:e.path},e.path):null)}function Lt(o){return o.slice().sort((e,r)=>+!!e.installedWorkspace-+!!r.installedWorkspace)}function ht(o){return Lt((o.installations??(o.installedRoot?[o]:[])).filter(e=>e.tracked===!0))}function ka(o){let e=o,r=w(l,o)||e.message||String(o),n=e?.params?.path;return typeof n=="string"&&n&&!r.includes(n)?r+" \xB7 "+n:r}function Qt(o){if(o.payload)return ka(o.payload);if(o.key){let e=o.params||(o.name?{name:o.name,names:o.name}:void 0),r=l(o.key,e),n=o.name&&!r.includes(o.name)?" \xB7 "+o.name:"";return r+n}return o.text||""}async function Z(o,e=!0,r=!1){if(!Ae.current){Ae.current=!0,r||(oa(!0),G(null));try{await o(),e&&await gt()}catch(n){let m=n;M.current&&G({error:!0,payload:m})}finally{Ae.current=!1,M.current&&oa(!1)}}}function ee(o,e){return f(`/repositories/${o}`,{method:"POST",headers:g,body:JSON.stringify(e)})}let Pt=a.useRef(!1);async function at(o=!1,e=!1,r=de){if(!F||r.trim()||Q.current||e&&Pt.current)return;let n=Ne.current;if(!o&&(!n.hasMore||n.count>=100))return;e&&(Pt.current=!0);let m=o?0:n.count,h=new AbortController;Q.current=h,Vt(!0),ma(!1),o&&(Ne.current={cursor:null,count:0,hasMore:!0},Ct([]));try{let y=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-m))}),x=o?null:n.cursor;x&&y.set("cursor",x);let z=await f(`/clawhub/list?${y.toString()}`,{signal:h.signal});if(Q.current!==h||h.signal.aborted||!M.current)return;if(!Array.isArray(z.items))throw new Error("ClawHub response has no items array");let O=z.items.flatMap(j=>{if(typeof j.ownerHandle!="string"||!j.ownerHandle||typeof j.slug!="string"||!j.slug)return[];let R=K=>typeof K=="number"&&Number.isFinite(K)?K:void 0;return[{id:j.ownerHandle+"/"+j.slug,owner:j.ownerHandle,slug:j.slug,name:typeof j.displayName=="string"&&j.displayName?j.displayName:j.slug,source:j.ownerHandle+"/"+j.slug,description:typeof j.summary=="string"?j.summary:"",downloads:R(j.stats?.downloads),installs:R(j.stats?.installs),stars:R(j.stats?.stars)}]}).slice(0,Math.max(0,100-m)),D=typeof z.nextCursor=="string"&&z.nextCursor?z.nextCursor:null,be=m+O.length;if(Ne.current={cursor:D,count:be,hasMore:!!D&&be<100},!M.current)return;Ct(j=>[...o?[]:j,...O].slice(0,100)),pa(Ne.current.hasMore)}catch{Q.current===h&&!h.signal.aborted&&M.current&&ma(!0)}finally{Q.current===h&&(Q.current=null,Pt.current=!1,M.current&&Vt(!1))}}function Qa(){mt.current&&clearTimeout(mt.current),mt.current=null,pt.current++,ce.current?.abort(),ce.current=null,M.current&&ge(!1)}async function xa(o){let e=++pt.current,r=new AbortController;ce.current?.abort(),ce.current=r,Qe([]),ge(!0),Wt(!1);try{let n=new URLSearchParams({q:o,limit:"100"}),m=await f(`/clawhub/search?${n.toString()}`,{signal:r.signal});if(!Array.isArray(m.results))throw new Error("ClawHub search response has no results array");let h=x=>typeof x=="number"&&Number.isFinite(x)?x:void 0,y=m.results.flatMap(x=>{if(typeof x.source=="string"&&x.source!=="clawhub")return[];let z=typeof x.ownerHandle=="string"?x.ownerHandle:x.owner?.handle;return typeof z!="string"||!z||typeof x.slug!="string"||!x.slug?[]:[{id:typeof x.id=="string"?x.id:z+"/"+x.slug,owner:z,slug:x.slug,name:typeof x.displayName=="string"&&x.displayName?x.displayName:x.slug,source:z+"/"+x.slug,description:typeof x.summary=="string"?x.summary:"",downloads:h(x.downloads)??h(x.stats?.downloads),installs:h(x.stats?.installs),stars:h(x.stats?.stars)}]});e===pt.current&&M.current&&Qe(y)}catch(n){let m=n?.name==="AbortError";e===pt.current&&M.current&&!m&&Wt(!0)}finally{e===pt.current&&(ce.current=null,M.current&&ge(!1))}}function Tt(o){la(o),Qa(),Qe([]),Wt(!1);let e=o.trim().slice(0,100);if(!e){Y==="clawhub"&&!St.length&&!Rt&&at(!0,!1,e);return}ge(!0),mt.current=setTimeout(()=>{mt.current=null,xa(e)},300)}function Sa(){he.current&&clearTimeout(he.current),he.current=null,ye.current++,De.current?.abort(),De.current=null,M.current&&ue(!1)}async function Zt(o){let e=++ye.current,r=new AbortController;De.current?.abort(),De.current=r,ga([]),ue(!0),qt(!1);try{let n=await f(`/skills-sh/search?q=${encodeURIComponent(o)}`,{signal:r.signal});e===ye.current&&M.current&&ga(n.skills)}catch(n){let m=n?.name==="AbortError";e===ye.current&&M.current&&!m&&qt(!0)}finally{e===ye.current&&(De.current=null,M.current&&ue(!1))}}function Ue(o){Fa(o),he.current&&clearTimeout(he.current),he.current=null,ye.current++,De.current?.abort(),De.current=null,ga([]),ue(!1),qt(!1);let e=o.trim();e&&(he.current=setTimeout(()=>{he.current=null,Zt(e)},300))}function Oe(o){H(null),ia(o)}function pr(o){let e=o.getBoundingClientRect(),r=o.parentElement;for(;r;){let n=getComputedStyle(r);if(/(auto|scroll)/.test(`${n.overflowY} ${n.overflow}`)&&r.scrollHeight>r.clientHeight+1){let m=r.getBoundingClientRect();return e.top<=m.bottom+80&&e.bottom>=m.top}r=r.parentElement}return e.top<=window.innerHeight+80}function Yt(o){if(b||o.defaultPrevented||o.deltaY<=0||Y!=="clawhub"||de.trim()||!_e||ut||!o.target||!o.currentTarget.contains(o.target))return;let e=Wa.current;!e||typeof e.getBoundingClientRect!="function"||!pr(e)||at(!1,!0)}async function It(o){let e=await ee("refresh",{id:o}),r=e.error||e.data?.error;r&&G({error:!0,payload:r})}function Gt(o){return Z(async()=>{let e=[],r;try{for(let n=0;n<o.length;n++){let m=o[n];Bt({id:m.id,name:m.owner+"/"+m.name,index:n+1,total:o.length});let h=await ee("refresh",{id:m.id}),y=h.error||h.data?.error;y&&(e.push(m.owner+"/"+m.name),r=y)}if(await gt(),M.current)if(e.length===0)G({key:"repo.refreshed"});else if(e.length===o.length)G({error:!0,payload:r});else{let m=(S?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?", ":"\u3001";G({error:!0,key:"repo.partialRefreshFailed",params:{names:e.join(m)}})}}finally{M.current&&Bt(null)}},!1,!0)}function mr(o,e){return Z(async()=>{He("idle"),H({type:"detail",repo:o,loading:!0});try{let r=await ee("detail",{id:o.id,path:e.path});M.current&&H({type:"detail",detail:r,repo:o})}catch(r){let n=r;throw M.current&&H({type:"detail",repo:o,failed:!0}),n}},!1,!0)}function Za(o){return Z(async()=>{He("idle"),H({type:"catalog-detail",loading:!0});try{let e=await f("/catalog/detail",{method:"POST",headers:g,body:JSON.stringify(o)});M.current&&H({type:"catalog-detail",detail:e})}catch(e){let r=e;throw M.current&&H({type:"catalog-detail",failed:!0}),r}},!1,!0)}function rt(o){Ae.current||(G(null),H({type:"catalog-install",target:o}))}function fr(){if(!b||b.type!=="catalog-install"||!q(le,Me,ze))return;let o=b.target,e=I(le);return Z(async()=>{let r=await f("/catalog/install",{method:"POST",headers:g,body:JSON.stringify({...o,...e})});if(!M.current)return;let n=o.catalog==="skillsh"?`skillsh:${o.source}/${o.skillId}`:`clawhub:${o.owner}/${o.slug}`;ca(y=>y.includes(n)?y:[...y,n]);let m=e.root||"dsh";Nt(y=>y.some(x=>x.id===n&&x.installedRoot===m&&x.installedWorkspace===e.workspace)?y:[...y,{id:n,name:r.name,installedRoot:m,...e.workspace?{installedWorkspace:e.workspace}:{},canUninstall:!0}]),G({key:"repo.installSuccess",name:o.name}),H(null);let h=await Promise.allSettled([gt(),Promise.resolve().then(()=>T?.())]);M.current&&h.some(y=>y.status==="rejected")&&G({key:"repo.catalog.installRefreshWarning",name:o.name})},!1)}a.useEffect(()=>{F&&Z(gt,!1)},[F]),a.useEffect(()=>(F&&(Y==="clawhub"?de.trim()?xa(de.trim()):St.length||at(!0):Y==="skillsh"&&At.trim()&&Zt(At.trim())),()=>{Qa(),Sa(),Q.current?.abort(),Q.current=null,Pt.current=!1,M.current&&Vt(!1)}),[F,Y]);function ae(o,e,r=!0,n=!1,m=!1){return i(k,{variant:r?"outline":"primary",className:m?"dssm-btn-danger":void 0,disabled:W||n,onClick:e},l(o))}function Ya(o){return i("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},i("path",{d:o,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function ke(o,e,r=!1,n){var m=o==="repo.uninstall"||o==="repo.uninstalling"||o==="repo.remove",h=o==="repo.installed"||o==="repo.installedSuccess",y=o==="repo.conflict",x=o==="repo.refresh"||o==="repo.refreshing",z=x?null:o==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":o==="repo.installElsewhere"?"M8 3v10M3 8h10":o==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":o==="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":o==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":m?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":y?"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",O=x?i(X,{size:14}):Ya(z);return i(k,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(m?" dssm-icon-danger":h?" dssm-icon-success":y?" dssm-icon-warn":""),"aria-label":l(o),title:n||l(o),icon:O,disabled:W||r,onClick:e,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},m?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},m?{danger:!0}:{}))}function gr(o){H({type:"remove",repo:o})}function Ga(o){let e=o.url||"",r="GitHub",n="0 0 16 16",m="M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z";/gitee\.com/i.test(e)?(r="Gitee",n="0 0 24 24",m="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):/gitlab(\.|\/)/i.test(e)?(r="GitLab",n="0 0 24 24",m="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):e&&!/github\.com/i.test(e)&&(r="Git",n="0 0 24 24",m="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187");let y=(S?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?" repository":" \u4ED3\u5E93";return i("span",{className:"dssm-source-brand",title:r+y},i("svg",{viewBox:n,width:16,height:16,fill:"currentColor","aria-hidden":!0},i("path",{d:m})))}function hr(o){return fe&&fe.id===o.id?i(k,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":l("repo.refreshing"),title:l("repo.refreshing"),icon:i(U,{size:14,className:"dssm-repo-spinner"}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):ke("repo.refresh",()=>Gt([o]))}function Ja(){return v.length?v.map(o=>i("div",{key:o.id,className:"dssm-repo-row dssm-repo-manage-row"},i("div",{className:"dssm-repo-main"},i("div",{className:"dssm-name",style:{display:"flex",alignItems:"center",gap:"6px"}},Ga(o),i("span",null,o.owner+"/"+o.name)),i("div",{className:"dssm-note"},[o.ref||l("repo.defaultBranch"),o.subdirectory].filter(Boolean).join(" \xB7 ")),i("div",{className:"dssm-repo-metadata"},o.refreshedAt?l("repo.updated")+" \xB7 "+new Date(o.refreshedAt).toLocaleString(S?.()||l("format.locale")):l("repo.notScanned"))),i("div",{className:"dssm-repo-actions"},hr(o),ke("repo.remove",()=>gr(o))))):i("div",{className:"dssm-empty"},l("repo.empty"))}function Jt(o,e=!1){let r=fe&&(!e||fe.id===o[0]?.id);return i(k,{variant:"outline",disabled:W||!!fe||!o.length,"aria-busy":!!r,onClick:()=>Gt(o)},r?i(U,{size:14,className:"dssm-repo-spinner"}):null,l(r?"repo.refreshing":"repo.refresh"))}function ot(){Ae.current||(He("idle"),H(null))}function zt(o,e,r,n){Ae.current||o==="uninstall"&&(!n||!n.canUninstall||!je(n))||(G(null),H({type:o,repo:e,skill:r,copy:n}))}function Xa(){if(!b||b.type!=="install"&&b.type!=="uninstall")return;let o=b,e=o.type,r=le;if(e==="install"&&!q(r,Me,ze))return;let n=e==="install"?I(r):o.copy&&je(o.copy);if(n)return Z(async()=>{let m={id:o.repo.id,path:o.skill.path,...n};Ye({...m,action:e,pending:!0,key:"repo."+e+"Progress"});try{await ee(e,m)}catch(x){let z=x;throw M.current&&Ye({...m,action:e,error:!0,payload:z}),z}if(!M.current)return;let h="repo."+e+"Success";Ye({...m,action:e,key:h}),G({key:h,name:o.skill.name}),H(null);let y=await Promise.allSettled([gt(),Promise.resolve().then(()=>T?.())]);for(let x of y)if(x.status==="rejected")throw x.reason},!1)}function _a(o,e,r,n=!1){let m=je(r);if(!(!m||(n?!r.canRollback:!r.tracked)))return Z(async()=>{let h=await ee("preview",{id:o.id,path:e.path,...m,rollback:n});H({type:n?"rollback":"review",repo:o,skill:e,copy:r,detail:h})})}function br(){if(!b||b.type!=="review"&&b.type!=="rollback")return;let o=b,e=o.type==="rollback",r=je(o.copy);if(r)return Z(async()=>{let n={id:o.repo.id,path:o.skill.path,...r};Ye({...n,pending:!0,key:"repo.updateProgress"});try{await ee(e?"rollback":"update",{...n,token:o.detail.token,overwrite:o.detail.localModified})}catch(h){let y=h;throw M.current&&Ye({...n,error:!0,payload:y}),y}if(!M.current)return;let m=e?"repo.rollbackSuccess":"repo.updateSuccess";Ye({...n,key:m}),G({key:m}),H(null),T&&await T()})}function Xt(o,e,r){return i(k,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:W,"aria-label":l(o),title:l(o),icon:Ya(e),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:r})}function yr(o){let e=fe&&fe.id===o[0]?.id;return i(k,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:W||!o.length,"aria-busy":!!e,"aria-label":l(e?"repo.refreshing":"repo.refresh"),title:l(e?"repo.refreshing":"repo.refresh"),icon:e?i(U,{size:14,className:"dssm-repo-spinner"}):i(X,{size:14}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>Gt(o)})}function vr(){return i("div",{className:"dssm-filter-actions"},yr(v),Xt("repo.add","M8 2.5v11M2.5 8h11",()=>{G(null),ba({url:"",ref:"",subdirectory:""}),H({type:"add"})}),Xt("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{G(null),H({type:"manage"})}))}let wr=i("div",{key:"repository-actions",className:"dssm-actions"},Jt(v),ae("repo.add",()=>{G(null),ba({url:"",ref:"",subdirectory:""}),H({type:"add"})},!1),ae("repo.manage",()=>{G(null),H({type:"manage"})})),kr=v.filter(o=>!wt||o.id===wt);function xr(o,e,r){let n=je(r),m=$?.id===o.id&&$.path===e.path&&$.pending&&n&&$.root===n.root&&$.workspace===n.workspace;return i("div",{className:"dssm-repo-copy-actions"},r.tracked&&(r.updateAvailable||r.status==="conflict")?ke("repo.review",()=>_a(o,e,r),!n):null,r.canRollback?ke("repo.rollback",()=>_a(o,e,r,!0),!n):null,r.canUninstall?ke(m&&$.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>zt("uninstall",o,e,r),!n,Et(r)):null)}function $a(o,e,r){let n=je(r);return i("div",{className:"dssm-repo-copy",key:JSON.stringify([r.installedRoot,r.installedWorkspace||""])},tt(r),xr(o,e,r),n?null:i("div",{className:"dssm-note",role:"status"},l("repo.destinationUnavailable")))}let Sr=kr.map(o=>{let e=Ge.trim().toLowerCase(),r=o.skills.filter(h=>(!kt||h.status===kt)&&(!e||`${h.name} ${h.description} ${o.owner}/${o.name}`.toLowerCase().includes(e))),n=ie[o.id]===void 0?!!e||!!kt:ie[o.id],m=n?r.length?r.map(h=>{let y=ht(h),x=y.length===1?y[0]:void 0;return i("div",{key:h.path,className:"dssm-repo-row"},i("div",{className:"dssm-repo-head"},i("div",{className:"dssm-repo-main"},i("div",{className:"dssm-name"},h.name),i("div",{className:"dssm-repo-description",title:h.description},h.description),x&&!je(x)?i("div",{className:"dssm-note",role:"status"},l("repo.destinationUnavailable")):null,$?.id===o.id&&$.path===h.path?i("div",{className:"dssm-note"+($.error?" dssm-error":""),role:$.error?"alert":"status","aria-live":"polite"},Qt($)):null),i("div",{className:"dssm-repo-actions"},ke("repo.detail",()=>mr(o,h)),ke($?.id===o.id&&$.path===h.path&&$.pending&&$.action==="install"?"repo.installing":y.length?"repo.installElsewhere":"repo."+(h.status==="available"?"install":h.status),()=>zt("install",o,h),!y.length&&h.status!=="available"))),y.length?i("div",{className:"dssm-repo-copies"},y.map(z=>$a(o,h,z))):null)}):i("div",{className:"dssm-empty"},l("repo.noSkills")):null;return i("div",{key:o.id},i("section",{className:"dssm-source"},i("div",{className:"dssm-source-head"},i("button",{type:"button",className:"dssm-source-toggle","aria-expanded":n,onClick:()=>xt({...ie,[o.id]:!n})},_(n),i("div",{className:"dssm-source-label"},Ga(o),i("span",{className:"dssm-source-title"},o.owner+"/"+o.name),i("span",{className:"dssm-count"},r.length),i("span",{className:"dssm-source-path",title:o.owner+"/"+o.name},[o.ref||l("repo.defaultBranchLabel"),o.subdirectory].filter(Boolean).join(" \xB7 ")||o.owner+"/"+o.name))),i("span",{className:"dssm-repo-commit-badge",title:o.commit||l("repo.notScanned")},o.commit?o.commit.slice(0,7):l("repo.notScanned"))),n?i("div",{className:"dssm-source-body",role:"region"},m):null),o.error?i("div",{className:"dssm-feedback dssm-error",role:"alert"},ka(o.error)):null)});function Mt(o,e,r,n){return i(p,{label:l(o),value:e,onChange:r,options:[{value:"",label:l(o)},...n.map(([m,h])=>({value:m,label:h}))]})}let xe=vt?i("div",{className:"dssm-feedback"+(vt.error?" dssm-error":""),role:vt.error?"alert":"status"},Qt(vt)):null,er=fe?i("div",{className:"dssm-note",role:"status","aria-live":"polite"},l("repo.refreshing")+" "+fe.index+"/"+fe.total+" \xB7 "+fe.name):null,ve;if(b){let o,e,r;if(b.type==="install"&&(o=i("div",{className:"dssm-repo-panel","aria-busy":W},i("div",{className:"dssm-name"},b.skill.name),i(N,{t:l,value:le,disabled:W,allowAgents:!0,workspaces:Me,userDestinations:ze,onChange:n=>{Ae.current||lt({...le,...n})}}),i("p",{className:"dssm-note"},l("repo.installLocationsHint")),i("p",{className:"dssm-note"},l("repo.installHint")),W?i("div",{role:"status","aria-live":"polite"},l("repo.installProgress")):null,xe,i("div",{className:"dssm-modal-actions"},ae("repo.cancel",ot),ae(W?"repo.installing":"repo.install",Xa,!1,!q(le,Me,ze))))),b.type==="uninstall"&&(e=l("repo.uninstallHint"),o=i("div",{className:"dssm-repo-panel","aria-busy":W},i("div",{className:"dssm-name"},b.skill.name),b.copy?i("div",{className:"dssm-repo-metadata"},ya(b.copy)):null,b.copy?.installedRoot==="agents"&&!b.copy.installedWorkspace?i("p",{className:"dssm-feedback dssm-warning",role:"alert"},l("repo.uninstallExternalWarning")):null,W?i("div",{role:"status","aria-live":"polite"},l("repo.uninstallProgress")):null,xe),r=i(a.Fragment,null,ae("repo.cancel",ot),ae(W?"repo.uninstalling":"repo.confirmUninstall",Xa,!0,!b.copy||!je(b.copy),!0))),(b.type==="review"||b.type==="rollback")&&(o=i("div",{className:"dssm-repo-panel"},i("div",{className:"dssm-name"},b.skill.name),i("div",{className:"dssm-repo-metadata"},ya(b.copy)),i("div",{className:"dssm-repo-metadata"},b.repo.owner+"/"+b.repo.name+" \xB7 "+b.detail.commit?.slice(0,7)),b.detail.localModified?i("p",{className:"dssm-feedback dssm-warning",role:"alert"},l("repo.modified")):null,b.detail.changes.length?i("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},b.detail.changes.map(n=>i("li",{key:n.path},l("repo."+(n.kind==="modified"?"modifiedFile":n.kind))+" \xB7 "+n.path))):i("p",null,l("repo.noChanges")),W?i("div",{role:"status"},l("repo.updateProgress")):null,xe),r=i(a.Fragment,null,ae("repo.cancel",ot),ae(b.detail.localModified?"repo.overwrite":b.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",br,!1,!b.detail.changes.length||!je(b.copy)))),b.type==="add"&&(o=i("form",{className:"dssm-form",onSubmit:n=>{n.preventDefault(),Re.url.trim()&&Z(async()=>{let m=await ee("add",Re);await It(m.id),H(null)})}},[["url","repo.url",l("repo.urlPlaceholder")],["ref","repo.ref",l("repo.defaultBranch")],["subdirectory","repo.directory",l("repo.directoryHint")]].map(([n,m,h])=>i("label",{className:"dssm-field",key:n},i("span",{className:"dssm-label"},l(m)),i(d,{"aria-label":l(m),value:Re[n],placeholder:h,maxLength:n==="url"?2048:512,required:n==="url",disabled:W,onChange:y=>ba({...Re,[n]:y.target.value})}))),xe,i("div",{className:"dssm-modal-actions"},ae("repo.cancel",ot),ae("repo.save",()=>{Re.url.trim()&&Z(async()=>{let n=await ee("add",Re);await It(n.id),H(null)})},!1,!Re.url.trim())))),b.type==="manage"&&(o=i("div",{className:"dssm-repo-panel"},i("p",{className:"dssm-desc"},l("repo.removeHint")),er,xe,Ja())),b.type==="remove"&&(e=l("repo.removeHint"),o=i("div",null,i("div",{className:"dssm-name"},b.repo.owner+"/"+b.repo.name),xe),r=i(a.Fragment,null,ae("repo.cancel",()=>H({type:"manage"})),ae("repo.removeConfirm",()=>Z(async()=>{await ee("remove",{id:b.repo.id}),wt===b.repo.id&&Je(""),H({type:"manage"})}),!0,!1,!0))),b.type==="catalog-detail"&&b.detail){let n=b.detail;o=i("div",{className:"dssm-repo-panel"},i("div",{className:"dssm-detail-head"},i("div",{className:"dssm-name",title:n.name},n.name),n.body?i(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ua(n.body)},l(ct==="copied"?"repo.copied":ct==="failed"?"repo.copyFailed":"repo.copyBody")):null),i("p",{className:"dssm-desc"},n.description),i("div",{className:"dssm-detail-path"},n.origin),i("p",{className:"dssm-note"},l("repo.installHint")),i(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:n.body||"",rows:16}))}if(b.type==="catalog-detail"&&!b.detail&&(o=i("div",{role:"status",className:"dssm-repo-panel"},b.loading?l("repo.detailLoading"):null,b.failed?xe:null)),b.type==="catalog-install"&&(o=i("div",{className:"dssm-repo-panel","aria-busy":W},i("div",{className:"dssm-name"},b.target.name),i(N,{t:l,value:le,disabled:W,allowAgents:!0,workspaces:Me,userDestinations:ze,onChange:n=>{Ae.current||lt({...le,...n})}}),i("p",{className:"dssm-note"},l("repo.installLocationsHint")),i("p",{className:"dssm-note"},l("repo.installHint")),W?i("div",{role:"status","aria-live":"polite"},l("repo.installProgress")):null,xe,i("div",{className:"dssm-modal-actions"},ae("repo.cancel",ot),ae(W?"repo.installing":"repo.install",fr,!1,!q(le,Me,ze))))),b.type==="catalog-uninstall"&&(e=l("repo.uninstallHint"),o=i("div",{className:"dssm-repo-panel","aria-busy":W},i("div",{className:"dssm-name"},b.copy.name),i("div",{className:"dssm-repo-metadata"},te(b.copy)),b.copy.installedRoot==="agents"&&!b.copy.installedWorkspace?i("p",{className:"dssm-feedback dssm-warning",role:"alert"},l("repo.uninstallExternalWarning")):null,W?i("div",{role:"status","aria-live":"polite"},l("repo.uninstallProgress")):null,xe),r=i(a.Fragment,null,ae("repo.cancel",ot),ae(W?"repo.uninstalling":"repo.confirmUninstall",_t,!0,!1,!0))),b.type==="detail"&&b.detail){let n=b.detail;o=i("div",{className:"dssm-repo-panel"},i("div",{className:"dssm-detail-head"},i("div",{className:"dssm-name",title:n.name},n.name),n.body?i(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ua(n.body)},l(ct==="copied"?"repo.copied":ct==="failed"?"repo.copyFailed":"repo.copyBody")):null),i("p",{className:"dssm-desc"},n.description),i("div",{className:"dssm-detail-path"},b.repo.owner+"/"+b.repo.name+" \xB7 "+n.path),i("div",{className:"dssm-repo-metadata"},l("repo.commit")+" \xB7 "+n.commit),i("p",{className:"dssm-note"},l("repo.installHint")),i(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:n.body||"",rows:16}))}b.type==="detail"&&!b.detail&&(o=i("div",{role:"status",className:"dssm-repo-panel"},b.loading?l("repo.detailLoading"):null,b.failed?xe:null)),ve=i(t,{className:b.type==="detail"||b.type==="catalog-detail"?"dssm-modal-wide":void 0,title:l("repo."+(b.type==="catalog-detail"?"detail":b.type==="catalog-install"?"install":b.type==="catalog-uninstall"?"uninstall":b.type==="remove"?"remove":b.type)),description:e,footer:r,closeLabel:l("repo.close"),onClose:ot},o)}function Be(o){return da.includes(o)||Fe(o).length>0}function Fe(o){return Lt(cr.filter(e=>e.id===o))}function te(o){return Et(o)}function tr(o){!Ae.current&&o.canUninstall&&(G(null),H({type:"catalog-uninstall",copy:o}))}function _t(){if(!b||b.type!=="catalog-uninstall")return;let o=b.copy;return Z(async()=>{if(await f("/delete",{method:"POST",headers:g,body:JSON.stringify({name:o.name,root:o.installedRoot,...o.installedWorkspace?{workspace:o.installedWorkspace}:{}})}),!M.current)return;Nt(r=>r.filter(n=>n!==o&&!(n.id===o.id&&n.installedRoot===o.installedRoot&&n.installedWorkspace===o.installedWorkspace))),G({key:"repo.uninstallSuccess",name:o.name}),H(null);let e=await Promise.allSettled([gt(),Promise.resolve().then(()=>T?.())]);M.current&&e.some(r=>r.status==="rejected")&&G({key:"repo.catalog.uninstallRefreshWarning",name:o.name})},!1)}function st(o,e,r,n){let m=Fe(o);return i("div",{className:"dssm-repo-actions"},ke("repo.detail",r),e&&!m.length?i("span",{className:"dssm-note",role:"status"},l("repo.catalog.unknownLocation")):null,m.length?ke("repo.installElsewhere",n):Be(o)?i("span",{className:"dssm-catalog-installed",role:"status"},l("repo.installed")):ke(e?"repo.catalog.reassociate":"repo.install",n))}function bt(o){let e=Fe(o);return e.length?i("div",{className:"dssm-repo-copies"},e.map(r=>i("div",{className:"dssm-repo-copy",key:JSON.stringify([r.id,r.installedRoot,r.installedWorkspace||""])},tt(r),r.canUninstall?ke("repo.uninstall",()=>tr(r),!1,Et(r)):null))):null}let $t=St.filter(o=>{let e=Be(`clawhub:${o.owner}/${o.slug}`);return!se||(se==="installed"?e:!e)}),Ca=dt==="installs"?$t.slice().sort((o,e)=>(e.installs||0)-(o.installs||0)):dt==="name"?$t.slice().sort((o,e)=>o.name.localeCompare(e.name)):$t,Ee=o=>{let e=Ft.includes(`clawhub:${o.owner}/${o.slug}`),r=[o.source,o.downloads===void 0?null:o.downloads.toLocaleString()+" "+l("repo.catalog.downloads"),o.installs===void 0?null:o.installs.toLocaleString()+" "+l("repo.catalog.installs"),o.stars===void 0?null:o.stars.toLocaleString()+" "+l("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return i("div",{key:o.id,className:"dssm-repo-row"},i("div",{className:"dssm-repo-head"},i("div",{className:"dssm-repo-main"},i("div",{className:"dssm-name"},o.name),o.description?i("div",{className:"dssm-repo-description",title:o.description},o.description):null,i("div",{className:"dssm-meta-origin"},r)),st(`clawhub:${o.owner}/${o.slug}`,e,()=>Za({catalog:"clawhub",owner:o.owner,slug:o.slug,name:o.name}),()=>rt({catalog:"clawhub",owner:o.owner,slug:o.slug,name:o.name}))),bt(`clawhub:${o.owner}/${o.slug}`))},ea=i("div",{className:"dssm-catalog-list",onWheel:Yt},Ca.map(Ee),!Ca.length&&!Rt&&!ut?i("div",{className:"dssm-empty"},l("repo.catalog.empty")):null,Rt?i("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},i("span",{className:"dssm-repo-spinner","aria-hidden":!0}),St.length?l("repo.catalog.loadingMore"):l("repo.catalog.loading")):null,ut?i("div",{className:"dssm-feedback dssm-error",role:"alert"},l("repo.catalog.loadError"),i(k,{variant:"ghost",size:"sm",onClick:()=>{at()}},l("repo.catalog.retry"))):null,Y==="clawhub"&&!de.trim()&&_e&&!ut?i("div",{className:"dssm-catalog-sentinel",ref:Wa,"aria-hidden":!0}):null,Y==="clawhub"&&!de.trim()&&_e&&!ut&&!Rt?i("div",{className:"dssm-catalog-loading"},i(k,{variant:"ghost",size:"sm",onClick:()=>{at(!1,!0)}},l("repo.catalog.loadMore"))):null),ar=i("div",{className:"dssm-catalog-list"},Ba.map(Ee),de.trim()&&!Ba.length&&!fa&&!$e?i("div",{className:"dssm-empty"},l("repo.catalog.searchEmpty")):null,fa?i("div",{className:"dssm-note",role:"status","aria-live":"polite"},l("repo.catalog.searchLoading")):null,$e?i("div",{className:"dssm-feedback dssm-error",role:"alert"},l("repo.catalog.searchError"),i(k,{variant:"ghost",size:"sm",onClick:()=>{xa(de.trim())}},l("repo.catalog.retry"))):null),Na=ft.filter(o=>{if(!Kt)return!0;let e=Be(`skillsh:${o.source}/${o.skillId}`);return Kt==="installed"?e:!e}),Ra=i("div",{className:"dssm-catalog-list"},Na.map(o=>{let e=`skillsh:${o.source}/${o.skillId}`,r=Ft.includes(e),n=[o.source,o.installs===void 0?null:o.installs.toLocaleString()+" "+l("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return i("div",{key:o.id,className:"dssm-repo-row"},i("div",{className:"dssm-repo-head"},i("div",{className:"dssm-repo-main"},i("div",{className:"dssm-name"},o.name),i("div",{className:"dssm-meta-origin"},n)),st(e,r,()=>Za({catalog:"skillsh",source:o.source,skillId:o.skillId,name:o.name}),()=>rt({catalog:"skillsh",source:o.source,skillId:o.skillId,name:o.name}))),bt(e))}),At.trim()&&!Na.length&&!et&&!ha?i("div",{className:"dssm-empty"},l("repo.catalog.skillshEmpty")):null,et?i("div",{className:"dssm-note",role:"status","aria-live":"polite"},l("repo.catalog.skillshLoading")):null,ha?i("div",{className:"dssm-feedback dssm-error",role:"alert"},l("repo.catalog.skillshError"),i(k,{variant:"ghost",size:"sm",onClick:()=>{Zt(At.trim())}},l("repo.catalog.retry"))):null),Ve=i("div",{className:"dssm-subsources"},i("button",{type:"button",className:"dssm-subsource-btn"+(Y==="github"?" on":""),"aria-pressed":Y==="github",onClick:()=>Oe("github")},l("repo.subsource.github")+" ("+v.length+")"),i("button",{type:"button",className:"dssm-subsource-btn"+(Y==="clawhub"?" on":""),"aria-pressed":Y==="clawhub",onClick:()=>Oe("clawhub")},l("repo.subsource.clawhub")),i("button",{type:"button",className:"dssm-subsource-btn"+(Y==="skillsh"?" on":""),"aria-pressed":Y==="skillsh",onClick:()=>Oe("skillsh")},l("repo.subsource.skillsh"))),ta=Y==="github"?i("div",{className:"dssm-filters"},i("div",{className:"dssm-source-filter"},Mt("repo.all",wt,Je,v.map(o=>[o.id,o.owner+"/"+o.name]))),i("div",{className:"dssm-status-filter"},Mt("repo.states",kt,o=>{na(o),xt({})},["available","installed","update","conflict","invalid"].map(o=>[o,l("repo."+o)]))),i(d,{className:"dssm-search",allowClear:!0,"aria-label":l("repo.search"),placeholder:l("repo.search"),value:Ge,onChange:o=>{sa(o.target.value),xt({})}}),vr()):Y==="clawhub"?i("div",{className:"dssm-filters dssm-catalog-filters"},de.trim()?null:i("div",{className:"dssm-catalog-sort-filter"},Mt("repo.subsource.popular",dt,ja,[["installs",l("repo.sort.installs")],["name",l("repo.sort.name")]])),de.trim()?null:i("div",{className:"dssm-catalog-status-filter"},Mt("repo.catalog.states",se,Xe,[["available",l("repo.available")],["installed",l("repo.installed")]])),i(d,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":l("repo.catalog.searchClawhub"),placeholder:l("repo.catalog.searchClawhub"),value:de,onChange:o=>Tt(o.target.value)})):Y==="skillsh"?i("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},i("div",{className:"dssm-catalog-status-filter"},Mt("repo.catalog.states",Kt,Va,[["available",l("repo.catalog.uninstalled")],["installed",l("repo.installed")]])),i(d,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":l("repo.catalog.searchSkillsh"),placeholder:l("repo.catalog.searchSkillsh"),value:At,onChange:o=>Ue(o.target.value)})):null,rr=i("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":W},i("style",null,Mo),Ve,Y==="github"?i("p",{className:"dssm-desc"},l("repo.hint")):Y==="clawhub"&&!de.trim()?i("p",{className:"dssm-desc"},l("repo.subsource.catalogNote")):null,ta,Ft.length?i("div",{className:"dssm-note",role:"status"},l("repo.catalog.unknownHint")):null,Ce.map(o=>i("div",{key:o.id,className:"dssm-feedback dssm-error",role:"alert"},o.id+" \xB7 "+ka(o))),xe,b?null:er,W&&!fe?i("div",{className:"dssm-note",role:"status"},l("repo.loading")):null,Y==="github"?v.length?Sr:i("div",{className:"dssm-empty"},l("repo.empty")):Y==="skillsh"?Ra:de.trim()?ar:ea,i("p",{className:"dssm-note"},l("repo.footer")),ve);return{actions:wr,content:rr,focusSource:(o,e)=>{Je(o.id),sa(e),na(""),xt({[o.id]:!0})}}}}var aa=()=>({scope:"user",location:"dsh",workspace:""});function or(a){return a.scope==="workspace"?{workspace:a.workspace}:{root:a.location==="agents"?"agents":"dsh"}}function Ht(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 Ho(a){let t=a.includes("\\")?"\\":"/";return a.replace(/[\\/]+$/,"")+t+".dsh"+t+"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."}},Br=[".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 Do({react:a,SourceSelect:t,translateError:d}){let c=a.createElement;return function({t:u,value:f,onChange:g,workspaces:w,userDestinations:S,allowAgents:C,disabled:P}){let i=f.scope==="workspace",U=w.find(v=>!!v.registeredPaths[0]&&v.registeredPaths[0]===f.workspace),X=[{value:"user",label:u("dest.scope.user")},{value:"workspace",label:u("dest.scope.workspace")}],_=new Map;for(let v of w)_.set(v.name,(_.get(v.name)??0)+1);let k=[{value:"",label:u("dest.workspace.placeholder")}].concat(w.map(v=>({value:v.registeredPaths[0]||"",label:v.available?(_.get(v.name)??0)>1?v.name+" \xB7 "+v.path:v.name:u("dest.workspace.unavailable",{name:v.name}),disabled:!v.available||!v.registeredPaths[0]}))),oe=(C?["dsh","agents"]:["dsh"]).filter(v=>S.some(V=>V.key===v)),I=v=>S.find(V=>V.key===v),q=v=>oe.some(V=>V===v)&&I(v)?.available!==!1,me=oe.map(v=>({value:v,label:u("dest.location."+v),disabled:I(v)?.available===!1})),F=i?c("div",{className:"dssm-field",key:"workspace"},c("span",{className:"dssm-label"},u("dest.workspace")),c(t,{label:u("dest.workspace"),value:f.workspace,disabled:P||w.length===0,options:k,onChange:v=>{!P&&w.length>0&&(v===""||Ht({...f,scope:"workspace",workspace:v},w))&&g({workspace:v})}})):c("div",{className:"dssm-field",key:"location"},c("span",{className:"dssm-label"},u("dest.location")),c(t,{label:u("dest.location"),value:f.location,disabled:P||oe.length===0,options:me,onChange:v=>{!P&&q(v)&&g({location:v})}})),l=i?U&&U.available?Ho(U.projectRoot||U.path):"":I(f.location)?.path??"",T=i?[]:oe.filter(v=>I(v)?.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"},u("dest.scope")),c(t,{label:u("dest.scope"),value:f.scope,disabled:P,options:X,onChange:v=>{!P&&(v==="workspace"||v==="user")&&g(v==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),F),i&&w.length===0?c("p",{className:"dssm-feedback dssm-warning",role:"status"},u("dest.empty")):null,i&&w.length>0&&!U?c("p",{className:"dssm-note"},u("dest.pickFirst")):null,l?c("code",{className:"dssm-destination-path"},l):null,T.map(v=>c("div",{key:v,className:"dssm-note dssm-destination-unavailable"},c("span",null,u("dest.location."+v)),c("code",{className:"dssm-destination-path"},I(v)?.path??""),c("span",null,I(v)?.error?d(u,I(v).error):""))),i&&U?c("p",{className:"dssm-note"},u("dest.projectNote")+" "+u("dest.location.agentsOff")):null)}}function Fr(a){return{DestinationPicker:Do(a),defaultDestination:aa,destinationPayload:or,destinationReady:Ht}}var L=Ea(require("react"),1),Rr=require("react-dom/client"),Dt=require("@deepseek-ai/dsh-client-ui-primitives");var jo={check:"\u68C0\u67E5\u66F4\u65B0",update:"\u66F4\u65B0",close:"\u5173\u95ED",recheck:"\u91CD\u65B0\u68C0\u67E5",auto:"\u81EA\u52A8\u66F4\u65B0",updating:"\u6B63\u5728\u66F4\u65B0\u2026",copy:"\u590D\u5236\u547D\u4EE4",copied:"\u5DF2\u590D\u5236",copyFailed:"\u590D\u5236\u5931\u8D25",checking:"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026",latest:"\u5DF2\u662F\u6700\u65B0\u7248\u672C",found:"\u53D1\u73B0\u65B0\u7248\u672C",failed:"\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",current:"\u8FD0\u884C\u7248\u672C",latestLabel:"\u6700\u65B0\u7248\u672C",profile:"\u76EE\u6807 profile",unknown:"\u672A\u77E5",manual:"\u624B\u5DE5\u66F4\u65B0",manualHint:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u53EF\u5728\u5F53\u524D DSH \u7EC8\u7AEF\u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\uFF0C\u5B8C\u6210\u540E\u91CD\u542F DSH Web\u3002",manualHintDesktop:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u8BF7\u5148\u5B8C\u5168\u9000\u51FA DSH Desktop\uFF0C\u518D\u7528 Desktop \u81EA\u5E26\u7684 dsh \u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\u3002\u666E\u901A dsh \u4F1A\u62D2\u7EDD desktop profile\u3002",intro:"\u4EC5\u68C0\u67E5\u5E76\u66F4\u65B0\u5F53\u524D\u63D2\u4EF6\uFF0C\u4E0D\u4F1A\u8054\u52A8\u5B89\u88C5\u5176\u4ED6\u63D2\u4EF6\u3002",restart:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u91CD\u542F DSH Web\u3002",restartDesktop:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u65B0\u6253\u5F00 DSH Desktop\u3002",restarting:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u6B63\u5728\u91CD\u542F DSH Desktop\u2026",unavailable:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u81EA\u52A8\u66F4\u65B0\uFF0C\u8BF7\u4F7F\u7528\u624B\u5DE5\u66F4\u65B0\u547D\u4EE4\u3002"},Uo={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 La(a){return a.toLowerCase().startsWith("zh")?jo:Uo}function Oo(a,t,d,c){let p=La(a),u=t?.restartDesktop===!0||t?.profileName==="desktop",f=u?{...p,manualHint:p.manualHintDesktop}:p,g=d!=="idle",w=f.checking,S="";return d==="checking"?w=f.checking:d==="updating"?w=f.updating:c.type==="error"?(w=c.message||f.failed,S="error"):c.type==="restart"?(w=u?f.restartDesktop:f.restart,S="success"):c.type==="restarting"?(w=f.restarting,S="success"):t===void 0?w=f.checking:t.latestCheckFailed?(w=f.failed,S="error"):!t.canAutoUpdate&&t.updateAvailable?(w=f.unavailable,S="update"):t.updateAvailable?(w=`${f.found}: v${t.latestVersion??f.unknown}`,S="update"):(w=f.latest,S="success"),{copy:f,busy:g,message:w,kind:S,loading:d==="updating",updateLabel:d==="updating"?f.updating:f.auto,disabled:g||t?.canAutoUpdate!==!0||t.updateAvailable!==!0,currentVersion:t===void 0?f.unknown:`v${t.currentVersion}`,latestVersion:t?.latestVersion===void 0?f.unknown:`v${t.latestVersion}`,profileName:t?.profileName??f.unknown,profileRaw:t?.profileName??"",latestRaw:t?.latestVersion??"latest"}}function Vr(a,t,d){let c="idle",p=t,u={type:"status"},f=0,g=new Set,w=()=>{for(let C of g)C()},S=C=>{p=C,d?.(C)};return{get posts(){return f},subscribe(C){return g.add(C),()=>{g.delete(C)}},view(C){return Oo(C,p,c,u)},async check(){if(c==="idle"){c="checking",u={type:"status"},w();try{S(await a("GET")),u={type:"status"}}catch(C){u={type:"error",message:C instanceof Error?C.message:""}}finally{c="idle",w()}}},async update(){if(c==="idle"){c="updating",u={type:"status"},f+=1,w();try{let C=await a("POST");S(C),u={type:C.autoReload===!0?"restarting":"restart"}}catch(C){u={type:"error",message:C instanceof Error?C.message:""}}finally{c="idle",w()}}}}}function Wr(a,t,d){return`dsh plugin${a.trim()===""?"":` --profile ${a.trim()}`} add ${t}@${d} --registry=https://registry.npmjs.org/`}function Kr(a,t){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),t(),!0)}function Bo(){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 Pa(a){if(typeof a!="string"||a.charAt(0)!=="/"||a.charAt(1)==="/")return a;let t=Bo();if(t===void 0)return a;try{return new URL(a.slice(1),t).href}catch{return a}}var Fo="x-michengai-plugin-update",qr="michengai-plugin-update-ui",Vo=`
17
+ .dssm-repo-row .dssm-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-repo-row{display:flex;flex-direction:column;gap:6px;padding:11px 13px;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);background:transparent}.dssm-repo-head{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.dssm-repo-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-repo-actions button{flex:none}.dssm-repo-actions .dssm-repo-copy-actions{gap:8px;margin-left:0}.dssm-repo-main{flex:1;min-width:0}.dssm-repo-main>.dssm-repo-metadata{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-description{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-repo-copies{display:flex;flex-direction:column;gap:2px;min-width:0}.dssm-repo-copy{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent}.dssm-repo-copy .dssm-repo-metadata{font-size:12px;line-height:18px}.dssm-repo-copy-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}.dssm-repo-spinner{display:inline-flex;align-items:center;justify-content:center;animation:dssm-spin .8s linear infinite;transform-origin:center;flex:none}.dssm-icon-action .dssm-repo-spinner{margin:0}button:not(.dssm-icon-action) .dssm-repo-spinner{margin-right:6px}@keyframes dssm-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dssm-repo-spinner{animation:none}}.dssm-repo-commit-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;line-height:16px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);margin-left:12px;white-space:nowrap;user-select:all}.dssm-repo-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-repo-panel .dssm-desc{margin:0}.dssm-repo-metadata{font-size:11px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow-wrap:anywhere}.dssm-repo-panel .dssm-source{flex-shrink:0;overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-repo-panel .dssm-source-title{font-size:14px;font-weight:650;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:7px}.dssm-repo-panel .dssm-source-brand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-panel .dssm-source-brand svg{width:16px;height:16px;display:block}.dssm-repo-panel .dssm-source-path{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-repo-panel .dssm-count{padding:1px 6px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-bg-layer-2,rgba(255,255,255,0.08));font-size:11px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-manage-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.dssm-repo-manage-row .dssm-repo-main{flex:1}.dssm-repo-manage-row .dssm-repo-actions{margin-left:auto}.dssm-repo-manage-row .dssm-repo-actions button{width:auto;flex:none}.dssm-repo-head .dssm-repo-actions{gap:8px}.dssm-repo-actions>.dssm-repo-copy-actions{display:contents}.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-repo-copies{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:2px}.dssm-repo-copy{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 4px 4px 8px;border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1,rgba(255,255,255,0.04))}.dssm-repo-copy .dssm-repo-metadata{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-copy .dssm-repo-copy-actions{margin-left:0}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger{border-color:var(--dsw-alias-border-l2,#494949)}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger:not(:disabled):hover{color:var(--dsw-alias-state-error-primary,#ef7272)!important;border-color:var(--dsw-alias-state-error-primary,#ef7272)!important}.dssm-repo-copy .dssm-repo-metadata{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dssm-location-lead{flex:0 1 auto;max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-location-path{margin-left:auto;min-width:0;max-width:50%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}`;function Fr({react:a,Modal:t,Input:l,Button:d,SourceSelect:u,destination:p,api:m,headers:g,translateError:b,getLocale:k,IconLoading:x,IconRefresh:A}){let i=a.createElement,D=x||function(H){let c=H?.size||14;return i("svg",{width:c,height:c,viewBox:"0 0 16 16",fill:"none",className:H?.className,"aria-hidden":"true",strokeWidth:1.3},i("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"}))},G=A||function(H){let c=H?.size||14;return i("svg",{width:c,height:c,viewBox:"0 0 16 16",fill:"none",className:H?.className,"aria-hidden":"true",strokeWidth:1.3},i("path",{d:"M14.5001 8C14.5 9.28552 14.1188 10.5422 13.4045 11.611C12.6903 12.6799 11.6752 13.5129 10.4875 14.0049C9.29982 14.4968 7.99295 14.6255 6.73212 14.3747C5.4713 14.124 4.31314 13.505 3.4041 12.596C2.49514 11.687 1.87614 10.5288 1.62537 9.26798C1.37459 8.00716 1.50331 6.70028 1.99525 5.51261C2.48719 4.32494 3.32025 3.30981 4.3891 2.59557C5.45795 1.88134 6.71458 1.50008 8.0001 1.5C9.9001 1.5 11.7001 2.3 13.0001 3.6L14.5001 5.1",stroke:"currentColor"}),i("path",{d:"M14.4999 1.5V5.1H10.8999",stroke:"currentColor"}))};function le(re){return i("svg",{className:"dssm-fold-chevron"+(re?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},i("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}let w=d,{DestinationPicker:R,defaultDestination:de,destinationPayload:M,destinationReady:U}=p;return function({active:H,t:c,onInstalled:V}){let[C,N]=a.useState([]),[J,$]=a.useState([]),[j,na]=a.useState(!1),[he,Bt]=a.useState(null),[wt,X]=a.useState(null),[ee,Je]=a.useState(null),[Xe,sa]=a.useState(""),[kt,_e]=a.useState(""),[xt,ia]=a.useState(""),[ce,St]=a.useState({}),[y,O]=a.useState(null),[ue,dt]=a.useState(de()),[He,ja]=a.useState([]),[Y,la]=a.useState("github"),[pe,da]=a.useState(""),[ct,Da]=a.useState(""),[se,$e]=a.useState(""),[Ct,Nt]=a.useState([]),[ca,ua]=a.useState([]),[pr,Rt]=a.useState([]),[Ft,Ua]=a.useState([]),[Re,Oa]=a.useState([]),[ut,je]=a.useState("idle");function pa(o){if(typeof navigator>"u"||!navigator.clipboard){je("failed");return}navigator.clipboard.writeText(o).then(()=>{je("copied"),setTimeout(()=>je("idle"),1500)}).catch(()=>je("failed"))}let[et,ma]=a.useState(!0),[Lt,Vt]=a.useState(!1),[pt,fa]=a.useState(!1),[Ba,Ze]=a.useState([]),[ga,be]=a.useState(!1),[tt,Wt]=a.useState(!1),mt=a.useRef(0),me=a.useRef(null),ft=a.useRef(null),[Et,Fa]=a.useState(""),[Kt,Va]=a.useState(""),[gt,ha]=a.useState([]),[at,fe]=a.useState(!1),[ba,qt]=a.useState(!1),we=a.useRef(0),De=a.useRef(null),ye=a.useRef(null),Le=a.useRef({cursor:null,count:0,hasMore:!0}),Q=a.useRef(null),Wa=a.useRef(null),[Ee,ya]=a.useState({url:"",ref:"",subdirectory:""}),Ae=a.useRef(!1),z=a.useRef(!0);a.useEffect(()=>(z.current=!0,()=>{z.current=!1}),[]);async function ht(){let o=await m("/repositories");if(z.current){let e=(o.installRoots||[]).filter(r=>r.key==="dsh"||r.key==="agents");N(o.repositories||[]),$(e),ua(o.catalogInstalls||[]),Rt(o.catalogCopies||[]),Ua(o.catalogUnknownIds||[]),Oa(o.catalogWarnings||[]),ue.scope==="user"&&!e.some(r=>r.key===ue.location&&r.available)&&dt({...ue,location:e.find(r=>r.available)?.key||"dsh"}),m("/workspaces").then(r=>{z.current&&ja(r.items||[])}).catch(()=>{})}}function mr(o){if(o.key==="dsh"||o.key==="agents")return c(o.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let e="root."+(o.localeKey||o.key),r=c(e);return r===e?o.label:r}function Ka(o){let e=J.find(r=>r.key===o);return e?mr(e):c("root."+o)}function Ue(o){if(o.installedWorkspace){let e=s=>{let f=s.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(f)?f.toLowerCase():f},r=He.find(s=>s.projectRoot&&e(s.projectRoot)===e(o.installedWorkspace));return r?.available&&r.registeredPaths[0]?{workspace:r.registeredPaths[0]}:null}return o.installedRoot==="dsh"||o.installedRoot==="agents"?{root:o.installedRoot}:null}function va(o){return o.installedWorkspace||o.installedRoot?At(o):""}function qa(o){let e=o.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(e)?e.toLowerCase():e}function wa(o){let e=He.find(f=>f.projectRoot&&qa(f.projectRoot)===qa(o));if(e?.name)return e.name;let r=o.replace(/[\\/]+$/,""),s=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));return s>=0?r.slice(s+1):r}function ka(o){let e=!!o.installedWorkspace,r=e?"dsh":o.installedRoot,s=c(r==="agents"?"repo.source.agents":"repo.source.dsh"),f=c(e?"repo.scope.project":"repo.scope.user"),h=e?o.installedWorkspace||"":J.find(S=>S.key===r)?.path||"";return{lead:e?[f,wa(o.installedWorkspace||""),s].filter(Boolean).join(" \xB7 "):[f,s].filter(Boolean).join(" \xB7 "),path:h}}function At(o){let e=ka(o);return e.path?e.lead+" "+e.path:e.lead}function rt(o){let e=ka(o);return i("div",{className:"dssm-repo-metadata",title:At(o)},i("span",{className:"dssm-location-lead"},e.lead),e.path?i("span",{className:"dssm-location-path",title:e.path},e.path):null)}function Pt(o){return o.slice().sort((e,r)=>+!!e.installedWorkspace-+!!r.installedWorkspace)}function bt(o){return Pt((o.installations??(o.installedRoot?[o]:[])).filter(e=>e.tracked===!0))}function xa(o){let e=o,r=b(c,o)||e.message||String(o),s=e?.params?.path;return typeof s=="string"&&s&&!r.includes(s)?r+" \xB7 "+s:r}function Qt(o){if(o.payload)return xa(o.payload);if(o.key){let e=o.params||(o.name?{name:o.name,names:o.name}:void 0),r=c(o.key,e),s=o.name&&!r.includes(o.name)?" \xB7 "+o.name:"";return r+s}return o.text||""}async function Z(o,e=!0,r=!1){if(!Ae.current){Ae.current=!0,r||(na(!0),X(null));try{await o(),e&&await ht()}catch(s){let f=s;z.current&&X({error:!0,payload:f})}finally{Ae.current=!1,z.current&&na(!1)}}}function te(o,e){return m(`/repositories/${o}`,{method:"POST",headers:g,body:JSON.stringify(e)})}let Tt=a.useRef(!1);async function ot(o=!1,e=!1,r=pe){if(!H||r.trim()||Q.current||e&&Tt.current)return;let s=Le.current;if(!o&&(!s.hasMore||s.count>=100))return;e&&(Tt.current=!0);let f=o?0:s.count,h=new AbortController;Q.current=h,Vt(!0),fa(!1),o&&(Le.current={cursor:null,count:0,hasMore:!0},Nt([]));try{let v=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-f))}),S=o?null:s.cursor;S&&v.set("cursor",S);let I=await m(`/clawhub/list?${v.toString()}`,{signal:h.signal});if(Q.current!==h||h.signal.aborted||!z.current)return;if(!Array.isArray(I.items))throw new Error("ClawHub response has no items array");let W=I.items.flatMap(F=>{if(typeof F.ownerHandle!="string"||!F.ownerHandle||typeof F.slug!="string"||!F.slug)return[];let L=q=>typeof q=="number"&&Number.isFinite(q)?q:void 0;return[{id:F.ownerHandle+"/"+F.slug,owner:F.ownerHandle,slug:F.slug,name:typeof F.displayName=="string"&&F.displayName?F.displayName:F.slug,source:F.ownerHandle+"/"+F.slug,description:typeof F.summary=="string"?F.summary:"",downloads:L(F.stats?.downloads),installs:L(F.stats?.installs),stars:L(F.stats?.stars)}]}).slice(0,Math.max(0,100-f)),B=typeof I.nextCursor=="string"&&I.nextCursor?I.nextCursor:null,ve=f+W.length;if(Le.current={cursor:B,count:ve,hasMore:!!B&&ve<100},!z.current)return;Nt(F=>[...o?[]:F,...W].slice(0,100)),ma(Le.current.hasMore)}catch{Q.current===h&&!h.signal.aborted&&z.current&&fa(!0)}finally{Q.current===h&&(Q.current=null,Tt.current=!1,z.current&&Vt(!1))}}function Qa(){ft.current&&clearTimeout(ft.current),ft.current=null,mt.current++,me.current?.abort(),me.current=null,z.current&&be(!1)}async function Sa(o){let e=++mt.current,r=new AbortController;me.current?.abort(),me.current=r,Ze([]),be(!0),Wt(!1);try{let s=new URLSearchParams({q:o,limit:"100"}),f=await m(`/clawhub/search?${s.toString()}`,{signal:r.signal});if(!Array.isArray(f.results))throw new Error("ClawHub search response has no results array");let h=S=>typeof S=="number"&&Number.isFinite(S)?S:void 0,v=f.results.flatMap(S=>{if(typeof S.source=="string"&&S.source!=="clawhub")return[];let I=typeof S.ownerHandle=="string"?S.ownerHandle:S.owner?.handle;return typeof I!="string"||!I||typeof S.slug!="string"||!S.slug?[]:[{id:typeof S.id=="string"?S.id:I+"/"+S.slug,owner:I,slug:S.slug,name:typeof S.displayName=="string"&&S.displayName?S.displayName:S.slug,source:I+"/"+S.slug,description:typeof S.summary=="string"?S.summary:"",downloads:h(S.downloads)??h(S.stats?.downloads),installs:h(S.stats?.installs),stars:h(S.stats?.stars)}]});e===mt.current&&z.current&&Ze(v)}catch(s){let f=s?.name==="AbortError";e===mt.current&&z.current&&!f&&Wt(!0)}finally{e===mt.current&&(me.current=null,z.current&&be(!1))}}function It(o){da(o),Qa(),Ze([]),Wt(!1);let e=o.trim().slice(0,100);if(!e){Y==="clawhub"&&!Ct.length&&!Lt&&ot(!0,!1,e);return}be(!0),ft.current=setTimeout(()=>{ft.current=null,Sa(e)},300)}function Ca(){ye.current&&clearTimeout(ye.current),ye.current=null,we.current++,De.current?.abort(),De.current=null,z.current&&fe(!1)}async function Zt(o){let e=++we.current,r=new AbortController;De.current?.abort(),De.current=r,ha([]),fe(!0),qt(!1);try{let s=await m(`/skills-sh/search?q=${encodeURIComponent(o)}`,{signal:r.signal});e===we.current&&z.current&&ha(s.skills)}catch(s){let f=s?.name==="AbortError";e===we.current&&z.current&&!f&&qt(!0)}finally{e===we.current&&(De.current=null,z.current&&fe(!1))}}function Oe(o){Fa(o),ye.current&&clearTimeout(ye.current),ye.current=null,we.current++,De.current?.abort(),De.current=null,ha([]),fe(!1),qt(!1);let e=o.trim();e&&(ye.current=setTimeout(()=>{ye.current=null,Zt(e)},300))}function Be(o){O(null),la(o)}function fr(o){let e=o.getBoundingClientRect(),r=o.parentElement;for(;r;){let s=getComputedStyle(r);if(/(auto|scroll)/.test(`${s.overflowY} ${s.overflow}`)&&r.scrollHeight>r.clientHeight+1){let f=r.getBoundingClientRect();return e.top<=f.bottom+80&&e.bottom>=f.top}r=r.parentElement}return e.top<=window.innerHeight+80}function Yt(o){if(y||o.defaultPrevented||o.deltaY<=0||Y!=="clawhub"||pe.trim()||!et||pt||!o.target||!o.currentTarget.contains(o.target))return;let e=Wa.current;!e||typeof e.getBoundingClientRect!="function"||!fr(e)||ot(!1,!0)}async function zt(o){let e=await te("refresh",{id:o}),r=e.error||e.data?.error;r&&X({error:!0,payload:r})}function Gt(o){return Z(async()=>{let e=[],r;try{for(let s=0;s<o.length;s++){let f=o[s];Bt({id:f.id,name:f.owner+"/"+f.name,index:s+1,total:o.length});let h=await te("refresh",{id:f.id}),v=h.error||h.data?.error;v&&(e.push(f.owner+"/"+f.name),r=v)}if(await ht(),z.current)if(e.length===0)X({key:"repo.refreshed"});else if(e.length===o.length)X({error:!0,payload:r});else{let f=(k?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?", ":"\u3001";X({error:!0,key:"repo.partialRefreshFailed",params:{names:e.join(f)}})}}finally{z.current&&Bt(null)}},!1,!0)}function gr(o,e){return Z(async()=>{je("idle"),O({type:"detail",repo:o,loading:!0});try{let r=await te("detail",{id:o.id,path:e.path});z.current&&O({type:"detail",detail:r,repo:o})}catch(r){let s=r;throw z.current&&O({type:"detail",repo:o,failed:!0}),s}},!1,!0)}function Za(o){return Z(async()=>{je("idle"),O({type:"catalog-detail",loading:!0});try{let e=await m("/catalog/detail",{method:"POST",headers:g,body:JSON.stringify(o)});z.current&&O({type:"catalog-detail",detail:e})}catch(e){let r=e;throw z.current&&O({type:"catalog-detail",failed:!0}),r}},!1,!0)}function nt(o){Ae.current||(X(null),O({type:"catalog-install",target:o}))}function hr(){if(!y||y.type!=="catalog-install"||!U(ue,He,J))return;let o=y.target,e=M(ue);return Z(async()=>{let r=await m("/catalog/install",{method:"POST",headers:g,body:JSON.stringify({...o,...e})});if(!z.current)return;let s=o.catalog==="skillsh"?`skillsh:${o.source}/${o.skillId}`:`clawhub:${o.owner}/${o.slug}`;ua(v=>v.includes(s)?v:[...v,s]);let f=e.root||"dsh";Rt(v=>v.some(S=>S.id===s&&S.installedRoot===f&&S.installedWorkspace===e.workspace)?v:[...v,{id:s,name:r.name,installedRoot:f,...e.workspace?{installedWorkspace:e.workspace}:{},canUninstall:!0}]),X({key:"repo.installSuccess",name:o.name}),O(null);let h=await Promise.allSettled([ht(),Promise.resolve().then(()=>V?.())]);z.current&&h.some(v=>v.status==="rejected")&&X({key:"repo.catalog.installRefreshWarning",name:o.name})},!1)}a.useEffect(()=>{H&&Z(ht,!1)},[H]),a.useEffect(()=>(H&&(Y==="clawhub"?pe.trim()?Sa(pe.trim()):Ct.length||ot(!0):Y==="skillsh"&&Et.trim()&&Zt(Et.trim())),()=>{Qa(),Ca(),Q.current?.abort(),Q.current=null,Tt.current=!1,z.current&&Vt(!1)}),[H,Y]);function oe(o,e,r=!0,s=!1,f=!1){return i(w,{variant:r?"outline":"primary",className:f?"dssm-btn-danger":void 0,disabled:j||s,onClick:e},c(o))}function Ya(o){return i("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},i("path",{d:o,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Se(o,e,r=!1,s){var f=o==="repo.uninstall"||o==="repo.uninstalling"||o==="repo.remove",h=o==="repo.installed"||o==="repo.installedSuccess",v=o==="repo.conflict",S=o==="repo.refresh"||o==="repo.refreshing",I=S?null:o==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":o==="repo.installElsewhere"?"M8 3v10M3 8h10":o==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":o==="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":o==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":f?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":v?"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",W=S?i(G,{size:14}):Ya(I);return i(w,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(f?" dssm-icon-danger":h?" dssm-icon-success":v?" dssm-icon-warn":""),"aria-label":c(o),title:s||c(o),icon:W,disabled:j||r,onClick:e,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},f?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},f?{danger:!0}:{}))}function br(o){O({type:"remove",repo:o})}function Ga(o){let e=o.url||"",r="GitHub",s="0 0 16 16",f="M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z";/gitee\.com/i.test(e)?(r="Gitee",s="0 0 24 24",f="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):/gitlab(\.|\/)/i.test(e)?(r="GitLab",s="0 0 24 24",f="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):e&&!/github\.com/i.test(e)&&(r="Git",s="0 0 24 24",f="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187");let v=(k?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?" repository":" \u4ED3\u5E93";return i("span",{className:"dssm-source-brand",title:r+v},i("svg",{viewBox:s,width:16,height:16,fill:"currentColor","aria-hidden":!0},i("path",{d:f})))}function yr(o){return he&&he.id===o.id?i(w,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":c("repo.refreshing"),title:c("repo.refreshing"),icon:i(D,{size:14,className:"dssm-repo-spinner"}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):Se("repo.refresh",()=>Gt([o]))}function Ja(){return C.length?C.map(o=>i("div",{key:o.id,className:"dssm-repo-row dssm-repo-manage-row"},i("div",{className:"dssm-repo-main"},i("div",{className:"dssm-name",style:{display:"flex",alignItems:"center",gap:"6px"}},Ga(o),i("span",null,o.owner+"/"+o.name)),i("div",{className:"dssm-note"},[o.ref||c("repo.defaultBranch"),o.subdirectory].filter(Boolean).join(" \xB7 ")),i("div",{className:"dssm-repo-metadata"},o.refreshedAt?c("repo.updated")+" \xB7 "+new Date(o.refreshedAt).toLocaleString(k?.()||c("format.locale")):c("repo.notScanned"))),i("div",{className:"dssm-repo-actions"},yr(o),Se("repo.remove",()=>br(o))))):i("div",{className:"dssm-empty"},c("repo.empty"))}function Jt(o,e=!1){let r=he&&(!e||he.id===o[0]?.id);return i(w,{variant:"outline",disabled:j||!!he||!o.length,"aria-busy":!!r,onClick:()=>Gt(o)},r?i(D,{size:14,className:"dssm-repo-spinner"}):null,c(r?"repo.refreshing":"repo.refresh"))}function st(){Ae.current||(je("idle"),O(null))}function Mt(o,e,r,s){Ae.current||o==="uninstall"&&(!s||!s.canUninstall||!Ue(s))||(X(null),O({type:o,repo:e,skill:r,copy:s}))}function Xa(){if(!y||y.type!=="install"&&y.type!=="uninstall")return;let o=y,e=o.type,r=ue;if(e==="install"&&!U(r,He,J))return;let s=e==="install"?M(r):o.copy&&Ue(o.copy);if(s)return Z(async()=>{let f={id:o.repo.id,path:o.skill.path,...s};Je({...f,action:e,pending:!0,key:"repo."+e+"Progress"});try{await te(e,f)}catch(S){let I=S;throw z.current&&Je({...f,action:e,error:!0,payload:I}),I}if(!z.current)return;let h="repo."+e+"Success";Je({...f,action:e,key:h}),X({key:h,name:o.skill.name}),O(null);let v=await Promise.allSettled([ht(),Promise.resolve().then(()=>V?.())]);for(let S of v)if(S.status==="rejected")throw S.reason},!1)}function _a(o,e,r,s=!1){let f=Ue(r);if(!(!f||(s?!r.canRollback:!r.tracked)))return Z(async()=>{let h=await te("preview",{id:o.id,path:e.path,...f,rollback:s});O({type:s?"rollback":"review",repo:o,skill:e,copy:r,detail:h})})}function vr(){if(!y||y.type!=="review"&&y.type!=="rollback")return;let o=y,e=o.type==="rollback",r=Ue(o.copy);if(r)return Z(async()=>{let s={id:o.repo.id,path:o.skill.path,...r};Je({...s,pending:!0,key:"repo.updateProgress"});try{await te(e?"rollback":"update",{...s,token:o.detail.token,overwrite:o.detail.localModified})}catch(h){let v=h;throw z.current&&Je({...s,error:!0,payload:v}),v}if(!z.current)return;let f=e?"repo.rollbackSuccess":"repo.updateSuccess";Je({...s,key:f}),X({key:f}),O(null),V&&await V()})}function Xt(o,e,r){return i(w,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:j,"aria-label":c(o),title:c(o),icon:Ya(e),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:r})}function wr(o){let e=he&&he.id===o[0]?.id;return i(w,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:j||!o.length,"aria-busy":!!e,"aria-label":c(e?"repo.refreshing":"repo.refresh"),title:c(e?"repo.refreshing":"repo.refresh"),icon:e?i(D,{size:14,className:"dssm-repo-spinner"}):i(G,{size:14}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>Gt(o)})}function kr(){return i("div",{className:"dssm-filter-actions"},wr(C),Xt("repo.add","M8 2.5v11M2.5 8h11",()=>{X(null),ya({url:"",ref:"",subdirectory:""}),O({type:"add"})}),Xt("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{X(null),O({type:"manage"})}))}let xr=i("div",{key:"repository-actions",className:"dssm-actions"},Jt(C),oe("repo.add",()=>{X(null),ya({url:"",ref:"",subdirectory:""}),O({type:"add"})},!1),oe("repo.manage",()=>{X(null),O({type:"manage"})})),Sr=C.filter(o=>!kt||o.id===kt);function Cr(o,e,r){let s=Ue(r),f=ee?.id===o.id&&ee.path===e.path&&ee.pending&&s&&ee.root===s.root&&ee.workspace===s.workspace;return i("div",{className:"dssm-repo-copy-actions"},r.tracked&&(r.updateAvailable||r.status==="conflict")?Se("repo.review",()=>_a(o,e,r),!s):null,r.canRollback?Se("repo.rollback",()=>_a(o,e,r,!0),!s):null,r.canUninstall?Se(f&&ee.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>Mt("uninstall",o,e,r),!s,At(r)):null)}function $a(o,e,r){let s=Ue(r);return i("div",{className:"dssm-repo-copy",key:JSON.stringify([r.installedRoot,r.installedWorkspace||""])},rt(r),Cr(o,e,r),s?null:i("div",{className:"dssm-note",role:"status"},c("repo.destinationUnavailable")))}let Nr=Sr.map(o=>{let e=Xe.trim().toLowerCase(),r=o.skills.filter(h=>(!xt||h.status===xt)&&(!e||`${h.name} ${h.description} ${o.owner}/${o.name}`.toLowerCase().includes(e))),s=ce[o.id]===void 0?!!e||!!xt:ce[o.id],f=s?r.length?r.map(h=>{let v=bt(h),S=v.length===1?v[0]:void 0;return i("div",{key:h.path,className:"dssm-repo-row"},i("div",{className:"dssm-repo-head"},i("div",{className:"dssm-repo-main"},i("div",{className:"dssm-name"},h.name),i("div",{className:"dssm-repo-description",title:h.description},h.description),S&&!Ue(S)?i("div",{className:"dssm-note",role:"status"},c("repo.destinationUnavailable")):null,ee?.id===o.id&&ee.path===h.path?i("div",{className:"dssm-note"+(ee.error?" dssm-error":""),role:ee.error?"alert":"status","aria-live":"polite"},Qt(ee)):null),i("div",{className:"dssm-repo-actions"},Se("repo.detail",()=>gr(o,h)),Se(ee?.id===o.id&&ee.path===h.path&&ee.pending&&ee.action==="install"?"repo.installing":v.length?"repo.installElsewhere":"repo."+(h.status==="available"?"install":h.status),()=>Mt("install",o,h),!v.length&&h.status!=="available"))),v.length?i("div",{className:"dssm-repo-copies"},v.map(I=>$a(o,h,I))):null)}):i("div",{className:"dssm-empty"},c("repo.noSkills")):null;return i("div",{key:o.id},i("section",{className:"dssm-source"},i("div",{className:"dssm-source-head"},i("button",{type:"button",className:"dssm-source-toggle","aria-expanded":s,onClick:()=>St({...ce,[o.id]:!s})},le(s),i("div",{className:"dssm-source-label"},Ga(o),i("span",{className:"dssm-source-title"},o.owner+"/"+o.name),i("span",{className:"dssm-count"},r.length),i("span",{className:"dssm-source-path",title:o.owner+"/"+o.name},[o.ref||c("repo.defaultBranchLabel"),o.subdirectory].filter(Boolean).join(" \xB7 ")||o.owner+"/"+o.name))),i("span",{className:"dssm-repo-commit-badge",title:o.commit||c("repo.notScanned")},o.commit?o.commit.slice(0,7):c("repo.notScanned"))),s?i("div",{className:"dssm-source-body",role:"region"},f):null),o.error?i("div",{className:"dssm-feedback dssm-error",role:"alert"},xa(o.error)):null)});function Ht(o,e,r,s){return i(u,{label:c(o),value:e,onChange:r,options:[{value:"",label:c(o)},...s.map(([f,h])=>({value:f,label:h}))]})}let Ce=wt?i("div",{className:"dssm-feedback"+(wt.error?" dssm-error":""),role:wt.error?"alert":"status"},Qt(wt)):null,er=he?i("div",{className:"dssm-note",role:"status","aria-live":"polite"},c("repo.refreshing")+" "+he.index+"/"+he.total+" \xB7 "+he.name):null,ke;if(y){let o,e,r;if(y.type==="install"&&(o=i("div",{className:"dssm-repo-panel","aria-busy":j},i("div",{className:"dssm-name"},y.skill.name),i(R,{t:c,value:ue,disabled:j,allowAgents:!0,workspaces:He,userDestinations:J,onChange:s=>{Ae.current||dt({...ue,...s})}}),i("p",{className:"dssm-note"},c("repo.installLocationsHint")),i("p",{className:"dssm-note"},c("repo.installHint")),j?i("div",{role:"status","aria-live":"polite"},c("repo.installProgress")):null,Ce,i("div",{className:"dssm-modal-actions"},oe("repo.cancel",st),oe(j?"repo.installing":"repo.install",Xa,!1,!U(ue,He,J))))),y.type==="uninstall"&&(e=c("repo.uninstallHint"),o=i("div",{className:"dssm-repo-panel","aria-busy":j},i("div",{className:"dssm-name"},y.skill.name),y.copy?i("div",{className:"dssm-repo-metadata"},va(y.copy)):null,y.copy?.installedRoot==="agents"&&!y.copy.installedWorkspace?i("p",{className:"dssm-feedback dssm-warning",role:"alert"},c("repo.uninstallExternalWarning")):null,j?i("div",{role:"status","aria-live":"polite"},c("repo.uninstallProgress")):null,Ce),r=i(a.Fragment,null,oe("repo.cancel",st),oe(j?"repo.uninstalling":"repo.confirmUninstall",Xa,!0,!y.copy||!Ue(y.copy),!0))),(y.type==="review"||y.type==="rollback")&&(o=i("div",{className:"dssm-repo-panel"},i("div",{className:"dssm-name"},y.skill.name),i("div",{className:"dssm-repo-metadata"},va(y.copy)),i("div",{className:"dssm-repo-metadata"},y.repo.owner+"/"+y.repo.name+" \xB7 "+y.detail.commit?.slice(0,7)),y.detail.localModified?i("p",{className:"dssm-feedback dssm-warning",role:"alert"},c("repo.modified")):null,y.detail.changes.length?i("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},y.detail.changes.map(s=>i("li",{key:s.path},c("repo."+(s.kind==="modified"?"modifiedFile":s.kind))+" \xB7 "+s.path))):i("p",null,c("repo.noChanges")),j?i("div",{role:"status"},c("repo.updateProgress")):null,Ce),r=i(a.Fragment,null,oe("repo.cancel",st),oe(y.detail.localModified?"repo.overwrite":y.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",vr,!1,!y.detail.changes.length||!Ue(y.copy)))),y.type==="add"&&(o=i("form",{className:"dssm-form",onSubmit:s=>{s.preventDefault(),Ee.url.trim()&&Z(async()=>{let f=await te("add",Ee);await zt(f.id),O(null)})}},[["url","repo.url",c("repo.urlPlaceholder")],["ref","repo.ref",c("repo.defaultBranch")],["subdirectory","repo.directory",c("repo.directoryHint")]].map(([s,f,h])=>i("label",{className:"dssm-field",key:s},i("span",{className:"dssm-label"},c(f)),i(l,{"aria-label":c(f),value:Ee[s],placeholder:h,maxLength:s==="url"?2048:512,required:s==="url",disabled:j,onChange:v=>ya({...Ee,[s]:v.target.value})}))),Ce,i("div",{className:"dssm-modal-actions"},oe("repo.cancel",st),oe("repo.save",()=>{Ee.url.trim()&&Z(async()=>{let s=await te("add",Ee);await zt(s.id),O(null)})},!1,!Ee.url.trim())))),y.type==="manage"&&(o=i("div",{className:"dssm-repo-panel"},i("p",{className:"dssm-desc"},c("repo.removeHint")),er,Ce,Ja())),y.type==="remove"&&(e=c("repo.removeHint"),o=i("div",null,i("div",{className:"dssm-name"},y.repo.owner+"/"+y.repo.name),Ce),r=i(a.Fragment,null,oe("repo.cancel",()=>O({type:"manage"})),oe("repo.removeConfirm",()=>Z(async()=>{await te("remove",{id:y.repo.id}),kt===y.repo.id&&_e(""),O({type:"manage"})}),!0,!1,!0))),y.type==="catalog-detail"&&y.detail){let s=y.detail;o=i("div",{className:"dssm-repo-panel"},i("div",{className:"dssm-detail-head"},i("div",{className:"dssm-name",title:s.name},s.name),s.body?i(w,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>pa(s.body)},c(ut==="copied"?"repo.copied":ut==="failed"?"repo.copyFailed":"repo.copyBody")):null),i("p",{className:"dssm-desc"},s.description),i("div",{className:"dssm-detail-path"},s.origin),i("p",{className:"dssm-note"},c("repo.installHint")),i(l.TextArea,{className:"dssm-detail-body",readOnly:!0,value:s.body||"",rows:16}))}if(y.type==="catalog-detail"&&!y.detail&&(o=i("div",{role:"status",className:"dssm-repo-panel"},y.loading?c("repo.detailLoading"):null,y.failed?Ce:null)),y.type==="catalog-install"&&(o=i("div",{className:"dssm-repo-panel","aria-busy":j},i("div",{className:"dssm-name"},y.target.name),i(R,{t:c,value:ue,disabled:j,allowAgents:!0,workspaces:He,userDestinations:J,onChange:s=>{Ae.current||dt({...ue,...s})}}),i("p",{className:"dssm-note"},c("repo.installLocationsHint")),i("p",{className:"dssm-note"},c("repo.installHint")),j?i("div",{role:"status","aria-live":"polite"},c("repo.installProgress")):null,Ce,i("div",{className:"dssm-modal-actions"},oe("repo.cancel",st),oe(j?"repo.installing":"repo.install",hr,!1,!U(ue,He,J))))),y.type==="catalog-uninstall"&&(e=c("repo.uninstallHint"),o=i("div",{className:"dssm-repo-panel","aria-busy":j},i("div",{className:"dssm-name"},y.copy.name),i("div",{className:"dssm-repo-metadata"},ae(y.copy)),y.copy.installedRoot==="agents"&&!y.copy.installedWorkspace?i("p",{className:"dssm-feedback dssm-warning",role:"alert"},c("repo.uninstallExternalWarning")):null,j?i("div",{role:"status","aria-live":"polite"},c("repo.uninstallProgress")):null,Ce),r=i(a.Fragment,null,oe("repo.cancel",st),oe(j?"repo.uninstalling":"repo.confirmUninstall",_t,!0,!1,!0))),y.type==="detail"&&y.detail){let s=y.detail;o=i("div",{className:"dssm-repo-panel"},i("div",{className:"dssm-detail-head"},i("div",{className:"dssm-name",title:s.name},s.name),s.body?i(w,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>pa(s.body)},c(ut==="copied"?"repo.copied":ut==="failed"?"repo.copyFailed":"repo.copyBody")):null),i("p",{className:"dssm-desc"},s.description),i("div",{className:"dssm-detail-path"},y.repo.owner+"/"+y.repo.name+" \xB7 "+s.path),i("div",{className:"dssm-repo-metadata"},c("repo.commit")+" \xB7 "+s.commit),i("p",{className:"dssm-note"},c("repo.installHint")),i(l.TextArea,{className:"dssm-detail-body",readOnly:!0,value:s.body||"",rows:16}))}y.type==="detail"&&!y.detail&&(o=i("div",{role:"status",className:"dssm-repo-panel"},y.loading?c("repo.detailLoading"):null,y.failed?Ce:null)),ke=i(t,{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:e,footer:r,closeLabel:c("repo.close"),onClose:st},o)}function Fe(o){return ca.includes(o)||Ve(o).length>0}function Ve(o){return Pt(pr.filter(e=>e.id===o))}function ae(o){return At(o)}function tr(o){!Ae.current&&o.canUninstall&&(X(null),O({type:"catalog-uninstall",copy:o}))}function _t(){if(!y||y.type!=="catalog-uninstall")return;let o=y.copy;return Z(async()=>{if(await m("/delete",{method:"POST",headers:g,body:JSON.stringify({name:o.name,root:o.installedRoot,...o.installedWorkspace?{workspace:o.installedWorkspace}:{}})}),!z.current)return;Rt(r=>r.filter(s=>s!==o&&!(s.id===o.id&&s.installedRoot===o.installedRoot&&s.installedWorkspace===o.installedWorkspace))),X({key:"repo.uninstallSuccess",name:o.name}),O(null);let e=await Promise.allSettled([ht(),Promise.resolve().then(()=>V?.())]);z.current&&e.some(r=>r.status==="rejected")&&X({key:"repo.catalog.uninstallRefreshWarning",name:o.name})},!1)}function it(o,e,r,s){let f=Ve(o);return i("div",{className:"dssm-repo-actions"},Se("repo.detail",r),e&&!f.length?i("span",{className:"dssm-note",role:"status"},c("repo.catalog.unknownLocation")):null,f.length?Se("repo.installElsewhere",s):Fe(o)?i("span",{className:"dssm-catalog-installed",role:"status"},c("repo.installed")):Se(e?"repo.catalog.reassociate":"repo.install",s))}function yt(o){let e=Ve(o);return e.length?i("div",{className:"dssm-repo-copies"},e.map(r=>i("div",{className:"dssm-repo-copy",key:JSON.stringify([r.id,r.installedRoot,r.installedWorkspace||""])},rt(r),r.canUninstall?Se("repo.uninstall",()=>tr(r),!1,At(r)):null))):null}let $t=Ct.filter(o=>{let e=Fe(`clawhub:${o.owner}/${o.slug}`);return!se||(se==="installed"?e:!e)}),Na=ct==="installs"?$t.slice().sort((o,e)=>(e.installs||0)-(o.installs||0)):ct==="name"?$t.slice().sort((o,e)=>o.name.localeCompare(e.name)):$t,Pe=o=>{let e=Ft.includes(`clawhub:${o.owner}/${o.slug}`),r=[o.source,o.downloads===void 0?null:o.downloads.toLocaleString()+" "+c("repo.catalog.downloads"),o.installs===void 0?null:o.installs.toLocaleString()+" "+c("repo.catalog.installs"),o.stars===void 0?null:o.stars.toLocaleString()+" "+c("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return i("div",{key:o.id,className:"dssm-repo-row"},i("div",{className:"dssm-repo-head"},i("div",{className:"dssm-repo-main"},i("div",{className:"dssm-name"},o.name),o.description?i("div",{className:"dssm-repo-description",title:o.description},o.description):null,i("div",{className:"dssm-meta-origin"},r)),it(`clawhub:${o.owner}/${o.slug}`,e,()=>Za({catalog:"clawhub",owner:o.owner,slug:o.slug,name:o.name}),()=>nt({catalog:"clawhub",owner:o.owner,slug:o.slug,name:o.name}))),yt(`clawhub:${o.owner}/${o.slug}`))},ea=i("div",{className:"dssm-catalog-list",onWheel:Yt},Na.map(Pe),!Na.length&&!Lt&&!pt?i("div",{className:"dssm-empty"},c("repo.catalog.empty")):null,Lt?i("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},i("span",{className:"dssm-repo-spinner","aria-hidden":!0}),Ct.length?c("repo.catalog.loadingMore"):c("repo.catalog.loading")):null,pt?i("div",{className:"dssm-feedback dssm-error",role:"alert"},c("repo.catalog.loadError"),i(w,{variant:"ghost",size:"sm",onClick:()=>{ot()}},c("repo.catalog.retry"))):null,Y==="clawhub"&&!pe.trim()&&et&&!pt?i("div",{className:"dssm-catalog-sentinel",ref:Wa,"aria-hidden":!0}):null,Y==="clawhub"&&!pe.trim()&&et&&!pt&&!Lt?i("div",{className:"dssm-catalog-loading"},i(w,{variant:"ghost",size:"sm",onClick:()=>{ot(!1,!0)}},c("repo.catalog.loadMore"))):null),ar=i("div",{className:"dssm-catalog-list"},Ba.map(Pe),pe.trim()&&!Ba.length&&!ga&&!tt?i("div",{className:"dssm-empty"},c("repo.catalog.searchEmpty")):null,ga?i("div",{className:"dssm-note",role:"status","aria-live":"polite"},c("repo.catalog.searchLoading")):null,tt?i("div",{className:"dssm-feedback dssm-error",role:"alert"},c("repo.catalog.searchError"),i(w,{variant:"ghost",size:"sm",onClick:()=>{Sa(pe.trim())}},c("repo.catalog.retry"))):null),Ra=gt.filter(o=>{if(!Kt)return!0;let e=Fe(`skillsh:${o.source}/${o.skillId}`);return Kt==="installed"?e:!e}),La=i("div",{className:"dssm-catalog-list"},Ra.map(o=>{let e=`skillsh:${o.source}/${o.skillId}`,r=Ft.includes(e),s=[o.source,o.installs===void 0?null:o.installs.toLocaleString()+" "+c("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return i("div",{key:o.id,className:"dssm-repo-row"},i("div",{className:"dssm-repo-head"},i("div",{className:"dssm-repo-main"},i("div",{className:"dssm-name"},o.name),i("div",{className:"dssm-meta-origin"},s)),it(e,r,()=>Za({catalog:"skillsh",source:o.source,skillId:o.skillId,name:o.name}),()=>nt({catalog:"skillsh",source:o.source,skillId:o.skillId,name:o.name}))),yt(e))}),Et.trim()&&!Ra.length&&!at&&!ba?i("div",{className:"dssm-empty"},c("repo.catalog.skillshEmpty")):null,at?i("div",{className:"dssm-note",role:"status","aria-live":"polite"},c("repo.catalog.skillshLoading")):null,ba?i("div",{className:"dssm-feedback dssm-error",role:"alert"},c("repo.catalog.skillshError"),i(w,{variant:"ghost",size:"sm",onClick:()=>{Zt(Et.trim())}},c("repo.catalog.retry"))):null),We=i("div",{className:"dssm-subsources"},i("button",{type:"button",className:"dssm-subsource-btn"+(Y==="github"?" on":""),"aria-pressed":Y==="github",onClick:()=>Be("github")},c("repo.subsource.github")+" ("+C.length+")"),i("button",{type:"button",className:"dssm-subsource-btn"+(Y==="clawhub"?" on":""),"aria-pressed":Y==="clawhub",onClick:()=>Be("clawhub")},c("repo.subsource.clawhub")),i("button",{type:"button",className:"dssm-subsource-btn"+(Y==="skillsh"?" on":""),"aria-pressed":Y==="skillsh",onClick:()=>Be("skillsh")},c("repo.subsource.skillsh"))),ta=Y==="github"?i("div",{className:"dssm-filters"},i("div",{className:"dssm-source-filter"},Ht("repo.all",kt,_e,C.map(o=>[o.id,o.owner+"/"+o.name]))),i("div",{className:"dssm-status-filter"},Ht("repo.states",xt,o=>{ia(o),St({})},["available","installed","update","conflict","invalid"].map(o=>[o,c("repo."+o)]))),i(l,{className:"dssm-search",allowClear:!0,"aria-label":c("repo.search"),placeholder:c("repo.search"),value:Xe,onChange:o=>{sa(o.target.value),St({})}}),kr()):Y==="clawhub"?i("div",{className:"dssm-filters dssm-catalog-filters"},pe.trim()?null:i("div",{className:"dssm-catalog-sort-filter"},Ht("repo.subsource.popular",ct,Da,[["installs",c("repo.sort.installs")],["name",c("repo.sort.name")]])),pe.trim()?null:i("div",{className:"dssm-catalog-status-filter"},Ht("repo.catalog.states",se,$e,[["available",c("repo.available")],["installed",c("repo.installed")]])),i(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":c("repo.catalog.searchClawhub"),placeholder:c("repo.catalog.searchClawhub"),value:pe,onChange:o=>It(o.target.value)})):Y==="skillsh"?i("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},i("div",{className:"dssm-catalog-status-filter"},Ht("repo.catalog.states",Kt,Va,[["available",c("repo.catalog.uninstalled")],["installed",c("repo.installed")]])),i(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":c("repo.catalog.searchSkillsh"),placeholder:c("repo.catalog.searchSkillsh"),value:Et,onChange:o=>Oe(o.target.value)})):null,rr=i("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":j},i("style",null,jo),We,Y==="github"?i("p",{className:"dssm-desc"},c("repo.hint")):Y==="clawhub"&&!pe.trim()?i("p",{className:"dssm-desc"},c("repo.subsource.catalogNote")):null,ta,Ft.length?i("div",{className:"dssm-note",role:"status"},c("repo.catalog.unknownHint")):null,Re.map(o=>i("div",{key:o.id,className:"dssm-feedback dssm-error",role:"alert"},o.id+" \xB7 "+xa(o))),Ce,y?null:er,j&&!he?i("div",{className:"dssm-note",role:"status"},c("repo.loading")):null,Y==="github"?C.length?Nr:i("div",{className:"dssm-empty"},c("repo.empty")):Y==="skillsh"?La:pe.trim()?ar:ea,i("p",{className:"dssm-note"},c("repo.footer")),ke);return{actions:xr,content:rr,focusSource:(o,e)=>{_e(o.id),sa(e),ia(""),St({[o.id]:!0})}}}}var ra=()=>({scope:"user",location:"dsh",workspace:""});function or(a){return a.scope==="workspace"?{workspace:a.workspace}:{root:a.location==="agents"?"agents":"dsh"}}function jt(a,t,l){return a.scope==="user"?!l||l.some(d=>d.key===a.location&&d.available===!0):t.some(d=>d.available&&!!d.registeredPaths[0]&&d.registeredPaths[0]===a.workspace)}function Do(a){let t=a.includes("\\")?"\\":"/";return a.replace(/[\\/]+$/,"")+t+".dsh"+t+"skills"}var Lr={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."}},Vr=[".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 Uo({react:a,SourceSelect:t,translateError:l}){let d=a.createElement;return function({t:p,value:m,onChange:g,workspaces:b,userDestinations:k,allowAgents:x,disabled:A}){let i=m.scope==="workspace",D=b.find(C=>!!C.registeredPaths[0]&&C.registeredPaths[0]===m.workspace),G=[{value:"user",label:p("dest.scope.user")},{value:"workspace",label:p("dest.scope.workspace")}],le=new Map;for(let C of b)le.set(C.name,(le.get(C.name)??0)+1);let w=[{value:"",label:p("dest.workspace.placeholder")}].concat(b.map(C=>({value:C.registeredPaths[0]||"",label:C.available?(le.get(C.name)??0)>1?C.name+" \xB7 "+C.path:C.name:p("dest.workspace.unavailable",{name:C.name}),disabled:!C.available||!C.registeredPaths[0]}))),de=(x?["dsh","agents"]:["dsh"]).filter(C=>k.some(N=>N.key===C)),M=C=>k.find(N=>N.key===C),U=C=>de.some(N=>N===C)&&M(C)?.available!==!1,re=de.map(C=>({value:C,label:p("dest.location."+C),disabled:M(C)?.available===!1})),H=i?d("div",{className:"dssm-field",key:"workspace"},d("span",{className:"dssm-label"},p("dest.workspace")),d(t,{label:p("dest.workspace"),value:m.workspace,disabled:A||b.length===0,options:w,onChange:C=>{!A&&b.length>0&&(C===""||jt({...m,scope:"workspace",workspace:C},b))&&g({workspace:C})}})):d("div",{className:"dssm-field",key:"location"},d("span",{className:"dssm-label"},p("dest.location")),d(t,{label:p("dest.location"),value:m.location,disabled:A||de.length===0,options:re,onChange:C=>{!A&&U(C)&&g({location:C})}})),c=i?D&&D.available?Do(D.projectRoot||D.path):"":M(m.location)?.path??"",V=i?[]:de.filter(C=>M(C)?.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"},p("dest.scope")),d(t,{label:p("dest.scope"),value:m.scope,disabled:A,options:G,onChange:C=>{!A&&(C==="workspace"||C==="user")&&g(C==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),H),i&&b.length===0?d("p",{className:"dssm-feedback dssm-warning",role:"status"},p("dest.empty")):null,i&&b.length>0&&!D?d("p",{className:"dssm-note"},p("dest.pickFirst")):null,c?d("code",{className:"dssm-destination-path"},c):null,V.map(C=>d("div",{key:C,className:"dssm-note dssm-destination-unavailable"},d("span",null,p("dest.location."+C)),d("code",{className:"dssm-destination-path"},M(C)?.path??""),d("span",null,M(C)?.error?l(p,M(C).error):""))),i&&D?d("p",{className:"dssm-note"},p("dest.projectNote")+" "+p("dest.location.agentsOff")):null)}}function Wr(a){return{DestinationPicker:Uo(a),defaultDestination:ra,destinationPayload:or,destinationReady:jt}}var T=aa(require("react"),1),Er=require("react-dom/client"),Dt=require("@deepseek-ai/dsh-client-ui-primitives");var Oo={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"},Bo={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 Aa(a){return a.toLowerCase().startsWith("zh")?Oo:Bo}function Fo(a,t,l,d){let u=Aa(a),p=t?.restartDesktop===!0||t?.profileName==="desktop",m=p?{...u,manualHint:u.manualHintDesktop}:u,g=l!=="idle",b=m.checking,k="";return l==="checking"?b=m.checking:l==="updating"?b=m.updating:d.type==="error"?(b=d.message||m.failed,k="error"):d.type==="restart"?(b=p?m.restartDesktop:m.restart,k="success"):d.type==="restarting"?(b=m.restarting,k="success"):t===void 0?b=m.checking:t.latestCheckFailed?(b=m.failed,k="error"):!t.canAutoUpdate&&t.updateAvailable?(b=m.unavailable,k="update"):t.updateAvailable?(b=`${m.found}: v${t.latestVersion??m.unknown}`,k="update"):(b=m.latest,k="success"),{copy:m,busy:g,message:b,kind:k,loading:l==="updating",updateLabel:l==="updating"?m.updating:m.auto,disabled:g||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 Kr(a,t,l){let d="idle",u=t,p={type:"status"},m=0,g=new Set,b=()=>{for(let x of g)x()},k=x=>{u=x,l?.(x)};return{get posts(){return m},subscribe(x){return g.add(x),()=>{g.delete(x)}},view(x){return Fo(x,u,d,p)},async check(){if(d==="idle"){d="checking",p={type:"status"},b();try{k(await a("GET")),p={type:"status"}}catch(x){p={type:"error",message:x instanceof Error?x.message:""}}finally{d="idle",b()}}},async update(){if(d==="idle"){d="updating",p={type:"status"},m+=1,b();try{let x=await a("POST");k(x),p={type:x.autoReload===!0?"restarting":"restart"}}catch(x){p={type:"error",message:x instanceof Error?x.message:""}}finally{d="idle",b()}}}}}function qr(a,t,l){return`dsh plugin${a.trim()===""?"":` --profile ${a.trim()}`} add ${t}@${l} --registry=https://registry.npmjs.org/`}function Qr(a,t){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),t(),!0)}function Vo(){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 Pa(a){if(typeof a!="string"||a.charAt(0)!=="/"||a.charAt(1)==="/")return a;let t=Vo();if(t===void 0)return a;try{return new URL(a.slice(1),t).href}catch{return a}}var Wo="x-michengai-plugin-update",Zr="michengai-plugin-update-ui",Ko=`
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,15 +22,15 @@ 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 Wo(){if(document.getElementById(qr)!==null)return;let a=document.createElement("style");a.id=qr,a.textContent=Vo,(document.head??document.documentElement).append(a)}function Ko(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 Qr(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",[Fo]:"1"},body:"{}",...c}),u=await p.json();if(!p.ok||!Ko(u))throw new Error(u&&typeof u=="object"&&"error"in u&&typeof u.error=="string"?u.error:La(document.documentElement.lang).failed);return u}function qo(a){let t=L.default.useRef(null);return L.default.useLayoutEffect(()=>{t.current?.replaceChildren(a.node)},[a.node]),L.default.createElement("span",{ref:t,className:"mpi-icon","aria-hidden":!0})}function Qo(a){let t=L.default.useRef(null),[,d]=L.default.useState(0),[c,p]=L.default.useState("idle");L.default.useEffect(()=>a.flow.subscribe(()=>d(C=>C+1)),[a.flow]),L.default.useEffect(()=>{let C=document.documentElement,P=new MutationObserver(()=>d(i=>i+1));return P.observe(C,{attributes:!0,attributeFilter:["lang"]}),()=>P.disconnect()},[]),L.default.useEffect(()=>{a.flow.check()},[a.flow]),L.default.useEffect(()=>{function C(P){Kr(P,a.onClose)}return document.addEventListener("keydown",C,!0),()=>document.removeEventListener("keydown",C,!0)},[a.onClose]);let u=document.documentElement.lang,f=a.flow.view(u),g=u.toLowerCase().startsWith("zh")?a.zhName:a.enName,w=Wr(f.profileRaw,a.packageName,f.latestRaw),S=c==="copied"?f.copy.copied:c==="failed"?f.copy.copyFailed:f.copy.copy;return L.default.createElement(Dt.Modal,{open:!0,className:"mpi-dialog",title:`${g} ${f.copy.update}`,onClose:a.onClose,closeLabel:"Close",footer:[L.default.createElement(Dt.Button,{key:"check",variant:"outline",size:"sm",disabled:f.busy,onClick:()=>{a.flow.check()}},f.copy.recheck),L.default.createElement(Dt.Button,{key:"update",variant:"primary",size:"sm",disabled:f.disabled,onClick:()=>{a.flow.update()}},f.updateLabel)]},L.default.createElement("div",{ref:t},L.default.createElement("p",{className:"mpi-intro"},f.copy.intro),L.default.createElement("dl",{className:"mpi-meta"},L.default.createElement("dt",null,f.copy.current),L.default.createElement("dd",null,L.default.createElement("span",{className:"mpi-mono"},f.currentVersion)),L.default.createElement("dt",null,f.copy.latestLabel),L.default.createElement("dd",{className:"mpi-latest"},L.default.createElement("span",{className:"mpi-mono"},f.latestVersion),L.default.createElement("span",{className:"mpi-status",role:"status","data-kind":f.kind,...f.kind==="update"?{style:{color:"#e8b15a"}}:{}},f.message)),L.default.createElement("dt",null,f.copy.profile),L.default.createElement("dd",null,L.default.createElement("span",{className:"mpi-mono"},f.profileName))),f.busy?L.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},L.default.createElement("div",{className:"dssm-update-progress-bar"})):null,L.default.createElement("section",{className:"mpi-manual"},L.default.createElement("h3",null,f.copy.manual),L.default.createElement("p",null,f.copy.manualHint),L.default.createElement("div",{className:"mpi-command"},L.default.createElement("code",null,w),L.default.createElement(Dt.Button,{variant:"outline",size:"sm",disabled:f.busy,onClick:()=>{let C=navigator.clipboard?.writeText(w);if(C===void 0){p("failed");return}C.then(()=>{p("copied"),window.setTimeout(()=>p("idle"),1400)}).catch(()=>p("failed"))}},S)))))}function Zr(a){if(typeof document>"u"||document.body===null)return()=>{};let t=Pa(a.endpoint);Wo();let d=new AbortController,c,p,u,f,g,w,S;function C(){u?.unmount(),u=void 0,p=void 0,f=void 0}function P(){if(u===void 0)return;f===void 0&&(f=a.createIcon("refresh"));let I=f;u.render(L.default.createElement(Dt.Button,{variant:"outline",size:"sm",onClick:U,icon:L.default.createElement(qo,{node:I})},L.default.createElement("span",{"data-mpi-label":""},La(document.documentElement.lang).check)))}function i(){w?.unmount(),w=void 0,g?.remove(),g=void 0}function U(){i();let I=document.createElement("div");I.className="mpi-dialog-root",document.body.append(I),g=I,w=(0,Rr.createRoot)(I),w.render(L.default.createElement(Qo,{flow:Vr(q=>Qr(t,q,d.signal),c,q=>{c=q,X()}),packageName:a.packageName,zhName:a.zhName,enName:a.enName,onClose:i}))}function X(){let I=document.querySelector(a.titleRowSelector);if(I===null)return;let q=I.querySelector("h1,h2");p!==void 0&&!p.isConnected&&C();let me=I.querySelector(a.linksSelector);if(me===null)return;let F=me.querySelector(`[data-mpi-check="${a.packageName}"]`);if(a.isEnabled&&!a.isEnabled()){if(g!==void 0&&i(),F!==null&&(C(),F.remove()),q!==null){let T=q.querySelector(`.mpi-version[data-package="${a.packageName}"]`);T!==null&&T.remove()}return}if(q!==null&&c!==void 0){let T=q.querySelector(`.mpi-version[data-package="${a.packageName}"]`);T===null&&(T=document.createElement("span"),T.className="mpi-version",T.dataset.package=a.packageName,q.append(T));let v=`v${c.currentVersion}`;T.textContent!==v&&(T.textContent=v)}if(F!==null){let T=F.querySelector("[data-mpi-label]");(T===null||T.textContent!==La(document.documentElement.lang).check)&&P();return}let l=document.createElement("span");l.dataset.mpiCheck=a.packageName,l.className="mpi-check-host",me.append(l),p=l,u=(0,Rr.createRoot)(l),P()}let _,k=()=>(_!==void 0||(_=Qr(t,"GET",d.signal).then(I=>(d.signal.aborted||(c=I,X()),I)).finally(()=>{_=void 0})),_),N=new MutationObserver(()=>{S===void 0&&(S=window.requestAnimationFrame(()=>{S=void 0,X()}))});N.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),X(),k().catch(()=>{});let oe=()=>{d.abort(),N.disconnect(),i(),C(),S!==void 0&&window.cancelAnimationFrame(S),document.querySelectorAll(`[data-mpi-check="${a.packageName}"],.mpi-version[data-package="${a.packageName}"]`).forEach(I=>I.remove())};return oe.refresh=()=>{d.signal.aborted||(X(),c===void 0&&(!a.isEnabled||a.isEnabled())&&k().catch(()=>{}))},oe}var ra=require("@deepseek-ai/dsh-client-ui-primitives");function Yr(a,t){return a.key!=="Escape"?!1:(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation(),t(),!0)}function Gr(a){let t=a.createElement;return function(c){let p=a.useState(!1),u=p[0],f=p[1];a.useEffect(function(){if(!u||typeof window>"u")return;function C(P){Yr(P,function(){f(!1)})}return window.addEventListener("keydown",C,!0),function(){window.removeEventListener("keydown",C,!0)}},[u]);let g=a.useMemo(function(){return c.options.map(function(C){return{id:C.value,label:C.label,disabled:C.disabled,danger:C.danger}})},[c.options]);if(c.action)return t("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},t(ra.Menu,{open:u,onClose:function(){f(!1)},onSelect:function(C){c.onChange(C),f(!1)},align:"end",portal:!0,anchor:t(ra.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||f(function(C){return!C})},icon:c.icon},c.icon?null:c.label),items:g}));let w=c.options.find(function(C){return C.value===c.value}),S=w?w.label:c.label;return t("div",{className:"dssm-menu-select-wrap"},t(ra.Menu,{open:u,onClose:function(){f(!1)},onSelect:function(C){c.onChange(C),f(!1)},selectedId:c.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:t(ra.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":c.label,"aria-expanded":u,disabled:c.disabled,className:"dssm-menu-select-trigger"+(u?" is-open":""),onClick:function(){c.disabled||f(function(C){return!C})}},t("span",{className:"dssm-menu-select-label"},S),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:u?"rotate(180deg)":"none"}},t("path",{d:"m4 6 4 4 4-4"}))),items:g}))}}var we=Ea(require("@deepseek-ai/dsh-client-ui-primitives"),1),Ie=require("@deepseek-ai/dsh-client-ui-primitives");var Jr=Ea(require("react"),1),Xr=require("@deepseek-ai/dsh-client-ui-primitives");function Zo(a){let{autoSize:t,className:d,rows:c,...p}=a;return Jr.default.createElement("textarea",{...p,className:["dssm-textarea",d].filter(Boolean).join(" "),rows:t?.minRows||c||4})}var Pe=Object.assign(Xr.Input,{TextArea:Zo});function _r(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 nt="data-dssm-nav-icon",Yo='[role="dialog"] nav button',Ar='<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"/>',$r=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${Ar.replace(/fill=\"currentColor\"/g,'fill="black"')}</svg>`)}")`,eo="dssm-settings-nav-icon-style",Go=[`[${nt}] > svg { display: none !important; }`,`[${nt}]::before {`," content: '';"," flex: none;"," width: 16px;"," height: 16px;"," background-color: currentColor;",` -webkit-mask: ${$r} center / contain no-repeat;`,` mask: ${$r} 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 Jo(a,t){let d=String(t??"").trim();return d.length===0?!1:String(a??"").trim()===d}function Xo(){if(typeof document>"u"||document.getElementById(eo)!==null)return;let a=document.createElement("style");a.id=eo,a.textContent=Go,(document.head??document.documentElement).appendChild(a)}function _o(a,t){return Jo(a.textContent,t())?a.getAttribute(nt)===""?!1:(a.setAttribute(nt,""),!0):a.hasAttribute(nt)?(a.removeAttribute(nt),!0):!1}function $o(a){return a.hasAttribute(nt)?(a.removeAttribute(nt),!0):!1}function to(a,t){typeof document>"u"||(Xo(),a.effect(()=>{let d=!1,c=!1,p=()=>{if(c=!1,!d)for(let g of document.querySelectorAll(Yo))_o(g,t)},u=()=>{c||d||(c=!0,queueMicrotask(p))};p();let f=new MutationObserver(u);return f.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{d=!0,f.disconnect();for(let g of document.querySelectorAll(`[${nt}]`))$o(g)}},"skills-manager: settings nav icon"))}var Te=Ea(require("react"),1),Lr=require("@deepseek-ai/dsh-client-ui-primitives");var pe=Te.createElement,es="@michengai/dsh-skills-manager",Er="skills-manager",ts=2,Pr={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."}},ao="dssm-sidebar-entry-style",Tr=`
25
+ `;function qo(){if(document.getElementById(Zr)!==null)return;let a=document.createElement("style");a.id=Zr,a.textContent=Ko,(document.head??document.documentElement).append(a)}function Qo(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 Yr(a,t,l){let d=l===void 0?{}:{signal:l},u=await fetch(a,t==="GET"?{cache:"no-store",...d}:{method:"POST",headers:{"content-type":"application/json",[Wo]:"1"},body:"{}",...d}),p=await u.json();if(!u.ok||!Qo(p))throw new Error(p&&typeof p=="object"&&"error"in p&&typeof p.error=="string"?p.error:Aa(document.documentElement.lang).failed);return p}function Zo(a){let t=T.default.useRef(null);return T.default.useLayoutEffect(()=>{t.current?.replaceChildren(a.node)},[a.node]),T.default.createElement("span",{ref:t,className:"mpi-icon","aria-hidden":!0})}function Yo(a){let t=T.default.useRef(null),[,l]=T.default.useState(0),[d,u]=T.default.useState("idle");T.default.useEffect(()=>a.flow.subscribe(()=>l(x=>x+1)),[a.flow]),T.default.useEffect(()=>{let x=document.documentElement,A=new MutationObserver(()=>l(i=>i+1));return A.observe(x,{attributes:!0,attributeFilter:["lang"]}),()=>A.disconnect()},[]),T.default.useEffect(()=>{a.flow.check()},[a.flow]),T.default.useEffect(()=>{function x(A){Qr(A,a.onClose)}return document.addEventListener("keydown",x,!0),()=>document.removeEventListener("keydown",x,!0)},[a.onClose]);let p=document.documentElement.lang,m=a.flow.view(p),g=p.toLowerCase().startsWith("zh")?a.zhName:a.enName,b=qr(m.profileRaw,a.packageName,m.latestRaw),k=d==="copied"?m.copy.copied:d==="failed"?m.copy.copyFailed:m.copy.copy;return T.default.createElement(Dt.Modal,{open:!0,className:"mpi-dialog",title:`${g} ${m.copy.update}`,onClose:a.onClose,closeLabel:"Close",footer:[T.default.createElement(Dt.Button,{key:"check",variant:"outline",size:"sm",disabled:m.busy,onClick:()=>{a.flow.check()}},m.copy.recheck),T.default.createElement(Dt.Button,{key:"update",variant:"primary",size:"sm",disabled:m.disabled,onClick:()=>{a.flow.update()}},m.updateLabel)]},T.default.createElement("div",{ref:t},T.default.createElement("p",{className:"mpi-intro"},m.copy.intro),T.default.createElement("dl",{className:"mpi-meta"},T.default.createElement("dt",null,m.copy.current),T.default.createElement("dd",null,T.default.createElement("span",{className:"mpi-mono"},m.currentVersion)),T.default.createElement("dt",null,m.copy.latestLabel),T.default.createElement("dd",{className:"mpi-latest"},T.default.createElement("span",{className:"mpi-mono"},m.latestVersion),T.default.createElement("span",{className:"mpi-status",role:"status","data-kind":m.kind,...m.kind==="update"?{style:{color:"#e8b15a"}}:{}},m.message)),T.default.createElement("dt",null,m.copy.profile),T.default.createElement("dd",null,T.default.createElement("span",{className:"mpi-mono"},m.profileName))),m.busy?T.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},T.default.createElement("div",{className:"dssm-update-progress-bar"})):null,T.default.createElement("section",{className:"mpi-manual"},T.default.createElement("h3",null,m.copy.manual),T.default.createElement("p",null,m.copy.manualHint),T.default.createElement("div",{className:"mpi-command"},T.default.createElement("code",null,b),T.default.createElement(Dt.Button,{variant:"outline",size:"sm",disabled:m.busy,onClick:()=>{let x=navigator.clipboard?.writeText(b);if(x===void 0){u("failed");return}x.then(()=>{u("copied"),window.setTimeout(()=>u("idle"),1400)}).catch(()=>u("failed"))}},k)))))}function Gr(a){if(typeof document>"u"||document.body===null)return()=>{};let t=Pa(a.endpoint);qo();let l=new AbortController,d,u,p,m,g,b,k;function x(){p?.unmount(),p=void 0,u=void 0,m=void 0}function A(){if(p===void 0)return;m===void 0&&(m=a.createIcon("refresh"));let M=m;p.render(T.default.createElement(Dt.Button,{variant:"outline",size:"sm",onClick:D,icon:T.default.createElement(Zo,{node:M})},T.default.createElement("span",{"data-mpi-label":""},Aa(document.documentElement.lang).check)))}function i(){b?.unmount(),b=void 0,g?.remove(),g=void 0}function D(){i();let M=document.createElement("div");M.className="mpi-dialog-root",document.body.append(M),g=M,b=(0,Er.createRoot)(M),b.render(T.default.createElement(Yo,{flow:Kr(U=>Yr(t,U,l.signal),d,U=>{d=U,G()}),packageName:a.packageName,zhName:a.zhName,enName:a.enName,onClose:i}))}function G(){let M=document.querySelector(a.titleRowSelector);if(M===null)return;let U=M.querySelector("h1,h2");u!==void 0&&!u.isConnected&&x();let re=M.querySelector(a.linksSelector);if(re===null)return;let H=re.querySelector(`[data-mpi-check="${a.packageName}"]`);if(a.isEnabled&&!a.isEnabled()){if(g!==void 0&&i(),H!==null&&(x(),H.remove()),U!==null){let V=U.querySelector(`.mpi-version[data-package="${a.packageName}"]`);V!==null&&V.remove()}return}if(U!==null&&d!==void 0){let V=U.querySelector(`.mpi-version[data-package="${a.packageName}"]`);V===null&&(V=document.createElement("span"),V.className="mpi-version",V.dataset.package=a.packageName,U.append(V));let C=`v${d.currentVersion}`;V.textContent!==C&&(V.textContent=C)}if(H!==null){let V=H.querySelector("[data-mpi-label]");(V===null||V.textContent!==Aa(document.documentElement.lang).check)&&A();return}let c=document.createElement("span");c.dataset.mpiCheck=a.packageName,c.className="mpi-check-host",re.append(c),u=c,p=(0,Er.createRoot)(c),A()}let le,w=()=>(le!==void 0||(le=Yr(t,"GET",l.signal).then(M=>(l.signal.aborted||(d=M,G()),M)).finally(()=>{le=void 0})),le),R=new MutationObserver(()=>{k===void 0&&(k=window.requestAnimationFrame(()=>{k=void 0,G()}))});R.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),G(),w().catch(()=>{});let de=()=>{l.abort(),R.disconnect(),i(),x(),k!==void 0&&window.cancelAnimationFrame(k),document.querySelectorAll(`[data-mpi-check="${a.packageName}"],.mpi-version[data-package="${a.packageName}"]`).forEach(M=>M.remove())};return de.refresh=()=>{l.signal.aborted||(G(),d===void 0&&(!a.isEnabled||a.isEnabled())&&w().catch(()=>{}))},de}var oa=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 Xr(a){let t=a.createElement;return function(d){let u=a.useState(!1),p=u[0],m=u[1];a.useEffect(function(){if(!p||typeof window>"u")return;function x(A){Jr(A,function(){m(!1)})}return window.addEventListener("keydown",x,!0),function(){window.removeEventListener("keydown",x,!0)}},[p]);let g=a.useMemo(function(){return d.options.map(function(x){return{id:x.value,label:x.label,disabled:x.disabled,danger:x.danger}})},[d.options]);if(d.action)return t("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},t(oa.Menu,{open:p,onClose:function(){m(!1)},onSelect:function(x){d.onChange(x),m(!1)},align:"end",portal:!0,anchor:t(oa.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||m(function(x){return!x})},icon:d.icon},d.icon?null:d.label),items:g}));let b=d.options.find(function(x){return x.value===d.value}),k=b?b.label:d.label;return t("div",{className:"dssm-menu-select-wrap"},t(oa.Menu,{open:p,onClose:function(){m(!1)},onSelect:function(x){d.onChange(x),m(!1)},selectedId:d.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:t(oa.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":d.label,"aria-expanded":p,disabled:d.disabled,className:"dssm-menu-select-trigger"+(p?" is-open":""),onClick:function(){d.disabled||m(function(x){return!x})}},t("span",{className:"dssm-menu-select-label"},k),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:p?"rotate(180deg)":"none"}},t("path",{d:"m4 6 4 4 4-4"}))),items:g}))}}var xe=aa(require("@deepseek-ai/dsh-client-ui-primitives"),1),Me=require("@deepseek-ai/dsh-client-ui-primitives");var _r=aa(require("react"),1),$r=require("@deepseek-ai/dsh-client-ui-primitives");function Go(a){let{autoSize:t,className:l,rows:d,...u}=a;return _r.default.createElement("textarea",{...u,className:["dssm-textarea",l].filter(Boolean).join(" "),rows:t?.minRows||d||4})}var Ie=Object.assign($r.Input,{TextArea:Go});function eo(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 nr=aa(require("react"),1),Ke="data-dssm-nav-icon",Jo='[role="dialog"] nav button',Ar='<path fill="currentColor" d="M12.5113 15.4067C12.4395 15.6249 12.1308 15.6249 12.059 15.4067L11.643 14.1416C11.454 13.567 11.0033 13.1164 10.4288 12.9274L9.16369 12.5113C8.94544 12.4395 8.94544 12.1308 9.16369 12.059L10.4288 11.643C11.0033 11.454 11.454 11.0033 11.643 10.4288L12.059 9.16369C12.1308 8.94544 12.4395 8.94544 12.5113 9.16369L12.9274 10.4288C13.1164 11.0033 13.567 11.454 14.1416 11.643L15.4067 12.059C15.6249 12.1308 15.6249 12.4395 15.4067 12.5113L14.1416 12.9274C13.567 13.1164 13.1164 13.567 12.9274 14.1416L12.5113 15.4067Z"/><path fill="currentColor" d="M9.02246 0.546878C9.9822 0.546878 10.7564 0.545403 11.374 0.612307C12.0042 0.680586 12.5515 0.826244 13.0273 1.17188C13.3052 1.37376 13.5501 1.61868 13.752 1.89649C14.0975 2.37225 14.2432 2.91984 14.3115 3.54981C14.3784 4.16727 14.377 4.94206 14.377 5.90137V8.51367C13.9611 8.29533 13.5071 8.13985 13.0273 8.06055V5.90137C13.0273 4.9121 13.0259 4.22322 12.9688 3.69532C12.9129 3.18044 12.8098 2.89782 12.6592 2.69043C12.5406 2.52724 12.3966 2.38326 12.2334 2.26465C12.026 2.11404 11.7437 2.0109 11.2285 1.95508C10.7005 1.89789 10.0122 1.89649 9.02246 1.89649H6.55371C5.56395 1.89649 4.87569 1.89787 4.34766 1.95508C3.83242 2.01092 3.55022 2.11398 3.34278 2.26465C3.17953 2.38329 3.03564 2.52719 2.91699 2.69043C2.76642 2.89782 2.66325 3.18042 2.60742 3.69532C2.55027 4.22322 2.54883 4.9121 2.54883 5.90137V10.0986C2.54883 11.0878 2.55031 11.7768 2.60742 12.3047C2.66326 12.8196 2.76642 13.1032 2.91699 13.3105C3.03558 13.4736 3.17966 13.6178 3.34278 13.7363C3.5502 13.8869 3.83265 13.9901 4.34766 14.0459C4.87568 14.1031 5.56398 14.1035 6.55371 14.1035H8.08399C8.27443 14.6025 8.55077 15.0585 8.89551 15.4541H6.55371C5.59402 15.4541 4.81976 15.4546 4.20215 15.3877C3.57204 15.3194 3.02468 15.1738 2.54883 14.8281C2.27111 14.6263 2.02606 14.3813 1.82422 14.1035C1.47883 13.6278 1.33293 13.08 1.26465 12.4502C1.19783 11.8327 1.19922 11.0579 1.19922 10.0986V5.90137C1.19922 4.94206 1.1978 4.16727 1.26465 3.54981C1.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"/>';function ro({size:a=16}){return nr.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:a,height:a,fill:"currentColor"},nr.default.createElement("path",{d:"M12.5113 15.4067C12.4395 15.6249 12.1308 15.6249 12.059 15.4067L11.643 14.1416C11.454 13.567 11.0033 13.1164 10.4288 12.9274L9.16369 12.5113C8.94544 12.4395 8.94544 12.1308 9.16369 12.059L10.4288 11.643C11.0033 11.454 11.454 11.0033 11.643 10.4288L12.059 9.16369C12.1308 8.94544 12.4395 8.94544 12.5113 9.16369L12.9274 10.4288C13.1164 11.0033 13.567 11.454 14.1416 11.643L15.4067 12.059C15.6249 12.1308 15.6249 12.4395 15.4067 12.5113L14.1416 12.9274C13.567 13.1164 13.1164 13.567 12.9274 14.1416L12.5113 15.4067Z"}),nr.default.createElement("path",{d:"M9.02246 0.546878C9.9822 0.546878 10.7564 0.545403 11.374 0.612307C12.0042 0.680586 12.5515 0.826244 13.0273 1.17188C13.3052 1.37376 13.5501 1.61868 13.752 1.89649C14.0975 2.37225 14.2432 2.91984 14.3115 3.54981C14.3784 4.16727 14.377 4.94206 14.377 5.90137V8.51367C13.9611 8.29533 13.5071 8.13985 13.0273 8.06055V5.90137C13.0273 4.9121 13.0259 4.22322 12.9688 3.69532C12.9129 3.18044 12.8098 2.89782 12.6592 2.69043C12.5406 2.52724 12.3966 2.38326 12.2334 2.26465C12.026 2.11404 11.7437 2.0109 11.2285 1.95508C10.7005 1.89789 10.0122 1.89649 9.02246 1.89649H6.55371C5.56395 1.89649 4.87569 1.89787 4.34766 1.95508C3.83242 2.01092 3.55022 2.11398 3.34278 2.26465C3.17953 2.38329 3.03564 2.52719 2.91699 2.69043C2.76642 2.89782 2.66325 3.18042 2.60742 3.69532C2.55027 4.22322 2.54883 4.9121 2.54883 5.90137V10.0986C2.54883 11.0878 2.55031 11.7768 2.60742 12.3047C2.66326 12.8196 2.76642 13.1032 2.91699 13.3105C3.03558 13.4736 3.17966 13.6178 3.34278 13.7363C3.5502 13.8869 3.83265 13.9901 4.34766 14.0459C4.87568 14.1031 5.56398 14.1035 6.55371 14.1035H8.08399C8.27443 14.6025 8.55077 15.0585 8.89551 15.4541H6.55371C5.59402 15.4541 4.81976 15.4546 4.20215 15.3877C3.57204 15.3194 3.02468 15.1738 2.54883 14.8281C2.27111 14.6263 2.02606 14.3813 1.82422 14.1035C1.47883 13.6278 1.33293 13.08 1.26465 12.4502C1.19783 11.8327 1.19922 11.0579 1.19922 10.0986V5.90137C1.19922 4.94206 1.1978 4.16727 1.26465 3.54981C1.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"}))}var to=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${Ar.replace(/fill=\"currentColor\"/g,'fill="black"')}</svg>`)}")`,ao="dssm-settings-nav-icon-style",Xo=[`[${Ke}] > svg { display: none !important; }`,`[${Ke}]::before {`," content: '';"," flex: none;"," width: 16px;"," height: 16px;"," background-color: currentColor;",` -webkit-mask: ${to} center / contain no-repeat;`,` mask: ${to} 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 _o(a,t){let l=String(t??"").trim();return l.length===0?!1:String(a??"").trim()===l}function $o(){if(typeof document>"u"||document.getElementById(ao)!==null)return;let a=document.createElement("style");a.id=ao,a.textContent=Xo,(document.head??document.documentElement).appendChild(a)}function en(a,t){return _o(a.textContent,t())?Array.from(a.children).some(u=>u.tagName==="SPAN"&&(u.className.includes("navIcon")||u.getAttribute("aria-hidden")==="true"))||!!a.querySelector?.('[class*="navIcon"]')?a.hasAttribute(Ke)?(a.removeAttribute(Ke),!0):!1:a.getAttribute(Ke)===""?!1:(a.setAttribute(Ke,""),!0):a.hasAttribute(Ke)?(a.removeAttribute(Ke),!0):!1}function tn(a){return a.hasAttribute(Ke)?(a.removeAttribute(Ke),!0):!1}function oo(a,t){typeof document>"u"||($o(),a.effect(()=>{let l=!1,d=!1,u=()=>{if(d=!1,!l)for(let g of document.querySelectorAll(Jo))en(g,t)},p=()=>{d||l||(d=!0,queueMicrotask(u))};u();let m=new MutationObserver(p);return m.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{l=!0,m.disconnect();for(let g of document.querySelectorAll(`[${Ke}]`))tn(g)}},"skills-manager: settings nav icon"))}var ze=aa(require("react"),1),sr=require("@deepseek-ai/dsh-client-ui-primitives");var ge=ze.createElement,an="@michengai/dsh-skills-manager",Pr="skills-manager",rn=2,Tr={zh:{"entry.location.title":"\u5165\u53E3\u5C55\u793A\u4F4D\u7F6E","entry.location.desc":"\u9009\u62E9\u6280\u80FD\u7BA1\u7406\u5165\u53E3\u7684\u5C55\u793A\u4F4D\u7F6E\uFF08\u81F3\u5C11\u4FDD\u7559\u4E00\u5904\uFF0C\u9632\u6B62\u65E0\u6CD5\u6253\u5F00\u9762\u677F\uFF09\u3002","entry.location.both":"\u4E24\u8FB9\u663E\u793A","entry.location.sidebar":"\u4EC5\u4FA7\u8FB9\u680F","entry.location.settings":"\u4EC5\u8BBE\u7F6E","sidebar.entry.title":"\u4FA7\u8FB9\u680F\u5165\u53E3","sidebar.entry.desc":"\u5728\u4FA7\u680F\u300C\u63D2\u4EF6\u300D\u4E0B\u65B9\u663E\u793A\u6280\u80FD\u3002\u8BBE\u7F6E\u91CC\u7684\u5165\u53E3\u4E0D\u53D8\u3002","sidebar.entry.toggle":"\u5207\u6362\u4FA7\u8FB9\u680F\u5165\u53E3","update.entry.title":"\u5728\u7EBF\u66F4\u65B0","update.entry.desc":"\u5141\u8BB8\u68C0\u67E5\u5E76\u5728\u7EBF\u5B89\u88C5\u6280\u80FD\u7BA1\u7406\u5668\u7684\u65B0\u7248\u672C\u3002\u5173\u95ED\u540E\u9690\u85CF\u66F4\u65B0\u5165\u53E3\u3002","update.entry.toggle":"\u5207\u6362\u5728\u7EBF\u66F4\u65B0","update.entry.locked":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u5BBF\u4E3B\u914D\u7F6E\u7981\u7528"},en:{"entry.location.title":"Entry placement","entry.location.desc":"Choose where to show the entry (at least one is retained to avoid losing access).","entry.location.both":"Both","entry.location.sidebar":"Sidebar only","entry.location.settings":"Settings only","sidebar.entry.title":"Sidebar entry","sidebar.entry.desc":"Show Skills below Plugins in the sidebar. The Settings entry stays either way.","sidebar.entry.toggle":"Toggle sidebar entry","update.entry.title":"Online updates","update.entry.desc":"Allow checking and installing new versions online. Hides the update entry when disabled.","update.entry.toggle":"Toggle online updates","update.entry.locked":"Online updates are disabled by the host configuration."}},no="dssm-sidebar-entry-style",Ir=`
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 ro(){if(typeof document>"u"||document.getElementById(ao)!==null)return;let a=document.createElement("style");a.id=ao,a.textContent=Tr,(document.head??document.documentElement).appendChild(a)}function as(a){let t=a&&typeof a.size=="number"?a.size:16;return pe("svg",{viewBox:"0 0 16 16",width:t,height:t,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:Ar}})}function rs(a){ro();let{t,enabled:d,onToggle:c,disabled:p,onlineUpdateEnabled:u=!0,onToggleOnlineUpdate:f,onlineUpdateDisabled:g,onlineUpdateLocked:w}=a,S=[pe("div",{key:"sidebar-entry",className:"dssm-bundle-row"},pe("div",{className:"dssm-bundle-label-box"},pe("span",{className:"dssm-bundle-title"},t("sidebar.entry.title")),pe("span",{className:"dssm-bundle-desc"},t("sidebar.entry.desc"))),pe(Lr.Switch,{checked:d,onChange:c,label:t("sidebar.entry.toggle"),disabled:p}))];return typeof f=="function"&&S.push(pe("div",{key:"online-update",className:"dssm-bundle-row"},pe("div",{className:"dssm-bundle-label-box"},pe("span",{className:"dssm-bundle-title"},t("update.entry.title")),pe("span",{className:"dssm-bundle-desc"},t(w?"update.entry.locked":"update.entry.desc"))),pe(Lr.Switch,{checked:u,onChange:f,label:t("update.entry.toggle"),disabled:g,title:w?t("update.entry.locked"):void 0}))),pe(Te.Fragment,null,S)}function os(a){let[t,d]=Te.useState(a.getEnabled),[c,p]=Te.useState(a.getOnlineUpdateEnabled?a.getOnlineUpdateEnabled:()=>!0),[u,f]=Te.useState(a.getOnlineUpdateLocked?a.getOnlineUpdateLocked:()=>!1),[g,w]=Te.useState(!1),[S,C]=Te.useState(!1);Te.useEffect(()=>{let U=()=>{d(a.getEnabled()),a.getOnlineUpdateEnabled&&p(a.getOnlineUpdateEnabled()),a.getOnlineUpdateLocked&&f(a.getOnlineUpdateLocked())};return U(),a.subscribe(U)},[a]);let P=U=>{w(!0),d(U),a.setSidebar(U).catch(()=>{d(a.getEnabled())}).finally(()=>{w(!1)})},i=a.setOnlineUpdate?U=>{a.getOnlineUpdateLocked?.()||(C(!0),p(U),a.setOnlineUpdate(U).catch(()=>{a.getOnlineUpdateEnabled&&p(a.getOnlineUpdateEnabled())}).finally(()=>{C(!1)}))}:void 0;return pe(rs,{t:a.t,enabled:t,disabled:g,onToggle:P,onlineUpdateEnabled:c,onlineUpdateDisabled:S||u,onlineUpdateLocked:u,onToggleOnlineUpdate:i})}function Ir(a,t){if(ro(),!a.locale)return{isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:d,headers:c,renderPanel:p,ns:u}=t,f=!1,g=!1,w=null,S=null,C=0,P=!1,i,U=new Set,X=()=>{if(!P)for(let l of U)try{l()}catch{}},_=()=>{if(!P)if(g&&f){if(!w){let l=a.slots.register({name:"main",key:Er,locale:u,inject:()=>({t:a.locale?.bind?a.locale.bind(u):void 0})},T=>pe("div",{className:"dssm-main-panel"},p(T)));w=typeof l=="function"?l:()=>{}}if(!S){let l=a.slots.register({name:"sidebar.panellist",id:Er,order:ts,label:()=>a.locale.bind(u)("title"),locale:u},T=>pe(as,T));S=typeof l=="function"?l:()=>{}}}else{if(i?.panelInfo&&typeof i.selectPanel=="function")try{i.panelInfo.getSnapshot().activePanelId===Er&&i.selectPanel(null)}catch{}if(S){try{S()}catch{}S=null}if(w){try{w()}catch{}w=null}}},k=async l=>{if(P)return f;let T=++C;f=l,_(),X();try{return await d("/sidebar-entry",{method:"POST",headers:c,body:JSON.stringify({enabled:l})}),l}catch(v){throw T===C&&(f=!l,_(),X()),v}},N=!0,oe=!1,I=0,q=async l=>{if(P||oe)return N;let T=++I;if(N=l,X(),!l&&typeof t.onOnlineUpdateChange=="function")try{t.onOnlineUpdateChange(l)}catch{}try{if(await d("/online-update",{method:"POST",headers:c,body:JSON.stringify({enabled:l})}),l&&!P&&T===I&&typeof t.onOnlineUpdateChange=="function")try{t.onOnlineUpdateChange(l)}catch{}return l}catch(v){if(T===I){let V=v!==null&&typeof v=="object"&&"code"in v&&v.code==="error.update.disabled";if(V&&(oe=!0),N=V?!1:!l,X(),typeof t.onOnlineUpdateChange=="function")try{t.onOnlineUpdateChange(N)}catch{}}throw v}},me=C;d("/sidebar-entry").then(l=>{!P&&C===me&&l&&typeof l.enabled=="boolean"&&(f=l.enabled,_(),X())}).catch(()=>{});let F=I;return d("/online-update").then(l=>{if(!P&&I===F&&l&&typeof l.enabled=="boolean"&&(N=l.enabled,l.locked===!0&&(oe=!0),X(),typeof t.onOnlineUpdateChange=="function"))try{t.onOnlineUpdateChange(l.enabled)}catch{}}).catch(()=>{}),typeof a.inject=="function"&&a.inject(["layout"],l=>{P||(i=l.layout)}),a.slots.inject("sidebar.panellist",()=>{P||(g=!0,_())}),a.slots.inject("plugins.bundle.config",()=>{if(!P)return a.slots.register({name:"plugins.bundle.config",key:es,locale:u},l=>l&&l.view==="summary"?null:pe(os,{t:a.locale.bind(u),getEnabled:()=>f,setSidebar:k,getOnlineUpdateEnabled:()=>N,setOnlineUpdate:q,getOnlineUpdateLocked:()=>oe,subscribe:T=>(U.add(T),()=>{U.delete(T)})}))}),{isEnabled:()=>f,isSupported:()=>g,setEnabled:k,isOnlineUpdateEnabled:()=>N,setOnlineUpdate:q,destroy:()=>{if(!P){if(P=!0,C++,I++,i=void 0,U.clear(),S){try{S()}catch{}S=null}if(w){try{w()}catch{}w=null}}}}}var A=Ia,s=A.createElement,ss=we.IconEditOutlineRegular;function ns(){return s(ss,{size:16})}var is={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 ls(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"),is[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 yt={"content-type":"application/json","x-dsh-skills-manager":"1"},Ut="skills-manager",Ha={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u3001\u63CF\u8FF0\u6216\u5907\u6CE8","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","skill.linked":"\u5916\u90E8\u76EE\u5F55\u94FE\u63A5\uFF0C\u53EA\u8BFB","source.toggle":"\u542F\u505C\u6765\u6E90","skill.toggle":"\u542F\u505C\u6280\u80FD","category.toggle":"\u542F\u505C\u5206\u7C7B","category.create":"\u65B0\u5EFA\u5206\u7C7B","category.uncategorized":"\u672A\u5206\u7C7B","category.assign":"\u5F52\u5165{name}","category.rename":"\u91CD\u547D\u540D","category.delete":"\u5220\u9664\u5206\u7C7B","category.note":"\u5206\u7C7B\u53EA\u8BB0\u5728\u8FD9\u4E2A\u6765\u6E90\u91CC\uFF0C\u4E0D\u79FB\u52A8\u6587\u4EF6\u3002","category.name":"\u5206\u7C7B\u540D\u79F0","category.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u3002\u4ECE\u6761\u76EE\u7684\u300C\u66F4\u591A\u300D\u5F52\u5165\u3002","category.progress":"{count} \u9879 \xB7 {enabled}/{usable} \u542F\u7528","category.actions":"\u5206\u7C7B\u64CD\u4F5C","category.created":"\u5DF2\u6DFB\u52A0\u5206\u7C7B\u300C{name}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u65B0\u5EFA\u76EE\u5F55\u3002","category.renamed":"\u5DF2\u91CD\u547D\u540D\u3002\u6280\u80FD\u6587\u4EF6\u540D\u6CA1\u6709\u53D8\u5316\u3002","category.deleted":"\u5DF2\u5220\u9664\u5206\u7C7B\u300C{name}\u300D\u3002\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\uFF0C\u6CA1\u6709\u8FDB\u56DE\u6536\u7AD9\u3002","category.assigned":"\u5DF2\u5C06 {name} \u5F52\u5165\u300C{category}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u79FB\u52A8\u3002","category.dragTip":"\u62D6\u62FD\u8C03\u6574\u987A\u5E8F\u6216\u79FB\u52A8\u5230\u5176\u4ED6\u5206\u7C7B","category.moved":"\u5DF2\u8C03\u6574\u6280\u80FD {name} \u7684\u5206\u7C7B\u6216\u987A\u5E8F\u3002","confirm.category.title":"\u5220\u9664\u5206\u7C7B\uFF1F","confirm.category.desc":"\u300C{name}\u300D\u4F1A\u6D88\u5931\uFF0C\u91CC\u9762\u7684\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\u3002\u6587\u4EF6\u4E0D\u4F1A\u79FB\u52A8\u3002","error.category.duplicate":"\u5DF2\u6709\u540C\u540D\u5206\u7C7B: {name}","error.category.name":"\u5206\u7C7B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u4E14\u4E0D\u80FD\u8D85\u8FC7 24 \u4E2A\u5B57\u7B26","error.category.notFound":"\u5206\u7C7B\u4E0D\u5B58\u5728","error.category.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.category.position":"\u6280\u80FD\u6392\u5E8F\u4F4D\u7F6E\u65E0\u6548","error.category.target":"\u6392\u5E8F\u76EE\u6807\u4E0D\u5C5E\u4E8E\u76EE\u6807\u5206\u7C7B","detail.title":"\u6280\u80FD\u8BE6\u60C5","detail.description":"\u7B80\u4ECB","detail.customNote":"\u81EA\u5B9A\u4E49\u7B80\u4ECB","detail.document":"SKILL.md","detail.body":"\u6B63\u6587","detail.frontmatter":"Frontmatter","detail.diagnostics":"\u8BCA\u65AD","detail.path":"\u6E90\u6587\u4EF6","detail.noIssues":"\u672A\u53D1\u73B0\u8BCA\u65AD\u95EE\u9898\u3002","detail.copyBody":"\u590D\u5236\u6B63\u6587","detail.copied":"\u5DF2\u590D\u5236","detail.copyFailed":"\u590D\u5236\u5931\u8D25","skill.editNote":"\u7F16\u8F91\u5907\u6CE8","note.title":"\u81EA\u5B9A\u4E49\u7B80\u4ECB / \u5907\u6CE8","note.label":"\u5907\u6CE8\u5185\u5BB9","note.placeholder":"\u8BB0\u5F55\u8FD9\u4E2A\u6280\u80FD\u662F\u5E72\u561B\u7684\u3001\u4EC0\u4E48\u65F6\u5019\u7528\u2026","note.help":"\u4FDD\u5B58\u5728\u63D2\u4EF6\u5185\u90E8\u663E\u793A\u5C42\uFF0C\u4E0D\u4FEE\u6539\u539F SKILL.md\u3002\u6E05\u7A7A\u53EF\u8FD8\u539F\u4E3A\u539F\u7B80\u4ECB\u3002","note.clear":"\u6E05\u7A7A","note.updated":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","note.cleared":"\u5DF2\u6E05\u9664\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","error.note.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.note.tooLarge":"\u81EA\u5B9A\u4E49\u7B80\u4ECB\u8FC7\u957F\uFF08\u6700\u591A {max} \u4E2A\u5B57\u7B26\uFF09","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.missing":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u53EF\u80FD\u5DF2\u88AB\u79FB\u52A8\u6216\u5220\u9664\uFF1A{path}","warning.project.unreadable":"\u65E0\u6743\u9650\u8BFB\u53D6\u5DE5\u4F5C\u533A\u76EE\u5F55\uFF1A{path}\uFF08{code}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.linked":"\u76EE\u5F55\u94FE\u63A5\u4E0D\u80FD\u5220\u9664\u6216\u8986\u76D6\uFF1A{path}","error.skill.noFrontmatter":"\u6280\u80FD\u7F3A\u5C11\u5B8C\u6574 frontmatter\uFF0C\u65E0\u6CD5{action}: {name}","error.skill.notLoadable":"\u6280\u80FD\u7ED3\u6784\u4E0D\u5B8C\u6574\uFF0C\u65E0\u6CD5{action}: {name}","error.source.notFound":"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}","error.source.symlink":"\u4E0D\u652F\u6301\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u7684 skill \u6765\u6E90: {path}","error.source.unrecognized":"\u65E0\u6CD5\u8BC6\u522B\u7684 skill \u6765\u6E90: {path}","error.source.tooDeep":"skill \u6765\u6E90\u76EE\u5F55\u5C42\u7EA7\u8D85\u8FC7 {depth} \u5C42: {path}","error.import.overlap":"\u5BFC\u5165\u6765\u6E90\u4E0D\u80FD\u4E0E DSH \u6280\u80FD\u76EE\u5F55\u76F8\u540C\u3001\u5305\u542B\u6216\u4F4D\u4E8E\u5176\u4E2D","error.import.emptySource":"\u76EE\u5F55\u4E0B\u672A\u627E\u5230\u4EFB\u4F55 skill \u6761\u76EE: {path}","error.import.invalidName":"\u65E0\u6CD5\u751F\u6210\u5408\u6CD5 kebab-case \u540D\u79F0\uFF08\u539F\u59CB\u540D: {name}\uFF09","error.import.duplicateName":"\u6279\u91CF\u6765\u6E90\u4E2D\u5B58\u5728\u591A\u4E2A\u540C\u540D\u6280\u80FD: {name}","error.import.failed":"\u5BFC\u5165\u5931\u8D25","error.import.rollbackFailed":"\u8986\u76D6\u5BFC\u5165\u56DE\u6EDA\u5931\u8D25\uFF0C\u5907\u4EFD\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.upload.path":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u975E\u6CD5\u8DEF\u5F84\uFF1A{path}","error.upload.encoding":"\u4E0A\u4F20\u5185\u5BB9\u7F16\u7801\u65E0\u6548","error.upload.empty":"\u4E0A\u4F20\u5185\u5BB9\u4E3A\u7A7A","error.upload.tooMany":"\u4E0A\u4F20\u6587\u4EF6\u8FC7\u591A\uFF0C\u6700\u591A {limit} \u4E2A","error.upload.tooLarge":"\u4E0A\u4F20\u5185\u5BB9\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.archiveTooLarge":"ZIP \u538B\u7F29\u5305\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.duplicate":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u91CD\u590D\u8DEF\u5F84\uFF1A{path}","error.upload.zipInvalid":"ZIP \u538B\u7F29\u5305\u65E0\u6CD5\u89E3\u538B","error.trash.notFound":"\u56DE\u6536\u7AD9\u6761\u76EE\u4E0D\u5B58\u5728: {id}","error.trash.conflict":"\u65E0\u6CD5\u6062\u590D\uFF0C\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.trash.invalid":"\u56DE\u6536\u7AD9\u6761\u76EE\u8DEF\u5F84\u975E\u6CD5: {id}","error.trash.projectUnavailable":"\u539F\u9879\u76EE\u5F53\u524D\u4E0D\u5728\u6D3B\u52A8\u5DE5\u4F5C\u533A\u4E2D\uFF0C\u65E0\u6CD5\u6062\u590D\uFF1A{path}","error.trash.rollbackFailed":"\u79FB\u5165\u56DE\u6536\u7AD9\u56DE\u6EDA\u5931\u8D25\uFF0C\u672A\u6062\u590D\u5185\u5BB9\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u62D2\u7EDD\u8986\u76D6\uFF1A{path}","error.create.descriptionRequired":"\u6280\u80FD\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A","error.create.bodyRequired":"\u6280\u80FD\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A","error.create.tooLarge":"\u6280\u80FD\u5185\u5BB9\u8FC7\u957F","error.create.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.proto.forbidden":"\u7981\u6B62\u7684\u4FEE\u6539\u8BF7\u6C42\uFF08\u7F3A\u5C11\u5BA2\u6237\u7AEF\u6807\u8BB0\uFF09","error.proto.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.missing":"\u76EE\u5F55\u4E0D\u5B58\u5728","workspace.unreadable":"\u65E0\u8BFB\u53D6\u6743\u9650","workspace.noSkills":"\u8FD9\u4E2A\u5DE5\u4F5C\u533A\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.loading":"\u6B63\u5728\u8BFB\u53D6\u2026","workspace.loadFailed":"\u8BFB\u53D6\u5931\u8D25\uFF1A{error}","workspace.listFailed":"\u65E0\u6CD5\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5217\u8868\uFF1A{error}","filter.status":"\u8C03\u7528\u72B6\u6001","filter.statusAll":"\u5168\u90E8\u72B6\u6001","status.shadowedBy":"\u88AB {source} \u4E2D\u7684\u540C\u540D\u6280\u80FD\u8986\u76D6","status.fallback.user":"\u5F53\u524D\u4F7F\u7528\u5168\u5C40 {source} \u526F\u672C\u3002","status.fallback.project":"\u5F53\u524D\u4F7F\u7528\u9879\u76EE {source} \u526F\u672C\u3002","root.copilot":"GitHub Copilot","source.selectHint":"\u5148\u9009\u62E9\u4E00\u4E2A\u6765\u6E90\uFF0C\u624D\u80FD\u67E5\u770B\u76EE\u5F55\u6216\u5173\u95ED\u6574\u4E2A\u6765\u6E90\u3002\u5173\u95ED\u6765\u6E90\u53EA\u5F71\u54CD DSH \u8C03\u7528\uFF0C\u4E0D\u6539\u6587\u4EF6\u3002","import.global":"\u5BFC\u5165\u6280\u80FD","category.batchAssigned":"\u5DF2\u5C06 {count} \u4E2A\u6280\u80FD\u6DFB\u52A0\u5230\u201C{category}\u201D\u3002\u6587\u4EF6\u672A\u79FB\u52A8\u3002","category.selectSkills":"\u6DFB\u52A0\u6280\u80FD\u5230\u201C{name}\u201D","category.noAvailableSkills":"\u6CA1\u6709\u53EF\u6DFB\u52A0\u7684\u6280\u80FD","category.addSkills":"\u6DFB\u52A0\u6280\u80FD","root.dsh":"DSH","root.agents":"\u516C\u5171 Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH","root.projectAgents":"\u9879\u76EE Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (\u7528\u6237\u76EE\u5F55)","root.trae":"Trae","root.traeCn":"Trae (\u56FD\u5185\u7248)","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (\u65E7\u76EE\u5F55)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN","root.antigravity":"Google Antigravity"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names, descriptions or notes","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","skill.linked":"External directory link, read-only","source.toggle":"Toggle source","skill.toggle":"Toggle skill","category.toggle":"Toggle category","category.create":"New category","category.uncategorized":"Uncategorized","category.assign":"Move to {name}","category.rename":"Rename","category.delete":"Delete category","category.note":"Categories stay in this source and do not move files.","category.name":"Category name","category.empty":"No skills yet. Use More on a skill to place it here.","category.progress":"{count} \xB7 {enabled}/{usable} enabled","category.actions":"Category actions","category.created":"Added category \u201C{name}\u201D. No directory was created.","category.renamed":"Renamed. Skill file names are unchanged.","category.deleted":"Deleted category \u201C{name}\u201D. Skills returned to Uncategorized and were not trashed.","category.assigned":"Moved {name} to \u201C{category}\u201D. The file was not moved.","category.dragTip":"Drag to reorder or move to another category","category.moved":"Updated the category or order for {name}.","confirm.category.title":"Delete category?","confirm.category.desc":"\u201C{name}\u201D will be removed. Its skills return to Uncategorized. Files are not moved.","error.category.duplicate":"A category with this name already exists: {name}","error.category.name":"Category name is required and must be at most 24 characters","error.category.notFound":"Category not found","error.category.root":"Skill source not found: {root}","error.category.position":"Invalid skill ordering position","error.category.target":"The target skill is not in the destination category","detail.title":"Skill details","detail.description":"Description","detail.customNote":"Custom note","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","detail.copyBody":"Copy body","detail.copied":"Copied","detail.copyFailed":"Copy failed","skill.editNote":"Edit note","note.title":"Custom description / Note","note.label":"Note","note.placeholder":"Record what this skill does and when to use it\u2026","note.help":"Saved in the plugin display layer without modifying SKILL.md. Clear to revert to original description.","note.clear":"Clear","note.updated":"Updated custom note for \u201C{name}\u201D.","note.cleared":"Cleared custom note for \u201C{name}\u201D.","error.note.root":"Skill source not found: {root}","error.note.tooLarge":"Custom note is too long (maximum {max} characters)","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.missing":"The workspace directory does not exist and may have been moved or deleted: {path}","warning.project.unreadable":"No permission to read the workspace directory: {path} ({code})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.linked":"This directory link cannot be deleted or overwritten: {path}","error.skill.noFrontmatter":"Skill lacks complete frontmatter, cannot {action}: {name}","error.skill.notLoadable":"Skill structure is incomplete, cannot {action}: {name}","error.source.notFound":"Path does not exist: {path}","error.source.symlink":"Skill sources containing symbolic links are not supported: {path}","error.source.unrecognized":"Unrecognized skill source: {path}","error.source.tooDeep":"Skill source directory depth exceeds {depth} levels: {path}","error.import.overlap":"Import source cannot be the same as, contain, or be inside the DSH skills directory","error.import.emptySource":"No skill entries found in the directory: {path}","error.import.invalidName":"Cannot generate a valid kebab-case name (original: {name})","error.import.duplicateName":"Batch source contains duplicate skill names: {name}","error.import.failed":"Import failed","error.import.rollbackFailed":"Overwrite import rollback failed; backups kept at: {path} ({error})","error.upload.path":"Upload contains an invalid path: {path}","error.upload.encoding":"Upload encoding is invalid","error.upload.empty":"Upload is empty","error.upload.tooMany":"Too many uploaded files; maximum {limit}","error.upload.tooLarge":"Upload is too large; limit {limit} bytes","error.upload.archiveTooLarge":"ZIP archive is too large; limit {limit} bytes","error.upload.duplicate":"Upload contains a duplicate path: {path}","error.upload.zipInvalid":"ZIP archive could not be extracted","error.trash.notFound":"Trash item not found: {id}","error.trash.conflict":"Cannot restore because a skill with the same name exists: {name}","error.trash.invalid":"Invalid trash item path: {id}","error.trash.projectUnavailable":"The original project is not an active workspace, so this skill cannot be restored: {path}","error.trash.rollbackFailed":"Move-to-trash rollback failed; unrecovered content was kept at: {path} ({error})","error.state.invalid":"The manager state file could not be read, so overwriting it was refused: {path}","error.create.descriptionRequired":"Skill description is required","error.create.bodyRequired":"Skill body is required","error.create.tooLarge":"Skill content is too large","error.create.conflict":"A skill with the same name already exists: {name}","error.proto.forbidden":"Forbidden mutation request (missing client marker)","error.proto.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.missing":"Directory missing","workspace.unreadable":"No read permission","workspace.noSkills":"No skills in this workspace yet.","workspace.loading":"Loading\u2026","workspace.loadFailed":"Failed to load: {error}","workspace.listFailed":"Cannot read the workspace list: {error}","filter.status":"Invocation status","filter.statusAll":"All statuses","status.shadowedBy":"Overridden by the same skill in {source}","status.fallback.user":"Currently using the global {source} copy.","status.fallback.project":"Currently using the project {source} copy.","source.selectHint":"Select a source to view its directory or turn the whole source off. Turning a source off only affects invocation in DSH and does not change files.","import.global":"Import skill","category.batchAssigned":"Added {count} skills to \u201C{category}\u201D. Files were not moved.","category.selectSkills":"Add skills to \u201C{name}\u201D","category.noAvailableSkills":"No skills available to add","category.addSkills":"Add skills","root.dsh":"DSH skills","root.agents":"Shared Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH skills","root.projectAgents":"Project Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.copilot":"GitHub Copilot","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (User Home)","root.trae":"Trae","root.traeCn":"Trae CN","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (Legacy)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN","root.antigravity":"Google Antigravity"}},uo={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(Ha.zh,uo.zh,Cr.zh,Nr.zh,Pr.zh);Object.assign(Ha.en,uo.en,Cr.en,Nr.en,Pr.en);var Ot=Gr(A),po=Fr({react:A,SourceSelect:Ot,translateError:J}),oo=po.DestinationPicker,ds=we.IconLoadingOutlineMedium||we.IconLoadingOutlineRegular||we.IconLoadingOutline16,cs=we.IconRefreshOutlineMedium||we.IconRefreshOutlineRegular||we.IconRefreshOutline16,us=Or({react:A,Modal:Ke,Input:Pe,Button:Ie.Button,SourceSelect:Ot,destination:po,api:za,headers:yt,translateError:J,getLocale:dr,IconLoading:ds,IconRefresh:cs}),ps=Br+Tr+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{display:grid!important;box-sizing:border-box!important;width:100%;height:32px!important;min-height:32px!important;max-height:32px!important;padding:2px!important;border-radius:var(--dsw-radius-sm,8px)!important;border:0.5px solid var(--dsw-alias-border-l2)!important;background:var(--dsw-alias-bg-layer-1)!important}.dssm-scope-tabs>span[aria-hidden="true"],.dssm-scope-tabs>[class*="indicator"]{width:calc((100% - 4px)/4)!important;inset:2px auto 2px 2px!important;border-radius:6px!important;border:0.5px solid var(--dsw-alias-border-l3,rgba(255,255,255,.12))!important;background:var(--dsw-alias-bg-layer-3,rgba(255,255,255,.08))!important;box-shadow:none!important}.dssm-scope-tabs [role=tab]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:28px!important;padding:0 6px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!important;white-space:nowrap!important;color:var(--dsw-alias-label-secondary)!important;text-align:center!important;box-sizing:border-box!important;transition:color 150ms ease!important}.dssm-scope-tabs [role=tab]:hover{color:var(--dsw-alias-label-primary)!important}.dssm-scope-tabs [role=tab][aria-selected="true"]{color:var(--dsw-alias-label-primary)!important;font-weight:600!important}.dssm-scope-tabs [role=tab] svg{flex:none;display:block}.dssm-source-head{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px}.dssm-source-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-source-toggle:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary));outline-offset:2px}.dssm-fold-chevron{flex:none;color:var(--dsw-alias-label-tertiary);transform:rotate(-90deg);transition:transform 160ms ease}.dssm-fold-chevron.is-open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.dssm-fold-chevron{transition:none}}.dssm-source-label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dssm-drag-handle{cursor:grab;color:var(--dsw-alias-label-tertiary,#888);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;border-radius:var(--dsw-radius-sm,8px);flex-shrink:0;user-select:none;transition:color 0.15s}.dssm-skill-row:hover .dssm-drag-handle{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-drag-handle:active{cursor:grabbing}.dssm-cat.drag-over{border-color:var(--dsw-alias-brand-primary,#3b82f6);box-shadow:0 0 0 1px var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.dragging{opacity:0.4;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent))}.dssm-skill-row.drop-before{box-shadow:inset 0 2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.drop-after{box-shadow:inset 0 -2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:0;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:0;background:transparent}.dssm-skill-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-skill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-skill-row .dssm-name{font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none}.dssm-source{overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-textarea{box-sizing:border-box;display:block;width:100%;min-height:160px;margin:0;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:14px;line-height:22px;resize:vertical}.dssm-textarea:focus,.dssm-textarea:focus-visible{outline:none;border-color:var(--dsw-alias-state-business-primary)}.dssm-textarea[readonly]{resize:none}.dssm-source-title{font-size:14px;font-weight:650;white-space:nowrap;flex:none}.dssm-source-path{min-width:0;max-width:50%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-source-actions{display:flex;flex:none;align-items:center;gap:8px;margin-left:12px}.dssm-cat{margin:0 10px 8px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px)}.dssm-cat-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 6px}.dssm-cat-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-cat-title{font-size:14px;font-weight:700;display:inline-flex;align-items:center}.dssm-cat-note{margin:2px 16px 8px}.dssm-fallback{margin-top:4px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-section{box-sizing:border-box;display:flex;width:100%;min-width:0;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary,#eeeeee);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dssm-feedback-links>span[data-mpi-check]{display:inline-flex;align-items:center}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));outline-offset:2px}.dssm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1)}.dssm-stat{padding:4px 10px;border-right:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:4px;color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:650}.dssm-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%!important;min-width:0;box-sizing:border-box}.dssm-filter-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.dssm-filters .dssm-search{flex:1 1 0;min-width:160px;max-width:none}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter,.dssm-filters .dssm-menu-select-wrap,.dssm-filters span[class*="_root_"],.dssm-filters .dssm-source-select-menu,.dssm-filters .dssm-menu-select-trigger{width:auto!important;min-width:0!important;display:inline-flex!important;flex:none}.dssm-field .dssm-menu-select-wrap,.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"]{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.dssm-destination-pair .dssm-menu-select-trigger,.dssm-form .dssm-menu-select-trigger{display:flex!important;width:100%!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}.dssm-source-select-menu{min-width:130px;max-width:280px}.dssm-menu-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:32px;padding:0 10px;border:0.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;line-height:20px;cursor:pointer;user-select:none;width:max-content;min-width:8em;transition:border-color 120ms ease,background 120ms ease}.dssm-menu-select-trigger:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#555)}.dssm-menu-select-trigger.is-open,.dssm-menu-select-trigger:focus-visible{border-color:var(--dsw-alias-brand-primary)!important;outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary))!important;outline-offset:0!important}.dssm-menu-select-trigger:disabled{opacity:.5;cursor:default}.dssm-menu-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.dssm-menu-select-arrow{color:var(--dsw-alias-label-secondary);flex-shrink:0}.dssm-count{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap;flex:none}.dssm-name{overflow-wrap:anywhere;font-size:13px;font-weight:570}.dssm-note{overflow-wrap:anywhere;margin-top:2px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px;line-height:17px}.dssm-enabled{color:var(--dsw-alias-state-success-primary,#51b976);font-size:12px;white-space:nowrap}.dssm-disabled{color:var(--dsw-alias-state-warn-primary,#d49245);font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap}.dssm-trash-count{padding:2px 7px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px}.dssm-warning{border-color:var(--dsw-alias-state-warn-primary,#d49245);color:var(--dsw-alias-state-warn-primary,#d49245)}.dssm-error{border-color:var(--dsw-alias-state-error-primary,#ef7272);color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-detail .dssm-desc{margin:0}.dssm-field{gap:6px}.dssm-label{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-detail-title{font-size:14px;line-height:22px;font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:18px}.dssm-batch-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;margin:12px 0;padding:2px}.dssm-batch-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));cursor:pointer;user-select:none;transition:background 0.15s,border-color 0.15s}.dssm-batch-item:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));border-color:var(--dsw-alias-border-l2,#494949)}.dssm-batch-item.selected{border-color:var(--dsw-alias-brand-primary,#3b82f6);background:var(--dsw-alias-state-business-tertiary)}.dssm-batch-item input[type="checkbox"]{cursor:pointer;margin:0;flex-shrink:0;width:15px;height:15px}.dssm-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dssm-batch-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dssm-batch-name{font-size:13px;font-weight:600;color:var(--dsw-alias-label-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-batch-cat-tag{font-size:10px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap;flex-shrink:0}.dssm-batch-desc{font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-form+.dssm-modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--dsw-alias-border-l2)}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3,#555555);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12))}.dssm-dropzone-title{color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary,#eeeeee);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eeeeee);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:22px}.dssm-detail-section .dssm-note,.dssm-diag{font-size:14px;line-height:22px}.dssm-detail-path{padding:8px 10px;border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);word-break:break-all}.dssm-diag{padding:8px 10px;border-left:2px solid var(--dsw-alias-state-warn-primary,#d49245);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-trash-panel{display:flex;flex-direction:column;gap:10px}.dssm-trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;border:0.5px solid var(--dsw-alias-border-l2,rgba(128,128,128,.2));border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-trash-main{min-width:0;display:flex;flex-direction:column;gap:6px}.dssm-trash-item .dssm-name{font-size:14px;line-height:20px;color:var(--dsw-alias-label-primary,inherit)}.dssm-trash-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:17px;color:var(--dsw-alias-label-tertiary,#909090);overflow-wrap:anywhere}.dssm-trash-source{min-width:0;background:transparent;color:var(--dsw-alias-label-tertiary,#a0a0a0)}.dssm-trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
33
+ `;function so(){if(typeof document>"u"||document.getElementById(no)!==null)return;let a=document.createElement("style");a.id=no,a.textContent=Ir,(document.head??document.documentElement).appendChild(a)}function on(a){let t=a&&typeof a.size=="number"?a.size:16;return ge("svg",{viewBox:"0 0 16 16",width:t,height:t,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:Ar}})}function nn(a){so();let{t,location:l,onLocationChange:d,enabled:u=!1,onToggle:p,disabled:m,onlineUpdateEnabled:g=!0,onToggleOnlineUpdate:b,onlineUpdateDisabled:k,onlineUpdateLocked:x}=a,A=l??(u?"both":"settings"),i=G=>{(G==="both"||G==="sidebar"||G==="settings")&&(typeof d=="function"?d(G):typeof p=="function"&&p(G!=="settings"))},D=[ge("div",{key:"entry-location",className:"dssm-bundle-row"},ge("div",{className:"dssm-bundle-label-box"},ge("span",{className:"dssm-bundle-title"},t("entry.location.title")||t("sidebar.entry.title")),ge("span",{className:"dssm-bundle-desc"},t("entry.location.desc")||t("sidebar.entry.desc"))),ge(sr.SegmentedControl,{id:"dssm-bundle-entry-location",value:A,onChange:i,label:t("entry.location.title")||t("sidebar.entry.title"),disabled:m,options:[{value:"both",label:t("entry.location.both")||"\u4E24\u8FB9\u663E\u793A"},{value:"sidebar",label:t("entry.location.sidebar")||"\u4EC5\u4FA7\u8FB9\u680F"},{value:"settings",label:t("entry.location.settings")||"\u4EC5\u8BBE\u7F6E"}]}))];return typeof b=="function"&&D.push(ge("div",{key:"online-update",className:"dssm-bundle-row"},ge("div",{className:"dssm-bundle-label-box"},ge("span",{className:"dssm-bundle-title"},t("update.entry.title")),ge("span",{className:"dssm-bundle-desc"},t(x?"update.entry.locked":"update.entry.desc"))),ge(sr.Switch,{checked:g,onChange:b,label:t("update.entry.toggle"),disabled:k,title:x?t("update.entry.locked"):void 0}))),ge(ze.Fragment,null,D)}function sn(a){let[t,l]=ze.useState(a.getLocation),[d,u]=ze.useState(a.getOnlineUpdateEnabled?a.getOnlineUpdateEnabled:()=>!0),[p,m]=ze.useState(a.getOnlineUpdateLocked?a.getOnlineUpdateLocked:()=>!1),[g,b]=ze.useState(!1),[k,x]=ze.useState(!1);ze.useEffect(()=>{let D=()=>{l(a.getLocation()),a.getOnlineUpdateEnabled&&u(a.getOnlineUpdateEnabled()),a.getOnlineUpdateLocked&&m(a.getOnlineUpdateLocked())};return D(),a.subscribe(D)},[a]);let A=D=>{b(!0),l(D),a.setLocation(D).catch(()=>{l(a.getLocation())}).finally(()=>{b(!1)})},i=a.setOnlineUpdate?D=>{a.getOnlineUpdateLocked?.()||(x(!0),u(D),a.setOnlineUpdate(D).catch(()=>{a.getOnlineUpdateEnabled&&u(a.getOnlineUpdateEnabled())}).finally(()=>{x(!1)}))}:void 0;return ge(nn,{t:a.t,location:t,disabled:g,onLocationChange:A,onlineUpdateEnabled:d,onlineUpdateDisabled:k||p,onlineUpdateLocked:p,onToggleOnlineUpdate:i})}function zr(a,t){if(so(),!a.locale)return{getLocation:()=>"settings",setLocation:async()=>"settings",isSettingsSectionEnabled:()=>!0,isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:l,headers:d,renderPanel:u,ns:p}=t,m="settings",g=!1,b=null,k=null,x=0,A=!1,i,D=new Set,G=()=>m==="both"||m==="sidebar",le=()=>m==="both"||m==="settings",w=()=>{if(!A)for(let N of D)try{N()}catch{}},R=()=>{if(!A)if(g&&G()){if(!b){let N=a.slots.register({name:"main",key:Pr,locale:p,inject:()=>({t:a.locale?.bind?a.locale.bind(p):void 0})},J=>ge("div",{className:"dssm-main-panel"},u(J)));b=typeof N=="function"?N:()=>{}}if(!k){let N=a.slots.register({name:"sidebar.panellist",id:Pr,order:rn,label:()=>a.locale.bind(p)("title"),locale:p},J=>ge(on,J));k=typeof N=="function"?N:()=>{}}}else{if(i?.panelInfo&&typeof i.selectPanel=="function")try{i.panelInfo.getSnapshot().activePanelId===Pr&&i.selectPanel(null)}catch{}if(k){try{k()}catch{}k=null}if(b){try{b()}catch{}b=null}}},de=async N=>{if(A)return m;let J=++x,$=m;if(m=N,R(),w(),typeof t.onLocationChange=="function")try{t.onLocationChange(N)}catch{}try{return await l("/sidebar-entry",{method:"POST",headers:d,body:JSON.stringify({location:N})}),N}catch(j){if(J===x&&(m=$,R(),w(),typeof t.onLocationChange=="function"))try{t.onLocationChange($)}catch{}throw j}},M=async N=>(await de(N?"both":"settings"),G()),U=!0,re=!1,H=0,c=async N=>{if(A||re)return U;let J=++H;if(U=N,w(),!N&&typeof t.onOnlineUpdateChange=="function")try{t.onOnlineUpdateChange(N)}catch{}try{if(await l("/online-update",{method:"POST",headers:d,body:JSON.stringify({enabled:N})}),N&&!A&&J===H&&typeof t.onOnlineUpdateChange=="function")try{t.onOnlineUpdateChange(N)}catch{}return N}catch($){if(J===H){let j=$!==null&&typeof $=="object"&&"code"in $&&$.code==="error.update.disabled";if(j&&(re=!0),U=j?!1:!N,w(),typeof t.onOnlineUpdateChange=="function")try{t.onOnlineUpdateChange(U)}catch{}}throw $}},V=x;l("/sidebar-entry").then(N=>{if(!A&&x===V&&N&&(N.location==="both"||N.location==="sidebar"||N.location==="settings"?m=N.location:typeof N.enabled=="boolean"&&(m=N.enabled?"both":"settings"),R(),w(),typeof t.onLocationChange=="function"))try{t.onLocationChange(m)}catch{}}).catch(()=>{});let C=H;return l("/online-update").then(N=>{if(!A&&H===C&&N&&typeof N.enabled=="boolean"&&(U=N.enabled,N.locked===!0&&(re=!0),w(),typeof t.onOnlineUpdateChange=="function"))try{t.onOnlineUpdateChange(N.enabled)}catch{}}).catch(()=>{}),typeof a.inject=="function"&&a.inject(["layout"],N=>{A||(i=N.layout)}),a.slots.inject("sidebar.panellist",()=>{A||(g=!0,R())}),a.slots.inject("plugins.bundle.config",()=>{if(!A)return a.slots.register({name:"plugins.bundle.config",key:an,locale:p},N=>N&&N.view==="summary"?null:ge(sn,{t:a.locale.bind(p),getLocation:()=>m,setLocation:de,getEnabled:()=>G(),setSidebar:M,getOnlineUpdateEnabled:()=>U,setOnlineUpdate:c,getOnlineUpdateLocked:()=>re,subscribe:J=>(D.add(J),()=>{D.delete(J)})}))}),{getLocation:()=>m,setLocation:de,isSettingsSectionEnabled:le,isEnabled:()=>G(),isSupported:()=>g,setEnabled:M,isOnlineUpdateEnabled:()=>U,setOnlineUpdate:c,destroy:()=>{if(!A){if(A=!0,x++,H++,i=void 0,D.clear(),k){try{k()}catch{}k=null}if(b){try{b()}catch{}b=null}}}}}var E=Ia,n=E.createElement,ln=xe.IconEditOutlineRegular;function dn(){return n(ln,{size:16})}var cn={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 un(a){var t=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"),cn[a].forEach(function(d){var u=document.createElementNS("http://www.w3.org/2000/svg","path");u.setAttribute("d",d),l.append(u)}),t.append(l),t}var vt={"content-type":"application/json","x-dsh-skills-manager":"1"},Ge="skills-manager",Ha={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u3001\u63CF\u8FF0\u6216\u5907\u6CE8","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","skill.linked":"\u5916\u90E8\u76EE\u5F55\u94FE\u63A5\uFF0C\u53EA\u8BFB","source.toggle":"\u542F\u505C\u6765\u6E90","skill.toggle":"\u542F\u505C\u6280\u80FD","category.toggle":"\u542F\u505C\u5206\u7C7B","category.create":"\u65B0\u5EFA\u5206\u7C7B","category.uncategorized":"\u672A\u5206\u7C7B","category.assign":"\u5F52\u5165{name}","category.rename":"\u91CD\u547D\u540D","category.delete":"\u5220\u9664\u5206\u7C7B","category.note":"\u5206\u7C7B\u53EA\u8BB0\u5728\u8FD9\u4E2A\u6765\u6E90\u91CC\uFF0C\u4E0D\u79FB\u52A8\u6587\u4EF6\u3002","category.name":"\u5206\u7C7B\u540D\u79F0","category.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u3002\u4ECE\u6761\u76EE\u7684\u300C\u66F4\u591A\u300D\u5F52\u5165\u3002","category.progress":"{count} \u9879 \xB7 {enabled}/{usable} \u542F\u7528","category.actions":"\u5206\u7C7B\u64CD\u4F5C","category.created":"\u5DF2\u6DFB\u52A0\u5206\u7C7B\u300C{name}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u65B0\u5EFA\u76EE\u5F55\u3002","category.renamed":"\u5DF2\u91CD\u547D\u540D\u3002\u6280\u80FD\u6587\u4EF6\u540D\u6CA1\u6709\u53D8\u5316\u3002","category.deleted":"\u5DF2\u5220\u9664\u5206\u7C7B\u300C{name}\u300D\u3002\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\uFF0C\u6CA1\u6709\u8FDB\u56DE\u6536\u7AD9\u3002","category.assigned":"\u5DF2\u5C06 {name} \u5F52\u5165\u300C{category}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u79FB\u52A8\u3002","category.dragTip":"\u62D6\u62FD\u8C03\u6574\u987A\u5E8F\u6216\u79FB\u52A8\u5230\u5176\u4ED6\u5206\u7C7B","category.moved":"\u5DF2\u8C03\u6574\u6280\u80FD {name} \u7684\u5206\u7C7B\u6216\u987A\u5E8F\u3002","confirm.category.title":"\u5220\u9664\u5206\u7C7B\uFF1F","confirm.category.desc":"\u300C{name}\u300D\u4F1A\u6D88\u5931\uFF0C\u91CC\u9762\u7684\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\u3002\u6587\u4EF6\u4E0D\u4F1A\u79FB\u52A8\u3002","error.category.duplicate":"\u5DF2\u6709\u540C\u540D\u5206\u7C7B: {name}","error.category.name":"\u5206\u7C7B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u4E14\u4E0D\u80FD\u8D85\u8FC7 24 \u4E2A\u5B57\u7B26","error.category.notFound":"\u5206\u7C7B\u4E0D\u5B58\u5728","error.category.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.category.position":"\u6280\u80FD\u6392\u5E8F\u4F4D\u7F6E\u65E0\u6548","error.category.target":"\u6392\u5E8F\u76EE\u6807\u4E0D\u5C5E\u4E8E\u76EE\u6807\u5206\u7C7B","detail.title":"\u6280\u80FD\u8BE6\u60C5","detail.description":"\u7B80\u4ECB","detail.customNote":"\u81EA\u5B9A\u4E49\u7B80\u4ECB","detail.document":"SKILL.md","detail.body":"\u6B63\u6587","detail.frontmatter":"Frontmatter","detail.diagnostics":"\u8BCA\u65AD","detail.path":"\u6E90\u6587\u4EF6","detail.noIssues":"\u672A\u53D1\u73B0\u8BCA\u65AD\u95EE\u9898\u3002","detail.copyBody":"\u590D\u5236\u6B63\u6587","detail.copied":"\u5DF2\u590D\u5236","detail.copyFailed":"\u590D\u5236\u5931\u8D25","skill.editNote":"\u7F16\u8F91\u5907\u6CE8","note.title":"\u81EA\u5B9A\u4E49\u7B80\u4ECB / \u5907\u6CE8","note.label":"\u5907\u6CE8\u5185\u5BB9","note.placeholder":"\u8BB0\u5F55\u8FD9\u4E2A\u6280\u80FD\u662F\u5E72\u561B\u7684\u3001\u4EC0\u4E48\u65F6\u5019\u7528\u2026","note.help":"\u4FDD\u5B58\u5728\u63D2\u4EF6\u5185\u90E8\u663E\u793A\u5C42\uFF0C\u4E0D\u4FEE\u6539\u539F SKILL.md\u3002\u6E05\u7A7A\u53EF\u8FD8\u539F\u4E3A\u539F\u7B80\u4ECB\u3002","note.clear":"\u6E05\u7A7A","note.updated":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","note.cleared":"\u5DF2\u6E05\u9664\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","error.note.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.note.tooLarge":"\u81EA\u5B9A\u4E49\u7B80\u4ECB\u8FC7\u957F\uFF08\u6700\u591A {max} \u4E2A\u5B57\u7B26\uFF09","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.missing":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u53EF\u80FD\u5DF2\u88AB\u79FB\u52A8\u6216\u5220\u9664\uFF1A{path}","warning.project.unreadable":"\u65E0\u6743\u9650\u8BFB\u53D6\u5DE5\u4F5C\u533A\u76EE\u5F55\uFF1A{path}\uFF08{code}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.linked":"\u76EE\u5F55\u94FE\u63A5\u4E0D\u80FD\u5220\u9664\u6216\u8986\u76D6\uFF1A{path}","error.skill.noFrontmatter":"\u6280\u80FD\u7F3A\u5C11\u5B8C\u6574 frontmatter\uFF0C\u65E0\u6CD5{action}: {name}","error.skill.notLoadable":"\u6280\u80FD\u7ED3\u6784\u4E0D\u5B8C\u6574\uFF0C\u65E0\u6CD5{action}: {name}","error.source.notFound":"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}","error.source.symlink":"\u4E0D\u652F\u6301\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u7684 skill \u6765\u6E90: {path}","error.source.unrecognized":"\u65E0\u6CD5\u8BC6\u522B\u7684 skill \u6765\u6E90: {path}","error.source.tooDeep":"skill \u6765\u6E90\u76EE\u5F55\u5C42\u7EA7\u8D85\u8FC7 {depth} \u5C42: {path}","error.import.overlap":"\u5BFC\u5165\u6765\u6E90\u4E0D\u80FD\u4E0E DSH \u6280\u80FD\u76EE\u5F55\u76F8\u540C\u3001\u5305\u542B\u6216\u4F4D\u4E8E\u5176\u4E2D","error.import.emptySource":"\u76EE\u5F55\u4E0B\u672A\u627E\u5230\u4EFB\u4F55 skill \u6761\u76EE: {path}","error.import.invalidName":"\u65E0\u6CD5\u751F\u6210\u5408\u6CD5 kebab-case \u540D\u79F0\uFF08\u539F\u59CB\u540D: {name}\uFF09","error.import.duplicateName":"\u6279\u91CF\u6765\u6E90\u4E2D\u5B58\u5728\u591A\u4E2A\u540C\u540D\u6280\u80FD: {name}","error.import.failed":"\u5BFC\u5165\u5931\u8D25","error.import.rollbackFailed":"\u8986\u76D6\u5BFC\u5165\u56DE\u6EDA\u5931\u8D25\uFF0C\u5907\u4EFD\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.upload.path":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u975E\u6CD5\u8DEF\u5F84\uFF1A{path}","error.upload.encoding":"\u4E0A\u4F20\u5185\u5BB9\u7F16\u7801\u65E0\u6548","error.upload.empty":"\u4E0A\u4F20\u5185\u5BB9\u4E3A\u7A7A","error.upload.tooMany":"\u4E0A\u4F20\u6587\u4EF6\u8FC7\u591A\uFF0C\u6700\u591A {limit} \u4E2A","error.upload.tooLarge":"\u4E0A\u4F20\u5185\u5BB9\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.archiveTooLarge":"ZIP \u538B\u7F29\u5305\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.duplicate":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u91CD\u590D\u8DEF\u5F84\uFF1A{path}","error.upload.zipInvalid":"ZIP \u538B\u7F29\u5305\u65E0\u6CD5\u89E3\u538B","error.trash.notFound":"\u56DE\u6536\u7AD9\u6761\u76EE\u4E0D\u5B58\u5728: {id}","error.trash.conflict":"\u65E0\u6CD5\u6062\u590D\uFF0C\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.trash.invalid":"\u56DE\u6536\u7AD9\u6761\u76EE\u8DEF\u5F84\u975E\u6CD5: {id}","error.trash.projectUnavailable":"\u539F\u9879\u76EE\u5F53\u524D\u4E0D\u5728\u6D3B\u52A8\u5DE5\u4F5C\u533A\u4E2D\uFF0C\u65E0\u6CD5\u6062\u590D\uFF1A{path}","error.trash.rollbackFailed":"\u79FB\u5165\u56DE\u6536\u7AD9\u56DE\u6EDA\u5931\u8D25\uFF0C\u672A\u6062\u590D\u5185\u5BB9\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u62D2\u7EDD\u8986\u76D6\uFF1A{path}","error.create.descriptionRequired":"\u6280\u80FD\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A","error.create.bodyRequired":"\u6280\u80FD\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A","error.create.tooLarge":"\u6280\u80FD\u5185\u5BB9\u8FC7\u957F","error.create.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.proto.forbidden":"\u7981\u6B62\u7684\u4FEE\u6539\u8BF7\u6C42\uFF08\u7F3A\u5C11\u5BA2\u6237\u7AEF\u6807\u8BB0\uFF09","error.proto.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.missing":"\u76EE\u5F55\u4E0D\u5B58\u5728","workspace.unreadable":"\u65E0\u8BFB\u53D6\u6743\u9650","workspace.noSkills":"\u8FD9\u4E2A\u5DE5\u4F5C\u533A\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.loading":"\u6B63\u5728\u8BFB\u53D6\u2026","workspace.loadFailed":"\u8BFB\u53D6\u5931\u8D25\uFF1A{error}","workspace.listFailed":"\u65E0\u6CD5\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5217\u8868\uFF1A{error}","filter.status":"\u8C03\u7528\u72B6\u6001","filter.statusAll":"\u5168\u90E8\u72B6\u6001","status.shadowedBy":"\u88AB {source} \u4E2D\u7684\u540C\u540D\u6280\u80FD\u8986\u76D6","status.fallback.user":"\u5F53\u524D\u4F7F\u7528\u5168\u5C40 {source} \u526F\u672C\u3002","status.fallback.project":"\u5F53\u524D\u4F7F\u7528\u9879\u76EE {source} \u526F\u672C\u3002","root.copilot":"GitHub Copilot","source.selectHint":"\u5148\u9009\u62E9\u4E00\u4E2A\u6765\u6E90\uFF0C\u624D\u80FD\u67E5\u770B\u76EE\u5F55\u6216\u5173\u95ED\u6574\u4E2A\u6765\u6E90\u3002\u5173\u95ED\u6765\u6E90\u53EA\u5F71\u54CD DSH \u8C03\u7528\uFF0C\u4E0D\u6539\u6587\u4EF6\u3002","import.global":"\u5BFC\u5165\u6280\u80FD","category.batchAssigned":"\u5DF2\u5C06 {count} \u4E2A\u6280\u80FD\u6DFB\u52A0\u5230\u201C{category}\u201D\u3002\u6587\u4EF6\u672A\u79FB\u52A8\u3002","category.selectSkills":"\u6DFB\u52A0\u6280\u80FD\u5230\u201C{name}\u201D","category.noAvailableSkills":"\u6CA1\u6709\u53EF\u6DFB\u52A0\u7684\u6280\u80FD","category.addSkills":"\u6DFB\u52A0\u6280\u80FD","root.dsh":"DSH","root.agents":"\u516C\u5171 Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH","root.projectAgents":"\u9879\u76EE Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (\u7528\u6237\u76EE\u5F55)","root.trae":"Trae","root.traeCn":"Trae (\u56FD\u5185\u7248)","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (\u65E7\u76EE\u5F55)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN","root.antigravity":"Google Antigravity"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names, descriptions or notes","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","skill.linked":"External directory link, read-only","source.toggle":"Toggle source","skill.toggle":"Toggle skill","category.toggle":"Toggle category","category.create":"New category","category.uncategorized":"Uncategorized","category.assign":"Move to {name}","category.rename":"Rename","category.delete":"Delete category","category.note":"Categories stay in this source and do not move files.","category.name":"Category name","category.empty":"No skills yet. Use More on a skill to place it here.","category.progress":"{count} \xB7 {enabled}/{usable} enabled","category.actions":"Category actions","category.created":"Added category \u201C{name}\u201D. No directory was created.","category.renamed":"Renamed. Skill file names are unchanged.","category.deleted":"Deleted category \u201C{name}\u201D. Skills returned to Uncategorized and were not trashed.","category.assigned":"Moved {name} to \u201C{category}\u201D. The file was not moved.","category.dragTip":"Drag to reorder or move to another category","category.moved":"Updated the category or order for {name}.","confirm.category.title":"Delete category?","confirm.category.desc":"\u201C{name}\u201D will be removed. Its skills return to Uncategorized. Files are not moved.","error.category.duplicate":"A category with this name already exists: {name}","error.category.name":"Category name is required and must be at most 24 characters","error.category.notFound":"Category not found","error.category.root":"Skill source not found: {root}","error.category.position":"Invalid skill ordering position","error.category.target":"The target skill is not in the destination category","detail.title":"Skill details","detail.description":"Description","detail.customNote":"Custom note","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","detail.copyBody":"Copy body","detail.copied":"Copied","detail.copyFailed":"Copy failed","skill.editNote":"Edit note","note.title":"Custom description / Note","note.label":"Note","note.placeholder":"Record what this skill does and when to use it\u2026","note.help":"Saved in the plugin display layer without modifying SKILL.md. Clear to revert to original description.","note.clear":"Clear","note.updated":"Updated custom note for \u201C{name}\u201D.","note.cleared":"Cleared custom note for \u201C{name}\u201D.","error.note.root":"Skill source not found: {root}","error.note.tooLarge":"Custom note is too long (maximum {max} characters)","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.missing":"The workspace directory does not exist and may have been moved or deleted: {path}","warning.project.unreadable":"No permission to read the workspace directory: {path} ({code})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.linked":"This directory link cannot be deleted or overwritten: {path}","error.skill.noFrontmatter":"Skill lacks complete frontmatter, cannot {action}: {name}","error.skill.notLoadable":"Skill structure is incomplete, cannot {action}: {name}","error.source.notFound":"Path does not exist: {path}","error.source.symlink":"Skill sources containing symbolic links are not supported: {path}","error.source.unrecognized":"Unrecognized skill source: {path}","error.source.tooDeep":"Skill source directory depth exceeds {depth} levels: {path}","error.import.overlap":"Import source cannot be the same as, contain, or be inside the DSH skills directory","error.import.emptySource":"No skill entries found in the directory: {path}","error.import.invalidName":"Cannot generate a valid kebab-case name (original: {name})","error.import.duplicateName":"Batch source contains duplicate skill names: {name}","error.import.failed":"Import failed","error.import.rollbackFailed":"Overwrite import rollback failed; backups kept at: {path} ({error})","error.upload.path":"Upload contains an invalid path: {path}","error.upload.encoding":"Upload encoding is invalid","error.upload.empty":"Upload is empty","error.upload.tooMany":"Too many uploaded files; maximum {limit}","error.upload.tooLarge":"Upload is too large; limit {limit} bytes","error.upload.archiveTooLarge":"ZIP archive is too large; limit {limit} bytes","error.upload.duplicate":"Upload contains a duplicate path: {path}","error.upload.zipInvalid":"ZIP archive could not be extracted","error.trash.notFound":"Trash item not found: {id}","error.trash.conflict":"Cannot restore because a skill with the same name exists: {name}","error.trash.invalid":"Invalid trash item path: {id}","error.trash.projectUnavailable":"The original project is not an active workspace, so this skill cannot be restored: {path}","error.trash.rollbackFailed":"Move-to-trash rollback failed; unrecovered content was kept at: {path} ({error})","error.state.invalid":"The manager state file could not be read, so overwriting it was refused: {path}","error.create.descriptionRequired":"Skill description is required","error.create.bodyRequired":"Skill body is required","error.create.tooLarge":"Skill content is too large","error.create.conflict":"A skill with the same name already exists: {name}","error.proto.forbidden":"Forbidden mutation request (missing client marker)","error.proto.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.missing":"Directory missing","workspace.unreadable":"No read permission","workspace.noSkills":"No skills in this workspace yet.","workspace.loading":"Loading\u2026","workspace.loadFailed":"Failed to load: {error}","workspace.listFailed":"Cannot read the workspace list: {error}","filter.status":"Invocation status","filter.statusAll":"All statuses","status.shadowedBy":"Overridden by the same skill in {source}","status.fallback.user":"Currently using the global {source} copy.","status.fallback.project":"Currently using the project {source} copy.","source.selectHint":"Select a source to view its directory or turn the whole source off. Turning a source off only affects invocation in DSH and does not change files.","import.global":"Import skill","category.batchAssigned":"Added {count} skills to \u201C{category}\u201D. Files were not moved.","category.selectSkills":"Add skills to \u201C{name}\u201D","category.noAvailableSkills":"No skills available to add","category.addSkills":"Add skills","root.dsh":"DSH skills","root.agents":"Shared Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH skills","root.projectAgents":"Project Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.copilot":"GitHub Copilot","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (User Home)","root.trae":"Trae","root.traeCn":"Trae CN","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (Legacy)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN","root.antigravity":"Google Antigravity"}},mo={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(Ha.zh,mo.zh,Rr.zh,Lr.zh,Tr.zh);Object.assign(Ha.en,mo.en,Rr.en,Lr.en,Tr.en);var Ot=Xr(E),fo=Wr({react:E,SourceSelect:Ot,translateError:_}),io=fo.DestinationPicker,pn=xe.IconLoadingOutlineMedium||xe.IconLoadingOutlineRegular||xe.IconLoadingOutline16,mn=xe.IconRefreshOutlineMedium||xe.IconRefreshOutlineRegular||xe.IconRefreshOutline16,fn=Fr({react:E,Modal:Qe,Input:Ie,Button:Me.Button,SourceSelect:Ot,destination:fo,api:za,headers:vt,translateError:_,getLocale:ur,IconLoading:pn,IconRefresh:mn}),gn=Vr+Ir+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{display:grid!important;box-sizing:border-box!important;width:100%;height:32px!important;min-height:32px!important;max-height:32px!important;padding:2px!important;border-radius:var(--dsw-radius-sm,8px)!important;border:0.5px solid var(--dsw-alias-border-l2)!important;background:var(--dsw-alias-bg-layer-1)!important}.dssm-scope-tabs>span[aria-hidden="true"],.dssm-scope-tabs>[class*="indicator"]{width:calc((100% - 4px)/4)!important;inset:2px auto 2px 2px!important;border-radius:6px!important;border:0.5px solid var(--dsw-alias-border-l3,rgba(255,255,255,.12))!important;background:var(--dsw-alias-bg-layer-3,rgba(255,255,255,.08))!important;box-shadow:none!important}.dssm-scope-tabs [role=tab]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:28px!important;padding:0 6px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!important;white-space:nowrap!important;color:var(--dsw-alias-label-secondary)!important;text-align:center!important;box-sizing:border-box!important;transition:color 150ms ease!important}.dssm-scope-tabs [role=tab]:hover{color:var(--dsw-alias-label-primary)!important}.dssm-scope-tabs [role=tab][aria-selected="true"]{color:var(--dsw-alias-label-primary)!important;font-weight:600!important}.dssm-scope-tabs [role=tab] svg{flex:none;display:block}.dssm-source-head{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px}.dssm-source-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-source-toggle:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary));outline-offset:2px}.dssm-fold-chevron{flex:none;color:var(--dsw-alias-label-tertiary);transform:rotate(-90deg);transition:transform 160ms ease}.dssm-fold-chevron.is-open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.dssm-fold-chevron{transition:none}}.dssm-source-label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dssm-drag-handle{cursor:grab;color:var(--dsw-alias-label-tertiary,#888);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;border-radius:var(--dsw-radius-sm,8px);flex-shrink:0;user-select:none;transition:color 0.15s}.dssm-skill-row:hover .dssm-drag-handle{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-drag-handle:active{cursor:grabbing}.dssm-cat.drag-over{border-color:var(--dsw-alias-brand-primary,#3b82f6);box-shadow:0 0 0 1px var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.dragging{opacity:0.4;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent))}.dssm-skill-row.drop-before{box-shadow:inset 0 2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.drop-after{box-shadow:inset 0 -2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:0;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:0;background:transparent}.dssm-skill-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-skill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-skill-row .dssm-name{font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none}.dssm-source{overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-textarea{box-sizing:border-box;display:block;width:100%;min-height:160px;margin:0;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:14px;line-height:22px;resize:vertical}.dssm-textarea:focus,.dssm-textarea:focus-visible{outline:none;border-color:var(--dsw-alias-state-business-primary)}.dssm-textarea[readonly]{resize:none}.dssm-source-title{font-size:14px;font-weight:650;white-space:nowrap;flex:none}.dssm-source-path{min-width:0;max-width:50%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-source-actions{display:flex;flex:none;align-items:center;gap:8px;margin-left:12px}.dssm-cat{margin:0 10px 8px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px)}.dssm-cat-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 6px}.dssm-cat-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-cat-title{font-size:14px;font-weight:700;display:inline-flex;align-items:center}.dssm-cat-note{margin:2px 16px 8px}.dssm-fallback{margin-top:4px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-section{box-sizing:border-box;display:flex;width:100%;min-width:0;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary,#eeeeee);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dssm-feedback-links>span[data-mpi-check]{display:inline-flex;align-items:center}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));outline-offset:2px}.dssm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1)}.dssm-stat{padding:4px 10px;border-right:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:4px;color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:650}.dssm-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%!important;min-width:0;box-sizing:border-box}.dssm-filter-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.dssm-filters .dssm-search{flex:1 1 0;min-width:160px;max-width:none}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter,.dssm-filters .dssm-menu-select-wrap,.dssm-filters span[class*="_root_"],.dssm-filters .dssm-source-select-menu,.dssm-filters .dssm-menu-select-trigger{width:auto!important;min-width:0!important;display:inline-flex!important;flex:none}.dssm-field .dssm-menu-select-wrap,.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"]{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.dssm-destination-pair .dssm-menu-select-trigger,.dssm-form .dssm-menu-select-trigger{display:flex!important;width:100%!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}.dssm-source-select-menu{min-width:130px;max-width:280px}.dssm-menu-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:32px;padding:0 10px;border:0.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;line-height:20px;cursor:pointer;user-select:none;width:max-content;min-width:8em;transition:border-color 120ms ease,background 120ms ease}.dssm-menu-select-trigger:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#555)}.dssm-menu-select-trigger.is-open,.dssm-menu-select-trigger:focus-visible{border-color:var(--dsw-alias-brand-primary)!important;outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary))!important;outline-offset:0!important}.dssm-menu-select-trigger:disabled{opacity:.5;cursor:default}.dssm-menu-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.dssm-menu-select-arrow{color:var(--dsw-alias-label-secondary);flex-shrink:0}.dssm-count{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap;flex:none}.dssm-name{overflow-wrap:anywhere;font-size:13px;font-weight:570}.dssm-note{overflow-wrap:anywhere;margin-top:2px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px;line-height:17px}.dssm-enabled{color:var(--dsw-alias-state-success-primary,#51b976);font-size:12px;white-space:nowrap}.dssm-disabled{color:var(--dsw-alias-state-warn-primary,#d49245);font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap}.dssm-trash-count{padding:2px 7px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px}.dssm-warning{border-color:var(--dsw-alias-state-warn-primary,#d49245);color:var(--dsw-alias-state-warn-primary,#d49245)}.dssm-error{border-color:var(--dsw-alias-state-error-primary,#ef7272);color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-detail .dssm-desc{margin:0}.dssm-field{gap:6px}.dssm-label{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-detail-title{font-size:14px;line-height:22px;font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:18px}.dssm-batch-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;margin:12px 0;padding:2px}.dssm-batch-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));cursor:pointer;user-select:none;transition:background 0.15s,border-color 0.15s}.dssm-batch-item:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));border-color:var(--dsw-alias-border-l2,#494949)}.dssm-batch-item.selected{border-color:var(--dsw-alias-brand-primary,#3b82f6);background:var(--dsw-alias-state-business-tertiary)}.dssm-batch-item input[type="checkbox"]{cursor:pointer;margin:0;flex-shrink:0;width:15px;height:15px}.dssm-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dssm-batch-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dssm-batch-name{font-size:13px;font-weight:600;color:var(--dsw-alias-label-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-batch-cat-tag{font-size:10px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap;flex-shrink:0}.dssm-batch-desc{font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-form+.dssm-modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--dsw-alias-border-l2)}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3,#555555);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12))}.dssm-dropzone-title{color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary,#eeeeee);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eeeeee);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:22px}.dssm-detail-section .dssm-note,.dssm-diag{font-size:14px;line-height:22px}.dssm-detail-path{padding:8px 10px;border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);word-break:break-all}.dssm-diag{padding:8px 10px;border-left:2px solid var(--dsw-alias-state-warn-primary,#d49245);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-trash-panel{display:flex;flex-direction:column;gap:10px}.dssm-trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;border:0.5px solid var(--dsw-alias-border-l2,rgba(128,128,128,.2));border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-trash-main{min-width:0;display:flex;flex-direction:column;gap:6px}.dssm-trash-item .dssm-name{font-size:14px;line-height:20px;color:var(--dsw-alias-label-primary,inherit)}.dssm-trash-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:17px;color:var(--dsw-alias-label-tertiary,#909090);overflow-wrap:anywhere}.dssm-trash-source{min-width:0;background:transparent;color:var(--dsw-alias-label-tertiary,#a0a0a0)}.dssm-trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
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:repeat(2,minmax(0,1fr))}.dssm-stat:nth-child(2){border-right:0}.dssm-stat:nth-child(n+3){border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a)}.dssm-filters{flex-wrap:wrap}.dssm-filters .dssm-search{flex:1 1 100%;min-width:0;order:2}.dssm-filters .dssm-filter-actions{order:3;margin-left:auto}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter{flex:1 1 calc(50% - 4px);min-width:0;order:1}.dssm-filters .dssm-source-filter .dssm-menu-select-wrap,.dssm-filters .dssm-status-filter .dssm-menu-select-wrap,.dssm-filters .dssm-project-filter .dssm-menu-select-wrap{width:100%!important;display:flex!important}.dssm-filters .dssm-source-filter .dssm-menu-select-trigger,.dssm-filters .dssm-status-filter .dssm-menu-select-trigger,.dssm-filters .dssm-project-filter .dssm-menu-select-trigger{width:100%!important;min-width:0!important}}.dssm-row-state{display:flex;align-items:center;justify-content:flex-end;gap:8px}
35
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)}
@@ -56,7 +56,7 @@ var exports = module.exports;
56
56
  .dssm-skill-desc.dssm-custom-note{color:var(--dsw-alias-label-primary,#fff);font-style:normal}
57
57
  .dssm-desc.dssm-desc-secondary{color:var(--dsw-alias-label-tertiary);font-size:12px;margin-top:2px}
58
58
 
59
- `;function Mr(a,t,d,c){var p=a(t,c);return typeof p=="string"&&p!==t?p:d}function J(a,t){if(t instanceof Error&&!t.code)return t.message;if(t&&typeof t=="object"){let u=t;if(u.code){var d=Object.assign({},u.params||{});d.action&&(d.action=Mr(a,"action."+d.action,String(d.action)));var c=a(u.code,d);if(typeof c=="string"&&c!==u.code){if(d.code&&u.code==="error.workspace.unavailable"){var p=dr()==="zh"||!dr()&&c.includes("\uFF1A");return c+(p?"\uFF08"+d.code+"\uFF09":" ("+d.code+")")}return c}if(c===u.code)return u.error!==void 0?J(a,u.error):u.code}if(u.error!==void 0)return J(a,u.error);if(u.message!==void 0)return String(u.message)}return String(t??"")}function mo(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 za(a,t){return fetch(Pa("/api/michengai/dsh-skills-manager"+a),t).then(mo)}function lr(a){return a.enabled!==void 0?a.enabled===!0:!!(a.invocationPolicyValid&&a.modelInvocable&&a.userInvocable&&a.managerEnabled!==!1)}function Ta(a,t){return a+(Number(t)===1?".one":".other")}var Ma;function dr(){return Ma?.getLocale?.().active}function fo(a,t){return new Date(t).toLocaleString(dr()||a("format.locale"))}function it(a,t){var d=Mr(a,"root."+(t.localeKey||t.kind||t.key),t.label);return t.projectName?d+" \xB7 "+t.projectName:d}function go(a,t){var d=t&&t.imported||[],c=d.map(function(g){return g.name}),p=(t&&t.skipped||[]).map(function(g){return g.name}),u=[];d.forEach(function(g){(g.warnings||[]).forEach(function(w){u.push(J(a,w))})});var f;return c.length&&p.length?f={ok:!0,warning:!0,imported:!0,text:a("result.importPartial",{imported:c.join(", "),skipped:p.join(", ")})}:c.length?f={ok:!0,warning:!1,imported:!0,text:a("result.imported",{names:c.join(", ")})}:p.length?f={ok:!1,warning:!0,imported:!1,text:a("result.importSkipped",{names:p.join(", ")})}:f={ok:!1,warning:!1,imported:!1,text:a("result.importEmpty")},u.length&&(f.warning=!0,f.text=a("result.importWarnings",{result:f.text,warnings:u.join(a("format.warningSeparator"))})),f}function ho(a){return String(a??"").trim().toLowerCase()}function Hr(a,t){var d=ho(t);return d?[a.name,a.declaredName,a.description,a.customNote,a.kind,a.kindLabel,a.statusLabel,a.rootKey,a.rootLabel].some(function(c){return String(c??"").toLowerCase().includes(d)}):!0}function ms(a,t){var d=t&&t.rootKey!=null?t.rootKey:"";return a.filter(function(c){return(!d||c.rootKey===d)&&Hr(c,t&&t.query)})}function Dr(a){return(a||[]).filter(function(t){return t.mutable||t.overridden===!0||t.exists!==!1})}function jr(a){return a.shadowedBy?"shadowed":a.loadable===!1?"invalid":lr(a)?"enabled":"disabled"}function bo(a){var t={total:a.length,enabled:0,disabled:0,shadowed:0,invalid:0};return a.forEach(function(d){t[jr(d.skill)]++}),t}function yo(a){return!!(a&&a.toggleable!==!1&&a.kind!=="project-dsh")}function vo(a){return Dr(a).filter(function(t){return t.scope==="project"?!1:t.mutable||t.overridden===!0||(t.skills||[]).length>0})}var so=32<<20,sr=32<<20,no=64<<20,io=1e3;function ir(a){return String(a&&(a._dssmPath||a.webkitRelativePath||a.name)||"").replace(/\\/g,"/")}function wo(a){var t=Array.from(a||[]);if(!t.length)return null;if(t.length>io)return{error:{code:"error.upload.tooMany",params:{limit:io}}};var d=t.some(function(w){return ir(w).includes("/")});if(d){if(!t.some(function(w){return/(^|\/)skill\.md$/i.test(ir(w))}))return{error:{code:"select.folder.invalid"}};var c=t.find(function(w){return Number(w.size||0)>sr});if(c)return{error:{code:"error.upload.tooLarge",params:{limit:sr}}};var p=t.reduce(function(w,S){return w+Number(S.size||0)},0);return p>no?{error:{code:"error.upload.tooLarge",params:{limit:no}}}:{kind:"folder",name:ir(t[0]).split("/")[0],files:t,count:t.length,size:p}}if(t.length!==1)return{error:{code:"select.file.invalid"}};var u=String(t[0].name||""),f=u.toLowerCase(),g=Number(t[0].size||0);return f==="skill.md"?g>sr?{error:{code:"error.upload.tooLarge",params:{limit:sr}}}:{kind:"skill",name:u,files:t,count:1,size:g}:f.endsWith(".zip")?g>so?{error:{code:"error.upload.archiveTooLarge",params:{limit:so}}}:{kind:"zip",name:u,files:t,count:1,size:g}:{error:{code:"select.file.invalid"}}}function fs(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 gs(a){return Promise.all(a.files.map(function(t){return t.arrayBuffer().then(function(d){return{path:ir(t),data:fs(d)}})})).then(function(t){return a.kind==="zip"?{name:a.name,zip:t[0].data}:{name:a.name,entries:t}})}function ko(a,t,d){return a.isFile?new Promise(function(c,p){a.file(function(u){u._dssmPath=t+u.name,d.push(u),c()},p)}):a.isDirectory?new Promise(function(c,p){var u=a.createReader(),f=[];function g(){u.readEntries(function(w){if(!w.length){Promise.all(f.map(function(S){return ko(S,t+a.name+"/",d)})).then(function(){c()},p);return}f=f.concat(w),g()},p)}g()}):Promise.resolve()}function hs(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 ko(p,"",c)})).then(function(){return c})}function bs(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 ys(a,t){if(t.key==="Tab"){var d=bs(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 vs(a){return zr(a.on,a.label,a.disabled,a.onClick)}function B(a,t,d="primary",c){return s(Ie.Button,{variant:d==="primary"?"primary":"outline",className:d==="danger"?"dssm-btn-danger":void 0,disabled:c,onClick:t},a)}function We(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 ws(){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 jt(a,t,d,c,p){return s(Ie.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 nr(a,t,d,c,p){return s(Ie.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 zr(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 ks="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",xs="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==",Ss="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==",Cs="M23.376 14.458v-4.056c0-2.304-1.003-4.154-2.748-5.075L11.612.574l-.046.086-.045.086c1.68.886 2.644 2.673 2.644 4.902v4.056a7.928 7.928 0 01-.014.454l-.005.061c-.005.081-.01.164-.018.245a4.897 4.897 0 01-.011.1l-.01.076c-.008.068-.015.135-.025.203l-.018.113-.01.058a9.99 9.99 0 01-.098.513l-.007.03a7.209 7.209 0 01-.074.294l-.024.086c-.027.099-.056.197-.087.296l-.027.085a9.592 9.592 0 01-.111.323l-.033.085-.018.046c-.032.082-.064.166-.098.248-.019.048-.04.096-.061.145l-.007.017a6 6 0 01-.084.187c-.024.056-.05.11-.077.165-.03.061-.058.122-.089.182a9.423 9.423 0 01-.176.332c-.03.056-.062.111-.094.167-.031.053-.062.108-.095.16-.033.055-.066.11-.101.164-.033.053-.065.104-.1.155-.034.055-.07.107-.111.169l-.099.144a15.193 15.193 0 01-.34.457c-.04.05-.08.102-.121.151l-.107.128-.007.008a6.987 6.987 0 01-.262.298l-.149.16-.116.12a9.562 9.562 0 01-.204.198l-.03.03-.072.069a9.05 9.05 0 01-.263.235l-.025.022-.029.026-.042.035a11.7 11.7 0 01-.22.18l-.07.055-.018.013a8.904 8.904 0 01-.194.146c-.029.02-.057.042-.086.063a7.7 7.7 0 01-.22.152l-.057.04a8.865 8.865 0 01-.293.185l-.062.037a10.424 10.424 0 01-.307.173l-.037.02-.196.103-.108.052-.012.006a6.196 6.196 0 01-.315.143c-.065.028-.13.054-.196.08l-.035.014-.086.034c-.07.026-.143.05-.215.075l-.039.014-.064.023a8.056 8.056 0 01-.323.097l-.63.173a7.285 7.285 0 01-.33.08l-.07.015c-.053.012-.104.023-.157.032l-.065.011-.085.015a2.332 2.332 0 01-.194.027l-.085.01a4.715 4.715 0 01-.16.018l-.034.003a4.861 4.861 0 01-.246.016h-.033a2.714 2.714 0 01-.155.005h-.106a3.384 3.384 0 01-.225-.007H4.86l-.15-.012-.066-.006a5.586 5.586 0 01-.187-.02l-.04-.005a5.14 5.14 0 01-.219-.035l-.054-.01a6.943 6.943 0 01-.347-.082l-.03-.008-.038-.01a5.034 5.034 0 01-.269-.086l-.063-.023a4.216 4.216 0 01-.188-.073l-.071-.031-.016-.007a4.959 4.959 0 01-.16-.074l-.026-.013a.164.164 0 00-.014-.007l-.671-.351.486.486h.016l8.995 4.742.093.048.03.014.02.01c.056.026.111.052.169.076l.016.008.073.032.195.076.022.008a.718.718 0 01.03.012l.014.004a4.693 4.693 0 00.323.1l.027.007c.073.02.147.038.22.055l.018.004.027.006.066.013.088.016c.075.014.15.026.226.038l.042.004c.064.009.128.016.193.022l.126.012.06.003.05.002.098.005c.046.002.094.002.14.003h.12c.05 0 .1-.002.161-.005h.033l.07-.004a6.17 6.17 0 00.184-.014l.033-.003a.753.753 0 00.058-.005l.108-.012.081-.01.08-.01.129-.021.082-.014.071-.012c.054-.01.107-.021.16-.033l.066-.013.059-.013c.096-.022.192-.046.287-.073l.63-.172a7.354 7.354 0 00.397-.122l.04-.015c.075-.025.149-.051.222-.078.032-.011.062-.024.093-.037l.03-.012c.067-.027.135-.054.2-.082l.128-.056.195-.09.021-.01.102-.05c.068-.034.135-.069.202-.105l.037-.02.073-.038c.08-.044.16-.092.24-.139l.026-.015a8.086 8.086 0 00.322-.2l.065-.045 1.98.902a1.748 1.748 0 002.472-1.59v-7.33l.004.004z",Ns="M11.617.576a3.904 3.904 0 00-.093-.047c-.016-.009-.033-.016-.05-.024a5.854 5.854 0 00-.166-.077l-.09-.04a4.094 4.094 0 00-.194-.074c-.017-.006-.035-.015-.053-.02l-.013-.005a5.18 5.18 0 00-.277-.088l-.07-.019a4.034 4.034 0 00-.219-.053c-.015-.003-.03-.008-.044-.012L10.253.1l-.057-.011a5.177 5.177 0 00-.225-.036L9.928.047a5.972 5.972 0 00-.191-.022L9.669.02a1.33 1.33 0 00-.058-.005L9.515.009a4.058 4.058 0 00-.111-.005C9.354 0 9.304 0 9.254 0h-.109c-.052 0-.106.004-.16.004L8.884.01A5.32 5.32 0 008.7.022l-.083.006h-.008c-.05.005-.1.013-.15.019l-.12.014c-.056.008-.112.018-.169.028-.037.006-.074.011-.11.018a7.054 7.054 0 00-.572.133l-.63.172c-.111.031-.22.064-.33.1-.037.011-.072.025-.108.037a12.91 12.91 0 00-.345.126c-.067.027-.133.054-.2.083l-.128.055a11.916 11.916 0 00-.318.15 7.376 7.376 0 00-.311.163c-.082.045-.16.092-.24.14a9.424 9.424 0 00-.35.218l-.016.01-.06.04a9.242 9.242 0 00-.51.37 12.54 12.54 0 00-.315.254l-.043.034-.01.007-.045.041c-.09.078-.18.158-.268.24l-.106.101c-.07.067-.139.135-.207.204l-.056.054-.063.067-.153.164-.12.133-.148.17c-.024.03-.049.057-.073.086l-.043.053a5.96 5.96 0 00-.123.155l-.118.151c-.04.053-.08.106-.118.16l-.075.101-.038.056-.107.155-.11.164a9.91 9.91 0 00-.168.265c-.012.02-.023.043-.037.063a12.43 12.43 0 00-.192.335l-.09.168c-.019.034-.04.07-.057.105-.011.022-.02.043-.032.065l-.092.188-.08.167a19.15 19.15 0 00-.083.192c-.017.038-.035.076-.05.115-.008.016-.014.034-.021.051-.035.083-.067.167-.1.253l-.051.134c-.04.11-.077.22-.113.33l-.02.057c0 .002 0 .005-.002.007l-.008.026c-.032.1-.06.2-.09.301l-.023.089c-.027.1-.052.2-.075.301l-.007.03a7.63 7.63 0 00-.057.267l-.008.048c-.015.074-.026.148-.038.223L.082 8.4c-.011.078-.02.156-.029.234-.006.051-.013.103-.017.154a6.57 6.57 0 00-.02.26c-.003.044-.007.086-.009.13-.004.128-.007.257-.007.386v4.056c0 1.478.42 2.741 1.138 3.692A4.75 4.75 0 002.73 18.67l9.015 4.753c-1.656-.874-2.728-2.685-2.73-5.051v-4.056c0-.13.004-.26.01-.39.002-.043.006-.085.01-.128.005-.088.01-.174.019-.261l.017-.155c.01-.077.018-.155.029-.234l.026-.164c.013-.074.025-.15.039-.223.02-.105.04-.21.064-.313l.008-.031c.023-.1.048-.201.075-.301l.023-.088c.028-.1.058-.202.09-.302l.008-.025.021-.063c.036-.11.073-.22.113-.33l.052-.134c.031-.085.065-.169.1-.253.022-.056.047-.111.07-.166a13.856 13.856 0 01.164-.358c.03-.063.06-.126.092-.188l.088-.172a9.22 9.22 0 01.187-.338l.096-.164c.034-.057.069-.112.104-.168l.1-.159a10.49 10.49 0 01.567-.786l.123-.155.116-.139c.05-.057.098-.115.148-.171a14.092 14.092 0 01.272-.297 9.706 9.706 0 01.432-.425c.088-.083.177-.163.268-.241l.054-.048a10.08 10.08 0 01.553-.435l.092-.068c.075-.053.15-.105.226-.156.019-.013.038-.028.06-.04a9.18 9.18 0 01.362-.227c.08-.047.16-.094.241-.139l.11-.058a7.643 7.643 0 01.521-.256l.126-.056a7.509 7.509 0 01.546-.208l.107-.037c.11-.036.22-.069.33-.1l.63-.172c.095-.026.191-.05.287-.072l.097-.02c.062-.014.125-.029.187-.04l.114-.018c.055-.01.11-.02.166-.028.04-.006.08-.01.12-.014.053-.007.105-.014.157-.019l.083-.006c.061-.005.123-.01.184-.013.034-.003.067-.003.101-.004l.16-.006h.11a3.187 3.187 0 01.261.008l.153.01.067.007c.064.006.128.013.192.022l.043.005a5.232 5.232 0 01.281.047l.141.03c.073.016.146.035.218.053l.07.019c.094.026.187.055.278.087l.067.025a4.326 4.326 0 01.449.19l.143.072L11.617.576z",Rs="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",As="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",Es="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",Ls="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",Ps="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",Ts="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",Is="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",zs="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",Ms="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",Hs="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 Ds(a){var t=String(a||"").toLowerCase();return t.includes("dsh")?s("img",{src:ks,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):t.includes("workbuddy")?s("img",{src:xs,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:Ss,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:Cs}),s("path",{fill:"#ffffff",d:Ns})):t.includes("codex")?s("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},s("path",{fill:"currentColor",d:Rs})):t.includes("cursor")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"currentColor",fillRule:"evenodd",d:As})):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:Es})):t.includes("trae")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#32F08C",d:Ls})):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:zs}),s("path",{fill:"#FF4D4D",d:Ms}),s("path",{fill:"#FF4D4D",d:Hs})):t.includes("roo")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#eab308",fillRule:"evenodd",d:Ps})):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:Ts}),s("path",{fill:"#ffffff",d:Is})):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 js(){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 xo(a,t,d){a&&t===d&&a.focus()}function Ke(a){var t=A.useRef(null),d=A.useRef(a.onClose);d.current=a.onClose;function c(){var p=t.current;if(p){var u=p.querySelector("input, textarea");if(u instanceof HTMLElement){u.focus();return}p.tabIndex=-1,p.focus()}}return A.useLayoutEffect(function(){if(!(typeof document>"u")){var p=t.current;p&&xo(p,document.activeElement,document.body)}}),A.useEffect(function(){if(typeof document>"u")return;function p(u){u.key==="Escape"&&(u.preventDefault(),u.stopImmediatePropagation(),d.current())}return document.addEventListener("keydown",p,!0),function(){document.removeEventListener("keydown",p,!0)}},[]),s(Ie.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 So(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 u in t)if(d.indexOf(u)===-1&&t[u]&&t[u].retainedBy&&t[u].retainedBy.mainView)return u}}function Co(a){return typeof a=="function"?a:Ma&&typeof Ma.bind=="function"?Ma.bind(Ut):function(t,d){var c=Ha.zh||{},p=c[t]||t;if(!d)return p;var u=d;return p.replace(/\{(\w+)\}/g,function(f,g){return String(u[g]??"{"+g+"}")})}}function lo(a){var t=Co(a&&a.t),d=a&&a.useSessions?a.useSessions(So):void 0,c=A.useState("user"),p=A.useState({}),u=A.useState({});return s(Us,Object.assign({},a,{t,key:d||"no-session",sessionId:d,scope:c[0],setScope:c[1],savedFilters:p[0],setSavedFilters:p[1],expanded:u[0],setExpanded:u[1]}))}function Us(a){var t=Co(a&&a.t);function d(e,r){var n=Object.fromEntries(new Headers(r?.headers).entries());return a.sessionId&&(n["x-dsh-skills-session"]=a.sessionId),za(e,Object.assign({},r,{headers:n}))}var c=A.useState({loading:!0,error:null,data:null}),p=c[0],u=c[1],f=A.useState(!1),g=f[0],w=f[1],S=a.scope,C=a.setScope,P=a.expanded,i=a.setExpanded,U=a.savedFilters,X=a.setSavedFilters,_=A.useState(null),k=_[0],N=_[1],oe=A.useState(""),I=oe[0],q=oe[1],me=A.useState({}),F=me[0],l=me[1],T=A.useState(null),v=T[0]&&T[0].scope===S?T[0]:null;function V(e){T[1](e?Object.assign({},e,{scope:S}):null)}var ze=A.useState({root:"dsh",name:"",description:"",body:""}),qe=ze[0],W=ze[1],oa=A.useState(""),fe=oa[0],Bt=oa[1],vt=A.useState(""),G=vt[0],$=vt[1],Ye=A.useState(aa()),Ge=Ye[0],sa=Ye[1],wt=A.useState(aa()),Je=wt[0],kt=wt[1],na=A.useState([]),ie=na[0],xt=na[1],b=A.useState(""),H=b[0],le=b[1],lt=A.useRef(""),Me=A.useRef(0),Da=A.useState({loading:!1,error:null}),Y=Da[0],ia=Da[1],de=A.useState({}),la=de[0],dt=de[1],ja=A.useState(null),se=ja[0],Xe=ja[1],St=A.useState(""),Ct=St[0],da=St[1],ca=A.useState(!1),cr=ca[0],Nt=ca[1],Ft=A.useState(null),Ua=Ft[0],Ce=Ft[1],Oa=A.useState(!1),ct=Oa[0],He=Oa[1],ua=A.useState(""),_e=ua[0],pa=ua[1],Rt=A.useState(""),Vt=Rt[0],ut=Rt[1],ma=A.useState(null),Ba=ma[0],Qe=ma[1],fa=A.useState(!1),ge=fa[0],$e=fa[1],Wt=A.useState(null),pt=Wt[0],ce=Wt[1],mt=A.useState(null),At=mt[0],Fa=mt[1],Kt=A.useState("idle"),Va=Kt[0],ft=Kt[1];function ga(e){if(typeof navigator>"u"||!navigator.clipboard){ft("failed");return}navigator.clipboard.writeText(e).then(function(){ft("copied"),setTimeout(function(){ft("idle")},1500)}).catch(function(){ft("failed")})}var et=A.useRef(!1),ue=A.useRef(null),ha=A.useRef(null),qt=A.useRef(null),ye=A.useRef(!1),De=A.useRef({}),he=A.useRef(0);A.useEffect(function(){return function(){he.current++}},[]);function Ne(e){return e||u({loading:!0,error:null,data:p.data}),d("/state").then(function(r){return u({loading:!1,error:null,data:r}),r}).catch(function(r){u({loading:!1,error:J(t,r),data:p.data})})}A.useEffect(function(){Ne(!1)},[]);function Q(e,r,n,m){return et.current?Promise.reject({error:"operation already in progress"}):(et.current=!0,w(!0),V(null),d(e,{method:"POST",headers:yt,body:JSON.stringify(r||{})}).then(function(h){V({ok:!0,text:n?t(n,m||h||{}):t("result.updated")});var y=r&&typeof r.workspace=="string"?r.workspace:"";return Promise.all([Ne(!0),y?It(y):null]).then(function(){return h})}).catch(function(h){throw V({ok:!1,text:t("error.action",{error:J(t,h)})}),h}).finally(function(){et.current=!1,w(!1)}))}function Wa(e,r,n){w(!0),Fa(null),ft("idle"),N("detail"),d("/detail",{method:"POST",headers:yt,body:JSON.stringify(n?{root:e.key,name:r.name,workspace:n}:{root:e.key,name:r.name})}).then(Fa).catch(function(m){V({ok:!1,text:t("error.action",{error:J(t,m)})}),N(null)}).finally(function(){w(!1)})}function Re(e){da(e.path||""),Nt(!1),Ce(null),N({type:"root-path",root:e.key,label:it(t,e),path:e.path||"",defaultPath:e.defaultPath})}function ba(){var e=co();if(!e){Ce(t("rootPath.pickUnavailable"));return}Ce(null),Nt(!0),Promise.resolve().then(e).then(function(r){typeof r=="string"&&r.trim()&&da(r.trim())}).catch(function(r){Ce(J(t,r))}).finally(function(){Nt(!1)})}function Ae(e){var r=k&&typeof k=="object"&&k.type==="root-path"?k:null;r&&(Ce(null),Q("/root-path",{key:r.root,path:e},e===null?"rootPath.resetDone":"rootPath.saved",{name:r.label}).then(function(){N(null)}).catch(function(n){Ce(J(t,n))}))}function M(){He(!0),ce(null),Qe(null)}function gt(){var e=co();if(!e){ce(t("rootPath.pickUnavailable"));return}ce(null),$e(!0),Promise.resolve().then(e).then(function(r){typeof r=="string"&&r.trim()&&pa(r.trim())}).catch(function(r){ce(J(t,r))}).finally(function(){$e(!1)})}function ur(){var e=(_e||"").trim();e&&($e(!0),ce(null),d("/custom-source-scan",{method:"POST",headers:yt,body:JSON.stringify({path:e})}).then(function(r){Qe(r)}).catch(function(r){Qe(null),ce(J(t,r))}).finally(function(){$e(!1)}))}function Ka(e){var r=e.filter(function(n){return n&&n.path});!r.length||ge||($e(!0),ce(null),V(null),d("/custom-source-add",{method:"POST",headers:yt,body:JSON.stringify({sources:r})}).then(function(n){var m=n&&Array.isArray(n.added)?n.added.length:r.length;return Ne(!0).then(function(){V({ok:!0,text:t("customSource.added",{count:m})}),Qe(null),pa(""),ut(""),He(!1)})}).catch(function(n){ce(J(t,n))}).finally(function(){$e(!1)}))}function je(e){if(!g){var r=Ct;Q("/custom-source-remove",{id:e},"customSource.removed").then(function(){return d("/state").then(function(n){u({loading:!1,error:null,data:n});var m=(n&&Array.isArray(n.roots)?n.roots:[]).filter(function(y){return!y.mutable&&y.scope!=="project"&&y.key!==e}),h=m.find(function(y){return y.custom})||m[0];h?Re(h):N(null),r&&Qe(function(y){return y?Object.assign({},y,{candidates:y.candidates.map(function(x){return x.path===r?Object.assign({},x,{registered:!1}):x})}):null})})}).catch(function(n){Ce(J(t,n))})}}function ya(e,r){W(Object.assign({},qe,{[e]:r}))}function qa(){Ht(Ge,ie,rt)&&Q("/create",Object.assign({},qe,{root:void 0},or(Ge)),null).then(function(e){N(null),W({root:"dsh",name:"",description:"",body:""}),V({ok:!0,text:t("result.created",{name:e.name})+(Ge.scope==="workspace"?" \xB7 "+t("dest.createdInWorkspace"):"")})}).catch(function(){})}function va(e){ye.current=!1;var r=wo(e);if(r){if(r.error){Xe(null),V({ok:!1,text:J(t,r.error)});return}Xe(r),V(null)}}function wa(e){if(g||ye.current||!e.current)return;ye.current=!0,e.current.value="";function r(){setTimeout(function(){ye.current=!1},0)}window.addEventListener("focus",r,{once:!0}),e.current.click(),setTimeout(function(){ye.current=!1},3e4)}function Et(){!se||!Ht(Je,ie,rt)||gs(se).then(function(e){return Q("/upload",Object.assign({},e,or(Je)),null)}).then(function(e){var r=go(t,e);V({ok:r.ok,warning:r.warning,text:r.text}),r.imported&&(N(null),Xe(null))}).catch(function(){})}var tt=p.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},Lt=tt.roots||[],ht=Lt.filter(function(e){return!e.mutable&&e.scope!=="project"});function ka(){if(ht.length){var e=Ue&&ht.find(function(r){return r.key===Ue})||ht[0];Re(e)}}var Qt=S==="project"?"project":"user",Z=U[Qt]||{query:"",source:"",status:""},ee=Z.query,Pt=Z.source;function at(e,r){X(function(n){return Object.assign({},n,{[Qt]:Object.assign({},Z,{[e]:r})})})}function Qa(e){at("query",e)}function xa(e){at("source",e)}var Tt=la[H],Sa=S==="trash"?[]:S==="project"?Dr(Tt?.roots||[]):vo(Lt),Zt=Sa.filter(function(e){return(e.skills||[]).length>0}),Ue=S!=="project"&&Zt.some(function(e){return e.key===Pt})?Pt:"";function Oe(e){return e.registeredPaths[0]||""}function pr(e){ie.some(function(r){return r.available&&Oe(r)===e})&&(lt.current=e,le(e),la[e]||It(e))}function Yt(e=S==="project",r=!1){var n=he.current,m=++Me.current,h=function(){return n===he.current&&m===Me.current};return ia({loading:!0,error:null}),za("/workspaces").then(function(y){if(!h())return[];var x=y.items||[];xt(x),ia({loading:!1,error:null});var z=x.find(function(D){return D.available&&Oe(D)===lt.current})||x.find(function(D){return D.available&&Oe(D)}),O=z?Oe(z):"";return lt.current=O,le(O),e&&O&&(r||!la[O])&&It(O),x}).catch(function(y){return h()?(xt([]),lt.current="",le(""),ia({loading:!1,error:J(t,y)}),[]):[]})}function It(e){var r=he.current,n=(De.current[e]||0)+1;De.current[e]=n;var m=function(){return r===he.current&&n===De.current[e]};return dt(function(h){return Object.assign({},h,{[e]:{loading:!0,error:null,roots:h[e]?h[e].roots:[]}})}),za("/workspace-skills",{method:"POST",headers:yt,body:JSON.stringify({workspace:e})}).then(function(h){m()&&dt(function(y){return Object.assign({},y,{[e]:{loading:!1,error:null,roots:h.roots||[]}})})}).catch(function(h){m()&&dt(function(y){return Object.assign({},y,{[e]:{loading:!1,error:J(t,h),roots:[]}})})})}function Gt(){return he.current++,dt({}),Yt(!0,!0)}function mr(){W(Object.assign({},qe,{root:"dsh"})),sa(aa()),N("create"),Yt()}function Za(){V(null),Xe(null),kt(aa()),N("import"),Yt()}var rt=(tt.writeDestinations||[]).filter(function(e){return e.key==="dsh"||e.key==="agents"});function fr(e){var r=e.root&&e.root.scope==="project"?e.root.projectRoot:"",n=r?ie.find(function(m){return m.projectRoot===r&&m.available}):void 0;return n?{id:e.id,workspace:n.registeredPaths[0]||n.path}:{id:e.id}}function ae(e){return e.root&&e.root.scope==="project"?t("root.projectDsh")+" \xB7 "+(e.root.projectName||e.root.projectRoot):Mr(t,"root."+(e.root?.localeKey||e.root?.key||"dsh"),e.root?.label||t("root.dsh"))}function Ya(e){return s("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},Ds(e))}var ke=[{value:"",label:t("filter.all")}].concat(Zt.map(function(e){return{value:e.key,label:t("filter.option",{name:it(t,e),count:e.skills.length})}}));function gr(e){return e.linked!==!0?null:s("div",{className:"dssm-note"},t("skill.linked"))}function Ga(e){if(!e.fallbackTo)return null;var r=Lt.find(function(n){return n.key===e.fallbackTo.root});return r?s("div",{className:"dssm-note dssm-fallback"},t("status.fallback."+e.fallbackTo.scope,{source:it(t,r)})):null}function hr(e,r,n){var m=e==="status.enabled",h=e==="status.disabled",y=e==="status.invalid",x=m?"var(--dsw-alias-state-success-primary, #51b976)":h?"var(--dsw-alias-state-warn-primary, #d49245)":y?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",z=m?"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":h?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":y?"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",O=r||t(e);return s("span",{className:"dssm-status "+(n||""),title:O,"aria-label":O,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:x,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:z})))}function Ja(e,r,n){var m=function(E){return n?Object.assign({},E,{workspace:n}):E},h=lr(r),y=e.toggleable!==!1,x=r.shadowedBy?"status.shadowed":r.loadable===!1?"status.invalid":h?"status.enabled":"status.disabled",z=r.shadowedBy?"dssm-shadowed":h?"dssm-enabled":"dssm-disabled",O=!y||!!r.shadowedBy||r.loadable===!1,D=[{value:"detail",label:t("btn.detail")}],be=e.categories||[],j=r.categoryId||"";be.forEach(function(E){E.id!==j&&D.push({value:"category:"+E.id,label:t("category.assign",{name:E.name})})}),be.length&&j!==""&&D.push({value:"category:",label:t("category.assign",{name:t("category.uncategorized")})}),r.installSource&&r.linked!==!0&&D.push({value:"update",label:t("repo.manageUpdate")}),D.push({value:"note",label:t("skill.editNote")}),e.mutable&&r.linked!==!0&&D.push({value:"trash",label:t("btn.trash"),danger:!0});var R=r.shadowedBy?t("status.shadowedBy",{source:function(){var E=Lt.find(function(re){return re.key===r.shadowedBy.root});return E?it(t,E):r.shadowedBy.root}()}):void 0,K=[s(Ot,{action:!0,icon:ws(),label:t("btn.more"),disabled:g,options:D,onChange:function(E){if(E==="detail"&&Wa(e,r,n),E.indexOf("category:")===0){var re=E.slice(9),Aa=be.find(function(Ao){return Ao.id===re});Q("/category-assign",m({root:e.key,name:r.name,category:re}),"category.assigned",{name:r.name,category:Aa?Aa.name:t("category.uncategorized")})}E==="update"&&($a.focusSource(r.installSource,r.name),C("repositories")),E==="note"&&($(r.customNote||""),N({type:"skill-note",root:e.key,name:r.name,note:r.customNote||"",workspace:n})),E==="trash"&&N({type:"trash-confirm",root:e.key,name:r.name,workspace:n})}})];K.push(s("div",{className:"dssm-row-state"},O?hr(x,R,z):null,y?zr(h,t("skill.toggle")+" "+r.name,g||e.enabled===!1||!h&&r.loadable===!1,function(){Q(h?"/disable":"/enable",m({root:e.key,name:r.name}))}):null));var Ze=r.declaredName||r.name,ne=typeof r.customNote=="string"&&r.customNote.trim().length>0,Se=ne?r.customNote:r.description||t("note.missing"),Le=e.mutable===!0||!!(e.categories&&e.categories.length),Ro=ne?r.description?`${r.customNote}
60
- (${t("detail.description")}: ${r.description})`:r.customNote:r.description||void 0;return s("div",{key:e.key+":"+r.name,className:"dssm-skill-row",draggable:Le,onDragStart:function(E){if(Le){var re={root:e.key,name:r.name,currentCategoryId:r.categoryId||""};ue.current=re,E.dataTransfer.setData("text/plain",JSON.stringify(re)),E.dataTransfer.effectAllowed="move",E.currentTarget.classList.add("dragging")}},onDragEnd:function(E){ue.current=null,E.currentTarget.classList.remove("dragging"),Xt(E.currentTarget)},onDragOver:function(E){if(!(!ue.current||ue.current.root!==e.key||ue.current.name===r.name)){E.preventDefault(),E.stopPropagation();var re=E.currentTarget.getBoundingClientRect();E.currentTarget.classList.toggle("drop-before",E.clientY<re.top+re.height/2),E.currentTarget.classList.toggle("drop-after",E.clientY>=re.top+re.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 re=ue.current;if(ue.current=null,Xt(E.currentTarget),!(!re||re.root!==e.key||re.name===r.name)){var Aa=E.currentTarget.getBoundingClientRect();Q("/category-move",m({root:e.key,name:re.name,category:r.categoryId||"",targetName:r.name,position:E.clientY<Aa.top+Aa.height/2?"before":"after"}),"category.moved",{name:re.name})}}},Le?s("div",{className:"dssm-drag-handle",title:t("category.dragTip")},"\u22EE\u22EE"):null,s("div",{className:"dssm-skill-copy"},s("div",{className:"dssm-name"},Ze),s("div",{className:"dssm-skill-desc"+(ne?" dssm-custom-note":""),title:Ro},Se),gr(r),Ga(r)),s("div",{className:"dssm-skill-actions"},K))}var Jt=Sa.flatMap(function(e){return(e.skills||[]).map(function(r){return{root:e,skill:r}})}),ot=Jt.filter(function(e){return(!Ue||e.root.key===Ue)&&(!Z.status||jr(e.skill)===Z.status)&&Hr(Object.assign({},e.skill,{rootLabel:it(t,e.root)}),ee)}),zt=bo(Jt);function Xa(e,r,n){var m=r?{root:e.key,workspace:r}:{root:e.key},h=[];return h.push(jt(t("category.create"),We("M8 2.5v11M2.5 8h11"),function(){Bt(""),N({type:"category-create",root:e.key,workspace:r})},!1,g)),!r&&e.mutable!==!0&&h.push(jt(t("rootPath.edit"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),function(){Re(e)},!1,g)),yo(e)&&h.push(s(vs,{on:e.enabled,disabled:g,label:t("source.toggle")+" "+n,onClick:function(){Q(e.enabled?"/source-disable":"/source-enable",m)}})),s("span",{className:"dssm-source-actions",onClick:function(y){y.stopPropagation()}},h)}function _a(){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 br(){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 Xt(e){var r=e.closest(".dssm-section");r&&Array.prototype.forEach.call(r.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(n){n.classList.remove("drag-over","drop-before","drop-after")})}function yr(e,r,n,m,h){var y=JSON.stringify(["category",m||"",e.key,r.id||"none"]),x=P[y]===void 0?!!(ee||Z.status):P[y],z=r.scope||r.skills,O=z.filter(function(R){return R.skill.loadable!==!1}),D=O.filter(function(R){return lr(R.skill)}).length,be=O.length>0&&D===O.length,j=function(R){return n?Object.assign({},R,{workspace:n}):R};return s("section",{key:e.key+":"+(r.id||"none"),className:"dssm-cat","aria-label":r.name,onDragOver:function(R){R.preventDefault(),ue.current&&ue.current.root===e.key&&ue.current.currentCategoryId!==r.id?R.currentTarget.classList.add("drag-over"):R.currentTarget.classList.remove("drag-over")},onDragLeave:function(R){var K=R.relatedTarget;K&&R.currentTarget.contains(K)||R.currentTarget.classList.remove("drag-over")},onDrop:function(R){R.preventDefault(),ue.current=null,R.currentTarget.classList.remove("drag-over"),Xt(R.currentTarget);try{var K=JSON.parse(R.dataTransfer.getData("text/plain")||"{}");K&&K.name&&K.root===e.key&&K.currentCategoryId!==r.id&&Q("/category-assign",j({root:e.key,name:K.name,category:r.id}),"category.assigned",{name:K.name,category:r.name})}catch{}}},s("div",{className:"dssm-cat-head"},s("button",{type:"button",className:"dssm-cat-main","aria-expanded":x,onClick:function(){i(function(R){var K={};return K[y]=!x,Object.assign({},R,K)})}},s("span",{className:"dssm-cat-title"},s(x?br:_a),r.name),s("span",{className:"dssm-count"},t("category.progress",{count:z.length,enabled:D,usable:O.length}))),s("span",{className:"dssm-source-actions",onClick:function(R){R.stopPropagation()}},r.locked?null:jt(t("category.addSkills"),We("M8 2.5v11M2.5 8h11"),function(){var R={};(e.categories||[]).forEach(function(ne){R[ne.id]=ne.name});var K=h||r.scope||r.skills,Ze=K.filter(function(ne){return ne.skill.categoryId!==r.id}).map(function(ne){return{name:ne.skill.name,declaredName:ne.skill.declaredName,description:ne.skill.description,currentCatName:ne.skill.categoryId&&R[ne.skill.categoryId]||t("category.uncategorized")}});l({}),q(""),N({type:"category-add",root:e.key,id:r.id,name:r.name,workspace:n,skills:Ze})},!1,g),r.locked?null:jt(t("category.rename"),We("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){Bt(r.name),N({type:"category-rename",root:e.key,id:r.id,name:r.name,workspace:n})},!1,g),r.locked?null:jt(t("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:e.key,id:r.id,name:r.name,workspace:n})},!0,g),zr(be,t("category.toggle")+" "+r.name,g||e.enabled===!1||O.length===0,function(){Q(be?"/category-disable":"/category-enable",j({root:e.key,category:r.id}))}))),x?r.skills.length?s("div",{className:"dssm-skill-list"},r.skills.map(function(R){return Ja(e,R.skill,n)})):s("div",{className:"dssm-empty"},t("category.empty")):null)}function vr(e,r,n,m,h){var y=e.categories||[],x=function(R,K){var Ze=e.categoryOrder&&e.categoryOrder[K]||[],ne=Object.create(null);return Ze.forEach(function(Se,Le){ne[Se]=Le}),R.map(function(Se,Le){return{row:Se,index:Le,rank:ne[Se.skill.name]}}).sort(function(Se,Le){return Se.rank!==void 0&&Le.rank!==void 0?Se.rank-Le.rank:Se.rank!==void 0?-1:Le.rank!==void 0?1:Se.index-Le.index}).map(function(Se){return Se.row})};if(!y.length)return r.length?s("div",{className:"dssm-skill-list"},x(r,"").map(function(R){return Ja(e,R.skill,n)})):s("div",{className:"dssm-empty"},t("empty.source"));var z={},O=h||r;y.forEach(function(R){z[R.id]=!0});var D=function(R,K){return x(R.filter(function(Ze){return K?Ze.skill.categoryId===K:!Ze.skill.categoryId||!z[Ze.skill.categoryId]}),K)},be=y.map(function(R){return{id:R.id,name:R.name,locked:!1,skills:D(r,R.id),scope:D(O,R.id)}});be.push({id:"",name:t("category.uncategorized"),locked:!0,skills:D(r,""),scope:D(O,"")});var j=!!(ee||Z.status);return s("div",null,s("p",{className:"dssm-note dssm-cat-note"},t("category.note")),be.filter(function(R){return!j||R.skills.length}).map(function(R){return yr(e,R,n,m,O)}))}function wr(e,r,n,m){var h=(n||Jt).filter(function(D){return D.root.key===e.key}),y=(n||ot).filter(function(D){return D.root.key===e.key});if(Ue&&e.key!==Ue||(ee||Z.status)&&!y.length)return null;var x=JSON.stringify([Qt,m||"",e.key,ee,Ue,Z.status]),z=P[x]===void 0?r?!0:!!(ee||Ue||Z.status):P[x],O=r?it(t,Object.assign({},e,{projectName:void 0})):it(t,e);return s("section",{key:(m||"")+e.key,className:"dssm-source","data-source-key":e.key},s("div",{className:"dssm-source-head"},s("button",{type:"button",className:"dssm-source-toggle","aria-expanded":z,onClick:function(){i(function(D){var be={};return be[x]=!z,Object.assign({},D,be)})}},_r(s,z),s("div",{className:"dssm-source-label"},Ya(e.key),s("span",{className:"dssm-source-title"},O),s("span",{className:"dssm-count"},t(Ta("summary.group",y.length),{count:y.length})),e.overridden?s("span",{className:"dssm-source-custom"},t("rootPath.custom")):null,s("span",{className:"dssm-source-path",title:e.overridden?t("rootPath.overrideTitle",{path:e.defaultPath||""}):e.path},e.path))),Xa(e,r,O)),z?s("div",{className:"dssm-source-body",role:"region"},vr(e,y,r,m,h)):null)}function kr(){var e=S==="project",r=e?H:void 0,n=Sa.map(function(h){return wr(h,r,void 0,r?r+"|":void 0)}).filter(Boolean),m=n.length?n:s("div",{className:"dssm-empty"},ee||Z.status?t("empty.search"):t("empty.source"));return e&&(Y.error?m=s("div",{className:"dssm-feedback dssm-error",role:"alert"},t("workspace.listFailed",{error:Y.error})):Y.loading||H&&(!Tt||Tt.loading)?m=s("div",{className:"dssm-empty"},t("workspace.loading")):H?Tt?.error?m=s("div",{className:"dssm-feedback dssm-error",role:"alert"},t("workspace.loadFailed",{error:Tt.error})):!Jt.length&&!ee&&!Z.status&&(m=s("div",{className:"dssm-empty"},t("workspace.noSkills"))):m=s("div",{className:"dssm-empty"},t(ie.length?"workspace.unavailable":"project.empty"))),s("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+S,className:"dssm-sources"},m)}function xr(){return s("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},tt.trash.length?tt.trash.map(function(e){return s("div",{key:e.id,className:"dssm-trash-item",role:"group","aria-label":e.name},s("div",{className:"dssm-trash-main"},s("div",{className:"dssm-name"},e.name),s("div",{className:"dssm-trash-meta"},s("time",{dateTime:e.deletedAt},t("trash.deletedAt",{time:fo(t,e.deletedAt)})),s("span",{className:"dssm-trash-source"},t("trash.source",{source:ae(e)})))),s("div",{className:"dssm-trash-actions"},jt(t("btn.restore"),We("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){Q("/trash-restore",fr(e),"result.restored",{name:e.name}).catch(function(){})},!1,g),jt(t("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:e.id,name:e.name})},!0,g)))}):s("div",{className:"dssm-empty"},t("trash.empty")))}var $a=us({active:S==="repositories",t,onInstalled:function(){return Promise.all([Ne(!1),Gt()])}});function Sr(e){var r=e==="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":e==="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":e==="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:r}))}var Mt=["user","project","repositories","trash"].map(function(e){var r=t("scope."+e),n=e==="trash"?(tt.trash||[]).length:0,m=Sr(e);return{value:e,id:"dssm-tab-"+e,panelId:"dssm-scope-panel",label:n>0?[m,r,s("span",{className:"dssm-trash-count"},n)]:[m,r]}}),xe=s(Ie.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:t("scope.label"),value:S,onChange:function(e){C(e),(e==="project"||e==="trash")&&Yt(e==="project"),e==="trash"&&Ne(!0)},items:Mt}),er=[S==="project"?null:s("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(e){return s("div",{key:e[1],className:"dssm-stat"},s("strong",null,zt[e[0]]),t(Ta(e[1],zt[e[0]]),{count:zt[e[0]]}).replace(String(zt[e[0]]),""))})),s("div",{key:"filters",className:"dssm-filters"},S==="project"?null:s("div",{className:"dssm-source-filter"},s(Ot,{value:Ue,label:t("filter.source"),options:ke,onChange:xa})),s("div",{className:"dssm-status-filter"},s(Ot,{value:Z.status,label:t("filter.status"),options:[{value:"",label:t("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(e){return{value:e,label:t("status."+e)}})),onChange:function(e){at("status",e)}})),S==="project"?s("div",{className:"dssm-project-filter"},s(Ot,{value:H,label:t("filter.workspace"),disabled:Y.loading||!ie.length,options:ie.map(function(e){return{value:Oe(e),label:e.name+(e.available?"":" \xB7 "+(e.errorCode==="ENOENT"||e.errorCode==="ENOTDIR"?t("workspace.missing"):e.errorCode==="EACCES"||e.errorCode==="EPERM"?t("workspace.unreadable"):t("workspace.unavailable")))+(ie.filter(function(r){return r.name===e.name}).length>1?" \xB7 "+Oe(e):""),disabled:!e.available||!Oe(e)}}),onChange:pr})):null,s(Pe,{className:"dssm-search",allowClear:!0,value:ee,"aria-label":t("search"),placeholder:t("search.placeholder"),onChange:function(e){Qa(e.target.value)}}),S!=="trash"?s("div",{className:"dssm-filter-actions"},nr(t("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(){Ne(!1),S==="project"&&Gt()},g||p.loading),nr(t("btn.create"),We("M8 2.5v11M2.5 8h11"),mr,g,t("btn.create")+"\u2026"),nr(t("import.global"),We("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),Za,g),S==="user"?nr(t("rootPath.manage"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),ka,g,t("rootPath.manage")+"\u2026"):null):null)],ve=[s("style",{key:"css"},ps),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(Ie.Button,{variant:"outline",size:"sm","aria-label":t("link.project"),icon:s(js),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},t("link.project")),s(Ie.Button,{variant:"outline",size:"sm","aria-label":t("link.feedback"),icon:s(ns),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},t("link.feedback")))),s("p",{className:"dssm-desc"},t("desc")))),xe].concat(S==="trash"||S==="repositories"?[]:er,[v&&k!=="import"?s("div",{key:"result",className:"dssm-feedback"+(v.warning?" dssm-warning":v.ok?"":" dssm-error")},v.text):null],(tt.warnings||[]).map(function(e,r){return s("div",{key:"warning-"+r,className:"dssm-feedback dssm-warning",role:"alert"},J(t,e))}),[p.error?s("div",{key:"error",className:"dssm-feedback dssm-error"},p.error):null,S==="repositories"?$a.content:p.loading&&!p.data?s("div",{key:"loading",className:"dssm-empty"},t("loading")):S==="trash"?xr():kr()]);if(k==="create"&&ve.push(s(Ke,{key:"create",title:t("create.title"),closeLabel:t("btn.close"),onClose:function(){N(null)}},s("div",{className:"dssm-form"},s(oo,{t,value:Ge,disabled:g,allowAgents:!0,workspaces:ie,userDestinations:rt,onChange:function(e){sa(Object.assign({},Ge,e))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(e){return s("label",{key:e[0],className:"dssm-field"},s("span",{className:"dssm-label"},t(e[1])),s(Pe,{value:qe[e[0]],placeholder:t(e[2]),onChange:function(r){ya(e[0],r.target.value)}}))}),s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("create.body")),s(Pe.TextArea,{rows:8,value:qe.body,placeholder:t("create.body.placeholder"),onChange:function(e){ya("body",e.target.value)}})),s("p",{className:"dssm-help"},t("create.chat.note"))),s("div",{className:"dssm-modal-actions"},B(t("btn.cancel"),function(){N(null)},"outline"),B(t("btn.create.now"),qa,"primary",g||!qe.name.trim()||!qe.description.trim()||!qe.body.trim()||!Ht(Ge,ie,rt))))),k==="import"&&ve.push(s(Ke,{key:"import",className:"dssm-modal-import",title:t("import.title"),closeLabel:t("btn.close"),onClose:function(){ye.current=!1,Xe(null),V(null),N(null)}},s("input",{ref:ha,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(e){va(e.target.files),e.target.value=""}}),s("input",{ref:qt,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(e){va(e.target.files),e.target.value=""}}),s("div",{className:"dssm-dropzone",onDragOver:function(e){e.preventDefault(),e.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(e){e.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(e){e.preventDefault(),e.currentTarget.classList.remove("dssm-dropzone-active"),hs(e.dataTransfer).then(va).catch(function(r){V({ok:!1,text:J(t,r)})})}},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:g,onClick:function(e){e.stopPropagation(),wa(qt)}},t("btn.folder.pick")),s("span",{className:"dssm-upload-divider"},"/"),s("button",{type:"button",className:"dssm-upload-link",disabled:g,onClick:function(e){e.stopPropagation(),wa(ha)}},t("btn.file.pick")))),se?s("div",{className:"dssm-file",title:se.name},s("span",{className:"dssm-file-kind","aria-hidden":"true"},se.kind==="zip"?"ZIP":se.kind==="folder"?"DIR":"MD"),s("span",{className:"dssm-file-name"},se.name),s("span",{className:"dssm-file-meta"},t(Ta("upload.selected",se.count),{count:se.count,size:se.size<1024?se.size+" B":Math.ceil(se.size/1024)+" KB"})),s("button",{type:"button",className:"dssm-file-remove","aria-label":t("upload.remove"),onClick:function(){Xe(null)}},"\xD7")):null,s(oo,{t,value:Je,disabled:g,allowAgents:!0,workspaces:ie,userDestinations:rt,onChange:function(e){kt(Object.assign({},Je,e))}}),v?s("div",{className:"dssm-feedback"+(v.warning?" dssm-warning":v.ok?"":" dssm-error"),role:"alert"},v.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"},B(t("btn.cancel"),function(){ye.current=!1,Xe(null),V(null),N(null)},"outline"),B(t(g?"upload.importing":"btn.import.now"),Et,"primary",g||!se||!Ht(Je,ie,rt))))),k&&typeof k=="object"&&k.type==="root-path"){var Be=k,Fe=Ba;ve.push(s(Ke,{key:"root-path",title:t("rootPath.title",{name:Be.label}),closeLabel:t("btn.close"),onClose:function(){N(null),Ce(null)}},s("div",{className:"dssm-form"},s("p",{className:"dssm-note"},t("rootPath.desc")),ht.length>0?s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("rootPath.source")),s(Ot,{value:Be.root,label:t("rootPath.source"),disabled:g,options:ht.map(function(e){return{value:e.key,label:it(t,e)}}),onChange:function(e){var r=ht.find(function(n){return n.key===e});r&&Re(r)}})):null,s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("rootPath.label")),s(Pe,{value:Ct,placeholder:t("rootPath.placeholder"),disabled:g,onChange:function(e){da(e.target.value),Ce(null)}})),s("div",{className:"dssm-root-path-actions"},B(t("rootPath.browse"),ba,"outline",g||cr),Be.defaultPath?B(t("rootPath.reset"),function(){Ae(null)},"outline",g):null,Be.root.indexOf("custom:")===0?B(t("customSource.remove"),function(){je(Be.root)},"outline",g):null),s("p",{className:"dssm-help"},t("rootPath.defaultHint",{path:Be.defaultPath||Be.path})),Ua?s("div",{className:"dssm-feedback dssm-error",role:"alert"},Ua):null,s("div",{className:"dssm-custom-sources"},s("div",{className:"dssm-custom-source-head"},s("span",{className:"dssm-label"},t("customSource.title")),B(t(ct?"btn.cancel":"customSource.add"),function(){ct?(He(!1),Qe(null),ce(null)):M()},"outline",g||ge)),s("p",{className:"dssm-help"},t("customSource.desc")),ct?s("div",{className:"dssm-form"},s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("customSource.label")),s(Pe,{value:Vt,maxLength:48,placeholder:t("customSource.label.placeholder"),disabled:g||ge,onChange:function(e){ut(e.target.value)}})),s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("customSource.path")),s(Pe,{value:_e,placeholder:t("customSource.path.placeholder"),disabled:g||ge,onChange:function(e){pa(e.target.value),ce(null)}})),s("div",{className:"dssm-root-path-actions"},B(t("rootPath.browse"),gt,"outline",g||ge),B(t(ge?"customSource.scanning":"customSource.scan"),ur,"outline",g||ge||!(_e||"").trim()),B(t("customSource.addOne"),function(){Ka([{label:(Vt||"").trim(),path:(_e||"").trim()}])},"primary",g||ge||!(_e||"").trim())),pt?s("div",{className:"dssm-feedback dssm-error",role:"alert"},pt):null,Fe?s("div",{className:"dssm-custom-scan"},s("p",{className:"dssm-help"},t("customSource.scanResult",{count:Fe.candidates.length,path:Fe.root})),Fe.candidates.length?s("div",{className:"dssm-root-path-actions"},B(t("customSource.addAll"),function(){Ka(Fe.candidates.filter(function(e){return!e.registered&&!e.conflict}).map(function(e){return{label:e.label,path:e.path,group:e.group}}))},"primary",g||ge||!Fe.candidates.some(function(e){return!e.registered&&!e.conflict}))):null,Fe.candidates.map(function(e,r){return s("div",{key:"candidate-"+r,className:"dssm-custom-candidate"},s("div",{className:"dssm-custom-candidate-text"},s("span",{className:"dssm-custom-candidate-name"},e.label),s("span",{className:"dssm-custom-candidate-meta"},e.path+" \xB7 "+t(Ta("customSource.skillCount",e.skillCount),{count:e.skillCount}))),e.registered?s("span",{className:"dssm-custom-candidate-state"},t("customSource.registered")):e.conflict?s("span",{className:"dssm-custom-candidate-state"},t("customSource.conflict")):B(t("customSource.addOne"),function(){Ka([{label:e.label,path:e.path,group:e.group}])},"outline",g||ge))})):null):null)),s("div",{className:"dssm-modal-actions"},B(t("btn.cancel"),function(){N(null),Ce(null)},"outline"),B(t("rootPath.save"),function(){Ae((Ct||"").trim())},"primary",g||!(Ct||"").trim()))))}if(k==="detail"){var te=At,tr=te?te.declaredName||te.name:"";ve.push(s(Ke,{key:"detail",className:"dssm-modal-wide",title:t("detail.title"),closeLabel:t("btn.close"),onClose:function(){ft("idle"),N(null)}},te?s("div",{className:"dssm-detail"},s("div",{className:"dssm-detail-head"},s("div",{className:"dssm-name",title:tr},tr),te.body?s(Ie.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){te&&te.body&&ga(te.body)}},t(Va==="copied"?"detail.copied":Va==="failed"?"detail.copyFailed":"detail.copyBody")):null),te.customNote?s("p",{className:"dssm-desc dssm-custom-note",title:t("detail.customNote")},te.customNote):null,te.description?s("p",{className:"dssm-desc"+(te.customNote?" dssm-desc-secondary":"")},te.description):null,s("div",{className:"dssm-detail-path"},te.path),te.diagnostics.length?te.diagnostics.map(function(e,r){return s("div",{key:r,className:"dssm-diag"},t(e.code,e.params||{}))}):null,s(Pe.TextArea,{className:"dssm-detail-body",readOnly:!0,value:te.body||"",rows:16})):s("div",{className:"dssm-empty"},t("loading"))))}if(k&&typeof k=="object"&&k.type==="trash-confirm"&&ve.push(s(Ke,{key:"trash-confirm",title:t("confirm.trash.title"),description:t("confirm.trash.desc",{name:k.name}),closeLabel:t("btn.close"),onClose:function(){N(null)},footer:s(Ia.Fragment,null,B(t("btn.cancel"),function(){N(null)},"outline"),B(t("btn.trash"),function(){Q("/delete",Object.assign({root:k.root,name:k.name},k.workspace?{workspace:k.workspace}:{}),"result.trashed",{name:k.name}).then(function(){N(null)}).catch(function(){})},"danger",g))})),k&&typeof k=="object"&&k.type==="delete-confirm"&&ve.push(s(Ke,{key:"delete-confirm",title:t("confirm.delete.title"),description:t("confirm.delete.desc",{name:k.name}),closeLabel:t("btn.close"),onClose:function(){N(null)},footer:s(Ia.Fragment,null,B(t("btn.cancel"),function(){N(null)},"outline"),B(t("btn.delete.forever"),function(){Q("/trash-delete",{id:k.id},"result.deleted",{name:k.name}).then(function(){N(null)}).catch(function(){})},"danger",g))})),k&&typeof k=="object"&&(k.type==="category-create"||k.type==="category-rename")){var _t=k.type==="category-rename",st=k,bt=fe.trim(),$t=!!bt&&(!_t||bt!==st.name),Ca=function(){if(!(g||!$t)){var e=_t?Q("/category-rename",{root:st.root,id:st.id,name:bt,workspace:st.workspace},"category.renamed"):Q("/category-create",{root:st.root,name:bt,workspace:st.workspace},"category.created",{name:bt});e.then(function(){N(null)}).catch(function(){})}};ve.push(s(Ke,{key:k.type,title:t(_t?"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(Pe,{value:fe,maxLength:24,"aria-label":t("category.name"),onChange:function(e){Bt(e.target.value)},onPressEnter:Ca})),s("p",{className:"dssm-help"},t("category.note"))),s("div",{className:"dssm-modal-actions"},B(t("btn.cancel"),function(){N(null)},"outline"),B(t(_t?"btn.confirm":"category.create"),Ca,"primary",g||!$t))))}if(k&&typeof k=="object"&&k.type==="category-add"){var Ee=k,ea=I.trim().toLowerCase(),ar=Ee.skills.filter(function(e){return!ea||e.name.toLowerCase().includes(ea)||e.declaredName&&e.declaredName.toLowerCase().includes(ea)||e.description&&e.description.toLowerCase().includes(ea)}),Na=new Set(Ee.skills.map(function(e){return e.name})),Ra=Object.keys(F).filter(function(e){return F[e]&&Na.has(e)}).length;ve.push(s(Ke,{key:"category-add",title:t("category.selectSkills",{name:Ee.name}),closeLabel:t("btn.close"),onClose:function(){l({}),q(""),N(null)}},s(Pe,{placeholder:t("search.placeholder"),value:I,allowClear:!0,onChange:function(e){q(e.target.value)}}),s("div",{className:"dssm-batch-list"},ar.length?ar.map(function(e){var r=!!F[e.name];return s("div",{key:e.name,className:"dssm-batch-item"+(r?" selected":""),onClick:function(){var n=Object.assign({},F);r?delete n[e.name]:n[e.name]=!0,l(n)}},s("input",{type:"checkbox",checked:r,readOnly:!0}),s("div",{className:"dssm-batch-info"},s("div",{className:"dssm-batch-name-row"},s("span",{className:"dssm-batch-name"},e.declaredName||e.name),e.currentCatName?s("span",{className:"dssm-batch-cat-tag"},e.currentCatName):null),e.description?s("div",{className:"dssm-batch-desc",title:e.description},e.description):null))}):s("div",{className:"dssm-empty"},t("category.noAvailableSkills"))),s("div",{className:"dssm-modal-actions"},B(t("btn.cancel"),function(){l({}),q(""),N(null)},"outline"),B(t("category.addSkills")+(Ra?" ("+Ra+")":""),function(){var e=Object.keys(F).filter(function(n){return F[n]&&Na.has(n)});if(!e.length){l({}),q(""),N(null);return}if(!et.current){var r=function(n){return Ee.workspace?Object.assign({},n,{workspace:Ee.workspace}):n};et.current=!0,w(!0),l({}),q(""),N(null),e.reduce(function(n,m){return n.then(function(){return d("/category-assign",{method:"POST",headers:yt,body:JSON.stringify(r({root:Ee.root,name:m,category:Ee.id}))})})},Promise.resolve()).then(function(){V({ok:!0,text:t("category.batchAssigned",{count:e.length,category:Ee.name})})}).catch(function(n){V({ok:!1,text:J(t,n)})}).finally(function(){et.current=!1,w(!1);var n=Ee.workspace;Promise.all([Ne(!0),n?It(n):null]).catch(function(){})})}},"primary",g||!Ra))))}if(k&&typeof k=="object"&&k.type==="skill-note"){var Ve=k,ta=G.trim(),rr=ta!==(Ve.note||""),o=function(){if(!(g||!rr)){var e=Ve.workspace?{root:Ve.root,name:Ve.name,note:ta,workspace:Ve.workspace}:{root:Ve.root,name:Ve.name,note:ta};Q("/skill-note",e,ta?"note.updated":"note.cleared",{name:Ve.name}).then(function(){N(null)}).catch(function(){})}};ve.push(s(Ke,{key:"skill-note",title:t("note.title"),closeLabel:t("btn.close"),onClose:function(){N(null)}},s("div",{className:"dssm-form"},s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},t("note.label")),s(Pe.TextArea,{value:G,maxLength:500,rows:4,placeholder:t("note.placeholder"),"aria-label":t("note.label"),onChange:function(e){$(e.target.value)}})),s("p",{className:"dssm-help"},t("note.help"))),s("div",{className:"dssm-modal-actions"},B(t("btn.cancel"),function(){N(null)},"outline"),Ve.note?B(t("note.clear"),function(){$("")},"outline",g):null,B(t("btn.confirm"),o,"primary",g||!rr))))}return k&&typeof k=="object"&&k.type==="category-delete"&&ve.push(s(Ke,{key:"category-delete",title:t("confirm.category.title"),description:t("confirm.category.desc",{name:k.name}),closeLabel:t("btn.close"),onClose:function(){N(null)},footer:s(Ia.Fragment,null,B(t("btn.cancel"),function(){N(null)},"outline"),B(t("category.delete"),function(){Q("/category-delete",{root:k.root,id:k.id,workspace:k.workspace},"category.deleted",{name:k.name}).then(function(){N(null)}).catch(function(){})},"danger",g))})),s("section",{className:"dssm-section"},ve)}var No=null;function co(){var a=globalThis.__DSH_DIRECTORY_PICKER__;if(a&&typeof a.pick=="function"){var t=a.pick.bind(a);return function(){return t()}}return No}var Os=["slots","locale"];function Bs(a){if(Ma=a.locale,typeof a.inject=="function")try{a.inject(["uiWorkspace"],function(c){var p=c.uiWorkspace;if(p&&typeof p.pickDirectory=="function"){var u=p.pickDirectory.bind(p);No=function(){return u()}}})}catch{}a.effect(function(){return a.locale.register(Ut,Ha)});var t,d;a.effect(function(){return t=Zr({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:ls,isEnabled:function(){return d?d.isOnlineUpdateEnabled():!0}}),function(){typeof t=="function"&&t(),t=void 0}},"skills-manager: plugin update ui"),to(a,function(){return a.locale.bind(Ut)("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(Ut)("title")},icon:"skill",locale:Ut},lo)}),d=Ir(a,{callApi:za,headers:yt,renderPanel:function(c){return s(lo,Object.assign({t:a.locale.bind(Ut)},c))},ns:Ut,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=fo;module.exports.DICT=Ha;module.exports.translateError=J;module.exports.parseApiResponse=mo;module.exports.resolveApiUrl=Pa;module.exports.isSkillEnabled=lr;module.exports.countKey=Ta;module.exports.rootDisplayName=it;module.exports.summarizeImportResult=go;module.exports.normalizeSkillQuery=ho;module.exports.matchSkillQuery=Hr;module.exports.filterSkills=ms;module.exports.visibleSkillRoots=Dr;module.exports.scopeSkillRoots=vo;module.exports.skillStatus=jr;module.exports.countSkillStatuses=bo;module.exports.currentSessionId=So;module.exports.canToggleSource=yo;module.exports.recoverModalFocus=xo;module.exports.trapModalFocus=ys;module.exports.inspectUploadSelection=wo;module.exports.setupSidebarEntry=Ir;module.exports.apply=Bs;module.exports.inject=Os;
59
+ `;function jr(a,t,l,d){var u=a(t,d);return typeof u=="string"&&u!==t?u:l}function _(a,t){if(t instanceof Error&&!t.code)return t.message;if(t&&typeof t=="object"){let p=t;if(p.code){var l=Object.assign({},p.params||{});l.action&&(l.action=jr(a,"action."+l.action,String(l.action)));var d=a(p.code,l);if(typeof d=="string"&&d!==p.code){if(l.code&&p.code==="error.workspace.unavailable"){var u=ur()==="zh"||!ur()&&d.includes("\uFF1A");return d+(u?"\uFF08"+l.code+"\uFF09":" ("+l.code+")")}return d}if(d===p.code)return p.error!==void 0?_(a,p.error):p.code}if(p.error!==void 0)return _(a,p.error);if(p.message!==void 0)return String(p.message)}return String(t??"")}function go(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 l=t;if(!a.ok||l.ok===!1)throw l;return l.data})}function za(a,t){return fetch(Pa("/api/michengai/dsh-skills-manager"+a),t).then(go)}function cr(a){return a.enabled!==void 0?a.enabled===!0:!!(a.invocationPolicyValid&&a.modelInvocable&&a.userInvocable&&a.managerEnabled!==!1)}function Ta(a,t){return a+(Number(t)===1?".one":".other")}var Ma;function ur(){return Ma?.getLocale?.().active}function ho(a,t){return new Date(t).toLocaleString(ur()||a("format.locale"))}function lt(a,t){var l=jr(a,"root."+(t.localeKey||t.kind||t.key),t.label);return t.projectName?l+" \xB7 "+t.projectName:l}function bo(a,t){var l=t&&t.imported||[],d=l.map(function(g){return g.name}),u=(t&&t.skipped||[]).map(function(g){return g.name}),p=[];l.forEach(function(g){(g.warnings||[]).forEach(function(b){p.push(_(a,b))})});var m;return d.length&&u.length?m={ok:!0,warning:!0,imported:!0,text:a("result.importPartial",{imported:d.join(", "),skipped:u.join(", ")})}:d.length?m={ok:!0,warning:!1,imported:!0,text:a("result.imported",{names:d.join(", ")})}:u.length?m={ok:!1,warning:!0,imported:!1,text:a("result.importSkipped",{names:u.join(", ")})}:m={ok:!1,warning:!1,imported:!1,text:a("result.importEmpty")},p.length&&(m.warning=!0,m.text=a("result.importWarnings",{result:m.text,warnings:p.join(a("format.warningSeparator"))})),m}function yo(a){return String(a??"").trim().toLowerCase()}function Dr(a,t){var l=yo(t);return l?[a.name,a.declaredName,a.description,a.customNote,a.kind,a.kindLabel,a.statusLabel,a.rootKey,a.rootLabel].some(function(d){return String(d??"").toLowerCase().includes(l)}):!0}function hn(a,t){var l=t&&t.rootKey!=null?t.rootKey:"";return a.filter(function(d){return(!l||d.rootKey===l)&&Dr(d,t&&t.query)})}function Ur(a){return(a||[]).filter(function(t){return t.mutable||t.overridden===!0||t.exists!==!1})}function Or(a){return a.shadowedBy?"shadowed":a.loadable===!1?"invalid":cr(a)?"enabled":"disabled"}function vo(a){var t={total:a.length,enabled:0,disabled:0,shadowed:0,invalid:0};return a.forEach(function(l){t[Or(l.skill)]++}),t}function wo(a){return!!(a&&a.toggleable!==!1&&a.kind!=="project-dsh")}function ko(a){return Ur(a).filter(function(t){return t.scope==="project"?!1:t.mutable||t.overridden===!0||(t.skills||[]).length>0})}var lo=32<<20,ir=32<<20,co=64<<20,uo=1e3;function dr(a){return String(a&&(a._dssmPath||a.webkitRelativePath||a.name)||"").replace(/\\/g,"/")}function xo(a){var t=Array.from(a||[]);if(!t.length)return null;if(t.length>uo)return{error:{code:"error.upload.tooMany",params:{limit:uo}}};var l=t.some(function(b){return dr(b).includes("/")});if(l){if(!t.some(function(b){return/(^|\/)skill\.md$/i.test(dr(b))}))return{error:{code:"select.folder.invalid"}};var d=t.find(function(b){return Number(b.size||0)>ir});if(d)return{error:{code:"error.upload.tooLarge",params:{limit:ir}}};var u=t.reduce(function(b,k){return b+Number(k.size||0)},0);return u>co?{error:{code:"error.upload.tooLarge",params:{limit:co}}}:{kind:"folder",name:dr(t[0]).split("/")[0],files:t,count:t.length,size:u}}if(t.length!==1)return{error:{code:"select.file.invalid"}};var p=String(t[0].name||""),m=p.toLowerCase(),g=Number(t[0].size||0);return m==="skill.md"?g>ir?{error:{code:"error.upload.tooLarge",params:{limit:ir}}}:{kind:"skill",name:p,files:t,count:1,size:g}:m.endsWith(".zip")?g>lo?{error:{code:"error.upload.archiveTooLarge",params:{limit:lo}}}:{kind:"zip",name:p,files:t,count:1,size:g}:{error:{code:"select.file.invalid"}}}function bn(a){for(var t=new Uint8Array(a),l="",d=32768,u=0;u<t.length;u+=d)l+=String.fromCharCode(...t.subarray(u,Math.min(u+d,t.length)));return btoa(l)}function yn(a){return Promise.all(a.files.map(function(t){return t.arrayBuffer().then(function(l){return{path:dr(t),data:bn(l)}})})).then(function(t){return a.kind==="zip"?{name:a.name,zip:t[0].data}:{name:a.name,entries:t}})}function So(a,t,l){return a.isFile?new Promise(function(d,u){a.file(function(p){p._dssmPath=t+p.name,l.push(p),d()},u)}):a.isDirectory?new Promise(function(d,u){var p=a.createReader(),m=[];function g(){p.readEntries(function(b){if(!b.length){Promise.all(m.map(function(k){return So(k,t+a.name+"/",l)})).then(function(){d()},u);return}m=m.concat(b),g()},u)}g()}):Promise.resolve()}function vn(a){var t=Array.from(a&&a.items||[]),l=t.map(function(u){return u.webkitGetAsEntry&&u.webkitGetAsEntry()}).filter(u=>!!u);if(!l.length)return Promise.resolve(Array.from(a&&a.files||[]));var d=[];return Promise.all(l.map(function(u){return So(u,"",d)})).then(function(){return d})}function wn(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 kn(a,t){if(t.key==="Tab"){var l=wn(a);if(l.length){var d=document.activeElement;(d===a||!a.contains(d)||(t.shiftKey?d===l[0]:d===l[l.length-1]))&&(t.preventDefault(),(t.shiftKey?l[l.length-1]:l[0]).focus())}}}function xn(a){return Hr(a.on,a.label,a.disabled,a.onClick)}function K(a,t,l="primary",d){return n(Me.Button,{variant:l==="primary"?"primary":"outline",className:l==="danger"?"dssm-btn-danger":void 0,disabled:d,onClick:t},a)}function qe(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 Sn(){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},[3.5,8,12.5].map(function(a){return n("circle",{key:a,cx:a,cy:8,r:1.15,fill:"none",stroke:"currentColor",strokeWidth:1.5})}))}function Ut(a,t,l,d,u){return n(Me.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(d?" dssm-icon-danger":""),disabled:u,"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:l})}function lr(a,t,l,d,u){return n(Me.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:d,"aria-label":a,title:u||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:l})}function Hr(a,t,l,d){return n("button",{type:"button",role:"switch","aria-checked":a,"aria-label":t,disabled:l,className:"dssm-enable-switch",onClick:function(u){u&&typeof u.stopPropagation=="function"&&u.stopPropagation(),d()}},n("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var Cn="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",Nn="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==",Rn="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==",Ln="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",En="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",An="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",Pn="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",Tn="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",In="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",zn="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",Mn="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",Hn="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",jn="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",Dn="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",Un="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 On(a){var t=String(a||"").toLowerCase();return t.includes("dsh")?n("img",{src:Cn,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):t.includes("workbuddy")?n("img",{src:Nn,width:16,height:16,alt:"WorkBuddy",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):t.includes("ccswitch")||t.includes("cc-switch")?n("img",{src:Rn,width:16,height:16,alt:"CC Switch",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):t.includes("qoder")||t.includes("lingma")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#2ADB5C",d:Ln}),n("path",{fill:"#ffffff",d:En})):t.includes("codex")?n("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},n("path",{fill:"currentColor",d:An})):t.includes("cursor")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"currentColor",fillRule:"evenodd",d:Pn})):t.includes("claude")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("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")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("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")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("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")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("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")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#00d084",fillRule:"evenodd",clipRule:"evenodd",d:Tn})):t.includes("trae")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#32F08C",d:In})):t.includes("openclaw")||t.includes("clawdbot")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#FF4D4D",fillRule:"evenodd",d:jn}),n("path",{fill:"#FF4D4D",d:Dn}),n("path",{fill:"#FF4D4D",d:Un})):t.includes("roo")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#eab308",fillRule:"evenodd",d:zn})):t.includes("codebuddy")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("rect",{width:24,height:24,rx:5,fill:"#2EA99D"}),n("path",{fill:"#ffffff",d:Mn}),n("path",{fill:"#ffffff",d:Hn})):n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("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 Bn(){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},n("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 Co(a,t,l){a&&t===l&&a.focus()}function Qe(a){var t=E.useRef(null),l=E.useRef(a.onClose);l.current=a.onClose;function d(){var u=t.current;if(u){var p=u.querySelector("input, textarea");if(p instanceof HTMLElement){p.focus();return}u.tabIndex=-1,u.focus()}}return E.useLayoutEffect(function(){if(!(typeof document>"u")){var u=t.current;u&&Co(u,document.activeElement,document.body)}}),E.useEffect(function(){if(typeof document>"u")return;function u(p){p.key==="Escape"&&(p.preventDefault(),p.stopImmediatePropagation(),l.current())}return document.addEventListener("keydown",u,!0),function(){document.removeEventListener("keydown",u,!0)}},[]),n(Me.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?n("div",{ref:t},a.children):void 0)}function No(a){if(a){for(var t=a.byId||{},l=Array.isArray(a.ids)&&a.ids.length?a.ids:Object.keys(t),d=0;d<l.length;d++){var u=t[l[d]];if(u&&u.retainedBy&&u.retainedBy.mainView)return l[d]}for(var p in t)if(l.indexOf(p)===-1&&t[p]&&t[p].retainedBy&&t[p].retainedBy.mainView)return p}}function Ro(a){return typeof a=="function"?a:Ma&&typeof Ma.bind=="function"?Ma.bind(Ge):function(t,l){var d=Ha.zh||{},u=d[t]||t;if(!l)return u;var p=l;return u.replace(/\{(\w+)\}/g,function(m,g){return String(p[g]??"{"+g+"}")})}}function Mr(a){var t=Ro(a&&a.t),l=a&&a.useSessions?a.useSessions(No):void 0,d=E.useState("user"),u=E.useState({}),p=E.useState({});return n(Fn,Object.assign({},a,{t,key:l||"no-session",sessionId:l,scope:d[0],setScope:d[1],savedFilters:u[0],setSavedFilters:u[1],expanded:p[0],setExpanded:p[1]}))}function Fn(a){var t=Ro(a&&a.t);function l(e,r){var s=Object.fromEntries(new Headers(r?.headers).entries());return a.sessionId&&(s["x-dsh-skills-session"]=a.sessionId),za(e,Object.assign({},r,{headers:s}))}var d=E.useState({loading:!0,error:null,data:null}),u=d[0],p=d[1],m=E.useState(!1),g=m[0],b=m[1],k=a.scope,x=a.setScope,A=a.expanded,i=a.setExpanded,D=a.savedFilters,G=a.setSavedFilters,le=E.useState(null),w=le[0],R=le[1],de=E.useState(""),M=de[0],U=de[1],re=E.useState({}),H=re[0],c=re[1],V=E.useState(null),C=V[0]&&V[0].scope===k?V[0]:null;function N(e){V[1](e?Object.assign({},e,{scope:k}):null)}var J=E.useState({root:"dsh",name:"",description:"",body:""}),$=J[0],j=J[1],na=E.useState(""),he=na[0],Bt=na[1],wt=E.useState(""),X=wt[0],ee=wt[1],Je=E.useState(ra()),Xe=Je[0],sa=Je[1],kt=E.useState(ra()),_e=kt[0],xt=kt[1],ia=E.useState([]),ce=ia[0],St=ia[1],y=E.useState(""),O=y[0],ue=y[1],dt=E.useRef(""),He=E.useRef(0),ja=E.useState({loading:!1,error:null}),Y=ja[0],la=ja[1],pe=E.useState({}),da=pe[0],ct=pe[1],Da=E.useState(null),se=Da[0],$e=Da[1],Ct=E.useState(""),Nt=Ct[0],ca=Ct[1],ua=E.useState(!1),pr=ua[0],Rt=ua[1],Ft=E.useState(null),Ua=Ft[0],Re=Ft[1],Oa=E.useState(!1),ut=Oa[0],je=Oa[1],pa=E.useState(""),et=pa[0],ma=pa[1],Lt=E.useState(""),Vt=Lt[0],pt=Lt[1],fa=E.useState(null),Ba=fa[0],Ze=fa[1],ga=E.useState(!1),be=ga[0],tt=ga[1],Wt=E.useState(null),mt=Wt[0],me=Wt[1],ft=E.useState(null),Et=ft[0],Fa=ft[1],Kt=E.useState("idle"),Va=Kt[0],gt=Kt[1];function ha(e){if(typeof navigator>"u"||!navigator.clipboard){gt("failed");return}navigator.clipboard.writeText(e).then(function(){gt("copied"),setTimeout(function(){gt("idle")},1500)}).catch(function(){gt("failed")})}var at=E.useRef(!1),fe=E.useRef(null),ba=E.useRef(null),qt=E.useRef(null),we=E.useRef(!1),De=E.useRef({}),ye=E.useRef(0);E.useEffect(function(){return function(){ye.current++}},[]);function Le(e){return e||p({loading:!0,error:null,data:u.data}),l("/state").then(function(r){return p({loading:!1,error:null,data:r}),r}).catch(function(r){p({loading:!1,error:_(t,r),data:u.data})})}E.useEffect(function(){Le(!1)},[]);function Q(e,r,s,f){return at.current?Promise.reject({error:"operation already in progress"}):(at.current=!0,b(!0),N(null),l(e,{method:"POST",headers:vt,body:JSON.stringify(r||{})}).then(function(h){N({ok:!0,text:s?t(s,f||h||{}):t("result.updated")});var v=r&&typeof r.workspace=="string"?r.workspace:"";return Promise.all([Le(!0),v?zt(v):null]).then(function(){return h})}).catch(function(h){throw N({ok:!1,text:t("error.action",{error:_(t,h)})}),h}).finally(function(){at.current=!1,b(!1)}))}function Wa(e,r,s){b(!0),Fa(null),gt("idle"),R("detail"),l("/detail",{method:"POST",headers:vt,body:JSON.stringify(s?{root:e.key,name:r.name,workspace:s}:{root:e.key,name:r.name})}).then(Fa).catch(function(f){N({ok:!1,text:t("error.action",{error:_(t,f)})}),R(null)}).finally(function(){b(!1)})}function Ee(e){ca(e.path||""),Rt(!1),Re(null),R({type:"root-path",root:e.key,label:lt(t,e),path:e.path||"",defaultPath:e.defaultPath})}function ya(){var e=po();if(!e){Re(t("rootPath.pickUnavailable"));return}Re(null),Rt(!0),Promise.resolve().then(e).then(function(r){typeof r=="string"&&r.trim()&&ca(r.trim())}).catch(function(r){Re(_(t,r))}).finally(function(){Rt(!1)})}function Ae(e){var r=w&&typeof w=="object"&&w.type==="root-path"?w:null;r&&(Re(null),Q("/root-path",{key:r.root,path:e},e===null?"rootPath.resetDone":"rootPath.saved",{name:r.label}).then(function(){R(null)}).catch(function(s){Re(_(t,s))}))}function z(){je(!0),me(null),Ze(null)}function ht(){var e=po();if(!e){me(t("rootPath.pickUnavailable"));return}me(null),tt(!0),Promise.resolve().then(e).then(function(r){typeof r=="string"&&r.trim()&&ma(r.trim())}).catch(function(r){me(_(t,r))}).finally(function(){tt(!1)})}function mr(){var e=(et||"").trim();e&&(tt(!0),me(null),l("/custom-source-scan",{method:"POST",headers:vt,body:JSON.stringify({path:e})}).then(function(r){Ze(r)}).catch(function(r){Ze(null),me(_(t,r))}).finally(function(){tt(!1)}))}function Ka(e){var r=e.filter(function(s){return s&&s.path});!r.length||be||(tt(!0),me(null),N(null),l("/custom-source-add",{method:"POST",headers:vt,body:JSON.stringify({sources:r})}).then(function(s){var f=s&&Array.isArray(s.added)?s.added.length:r.length;return Le(!0).then(function(){N({ok:!0,text:t("customSource.added",{count:f})}),Ze(null),ma(""),pt(""),je(!1)})}).catch(function(s){me(_(t,s))}).finally(function(){tt(!1)}))}function Ue(e){if(!g){var r=Nt;Q("/custom-source-remove",{id:e},"customSource.removed").then(function(){return l("/state").then(function(s){p({loading:!1,error:null,data:s});var f=(s&&Array.isArray(s.roots)?s.roots:[]).filter(function(v){return!v.mutable&&v.scope!=="project"&&v.key!==e}),h=f.find(function(v){return v.custom})||f[0];h?Ee(h):R(null),r&&Ze(function(v){return v?Object.assign({},v,{candidates:v.candidates.map(function(S){return S.path===r?Object.assign({},S,{registered:!1}):S})}):null})})}).catch(function(s){Re(_(t,s))})}}function va(e,r){j(Object.assign({},$,{[e]:r}))}function qa(){jt(Xe,ce,nt)&&Q("/create",Object.assign({},$,{root:void 0},or(Xe)),null).then(function(e){R(null),j({root:"dsh",name:"",description:"",body:""}),N({ok:!0,text:t("result.created",{name:e.name})+(Xe.scope==="workspace"?" \xB7 "+t("dest.createdInWorkspace"):"")})}).catch(function(){})}function wa(e){we.current=!1;var r=xo(e);if(r){if(r.error){$e(null),N({ok:!1,text:_(t,r.error)});return}$e(r),N(null)}}function ka(e){if(g||we.current||!e.current)return;we.current=!0,e.current.value="";function r(){setTimeout(function(){we.current=!1},0)}window.addEventListener("focus",r,{once:!0}),e.current.click(),setTimeout(function(){we.current=!1},3e4)}function At(){!se||!jt(_e,ce,nt)||yn(se).then(function(e){return Q("/upload",Object.assign({},e,or(_e)),null)}).then(function(e){var r=bo(t,e);N({ok:r.ok,warning:r.warning,text:r.text}),r.imported&&(R(null),$e(null))}).catch(function(){})}var rt=u.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},Pt=rt.roots||[],bt=Pt.filter(function(e){return!e.mutable&&e.scope!=="project"});function xa(){if(bt.length){var e=Oe&&bt.find(function(r){return r.key===Oe})||bt[0];Ee(e)}}var Qt=k==="project"?"project":"user",Z=D[Qt]||{query:"",source:"",status:""},te=Z.query,Tt=Z.source;function ot(e,r){G(function(s){return Object.assign({},s,{[Qt]:Object.assign({},Z,{[e]:r})})})}function Qa(e){ot("query",e)}function Sa(e){ot("source",e)}var It=da[O],Ca=k==="trash"?[]:k==="project"?Ur(It?.roots||[]):ko(Pt),Zt=Ca.filter(function(e){return(e.skills||[]).length>0}),Oe=k!=="project"&&Zt.some(function(e){return e.key===Tt})?Tt:"";function Be(e){return e.registeredPaths[0]||""}function fr(e){ce.some(function(r){return r.available&&Be(r)===e})&&(dt.current=e,ue(e),da[e]||zt(e))}function Yt(e=k==="project",r=!1){var s=ye.current,f=++He.current,h=function(){return s===ye.current&&f===He.current};return la({loading:!0,error:null}),za("/workspaces").then(function(v){if(!h())return[];var S=v.items||[];St(S),la({loading:!1,error:null});var I=S.find(function(B){return B.available&&Be(B)===dt.current})||S.find(function(B){return B.available&&Be(B)}),W=I?Be(I):"";return dt.current=W,ue(W),e&&W&&(r||!da[W])&&zt(W),S}).catch(function(v){return h()?(St([]),dt.current="",ue(""),la({loading:!1,error:_(t,v)}),[]):[]})}function zt(e){var r=ye.current,s=(De.current[e]||0)+1;De.current[e]=s;var f=function(){return r===ye.current&&s===De.current[e]};return ct(function(h){return Object.assign({},h,{[e]:{loading:!0,error:null,roots:h[e]?h[e].roots:[]}})}),za("/workspace-skills",{method:"POST",headers:vt,body:JSON.stringify({workspace:e})}).then(function(h){f()&&ct(function(v){return Object.assign({},v,{[e]:{loading:!1,error:null,roots:h.roots||[]}})})}).catch(function(h){f()&&ct(function(v){return Object.assign({},v,{[e]:{loading:!1,error:_(t,h),roots:[]}})})})}function Gt(){return ye.current++,ct({}),Yt(!0,!0)}function gr(){j(Object.assign({},$,{root:"dsh"})),sa(ra()),R("create"),Yt()}function Za(){N(null),$e(null),xt(ra()),R("import"),Yt()}var nt=(rt.writeDestinations||[]).filter(function(e){return e.key==="dsh"||e.key==="agents"});function hr(e){var r=e.root&&e.root.scope==="project"?e.root.projectRoot:"",s=r?ce.find(function(f){return f.projectRoot===r&&f.available}):void 0;return s?{id:e.id,workspace:s.registeredPaths[0]||s.path}:{id:e.id}}function oe(e){return e.root&&e.root.scope==="project"?t("root.projectDsh")+" \xB7 "+(e.root.projectName||e.root.projectRoot):jr(t,"root."+(e.root?.localeKey||e.root?.key||"dsh"),e.root?.label||t("root.dsh"))}function Ya(e){return n("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},On(e))}var Se=[{value:"",label:t("filter.all")}].concat(Zt.map(function(e){return{value:e.key,label:t("filter.option",{name:lt(t,e),count:e.skills.length})}}));function br(e){return e.linked!==!0?null:n("div",{className:"dssm-note"},t("skill.linked"))}function Ga(e){if(!e.fallbackTo)return null;var r=Pt.find(function(s){return s.key===e.fallbackTo.root});return r?n("div",{className:"dssm-note dssm-fallback"},t("status.fallback."+e.fallbackTo.scope,{source:lt(t,r)})):null}function yr(e,r,s){var f=e==="status.enabled",h=e==="status.disabled",v=e==="status.invalid",S=f?"var(--dsw-alias-state-success-primary, #51b976)":h?"var(--dsw-alias-state-warn-primary, #d49245)":v?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",I=f?"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":h?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":v?"M8.982 1.566a1.13 1.13 0 00-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 01-1.1 0L7.1 5.995A.905.905 0 018 5zm.002 6a1 1 0 110 2 1 1 0 010-2z":"M8.28 1.34a.75.75 0 00-.56 0l-6.5 2.5a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-6.5-2.5zm5.97 6.41L8 10.15 1.75 7.75l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.2zM14.25 11.5L8 13.9 1.75 11.5l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.19z",W=r||t(e);return n("span",{className:"dssm-status "+(s||""),title:W,"aria-label":W,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:S,width:20,height:20,verticalAlign:"middle"}},n("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},n("path",{d:I})))}function Ja(e,r,s){var f=function(P){return s?Object.assign({},P,{workspace:s}):P},h=cr(r),v=e.toggleable!==!1,S=r.shadowedBy?"status.shadowed":r.loadable===!1?"status.invalid":h?"status.enabled":"status.disabled",I=r.shadowedBy?"dssm-shadowed":h?"dssm-enabled":"dssm-disabled",W=!v||!!r.shadowedBy||r.loadable===!1,B=[{value:"detail",label:t("btn.detail")}],ve=e.categories||[],F=r.categoryId||"";ve.forEach(function(P){P.id!==F&&B.push({value:"category:"+P.id,label:t("category.assign",{name:P.name})})}),ve.length&&F!==""&&B.push({value:"category:",label:t("category.assign",{name:t("category.uncategorized")})}),r.installSource&&r.linked!==!0&&B.push({value:"update",label:t("repo.manageUpdate")}),B.push({value:"note",label:t("skill.editNote")}),e.mutable&&r.linked!==!0&&B.push({value:"trash",label:t("btn.trash"),danger:!0});var L=r.shadowedBy?t("status.shadowedBy",{source:function(){var P=Pt.find(function(ne){return ne.key===r.shadowedBy.root});return P?lt(t,P):r.shadowedBy.root}()}):void 0,q=[n(Ot,{action:!0,icon:Sn(),label:t("btn.more"),disabled:g,options:B,onChange:function(P){if(P==="detail"&&Wa(e,r,s),P.indexOf("category:")===0){var ne=P.slice(9),Ea=ve.find(function(Ao){return Ao.id===ne});Q("/category-assign",f({root:e.key,name:r.name,category:ne}),"category.assigned",{name:r.name,category:Ea?Ea.name:t("category.uncategorized")})}P==="update"&&($a.focusSource(r.installSource,r.name),x("repositories")),P==="note"&&(ee(r.customNote||""),R({type:"skill-note",root:e.key,name:r.name,note:r.customNote||"",workspace:s})),P==="trash"&&R({type:"trash-confirm",root:e.key,name:r.name,workspace:s})}})];q.push(n("div",{className:"dssm-row-state"},W?yr(S,L,I):null,v?Hr(h,t("skill.toggle")+" "+r.name,g||e.enabled===!1||!h&&r.loadable===!1,function(){Q(h?"/disable":"/enable",f({root:e.key,name:r.name}))}):null));var Ye=r.declaredName||r.name,ie=typeof r.customNote=="string"&&r.customNote.trim().length>0,Ne=ie?r.customNote:r.description||t("note.missing"),Te=e.mutable===!0||!!(e.categories&&e.categories.length),Eo=ie?r.description?`${r.customNote}
60
+ (${t("detail.description")}: ${r.description})`:r.customNote:r.description||void 0;return n("div",{key:e.key+":"+r.name,className:"dssm-skill-row",draggable:Te,onDragStart:function(P){if(Te){var ne={root:e.key,name:r.name,currentCategoryId:r.categoryId||""};fe.current=ne,P.dataTransfer.setData("text/plain",JSON.stringify(ne)),P.dataTransfer.effectAllowed="move",P.currentTarget.classList.add("dragging")}},onDragEnd:function(P){fe.current=null,P.currentTarget.classList.remove("dragging"),Xt(P.currentTarget)},onDragOver:function(P){if(!(!fe.current||fe.current.root!==e.key||fe.current.name===r.name)){P.preventDefault(),P.stopPropagation();var ne=P.currentTarget.getBoundingClientRect();P.currentTarget.classList.toggle("drop-before",P.clientY<ne.top+ne.height/2),P.currentTarget.classList.toggle("drop-after",P.clientY>=ne.top+ne.height/2)}},onDragLeave:function(P){P.currentTarget.classList.remove("drop-before","drop-after")},onDrop:function(P){P.preventDefault(),P.stopPropagation(),P.currentTarget.classList.remove("drop-before","drop-after");var ne=fe.current;if(fe.current=null,Xt(P.currentTarget),!(!ne||ne.root!==e.key||ne.name===r.name)){var Ea=P.currentTarget.getBoundingClientRect();Q("/category-move",f({root:e.key,name:ne.name,category:r.categoryId||"",targetName:r.name,position:P.clientY<Ea.top+Ea.height/2?"before":"after"}),"category.moved",{name:ne.name})}}},Te?n("div",{className:"dssm-drag-handle",title:t("category.dragTip")},"\u22EE\u22EE"):null,n("div",{className:"dssm-skill-copy"},n("div",{className:"dssm-name"},Ye),n("div",{className:"dssm-skill-desc"+(ie?" dssm-custom-note":""),title:Eo},Ne),br(r),Ga(r)),n("div",{className:"dssm-skill-actions"},q))}var Jt=Ca.flatMap(function(e){return(e.skills||[]).map(function(r){return{root:e,skill:r}})}),st=Jt.filter(function(e){return(!Oe||e.root.key===Oe)&&(!Z.status||Or(e.skill)===Z.status)&&Dr(Object.assign({},e.skill,{rootLabel:lt(t,e.root)}),te)}),Mt=vo(Jt);function Xa(e,r,s){var f=r?{root:e.key,workspace:r}:{root:e.key},h=[];return h.push(Ut(t("category.create"),qe("M8 2.5v11M2.5 8h11"),function(){Bt(""),R({type:"category-create",root:e.key,workspace:r})},!1,g)),!r&&e.mutable!==!0&&h.push(Ut(t("rootPath.edit"),qe("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),function(){Ee(e)},!1,g)),wo(e)&&h.push(n(xn,{on:e.enabled,disabled:g,label:t("source.toggle")+" "+s,onClick:function(){Q(e.enabled?"/source-disable":"/source-enable",f)}})),n("span",{className:"dssm-source-actions",onClick:function(v){v.stopPropagation()}},h)}function _a(){return n("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}},n("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 vr(){return n("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}},n("path",{fill:"#fde68a",opacity:.85,d:"M159 768h612.3l103.4-256H262.3z"}),n("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 Xt(e){var r=e.closest(".dssm-section");r&&Array.prototype.forEach.call(r.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(s){s.classList.remove("drag-over","drop-before","drop-after")})}function wr(e,r,s,f,h){var v=JSON.stringify(["category",f||"",e.key,r.id||"none"]),S=A[v]===void 0?!!(te||Z.status):A[v],I=r.scope||r.skills,W=I.filter(function(L){return L.skill.loadable!==!1}),B=W.filter(function(L){return cr(L.skill)}).length,ve=W.length>0&&B===W.length,F=function(L){return s?Object.assign({},L,{workspace:s}):L};return n("section",{key:e.key+":"+(r.id||"none"),className:"dssm-cat","aria-label":r.name,onDragOver:function(L){L.preventDefault(),fe.current&&fe.current.root===e.key&&fe.current.currentCategoryId!==r.id?L.currentTarget.classList.add("drag-over"):L.currentTarget.classList.remove("drag-over")},onDragLeave:function(L){var q=L.relatedTarget;q&&L.currentTarget.contains(q)||L.currentTarget.classList.remove("drag-over")},onDrop:function(L){L.preventDefault(),fe.current=null,L.currentTarget.classList.remove("drag-over"),Xt(L.currentTarget);try{var q=JSON.parse(L.dataTransfer.getData("text/plain")||"{}");q&&q.name&&q.root===e.key&&q.currentCategoryId!==r.id&&Q("/category-assign",F({root:e.key,name:q.name,category:r.id}),"category.assigned",{name:q.name,category:r.name})}catch{}}},n("div",{className:"dssm-cat-head"},n("button",{type:"button",className:"dssm-cat-main","aria-expanded":S,onClick:function(){i(function(L){var q={};return q[v]=!S,Object.assign({},L,q)})}},n("span",{className:"dssm-cat-title"},n(S?vr:_a),r.name),n("span",{className:"dssm-count"},t("category.progress",{count:I.length,enabled:B,usable:W.length}))),n("span",{className:"dssm-source-actions",onClick:function(L){L.stopPropagation()}},r.locked?null:Ut(t("category.addSkills"),qe("M8 2.5v11M2.5 8h11"),function(){var L={};(e.categories||[]).forEach(function(ie){L[ie.id]=ie.name});var q=h||r.scope||r.skills,Ye=q.filter(function(ie){return ie.skill.categoryId!==r.id}).map(function(ie){return{name:ie.skill.name,declaredName:ie.skill.declaredName,description:ie.skill.description,currentCatName:ie.skill.categoryId&&L[ie.skill.categoryId]||t("category.uncategorized")}});c({}),U(""),R({type:"category-add",root:e.key,id:r.id,name:r.name,workspace:s,skills:Ye})},!1,g),r.locked?null:Ut(t("category.rename"),qe("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){Bt(r.name),R({type:"category-rename",root:e.key,id:r.id,name:r.name,workspace:s})},!1,g),r.locked?null:Ut(t("category.delete"),qe("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){R({type:"category-delete",root:e.key,id:r.id,name:r.name,workspace:s})},!0,g),Hr(ve,t("category.toggle")+" "+r.name,g||e.enabled===!1||W.length===0,function(){Q(ve?"/category-disable":"/category-enable",F({root:e.key,category:r.id}))}))),S?r.skills.length?n("div",{className:"dssm-skill-list"},r.skills.map(function(L){return Ja(e,L.skill,s)})):n("div",{className:"dssm-empty"},t("category.empty")):null)}function kr(e,r,s,f,h){var v=e.categories||[],S=function(L,q){var Ye=e.categoryOrder&&e.categoryOrder[q]||[],ie=Object.create(null);return Ye.forEach(function(Ne,Te){ie[Ne]=Te}),L.map(function(Ne,Te){return{row:Ne,index:Te,rank:ie[Ne.skill.name]}}).sort(function(Ne,Te){return Ne.rank!==void 0&&Te.rank!==void 0?Ne.rank-Te.rank:Ne.rank!==void 0?-1:Te.rank!==void 0?1:Ne.index-Te.index}).map(function(Ne){return Ne.row})};if(!v.length)return r.length?n("div",{className:"dssm-skill-list"},S(r,"").map(function(L){return Ja(e,L.skill,s)})):n("div",{className:"dssm-empty"},t("empty.source"));var I={},W=h||r;v.forEach(function(L){I[L.id]=!0});var B=function(L,q){return S(L.filter(function(Ye){return q?Ye.skill.categoryId===q:!Ye.skill.categoryId||!I[Ye.skill.categoryId]}),q)},ve=v.map(function(L){return{id:L.id,name:L.name,locked:!1,skills:B(r,L.id),scope:B(W,L.id)}});ve.push({id:"",name:t("category.uncategorized"),locked:!0,skills:B(r,""),scope:B(W,"")});var F=!!(te||Z.status);return n("div",null,n("p",{className:"dssm-note dssm-cat-note"},t("category.note")),ve.filter(function(L){return!F||L.skills.length}).map(function(L){return wr(e,L,s,f,W)}))}function xr(e,r,s,f){var h=(s||Jt).filter(function(B){return B.root.key===e.key}),v=(s||st).filter(function(B){return B.root.key===e.key});if(Oe&&e.key!==Oe||(te||Z.status)&&!v.length)return null;var S=JSON.stringify([Qt,f||"",e.key,te,Oe,Z.status]),I=A[S]===void 0?r?!0:!!(te||Oe||Z.status):A[S],W=r?lt(t,Object.assign({},e,{projectName:void 0})):lt(t,e);return n("section",{key:(f||"")+e.key,className:"dssm-source","data-source-key":e.key},n("div",{className:"dssm-source-head"},n("button",{type:"button",className:"dssm-source-toggle","aria-expanded":I,onClick:function(){i(function(B){var ve={};return ve[S]=!I,Object.assign({},B,ve)})}},eo(n,I),n("div",{className:"dssm-source-label"},Ya(e.key),n("span",{className:"dssm-source-title"},W),n("span",{className:"dssm-count"},t(Ta("summary.group",v.length),{count:v.length})),e.overridden?n("span",{className:"dssm-source-custom"},t("rootPath.custom")):null,n("span",{className:"dssm-source-path",title:e.overridden?t("rootPath.overrideTitle",{path:e.defaultPath||""}):e.path},e.path))),Xa(e,r,W)),I?n("div",{className:"dssm-source-body",role:"region"},kr(e,v,r,f,h)):null)}function Sr(){var e=k==="project",r=e?O:void 0,s=Ca.map(function(h){return xr(h,r,void 0,r?r+"|":void 0)}).filter(Boolean),f=s.length?s:n("div",{className:"dssm-empty"},te||Z.status?t("empty.search"):t("empty.source"));return e&&(Y.error?f=n("div",{className:"dssm-feedback dssm-error",role:"alert"},t("workspace.listFailed",{error:Y.error})):Y.loading||O&&(!It||It.loading)?f=n("div",{className:"dssm-empty"},t("workspace.loading")):O?It?.error?f=n("div",{className:"dssm-feedback dssm-error",role:"alert"},t("workspace.loadFailed",{error:It.error})):!Jt.length&&!te&&!Z.status&&(f=n("div",{className:"dssm-empty"},t("workspace.noSkills"))):f=n("div",{className:"dssm-empty"},t(ce.length?"workspace.unavailable":"project.empty"))),n("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+k,className:"dssm-sources"},f)}function Cr(){return n("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},rt.trash.length?rt.trash.map(function(e){return n("div",{key:e.id,className:"dssm-trash-item",role:"group","aria-label":e.name},n("div",{className:"dssm-trash-main"},n("div",{className:"dssm-name"},e.name),n("div",{className:"dssm-trash-meta"},n("time",{dateTime:e.deletedAt},t("trash.deletedAt",{time:ho(t,e.deletedAt)})),n("span",{className:"dssm-trash-source"},t("trash.source",{source:oe(e)})))),n("div",{className:"dssm-trash-actions"},Ut(t("btn.restore"),qe("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){Q("/trash-restore",hr(e),"result.restored",{name:e.name}).catch(function(){})},!1,g),Ut(t("btn.delete.forever"),qe("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){R({type:"delete-confirm",id:e.id,name:e.name})},!0,g)))}):n("div",{className:"dssm-empty"},t("trash.empty")))}var $a=fn({active:k==="repositories",t,onInstalled:function(){return Promise.all([Le(!1),Gt()])}});function Nr(e){var r=e==="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":e==="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":e==="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 n("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},n("path",{d:r}))}var Ht=["user","project","repositories","trash"].map(function(e){var r=t("scope."+e),s=e==="trash"?(rt.trash||[]).length:0,f=Nr(e);return{value:e,id:"dssm-tab-"+e,panelId:"dssm-scope-panel",label:s>0?[f,r,n("span",{className:"dssm-trash-count"},s)]:[f,r]}}),Ce=n(Me.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:t("scope.label"),value:k,onChange:function(e){x(e),(e==="project"||e==="trash")&&Yt(e==="project"),e==="trash"&&Le(!0)},items:Ht}),er=[k==="project"?null:n("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(e){return n("div",{key:e[1],className:"dssm-stat"},n("strong",null,Mt[e[0]]),t(Ta(e[1],Mt[e[0]]),{count:Mt[e[0]]}).replace(String(Mt[e[0]]),""))})),n("div",{key:"filters",className:"dssm-filters"},k==="project"?null:n("div",{className:"dssm-source-filter"},n(Ot,{value:Oe,label:t("filter.source"),options:Se,onChange:Sa})),n("div",{className:"dssm-status-filter"},n(Ot,{value:Z.status,label:t("filter.status"),options:[{value:"",label:t("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(e){return{value:e,label:t("status."+e)}})),onChange:function(e){ot("status",e)}})),k==="project"?n("div",{className:"dssm-project-filter"},n(Ot,{value:O,label:t("filter.workspace"),disabled:Y.loading||!ce.length,options:ce.map(function(e){return{value:Be(e),label:e.name+(e.available?"":" \xB7 "+(e.errorCode==="ENOENT"||e.errorCode==="ENOTDIR"?t("workspace.missing"):e.errorCode==="EACCES"||e.errorCode==="EPERM"?t("workspace.unreadable"):t("workspace.unavailable")))+(ce.filter(function(r){return r.name===e.name}).length>1?" \xB7 "+Be(e):""),disabled:!e.available||!Be(e)}}),onChange:fr})):null,n(Ie,{className:"dssm-search",allowClear:!0,value:te,"aria-label":t("search"),placeholder:t("search.placeholder"),onChange:function(e){Qa(e.target.value)}}),k!=="trash"?n("div",{className:"dssm-filter-actions"},lr(t("btn.refresh"),qe("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(){Le(!1),k==="project"&&Gt()},g||u.loading),lr(t("btn.create"),qe("M8 2.5v11M2.5 8h11"),gr,g,t("btn.create")+"\u2026"),lr(t("import.global"),qe("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),Za,g),k==="user"?lr(t("rootPath.manage"),qe("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),xa,g,t("rootPath.manage")+"\u2026"):null):null)],ke=[n("style",{key:"css"},gn),n("div",{key:"head",className:"dssm-head"},n("div",{className:"dssm-title-block"},n("div",{className:"dssm-title-row"},n("h2",{className:"dssm-title"},t("title")),n("div",{className:"dssm-feedback-links"},n(Me.Button,{variant:"outline",size:"sm","aria-label":t("link.project"),icon:n(Bn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},t("link.project")),n(Me.Button,{variant:"outline",size:"sm","aria-label":t("link.feedback"),icon:n(dn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},t("link.feedback")))),n("p",{className:"dssm-desc"},t("desc")))),Ce].concat(k==="trash"||k==="repositories"?[]:er,[C&&w!=="import"?n("div",{key:"result",className:"dssm-feedback"+(C.warning?" dssm-warning":C.ok?"":" dssm-error")},C.text):null],(rt.warnings||[]).map(function(e,r){return n("div",{key:"warning-"+r,className:"dssm-feedback dssm-warning",role:"alert"},_(t,e))}),[u.error?n("div",{key:"error",className:"dssm-feedback dssm-error"},u.error):null,k==="repositories"?$a.content:u.loading&&!u.data?n("div",{key:"loading",className:"dssm-empty"},t("loading")):k==="trash"?Cr():Sr()]);if(w==="create"&&ke.push(n(Qe,{key:"create",title:t("create.title"),closeLabel:t("btn.close"),onClose:function(){R(null)}},n("div",{className:"dssm-form"},n(io,{t,value:Xe,disabled:g,allowAgents:!0,workspaces:ce,userDestinations:nt,onChange:function(e){sa(Object.assign({},Xe,e))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(e){return n("label",{key:e[0],className:"dssm-field"},n("span",{className:"dssm-label"},t(e[1])),n(Ie,{value:$[e[0]],placeholder:t(e[2]),onChange:function(r){va(e[0],r.target.value)}}))}),n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("create.body")),n(Ie.TextArea,{rows:8,value:$.body,placeholder:t("create.body.placeholder"),onChange:function(e){va("body",e.target.value)}})),n("p",{className:"dssm-help"},t("create.chat.note"))),n("div",{className:"dssm-modal-actions"},K(t("btn.cancel"),function(){R(null)},"outline"),K(t("btn.create.now"),qa,"primary",g||!$.name.trim()||!$.description.trim()||!$.body.trim()||!jt(Xe,ce,nt))))),w==="import"&&ke.push(n(Qe,{key:"import",className:"dssm-modal-import",title:t("import.title"),closeLabel:t("btn.close"),onClose:function(){we.current=!1,$e(null),N(null),R(null)}},n("input",{ref:ba,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(e){wa(e.target.files),e.target.value=""}}),n("input",{ref:qt,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(e){wa(e.target.files),e.target.value=""}}),n("div",{className:"dssm-dropzone",onDragOver:function(e){e.preventDefault(),e.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(e){e.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(e){e.preventDefault(),e.currentTarget.classList.remove("dssm-dropzone-active"),vn(e.dataTransfer).then(wa).catch(function(r){N({ok:!1,text:_(t,r)})})}},n("span",{className:"dssm-dropzone-title"},t("upload.drop.title")),n("span",{className:"dssm-dropzone-copy"},t("upload.drop.copy")),n("div",{className:"dssm-upload-choices"},n("button",{type:"button",className:"dssm-upload-link",disabled:g,onClick:function(e){e.stopPropagation(),ka(qt)}},t("btn.folder.pick")),n("span",{className:"dssm-upload-divider"},"/"),n("button",{type:"button",className:"dssm-upload-link",disabled:g,onClick:function(e){e.stopPropagation(),ka(ba)}},t("btn.file.pick")))),se?n("div",{className:"dssm-file",title:se.name},n("span",{className:"dssm-file-kind","aria-hidden":"true"},se.kind==="zip"?"ZIP":se.kind==="folder"?"DIR":"MD"),n("span",{className:"dssm-file-name"},se.name),n("span",{className:"dssm-file-meta"},t(Ta("upload.selected",se.count),{count:se.count,size:se.size<1024?se.size+" B":Math.ceil(se.size/1024)+" KB"})),n("button",{type:"button",className:"dssm-file-remove","aria-label":t("upload.remove"),onClick:function(){$e(null)}},"\xD7")):null,n(io,{t,value:_e,disabled:g,allowAgents:!0,workspaces:ce,userDestinations:nt,onChange:function(e){xt(Object.assign({},_e,e))}}),C?n("div",{className:"dssm-feedback"+(C.warning?" dssm-warning":C.ok?"":" dssm-error"),role:"alert"},C.text):null,n("div",{className:"dssm-upload-requirements"},n("div",{className:"dssm-label"},t("upload.requirements")),n("ul",null,n("li",null,t("upload.requirement.skill")),n("li",null,t("upload.requirement.frontmatter")),n("li",null,t("upload.requirement.copy")))),n("div",{className:"dssm-modal-actions"},K(t("btn.cancel"),function(){we.current=!1,$e(null),N(null),R(null)},"outline"),K(t(g?"upload.importing":"btn.import.now"),At,"primary",g||!se||!jt(_e,ce,nt))))),w&&typeof w=="object"&&w.type==="root-path"){var Fe=w,Ve=Ba;ke.push(n(Qe,{key:"root-path",title:t("rootPath.title",{name:Fe.label}),closeLabel:t("btn.close"),onClose:function(){R(null),Re(null)}},n("div",{className:"dssm-form"},n("p",{className:"dssm-note"},t("rootPath.desc")),bt.length>0?n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("rootPath.source")),n(Ot,{value:Fe.root,label:t("rootPath.source"),disabled:g,options:bt.map(function(e){return{value:e.key,label:lt(t,e)}}),onChange:function(e){var r=bt.find(function(s){return s.key===e});r&&Ee(r)}})):null,n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("rootPath.label")),n(Ie,{value:Nt,placeholder:t("rootPath.placeholder"),disabled:g,onChange:function(e){ca(e.target.value),Re(null)}})),n("div",{className:"dssm-root-path-actions"},K(t("rootPath.browse"),ya,"outline",g||pr),Fe.defaultPath?K(t("rootPath.reset"),function(){Ae(null)},"outline",g):null,Fe.root.indexOf("custom:")===0?K(t("customSource.remove"),function(){Ue(Fe.root)},"outline",g):null),n("p",{className:"dssm-help"},t("rootPath.defaultHint",{path:Fe.defaultPath||Fe.path})),Ua?n("div",{className:"dssm-feedback dssm-error",role:"alert"},Ua):null,n("div",{className:"dssm-custom-sources"},n("div",{className:"dssm-custom-source-head"},n("span",{className:"dssm-label"},t("customSource.title")),K(t(ut?"btn.cancel":"customSource.add"),function(){ut?(je(!1),Ze(null),me(null)):z()},"outline",g||be)),n("p",{className:"dssm-help"},t("customSource.desc")),ut?n("div",{className:"dssm-form"},n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("customSource.label")),n(Ie,{value:Vt,maxLength:48,placeholder:t("customSource.label.placeholder"),disabled:g||be,onChange:function(e){pt(e.target.value)}})),n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("customSource.path")),n(Ie,{value:et,placeholder:t("customSource.path.placeholder"),disabled:g||be,onChange:function(e){ma(e.target.value),me(null)}})),n("div",{className:"dssm-root-path-actions"},K(t("rootPath.browse"),ht,"outline",g||be),K(t(be?"customSource.scanning":"customSource.scan"),mr,"outline",g||be||!(et||"").trim()),K(t("customSource.addOne"),function(){Ka([{label:(Vt||"").trim(),path:(et||"").trim()}])},"primary",g||be||!(et||"").trim())),mt?n("div",{className:"dssm-feedback dssm-error",role:"alert"},mt):null,Ve?n("div",{className:"dssm-custom-scan"},n("p",{className:"dssm-help"},t("customSource.scanResult",{count:Ve.candidates.length,path:Ve.root})),Ve.candidates.length?n("div",{className:"dssm-root-path-actions"},K(t("customSource.addAll"),function(){Ka(Ve.candidates.filter(function(e){return!e.registered&&!e.conflict}).map(function(e){return{label:e.label,path:e.path,group:e.group}}))},"primary",g||be||!Ve.candidates.some(function(e){return!e.registered&&!e.conflict}))):null,Ve.candidates.map(function(e,r){return n("div",{key:"candidate-"+r,className:"dssm-custom-candidate"},n("div",{className:"dssm-custom-candidate-text"},n("span",{className:"dssm-custom-candidate-name"},e.label),n("span",{className:"dssm-custom-candidate-meta"},e.path+" \xB7 "+t(Ta("customSource.skillCount",e.skillCount),{count:e.skillCount}))),e.registered?n("span",{className:"dssm-custom-candidate-state"},t("customSource.registered")):e.conflict?n("span",{className:"dssm-custom-candidate-state"},t("customSource.conflict")):K(t("customSource.addOne"),function(){Ka([{label:e.label,path:e.path,group:e.group}])},"outline",g||be))})):null):null)),n("div",{className:"dssm-modal-actions"},K(t("btn.cancel"),function(){R(null),Re(null)},"outline"),K(t("rootPath.save"),function(){Ae((Nt||"").trim())},"primary",g||!(Nt||"").trim()))))}if(w==="detail"){var ae=Et,tr=ae?ae.declaredName||ae.name:"";ke.push(n(Qe,{key:"detail",className:"dssm-modal-wide",title:t("detail.title"),closeLabel:t("btn.close"),onClose:function(){gt("idle"),R(null)}},ae?n("div",{className:"dssm-detail"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:tr},tr),ae.body?n(Me.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){ae&&ae.body&&ha(ae.body)}},t(Va==="copied"?"detail.copied":Va==="failed"?"detail.copyFailed":"detail.copyBody")):null),ae.customNote?n("p",{className:"dssm-desc dssm-custom-note",title:t("detail.customNote")},ae.customNote):null,ae.description?n("p",{className:"dssm-desc"+(ae.customNote?" dssm-desc-secondary":"")},ae.description):null,n("div",{className:"dssm-detail-path"},ae.path),ae.diagnostics.length?ae.diagnostics.map(function(e,r){return n("div",{key:r,className:"dssm-diag"},t(e.code,e.params||{}))}):null,n(Ie.TextArea,{className:"dssm-detail-body",readOnly:!0,value:ae.body||"",rows:16})):n("div",{className:"dssm-empty"},t("loading"))))}if(w&&typeof w=="object"&&w.type==="trash-confirm"&&ke.push(n(Qe,{key:"trash-confirm",title:t("confirm.trash.title"),description:t("confirm.trash.desc",{name:w.name}),closeLabel:t("btn.close"),onClose:function(){R(null)},footer:n(Ia.Fragment,null,K(t("btn.cancel"),function(){R(null)},"outline"),K(t("btn.trash"),function(){Q("/delete",Object.assign({root:w.root,name:w.name},w.workspace?{workspace:w.workspace}:{}),"result.trashed",{name:w.name}).then(function(){R(null)}).catch(function(){})},"danger",g))})),w&&typeof w=="object"&&w.type==="delete-confirm"&&ke.push(n(Qe,{key:"delete-confirm",title:t("confirm.delete.title"),description:t("confirm.delete.desc",{name:w.name}),closeLabel:t("btn.close"),onClose:function(){R(null)},footer:n(Ia.Fragment,null,K(t("btn.cancel"),function(){R(null)},"outline"),K(t("btn.delete.forever"),function(){Q("/trash-delete",{id:w.id},"result.deleted",{name:w.name}).then(function(){R(null)}).catch(function(){})},"danger",g))})),w&&typeof w=="object"&&(w.type==="category-create"||w.type==="category-rename")){var _t=w.type==="category-rename",it=w,yt=he.trim(),$t=!!yt&&(!_t||yt!==it.name),Na=function(){if(!(g||!$t)){var e=_t?Q("/category-rename",{root:it.root,id:it.id,name:yt,workspace:it.workspace},"category.renamed"):Q("/category-create",{root:it.root,name:yt,workspace:it.workspace},"category.created",{name:yt});e.then(function(){R(null)}).catch(function(){})}};ke.push(n(Qe,{key:w.type,title:t(_t?"category.rename":"category.create"),closeLabel:t("btn.close"),onClose:function(){R(null)}},n("div",{className:"dssm-form"},n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("category.name")),n(Ie,{value:he,maxLength:24,"aria-label":t("category.name"),onChange:function(e){Bt(e.target.value)},onPressEnter:Na})),n("p",{className:"dssm-help"},t("category.note"))),n("div",{className:"dssm-modal-actions"},K(t("btn.cancel"),function(){R(null)},"outline"),K(t(_t?"btn.confirm":"category.create"),Na,"primary",g||!$t))))}if(w&&typeof w=="object"&&w.type==="category-add"){var Pe=w,ea=M.trim().toLowerCase(),ar=Pe.skills.filter(function(e){return!ea||e.name.toLowerCase().includes(ea)||e.declaredName&&e.declaredName.toLowerCase().includes(ea)||e.description&&e.description.toLowerCase().includes(ea)}),Ra=new Set(Pe.skills.map(function(e){return e.name})),La=Object.keys(H).filter(function(e){return H[e]&&Ra.has(e)}).length;ke.push(n(Qe,{key:"category-add",title:t("category.selectSkills",{name:Pe.name}),closeLabel:t("btn.close"),onClose:function(){c({}),U(""),R(null)}},n(Ie,{placeholder:t("search.placeholder"),value:M,allowClear:!0,onChange:function(e){U(e.target.value)}}),n("div",{className:"dssm-batch-list"},ar.length?ar.map(function(e){var r=!!H[e.name];return n("div",{key:e.name,className:"dssm-batch-item"+(r?" selected":""),onClick:function(){var s=Object.assign({},H);r?delete s[e.name]:s[e.name]=!0,c(s)}},n("input",{type:"checkbox",checked:r,readOnly:!0}),n("div",{className:"dssm-batch-info"},n("div",{className:"dssm-batch-name-row"},n("span",{className:"dssm-batch-name"},e.declaredName||e.name),e.currentCatName?n("span",{className:"dssm-batch-cat-tag"},e.currentCatName):null),e.description?n("div",{className:"dssm-batch-desc",title:e.description},e.description):null))}):n("div",{className:"dssm-empty"},t("category.noAvailableSkills"))),n("div",{className:"dssm-modal-actions"},K(t("btn.cancel"),function(){c({}),U(""),R(null)},"outline"),K(t("category.addSkills")+(La?" ("+La+")":""),function(){var e=Object.keys(H).filter(function(s){return H[s]&&Ra.has(s)});if(!e.length){c({}),U(""),R(null);return}if(!at.current){var r=function(s){return Pe.workspace?Object.assign({},s,{workspace:Pe.workspace}):s};at.current=!0,b(!0),c({}),U(""),R(null),e.reduce(function(s,f){return s.then(function(){return l("/category-assign",{method:"POST",headers:vt,body:JSON.stringify(r({root:Pe.root,name:f,category:Pe.id}))})})},Promise.resolve()).then(function(){N({ok:!0,text:t("category.batchAssigned",{count:e.length,category:Pe.name})})}).catch(function(s){N({ok:!1,text:_(t,s)})}).finally(function(){at.current=!1,b(!1);var s=Pe.workspace;Promise.all([Le(!0),s?zt(s):null]).catch(function(){})})}},"primary",g||!La))))}if(w&&typeof w=="object"&&w.type==="skill-note"){var We=w,ta=X.trim(),rr=ta!==(We.note||""),o=function(){if(!(g||!rr)){var e=We.workspace?{root:We.root,name:We.name,note:ta,workspace:We.workspace}:{root:We.root,name:We.name,note:ta};Q("/skill-note",e,ta?"note.updated":"note.cleared",{name:We.name}).then(function(){R(null)}).catch(function(){})}};ke.push(n(Qe,{key:"skill-note",title:t("note.title"),closeLabel:t("btn.close"),onClose:function(){R(null)}},n("div",{className:"dssm-form"},n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("note.label")),n(Ie.TextArea,{value:X,maxLength:500,rows:4,placeholder:t("note.placeholder"),"aria-label":t("note.label"),onChange:function(e){ee(e.target.value)}})),n("p",{className:"dssm-help"},t("note.help"))),n("div",{className:"dssm-modal-actions"},K(t("btn.cancel"),function(){R(null)},"outline"),We.note?K(t("note.clear"),function(){ee("")},"outline",g):null,K(t("btn.confirm"),o,"primary",g||!rr))))}return w&&typeof w=="object"&&w.type==="category-delete"&&ke.push(n(Qe,{key:"category-delete",title:t("confirm.category.title"),description:t("confirm.category.desc",{name:w.name}),closeLabel:t("btn.close"),onClose:function(){R(null)},footer:n(Ia.Fragment,null,K(t("btn.cancel"),function(){R(null)},"outline"),K(t("category.delete"),function(){Q("/category-delete",{root:w.root,id:w.id,workspace:w.workspace},"category.deleted",{name:w.name}).then(function(){R(null)}).catch(function(){})},"danger",g))})),n("section",{className:"dssm-section"},ke)}var Lo=null;function po(){var a=globalThis.__DSH_DIRECTORY_PICKER__;if(a&&typeof a.pick=="function"){var t=a.pick.bind(a);return function(){return t()}}return Lo}var Vn=["slots","locale"];function Wn(a){if(Ma=a.locale,typeof a.inject=="function")try{a.inject(["uiWorkspace"],function(b){var k=b.uiWorkspace;if(k&&typeof k.pickDirectory=="function"){var x=k.pickDirectory.bind(k);Lo=function(){return x()}}})}catch{}a.effect(function(){return a.locale.register(Ge,Ha)});var t,l;a.effect(function(){return t=Gr({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:un,isEnabled:function(){return l?l.isOnlineUpdateEnabled():!0}}),function(){typeof t=="function"&&t(),t=void 0}},"skills-manager: plugin update ui"),oo(a,function(){return a.locale.bind(Ge)("title")});let d=null,u=!1,p=()=>{if(!(!u||d)&&!(l&&!l.isSettingsSectionEnabled()))try{a.slots.register({name:"settings.section.icon",id:"skills-manager",locale:Ge},ro);let b=a.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return a.locale.bind(Ge)("title")},icon:"skill",locale:Ge},Mr);d=typeof b=="function"?b:()=>{}}catch(b){console.warn("skills-manager: register settings.section failed:",b),d=null}},m=()=>{if(d){try{d()}catch{}d=null}},g=()=>{l?.isSettingsSectionEnabled?.()??!0?p():m()};a.slots.inject("settings.section",function(){u=!0;try{if(l&&!l.isSettingsSectionEnabled())return function(){u=!1,m()};let b=a.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return a.locale.bind(Ge)("title")},icon:"skill",locale:Ge},Mr);return d=typeof b=="function"?b:()=>{},b}catch(b){return console.warn("skills-manager: register settings.section failed:",b),function(){u=!1}}}),l=zr(a,{callApi:za,headers:vt,renderPanel:function(b){return n(Mr,Object.assign({t:a.locale.bind(Ge)},b))},ns:Ge,onOnlineUpdateChange:function(){t&&typeof t.refresh=="function"&&t.refresh()},onLocationChange:function(){g()}}),a.effect(function(){return function(){l&&typeof l.destroy=="function"&&(l.destroy(),l=void 0),m()}},"skills-manager: sidebar entry cleanup")}module.exports.formatTrashTime=ho;module.exports.DICT=Ha;module.exports.translateError=_;module.exports.parseApiResponse=go;module.exports.resolveApiUrl=Pa;module.exports.isSkillEnabled=cr;module.exports.countKey=Ta;module.exports.rootDisplayName=lt;module.exports.summarizeImportResult=bo;module.exports.normalizeSkillQuery=yo;module.exports.matchSkillQuery=Dr;module.exports.filterSkills=hn;module.exports.visibleSkillRoots=Ur;module.exports.scopeSkillRoots=ko;module.exports.skillStatus=Or;module.exports.countSkillStatuses=vo;module.exports.currentSessionId=No;module.exports.canToggleSource=wo;module.exports.recoverModalFocus=Co;module.exports.trapModalFocus=kn;module.exports.inspectUploadSelection=xo;module.exports.setupSidebarEntry=zr;module.exports.apply=Wn;module.exports.inject=Vn;
61
61
  return module.exports;
62
62
  } });