@michengai/dsh-skills-manager 1.2.25 → 1.2.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/CHANGELOG.zh-CN.md +7 -0
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/lib/client.js +8 -8
- package/package.json +1 -1
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 jr=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&&jr(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?jr(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 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=`
|
|
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,j=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,na]=a.useState(""),[wt,Je]=a.useState(""),[kt,sa]=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,Ua]=a.useState(""),[ne,Xe]=a.useState(""),[St,Ct]=a.useState([]),[da,ca]=a.useState([]),[cr,Nt]=a.useState([]),[Ft,ja]=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||[]),ja(o.catalogUnknownIds||[]),Oa(o.catalogWarnings||[]),le.scope==="user"&&!e.some(r=>r.key===le.location&&r.available)&<({...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 Ue(o){if(o.installedWorkspace){let e=s=>{let m=s.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(m)?m.toLowerCase():m},r=Me.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 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(/[\\/]+$/,""),s=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));return s>=0?r.slice(s+1):r}function wa(o){let e=!!o.installedWorkspace,r=e?"dsh":o.installedRoot,s=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||""),s].filter(Boolean).join(" \xB7 "):[m,s].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),s=e?.params?.path;return typeof s=="string"&&s&&!r.includes(s)?r+" \xB7 "+s: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),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||(oa(!0),G(null));try{await o(),e&&await gt()}catch(s){let m=s;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 s=Ne.current;if(!o&&(!s.hasMore||s.count>=100))return;e&&(Pt.current=!0);let m=o?0:s.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:s.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(U=>{if(typeof U.ownerHandle!="string"||!U.ownerHandle||typeof U.slug!="string"||!U.slug)return[];let R=K=>typeof K=="number"&&Number.isFinite(K)?K:void 0;return[{id:U.ownerHandle+"/"+U.slug,owner:U.ownerHandle,slug:U.slug,name:typeof U.displayName=="string"&&U.displayName?U.displayName:U.slug,source:U.ownerHandle+"/"+U.slug,description:typeof U.summary=="string"?U.summary:"",downloads:R(U.stats?.downloads),installs:R(U.stats?.installs),stars:R(U.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(U=>[...o?[]:U,...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 s=new URLSearchParams({q:o,limit:"100"}),m=await f(`/clawhub/search?${s.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(s){let m=s?.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 s=await f(`/skills-sh/search?q=${encodeURIComponent(o)}`,{signal:r.signal});e===ye.current&&M.current&&ga(s.skills)}catch(s){let m=s?.name==="AbortError";e===ye.current&&M.current&&!m&&qt(!0)}finally{e===ye.current&&(De.current=null,M.current&&ue(!1))}}function je(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 s=getComputedStyle(r);if(/(auto|scroll)/.test(`${s.overflowY} ${s.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 s=0;s<o.length;s++){let m=o[s];Bt({id:m.id,name:m.owner+"/"+m.name,index:s+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 s=r;throw M.current&&H({type:"detail",repo:o,failed:!0}),s}},!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 s=o.catalog==="skillsh"?`skillsh:${o.source}/${o.skillId}`:`clawhub:${o.owner}/${o.slug}`;ca(y=>y.includes(s)?y:[...y,s]);let m=e.root||"dsh";Nt(y=>y.some(x=>x.id===s&&x.installedRoot===m&&x.installedWorkspace===e.workspace)?y:[...y,{id:s,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,s=!1,m=!1){return i(k,{variant:r?"outline":"primary",className:m?"dssm-btn-danger":void 0,disabled:W||s,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,s){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:s||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",s="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",s="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",s="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",s="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:s,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(j,{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(j,{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,s){Ae.current||o==="uninstall"&&(!s||!s.canUninstall||!Ue(s))||(G(null),H({type:o,repo:e,skill:r,copy:s}))}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 s=e==="install"?I(r):o.copy&&Ue(o.copy);if(s)return Z(async()=>{let m={id:o.repo.id,path:o.skill.path,...s};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,s=!1){let m=Ue(r);if(!(!m||(s?!r.canRollback:!r.tracked)))return Z(async()=>{let h=await ee("preview",{id:o.id,path:e.path,...m,rollback:s});H({type:s?"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=Ue(o.copy);if(r)return Z(async()=>{let s={id:o.repo.id,path:o.skill.path,...r};Ye({...s,pending:!0,key:"repo.updateProgress"});try{await ee(e?"rollback":"update",{...s,token:o.detail.token,overwrite:o.detail.localModified})}catch(h){let y=h;throw M.current&&Ye({...s,error:!0,payload:y}),y}if(!M.current)return;let m=e?"repo.rollbackSuccess":"repo.updateSuccess";Ye({...s,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(j,{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 s=Ue(r),m=$?.id===o.id&&$.path===e.path&&$.pending&&s&&$.root===s.root&&$.workspace===s.workspace;return i("div",{className:"dssm-repo-copy-actions"},r.tracked&&(r.updateAvailable||r.status==="conflict")?ke("repo.review",()=>_a(o,e,r),!s):null,r.canRollback?ke("repo.rollback",()=>_a(o,e,r,!0),!s):null,r.canUninstall?ke(m&&$.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>zt("uninstall",o,e,r),!s,Et(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||""])},tt(r),xr(o,e,r),s?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))),s=ie[o.id]===void 0?!!e||!!kt:ie[o.id],m=s?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&&!Ue(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":s,onClick:()=>xt({...ie,[o.id]:!s})},_(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||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"))),s?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,s){return i(p,{label:l(o),value:e,onChange:r,options:[{value:"",label:l(o)},...s.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:s=>{Ae.current||lt({...le,...s})}}),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||!Ue(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(s=>i("li",{key:s.path},l("repo."+(s.kind==="modified"?"modifiedFile":s.kind))+" \xB7 "+s.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||!Ue(b.copy)))),b.type==="add"&&(o=i("form",{className:"dssm-form",onSubmit:s=>{s.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(([s,m,h])=>i("label",{className:"dssm-field",key:s},i("span",{className:"dssm-label"},l(m)),i(d,{"aria-label":l(m),value:Re[s],placeholder:h,maxLength:s==="url"?2048:512,required:s==="url",disabled:W,onChange:y=>ba({...Re,[s]:y.target.value})}))),xe,i("div",{className:"dssm-modal-actions"},ae("repo.cancel",ot),ae("repo.save",()=>{Re.url.trim()&&Z(async()=>{let s=await ee("add",Re);await It(s.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 s=b.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(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ua(s.body)},l(ct==="copied"?"repo.copied":ct==="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"},l("repo.installHint")),i(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:s.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:s=>{Ae.current||lt({...le,...s})}}),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 s=b.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(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ua(s.body)},l(ct==="copied"?"repo.copied":ct==="failed"?"repo.copyFailed":"repo.copyBody")):null),i("p",{className:"dssm-desc"},s.description),i("div",{className:"dssm-detail-path"},b.repo.owner+"/"+b.repo.name+" \xB7 "+s.path),i("div",{className:"dssm-repo-metadata"},l("repo.commit")+" \xB7 "+s.commit),i("p",{className:"dssm-note"},l("repo.installHint")),i(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:s.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(s=>s!==o&&!(s.id===o.id&&s.installedRoot===o.installedRoot&&s.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 nt(o,e,r,s){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",s):Be(o)?i("span",{className:"dssm-catalog-installed",role:"status"},l("repo.installed")):ke(e?"repo.catalog.reassociate":"repo.install",s))}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!ne||(ne==="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)),nt(`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),s=[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"},s)),nt(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=>{sa(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=>{na(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,Ua,[["installs",l("repo.sort.installs")],["name",l("repo.sort.name")]])),de.trim()?null:i("div",{className:"dssm-catalog-status-filter"},Mt("repo.catalog.states",ne,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=>je(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),na(e),sa(""),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",j=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?j&&j.available?Ho(j.projectRoot||j.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&&!j?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&&j?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 Uo={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"},jo={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")?Uo:jo}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 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)&<({...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=`
|
|
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,16 +22,16 @@ 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:j,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 j(){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 st="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=[`[${st}] > svg { display: none !important; }`,`[${st}]::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(
|
|
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=`
|
|
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 an(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 rn(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 on(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 j=()=>{d(a.getEnabled()),a.getOnlineUpdateEnabled&&p(a.getOnlineUpdateEnabled()),a.getOnlineUpdateLocked&&f(a.getOnlineUpdateLocked())};return j(),a.subscribe(j)},[a]);let P=j=>{w(!0),d(j),a.setSidebar(j).catch(()=>{d(a.getEnabled())}).finally(()=>{w(!1)})},i=a.setOnlineUpdate?j=>{a.getOnlineUpdateLocked?.()||(C(!0),p(j),a.setOnlineUpdate(j).catch(()=>{a.getOnlineUpdateEnabled&&p(a.getOnlineUpdateEnabled())}).finally(()=>{C(!1)}))}:void 0;return pe(rn,{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,j=new Set,X=()=>{if(!P)for(let l of j)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:tn,label:()=>a.locale.bind(u)("title"),locale:u},T=>pe(an,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:en,locale:u},l=>l&&l.view==="summary"?null:pe(on,{t:a.locale.bind(u),getEnabled:()=>f,setSidebar:k,getOnlineUpdateEnabled:()=>N,setOnlineUpdate:q,getOnlineUpdateLocked:()=>oe,subscribe:T=>(j.add(T),()=>{j.delete(T)})}))}),{isEnabled:()=>f,isSupported:()=>g,setEnabled:k,isOnlineUpdateEnabled:()=>N,setOnlineUpdate:q,destroy:()=>{if(!P){if(P=!0,C++,I++,i=void 0,j.clear(),S){try{S()}catch{}S=null}if(w){try{w()}catch{}w=null}}}}}var A=Ia,n=A.createElement,nn=we.IconEditOutlineRegular;function sn(){return n(nn,{size:16})}var ln={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 dn(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"),ln[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"},jt="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,cn=we.IconLoadingOutlineMedium||we.IconLoadingOutlineRegular||we.IconLoadingOutline16,un=we.IconRefreshOutlineMedium||we.IconRefreshOutlineRegular||we.IconRefreshOutline16,pn=Or({react:A,Modal:Ke,Input:Pe,Button:Ie.Button,SourceSelect:Ot,destination:po,api:za,headers:yt,translateError:J,getLocale:dr,IconLoading:cn,IconRefresh:un}),mn=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:6px!important;height:28px!important;padding:0 12px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!important;color:var(--dsw-alias-label-secondary)!important;text-align:center!important;box-sizing:border-box!important;transition:color 150ms ease!important}.dssm-scope-tabs [role=tab]:hover{color:var(--dsw-alias-label-primary)!important}.dssm-scope-tabs [role=tab][aria-selected="true"]{color:var(--dsw-alias-label-primary)!important;font-weight:600!important}.dssm-scope-tabs [role=tab] svg{flex:none;display:block}.dssm-source-head{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px}.dssm-source-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-source-toggle:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary));outline-offset:2px}.dssm-fold-chevron{flex:none;color:var(--dsw-alias-label-tertiary);transform:rotate(-90deg);transition:transform 160ms ease}.dssm-fold-chevron.is-open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.dssm-fold-chevron{transition:none}}.dssm-source-label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dssm-drag-handle{cursor:grab;color:var(--dsw-alias-label-tertiary,#888);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;border-radius:var(--dsw-radius-sm,8px);flex-shrink:0;user-select:none;transition:color 0.15s}.dssm-skill-row:hover .dssm-drag-handle{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-drag-handle:active{cursor:grabbing}.dssm-cat.drag-over{border-color:var(--dsw-alias-brand-primary,#3b82f6);box-shadow:0 0 0 1px var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.dragging{opacity:0.4;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent))}.dssm-skill-row.drop-before{box-shadow:inset 0 2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.drop-after{box-shadow:inset 0 -2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:0;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:0;background:transparent}.dssm-skill-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-skill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-skill-row .dssm-name{font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none}.dssm-source{overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-textarea{box-sizing:border-box;display:block;width:100%;min-height:160px;margin:0;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:14px;line-height:22px;resize:vertical}.dssm-textarea:focus,.dssm-textarea:focus-visible{outline:none;border-color:var(--dsw-alias-state-business-primary)}.dssm-textarea[readonly]{resize:none}.dssm-source-title{font-size:14px;font-weight:650;white-space:nowrap;flex:none}.dssm-source-path{min-width:0;max-width:50%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-source-actions{display:flex;flex:none;align-items:center;gap:8px;margin-left:12px}.dssm-cat{margin:0 10px 8px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px)}.dssm-cat-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 6px}.dssm-cat-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-cat-title{font-size:14px;font-weight:700;display:inline-flex;align-items:center}.dssm-cat-note{margin:2px 16px 8px}.dssm-fallback{margin-top:4px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-section{box-sizing:border-box;display:flex;width:100%;min-width:0;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary,#eeeeee);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dssm-feedback-links>span[data-mpi-check]{display:inline-flex;align-items:center}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));outline-offset:2px}.dssm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1)}.dssm-stat{padding:4px 10px;border-right:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:4px;color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:650}.dssm-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%!important;min-width:0;box-sizing:border-box}.dssm-filter-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.dssm-filters .dssm-search{flex:1 1 0;min-width:160px;max-width:none}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter,.dssm-filters .dssm-menu-select-wrap,.dssm-filters span[class*="_root_"],.dssm-filters .dssm-source-select-menu,.dssm-filters .dssm-menu-select-trigger{width:auto!important;min-width:0!important;display:inline-flex!important;flex:none}.dssm-field .dssm-menu-select-wrap,.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"]{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.dssm-destination-pair .dssm-menu-select-trigger,.dssm-form .dssm-menu-select-trigger{display:flex!important;width:100%!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}.dssm-source-select-menu{min-width:130px;max-width:280px}.dssm-menu-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:32px;padding:0 10px;border:0.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;line-height:20px;cursor:pointer;user-select:none;width:max-content;min-width:8em;transition:border-color 120ms ease,background 120ms ease}.dssm-menu-select-trigger:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#555)}.dssm-menu-select-trigger.is-open,.dssm-menu-select-trigger:focus-visible{border-color:var(--dsw-alias-brand-primary)!important;outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary))!important;outline-offset:0!important}.dssm-menu-select-trigger:disabled{opacity:.5;cursor:default}.dssm-menu-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.dssm-menu-select-arrow{color:var(--dsw-alias-label-secondary);flex-shrink:0}.dssm-count{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap;flex:none}.dssm-name{overflow-wrap:anywhere;font-size:13px;font-weight:570}.dssm-note{overflow-wrap:anywhere;margin-top:2px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px;line-height:17px}.dssm-enabled{color:var(--dsw-alias-state-success-primary,#51b976);font-size:12px;white-space:nowrap}.dssm-disabled{color:var(--dsw-alias-state-warn-primary,#d49245);font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap}.dssm-trash-count{padding:2px 7px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px}.dssm-warning{border-color:var(--dsw-alias-state-warn-primary,#d49245);color:var(--dsw-alias-state-warn-primary,#d49245)}.dssm-error{border-color:var(--dsw-alias-state-error-primary,#ef7272);color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-detail .dssm-desc{margin:0}.dssm-field{gap:6px}.dssm-label{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-detail-title{font-size:14px;line-height:22px;font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:18px}.dssm-batch-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;margin:12px 0;padding:2px}.dssm-batch-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));cursor:pointer;user-select:none;transition:background 0.15s,border-color 0.15s}.dssm-batch-item:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));border-color:var(--dsw-alias-border-l2,#494949)}.dssm-batch-item.selected{border-color:var(--dsw-alias-brand-primary,#3b82f6);background:var(--dsw-alias-state-business-tertiary)}.dssm-batch-item input[type="checkbox"]{cursor:pointer;margin:0;flex-shrink:0;width:15px;height:15px}.dssm-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dssm-batch-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dssm-batch-name{font-size:13px;font-weight:600;color:var(--dsw-alias-label-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-batch-cat-tag{font-size:10px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap;flex-shrink:0}.dssm-batch-desc{font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-form+.dssm-modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--dsw-alias-border-l2)}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3,#555555);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12))}.dssm-dropzone-title{color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary,#eeeeee);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eeeeee);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:22px}.dssm-detail-section .dssm-note,.dssm-diag{font-size:14px;line-height:22px}.dssm-detail-path{padding:8px 10px;border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);word-break:break-all}.dssm-diag{padding:8px 10px;border-left:2px solid var(--dsw-alias-state-warn-primary,#d49245);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-trash-panel{display:flex;flex-direction:column;gap:10px}.dssm-trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;border:0.5px solid var(--dsw-alias-border-l2,rgba(128,128,128,.2));border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-trash-main{min-width:0;display:flex;flex-direction:column;gap:6px}.dssm-trash-item .dssm-name{font-size:14px;line-height:20px;color:var(--dsw-alias-label-primary,inherit)}.dssm-trash-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:17px;color:var(--dsw-alias-label-tertiary,#909090);overflow-wrap:anywhere}.dssm-trash-source{min-width:0;background:transparent;color:var(--dsw-alias-label-tertiary,#a0a0a0)}.dssm-trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
|
|
34
|
-
@container(max-width:400px){.dssm-source-path{display:none}}@media(max-width:760px){.dssm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.dssm-title-row{flex-wrap:wrap}}@container(max-width:520px){.dssm-trash-item{grid-template-columns:minmax(0,1fr)}.dssm-skill-row{flex-wrap:wrap}.dssm-skill-actions{width:100%;margin-inline-start:0;justify-content:flex-end}.dssm-trash-actions{justify-content:flex-end}.dssm-head{flex-direction:column}.dssm-actions{width:100%;margin-left:0}.dssm-actions button{flex:1}.dssm-summary{grid-template-columns:1fr}}.dssm-row-state{display:flex;align-items:center;justify-content:flex-end;gap:8px}
|
|
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}
|
|
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)}
|
|
37
37
|
.dssm-root-path-actions{display:flex;flex-wrap:wrap;gap:8px}
|
|
@@ -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 fn(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 Ur(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[Ur(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 no=32<<20,nr=32<<20,so=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)>nr});if(c)return{error:{code:"error.upload.tooLarge",params:{limit:nr}}};var p=t.reduce(function(w,S){return w+Number(S.size||0)},0);return p>so?{error:{code:"error.upload.tooLarge",params:{limit:so}}}:{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>nr?{error:{code:"error.upload.tooLarge",params:{limit:nr}}}:{kind:"skill",name:u,files:t,count:1,size:g}:f.endsWith(".zip")?g>no?{error:{code:"error.upload.archiveTooLarge",params:{limit:no}}}:{kind:"zip",name:u,files:t,count:1,size:g}:{error:{code:"select.file.invalid"}}}function gn(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 hn(a){return Promise.all(a.files.map(function(t){return t.arrayBuffer().then(function(d){return{path:ir(t),data:gn(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 bn(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 yn(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 vn(a,t){if(t.key==="Tab"){var d=yn(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 wn(a){return zr(a.on,a.label,a.disabled,a.onClick)}function B(a,t,d="primary",c){return n(Ie.Button,{variant:d==="primary"?"primary":"outline",className:d==="danger"?"dssm-btn-danger":void 0,disabled:c,onClick:t},a)}function We(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 kn(){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,d,c,p){return n(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 sr(a,t,d,c,p){return n(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 n("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()}},n("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var xn="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",Sn="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==",Cn="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==",Nn="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",Rn="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",En="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",Ln="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",Pn="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",Tn="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",In="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",zn="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",Mn="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",Hn="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",Dn="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 Un(a){var t=String(a||"").toLowerCase();return t.includes("dsh")?n("img",{src:xn,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):t.includes("workbuddy")?n("img",{src:Sn,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:Cn,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:Nn}),n("path",{fill:"#ffffff",d:Rn})):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:En})):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:Ln})):t.includes("trae")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#32F08C",d:Pn})):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:Mn}),n("path",{fill:"#FF4D4D",d:Hn}),n("path",{fill:"#FF4D4D",d:Dn})):t.includes("roo")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#eab308",fillRule:"evenodd",d:Tn})):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:In}),n("path",{fill:"#ffffff",d:zn})):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 jn(){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 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)}},[]),n(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?n("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(jt):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 n(On,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 On(a){var t=Co(a&&a.t);function d(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 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,j=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],na=Ye[1],wt=A.useState(aa()),Je=wt[0],kt=wt[1],sa=A.useState([]),ie=sa[0],xt=sa[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],Ua=A.useState(null),ne=Ua[0],Xe=Ua[1],St=A.useState(""),Ct=St[0],da=St[1],ca=A.useState(!1),cr=ca[0],Nt=ca[1],Ft=A.useState(null),ja=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,s,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:s?t(s,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,s){w(!0),Fa(null),ft("idle"),N("detail"),d("/detail",{method:"POST",headers:yt,body:JSON.stringify(s?{root:e.key,name:r.name,workspace:s}:{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(s){Ce(J(t,s))}))}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(s){return s&&s.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(s){var m=s&&Array.isArray(s.added)?s.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(s){ce(J(t,s))}).finally(function(){$e(!1)}))}function Ue(e){if(!g){var r=Ct;Q("/custom-source-remove",{id:e},"customSource.removed").then(function(){return d("/state").then(function(s){u({loading:!1,error:null,data:s});var m=(s&&Array.isArray(s.roots)?s.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(s){Ce(J(t,s))})}}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(){!ne||!Ht(Je,ie,rt)||hn(ne).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=je&&ht.find(function(r){return r.key===je})||ht[0];Re(e)}}var Qt=S==="project"?"project":"user",Z=j[Qt]||{query:"",source:"",status:""},ee=Z.query,Pt=Z.source;function at(e,r){X(function(s){return Object.assign({},s,{[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}),je=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 s=he.current,m=++Me.current,h=function(){return s===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,s=(De.current[e]||0)+1;De.current[e]=s;var m=function(){return r===he.current&&s===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"})),na(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:"",s=r?ie.find(function(m){return m.projectRoot===r&&m.available}):void 0;return s?{id:e.id,workspace:s.registeredPaths[0]||s.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 n("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},Un(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:n("div",{className:"dssm-note"},t("skill.linked"))}function Ga(e){if(!e.fallbackTo)return null;var r=Lt.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:it(t,r)})):null}function hr(e,r,s){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 n("span",{className:"dssm-status "+(s||""),title:O,"aria-label":O,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:x,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:z})))}function Ja(e,r,s){var m=function(E){return s?Object.assign({},E,{workspace:s}):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||[],U=r.categoryId||"";be.forEach(function(E){E.id!==U&&D.push({value:"category:"+E.id,label:t("category.assign",{name:E.name})})}),be.length&&U!==""&&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=[n(Ot,{action:!0,icon:kn(),label:t("btn.more"),disabled:g,options:D,onChange:function(E){if(E==="detail"&&Wa(e,r,s),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:s})),E==="trash"&&N({type:"trash-confirm",root:e.key,name:r.name,workspace:s})}})];K.push(n("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,se=typeof r.customNote=="string"&&r.customNote.trim().length>0,Se=se?r.customNote:r.description||t("note.missing"),Le=e.mutable===!0||!!(e.categories&&e.categories.length),Ro=se?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: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?n("div",{className:"dssm-drag-handle",title:t("category.dragTip")},"\u22EE\u22EE"):null,n("div",{className:"dssm-skill-copy"},n("div",{className:"dssm-name"},Ze),n("div",{className:"dssm-skill-desc"+(se?" dssm-custom-note":""),title:Ro},Se),gr(r),Ga(r)),n("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(!je||e.root.key===je)&&(!Z.status||Ur(e.skill)===Z.status)&&Hr(Object.assign({},e.skill,{rootLabel:it(t,e.root)}),ee)}),zt=bo(Jt);function Xa(e,r,s){var m=r?{root:e.key,workspace:r}:{root:e.key},h=[];return h.push(Ut(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(Ut(t("rootPath.edit"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),function(){Re(e)},!1,g)),yo(e)&&h.push(n(wn,{on:e.enabled,disabled:g,label:t("source.toggle")+" "+s,onClick:function(){Q(e.enabled?"/source-disable":"/source-enable",m)}})),n("span",{className:"dssm-source-actions",onClick:function(y){y.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 br(){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 yr(e,r,s,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,U=function(R){return s?Object.assign({},R,{workspace:s}):R};return n("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",U({root:e.key,name:K.name,category:r.id}),"category.assigned",{name:K.name,category:r.name})}catch{}}},n("div",{className:"dssm-cat-head"},n("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)})}},n("span",{className:"dssm-cat-title"},n(x?br:_a),r.name),n("span",{className:"dssm-count"},t("category.progress",{count:z.length,enabled:D,usable:O.length}))),n("span",{className:"dssm-source-actions",onClick:function(R){R.stopPropagation()}},r.locked?null:Ut(t("category.addSkills"),We("M8 2.5v11M2.5 8h11"),function(){var R={};(e.categories||[]).forEach(function(se){R[se.id]=se.name});var K=h||r.scope||r.skills,Ze=K.filter(function(se){return se.skill.categoryId!==r.id}).map(function(se){return{name:se.skill.name,declaredName:se.skill.declaredName,description:se.skill.description,currentCatName:se.skill.categoryId&&R[se.skill.categoryId]||t("category.uncategorized")}});l({}),q(""),N({type:"category-add",root:e.key,id:r.id,name:r.name,workspace:s,skills:Ze})},!1,g),r.locked?null:Ut(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:s})},!1,g),r.locked?null:Ut(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:s})},!0,g),zr(be,t("category.toggle")+" "+r.name,g||e.enabled===!1||O.length===0,function(){Q(be?"/category-disable":"/category-enable",U({root:e.key,category:r.id}))}))),x?r.skills.length?n("div",{className:"dssm-skill-list"},r.skills.map(function(R){return Ja(e,R.skill,s)})):n("div",{className:"dssm-empty"},t("category.empty")):null)}function vr(e,r,s,m,h){var y=e.categories||[],x=function(R,K){var Ze=e.categoryOrder&&e.categoryOrder[K]||[],se=Object.create(null);return Ze.forEach(function(Se,Le){se[Se]=Le}),R.map(function(Se,Le){return{row:Se,index:Le,rank:se[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?n("div",{className:"dssm-skill-list"},x(r,"").map(function(R){return Ja(e,R.skill,s)})):n("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 U=!!(ee||Z.status);return n("div",null,n("p",{className:"dssm-note dssm-cat-note"},t("category.note")),be.filter(function(R){return!U||R.skills.length}).map(function(R){return yr(e,R,s,m,O)}))}function wr(e,r,s,m){var h=(s||Jt).filter(function(D){return D.root.key===e.key}),y=(s||ot).filter(function(D){return D.root.key===e.key});if(je&&e.key!==je||(ee||Z.status)&&!y.length)return null;var x=JSON.stringify([Qt,m||"",e.key,ee,je,Z.status]),z=P[x]===void 0?r?!0:!!(ee||je||Z.status):P[x],O=r?it(t,Object.assign({},e,{projectName:void 0})):it(t,e);return n("section",{key:(m||"")+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":z,onClick:function(){i(function(D){var be={};return be[x]=!z,Object.assign({},D,be)})}},_r(n,z),n("div",{className:"dssm-source-label"},Ya(e.key),n("span",{className:"dssm-source-title"},O),n("span",{className:"dssm-count"},t(Ta("summary.group",y.length),{count:y.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,O)),z?n("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,s=Sa.map(function(h){return wr(h,r,void 0,r?r+"|":void 0)}).filter(Boolean),m=s.length?s:n("div",{className:"dssm-empty"},ee||Z.status?t("empty.search"):t("empty.source"));return e&&(Y.error?m=n("div",{className:"dssm-feedback dssm-error",role:"alert"},t("workspace.listFailed",{error:Y.error})):Y.loading||H&&(!Tt||Tt.loading)?m=n("div",{className:"dssm-empty"},t("workspace.loading")):H?Tt?.error?m=n("div",{className:"dssm-feedback dssm-error",role:"alert"},t("workspace.loadFailed",{error:Tt.error})):!Jt.length&&!ee&&!Z.status&&(m=n("div",{className:"dssm-empty"},t("workspace.noSkills"))):m=n("div",{className:"dssm-empty"},t(ie.length?"workspace.unavailable":"project.empty"))),n("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+S,className:"dssm-sources"},m)}function xr(){return n("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 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:fo(t,e.deletedAt)})),n("span",{className:"dssm-trash-source"},t("trash.source",{source:ae(e)})))),n("div",{className:"dssm-trash-actions"},Ut(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),Ut(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)))}):n("div",{className:"dssm-empty"},t("trash.empty")))}var $a=pn({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 n("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},n("path",{d:r}))}var Mt=["user","project","repositories","trash"].map(function(e){var r=t("scope."+e),s=e==="trash"?(tt.trash||[]).length:0,m=Sr(e);return{value:e,id:"dssm-tab-"+e,panelId:"dssm-scope-panel",label:s>0?[m,r,n("span",{className:"dssm-trash-count"},s)]:[m,r]}}),xe=n(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: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,zt[e[0]]),t(Ta(e[1],zt[e[0]]),{count:zt[e[0]]}).replace(String(zt[e[0]]),""))})),n("div",{key:"filters",className:"dssm-filters"},S==="project"?null:n("div",{className:"dssm-source-filter"},n(Ot,{value:je,label:t("filter.source"),options:ke,onChange:xa})),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){at("status",e)}})),S==="project"?n("div",{className:"dssm-project-filter"},n(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,n(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"?n("div",{className:"dssm-filter-actions"},sr(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),sr(t("btn.create"),We("M8 2.5v11M2.5 8h11"),mr,g,t("btn.create")+"\u2026"),sr(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"?sr(t("rootPath.manage"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),ka,g,t("rootPath.manage")+"\u2026"):null):null)],ve=[n("style",{key:"css"},mn),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(Ie.Button,{variant:"outline",size:"sm","aria-label":t("link.project"),icon:n(jn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},t("link.project")),n(Ie.Button,{variant:"outline",size:"sm","aria-label":t("link.feedback"),icon:n(sn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},t("link.feedback")))),n("p",{className:"dssm-desc"},t("desc")))),xe].concat(S==="trash"||S==="repositories"?[]:er,[v&&k!=="import"?n("div",{key:"result",className:"dssm-feedback"+(v.warning?" dssm-warning":v.ok?"":" dssm-error")},v.text):null],(tt.warnings||[]).map(function(e,r){return n("div",{key:"warning-"+r,className:"dssm-feedback dssm-warning",role:"alert"},J(t,e))}),[p.error?n("div",{key:"error",className:"dssm-feedback dssm-error"},p.error):null,S==="repositories"?$a.content:p.loading&&!p.data?n("div",{key:"loading",className:"dssm-empty"},t("loading")):S==="trash"?xr():kr()]);if(k==="create"&&ve.push(n(Ke,{key:"create",title:t("create.title"),closeLabel:t("btn.close"),onClose:function(){N(null)}},n("div",{className:"dssm-form"},n(oo,{t,value:Ge,disabled:g,allowAgents:!0,workspaces:ie,userDestinations:rt,onChange:function(e){na(Object.assign({},Ge,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(Pe,{value:qe[e[0]],placeholder:t(e[2]),onChange:function(r){ya(e[0],r.target.value)}}))}),n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("create.body")),n(Pe.TextArea,{rows:8,value:qe.body,placeholder:t("create.body.placeholder"),onChange:function(e){ya("body",e.target.value)}})),n("p",{className:"dssm-help"},t("create.chat.note"))),n("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(n(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)}},n("input",{ref:ha,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(e){va(e.target.files),e.target.value=""}}),n("input",{ref:qt,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(e){va(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"),bn(e.dataTransfer).then(va).catch(function(r){V({ok:!1,text:J(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(),wa(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(),wa(ha)}},t("btn.file.pick")))),ne?n("div",{className:"dssm-file",title:ne.name},n("span",{className:"dssm-file-kind","aria-hidden":"true"},ne.kind==="zip"?"ZIP":ne.kind==="folder"?"DIR":"MD"),n("span",{className:"dssm-file-name"},ne.name),n("span",{className:"dssm-file-meta"},t(Ta("upload.selected",ne.count),{count:ne.count,size:ne.size<1024?ne.size+" B":Math.ceil(ne.size/1024)+" KB"})),n("button",{type:"button",className:"dssm-file-remove","aria-label":t("upload.remove"),onClick:function(){Xe(null)}},"\xD7")):null,n(oo,{t,value:Je,disabled:g,allowAgents:!0,workspaces:ie,userDestinations:rt,onChange:function(e){kt(Object.assign({},Je,e))}}),v?n("div",{className:"dssm-feedback"+(v.warning?" dssm-warning":v.ok?"":" dssm-error"),role:"alert"},v.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"},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||!ne||!Ht(Je,ie,rt))))),k&&typeof k=="object"&&k.type==="root-path"){var Be=k,Fe=Ba;ve.push(n(Ke,{key:"root-path",title:t("rootPath.title",{name:Be.label}),closeLabel:t("btn.close"),onClose:function(){N(null),Ce(null)}},n("div",{className:"dssm-form"},n("p",{className:"dssm-note"},t("rootPath.desc")),ht.length>0?n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("rootPath.source")),n(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(s){return s.key===e});r&&Re(r)}})):null,n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("rootPath.label")),n(Pe,{value:Ct,placeholder:t("rootPath.placeholder"),disabled:g,onChange:function(e){da(e.target.value),Ce(null)}})),n("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(){Ue(Be.root)},"outline",g):null),n("p",{className:"dssm-help"},t("rootPath.defaultHint",{path:Be.defaultPath||Be.path})),ja?n("div",{className:"dssm-feedback dssm-error",role:"alert"},ja):null,n("div",{className:"dssm-custom-sources"},n("div",{className:"dssm-custom-source-head"},n("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)),n("p",{className:"dssm-help"},t("customSource.desc")),ct?n("div",{className:"dssm-form"},n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("customSource.label")),n(Pe,{value:Vt,maxLength:48,placeholder:t("customSource.label.placeholder"),disabled:g||ge,onChange:function(e){ut(e.target.value)}})),n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("customSource.path")),n(Pe,{value:_e,placeholder:t("customSource.path.placeholder"),disabled:g||ge,onChange:function(e){pa(e.target.value),ce(null)}})),n("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?n("div",{className:"dssm-feedback dssm-error",role:"alert"},pt):null,Fe?n("div",{className:"dssm-custom-scan"},n("p",{className:"dssm-help"},t("customSource.scanResult",{count:Fe.candidates.length,path:Fe.root})),Fe.candidates.length?n("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 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")):B(t("customSource.addOne"),function(){Ka([{label:e.label,path:e.path,group:e.group}])},"outline",g||ge))})):null):null)),n("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(n(Ke,{key:"detail",className:"dssm-modal-wide",title:t("detail.title"),closeLabel:t("btn.close"),onClose:function(){ft("idle"),N(null)}},te?n("div",{className:"dssm-detail"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:tr},tr),te.body?n(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?n("p",{className:"dssm-desc dssm-custom-note",title:t("detail.customNote")},te.customNote):null,te.description?n("p",{className:"dssm-desc"+(te.customNote?" dssm-desc-secondary":"")},te.description):null,n("div",{className:"dssm-detail-path"},te.path),te.diagnostics.length?te.diagnostics.map(function(e,r){return n("div",{key:r,className:"dssm-diag"},t(e.code,e.params||{}))}):null,n(Pe.TextArea,{className:"dssm-detail-body",readOnly:!0,value:te.body||"",rows:16})):n("div",{className:"dssm-empty"},t("loading"))))}if(k&&typeof k=="object"&&k.type==="trash-confirm"&&ve.push(n(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:n(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(n(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:n(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",nt=k,bt=fe.trim(),$t=!!bt&&(!_t||bt!==nt.name),Ca=function(){if(!(g||!$t)){var e=_t?Q("/category-rename",{root:nt.root,id:nt.id,name:bt,workspace:nt.workspace},"category.renamed"):Q("/category-create",{root:nt.root,name:bt,workspace:nt.workspace},"category.created",{name:bt});e.then(function(){N(null)}).catch(function(){})}};ve.push(n(Ke,{key:k.type,title:t(_t?"category.rename":"category.create"),closeLabel:t("btn.close"),onClose:function(){N(null)}},n("div",{className:"dssm-form"},n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("category.name")),n(Pe,{value:fe,maxLength:24,"aria-label":t("category.name"),onChange:function(e){Bt(e.target.value)},onPressEnter:Ca})),n("p",{className:"dssm-help"},t("category.note"))),n("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(n(Ke,{key:"category-add",title:t("category.selectSkills",{name:Ee.name}),closeLabel:t("btn.close"),onClose:function(){l({}),q(""),N(null)}},n(Pe,{placeholder:t("search.placeholder"),value:I,allowClear:!0,onChange:function(e){q(e.target.value)}}),n("div",{className:"dssm-batch-list"},ar.length?ar.map(function(e){var r=!!F[e.name];return n("div",{key:e.name,className:"dssm-batch-item"+(r?" selected":""),onClick:function(){var s=Object.assign({},F);r?delete s[e.name]:s[e.name]=!0,l(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"},B(t("btn.cancel"),function(){l({}),q(""),N(null)},"outline"),B(t("category.addSkills")+(Ra?" ("+Ra+")":""),function(){var e=Object.keys(F).filter(function(s){return F[s]&&Na.has(s)});if(!e.length){l({}),q(""),N(null);return}if(!et.current){var r=function(s){return Ee.workspace?Object.assign({},s,{workspace:Ee.workspace}):s};et.current=!0,w(!0),l({}),q(""),N(null),e.reduce(function(s,m){return s.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(s){V({ok:!1,text:J(t,s)})}).finally(function(){et.current=!1,w(!1);var s=Ee.workspace;Promise.all([Ne(!0),s?It(s):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(n(Ke,{key:"skill-note",title:t("note.title"),closeLabel:t("btn.close"),onClose:function(){N(null)}},n("div",{className:"dssm-form"},n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},t("note.label")),n(Pe.TextArea,{value:G,maxLength:500,rows:4,placeholder:t("note.placeholder"),"aria-label":t("note.label"),onChange:function(e){$(e.target.value)}})),n("p",{className:"dssm-help"},t("note.help"))),n("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(n(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:n(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))})),n("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 Bn=["slots","locale"];function Fn(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(jt,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:dn,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(jt)("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(jt)("title")},icon:"skill",locale:jt},lo)}),d=Ir(a,{callApi:za,headers:yt,renderPanel:function(c){return n(lo,Object.assign({t:a.locale.bind(jt)},c))},ns:jt,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=fn;module.exports.visibleSkillRoots=Dr;module.exports.scopeSkillRoots=vo;module.exports.skillStatus=Ur;module.exports.countSkillStatuses=bo;module.exports.currentSessionId=So;module.exports.canToggleSource=yo;module.exports.recoverModalFocus=xo;module.exports.trapModalFocus=vn;module.exports.inspectUploadSelection=wo;module.exports.setupSidebarEntry=Ir;module.exports.apply=Fn;module.exports.inject=Bn;
|
|
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;
|
|
61
61
|
return module.exports;
|
|
62
62
|
} });
|