@michengai/dsh-skills-manager 1.2.32 → 1.2.34
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 +21 -0
- package/CHANGELOG.zh-CN.md +21 -0
- package/README.en.md +2 -2
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/lib/client.js +7 -7
- package/lib/repositories.js +30 -16
- package/lib/repository-git.js +122 -2
- 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 Fo=Object.create;var Xr=Object.defineProperty;var Vo=Object.getOwnPropertyDescriptor;var Wo=Object.getOwnPropertyNames;var Ko=Object.getPrototypeOf,qo=Object.prototype.hasOwnProperty;var Qo=(t,e,i,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let u of Wo(e))!qo.call(t,u)&&u!==i&&Xr(t,u,{get:()=>e[u],enumerable:!(l=Vo(e,u))||l.enumerable});return t};var ia=(t,e,i)=>(i=t!=null?Fo(Ko(t)):{},Qo(e||!t||!t.__esModule?Xr(i,"default",{value:t,enumerable:!0}):i,t));var Ba=ia(require("react"),1);var Dr={zh:{"repo.catalog.unknownLocation":"\u4F4D\u7F6E\u672A\u77E5","repo.catalog.reassociate":"\u9009\u62E9\u4F4D\u7F6E\u5E76\u91CD\u5173\u8054\u5B89\u88C5","repo.catalog.unknownHint":"\u6709\u65E7\u76EE\u5F55\u5B89\u88C5\u8BB0\u5F55\u4F4D\u7F6E\u672A\u77E5\uFF1B\u627E\u5230\u5BF9\u5E94\u6280\u80FD\u540E\u53EF\u9009\u62E9\u4F4D\u7F6E\u91CD\u5173\u8054\u5B89\u88C5\u3002","repo.catalog.loadMore":"\u518D\u52A0\u8F7D 10 \u6761","repo.catalog.installRefreshWarning":"\u6280\u80FD\u5DF2\u5B89\u88C5\u5E76\u542F\u7528\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u91CD\u65B0\u6253\u5F00\u53D1\u73B0\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5B89\u88C5\u3002","repo.catalog.uninstallRefreshWarning":"\u6280\u80FD\u5DF2\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u5237\u65B0\u6280\u80FD\u5217\u8868\u6216\u91CD\u65B0\u6253\u5F00\u8BBE\u7F6E\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5378\u8F7D\u3002","repo.installElsewhere":"\u5B89\u88C5\u5230\u5176\u4ED6\u4F4D\u7F6E","repo.destinationUnavailable":"\u539F\u9879\u76EE\u672A\u767B\u8BB0\u6216\u76EE\u5F55\u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u7BA1\u7406\u6B64\u526F\u672C\u3002\u8BF7\u5728\u4FA7\u680F\u91CD\u65B0\u767B\u8BB0\u539F\u9879\u76EE\u540E\u5237\u65B0\u3002","repo.scope.user":"\u5168\u5C40","repo.scope.project":"\u9879\u76EE","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026","repo.refreshed":"\u5237\u65B0\u4E0E\u66F4\u65B0\u68C0\u67E5\u5B8C\u6210","repo.partialRefreshFailed":"\u90E8\u5206\u4ED3\u5E93\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF08{names}\uFF09\uFF0C\u5176\u4F59\u5DF2\u5B8C\u6210","repo.detailLoading":"\u6B63\u5728\u8BFB\u53D6\u6280\u80FD\u8BF4\u660E\u2026","repo.local":"\u672C\u673A","repo.source":"\u5B89\u88C5\u6765\u6E90","repo.update":"\u53EF\u66F4\u65B0","repo.review":"\u67E5\u770B\u66F4\u65B0","repo.rollback":"\u6062\u590D\u4E0A\u4E00\u7248","repo.confirmUpdate":"\u5907\u4EFD\u5E76\u66F4\u65B0","repo.confirmRollback":"\u5907\u4EFD\u5E76\u6062\u590D","repo.overwrite":"\u5907\u4EFD\u672C\u5730\u4FEE\u6539\u5E76\u66FF\u6362","repo.modified":"\u68C0\u6D4B\u5230\u672C\u5730\u4FEE\u6539\u3002\u66FF\u6362\u4F1A\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u539F\u6587\u4EF6\u5C06\u5B8C\u6574\u5907\u4EFD\uFF0C\u53EF\u6062\u590D\u3002","repo.noChanges":"\u6587\u4EF6\u5185\u5BB9\u6CA1\u6709\u53D8\u5316\u3002","repo.added":"\u65B0\u589E","repo.removed":"\u5220\u9664","repo.modifiedFile":"\u4FEE\u6539","repo.updating":"\u66F4\u65B0\u4E2D\u2026","repo.updateProgress":"\u6B63\u5728\u6821\u9A8C\u3001\u5907\u4EFD\u5E76\u66FF\u6362\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.updateSuccess":"\u66F4\u65B0\u5B8C\u6210\uFF0C\u5DF2\u4FDD\u7559\u4E0A\u4E00\u7248\u5907\u4EFD\u3002","repo.rollbackSuccess":"\u5DF2\u6062\u590D\u4E0A\u4E00\u7248\u3002","repo.manageUpdate":"\u7BA1\u7406\u66F4\u65B0","error.repo.modified":"\u5B58\u5728\u672C\u5730\u4FEE\u6539\uFF0C\u8BF7\u9884\u89C8\u5E76\u786E\u8BA4\u5907\u4EFD\u540E\u66FF\u6362\u3002","scope.repositories":"\u53D1\u73B0\u6280\u80FD","repo.add":"\u6DFB\u52A0\u4ED3\u5E93","repo.manage":"\u7BA1\u7406\u4ED3\u5E93","repo.refresh":"\u5237\u65B0\u5E76\u68C0\u67E5\u66F4\u65B0","repo.save":"\u6DFB\u52A0\u5E76\u626B\u63CF","repo.subsource.github":"Git \u4ED3\u5E93","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"\u70ED\u95E8\u4E0B\u8F7D Top 100","repo.catalog.states":"\u5168\u90E8\u72B6\u6001","repo.catalog.uninstalled":"\u672A\u5B89\u88C5","repo.catalog.searchClawhub":"\u641C\u7D22 ClawHub \u6280\u80FD","repo.catalog.searchLoading":"\u6B63\u5728\u641C\u7D22 ClawHub\u2026","repo.catalog.searchEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 ClawHub \u6280\u80FD\u3002","repo.catalog.searchError":"ClawHub \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.catalog.searchSkillsh":"\u641C\u7D22 skills.sh \u6280\u80FD","repo.catalog.skillshLoading":"\u6B63\u5728\u641C\u7D22 skills.sh\u2026","repo.catalog.skillshEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 skills.sh \u6280\u80FD\u3002","repo.catalog.skillshError":"skills.sh \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.sort.installs":"\u5B89\u88C5\u91CF\u4ECE\u9AD8\u5230\u4F4E","repo.sort.name":"\u540D\u79F0 A-Z","repo.subsource.catalogNote":"ClawHub \u4E0B\u8F7D\u91CF\u699C \xB7 \u6700\u591A 100 \u6761\uFF0C\u4EC5\u5BF9\u5F53\u524D\u663E\u793A\u6761\u76EE\u6392\u5E8F","repo.catalog.empty":"ClawHub \u5F53\u524D\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","repo.catalog.loading":"\u6B63\u5728\u52A0\u8F7D ClawHub \u699C\u5355\u2026","repo.catalog.loadError":"ClawHub \u699C\u5355\u52A0\u8F7D\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","repo.catalog.retry":"\u91CD\u8BD5","repo.catalog.loadingMore":"\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u2026","repo.catalog.downloads":"\u4E0B\u8F7D","repo.catalog.installs":"\u5B89\u88C5","repo.catalog.stars":"\u661F\u6807","repo.hint":"\u4ECE\u5DF2\u8BA2\u9605\u7684 Git \u4ED3\u5E93\u6216\u7B2C\u4E09\u65B9\u76EE\u5F55\u53D1\u73B0\u6280\u80FD\uFF0C\u5B89\u88C5\u5230\u7528\u6237\u76EE\u5F55\u7684 DSH skills \u6216 Shared Agent\uFF0C\u6216\u5DF2\u767B\u8BB0\u9879\u76EE\u7684 .dsh/skills\u3002","repo.footer":"\u5237\u65B0\u4F1A\u68C0\u67E5\u4ED3\u5E93\u4E0E\u6280\u80FD\u66F4\u65B0\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u66FF\u6362\u672C\u5730\u6587\u4EF6\u3002\u5386\u53F2\u5907\u4EFD\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\uFF0C\u5360\u7528\u7A7A\u95F4\u4F1A\u968F\u66F4\u65B0\u589E\u52A0\u3002","repo.search":"\u641C\u7D22\u4ED3\u5E93\u6280\u80FD","repo.all":"\u5168\u90E8\u4ED3\u5E93","repo.states":"\u5168\u90E8\u72B6\u6001","repo.available":"\u53EF\u5B89\u88C5","repo.installed":"\u5DF2\u5B89\u88C5","repo.conflict":"\u540C\u540D\u51B2\u7A81","repo.invalid":"\u683C\u5F0F\u65E0\u6548","repo.install":"\u5B89\u88C5","repo.detail":"\u8BE6\u60C5","repo.installing":"\u5B89\u88C5\u4E2D\u2026","repo.installProgress":"\u6B63\u5728\u8BFB\u53D6\u5E76\u6821\u9A8C\u6280\u80FD\u6587\u4EF6\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.installSuccess":"\u5B89\u88C5\u6210\u529F\u5E76\u5DF2\u542F\u7528\uFF0C\u53EF\u5728\u5BF9\u8BDD\u4E2D\u7528\u659C\u6760\u8C03\u7528\u3002","repo.installDestination":"\u5B89\u88C5\u4F4D\u7F6E","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"\u4EC5\u4F9B DSH \u4F7F\u7528\uFF0C\u8DEF\u5F84\u4EE5\u5F53\u524D DSH_HOME \u4E3A\u51C6\u3002","repo.rootExternalHint":"\u4F7F\u7528\u8BE5\u76EE\u5F55\u7684\u5176\u4ED6 Agent \u4E5F\u80FD\u8BFB\u53D6\u6B64\u6280\u80FD\u3002","repo.installLocationsHint":"\u7528\u6237\u76EE\u5F55\u53EF\u9009 DSH skills \u6216 Shared Agent\uFF1B\u5DF2\u767B\u8BB0\u9879\u76EE\u4EC5\u5199\u5165 .dsh/skills\u3002\u9009\u62E9\u5668\u663E\u793A\u5B9E\u9645\u8DEF\u5F84\u3002\u7F3A\u5C11\u7684\u76EE\u5F55\u4F1A\u5728\u786E\u8BA4\u5B89\u88C5\u540E\u521B\u5EFA\u3002\u4E0D\u5B89\u5168\u7684\u8DEF\u5F84\u4E0D\u53EF\u9009\u3002","repo.uninstall":"\u5378\u8F7D","repo.confirmUninstall":"\u79FB\u81F3\u56DE\u6536\u7AD9","repo.uninstallHint":"\u4EC5\u5C06\u6B64\u4ED3\u5E93\u5DF2\u8DDF\u8E2A\u7684\u5B89\u88C5\u526F\u672C\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u5305\u62EC\u672C\u5730\u4FEE\u6539\u3002\u4E4B\u540E\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.uninstallExternalWarning":"\u5378\u8F7D\u8BE5\u6280\u80FD\u4E5F\u4F1A\u5F71\u54CD\u4F7F\u7528\u6240\u9009\u76EE\u5F55\u7684\u5176\u4ED6 Agent\u3002","repo.uninstalling":"\u5378\u8F7D\u4E2D\u2026","repo.uninstallProgress":"\u6B63\u5728\u5C06\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.uninstallSuccess":"\u6280\u80FD\u5DF2\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u4ED3\u5E93\uFF0C\u6DFB\u52A0\u4E00\u4E2A Git \u4ED3\u5E93\u5F00\u59CB\u3002","repo.noSkills":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002\u53EF\u5237\u65B0\u4ED3\u5E93\u6216\u8C03\u6574\u7B5B\u9009\u3002","repo.url":"\u4ED3\u5E93\u5730\u5740","repo.urlPlaceholder":"owner/repo \u6216\u5B8C\u6574 Git \u5730\u5740","repo.ref":"\u5206\u652F\u6216\u6807\u7B7E\uFF08\u53EF\u9009\uFF09","repo.directory":"\u6280\u80FD\u5B50\u76EE\u5F55\uFF08\u53EF\u9009\uFF09","repo.defaultBranch":"\u7559\u7A7A\u4F7F\u7528\u9ED8\u8BA4\u5206\u652F","repo.defaultBranchLabel":"\u9ED8\u8BA4\u5206\u652F","repo.directoryHint":"\u4F8B\u5982 skills\uFF0C\u7559\u7A7A\u626B\u63CF\u6574\u4E2A\u4ED3\u5E93","repo.remove":"\u79FB\u9664\u4ED3\u5E93","repo.removeHint":"\u4EC5\u79FB\u9664\u4ED3\u5E93\u8BA2\u9605\uFF0C\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u4F1A\u4FDD\u7559\u3002","repo.removeConfirm":"\u786E\u8BA4\u79FB\u9664","repo.cancel":"\u53D6\u6D88","repo.close":"\u5173\u95ED","repo.loading":"\u5904\u7406\u4E2D\u2026","repo.success":"\u64CD\u4F5C\u5B8C\u6210","repo.installHint":"\u6280\u80FD\u53EF\u80FD\u5305\u542B\u811A\u672C\uFF0C\u8BF7\u5148\u67E5\u770B\u8BF4\u660E\u5E76\u786E\u8BA4\u4FE1\u4EFB\u6765\u6E90\u3002\u5B89\u88C5\u4F1A\u4FDD\u7559\u8D44\u6E90\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u6267\u884C\u811A\u672C\u3002","repo.commit":"\u626B\u63CF\u7248\u672C","repo.notScanned":"\u5C1A\u672A\u626B\u63CF","repo.updated":"\u4E0A\u6B21\u5237\u65B0","repo.copyBody":"\u590D\u5236\u6B63\u6587","repo.copied":"\u5DF2\u590D\u5236","repo.copyFailed":"\u590D\u5236\u5931\u8D25","error.repo.tooLarge":"\u4ED3\u5E93\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u3002","error.repo.transientTooLarge":"\u4ED3\u5E93\u4E34\u65F6\u4E0B\u8F7D\u4F53\u79EF\u8FC7\u5927\uFF08\u5305\u542B Git \u5386\u53F2\u5BF9\u8C61\uFF09\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\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."}},Zo=`
|
|
4
|
+
"use strict";var Fo=Object.create;var Xr=Object.defineProperty;var Vo=Object.getOwnPropertyDescriptor;var Wo=Object.getOwnPropertyNames;var Ko=Object.getPrototypeOf,qo=Object.prototype.hasOwnProperty;var Qo=(t,e,i,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of Wo(e))!qo.call(t,p)&&p!==i&&Xr(t,p,{get:()=>e[p],enumerable:!(l=Vo(e,p))||l.enumerable});return t};var na=(t,e,i)=>(i=t!=null?Fo(Ko(t)):{},Qo(e||!t||!t.__esModule?Xr(i,"default",{value:t,enumerable:!0}):i,t));var Fa=na(require("react"),1);var Dr={zh:{"repo.catalog.unknownLocation":"\u4F4D\u7F6E\u672A\u77E5","repo.catalog.reassociate":"\u9009\u62E9\u4F4D\u7F6E\u5E76\u91CD\u5173\u8054\u5B89\u88C5","repo.catalog.unknownHint":"\u6709\u65E7\u76EE\u5F55\u5B89\u88C5\u8BB0\u5F55\u4F4D\u7F6E\u672A\u77E5\uFF1B\u627E\u5230\u5BF9\u5E94\u6280\u80FD\u540E\u53EF\u9009\u62E9\u4F4D\u7F6E\u91CD\u5173\u8054\u5B89\u88C5\u3002","repo.catalog.loadMore":"\u518D\u52A0\u8F7D 10 \u6761","repo.catalog.installRefreshWarning":"\u6280\u80FD\u5DF2\u5B89\u88C5\u5E76\u542F\u7528\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u91CD\u65B0\u6253\u5F00\u53D1\u73B0\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5B89\u88C5\u3002","repo.catalog.uninstallRefreshWarning":"\u6280\u80FD\u5DF2\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u5237\u65B0\u6280\u80FD\u5217\u8868\u6216\u91CD\u65B0\u6253\u5F00\u8BBE\u7F6E\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5378\u8F7D\u3002","repo.installElsewhere":"\u5B89\u88C5\u5230\u5176\u4ED6\u4F4D\u7F6E","repo.destinationUnavailable":"\u539F\u9879\u76EE\u672A\u767B\u8BB0\u6216\u76EE\u5F55\u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u7BA1\u7406\u6B64\u526F\u672C\u3002\u8BF7\u5728\u4FA7\u680F\u91CD\u65B0\u767B\u8BB0\u539F\u9879\u76EE\u540E\u5237\u65B0\u3002","repo.scope.user":"\u5168\u5C40","repo.scope.project":"\u9879\u76EE","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026","repo.refreshed":"\u5237\u65B0\u4E0E\u66F4\u65B0\u68C0\u67E5\u5B8C\u6210","repo.partialRefreshFailed":"\u90E8\u5206\u4ED3\u5E93\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF08{names}\uFF09\uFF0C\u5176\u4F59\u5DF2\u5B8C\u6210","repo.detailLoading":"\u6B63\u5728\u8BFB\u53D6\u6280\u80FD\u8BF4\u660E\u2026","repo.local":"\u672C\u673A","repo.source":"\u5B89\u88C5\u6765\u6E90","repo.update":"\u53EF\u66F4\u65B0","repo.review":"\u67E5\u770B\u66F4\u65B0","repo.rollback":"\u6062\u590D\u4E0A\u4E00\u7248","repo.confirmUpdate":"\u5907\u4EFD\u5E76\u66F4\u65B0","repo.confirmRollback":"\u5907\u4EFD\u5E76\u6062\u590D","repo.overwrite":"\u5907\u4EFD\u672C\u5730\u4FEE\u6539\u5E76\u66FF\u6362","repo.modified":"\u68C0\u6D4B\u5230\u672C\u5730\u4FEE\u6539\u3002\u66FF\u6362\u4F1A\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u539F\u6587\u4EF6\u5C06\u5B8C\u6574\u5907\u4EFD\uFF0C\u53EF\u6062\u590D\u3002","repo.noChanges":"\u6587\u4EF6\u5185\u5BB9\u6CA1\u6709\u53D8\u5316\u3002","repo.added":"\u65B0\u589E","repo.removed":"\u5220\u9664","repo.modifiedFile":"\u4FEE\u6539","repo.updating":"\u66F4\u65B0\u4E2D\u2026","repo.updateProgress":"\u6B63\u5728\u6821\u9A8C\u3001\u5907\u4EFD\u5E76\u66FF\u6362\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.updateSuccess":"\u66F4\u65B0\u5B8C\u6210\uFF0C\u5DF2\u4FDD\u7559\u4E0A\u4E00\u7248\u5907\u4EFD\u3002","repo.rollbackSuccess":"\u5DF2\u6062\u590D\u4E0A\u4E00\u7248\u3002","repo.manageUpdate":"\u7BA1\u7406\u66F4\u65B0","error.repo.modified":"\u5B58\u5728\u672C\u5730\u4FEE\u6539\uFF0C\u8BF7\u9884\u89C8\u5E76\u786E\u8BA4\u5907\u4EFD\u540E\u66FF\u6362\u3002","scope.repositories":"\u53D1\u73B0\u6280\u80FD","repo.add":"\u6DFB\u52A0\u4ED3\u5E93","repo.manage":"\u7BA1\u7406\u4ED3\u5E93","repo.refresh":"\u5237\u65B0\u5E76\u68C0\u67E5\u66F4\u65B0","repo.save":"\u6DFB\u52A0\u5E76\u626B\u63CF","repo.subsource.github":"Git \u4ED3\u5E93","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"\u70ED\u95E8\u4E0B\u8F7D Top 100","repo.catalog.states":"\u5168\u90E8\u72B6\u6001","repo.catalog.uninstalled":"\u672A\u5B89\u88C5","repo.catalog.searchClawhub":"\u641C\u7D22 ClawHub \u6280\u80FD","repo.catalog.searchLoading":"\u6B63\u5728\u641C\u7D22 ClawHub\u2026","repo.catalog.searchEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 ClawHub \u6280\u80FD\u3002","repo.catalog.searchError":"ClawHub \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.catalog.searchSkillsh":"\u641C\u7D22 skills.sh \u6280\u80FD","repo.catalog.skillshLoading":"\u6B63\u5728\u641C\u7D22 skills.sh\u2026","repo.catalog.skillshEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 skills.sh \u6280\u80FD\u3002","repo.catalog.skillshError":"skills.sh \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.sort.installs":"\u5B89\u88C5\u91CF\u4ECE\u9AD8\u5230\u4F4E","repo.sort.name":"\u540D\u79F0 A-Z","repo.subsource.catalogNote":"ClawHub \u4E0B\u8F7D\u91CF\u699C \xB7 \u6700\u591A 100 \u6761\uFF0C\u4EC5\u5BF9\u5F53\u524D\u663E\u793A\u6761\u76EE\u6392\u5E8F","repo.catalog.empty":"ClawHub \u5F53\u524D\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","repo.catalog.loading":"\u6B63\u5728\u52A0\u8F7D ClawHub \u699C\u5355\u2026","repo.catalog.loadError":"ClawHub \u699C\u5355\u52A0\u8F7D\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","repo.catalog.retry":"\u91CD\u8BD5","repo.catalog.loadingMore":"\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u2026","repo.catalog.downloads":"\u4E0B\u8F7D","repo.catalog.installs":"\u5B89\u88C5","repo.catalog.stars":"\u661F\u6807","repo.hint":"\u4ECE\u5DF2\u8BA2\u9605\u7684 Git \u4ED3\u5E93\u6216\u7B2C\u4E09\u65B9\u76EE\u5F55\u53D1\u73B0\u6280\u80FD\uFF0C\u5B89\u88C5\u5230\u7528\u6237\u76EE\u5F55\u7684 DSH skills \u6216 Shared Agent\uFF0C\u6216\u5DF2\u767B\u8BB0\u9879\u76EE\u7684 .dsh/skills\u3002","repo.footer":"\u5237\u65B0\u4F1A\u68C0\u67E5\u4ED3\u5E93\u4E0E\u6280\u80FD\u66F4\u65B0\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u66FF\u6362\u672C\u5730\u6587\u4EF6\u3002\u5386\u53F2\u5907\u4EFD\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\uFF0C\u5360\u7528\u7A7A\u95F4\u4F1A\u968F\u66F4\u65B0\u589E\u52A0\u3002","repo.search":"\u641C\u7D22\u4ED3\u5E93\u6280\u80FD","repo.all":"\u5168\u90E8\u4ED3\u5E93","repo.states":"\u5168\u90E8\u72B6\u6001","repo.available":"\u53EF\u5B89\u88C5","repo.installed":"\u5DF2\u5B89\u88C5","repo.conflict":"\u540C\u540D\u51B2\u7A81","repo.invalid":"\u683C\u5F0F\u65E0\u6548","repo.install":"\u5B89\u88C5","repo.detail":"\u8BE6\u60C5","repo.installing":"\u5B89\u88C5\u4E2D\u2026","repo.installProgress":"\u6B63\u5728\u8BFB\u53D6\u5E76\u6821\u9A8C\u6280\u80FD\u6587\u4EF6\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.installSuccess":"\u5B89\u88C5\u6210\u529F\u5E76\u5DF2\u542F\u7528\uFF0C\u53EF\u5728\u5BF9\u8BDD\u4E2D\u7528\u659C\u6760\u8C03\u7528\u3002","repo.installDestination":"\u5B89\u88C5\u4F4D\u7F6E","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"\u4EC5\u4F9B DSH \u4F7F\u7528\uFF0C\u8DEF\u5F84\u4EE5\u5F53\u524D DSH_HOME \u4E3A\u51C6\u3002","repo.rootExternalHint":"\u4F7F\u7528\u8BE5\u76EE\u5F55\u7684\u5176\u4ED6 Agent \u4E5F\u80FD\u8BFB\u53D6\u6B64\u6280\u80FD\u3002","repo.installLocationsHint":"\u7528\u6237\u76EE\u5F55\u53EF\u9009 DSH skills \u6216 Shared Agent\uFF1B\u5DF2\u767B\u8BB0\u9879\u76EE\u4EC5\u5199\u5165 .dsh/skills\u3002\u9009\u62E9\u5668\u663E\u793A\u5B9E\u9645\u8DEF\u5F84\u3002\u7F3A\u5C11\u7684\u76EE\u5F55\u4F1A\u5728\u786E\u8BA4\u5B89\u88C5\u540E\u521B\u5EFA\u3002\u4E0D\u5B89\u5168\u7684\u8DEF\u5F84\u4E0D\u53EF\u9009\u3002","repo.uninstall":"\u5378\u8F7D","repo.confirmUninstall":"\u79FB\u81F3\u56DE\u6536\u7AD9","repo.uninstallHint":"\u4EC5\u5C06\u6B64\u4ED3\u5E93\u5DF2\u8DDF\u8E2A\u7684\u5B89\u88C5\u526F\u672C\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u5305\u62EC\u672C\u5730\u4FEE\u6539\u3002\u4E4B\u540E\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.uninstallExternalWarning":"\u5378\u8F7D\u8BE5\u6280\u80FD\u4E5F\u4F1A\u5F71\u54CD\u4F7F\u7528\u6240\u9009\u76EE\u5F55\u7684\u5176\u4ED6 Agent\u3002","repo.uninstalling":"\u5378\u8F7D\u4E2D\u2026","repo.uninstallProgress":"\u6B63\u5728\u5C06\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.uninstallSuccess":"\u6280\u80FD\u5DF2\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u4ED3\u5E93\uFF0C\u6DFB\u52A0\u4E00\u4E2A Git \u4ED3\u5E93\u5F00\u59CB\u3002","repo.noSkills":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002\u53EF\u5237\u65B0\u4ED3\u5E93\u6216\u8C03\u6574\u7B5B\u9009\u3002","repo.url":"\u4ED3\u5E93\u5730\u5740","repo.urlPlaceholder":"owner/repo \u6216\u5B8C\u6574 Git \u5730\u5740","repo.ref":"\u5206\u652F\u6216\u6807\u7B7E\uFF08\u53EF\u9009\uFF09","repo.directory":"\u6280\u80FD\u5B50\u76EE\u5F55\uFF08\u53EF\u9009\uFF09","repo.defaultBranch":"\u7559\u7A7A\u4F7F\u7528\u9ED8\u8BA4\u5206\u652F","repo.defaultBranchLabel":"\u9ED8\u8BA4\u5206\u652F","repo.directoryHint":"\u4F8B\u5982 skills\uFF0C\u7559\u7A7A\u626B\u63CF\u6574\u4E2A\u4ED3\u5E93","repo.remove":"\u79FB\u9664\u4ED3\u5E93","repo.removeHint":"\u4EC5\u79FB\u9664\u4ED3\u5E93\u8BA2\u9605\uFF0C\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u4F1A\u4FDD\u7559\u3002","repo.removeConfirm":"\u786E\u8BA4\u79FB\u9664","repo.cancel":"\u53D6\u6D88","repo.close":"\u5173\u95ED","repo.loading":"\u5904\u7406\u4E2D\u2026","repo.success":"\u64CD\u4F5C\u5B8C\u6210","repo.installHint":"\u6280\u80FD\u53EF\u80FD\u5305\u542B\u811A\u672C\uFF0C\u8BF7\u5148\u67E5\u770B\u8BF4\u660E\u5E76\u786E\u8BA4\u4FE1\u4EFB\u6765\u6E90\u3002\u5B89\u88C5\u4F1A\u4FDD\u7559\u8D44\u6E90\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u6267\u884C\u811A\u672C\u3002","repo.commit":"\u626B\u63CF\u7248\u672C","repo.notScanned":"\u5C1A\u672A\u626B\u63CF","repo.updated":"\u4E0A\u6B21\u5237\u65B0","repo.copyBody":"\u590D\u5236\u6B63\u6587","repo.copied":"\u5DF2\u590D\u5236","repo.copyFailed":"\u590D\u5236\u5931\u8D25","error.repo.tooLarge":"\u4ED3\u5E93\u8D85\u8FC7\u5927\u5C0F\u9650\u5236\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\u3002","error.repo.transientTooLarge":"\u4ED3\u5E93\u4E34\u65F6\u4E0B\u8F7D\u4F53\u79EF\u8FC7\u5927\uFF08\u5305\u542B Git \u5386\u53F2\u5BF9\u8C61\uFF09\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\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."}},Zo=`
|
|
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 _r({react:t,Modal:e,Input:i,Button:l,SourceSelect:u,destination:f,api:h,headers:b,translateError:v,getLocale:N,IconLoading:S,IconRefresh:z}){let s=t.createElement,A=S||function(q){let m=q?.size||14;return s("svg",{width:m,height:m,viewBox:"0 0 16 16",fill:"none",className:q?.className,"aria-hidden":"true",strokeWidth:1.3},s("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"}))},J=z||function(q){let m=q?.size||14;return s("svg",{width:m,height:m,viewBox:"0 0 16 16",fill:"none",className:q?.className,"aria-hidden":"true",strokeWidth:1.3},s("path",{d:"M14.5001 8C14.5 9.28552 14.1188 10.5422 13.4045 11.611C12.6903 12.6799 11.6752 13.5129 10.4875 14.0049C9.29982 14.4968 7.99295 14.6255 6.73212 14.3747C5.4713 14.124 4.31314 13.505 3.4041 12.596C2.49514 11.687 1.87614 10.5288 1.62537 9.26798C1.37459 8.00716 1.50331 6.70028 1.99525 5.51261C2.48719 4.32494 3.32025 3.30981 4.3891 2.59557C5.45795 1.88134 6.71458 1.50008 8.0001 1.5C9.9001 1.5 11.7001 2.3 13.0001 3.6L14.5001 5.1",stroke:"currentColor"}),s("path",{d:"M14.4999 1.5V5.1H10.8999",stroke:"currentColor"}))};function ue(pe){return s("svg",{className:"dssm-fold-chevron"+(pe?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},s("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}let k=l,{DestinationPicker:T,defaultDestination:be,destinationPayload:K,destinationReady:Y}=f;return function({active:q,t:m,onInstalled:X}){let[R,L]=t.useState([]),[ae,le]=t.useState([]),[Q,da]=t.useState(!1),[Ce,Gt]=t.useState(null),[At,ne]=t.useState(null),[ce,rt]=t.useState(null),[ot,ua]=t.useState(""),[Pt,nt]=t.useState(""),[It,pa]=t.useState(""),[ye,Tt]=t.useState({}),[y,G]=t.useState(null),[ve,ht]=t.useState(be()),[Ke,Ka]=t.useState([]),[ee,ma]=t.useState("github"),[we,fa]=t.useState(""),[bt,qa]=t.useState(""),[ge,st]=t.useState(""),[zt,Mt]=t.useState([]),[ga,ha]=t.useState([]),[kr,Ht]=t.useState([]),[Jt,Qa]=t.useState([]),[He,Za]=t.useState([]),[yt,qe]=t.useState("idle");function ba(r){if(typeof navigator>"u"||!navigator.clipboard){qe("failed");return}navigator.clipboard.writeText(r).then(()=>{qe("copied"),setTimeout(()=>qe("idle"),1500)}).catch(()=>qe("failed"))}let[it,ya]=t.useState(!0),[jt,Xt]=t.useState(!1),[vt,va]=t.useState(!1),[Ya,_e]=t.useState([]),[wa,Ne]=t.useState(!1),[lt,_t]=t.useState(!1),wt=t.useRef(0),ke=t.useRef(null),kt=t.useRef(null),[Dt,Ga]=t.useState(""),[$t,Ja]=t.useState(""),[xt,ka]=t.useState([]),[ct,xe]=t.useState(!1),[xa,ea]=t.useState(!1),Ae=t.useRef(0),Qe=t.useRef(null),Re=t.useRef(null),je=t.useRef({cursor:null,count:0,hasMore:!0}),$=t.useRef(null),Xa=t.useRef(null),[De,Sa]=t.useState({url:"",ref:"",subdirectory:""}),Ue=t.useRef(!1),W=t.useRef(!0);t.useEffect(()=>(W.current=!0,()=>{W.current=!1}),[]);async function St(){let r=await h("/repositories");if(W.current){let c=(r.installRoots||[]).filter(d=>d.key==="dsh"||d.key==="agents");L(r.repositories||[]),le(c),ha(r.catalogInstalls||[]),Ht(r.catalogCopies||[]),Qa(r.catalogUnknownIds||[]),Za(r.catalogWarnings||[]),ve.scope==="user"&&!c.some(d=>d.key===ve.location&&d.available)&&ht({...ve,location:c.find(d=>d.available)?.key||"dsh"}),h("/workspaces").then(d=>{W.current&&Ka(d.items||[])}).catch(()=>{})}}function xr(r){if(r.key==="dsh"||r.key==="agents")return m(r.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let c="root."+(r.localeKey||r.key),d=m(c);return d===c?r.label:d}function _a(r){let c=ae.find(d=>d.key===r);return c?xr(c):m("root."+r)}function Ze(r){if(r.installedWorkspace){let c=p=>{let w=p.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(w)?w.toLowerCase():w},d=Ke.find(p=>p.projectRoot&&c(p.projectRoot)===c(r.installedWorkspace));return d?.available&&d.registeredPaths[0]?{workspace:d.registeredPaths[0]}:null}return r.installedRoot==="dsh"||r.installedRoot==="agents"?{root:r.installedRoot}:null}function Ca(r){return r.installedWorkspace||r.installedRoot?Ut(r):""}function $a(r){let c=r.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(c)?c.toLowerCase():c}function Na(r){let c=Ke.find(w=>w.projectRoot&&$a(w.projectRoot)===$a(r));if(c?.name)return c.name;let d=r.replace(/[\\/]+$/,""),p=Math.max(d.lastIndexOf("/"),d.lastIndexOf("\\"));return p>=0?d.slice(p+1):d}function Ra(r){let c=!!r.installedWorkspace,d=c?"dsh":r.installedRoot,p=m(d==="agents"?"repo.source.agents":"repo.source.dsh"),w=m(c?"repo.scope.project":"repo.scope.user"),I=c?r.installedWorkspace||"":ae.find(P=>P.key===d)?.path||"";return{lead:c?[w,Na(r.installedWorkspace||""),p].filter(Boolean).join(" \xB7 "):[w,p].filter(Boolean).join(" \xB7 "),path:I}}function Ut(r){let c=Ra(r);return c.path?c.lead+" "+c.path:c.lead}function dt(r){let c=Ra(r);return s("div",{className:"dssm-repo-metadata",title:Ut(r)},s("span",{className:"dssm-location-lead"},c.lead),c.path?s("span",{className:"dssm-location-path",title:c.path},c.path):null)}function Ot(r){return r.slice().sort((c,d)=>+!!c.installedWorkspace-+!!d.installedWorkspace)}function Ct(r){return Ot((r.installations??(r.installedRoot?[r]:[])).filter(c=>c.tracked===!0))}function La(r){let c=r,d=v(m,r)||c.message||String(r),p=c?.params?.path;return typeof p=="string"&&p&&!d.includes(p)?d+" \xB7 "+p:d}function ut(r){if(r.payload)return La(r.payload);if(r.key){let c=r.params||(r.name?{name:r.name,names:r.name}:void 0),d=m(r.key,c),p=r.name&&!d.includes(r.name)?" \xB7 "+r.name:"";return d+p}return r.text||""}async function U(r,c=!0,d=!1){if(!Ue.current){Ue.current=!0,d||(da(!0),ne(null));try{await r(),c&&await St()}catch(p){let w=p;W.current&&ne({error:!0,payload:w})}finally{Ue.current=!1,W.current&&da(!1)}}}function te(r,c){return h(`/repositories/${r}`,{method:"POST",headers:b,body:JSON.stringify(c)})}let Bt=t.useRef(!1);async function $e(r=!1,c=!1,d=we){if(!q||d.trim()||$.current||c&&Bt.current)return;let p=je.current;if(!r&&(!p.hasMore||p.count>=100))return;c&&(Bt.current=!0);let w=r?0:p.count,I=new AbortController;$.current=I,Xt(!0),va(!1),r&&(je.current={cursor:null,count:0,hasMore:!0},Mt([]));try{let O=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-w))}),P=r?null:p.cursor;P&&O.set("cursor",P);let re=await h(`/clawhub/list?${O.toString()}`,{signal:I.signal});if($.current!==I||I.signal.aborted||!W.current)return;if(!Array.isArray(re.items))throw new Error("ClawHub response has no items array");let qt=re.items.flatMap(n=>{if(typeof n.ownerHandle!="string"||!n.ownerHandle||typeof n.slug!="string"||!n.slug)return[];let g=x=>typeof x=="number"&&Number.isFinite(x)?x:void 0;return[{id:n.ownerHandle+"/"+n.slug,owner:n.ownerHandle,slug:n.slug,name:typeof n.displayName=="string"&&n.displayName?n.displayName:n.slug,source:n.ownerHandle+"/"+n.slug,description:typeof n.summary=="string"?n.summary:"",downloads:g(n.stats?.downloads),installs:g(n.stats?.installs),stars:g(n.stats?.stars)}]}).slice(0,Math.max(0,100-w)),pr=typeof re.nextCursor=="string"&&re.nextCursor?re.nextCursor:null,a=w+qt.length;if(je.current={cursor:pr,count:a,hasMore:!!pr&&a<100},!W.current)return;Mt(n=>[...r?[]:n,...qt].slice(0,100)),ya(je.current.hasMore)}catch{$.current===I&&!I.signal.aborted&&W.current&&va(!0)}finally{$.current===I&&($.current=null,Bt.current=!1,W.current&&Xt(!1))}}function er(){kt.current&&clearTimeout(kt.current),kt.current=null,wt.current++,ke.current?.abort(),ke.current=null,W.current&&Ne(!1)}async function Ea(r){let c=++wt.current,d=new AbortController;ke.current?.abort(),ke.current=d,_e([]),Ne(!0),_t(!1);try{let p=new URLSearchParams({q:r,limit:"100"}),w=await h(`/clawhub/search?${p.toString()}`,{signal:d.signal});if(!Array.isArray(w.results))throw new Error("ClawHub search response has no results array");let I=P=>typeof P=="number"&&Number.isFinite(P)?P:void 0,O=w.results.flatMap(P=>{if(typeof P.source=="string"&&P.source!=="clawhub")return[];let re=typeof P.ownerHandle=="string"?P.ownerHandle:P.owner?.handle;return typeof re!="string"||!re||typeof P.slug!="string"||!P.slug?[]:[{id:typeof P.id=="string"?P.id:re+"/"+P.slug,owner:re,slug:P.slug,name:typeof P.displayName=="string"&&P.displayName?P.displayName:P.slug,source:re+"/"+P.slug,description:typeof P.summary=="string"?P.summary:"",downloads:I(P.downloads)??I(P.stats?.downloads),installs:I(P.stats?.installs),stars:I(P.stats?.stars)}]});c===wt.current&&W.current&&_e(O)}catch(p){let w=p?.name==="AbortError";c===wt.current&&W.current&&!w&&_t(!0)}finally{c===wt.current&&(ke.current=null,W.current&&Ne(!1))}}function Ft(r){fa(r),er(),_e([]),_t(!1);let c=r.trim().slice(0,100);if(!c){ee==="clawhub"&&!zt.length&&!jt&&$e(!0,!1,c);return}Ne(!0),kt.current=setTimeout(()=>{kt.current=null,Ea(c)},300)}function Aa(){Re.current&&clearTimeout(Re.current),Re.current=null,Ae.current++,Qe.current?.abort(),Qe.current=null,W.current&&xe(!1)}async function ta(r){let c=++Ae.current,d=new AbortController;Qe.current?.abort(),Qe.current=d,ka([]),xe(!0),ea(!1);try{let p=await h(`/skills-sh/search?q=${encodeURIComponent(r)}`,{signal:d.signal});c===Ae.current&&W.current&&ka(p.skills)}catch(p){let w=p?.name==="AbortError";c===Ae.current&&W.current&&!w&&ea(!0)}finally{c===Ae.current&&(Qe.current=null,W.current&&xe(!1))}}function Le(r){Ga(r),Re.current&&clearTimeout(Re.current),Re.current=null,Ae.current++,Qe.current?.abort(),Qe.current=null,ka([]),xe(!1),ea(!1);let c=r.trim();c&&(Re.current=setTimeout(()=>{Re.current=null,ta(c)},300))}function Ye(r){G(null),ma(r)}function Sr(r){let c=r.getBoundingClientRect(),d=r.parentElement;for(;d;){let p=getComputedStyle(d);if(/(auto|scroll)/.test(`${p.overflowY} ${p.overflow}`)&&d.scrollHeight>d.clientHeight+1){let w=d.getBoundingClientRect();return c.top<=w.bottom+80&&c.bottom>=w.top}d=d.parentElement}return c.top<=window.innerHeight+80}function aa(r){if(y||r.defaultPrevented||r.deltaY<=0||ee!=="clawhub"||we.trim()||!it||vt||!r.target||!r.currentTarget.contains(r.target))return;let c=Xa.current;!c||typeof c.getBoundingClientRect!="function"||!Sr(c)||$e(!1,!0)}async function Vt(r){let c=await te("refresh",{id:r}),d=c.error||c.data?.error;d&&ne({error:!0,payload:d})}function ra(r){return U(async()=>{let c=[],d;try{for(let p=0;p<r.length;p++){let w=r[p];Gt({id:w.id,name:w.owner+"/"+w.name,index:p+1,total:r.length});let I=await te("refresh",{id:w.id}),O=I.error||I.data?.error;O&&(c.push(w.owner+"/"+w.name),d=O)}if(await St(),W.current)if(c.length===0)ne({key:"repo.refreshed"});else if(c.length===r.length)ne({error:!0,payload:d});else{let w=(N?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?", ":"\u3001";ne({error:!0,key:"repo.partialRefreshFailed",params:{names:c.join(w)}})}}finally{W.current&&Gt(null)}},!1,!0)}function Cr(r,c){return U(async()=>{qe("idle"),G({type:"detail",repo:r,loading:!0});try{let d=await te("detail",{id:r.id,path:c.path});W.current&&G({type:"detail",detail:d,repo:r})}catch(d){let p=d;throw W.current&&G({type:"detail",repo:r,failed:!0}),p}},!1,!0)}function tr(r){return U(async()=>{qe("idle"),G({type:"catalog-detail",loading:!0});try{let c=await h("/catalog/detail",{method:"POST",headers:b,body:JSON.stringify(r)});W.current&&G({type:"catalog-detail",detail:c})}catch(c){let d=c;throw W.current&&G({type:"catalog-detail",failed:!0}),d}},!1,!0)}function pt(r){Ue.current||(ne(null),G({type:"catalog-install",target:r}))}function Nr(){if(!y||y.type!=="catalog-install"||!Y(ve,Ke,ae))return;let r=y.target,c=K(ve);return U(async()=>{let d=await h("/catalog/install",{method:"POST",headers:b,body:JSON.stringify({...r,...c})});if(!W.current)return;let p=r.catalog==="skillsh"?`skillsh:${r.source}/${r.skillId}`:`clawhub:${r.owner}/${r.slug}`;ha(O=>O.includes(p)?O:[...O,p]);let w=c.root||"dsh";Ht(O=>O.some(P=>P.id===p&&P.installedRoot===w&&P.installedWorkspace===c.workspace)?O:[...O,{id:p,name:d.name,installedRoot:w,...c.workspace?{installedWorkspace:c.workspace}:{},canUninstall:!0}]),ne({key:"repo.installSuccess",name:r.name}),G(null);let I=await Promise.allSettled([St(),Promise.resolve().then(()=>X?.())]);W.current&&I.some(O=>O.status==="rejected")&&ne({key:"repo.catalog.installRefreshWarning",name:r.name})},!1)}t.useEffect(()=>{q&&U(St,!1)},[q]),t.useEffect(()=>(q&&(ee==="clawhub"?we.trim()?Ea(we.trim()):zt.length||$e(!0):ee==="skillsh"&&Dt.trim()&&ta(Dt.trim())),()=>{er(),Aa(),$.current?.abort(),$.current=null,Bt.current=!1,W.current&&Xt(!1)}),[q,ee]);function me(r,c,d=!0,p=!1,w=!1){return s(k,{variant:d?"outline":"primary",className:w?"dssm-btn-danger":void 0,disabled:Q||p,onClick:c},m(r))}function Pa(r){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("path",{d:r,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Te(r,c,d=!1,p){var w=r==="repo.uninstall"||r==="repo.uninstalling"||r==="repo.remove",I=r==="repo.installed"||r==="repo.installedSuccess",O=r==="repo.conflict",P=r==="repo.refresh"||r==="repo.refreshing",re=P?null:r==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":r==="repo.installElsewhere"?"M8 3v10M3 8h10":r==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":r==="repo.review"?"M2.5 8s2.2-3.5 5.5-3.5S13.5 8 13.5 8s-2.2 3.5-5.5 3.5S2.5 8 2.5 8M8 6.3a1.7 1.7 0 1 1 0 3.4 1.7 1.7 0 0 1 0-3.4":r==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":w?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":O?"M8 2.5l5.5 10.5H2.5L8 2.5zm0 3.5v3.5m0 2v.5":"M8 2.5v7M5.2 7.2 8 10l2.8-2.8M3.5 13.5h9",qt=P?s(J,{size:14}):Pa(re);return s(k,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(w?" dssm-icon-danger":I?" dssm-icon-success":O?" dssm-icon-warn":""),"aria-label":m(r),title:p||m(r),icon:qt,disabled:Q||d,onClick:c,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},w?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},w?{danger:!0}:{}))}function Rr(r){G({type:"remove",repo:r})}function ar(r){let c=r.url||"",d="GitHub",p="0 0 16 16",w="M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z";/gitee\.com/i.test(c)?(d="Gitee",p="0 0 24 24",w="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):/gitlab(\.|\/)/i.test(c)?(d="GitLab",p="0 0 24 24",w="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):c&&!/github\.com/i.test(c)&&(d="Git",p="0 0 24 24",w="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187");let O=(N?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?" repository":" \u4ED3\u5E93";return s("span",{className:"dssm-source-brand",title:d+O},s("svg",{viewBox:p,width:16,height:16,fill:"currentColor","aria-hidden":!0},s("path",{d:w})))}function Lr(r){return Ce&&Ce.id===r.id?s(k,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":m("repo.refreshing"),title:m("repo.refreshing"),icon:s(A,{size:14,className:"dssm-repo-spinner"}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):Te("repo.refresh",()=>ra([r]))}function Ia(){return R.length?R.map(r=>s("div",{key:r.id,className:"dssm-repo-row dssm-repo-manage-row"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name",style:{display:"flex",alignItems:"center",gap:"6px"}},ar(r),s("span",null,r.owner+"/"+r.name)),s("div",{className:"dssm-note"},[r.ref||m("repo.defaultBranch"),r.subdirectory].filter(Boolean).join(" \xB7 ")),s("div",{className:"dssm-repo-metadata"},r.refreshedAt?m("repo.updated")+" \xB7 "+new Date(r.refreshedAt).toLocaleString(N?.()||m("format.locale")):m("repo.notScanned"))),s("div",{className:"dssm-repo-actions"},Lr(r),Te("repo.remove",()=>Rr(r))))):s("div",{className:"dssm-empty"},m("repo.empty"))}function oa(r,c=!1){let d=Ce&&(!c||Ce.id===r[0]?.id);return s(k,{variant:"outline",disabled:Q||!!Ce||!r.length,"aria-busy":!!d,onClick:()=>ra(r)},d?s(A,{size:14,className:"dssm-repo-spinner"}):null,m(d?"repo.refreshing":"repo.refresh"))}function et(){Ue.current||(qe("idle"),G(null))}function Wt(r,c,d,p){Ue.current||r==="uninstall"&&(!p||!p.canUninstall||!Ze(p))||(ne(null),G({type:r,repo:c,skill:d,copy:p}))}function Ta(){if(!y||y.type!=="install"&&y.type!=="uninstall")return;let r=y,c=r.type,d=ve;if(c==="install"&&!Y(d,Ke,ae))return;let p=c==="install"?K(d):r.copy&&Ze(r.copy);if(p)return U(async()=>{let w={id:r.repo.id,path:r.skill.path,...p};rt({...w,action:c,pending:!0,key:"repo."+c+"Progress"});try{await te(c,w)}catch(P){let re=P;throw W.current&&rt({...w,action:c,error:!0,payload:re}),re}if(!W.current)return;let I="repo."+c+"Success";rt({...w,action:c,key:I}),ne({key:I,name:r.skill.name}),G(null);let O=await Promise.allSettled([St(),Promise.resolve().then(()=>X?.())]);for(let P of O)if(P.status==="rejected")throw P.reason},!1)}function rr(r,c,d,p=!1){let w=Ze(d);if(!(!w||(p?!d.canRollback:!d.tracked)))return U(async()=>{let I=await te("preview",{id:r.id,path:c.path,...w,rollback:p});G({type:p?"rollback":"review",repo:r,skill:c,copy:d,detail:I})})}function Er(){if(!y||y.type!=="review"&&y.type!=="rollback")return;let r=y,c=r.type==="rollback",d=Ze(r.copy);if(d)return U(async()=>{let p={id:r.repo.id,path:r.skill.path,...d};rt({...p,pending:!0,key:"repo.updateProgress"});try{await te(c?"rollback":"update",{...p,token:r.detail.token,overwrite:r.detail.localModified})}catch(I){let O=I;throw W.current&&rt({...p,error:!0,payload:O}),O}if(!W.current)return;let w=c?"repo.rollbackSuccess":"repo.updateSuccess";rt({...p,key:w}),ne({key:w}),G(null),X&&await X()})}function na(r,c,d){return s(k,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:Q,"aria-label":m(r),title:m(r),icon:Pa(c),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:d})}function Ar(r){let c=Ce&&Ce.id===r[0]?.id;return s(k,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:Q||!r.length,"aria-busy":!!c,"aria-label":m(c?"repo.refreshing":"repo.refresh"),title:m(c?"repo.refreshing":"repo.refresh"),icon:c?s(A,{size:14,className:"dssm-repo-spinner"}):s(J,{size:14}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>ra(r)})}function Pr(){return s("div",{className:"dssm-filter-actions"},Ar(R),na("repo.add","M8 2.5v11M2.5 8h11",()=>{ne(null),Sa({url:"",ref:"",subdirectory:""}),G({type:"add"})}),na("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{ne(null),G({type:"manage"})}))}let Ir=s("div",{key:"repository-actions",className:"dssm-actions"},oa(R),me("repo.add",()=>{ne(null),Sa({url:"",ref:"",subdirectory:""}),G({type:"add"})},!1),me("repo.manage",()=>{ne(null),G({type:"manage"})})),or=R.filter(r=>!Pt||r.id===Pt);function Tr(r,c,d){let p=Ze(d),w=ce?.id===r.id&&ce.path===c.path&&ce.pending&&p&&ce.root===p.root&&ce.workspace===p.workspace;return s("div",{className:"dssm-repo-copy-actions"},d.tracked&&(d.updateAvailable||d.status==="conflict")?Te("repo.review",()=>rr(r,c,d),!p):null,d.canRollback?Te("repo.rollback",()=>rr(r,c,d,!0),!p):null,d.canUninstall?Te(w&&ce.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>Wt("uninstall",r,c,d),!p,Ut(d)):null)}function zr(r,c,d){let p=Ze(d);return s("div",{className:"dssm-repo-copy",key:JSON.stringify([d.installedRoot,d.installedWorkspace||""])},dt(d),Tr(r,c,d),p?null:s("div",{className:"dssm-note",role:"status"},m("repo.destinationUnavailable")))}let Mr=or.map(r=>{let c=ot.trim().toLowerCase(),d=r.skills.filter(I=>(!It||I.status===It)&&(!c||`${I.name} ${I.description} ${r.owner}/${r.name}`.toLowerCase().includes(c))),p=ye[r.id]===void 0?!!c||!!It:ye[r.id],w=p?d.length?d.map(I=>{let O=Ct(I),P=O.length===1?O[0]:void 0;return s("div",{key:I.path,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},I.name),s("div",{className:"dssm-repo-description",title:I.description},I.description),P&&!Ze(P)?s("div",{className:"dssm-note",role:"status"},m("repo.destinationUnavailable")):null,ce?.id===r.id&&ce.path===I.path?s("div",{className:"dssm-note"+(ce.error?" dssm-error":""),role:ce.error?"alert":"status","aria-live":"polite"},ut(ce)):null),s("div",{className:"dssm-repo-actions"},Te("repo.detail",()=>Cr(r,I)),Te(ce?.id===r.id&&ce.path===I.path&&ce.pending&&ce.action==="install"?"repo.installing":O.length?"repo.installElsewhere":"repo."+(I.status==="available"?"install":I.status),()=>Wt("install",r,I),!O.length&&I.status!=="available"))),O.length?s("div",{className:"dssm-repo-copies"},O.map(re=>zr(r,I,re))):null)}):s("div",{className:"dssm-empty"},m("repo.noSkills")):null;return s("div",{key:r.id},s("section",{className:"dssm-source"},s("div",{className:"dssm-source-head"},s("button",{type:"button",className:"dssm-source-toggle","aria-expanded":p,onClick:()=>Tt({...ye,[r.id]:!p})},ue(p),s("div",{className:"dssm-source-label"},ar(r),s("span",{className:"dssm-source-title"},r.owner+"/"+r.name),s("span",{className:"dssm-count"},d.length),s("span",{className:"dssm-source-path",title:r.owner+"/"+r.name},[r.ref||m("repo.defaultBranchLabel"),r.subdirectory].filter(Boolean).join(" \xB7 ")||r.owner+"/"+r.name))),s("span",{className:"dssm-repo-commit-badge",title:r.commit||m("repo.notScanned")},r.commit?r.commit.slice(0,7):m("repo.notScanned"))),p?s("div",{className:"dssm-source-body",role:"region"},w):null),r.error?s("div",{className:"dssm-feedback dssm-error",role:"alert"},La(r.error)):null)});function mt(r,c,d,p){return s(u,{label:m(r),value:c,onChange:d,options:[{value:"",label:m(r)},...p.map(([w,I])=>({value:w,label:I}))]})}let Ee=At?s("div",{className:"dssm-feedback"+(At.error?" dssm-error":""),role:At.error?"alert":"status"},ut(At)):null,nr=Ce?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},m("repo.refreshing")+" "+Ce.index+"/"+Ce.total+" \xB7 "+Ce.name):null,sr;if(y){let r,c,d;if(y.type==="install"&&(r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.skill.name),s(T,{t:m,value:ve,disabled:Q,allowAgents:!0,workspaces:Ke,userDestinations:ae,onChange:p=>{Ue.current||ht({...ve,...p})}}),s("p",{className:"dssm-note"},m("repo.installLocationsHint")),s("p",{className:"dssm-note"},m("repo.installHint")),Q?s("div",{role:"status","aria-live":"polite"},m("repo.installProgress")):null,Ee,s("div",{className:"dssm-modal-actions"},me("repo.cancel",et),me(Q?"repo.installing":"repo.install",Ta,!1,!Y(ve,Ke,ae))))),y.type==="uninstall"&&(c=m("repo.uninstallHint"),r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.skill.name),y.copy?s("div",{className:"dssm-repo-metadata"},Ca(y.copy)):null,y.copy?.installedRoot==="agents"&&!y.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},m("repo.uninstallExternalWarning")):null,Q?s("div",{role:"status","aria-live":"polite"},m("repo.uninstallProgress")):null,Ee),d=s(t.Fragment,null,me("repo.cancel",et),me(Q?"repo.uninstalling":"repo.confirmUninstall",Ta,!0,!y.copy||!Ze(y.copy),!0))),(y.type==="review"||y.type==="rollback")&&(r=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},y.skill.name),s("div",{className:"dssm-repo-metadata"},Ca(y.copy)),s("div",{className:"dssm-repo-metadata"},y.repo.owner+"/"+y.repo.name+" \xB7 "+y.detail.commit?.slice(0,7)),y.detail.localModified?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},m("repo.modified")):null,y.detail.changes.length?s("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},y.detail.changes.map(p=>s("li",{key:p.path},m("repo."+(p.kind==="modified"?"modifiedFile":p.kind))+" \xB7 "+p.path))):s("p",null,m("repo.noChanges")),Q?s("div",{role:"status"},m("repo.updateProgress")):null,Ee),d=s(t.Fragment,null,me("repo.cancel",et),me(y.detail.localModified?"repo.overwrite":y.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",Er,!1,!y.detail.changes.length||!Ze(y.copy)))),y.type==="add"&&(r=s("form",{className:"dssm-form",onSubmit:p=>{p.preventDefault(),De.url.trim()&&U(async()=>{let w=await te("add",De);await Vt(w.id),G(null)})}},[["url","repo.url",m("repo.urlPlaceholder")],["ref","repo.ref",m("repo.defaultBranch")],["subdirectory","repo.directory",m("repo.directoryHint")]].map(([p,w,I])=>s("label",{className:"dssm-field",key:p},s("span",{className:"dssm-label"},m(w)),s(i,{"aria-label":m(w),value:De[p],placeholder:I,maxLength:p==="url"?2048:512,required:p==="url",disabled:Q,onChange:O=>Sa({...De,[p]:O.target.value})}))),Ee,s("div",{className:"dssm-modal-actions"},me("repo.cancel",et),me("repo.save",()=>{De.url.trim()&&U(async()=>{let p=await te("add",De);await Vt(p.id),G(null)})},!1,!De.url.trim())))),y.type==="manage"&&(r=s("div",{className:"dssm-repo-panel"},s("p",{className:"dssm-desc"},m("repo.removeHint")),nr,Ee,Ia())),y.type==="remove"&&(c=m("repo.removeHint"),r=s("div",null,s("div",{className:"dssm-name"},y.repo.owner+"/"+y.repo.name),Ee),d=s(t.Fragment,null,me("repo.cancel",()=>G({type:"manage"})),me("repo.removeConfirm",()=>U(async()=>{await te("remove",{id:y.repo.id}),Pt===y.repo.id&&nt(""),G({type:"manage"})}),!0,!1,!0))),y.type==="catalog-detail"&&y.detail){let p=y.detail;r=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-detail-head"},s("div",{className:"dssm-name",title:p.name},p.name),p.body?s(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ba(p.body)},m(yt==="copied"?"repo.copied":yt==="failed"?"repo.copyFailed":"repo.copyBody")):null),s("p",{className:"dssm-desc"},p.description),s("div",{className:"dssm-detail-path"},p.origin),s("p",{className:"dssm-note"},m("repo.installHint")),s(i.TextArea,{className:"dssm-detail-body",readOnly:!0,value:p.body||"",rows:16}))}if(y.type==="catalog-detail"&&!y.detail&&(r=s("div",{role:"status",className:"dssm-repo-panel"},y.loading?m("repo.detailLoading"):null,y.failed?Ee:null)),y.type==="catalog-install"&&(r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.target.name),s(T,{t:m,value:ve,disabled:Q,allowAgents:!0,workspaces:Ke,userDestinations:ae,onChange:p=>{Ue.current||ht({...ve,...p})}}),s("p",{className:"dssm-note"},m("repo.installLocationsHint")),s("p",{className:"dssm-note"},m("repo.installHint")),Q?s("div",{role:"status","aria-live":"polite"},m("repo.installProgress")):null,Ee,s("div",{className:"dssm-modal-actions"},me("repo.cancel",et),me(Q?"repo.installing":"repo.install",Nr,!1,!Y(ve,Ke,ae))))),y.type==="catalog-uninstall"&&(c=m("repo.uninstallHint"),r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.copy.name),s("div",{className:"dssm-repo-metadata"},Hr(y.copy)),y.copy.installedRoot==="agents"&&!y.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},m("repo.uninstallExternalWarning")):null,Q?s("div",{role:"status","aria-live":"polite"},m("repo.uninstallProgress")):null,Ee),d=s(t.Fragment,null,me("repo.cancel",et),me(Q?"repo.uninstalling":"repo.confirmUninstall",ir,!0,!1,!0))),y.type==="detail"&&y.detail){let p=y.detail;r=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-detail-head"},s("div",{className:"dssm-name",title:p.name},p.name),p.body?s(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ba(p.body)},m(yt==="copied"?"repo.copied":yt==="failed"?"repo.copyFailed":"repo.copyBody")):null),s("p",{className:"dssm-desc"},p.description),s("div",{className:"dssm-detail-path"},y.repo.owner+"/"+y.repo.name+" \xB7 "+p.path),s("div",{className:"dssm-repo-metadata"},m("repo.commit")+" \xB7 "+p.commit),s("p",{className:"dssm-note"},m("repo.installHint")),s(i.TextArea,{className:"dssm-detail-body",readOnly:!0,value:p.body||"",rows:16}))}y.type==="detail"&&!y.detail&&(r=s("div",{role:"status",className:"dssm-repo-panel"},y.loading?m("repo.detailLoading"):null,y.failed?Ee:null)),sr=s(e,{className:y.type==="detail"||y.type==="catalog-detail"?"dssm-modal-wide":void 0,title:m("repo."+(y.type==="catalog-detail"?"detail":y.type==="catalog-install"?"install":y.type==="catalog-uninstall"?"uninstall":y.type==="remove"?"remove":y.type)),description:c,footer:d,closeLabel:m("repo.close"),onClose:et},r)}function za(r){return ga.includes(r)||Ma(r).length>0}function Ma(r){return Ot(kr.filter(c=>c.id===r))}function Hr(r){return Ut(r)}function jr(r){!Ue.current&&r.canUninstall&&(ne(null),G({type:"catalog-uninstall",copy:r}))}function ir(){if(!y||y.type!=="catalog-uninstall")return;let r=y.copy;return U(async()=>{if(await h("/delete",{method:"POST",headers:b,body:JSON.stringify({name:r.name,root:r.installedRoot,...r.installedWorkspace?{workspace:r.installedWorkspace}:{}})}),!W.current)return;Ht(d=>d.filter(p=>p!==r&&!(p.id===r.id&&p.installedRoot===r.installedRoot&&p.installedWorkspace===r.installedWorkspace))),ne({key:"repo.uninstallSuccess",name:r.name}),G(null);let c=await Promise.allSettled([St(),Promise.resolve().then(()=>X?.())]);W.current&&c.some(d=>d.status==="rejected")&&ne({key:"repo.catalog.uninstallRefreshWarning",name:r.name})},!1)}function lr(r,c,d,p){let w=Ma(r);return s("div",{className:"dssm-repo-actions"},Te("repo.detail",d),c&&!w.length?s("span",{className:"dssm-note",role:"status"},m("repo.catalog.unknownLocation")):null,w.length?Te("repo.installElsewhere",p):za(r)?s("span",{className:"dssm-catalog-installed",role:"status"},m("repo.installed")):Te(c?"repo.catalog.reassociate":"repo.install",p))}function cr(r){let c=Ma(r);return c.length?s("div",{className:"dssm-repo-copies"},c.map(d=>s("div",{className:"dssm-repo-copy",key:JSON.stringify([d.id,d.installedRoot,d.installedWorkspace||""])},dt(d),d.canUninstall?Te("repo.uninstall",()=>jr(d),!1,Ut(d)):null))):null}let Ha=zt.filter(r=>{let c=za(`clawhub:${r.owner}/${r.slug}`);return!ge||(ge==="installed"?c:!c)}),dr=bt==="installs"?Ha.slice().sort((r,c)=>(c.installs||0)-(r.installs||0)):bt==="name"?Ha.slice().sort((r,c)=>r.name.localeCompare(c.name)):Ha,Pe=r=>{let c=Jt.includes(`clawhub:${r.owner}/${r.slug}`),d=[r.source,r.downloads===void 0?null:r.downloads.toLocaleString()+" "+m("repo.catalog.downloads"),r.installs===void 0?null:r.installs.toLocaleString()+" "+m("repo.catalog.installs"),r.stars===void 0?null:r.stars.toLocaleString()+" "+m("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return s("div",{key:r.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},r.name),r.description?s("div",{className:"dssm-repo-description",title:r.description},r.description):null,s("div",{className:"dssm-meta-origin"},d)),lr(`clawhub:${r.owner}/${r.slug}`,c,()=>tr({catalog:"clawhub",owner:r.owner,slug:r.slug,name:r.name}),()=>pt({catalog:"clawhub",owner:r.owner,slug:r.slug,name:r.name}))),cr(`clawhub:${r.owner}/${r.slug}`))},ft=s("div",{className:"dssm-catalog-list",onWheel:aa},dr.map(Pe),!dr.length&&!jt&&!vt?s("div",{className:"dssm-empty"},m("repo.catalog.empty")):null,jt?s("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},s("span",{className:"dssm-repo-spinner","aria-hidden":!0}),zt.length?m("repo.catalog.loadingMore"):m("repo.catalog.loading")):null,vt?s("div",{className:"dssm-feedback dssm-error",role:"alert"},m("repo.catalog.loadError"),s(k,{variant:"ghost",size:"sm",onClick:()=>{$e()}},m("repo.catalog.retry"))):null,ee==="clawhub"&&!we.trim()&&it&&!vt?s("div",{className:"dssm-catalog-sentinel",ref:Xa,"aria-hidden":!0}):null,ee==="clawhub"&&!we.trim()&&it&&!vt&&!jt?s("div",{className:"dssm-catalog-loading"},s(k,{variant:"ghost",size:"sm",onClick:()=>{$e(!1,!0)}},m("repo.catalog.loadMore"))):null),gt=s("div",{className:"dssm-catalog-list"},Ya.map(Pe),we.trim()&&!Ya.length&&!wa&&!lt?s("div",{className:"dssm-empty"},m("repo.catalog.searchEmpty")):null,wa?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},m("repo.catalog.searchLoading")):null,lt?s("div",{className:"dssm-feedback dssm-error",role:"alert"},m("repo.catalog.searchError"),s(k,{variant:"ghost",size:"sm",onClick:()=>{Ea(we.trim())}},m("repo.catalog.retry"))):null),ie=xt.filter(r=>{if(!$t)return!0;let c=za(`skillsh:${r.source}/${r.skillId}`);return $t==="installed"?c:!c}),ur=s("div",{className:"dssm-catalog-list"},ie.map(r=>{let c=`skillsh:${r.source}/${r.skillId}`,d=Jt.includes(c),p=[r.source,r.installs===void 0?null:r.installs.toLocaleString()+" "+m("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return s("div",{key:r.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},r.name),s("div",{className:"dssm-meta-origin"},p)),lr(c,d,()=>tr({catalog:"skillsh",source:r.source,skillId:r.skillId,name:r.name}),()=>pt({catalog:"skillsh",source:r.source,skillId:r.skillId,name:r.name}))),cr(c))}),Dt.trim()&&!ie.length&&!ct&&!xa?s("div",{className:"dssm-empty"},m("repo.catalog.skillshEmpty")):null,ct?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},m("repo.catalog.skillshLoading")):null,xa?s("div",{className:"dssm-feedback dssm-error",role:"alert"},m("repo.catalog.skillshError"),s(k,{variant:"ghost",size:"sm",onClick:()=>{ta(Dt.trim())}},m("repo.catalog.retry"))):null),sa=s("div",{className:"dssm-subsources"},s("button",{type:"button",className:"dssm-subsource-btn"+(ee==="github"?" on":""),"aria-pressed":ee==="github",onClick:()=>Ye("github")},m("repo.subsource.github")+" ("+R.length+")"),s("button",{type:"button",className:"dssm-subsource-btn"+(ee==="clawhub"?" on":""),"aria-pressed":ee==="clawhub",onClick:()=>Ye("clawhub")},m("repo.subsource.clawhub")),s("button",{type:"button",className:"dssm-subsource-btn"+(ee==="skillsh"?" on":""),"aria-pressed":ee==="skillsh",onClick:()=>Ye("skillsh")},m("repo.subsource.skillsh"))),Nt=ee==="github"?s("div",{className:"dssm-filters"},s("div",{className:"dssm-source-filter"},mt("repo.all",Pt,nt,R.map(r=>[r.id,r.owner+"/"+r.name]))),s("div",{className:"dssm-status-filter"},mt("repo.states",It,r=>{pa(r),Tt({})},["available","installed","update","conflict","invalid"].map(r=>[r,m("repo."+r)]))),s(i,{className:"dssm-search",allowClear:!0,"aria-label":m("repo.search"),placeholder:m("repo.search"),value:ot,onChange:r=>{ua(r.target.value),Tt({})}}),Pr()):ee==="clawhub"?s("div",{className:"dssm-filters dssm-catalog-filters"},we.trim()?null:s("div",{className:"dssm-catalog-sort-filter"},mt("repo.subsource.popular",bt,qa,[["installs",m("repo.sort.installs")],["name",m("repo.sort.name")]])),we.trim()?null:s("div",{className:"dssm-catalog-status-filter"},mt("repo.catalog.states",ge,st,[["available",m("repo.available")],["installed",m("repo.installed")]])),s(i,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":m("repo.catalog.searchClawhub"),placeholder:m("repo.catalog.searchClawhub"),value:we,onChange:r=>Ft(r.target.value)})):ee==="skillsh"?s("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},s("div",{className:"dssm-catalog-status-filter"},mt("repo.catalog.states",$t,Ja,[["available",m("repo.catalog.uninstalled")],["installed",m("repo.installed")]])),s(i,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":m("repo.catalog.searchSkillsh"),placeholder:m("repo.catalog.searchSkillsh"),value:Dt,onChange:r=>Le(r.target.value)})):null,Kt=s("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":Q},s("style",null,Zo),sa,ee==="github"?s("p",{className:"dssm-desc"},m("repo.hint")):ee==="clawhub"&&!we.trim()?s("p",{className:"dssm-desc"},m("repo.subsource.catalogNote")):null,Nt,Jt.length?s("div",{className:"dssm-note",role:"status"},m("repo.catalog.unknownHint")):null,He.map(r=>s("div",{key:r.id,className:"dssm-feedback dssm-error",role:"alert"},r.id+" \xB7 "+La(r))),Ee,y?null:nr,Q&&!Ce?s("div",{className:"dssm-note",role:"status"},m("repo.loading")):null,ee==="github"?R.length?Mr:s("div",{className:"dssm-empty"},m("repo.empty")):ee==="skillsh"?ur:we.trim()?gt:ft,s("p",{className:"dssm-note"},m("repo.footer")),sr);return{actions:Ir,content:Kt,focusSource:(r,c)=>{nt(r.id),ua(c),pa(""),Tt({[r.id]:!0})}}}}var la=()=>({scope:"user",location:"dsh",workspace:""});function mr(t){return t.scope==="workspace"?{workspace:t.workspace}:{root:t.location==="agents"?"agents":"dsh"}}function Qt(t,e,i){return t.scope==="user"?!i||i.some(l=>l.key===t.location&&l.available===!0):e.some(l=>l.available&&!!l.registeredPaths[0]&&l.registeredPaths[0]===t.workspace)}function Yo(t){let e=t.includes("\\")?"\\":"/";return t.replace(/[\\/]+$/,"")+e+".dsh"+e+"skills"}var Ur={zh:{"dest.scope":"\u8303\u56F4","dest.scope.user":"\u7528\u6237\u76EE\u5F55","dest.scope.workspace":"\u6307\u5B9A\u5DE5\u4F5C\u533A","dest.workspace":"\u5DE5\u4F5C\u533A","dest.workspace.placeholder":"\u8BF7\u9009\u62E9\u5DE5\u4F5C\u533A","dest.workspace.unavailable":"{name}\uFF08\u76EE\u5F55\u4E0D\u53EF\u7528\uFF09","dest.pickFirst":"\u5148\u9009\u62E9\u4E00\u4E2A\u5DF2\u767B\u8BB0\u5DE5\u4F5C\u533A\u3002\u786E\u8BA4\u524D\u4E0D\u4F1A\u521B\u5EFA\u76EE\u5F55\u3002","dest.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\uFF0C\u518D\u56DE\u5230\u8FD9\u91CC\u9009\u62E9\u3002","dest.location":"\u4F4D\u7F6E","dest.location.dsh":"DSH skills","dest.location.agents":"Shared Agent","dest.location.agentsOff":"\u5DE5\u4F5C\u533A\u53EA\u652F\u6301 DSH skills\u3002","dest.projectNote":"\u4F1A\u5199\u8FDB\u8FD9\u4E2A\u9879\u76EE\uFF0C\u53EF\u80FD\u88AB\u63D0\u4EA4\u5230\u4ED3\u5E93\u3002","dest.createdInWorkspace":"\u5DF2\u521B\u5EFA\u5728\u6240\u9009\u5DE5\u4F5C\u533A\u3002\u8981\u5728\u8BE5\u5DE5\u4F5C\u533A\u7684\u4F1A\u8BDD\u91CC\u624D\u4F1A\u770B\u5230\u3002"},en:{"dest.scope":"Scope","dest.scope.user":"User directory","dest.scope.workspace":"Specific workspace","dest.workspace":"Workspace","dest.workspace.placeholder":"Select a workspace","dest.workspace.unavailable":"{name} (directory unavailable)","dest.pickFirst":"Select a registered workspace first. No directory is created before you confirm.","dest.empty":"No registered workspaces yet. Add one in the sidebar, then come back.","dest.location":"Location","dest.location.dsh":"DSH skills","dest.location.agents":"Shared Agent","dest.location.agentsOff":"Workspaces support DSH skills only.","dest.projectNote":"This is written into the project and may be committed to its repository.","dest.createdInWorkspace":"Created in the selected workspace. It appears in sessions of that workspace."}},$r=[".dssm-destination{display:flex;flex-direction:column;gap:12px}",".dssm-destination .dssm-field{display:flex;flex-direction:column;gap:6px;min-width:0}",".dssm-destination-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}",".dssm-destination-pair .dssm-menu-select-wrap{width:100%;min-width:0}",'.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"],.dssm-destination-pair .dssm-source-select-menu{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}',".dssm-destination-pair .dssm-menu-select-trigger{display:flex!important;width:100%!important;min-width:0!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}","@media (max-width:420px){.dssm-destination-pair{grid-template-columns:minmax(0,1fr)}}",".dssm-destination-path{display:block;box-sizing:border-box;width:100%;padding:8px 10px;border:0.5px solid var(--dsw-alias-border-l2,rgba(127,127,127,.2));border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,rgba(127,127,127,.06));overflow-wrap:anywhere;font-size:12px;line-height:18px}",".dssm-destination-unavailable{display:flex;flex-direction:column;gap:2px}"].join("");function Go({react:t,SourceSelect:e,translateError:i}){let l=t.createElement;return function({t:f,value:h,onChange:b,workspaces:v,userDestinations:N,allowAgents:S,disabled:z}){let s=h.scope==="workspace",A=v.find(R=>!!R.registeredPaths[0]&&R.registeredPaths[0]===h.workspace),J=[{value:"user",label:f("dest.scope.user")},{value:"workspace",label:f("dest.scope.workspace")}],ue=new Map;for(let R of v)ue.set(R.name,(ue.get(R.name)??0)+1);let k=[{value:"",label:f("dest.workspace.placeholder")}].concat(v.map(R=>({value:R.registeredPaths[0]||"",label:R.available?(ue.get(R.name)??0)>1?R.name+" \xB7 "+R.path:R.name:f("dest.workspace.unavailable",{name:R.name}),disabled:!R.available||!R.registeredPaths[0]}))),be=(S?["dsh","agents"]:["dsh"]).filter(R=>N.some(L=>L.key===R)),K=R=>N.find(L=>L.key===R),Y=R=>be.some(L=>L===R)&&K(R)?.available!==!1,pe=be.map(R=>({value:R,label:f("dest.location."+R),disabled:K(R)?.available===!1})),q=s?l("div",{className:"dssm-field",key:"workspace"},l("span",{className:"dssm-label"},f("dest.workspace")),l(e,{label:f("dest.workspace"),value:h.workspace,disabled:z||v.length===0,options:k,onChange:R=>{!z&&v.length>0&&(R===""||Qt({...h,scope:"workspace",workspace:R},v))&&b({workspace:R})}})):l("div",{className:"dssm-field",key:"location"},l("span",{className:"dssm-label"},f("dest.location")),l(e,{label:f("dest.location"),value:h.location,disabled:z||be.length===0,options:pe,onChange:R=>{!z&&Y(R)&&b({location:R})}})),m=s?A&&A.available?Yo(A.projectRoot||A.path):"":K(h.location)?.path??"",X=s?[]:be.filter(R=>K(R)?.available===!1);return l("div",{className:"dssm-destination"},l("div",{className:"dssm-destination-pair"},l("div",{className:"dssm-field",key:"scope"},l("span",{className:"dssm-label"},f("dest.scope")),l(e,{label:f("dest.scope"),value:h.scope,disabled:z,options:J,onChange:R=>{!z&&(R==="workspace"||R==="user")&&b(R==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),q),s&&v.length===0?l("p",{className:"dssm-feedback dssm-warning",role:"status"},f("dest.empty")):null,s&&v.length>0&&!A?l("p",{className:"dssm-note"},f("dest.pickFirst")):null,m?l("code",{className:"dssm-destination-path"},m):null,X.map(R=>l("div",{key:R,className:"dssm-note dssm-destination-unavailable"},l("span",null,f("dest.location."+R)),l("code",{className:"dssm-destination-path"},K(R)?.path??""),l("span",null,K(R)?.error?i(f,K(R).error):""))),s&&A?l("p",{className:"dssm-note"},f("dest.projectNote")+" "+f("dest.location.agentsOff")):null)}}function eo(t){return{DestinationPicker:Go(t),defaultDestination:la,destinationPayload:mr,destinationReady:Qt}}var F=ia(require("react"),1),Or=require("react-dom/client"),Zt=require("@deepseek-ai/dsh-client-ui-primitives");var Jo={check:"\u68C0\u67E5\u66F4\u65B0",update:"\u66F4\u65B0",close:"\u5173\u95ED",recheck:"\u91CD\u65B0\u68C0\u67E5",auto:"\u81EA\u52A8\u66F4\u65B0",updating:"\u6B63\u5728\u66F4\u65B0\u2026",copy:"\u590D\u5236\u547D\u4EE4",copied:"\u5DF2\u590D\u5236",copyFailed:"\u590D\u5236\u5931\u8D25",checking:"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026",latest:"\u5DF2\u662F\u6700\u65B0\u7248\u672C",found:"\u53D1\u73B0\u65B0\u7248\u672C",failed:"\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",current:"\u8FD0\u884C\u7248\u672C",latestLabel:"\u6700\u65B0\u7248\u672C",profile:"\u76EE\u6807 profile",unknown:"\u672A\u77E5",manual:"\u624B\u5DE5\u66F4\u65B0",manualHint:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u53EF\u5728\u5F53\u524D DSH \u7EC8\u7AEF\u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\uFF0C\u5B8C\u6210\u540E\u91CD\u542F DSH Web\u3002",manualHintDesktop:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u8BF7\u5148\u5B8C\u5168\u9000\u51FA DSH Desktop\uFF0C\u518D\u7528 Desktop \u81EA\u5E26\u7684 dsh \u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\u3002\u666E\u901A dsh \u4F1A\u62D2\u7EDD desktop profile\u3002",intro:"\u4EC5\u68C0\u67E5\u5E76\u66F4\u65B0\u5F53\u524D\u63D2\u4EF6\uFF0C\u4E0D\u4F1A\u8054\u52A8\u5B89\u88C5\u5176\u4ED6\u63D2\u4EF6\u3002",restart:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u91CD\u542F DSH Web\u3002",restartDesktop:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u65B0\u6253\u5F00 DSH Desktop\u3002",restarting:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u6B63\u5728\u91CD\u542F DSH Desktop\u2026",unavailable:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u81EA\u52A8\u66F4\u65B0\uFF0C\u8BF7\u4F7F\u7528\u624B\u5DE5\u66F4\u65B0\u547D\u4EE4\u3002"},Xo={check:"Check for updates",update:"Update",close:"Close",recheck:"Check again",auto:"Update automatically",updating:"Updating\u2026",copy:"Copy command",copied:"Copied",copyFailed:"Copy failed",checking:"Checking for updates\u2026",latest:"You are up to date",found:"New version available",failed:"Could not check for updates. Try again later.",current:"Running version",latestLabel:"Latest version",profile:"Target profile",unknown:"Unknown",manual:"Manual update",manualHint:"If automatic update fails, run this command in the current DSH terminal, then restart DSH Web.",manualHintDesktop:"If automatic update fails, fully quit DSH Desktop, then run this command with Desktop's own dsh. A regular dsh rejects the desktop profile.",intro:"Only this plugin is checked and updated. Other plugins are not changed.",restart:"Update complete. Restart DSH Web.",restartDesktop:"Update complete. Fully quit and reopen DSH Desktop.",restarting:"Update complete. Restarting DSH Desktop\u2026",unavailable:"Automatic update is unavailable. Use the manual command."};function Da(t){return t.toLowerCase().startsWith("zh")?Jo:Xo}function _o(t,e,i,l){let u=Da(t),f=e?.restartDesktop===!0||e?.profileName==="desktop",h=f?{...u,manualHint:u.manualHintDesktop}:u,b=i!=="idle",v=h.checking,N="";return i==="checking"?v=h.checking:i==="updating"?v=h.updating:l.type==="error"?(v=l.message||h.failed,N="error"):l.type==="restart"?(v=f?h.restartDesktop:h.restart,N="success"):l.type==="restarting"?(v=h.restarting,N="success"):e===void 0?v=h.checking:e.latestCheckFailed?(v=h.failed,N="error"):!e.canAutoUpdate&&e.updateAvailable?(v=h.unavailable,N="update"):e.updateAvailable?(v=`${h.found}: v${e.latestVersion??h.unknown}`,N="update"):(v=h.latest,N="success"),{copy:h,busy:b,message:v,kind:N,loading:i==="updating",updateLabel:i==="updating"?h.updating:h.auto,disabled:b||e?.canAutoUpdate!==!0||e.updateAvailable!==!0,currentVersion:e===void 0?h.unknown:`v${e.currentVersion}`,latestVersion:e?.latestVersion===void 0?h.unknown:`v${e.latestVersion}`,profileName:e?.profileName??h.unknown,profileRaw:e?.profileName??"",latestRaw:e?.latestVersion??"latest"}}function to(t,e,i){let l="idle",u=e,f={type:"status"},h=0,b=new Set,v=()=>{for(let S of b)S()},N=S=>{u=S,i?.(S)};return{get posts(){return h},subscribe(S){return b.add(S),()=>{b.delete(S)}},view(S){return _o(S,u,l,f)},async check(){if(l==="idle"){l="checking",f={type:"status"},v();try{N(await t("GET")),f={type:"status"}}catch(S){f={type:"error",message:S instanceof Error?S.message:""}}finally{l="idle",v()}}},async update(){if(l==="idle"){l="updating",f={type:"status"},h+=1,v();try{let S=await t("POST");N(S),f={type:S.autoReload===!0?"restarting":"restart"}}catch(S){f={type:"error",message:S instanceof Error?S.message:""}}finally{l="idle",v()}}}}}function ao(t,e,i){return`dsh plugin${t.trim()===""?"":` --profile ${t.trim()}`} add ${e}@${i} --registry=https://registry.npmjs.org/`}function ro(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function $o(){if(typeof document>"u")return;let t=document.baseURI;if(!(typeof t!="string"||t===""))try{let e=new URL(t);return e.pathname.endsWith("/")||(e.pathname+="/"),e.href}catch{return}}function Ua(t){if(typeof t!="string"||t.charAt(0)!=="/"||t.charAt(1)==="/")return t;let e=$o();if(e===void 0)return t;try{return new URL(t.slice(1),e).href}catch{return t}}var en="x-michengai-plugin-update",oo="michengai-plugin-update-ui",tn=`
|
|
17
|
+
.dssm-repo-row .dssm-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-repo-row{display:flex;flex-direction:column;gap:6px;padding:11px 13px;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);background:transparent}.dssm-repo-head{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.dssm-repo-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-repo-actions button{flex:none}.dssm-repo-actions .dssm-repo-copy-actions{gap:8px;margin-left:0}.dssm-repo-main{flex:1;min-width:0}.dssm-repo-main>.dssm-repo-metadata{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-description{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-repo-copies{display:flex;flex-direction:column;gap:2px;min-width:0}.dssm-repo-copy{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent}.dssm-repo-copy .dssm-repo-metadata{font-size:12px;line-height:18px}.dssm-repo-copy-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}.dssm-repo-spinner{display:inline-flex;align-items:center;justify-content:center;animation:dssm-spin .8s linear infinite;transform-origin:center;flex:none}.dssm-icon-action .dssm-repo-spinner{margin:0}button:not(.dssm-icon-action) .dssm-repo-spinner{margin-right:6px}@keyframes dssm-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dssm-repo-spinner{animation:none}}.dssm-repo-commit-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;line-height:16px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);margin-left:12px;white-space:nowrap;user-select:all}.dssm-repo-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-repo-panel .dssm-desc{margin:0}.dssm-repo-metadata{font-size:11px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow-wrap:anywhere}.dssm-repo-panel .dssm-source{flex-shrink:0;overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-repo-panel .dssm-source-title{font-size:14px;font-weight:650;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:7px}.dssm-repo-panel .dssm-source-brand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-panel .dssm-source-brand svg{width:16px;height:16px;display:block}.dssm-repo-panel .dssm-source-path{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-repo-panel .dssm-count{padding:1px 6px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-bg-layer-2,rgba(255,255,255,0.08));font-size:11px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-manage-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.dssm-repo-manage-row .dssm-repo-main{flex:1}.dssm-repo-manage-row .dssm-repo-actions{margin-left:auto}.dssm-repo-manage-row .dssm-repo-actions button{width:auto;flex:none}.dssm-repo-head .dssm-repo-actions{gap:8px}.dssm-repo-actions>.dssm-repo-copy-actions{display:contents}.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-repo-copies{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:2px}.dssm-repo-copy{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 4px 4px 8px;border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1,rgba(255,255,255,0.04))}.dssm-repo-copy .dssm-repo-metadata{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-copy .dssm-repo-copy-actions{margin-left:0}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger{border-color:var(--dsw-alias-border-l2,#494949)}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger:not(:disabled):hover{color:var(--dsw-alias-state-error-primary,#ef7272)!important;border-color:var(--dsw-alias-state-error-primary,#ef7272)!important}.dssm-repo-copy .dssm-repo-metadata{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dssm-location-lead{flex:0 1 auto;max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-location-path{margin-left:auto;min-width:0;max-width:50%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}`;function _r({react:t,Modal:e,Input:i,Button:l,SourceSelect:p,destination:g,api:h,headers:b,translateError:v,getLocale:N,IconLoading:C,IconRefresh:z}){let s=t.createElement,A=C||function(q){let f=q?.size||14;return s("svg",{width:f,height:f,viewBox:"0 0 16 16",fill:"none",className:q?.className,"aria-hidden":"true",strokeWidth:1.3},s("path",{d:"M12.596 12.596C11.687 13.5049 10.5288 14.1239 9.26798 14.3747C8.00716 14.6255 6.70028 14.4968 5.51261 14.0048C4.32494 13.5129 3.30981 12.6798 2.59557 11.611C1.88134 10.5421 1.50008 9.2855 1.5 7.99998C1.50008 6.71446 1.88134 5.45783 2.59557 4.38898C3.30981 3.32013 4.32494 2.48707 5.51261 1.99513C6.70028 1.50319 8.00716 1.37447 9.26798 1.62524C10.5288 1.87602 11.687 2.49502 12.596 3.40398",stroke:"currentColor"}))},J=z||function(q){let f=q?.size||14;return s("svg",{width:f,height:f,viewBox:"0 0 16 16",fill:"none",className:q?.className,"aria-hidden":"true",strokeWidth:1.3},s("path",{d:"M14.5001 8C14.5 9.28552 14.1188 10.5422 13.4045 11.611C12.6903 12.6799 11.6752 13.5129 10.4875 14.0049C9.29982 14.4968 7.99295 14.6255 6.73212 14.3747C5.4713 14.124 4.31314 13.505 3.4041 12.596C2.49514 11.687 1.87614 10.5288 1.62537 9.26798C1.37459 8.00716 1.50331 6.70028 1.99525 5.51261C2.48719 4.32494 3.32025 3.30981 4.3891 2.59557C5.45795 1.88134 6.71458 1.50008 8.0001 1.5C9.9001 1.5 11.7001 2.3 13.0001 3.6L14.5001 5.1",stroke:"currentColor"}),s("path",{d:"M14.4999 1.5V5.1H10.8999",stroke:"currentColor"}))};function ue(pe){return s("svg",{className:"dssm-fold-chevron"+(pe?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},s("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}let k=l,{DestinationPicker:I,defaultDestination:be,destinationPayload:K,destinationReady:Y}=g;return function({active:q,t:f,onInstalled:X}){let[R,L]=t.useState([]),[ae,ie]=t.useState([]),[Q,la]=t.useState(!1),[Ce,Zt]=t.useState(null),[At,oe]=t.useState(null),[le,ot]=t.useState(null),[nt,ca]=t.useState(""),[Pt,st]=t.useState(""),[It,da]=t.useState(""),[ye,Tt]=t.useState({}),[y,G]=t.useState(null),[ve,ht]=t.useState(be()),[qe,qa]=t.useState([]),[ee,ua]=t.useState("github"),[we,pa]=t.useState(""),[bt,Qa]=t.useState(""),[ge,it]=t.useState(""),[zt,Mt]=t.useState([]),[ma,fa]=t.useState([]),[Sr,Ht]=t.useState([]),[Yt,Za]=t.useState([]),[He,Ya]=t.useState([]),[yt,Qe]=t.useState("idle");function ga(r){if(typeof navigator>"u"||!navigator.clipboard){Qe("failed");return}navigator.clipboard.writeText(r).then(()=>{Qe("copied"),setTimeout(()=>Qe("idle"),1500)}).catch(()=>Qe("failed"))}let[lt,ha]=t.useState(!0),[jt,Gt]=t.useState(!1),[vt,ba]=t.useState(!1),[Ga,$e]=t.useState([]),[ya,Ne]=t.useState(!1),[ct,Jt]=t.useState(!1),wt=t.useRef(0),ke=t.useRef(null),kt=t.useRef(null),[Dt,Ja]=t.useState(""),[Xt,Xa]=t.useState(""),[xt,va]=t.useState([]),[dt,xe]=t.useState(!1),[wa,_t]=t.useState(!1),Ee=t.useRef(0),Ze=t.useRef(null),Re=t.useRef(null),je=t.useRef({cursor:null,count:0,hasMore:!0}),$=t.useRef(null),_a=t.useRef(null),[De,ka]=t.useState({url:"",ref:"",subdirectory:""}),Ue=t.useRef(!1),W=t.useRef(!0);t.useEffect(()=>(W.current=!0,()=>{W.current=!1}),[]);async function St(){let r=await h("/repositories");if(W.current){let c=(r.installRoots||[]).filter(d=>d.key==="dsh"||d.key==="agents");L(r.repositories||[]),ie(c),fa(r.catalogInstalls||[]),Ht(r.catalogCopies||[]),Za(r.catalogUnknownIds||[]),Ya(r.catalogWarnings||[]),ve.scope==="user"&&!c.some(d=>d.key===ve.location&&d.available)&&ht({...ve,location:c.find(d=>d.available)?.key||"dsh"}),h("/workspaces").then(d=>{W.current&&qa(d.items||[])}).catch(()=>{})}}function Cr(r){if(r.key==="dsh"||r.key==="agents")return f(r.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let c="root."+(r.localeKey||r.key),d=f(c);return d===c?r.label:d}function $a(r){let c=ae.find(d=>d.key===r);return c?Cr(c):f("root."+r)}function Ye(r){if(r.installedWorkspace){let c=m=>{let w=m.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(w)?w.toLowerCase():w},d=qe.find(m=>m.projectRoot&&c(m.projectRoot)===c(r.installedWorkspace));return d?.available&&d.registeredPaths[0]?{workspace:d.registeredPaths[0]}:null}return r.installedRoot==="dsh"||r.installedRoot==="agents"?{root:r.installedRoot}:null}function xa(r){return r.installedWorkspace||r.installedRoot?Ut(r):""}function er(r){let c=r.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(c)?c.toLowerCase():c}function Sa(r){let c=qe.find(w=>w.projectRoot&&er(w.projectRoot)===er(r));if(c?.name)return c.name;let d=r.replace(/[\\/]+$/,""),m=Math.max(d.lastIndexOf("/"),d.lastIndexOf("\\"));return m>=0?d.slice(m+1):d}function Ca(r){let c=!!r.installedWorkspace,d=c?"dsh":r.installedRoot,m=f(d==="agents"?"repo.source.agents":"repo.source.dsh"),w=f(c?"repo.scope.project":"repo.scope.user"),P=c?r.installedWorkspace||"":ae.find(T=>T.key===d)?.path||"";return{lead:c?[w,Sa(r.installedWorkspace||""),m].filter(Boolean).join(" \xB7 "):[w,m].filter(Boolean).join(" \xB7 "),path:P}}function Ut(r){let c=Ca(r);return c.path?c.lead+" "+c.path:c.lead}function ut(r){let c=Ca(r);return s("div",{className:"dssm-repo-metadata",title:Ut(r)},s("span",{className:"dssm-location-lead"},c.lead),c.path?s("span",{className:"dssm-location-path",title:c.path},c.path):null)}function Ot(r){return r.slice().sort((c,d)=>+!!c.installedWorkspace-+!!d.installedWorkspace)}function Ct(r){return Ot((r.installations??(r.installedRoot?[r]:[])).filter(c=>c.tracked===!0))}function Na(r){let c=r,d=v(f,r)||c.message||String(r),m=c?.params?.path;return typeof m=="string"&&m&&!d.includes(m)?d+" \xB7 "+m:d}function pt(r){if(r.payload)return Na(r.payload);if(r.key){let c=r.params||(r.name?{name:r.name,names:r.name}:void 0),d=f(r.key,c),m=r.name&&!d.includes(r.name)?" \xB7 "+r.name:"";return d+m}return r.text||""}async function O(r,c=!0,d=!1){if(!Ue.current){Ue.current=!0,d||(la(!0),oe(null));try{await r(),c&&await St()}catch(m){let w=m;W.current&&oe({error:!0,payload:w})}finally{Ue.current=!1,W.current&&la(!1)}}}function te(r,c){return h(`/repositories/${r}`,{method:"POST",headers:b,body:JSON.stringify(c)})}let Bt=t.useRef(!1);async function et(r=!1,c=!1,d=we){if(!q||d.trim()||$.current||c&&Bt.current)return;let m=je.current;if(!r&&(!m.hasMore||m.count>=100))return;c&&(Bt.current=!0);let w=r?0:m.count,P=new AbortController;$.current=P,Gt(!0),ba(!1),r&&(je.current={cursor:null,count:0,hasMore:!0},Mt([]));try{let H=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-w))}),T=r?null:m.cursor;T&&H.set("cursor",T);let ne=await h(`/clawhub/list?${H.toString()}`,{signal:P.signal});if($.current!==P||P.signal.aborted||!W.current)return;if(!Array.isArray(ne.items))throw new Error("ClawHub response has no items array");let oa=ne.items.flatMap(u=>{if(typeof u.ownerHandle!="string"||!u.ownerHandle||typeof u.slug!="string"||!u.slug)return[];let S=x=>typeof x=="number"&&Number.isFinite(x)?x:void 0;return[{id:u.ownerHandle+"/"+u.slug,owner:u.ownerHandle,slug:u.slug,name:typeof u.displayName=="string"&&u.displayName?u.displayName:u.slug,source:u.ownerHandle+"/"+u.slug,description:typeof u.summary=="string"?u.summary:"",downloads:S(u.stats?.downloads),installs:S(u.stats?.installs),stars:S(u.stats?.stars)}]}).slice(0,Math.max(0,100-w)),a=typeof ne.nextCursor=="string"&&ne.nextCursor?ne.nextCursor:null,n=w+oa.length;if(je.current={cursor:a,count:n,hasMore:!!a&&n<100},!W.current)return;Mt(u=>[...r?[]:u,...oa].slice(0,100)),ha(je.current.hasMore)}catch{$.current===P&&!P.signal.aborted&&W.current&&ba(!0)}finally{$.current===P&&($.current=null,Bt.current=!1,W.current&&Gt(!1))}}function tr(){kt.current&&clearTimeout(kt.current),kt.current=null,wt.current++,ke.current?.abort(),ke.current=null,W.current&&Ne(!1)}async function Ra(r){let c=++wt.current,d=new AbortController;ke.current?.abort(),ke.current=d,$e([]),Ne(!0),Jt(!1);try{let m=new URLSearchParams({q:r,limit:"100"}),w=await h(`/clawhub/search?${m.toString()}`,{signal:d.signal});if(!Array.isArray(w.results))throw new Error("ClawHub search response has no results array");let P=T=>typeof T=="number"&&Number.isFinite(T)?T:void 0,H=w.results.flatMap(T=>{if(typeof T.source=="string"&&T.source!=="clawhub")return[];let ne=typeof T.ownerHandle=="string"?T.ownerHandle:T.owner?.handle;return typeof ne!="string"||!ne||typeof T.slug!="string"||!T.slug?[]:[{id:typeof T.id=="string"?T.id:ne+"/"+T.slug,owner:ne,slug:T.slug,name:typeof T.displayName=="string"&&T.displayName?T.displayName:T.slug,source:ne+"/"+T.slug,description:typeof T.summary=="string"?T.summary:"",downloads:P(T.downloads)??P(T.stats?.downloads),installs:P(T.stats?.installs),stars:P(T.stats?.stars)}]});c===wt.current&&W.current&&$e(H)}catch(m){let w=m?.name==="AbortError";c===wt.current&&W.current&&!w&&Jt(!0)}finally{c===wt.current&&(ke.current=null,W.current&&Ne(!1))}}function Ft(r){pa(r),tr(),$e([]),Jt(!1);let c=r.trim().slice(0,100);if(!c){ee==="clawhub"&&!zt.length&&!jt&&et(!0,!1,c);return}Ne(!0),kt.current=setTimeout(()=>{kt.current=null,Ra(c)},300)}function La(){Re.current&&clearTimeout(Re.current),Re.current=null,Ee.current++,Ze.current?.abort(),Ze.current=null,W.current&&xe(!1)}async function $t(r){let c=++Ee.current,d=new AbortController;Ze.current?.abort(),Ze.current=d,va([]),xe(!0),_t(!1);try{let m=await h(`/skills-sh/search?q=${encodeURIComponent(r)}`,{signal:d.signal});c===Ee.current&&W.current&&va(m.skills)}catch(m){let w=m?.name==="AbortError";c===Ee.current&&W.current&&!w&&_t(!0)}finally{c===Ee.current&&(Ze.current=null,W.current&&xe(!1))}}function Le(r){Ja(r),Re.current&&clearTimeout(Re.current),Re.current=null,Ee.current++,Ze.current?.abort(),Ze.current=null,va([]),xe(!1),_t(!1);let c=r.trim();c&&(Re.current=setTimeout(()=>{Re.current=null,$t(c)},300))}function Ge(r){G(null),ua(r)}function Nr(r){let c=r.getBoundingClientRect(),d=r.parentElement;for(;d;){let m=getComputedStyle(d);if(/(auto|scroll)/.test(`${m.overflowY} ${m.overflow}`)&&d.scrollHeight>d.clientHeight+1){let w=d.getBoundingClientRect();return c.top<=w.bottom+80&&c.bottom>=w.top}d=d.parentElement}return c.top<=window.innerHeight+80}function ea(r){if(y||r.defaultPrevented||r.deltaY<=0||ee!=="clawhub"||we.trim()||!lt||vt||!r.target||!r.currentTarget.contains(r.target))return;let c=_a.current;!c||typeof c.getBoundingClientRect!="function"||!Nr(c)||et(!1,!0)}async function Vt(r){let c=await te("refresh",{id:r}),d=c.error||c.data?.error;d&&oe({error:!0,payload:d})}function ta(r){return O(async()=>{let c=[],d;try{for(let m=0;m<r.length;m++){let w=r[m];Zt({id:w.id,name:w.owner+"/"+w.name,index:m+1,total:r.length});let P=await te("refresh",{id:w.id}),H=P.error||P.data?.error;H&&(c.push(w.owner+"/"+w.name),d=H)}if(await St(),W.current)if(c.length===0)oe({key:"repo.refreshed"});else if(c.length===r.length)oe({error:!0,payload:d});else{let w=(N?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?", ":"\u3001";oe({error:!0,key:"repo.partialRefreshFailed",params:{names:c.join(w)}})}}finally{W.current&&Zt(null)}},!1,!0)}function Rr(r,c){return O(async()=>{Qe("idle"),G({type:"detail",repo:r,loading:!0});try{let d=await te("detail",{id:r.id,path:c.path});W.current&&G({type:"detail",detail:d,repo:r})}catch(d){let m=d;throw W.current&&G({type:"detail",repo:r,failed:!0}),m}},!1,!0)}function ar(r){return O(async()=>{Qe("idle"),G({type:"catalog-detail",loading:!0});try{let c=await h("/catalog/detail",{method:"POST",headers:b,body:JSON.stringify(r)});W.current&&G({type:"catalog-detail",detail:c})}catch(c){let d=c;throw W.current&&G({type:"catalog-detail",failed:!0}),d}},!1,!0)}function mt(r){Ue.current||(oe(null),G({type:"catalog-install",target:r}))}function Lr(){if(!y||y.type!=="catalog-install"||!Y(ve,qe,ae))return;let r=y.target,c=K(ve);return O(async()=>{let d=await h("/catalog/install",{method:"POST",headers:b,body:JSON.stringify({...r,...c})});if(!W.current)return;let m=r.catalog==="skillsh"?`skillsh:${r.source}/${r.skillId}`:`clawhub:${r.owner}/${r.slug}`;fa(H=>H.includes(m)?H:[...H,m]);let w=c.root||"dsh";Ht(H=>H.some(T=>T.id===m&&T.installedRoot===w&&T.installedWorkspace===c.workspace)?H:[...H,{id:m,name:d.name,installedRoot:w,...c.workspace?{installedWorkspace:c.workspace}:{},canUninstall:!0}]),oe({key:"repo.installSuccess",name:r.name}),G(null);let P=await Promise.allSettled([St(),Promise.resolve().then(()=>X?.())]);W.current&&P.some(H=>H.status==="rejected")&&oe({key:"repo.catalog.installRefreshWarning",name:r.name})},!1)}t.useEffect(()=>{q&&O(St,!1)},[q]),t.useEffect(()=>(q&&(ee==="clawhub"?we.trim()?Ra(we.trim()):zt.length||et(!0):ee==="skillsh"&&Dt.trim()&&$t(Dt.trim())),()=>{tr(),La(),$.current?.abort(),$.current=null,Bt.current=!1,W.current&&Gt(!1)}),[q,ee]);function me(r,c,d=!0,m=!1,w=!1){return s(k,{variant:d?"outline":"primary",className:w?"dssm-btn-danger":void 0,disabled:Q||m,onClick:c},f(r))}function Ea(r){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("path",{d:r,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Ie(r,c,d=!1,m){var w=r==="repo.uninstall"||r==="repo.uninstalling"||r==="repo.remove",P=r==="repo.installed"||r==="repo.installedSuccess",H=r==="repo.conflict",T=r==="repo.refresh"||r==="repo.refreshing",ne=T?null:r==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":r==="repo.installElsewhere"?"M8 3v10M3 8h10":r==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":r==="repo.review"?"M2.5 8s2.2-3.5 5.5-3.5S13.5 8 13.5 8s-2.2 3.5-5.5 3.5S2.5 8 2.5 8M8 6.3a1.7 1.7 0 1 1 0 3.4 1.7 1.7 0 0 1 0-3.4":r==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":w?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":H?"M8 2.5l5.5 10.5H2.5L8 2.5zm0 3.5v3.5m0 2v.5":"M8 2.5v7M5.2 7.2 8 10l2.8-2.8M3.5 13.5h9",oa=T?s(J,{size:14}):Ea(ne);return s(k,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(w?" dssm-icon-danger":P?" dssm-icon-success":H?" dssm-icon-warn":""),"aria-label":f(r),title:m||f(r),icon:oa,disabled:Q||d,onClick:c,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},w?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},w?{danger:!0}:{}))}function Er(r){G({type:"remove",repo:r})}function rr(r){let c=r.url||"",d="GitHub",m="0 0 16 16",w="M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z";/gitee\.com/i.test(c)?(d="Gitee",m="0 0 24 24",w="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):/gitlab(\.|\/)/i.test(c)?(d="GitLab",m="0 0 24 24",w="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):c&&!/github\.com/i.test(c)&&(d="Git",m="0 0 24 24",w="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187");let H=(N?.()||(typeof navigator<"u"?navigator.language:"")||"zh").toLowerCase().startsWith("en")?" repository":" \u4ED3\u5E93";return s("span",{className:"dssm-source-brand",title:d+H},s("svg",{viewBox:m,width:16,height:16,fill:"currentColor","aria-hidden":!0},s("path",{d:w})))}function Ar(r){return Ce&&Ce.id===r.id?s(k,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":f("repo.refreshing"),title:f("repo.refreshing"),icon:s(A,{size:14,className:"dssm-repo-spinner"}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):Ie("repo.refresh",()=>ta([r]))}function Aa(){return R.length?R.map(r=>s("div",{key:r.id,className:"dssm-repo-row dssm-repo-manage-row"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name",style:{display:"flex",alignItems:"center",gap:"6px"}},rr(r),s("span",null,r.owner+"/"+r.name)),s("div",{className:"dssm-note"},[r.ref||f("repo.defaultBranch"),r.subdirectory].filter(Boolean).join(" \xB7 ")),s("div",{className:"dssm-repo-metadata"},r.refreshedAt?f("repo.updated")+" \xB7 "+new Date(r.refreshedAt).toLocaleString(N?.()||f("format.locale")):f("repo.notScanned"))),s("div",{className:"dssm-repo-actions"},Ar(r),Ie("repo.remove",()=>Er(r))))):s("div",{className:"dssm-empty"},f("repo.empty"))}function aa(r,c=!1){let d=Ce&&(!c||Ce.id===r[0]?.id);return s(k,{variant:"outline",disabled:Q||!!Ce||!r.length,"aria-busy":!!d,onClick:()=>ta(r)},d?s(A,{size:14,className:"dssm-repo-spinner"}):null,f(d?"repo.refreshing":"repo.refresh"))}function or(r){return!!r&&(r.type==="install"||r.type==="uninstall"||r.type==="catalog-install"||r.type==="catalog-uninstall"||r.type==="review"||r.type==="rollback")}function Oe(){Ue.current&&or(y)||(Qe("idle"),G(null))}function Pa(r,c,d,m){Ue.current||r==="uninstall"&&(!m||!m.canUninstall||!Ye(m))||(oe(null),G({type:r,repo:c,skill:d,copy:m}))}function nr(){if(!y||y.type!=="install"&&y.type!=="uninstall")return;let r=y,c=r.type,d=ve;if(c==="install"&&!Y(d,qe,ae))return;let m=c==="install"?K(d):r.copy&&Ye(r.copy);if(m)return O(async()=>{let w={id:r.repo.id,path:r.skill.path,...m};ot({...w,action:c,pending:!0,key:"repo."+c+"Progress"});try{await te(c,w)}catch(T){let ne=T;throw W.current&&ot({...w,action:c,error:!0,payload:ne}),ne}if(!W.current)return;let P="repo."+c+"Success";ot({...w,action:c,key:P}),oe({key:P,name:r.skill.name}),G(null);let H=await Promise.allSettled([St(),Promise.resolve().then(()=>X?.())]);for(let T of H)if(T.status==="rejected")throw T.reason},!1)}function sr(r,c,d,m=!1){let w=Ye(d);if(!(!w||(m?!d.canRollback:!d.tracked)))return O(async()=>{let P=await te("preview",{id:r.id,path:c.path,...w,rollback:m});G({type:m?"rollback":"review",repo:r,skill:c,copy:d,detail:P})})}function Ia(){if(!y||y.type!=="review"&&y.type!=="rollback")return;let r=y,c=r.type==="rollback",d=Ye(r.copy);if(d)return O(async()=>{let m={id:r.repo.id,path:r.skill.path,...d};ot({...m,pending:!0,key:"repo.updateProgress"});try{await te(c?"rollback":"update",{...m,token:r.detail.token,overwrite:r.detail.localModified})}catch(P){let H=P;throw W.current&&ot({...m,error:!0,payload:H}),H}if(!W.current)return;let w=c?"repo.rollbackSuccess":"repo.updateSuccess";ot({...m,key:w}),oe({key:w}),G(null),X&&await X()})}function ir(r,c,d){return s(k,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:Q,"aria-label":f(r),title:f(r),icon:Ea(c),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:d})}function Pr(r){let c=Ce&&Ce.id===r[0]?.id;return s(k,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:Q||!r.length,"aria-busy":!!c,"aria-label":f(c?"repo.refreshing":"repo.refresh"),title:f(c?"repo.refreshing":"repo.refresh"),icon:c?s(A,{size:14,className:"dssm-repo-spinner"}):s(J,{size:14}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>ta(r)})}function Ir(){return s("div",{className:"dssm-filter-actions"},Pr(R),ir("repo.add","M8 2.5v11M2.5 8h11",()=>{oe(null),ka({url:"",ref:"",subdirectory:""}),G({type:"add"})}),ir("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{oe(null),G({type:"manage"})}))}let lr=s("div",{key:"repository-actions",className:"dssm-actions"},aa(R),me("repo.add",()=>{oe(null),ka({url:"",ref:"",subdirectory:""}),G({type:"add"})},!1),me("repo.manage",()=>{oe(null),G({type:"manage"})})),Tr=R.filter(r=>!Pt||r.id===Pt);function zr(r,c,d){let m=Ye(d),w=le?.id===r.id&&le.path===c.path&&le.pending&&m&&le.root===m.root&&le.workspace===m.workspace;return s("div",{className:"dssm-repo-copy-actions"},d.tracked&&(d.updateAvailable||d.status==="conflict")?Ie("repo.review",()=>sr(r,c,d),!m):null,d.canRollback?Ie("repo.rollback",()=>sr(r,c,d,!0),!m):null,d.canUninstall?Ie(w&&le.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>Pa("uninstall",r,c,d),!m,Ut(d)):null)}function Mr(r,c,d){let m=Ye(d);return s("div",{className:"dssm-repo-copy",key:JSON.stringify([d.installedRoot,d.installedWorkspace||""])},ut(d),zr(r,c,d),m?null:s("div",{className:"dssm-note",role:"status"},f("repo.destinationUnavailable")))}let Ta=Tr.map(r=>{let c=nt.trim().toLowerCase(),d=r.skills.filter(P=>(!It||P.status===It)&&(!c||`${P.name} ${P.description} ${r.owner}/${r.name}`.toLowerCase().includes(c))),m=ye[r.id]===void 0?!!c||!!It:ye[r.id],w=m?d.length?d.map(P=>{let H=Ct(P),T=H.length===1?H[0]:void 0;return s("div",{key:P.path,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},P.name),s("div",{className:"dssm-repo-description",title:P.description},P.description),T&&!Ye(T)?s("div",{className:"dssm-note",role:"status"},f("repo.destinationUnavailable")):null,le?.id===r.id&&le.path===P.path?s("div",{className:"dssm-note"+(le.error?" dssm-error":""),role:le.error?"alert":"status","aria-live":"polite"},pt(le)):null),s("div",{className:"dssm-repo-actions"},Ie("repo.detail",()=>Rr(r,P)),Ie(le?.id===r.id&&le.path===P.path&&le.pending&&le.action==="install"?"repo.installing":H.length?"repo.installElsewhere":"repo."+(P.status==="available"?"install":P.status),()=>Pa("install",r,P),!H.length&&P.status!=="available"))),H.length?s("div",{className:"dssm-repo-copies"},H.map(ne=>Mr(r,P,ne))):null)}):s("div",{className:"dssm-empty"},f("repo.noSkills")):null;return s("div",{key:r.id},s("section",{className:"dssm-source"},s("div",{className:"dssm-source-head"},s("button",{type:"button",className:"dssm-source-toggle","aria-expanded":m,onClick:()=>Tt({...ye,[r.id]:!m})},ue(m),s("div",{className:"dssm-source-label"},rr(r),s("span",{className:"dssm-source-title"},r.owner+"/"+r.name),s("span",{className:"dssm-count"},d.length),s("span",{className:"dssm-source-path",title:r.owner+"/"+r.name},[r.ref||f("repo.defaultBranchLabel"),r.subdirectory].filter(Boolean).join(" \xB7 ")||r.owner+"/"+r.name))),s("span",{className:"dssm-repo-commit-badge",title:r.commit||f("repo.notScanned")},r.commit?r.commit.slice(0,7):f("repo.notScanned"))),m?s("div",{className:"dssm-source-body",role:"region"},w):null),r.error?s("div",{className:"dssm-feedback dssm-error",role:"alert"},Na(r.error)):null)});function ft(r,c,d,m){return s(p,{label:f(r),value:c,onChange:d,options:[{value:"",label:f(r)},...m.map(([w,P])=>({value:w,label:P}))]})}let Te=At?s("div",{className:"dssm-feedback"+(At.error?" dssm-error":""),role:At.error?"alert":"status"},pt(At)):null,cr=Ce?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},f("repo.refreshing")+" "+Ce.index+"/"+Ce.total+" \xB7 "+Ce.name):null,dr;if(y){let r,c,d;if(y.type==="install"&&(r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.skill.name),s(I,{t:f,value:ve,disabled:Q,allowAgents:!0,workspaces:qe,userDestinations:ae,onChange:m=>{Ue.current||ht({...ve,...m})}}),s("p",{className:"dssm-note"},f("repo.installLocationsHint")),s("p",{className:"dssm-note"},f("repo.installHint")),Q?s("div",{role:"status","aria-live":"polite"},f("repo.installProgress")):null,Te,s("div",{className:"dssm-modal-actions"},me("repo.cancel",Oe),me(Q?"repo.installing":"repo.install",nr,!1,!Y(ve,qe,ae))))),y.type==="uninstall"&&(c=f("repo.uninstallHint"),r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.skill.name),y.copy?s("div",{className:"dssm-repo-metadata"},xa(y.copy)):null,y.copy?.installedRoot==="agents"&&!y.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},f("repo.uninstallExternalWarning")):null,Q?s("div",{role:"status","aria-live":"polite"},f("repo.uninstallProgress")):null,Te),d=s(t.Fragment,null,me("repo.cancel",Oe),me(Q?"repo.uninstalling":"repo.confirmUninstall",nr,!0,!y.copy||!Ye(y.copy),!0))),(y.type==="review"||y.type==="rollback")&&(r=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},y.skill.name),s("div",{className:"dssm-repo-metadata"},xa(y.copy)),s("div",{className:"dssm-repo-metadata"},y.repo.owner+"/"+y.repo.name+" \xB7 "+y.detail.commit?.slice(0,7)),y.detail.localModified?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},f("repo.modified")):null,y.detail.changes.length?s("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},y.detail.changes.map(m=>s("li",{key:m.path},f("repo."+(m.kind==="modified"?"modifiedFile":m.kind))+" \xB7 "+m.path))):s("p",null,f("repo.noChanges")),Q?s("div",{role:"status"},f("repo.updateProgress")):null,Te),d=s(t.Fragment,null,me("repo.cancel",Oe),me(y.detail.localModified?"repo.overwrite":y.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",Ia,!1,!y.detail.changes.length||!Ye(y.copy)))),y.type==="add"&&(r=s("form",{className:"dssm-form",onSubmit:m=>{m.preventDefault(),De.url.trim()&&O(async()=>{let w=await te("add",De);await Vt(w.id),G(null)})}},[["url","repo.url",f("repo.urlPlaceholder")],["ref","repo.ref",f("repo.defaultBranch")],["subdirectory","repo.directory",f("repo.directoryHint")]].map(([m,w,P])=>s("label",{className:"dssm-field",key:m},s("span",{className:"dssm-label"},f(w)),s(i,{"aria-label":f(w),value:De[m],placeholder:P,maxLength:m==="url"?2048:512,required:m==="url",disabled:Q,onChange:H=>ka({...De,[m]:H.target.value})}))),Te,s("div",{className:"dssm-modal-actions"},me("repo.cancel",Oe),me("repo.save",()=>{De.url.trim()&&O(async()=>{let m=await te("add",De);await Vt(m.id),G(null)})},!1,!De.url.trim())))),y.type==="manage"&&(r=s("div",{className:"dssm-repo-panel"},s("p",{className:"dssm-desc"},f("repo.removeHint")),cr,Te,Aa())),y.type==="remove"&&(c=f("repo.removeHint"),r=s("div",null,s("div",{className:"dssm-name"},y.repo.owner+"/"+y.repo.name),Te),d=s(t.Fragment,null,me("repo.cancel",()=>G({type:"manage"})),me("repo.removeConfirm",()=>O(async()=>{await te("remove",{id:y.repo.id}),Pt===y.repo.id&&st(""),G({type:"manage"})}),!0,!1,!0))),y.type==="catalog-detail"&&y.detail){let m=y.detail;r=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-detail-head"},s("div",{className:"dssm-name",title:m.name},m.name),m.body?s(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ga(m.body)},f(yt==="copied"?"repo.copied":yt==="failed"?"repo.copyFailed":"repo.copyBody")):null),s("p",{className:"dssm-desc"},m.description),s("div",{className:"dssm-detail-path"},m.origin),s("p",{className:"dssm-note"},f("repo.installHint")),s(i.TextArea,{className:"dssm-detail-body",readOnly:!0,value:m.body||"",rows:16}))}if(y.type==="catalog-detail"&&!y.detail&&(r=s("div",{role:"status",className:"dssm-repo-panel"},y.loading?f("repo.detailLoading"):null,y.failed?Te:null)),y.type==="catalog-install"&&(r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.target.name),s(I,{t:f,value:ve,disabled:Q,allowAgents:!0,workspaces:qe,userDestinations:ae,onChange:m=>{Ue.current||ht({...ve,...m})}}),s("p",{className:"dssm-note"},f("repo.installLocationsHint")),s("p",{className:"dssm-note"},f("repo.installHint")),Q?s("div",{role:"status","aria-live":"polite"},f("repo.installProgress")):null,Te,s("div",{className:"dssm-modal-actions"},me("repo.cancel",Oe),me(Q?"repo.installing":"repo.install",Lr,!1,!Y(ve,qe,ae))))),y.type==="catalog-uninstall"&&(c=f("repo.uninstallHint"),r=s("div",{className:"dssm-repo-panel","aria-busy":Q},s("div",{className:"dssm-name"},y.copy.name),s("div",{className:"dssm-repo-metadata"},Hr(y.copy)),y.copy.installedRoot==="agents"&&!y.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},f("repo.uninstallExternalWarning")):null,Q?s("div",{role:"status","aria-live":"polite"},f("repo.uninstallProgress")):null,Te),d=s(t.Fragment,null,me("repo.cancel",Oe),me(Q?"repo.uninstalling":"repo.confirmUninstall",jr,!0,!1,!0))),y.type==="detail"&&y.detail){let m=y.detail;r=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-detail-head"},s("div",{className:"dssm-name",title:m.name},m.name),m.body?s(k,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>ga(m.body)},f(yt==="copied"?"repo.copied":yt==="failed"?"repo.copyFailed":"repo.copyBody")):null),s("p",{className:"dssm-desc"},m.description),s("div",{className:"dssm-detail-path"},y.repo.owner+"/"+y.repo.name+" \xB7 "+m.path),s("div",{className:"dssm-repo-metadata"},f("repo.commit")+" \xB7 "+m.commit),s("p",{className:"dssm-note"},f("repo.installHint")),s(i.TextArea,{className:"dssm-detail-body",readOnly:!0,value:m.body||"",rows:16}))}y.type==="detail"&&!y.detail&&(r=s("div",{role:"status",className:"dssm-repo-panel"},y.loading?f("repo.detailLoading"):null,y.failed?Te:null)),dr=s(e,{className:y.type==="detail"||y.type==="catalog-detail"?"dssm-modal-wide":void 0,title:f("repo."+(y.type==="catalog-detail"?"detail":y.type==="catalog-install"?"install":y.type==="catalog-uninstall"?"uninstall":y.type==="remove"?"remove":y.type)),description:c,footer:d,closeLabel:f("repo.close"),onClose:Oe},r)}function za(r){return ma.includes(r)||Ma(r).length>0}function Ma(r){return Ot(Sr.filter(c=>c.id===r))}function Hr(r){return Ut(r)}function ur(r){!Ue.current&&r.canUninstall&&(oe(null),G({type:"catalog-uninstall",copy:r}))}function jr(){if(!y||y.type!=="catalog-uninstall")return;let r=y.copy;return O(async()=>{if(await h("/delete",{method:"POST",headers:b,body:JSON.stringify({name:r.name,root:r.installedRoot,...r.installedWorkspace?{workspace:r.installedWorkspace}:{}})}),!W.current)return;Ht(d=>d.filter(m=>m!==r&&!(m.id===r.id&&m.installedRoot===r.installedRoot&&m.installedWorkspace===r.installedWorkspace))),oe({key:"repo.uninstallSuccess",name:r.name}),G(null);let c=await Promise.allSettled([St(),Promise.resolve().then(()=>X?.())]);W.current&&c.some(d=>d.status==="rejected")&&oe({key:"repo.catalog.uninstallRefreshWarning",name:r.name})},!1)}function pr(r,c,d,m){let w=Ma(r);return s("div",{className:"dssm-repo-actions"},Ie("repo.detail",d),c&&!w.length?s("span",{className:"dssm-note",role:"status"},f("repo.catalog.unknownLocation")):null,w.length?Ie("repo.installElsewhere",m):za(r)?s("span",{className:"dssm-catalog-installed",role:"status"},f("repo.installed")):Ie(c?"repo.catalog.reassociate":"repo.install",m))}function mr(r){let c=Ma(r);return c.length?s("div",{className:"dssm-repo-copies"},c.map(d=>s("div",{className:"dssm-repo-copy",key:JSON.stringify([d.id,d.installedRoot,d.installedWorkspace||""])},ut(d),d.canUninstall?Ie("repo.uninstall",()=>ur(d),!1,Ut(d)):null))):null}let Ha=zt.filter(r=>{let c=za(`clawhub:${r.owner}/${r.slug}`);return!ge||(ge==="installed"?c:!c)}),Ae=bt==="installs"?Ha.slice().sort((r,c)=>(c.installs||0)-(r.installs||0)):bt==="name"?Ha.slice().sort((r,c)=>r.name.localeCompare(c.name)):Ha,tt=r=>{let c=Yt.includes(`clawhub:${r.owner}/${r.slug}`),d=[r.source,r.downloads===void 0?null:r.downloads.toLocaleString()+" "+f("repo.catalog.downloads"),r.installs===void 0?null:r.installs.toLocaleString()+" "+f("repo.catalog.installs"),r.stars===void 0?null:r.stars.toLocaleString()+" "+f("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return s("div",{key:r.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},r.name),r.description?s("div",{className:"dssm-repo-description",title:r.description},r.description):null,s("div",{className:"dssm-meta-origin"},d)),pr(`clawhub:${r.owner}/${r.slug}`,c,()=>ar({catalog:"clawhub",owner:r.owner,slug:r.slug,name:r.name}),()=>mt({catalog:"clawhub",owner:r.owner,slug:r.slug,name:r.name}))),mr(`clawhub:${r.owner}/${r.slug}`))},gt=s("div",{className:"dssm-catalog-list",onWheel:ea},Ae.map(tt),!Ae.length&&!jt&&!vt?s("div",{className:"dssm-empty"},f("repo.catalog.empty")):null,jt?s("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},s("span",{className:"dssm-repo-spinner","aria-hidden":!0}),zt.length?f("repo.catalog.loadingMore"):f("repo.catalog.loading")):null,vt?s("div",{className:"dssm-feedback dssm-error",role:"alert"},f("repo.catalog.loadError"),s(k,{variant:"ghost",size:"sm",onClick:()=>{et()}},f("repo.catalog.retry"))):null,ee==="clawhub"&&!we.trim()&<&&!vt?s("div",{className:"dssm-catalog-sentinel",ref:_a,"aria-hidden":!0}):null,ee==="clawhub"&&!we.trim()&<&&!vt&&!jt?s("div",{className:"dssm-catalog-loading"},s(k,{variant:"ghost",size:"sm",onClick:()=>{et(!1,!0)}},f("repo.catalog.loadMore"))):null),ce=s("div",{className:"dssm-catalog-list"},Ga.map(tt),we.trim()&&!Ga.length&&!ya&&!ct?s("div",{className:"dssm-empty"},f("repo.catalog.searchEmpty")):null,ya?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},f("repo.catalog.searchLoading")):null,ct?s("div",{className:"dssm-feedback dssm-error",role:"alert"},f("repo.catalog.searchError"),s(k,{variant:"ghost",size:"sm",onClick:()=>{Ra(we.trim())}},f("repo.catalog.retry"))):null),ja=xt.filter(r=>{if(!Xt)return!0;let c=za(`skillsh:${r.source}/${r.skillId}`);return Xt==="installed"?c:!c}),ra=s("div",{className:"dssm-catalog-list"},ja.map(r=>{let c=`skillsh:${r.source}/${r.skillId}`,d=Yt.includes(c),m=[r.source,r.installs===void 0?null:r.installs.toLocaleString()+" "+f("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return s("div",{key:r.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},r.name),s("div",{className:"dssm-meta-origin"},m)),pr(c,d,()=>ar({catalog:"skillsh",source:r.source,skillId:r.skillId,name:r.name}),()=>mt({catalog:"skillsh",source:r.source,skillId:r.skillId,name:r.name}))),mr(c))}),Dt.trim()&&!ja.length&&!dt&&!wa?s("div",{className:"dssm-empty"},f("repo.catalog.skillshEmpty")):null,dt?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},f("repo.catalog.skillshLoading")):null,wa?s("div",{className:"dssm-feedback dssm-error",role:"alert"},f("repo.catalog.skillshError"),s(k,{variant:"ghost",size:"sm",onClick:()=>{$t(Dt.trim())}},f("repo.catalog.retry"))):null),Nt=s("div",{className:"dssm-subsources"},s("button",{type:"button",className:"dssm-subsource-btn"+(ee==="github"?" on":""),"aria-pressed":ee==="github",onClick:()=>Ge("github")},f("repo.subsource.github")+" ("+R.length+")"),s("button",{type:"button",className:"dssm-subsource-btn"+(ee==="clawhub"?" on":""),"aria-pressed":ee==="clawhub",onClick:()=>Ge("clawhub")},f("repo.subsource.clawhub")),s("button",{type:"button",className:"dssm-subsource-btn"+(ee==="skillsh"?" on":""),"aria-pressed":ee==="skillsh",onClick:()=>Ge("skillsh")},f("repo.subsource.skillsh"))),Wt=ee==="github"?s("div",{className:"dssm-filters"},s("div",{className:"dssm-source-filter"},ft("repo.all",Pt,st,R.map(r=>[r.id,r.owner+"/"+r.name]))),s("div",{className:"dssm-status-filter"},ft("repo.states",It,r=>{da(r),Tt({})},["available","installed","update","conflict","invalid"].map(r=>[r,f("repo."+r)]))),s(i,{className:"dssm-search",allowClear:!0,"aria-label":f("repo.search"),placeholder:f("repo.search"),value:nt,onChange:r=>{ca(r.target.value),Tt({})}}),Ir()):ee==="clawhub"?s("div",{className:"dssm-filters dssm-catalog-filters"},we.trim()?null:s("div",{className:"dssm-catalog-sort-filter"},ft("repo.subsource.popular",bt,Qa,[["installs",f("repo.sort.installs")],["name",f("repo.sort.name")]])),we.trim()?null:s("div",{className:"dssm-catalog-status-filter"},ft("repo.catalog.states",ge,it,[["available",f("repo.available")],["installed",f("repo.installed")]])),s(i,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":f("repo.catalog.searchClawhub"),placeholder:f("repo.catalog.searchClawhub"),value:we,onChange:r=>Ft(r.target.value)})):ee==="skillsh"?s("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},s("div",{className:"dssm-catalog-status-filter"},ft("repo.catalog.states",Xt,Xa,[["available",f("repo.catalog.uninstalled")],["installed",f("repo.installed")]])),s(i,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":f("repo.catalog.searchSkillsh"),placeholder:f("repo.catalog.searchSkillsh"),value:Dt,onChange:r=>Le(r.target.value)})):null,fr=s("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":Q},s("style",null,Zo),Nt,ee==="github"?s("p",{className:"dssm-desc"},f("repo.hint")):ee==="clawhub"&&!we.trim()?s("p",{className:"dssm-desc"},f("repo.subsource.catalogNote")):null,Wt,Yt.length?s("div",{className:"dssm-note",role:"status"},f("repo.catalog.unknownHint")):null,He.map(r=>s("div",{key:r.id,className:"dssm-feedback dssm-error",role:"alert"},r.id+" \xB7 "+Na(r))),Te,y?null:cr,Q&&!Ce?s("div",{className:"dssm-note",role:"status"},f("repo.loading")):null,ee==="github"?R.length?Ta:s("div",{className:"dssm-empty"},f("repo.empty")):ee==="skillsh"?ra:we.trim()?ce:gt,s("p",{className:"dssm-note"},f("repo.footer")),dr);return{actions:lr,content:fr,focusSource:(r,c)=>{st(r.id),ca(c),da(""),Tt({[r.id]:!0})}}}}var sa=()=>({scope:"user",location:"dsh",workspace:""});function gr(t){return t.scope==="workspace"?{workspace:t.workspace}:{root:t.location==="agents"?"agents":"dsh"}}function Kt(t,e,i){return t.scope==="user"?!i||i.some(l=>l.key===t.location&&l.available===!0):e.some(l=>l.available&&!!l.registeredPaths[0]&&l.registeredPaths[0]===t.workspace)}function Yo(t){let e=t.includes("\\")?"\\":"/";return t.replace(/[\\/]+$/,"")+e+".dsh"+e+"skills"}var Ur={zh:{"dest.scope":"\u8303\u56F4","dest.scope.user":"\u7528\u6237\u76EE\u5F55","dest.scope.workspace":"\u6307\u5B9A\u5DE5\u4F5C\u533A","dest.workspace":"\u5DE5\u4F5C\u533A","dest.workspace.placeholder":"\u8BF7\u9009\u62E9\u5DE5\u4F5C\u533A","dest.workspace.unavailable":"{name}\uFF08\u76EE\u5F55\u4E0D\u53EF\u7528\uFF09","dest.pickFirst":"\u5148\u9009\u62E9\u4E00\u4E2A\u5DF2\u767B\u8BB0\u5DE5\u4F5C\u533A\u3002\u786E\u8BA4\u524D\u4E0D\u4F1A\u521B\u5EFA\u76EE\u5F55\u3002","dest.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\uFF0C\u518D\u56DE\u5230\u8FD9\u91CC\u9009\u62E9\u3002","dest.location":"\u4F4D\u7F6E","dest.location.dsh":"DSH skills","dest.location.agents":"Shared Agent","dest.location.agentsOff":"\u5DE5\u4F5C\u533A\u53EA\u652F\u6301 DSH skills\u3002","dest.projectNote":"\u4F1A\u5199\u8FDB\u8FD9\u4E2A\u9879\u76EE\uFF0C\u53EF\u80FD\u88AB\u63D0\u4EA4\u5230\u4ED3\u5E93\u3002","dest.createdInWorkspace":"\u5DF2\u521B\u5EFA\u5728\u6240\u9009\u5DE5\u4F5C\u533A\u3002\u8981\u5728\u8BE5\u5DE5\u4F5C\u533A\u7684\u4F1A\u8BDD\u91CC\u624D\u4F1A\u770B\u5230\u3002"},en:{"dest.scope":"Scope","dest.scope.user":"User directory","dest.scope.workspace":"Specific workspace","dest.workspace":"Workspace","dest.workspace.placeholder":"Select a workspace","dest.workspace.unavailable":"{name} (directory unavailable)","dest.pickFirst":"Select a registered workspace first. No directory is created before you confirm.","dest.empty":"No registered workspaces yet. Add one in the sidebar, then come back.","dest.location":"Location","dest.location.dsh":"DSH skills","dest.location.agents":"Shared Agent","dest.location.agentsOff":"Workspaces support DSH skills only.","dest.projectNote":"This is written into the project and may be committed to its repository.","dest.createdInWorkspace":"Created in the selected workspace. It appears in sessions of that workspace."}},$r=[".dssm-destination{display:flex;flex-direction:column;gap:12px}",".dssm-destination .dssm-field{display:flex;flex-direction:column;gap:6px;min-width:0}",".dssm-destination-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}",".dssm-destination-pair .dssm-menu-select-wrap{width:100%;min-width:0}",'.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"],.dssm-destination-pair .dssm-source-select-menu{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}',".dssm-destination-pair .dssm-menu-select-trigger{display:flex!important;width:100%!important;min-width:0!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}","@media (max-width:420px){.dssm-destination-pair{grid-template-columns:minmax(0,1fr)}}",".dssm-destination-path{display:block;box-sizing:border-box;width:100%;padding:8px 10px;border:0.5px solid var(--dsw-alias-border-l2,rgba(127,127,127,.2));border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,rgba(127,127,127,.06));overflow-wrap:anywhere;font-size:12px;line-height:18px}",".dssm-destination-unavailable{display:flex;flex-direction:column;gap:2px}"].join("");function Go({react:t,SourceSelect:e,translateError:i}){let l=t.createElement;return function({t:g,value:h,onChange:b,workspaces:v,userDestinations:N,allowAgents:C,disabled:z}){let s=h.scope==="workspace",A=v.find(R=>!!R.registeredPaths[0]&&R.registeredPaths[0]===h.workspace),J=[{value:"user",label:g("dest.scope.user")},{value:"workspace",label:g("dest.scope.workspace")}],ue=new Map;for(let R of v)ue.set(R.name,(ue.get(R.name)??0)+1);let k=[{value:"",label:g("dest.workspace.placeholder")}].concat(v.map(R=>({value:R.registeredPaths[0]||"",label:R.available?(ue.get(R.name)??0)>1?R.name+" \xB7 "+R.path:R.name:g("dest.workspace.unavailable",{name:R.name}),disabled:!R.available||!R.registeredPaths[0]}))),be=(C?["dsh","agents"]:["dsh"]).filter(R=>N.some(L=>L.key===R)),K=R=>N.find(L=>L.key===R),Y=R=>be.some(L=>L===R)&&K(R)?.available!==!1,pe=be.map(R=>({value:R,label:g("dest.location."+R),disabled:K(R)?.available===!1})),q=s?l("div",{className:"dssm-field",key:"workspace"},l("span",{className:"dssm-label"},g("dest.workspace")),l(e,{label:g("dest.workspace"),value:h.workspace,disabled:z||v.length===0,options:k,onChange:R=>{!z&&v.length>0&&(R===""||Kt({...h,scope:"workspace",workspace:R},v))&&b({workspace:R})}})):l("div",{className:"dssm-field",key:"location"},l("span",{className:"dssm-label"},g("dest.location")),l(e,{label:g("dest.location"),value:h.location,disabled:z||be.length===0,options:pe,onChange:R=>{!z&&Y(R)&&b({location:R})}})),f=s?A&&A.available?Yo(A.projectRoot||A.path):"":K(h.location)?.path??"",X=s?[]:be.filter(R=>K(R)?.available===!1);return l("div",{className:"dssm-destination"},l("div",{className:"dssm-destination-pair"},l("div",{className:"dssm-field",key:"scope"},l("span",{className:"dssm-label"},g("dest.scope")),l(e,{label:g("dest.scope"),value:h.scope,disabled:z,options:J,onChange:R=>{!z&&(R==="workspace"||R==="user")&&b(R==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),q),s&&v.length===0?l("p",{className:"dssm-feedback dssm-warning",role:"status"},g("dest.empty")):null,s&&v.length>0&&!A?l("p",{className:"dssm-note"},g("dest.pickFirst")):null,f?l("code",{className:"dssm-destination-path"},f):null,X.map(R=>l("div",{key:R,className:"dssm-note dssm-destination-unavailable"},l("span",null,g("dest.location."+R)),l("code",{className:"dssm-destination-path"},K(R)?.path??""),l("span",null,K(R)?.error?i(g,K(R).error):""))),s&&A?l("p",{className:"dssm-note"},g("dest.projectNote")+" "+g("dest.location.agentsOff")):null)}}function eo(t){return{DestinationPicker:Go(t),defaultDestination:sa,destinationPayload:gr,destinationReady:Kt}}var F=na(require("react"),1),Or=require("react-dom/client"),qt=require("@deepseek-ai/dsh-client-ui-primitives");var Jo={check:"\u68C0\u67E5\u66F4\u65B0",update:"\u66F4\u65B0",close:"\u5173\u95ED",recheck:"\u91CD\u65B0\u68C0\u67E5",auto:"\u81EA\u52A8\u66F4\u65B0",updating:"\u6B63\u5728\u66F4\u65B0\u2026",copy:"\u590D\u5236\u547D\u4EE4",copied:"\u5DF2\u590D\u5236",copyFailed:"\u590D\u5236\u5931\u8D25",checking:"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026",latest:"\u5DF2\u662F\u6700\u65B0\u7248\u672C",found:"\u53D1\u73B0\u65B0\u7248\u672C",failed:"\u68C0\u67E5\u66F4\u65B0\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",current:"\u8FD0\u884C\u7248\u672C",latestLabel:"\u6700\u65B0\u7248\u672C",profile:"\u76EE\u6807 profile",unknown:"\u672A\u77E5",manual:"\u624B\u5DE5\u66F4\u65B0",manualHint:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u53EF\u5728\u5F53\u524D DSH \u7EC8\u7AEF\u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\uFF0C\u5B8C\u6210\u540E\u91CD\u542F DSH Web\u3002",manualHintDesktop:"\u81EA\u52A8\u66F4\u65B0\u5931\u8D25\u65F6\uFF0C\u8BF7\u5148\u5B8C\u5168\u9000\u51FA DSH Desktop\uFF0C\u518D\u7528 Desktop \u81EA\u5E26\u7684 dsh \u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\u3002\u666E\u901A dsh \u4F1A\u62D2\u7EDD desktop profile\u3002",intro:"\u4EC5\u68C0\u67E5\u5E76\u66F4\u65B0\u5F53\u524D\u63D2\u4EF6\uFF0C\u4E0D\u4F1A\u8054\u52A8\u5B89\u88C5\u5176\u4ED6\u63D2\u4EF6\u3002",restart:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u91CD\u542F DSH Web\u3002",restartDesktop:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u8BF7\u5B8C\u5168\u9000\u51FA\u5E76\u91CD\u65B0\u6253\u5F00 DSH Desktop\u3002",restarting:"\u66F4\u65B0\u5B8C\u6210\uFF0C\u6B63\u5728\u91CD\u542F DSH Desktop\u2026",unavailable:"\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u81EA\u52A8\u66F4\u65B0\uFF0C\u8BF7\u4F7F\u7528\u624B\u5DE5\u66F4\u65B0\u547D\u4EE4\u3002"},Xo={check:"Check for updates",update:"Update",close:"Close",recheck:"Check again",auto:"Update automatically",updating:"Updating\u2026",copy:"Copy command",copied:"Copied",copyFailed:"Copy failed",checking:"Checking for updates\u2026",latest:"You are up to date",found:"New version available",failed:"Could not check for updates. Try again later.",current:"Running version",latestLabel:"Latest version",profile:"Target profile",unknown:"Unknown",manual:"Manual update",manualHint:"If automatic update fails, run this command in the current DSH terminal, then restart DSH Web.",manualHintDesktop:"If automatic update fails, fully quit DSH Desktop, then run this command with Desktop's own dsh. A regular dsh rejects the desktop profile.",intro:"Only this plugin is checked and updated. Other plugins are not changed.",restart:"Update complete. Restart DSH Web.",restartDesktop:"Update complete. Fully quit and reopen DSH Desktop.",restarting:"Update complete. Restarting DSH Desktop\u2026",unavailable:"Automatic update is unavailable. Use the manual command."};function Ua(t){return t.toLowerCase().startsWith("zh")?Jo:Xo}function _o(t,e,i,l){let p=Ua(t),g=e?.restartDesktop===!0||e?.profileName==="desktop",h=g?{...p,manualHint:p.manualHintDesktop}:p,b=i!=="idle",v=h.checking,N="";return i==="checking"?v=h.checking:i==="updating"?v=h.updating:l.type==="error"?(v=l.message||h.failed,N="error"):l.type==="restart"?(v=g?h.restartDesktop:h.restart,N="success"):l.type==="restarting"?(v=h.restarting,N="success"):e===void 0?v=h.checking:e.latestCheckFailed?(v=h.failed,N="error"):!e.canAutoUpdate&&e.updateAvailable?(v=h.unavailable,N="update"):e.updateAvailable?(v=`${h.found}: v${e.latestVersion??h.unknown}`,N="update"):(v=h.latest,N="success"),{copy:h,busy:b,message:v,kind:N,loading:i==="updating",updateLabel:i==="updating"?h.updating:h.auto,disabled:b||e?.canAutoUpdate!==!0||e.updateAvailable!==!0,currentVersion:e===void 0?h.unknown:`v${e.currentVersion}`,latestVersion:e?.latestVersion===void 0?h.unknown:`v${e.latestVersion}`,profileName:e?.profileName??h.unknown,profileRaw:e?.profileName??"",latestRaw:e?.latestVersion??"latest"}}function to(t,e,i){let l="idle",p=e,g={type:"status"},h=0,b=new Set,v=()=>{for(let C of b)C()},N=C=>{p=C,i?.(C)};return{get posts(){return h},subscribe(C){return b.add(C),()=>{b.delete(C)}},view(C){return _o(C,p,l,g)},async check(){if(l==="idle"){l="checking",g={type:"status"},v();try{N(await t("GET")),g={type:"status"}}catch(C){g={type:"error",message:C instanceof Error?C.message:""}}finally{l="idle",v()}}},async update(){if(l==="idle"){l="updating",g={type:"status"},h+=1,v();try{let C=await t("POST");N(C),g={type:C.autoReload===!0?"restarting":"restart"}}catch(C){g={type:"error",message:C instanceof Error?C.message:""}}finally{l="idle",v()}}}}}function ao(t,e,i){return`dsh plugin${t.trim()===""?"":` --profile ${t.trim()}`} add ${e}@${i} --registry=https://registry.npmjs.org/`}function ro(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function $o(){if(typeof document>"u")return;let t=document.baseURI;if(!(typeof t!="string"||t===""))try{let e=new URL(t);return e.pathname.endsWith("/")||(e.pathname+="/"),e.href}catch{return}}function Oa(t){if(typeof t!="string"||t.charAt(0)!=="/"||t.charAt(1)==="/")return t;let e=$o();if(e===void 0)return t;try{return new URL(t.slice(1),e).href}catch{return t}}var en="x-michengai-plugin-update",oo="michengai-plugin-update-ui",tn=`
|
|
18
18
|
.mpi-version{margin-left:8px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-family:inherit;font-size:12px;font-weight:500;line-height:18px;letter-spacing:0;white-space:nowrap;vertical-align:baseline}.mpi-check-host{display:inline-flex;align-items:center}.mpi-icon{display:inline-flex;flex:0 0 auto;width:16px;height:16px;align-items:center;justify-content:center;pointer-events:none}.mpi-icon svg{display:block;width:16px;height:16px}
|
|
19
19
|
.mpi-intro{margin:0 0 16px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:13px;line-height:20px}.mpi-meta{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;margin:0 0 16px;font-size:12px;line-height:18px}.mpi-meta dt{color:var(--dsw-alias-label-secondary,#b9b9b9)}.mpi-meta dd{margin:0}.mpi-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.mpi-latest{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.mpi-status{font-size:13px;font-weight:600;line-height:18px}.mpi-status[data-kind=error]{color:var(--dsw-alias-state-error-primary,#ef7272)}.mpi-status[data-kind=success]{color:var(--dsw-alias-state-success-primary,#51b976)}.mpi-status[data-kind=update]{color:#e8b15a !important}.mpi-manual{border-top:0.5px solid var(--dsw-alias-border-l2,#494949);padding-top:16px}.mpi-manual h3{margin:0 0 6px;font-size:14px;line-height:20px}.mpi-manual p{margin:0 0 10px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px;line-height:18px}.mpi-command{display:flex;align-items:flex-start;gap:8px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);padding:10px;background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent))}.mpi-command code{min-width:0;flex:1;overflow:visible;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:18px;white-space:pre-wrap;overflow-wrap:anywhere}
|
|
20
20
|
.dssm-update-progress{height:4px;border-radius:2px;background:var(--dsw-alias-border-l1,#3a3a3a);overflow:hidden;margin:12px 0;position:relative}
|
|
@@ -22,15 +22,15 @@ var exports = module.exports;
|
|
|
22
22
|
@keyframes dssm-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
|
|
23
23
|
@media (prefers-reduced-motion:reduce){.dssm-update-progress-bar{animation:none;width:100%;opacity:.6}}
|
|
24
24
|
@media(max-width:560px){.mpi-meta{grid-template-columns:1fr;gap:2px}.mpi-meta dd{margin-bottom:6px}}
|
|
25
|
-
`;function an(){if(document.getElementById(oo)!==null)return;let t=document.createElement("style");t.id=oo,t.textContent=tn,(document.head??document.documentElement).append(t)}function rn(t){if(t===null||typeof t!="object")return!1;let e=t;return typeof e.packageName=="string"&&typeof e.currentVersion=="string"&&typeof e.updateAvailable=="boolean"&&typeof e.profileName=="string"&&typeof e.canAutoUpdate=="boolean"&&typeof e.latestCheckFailed=="boolean"&&(e.latestVersion===void 0||typeof e.latestVersion=="string")}async function no(t,e,i){let l=i===void 0?{}:{signal:i},u=await fetch(t,e==="GET"?{cache:"no-store",...l}:{method:"POST",headers:{"content-type":"application/json",[en]:"1"},body:"{}",...l}),f=await u.json();if(!u.ok||!rn(f))throw new Error(f&&typeof f=="object"&&"error"in f&&typeof f.error=="string"?f.error:Da(document.documentElement.lang).failed);return f}function on(t){let e=F.default.useRef(null);return F.default.useLayoutEffect(()=>{e.current?.replaceChildren(t.node)},[t.node]),F.default.createElement("span",{ref:e,className:"mpi-icon","aria-hidden":!0})}function nn(t){let e=F.default.useRef(null),[,i]=F.default.useState(0),[l,u]=F.default.useState("idle");F.default.useEffect(()=>t.flow.subscribe(()=>i(S=>S+1)),[t.flow]),F.default.useEffect(()=>{let S=document.documentElement,z=new MutationObserver(()=>i(s=>s+1));return z.observe(S,{attributes:!0,attributeFilter:["lang"]}),()=>z.disconnect()},[]),F.default.useEffect(()=>{t.flow.check()},[t.flow]),F.default.useEffect(()=>{function S(z){ro(z,t.onClose)}return document.addEventListener("keydown",S,!0),()=>document.removeEventListener("keydown",S,!0)},[t.onClose]);let f=document.documentElement.lang,h=t.flow.view(f),b=f.toLowerCase().startsWith("zh")?t.zhName:t.enName,v=ao(h.profileRaw,t.packageName,h.latestRaw),N=l==="copied"?h.copy.copied:l==="failed"?h.copy.copyFailed:h.copy.copy;return F.default.createElement(Zt.Modal,{open:!0,className:"mpi-dialog",title:`${b} ${h.copy.update}`,onClose:t.onClose,closeLabel:"Close",footer:[F.default.createElement(Zt.Button,{key:"check",variant:"outline",size:"sm",disabled:h.busy,onClick:()=>{t.flow.check()}},h.copy.recheck),F.default.createElement(Zt.Button,{key:"update",variant:"primary",size:"sm",disabled:h.disabled,onClick:()=>{t.flow.update()}},h.updateLabel)]},F.default.createElement("div",{ref:e},F.default.createElement("p",{className:"mpi-intro"},h.copy.intro),F.default.createElement("dl",{className:"mpi-meta"},F.default.createElement("dt",null,h.copy.current),F.default.createElement("dd",null,F.default.createElement("span",{className:"mpi-mono"},h.currentVersion)),F.default.createElement("dt",null,h.copy.latestLabel),F.default.createElement("dd",{className:"mpi-latest"},F.default.createElement("span",{className:"mpi-mono"},h.latestVersion),F.default.createElement("span",{className:"mpi-status",role:"status","data-kind":h.kind,...h.kind==="update"?{style:{color:"#e8b15a"}}:{}},h.message)),F.default.createElement("dt",null,h.copy.profile),F.default.createElement("dd",null,F.default.createElement("span",{className:"mpi-mono"},h.profileName))),h.busy?F.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},F.default.createElement("div",{className:"dssm-update-progress-bar"})):null,F.default.createElement("section",{className:"mpi-manual"},F.default.createElement("h3",null,h.copy.manual),F.default.createElement("p",null,h.copy.manualHint),F.default.createElement("div",{className:"mpi-command"},F.default.createElement("code",null,v),F.default.createElement(Zt.Button,{variant:"outline",size:"sm",disabled:h.busy,onClick:()=>{let S=navigator.clipboard?.writeText(v);if(S===void 0){u("failed");return}S.then(()=>{u("copied"),window.setTimeout(()=>u("idle"),1400)}).catch(()=>u("failed"))}},N)))))}function so(t){if(typeof document>"u"||document.body===null)return()=>{};let e=Ua(t.endpoint);an();let i=new AbortController,l,u,f,h,b,v,N;function S(){f?.unmount(),f=void 0,u=void 0,h=void 0}function z(){if(f===void 0)return;h===void 0&&(h=t.createIcon("refresh"));let K=h;f.render(F.default.createElement(Zt.Button,{variant:"outline",size:"sm",onClick:A,icon:F.default.createElement(on,{node:K})},F.default.createElement("span",{"data-mpi-label":""},Da(document.documentElement.lang).check)))}function s(){v?.unmount(),v=void 0,b?.remove(),b=void 0}function A(){s();let K=document.createElement("div");K.className="mpi-dialog-root",document.body.append(K),b=K,v=(0,Or.createRoot)(K),v.render(F.default.createElement(nn,{flow:to(Y=>no(e,Y,i.signal),l,Y=>{l=Y,J()}),packageName:t.packageName,zhName:t.zhName,enName:t.enName,onClose:s}))}function J(){let K=document.querySelector(t.titleRowSelector);if(K===null)return;let Y=K.querySelector("h1,h2");u!==void 0&&!u.isConnected&&S();let pe=K.querySelector(t.linksSelector);if(pe===null)return;let q=pe.querySelector(`[data-mpi-check="${t.packageName}"]`);if(t.isEnabled&&!t.isEnabled()){if(b!==void 0&&s(),q!==null&&(S(),q.remove()),Y!==null){let X=Y.querySelector(`.mpi-version[data-package="${t.packageName}"]`);X!==null&&X.remove()}return}if(Y!==null&&l!==void 0){let X=Y.querySelector(`.mpi-version[data-package="${t.packageName}"]`);X===null&&(X=document.createElement("span"),X.className="mpi-version",X.dataset.package=t.packageName,Y.append(X));let R=`v${l.currentVersion}`;X.textContent!==R&&(X.textContent=R)}if(q!==null){let X=q.querySelector("[data-mpi-label]");(X===null||X.textContent!==Da(document.documentElement.lang).check)&&z();return}let m=document.createElement("span");m.dataset.mpiCheck=t.packageName,m.className="mpi-check-host",pe.append(m),u=m,f=(0,Or.createRoot)(m),z()}let ue,k=()=>(ue!==void 0||(ue=no(e,"GET",i.signal).then(K=>(i.signal.aborted||(l=K,J()),K)).finally(()=>{ue=void 0})),ue),T=new MutationObserver(()=>{N===void 0&&(N=window.requestAnimationFrame(()=>{N=void 0,J()}))});T.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),J(),k().catch(()=>{});let be=()=>{i.abort(),T.disconnect(),s(),S(),N!==void 0&&window.cancelAnimationFrame(N),document.querySelectorAll(`[data-mpi-check="${t.packageName}"],.mpi-version[data-package="${t.packageName}"]`).forEach(K=>K.remove())};return be.refresh=()=>{i.signal.aborted||(J(),l===void 0&&(!t.isEnabled||t.isEnabled())&&k().catch(()=>{}))},be}var ca=require("@deepseek-ai/dsh-client-ui-primitives");function io(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function lo(t){let e=t.createElement;return function(l){let u=t.useState(!1),f=u[0],h=u[1];t.useEffect(function(){if(!f||typeof window>"u")return;function S(z){io(z,function(){h(!1)})}return window.addEventListener("keydown",S,!0),function(){window.removeEventListener("keydown",S,!0)}},[f]);let b=t.useMemo(function(){return l.options.map(function(S){return{id:S.value,label:S.label,disabled:S.disabled,danger:S.danger}})},[l.options]);if(l.action)return e("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},e(ca.Menu,{open:f,onClose:function(){h(!1)},onSelect:function(S){l.onChange(S),h(!1)},align:"end",portal:!0,anchor:e(ca.Button,{variant:"outline",size:"sm",disabled:l.disabled,className:l.icon?"dssm-icon-action":void 0,style:l.icon?{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}:void 0,"aria-label":l.label,title:l.label,onClick:function(){l.disabled||h(function(S){return!S})},icon:l.icon},l.icon?null:l.label),items:b}));let v=l.options.find(function(S){return S.value===l.value}),N=v?v.label:l.label;return e("div",{className:"dssm-menu-select-wrap"},e(ca.Menu,{open:f,onClose:function(){h(!1)},onSelect:function(S){l.onChange(S),h(!1)},selectedId:l.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:e(ca.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":l.label,"aria-expanded":f,disabled:l.disabled,className:"dssm-menu-select-trigger"+(f?" is-open":""),onClick:function(){l.disabled||h(function(S){return!S})}},e("span",{className:"dssm-menu-select-label"},N),e("svg",{className:"dssm-menu-select-arrow",viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:4,transition:"transform 150ms ease",transform:f?"rotate(180deg)":"none"}},e("path",{d:"m4 6 4 4 4-4"}))),items:b}))}}var Ie=ia(require("@deepseek-ai/dsh-client-ui-primitives"),1),We=require("@deepseek-ai/dsh-client-ui-primitives");var co=ia(require("react"),1),uo=require("@deepseek-ai/dsh-client-ui-primitives");function sn(t){let{autoSize:e,className:i,rows:l,...u}=t;return co.default.createElement("textarea",{...u,className:["dssm-textarea",i].filter(Boolean).join(" "),rows:e?.minRows||l||4})}var Be=Object.assign(uo.Input,{TextArea:sn});function Oa(t,e){return t("svg",{className:"dssm-fold-chevron"+(e?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},t("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}var fr=ia(require("react"),1),Ge="data-dssm-nav-icon",ln='[role="dialog"] nav button, .dcu-settings-page .dcu-settings-link',Br='<path fill="currentColor" d="M12.5113 15.4067C12.4395 15.6249 12.1308 15.6249 12.059 15.4067L11.643 14.1416C11.454 13.567 11.0033 13.1164 10.4288 12.9274L9.16369 12.5113C8.94544 12.4395 8.94544 12.1308 9.16369 12.059L10.4288 11.643C11.0033 11.454 11.454 11.0033 11.643 10.4288L12.059 9.16369C12.1308 8.94544 12.4395 8.94544 12.5113 9.16369L12.9274 10.4288C13.1164 11.0033 13.567 11.454 14.1416 11.643L15.4067 12.059C15.6249 12.1308 15.6249 12.4395 15.4067 12.5113L14.1416 12.9274C13.567 13.1164 13.1164 13.567 12.9274 14.1416L12.5113 15.4067Z"/><path fill="currentColor" d="M9.02246 0.546878C9.9822 0.546878 10.7564 0.545403 11.374 0.612307C12.0042 0.680586 12.5515 0.826244 13.0273 1.17188C13.3052 1.37376 13.5501 1.61868 13.752 1.89649C14.0975 2.37225 14.2432 2.91984 14.3115 3.54981C14.3784 4.16727 14.377 4.94206 14.377 5.90137V8.51367C13.9611 8.29533 13.5071 8.13985 13.0273 8.06055V5.90137C13.0273 4.9121 13.0259 4.22322 12.9688 3.69532C12.9129 3.18044 12.8098 2.89782 12.6592 2.69043C12.5406 2.52724 12.3966 2.38326 12.2334 2.26465C12.026 2.11404 11.7437 2.0109 11.2285 1.95508C10.7005 1.89789 10.0122 1.89649 9.02246 1.89649H6.55371C5.56395 1.89649 4.87569 1.89787 4.34766 1.95508C3.83242 2.01092 3.55022 2.11398 3.34278 2.26465C3.17953 2.38329 3.03564 2.52719 2.91699 2.69043C2.76642 2.89782 2.66325 3.18042 2.60742 3.69532C2.55027 4.22322 2.54883 4.9121 2.54883 5.90137V10.0986C2.54883 11.0878 2.55031 11.7768 2.60742 12.3047C2.66326 12.8196 2.76642 13.1032 2.91699 13.3105C3.03558 13.4736 3.17966 13.6178 3.34278 13.7363C3.5502 13.8869 3.83265 13.9901 4.34766 14.0459C4.87568 14.1031 5.56398 14.1035 6.55371 14.1035H8.08399C8.27443 14.6025 8.55077 15.0585 8.89551 15.4541H6.55371C5.59402 15.4541 4.81976 15.4546 4.20215 15.3877C3.57204 15.3194 3.02468 15.1738 2.54883 14.8281C2.27111 14.6263 2.02606 14.3813 1.82422 14.1035C1.47883 13.6278 1.33293 13.08 1.26465 12.4502C1.19783 11.8327 1.19922 11.0579 1.19922 10.0986V5.90137C1.19922 4.94206 1.1978 4.16727 1.26465 3.54981C1.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"/>';function fo({size:t=16}){return fr.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:t,height:t,fill:"currentColor"},fr.default.createElement("path",{d:"M12.5113 15.4067C12.4395 15.6249 12.1308 15.6249 12.059 15.4067L11.643 14.1416C11.454 13.567 11.0033 13.1164 10.4288 12.9274L9.16369 12.5113C8.94544 12.4395 8.94544 12.1308 9.16369 12.059L10.4288 11.643C11.0033 11.454 11.454 11.0033 11.643 10.4288L12.059 9.16369C12.1308 8.94544 12.4395 8.94544 12.5113 9.16369L12.9274 10.4288C13.1164 11.0033 13.567 11.454 14.1416 11.643L15.4067 12.059C15.6249 12.1308 15.6249 12.4395 15.4067 12.5113L14.1416 12.9274C13.567 13.1164 13.1164 13.567 12.9274 14.1416L12.5113 15.4067Z"}),fr.default.createElement("path",{d:"M9.02246 0.546878C9.9822 0.546878 10.7564 0.545403 11.374 0.612307C12.0042 0.680586 12.5515 0.826244 13.0273 1.17188C13.3052 1.37376 13.5501 1.61868 13.752 1.89649C14.0975 2.37225 14.2432 2.91984 14.3115 3.54981C14.3784 4.16727 14.377 4.94206 14.377 5.90137V8.51367C13.9611 8.29533 13.5071 8.13985 13.0273 8.06055V5.90137C13.0273 4.9121 13.0259 4.22322 12.9688 3.69532C12.9129 3.18044 12.8098 2.89782 12.6592 2.69043C12.5406 2.52724 12.3966 2.38326 12.2334 2.26465C12.026 2.11404 11.7437 2.0109 11.2285 1.95508C10.7005 1.89789 10.0122 1.89649 9.02246 1.89649H6.55371C5.56395 1.89649 4.87569 1.89787 4.34766 1.95508C3.83242 2.01092 3.55022 2.11398 3.34278 2.26465C3.17953 2.38329 3.03564 2.52719 2.91699 2.69043C2.76642 2.89782 2.66325 3.18042 2.60742 3.69532C2.55027 4.22322 2.54883 4.9121 2.54883 5.90137V10.0986C2.54883 11.0878 2.55031 11.7768 2.60742 12.3047C2.66326 12.8196 2.76642 13.1032 2.91699 13.3105C3.03558 13.4736 3.17966 13.6178 3.34278 13.7363C3.5502 13.8869 3.83265 13.9901 4.34766 14.0459C4.87568 14.1031 5.56398 14.1035 6.55371 14.1035H8.08399C8.27443 14.6025 8.55077 15.0585 8.89551 15.4541H6.55371C5.59402 15.4541 4.81976 15.4546 4.20215 15.3877C3.57204 15.3194 3.02468 15.1738 2.54883 14.8281C2.27111 14.6263 2.02606 14.3813 1.82422 14.1035C1.47883 13.6278 1.33293 13.08 1.26465 12.4502C1.19783 11.8327 1.19922 11.0579 1.19922 10.0986V5.90137C1.19922 4.94206 1.1978 4.16727 1.26465 3.54981C1.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"}))}var po=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${Br.replace(/fill=\"currentColor\"/g,'fill="black"')}</svg>`)}")`,mo="dssm-settings-nav-icon-style",cn=[`[${Ge}] svg { display: none !important; }`,`[${Ge}]::before {`," content: '';"," flex: none;"," width: 16px;"," height: 16px;"," color: var(--dcu-sidebar-icon, currentColor);"," background-color: currentColor;",` -webkit-mask: ${po} center / contain no-repeat;`,` mask: ${po} center / contain no-repeat;`," -webkit-mask-repeat: no-repeat;"," mask-repeat: no-repeat;"," -webkit-mask-position: center;"," mask-position: center;"," -webkit-mask-size: 16px 16px;"," mask-size: 16px 16px;","}"].join(`
|
|
26
|
-
`);function dn(t,e){let i=String(e??"").trim();return i.length===0?!1:String(t??"").trim()===i}function un(){if(typeof document>"u"||document.getElementById(mo)!==null)return;let t=document.createElement("style");t.id=mo,t.textContent=cn,(document.head??document.documentElement).appendChild(t)}function pn(t,e){return dn(t.textContent,e())?Array.from(t.children).some(
|
|
25
|
+
`;function an(){if(document.getElementById(oo)!==null)return;let t=document.createElement("style");t.id=oo,t.textContent=tn,(document.head??document.documentElement).append(t)}function rn(t){if(t===null||typeof t!="object")return!1;let e=t;return typeof e.packageName=="string"&&typeof e.currentVersion=="string"&&typeof e.updateAvailable=="boolean"&&typeof e.profileName=="string"&&typeof e.canAutoUpdate=="boolean"&&typeof e.latestCheckFailed=="boolean"&&(e.latestVersion===void 0||typeof e.latestVersion=="string")}async function no(t,e,i){let l=i===void 0?{}:{signal:i},p=await fetch(t,e==="GET"?{cache:"no-store",...l}:{method:"POST",headers:{"content-type":"application/json",[en]:"1"},body:"{}",...l}),g=await p.json();if(!p.ok||!rn(g))throw new Error(g&&typeof g=="object"&&"error"in g&&typeof g.error=="string"?g.error:Ua(document.documentElement.lang).failed);return g}function on(t){let e=F.default.useRef(null);return F.default.useLayoutEffect(()=>{e.current?.replaceChildren(t.node)},[t.node]),F.default.createElement("span",{ref:e,className:"mpi-icon","aria-hidden":!0})}function nn(t){let e=F.default.useRef(null),[,i]=F.default.useState(0),[l,p]=F.default.useState("idle");F.default.useEffect(()=>t.flow.subscribe(()=>i(C=>C+1)),[t.flow]),F.default.useEffect(()=>{let C=document.documentElement,z=new MutationObserver(()=>i(s=>s+1));return z.observe(C,{attributes:!0,attributeFilter:["lang"]}),()=>z.disconnect()},[]),F.default.useEffect(()=>{t.flow.check()},[t.flow]),F.default.useEffect(()=>{function C(z){ro(z,t.onClose)}return document.addEventListener("keydown",C,!0),()=>document.removeEventListener("keydown",C,!0)},[t.onClose]);let g=document.documentElement.lang,h=t.flow.view(g),b=g.toLowerCase().startsWith("zh")?t.zhName:t.enName,v=ao(h.profileRaw,t.packageName,h.latestRaw),N=l==="copied"?h.copy.copied:l==="failed"?h.copy.copyFailed:h.copy.copy;return F.default.createElement(qt.Modal,{open:!0,className:"mpi-dialog",title:`${b} ${h.copy.update}`,onClose:t.onClose,closeLabel:"Close",footer:[F.default.createElement(qt.Button,{key:"check",variant:"outline",size:"sm",disabled:h.busy,onClick:()=>{t.flow.check()}},h.copy.recheck),F.default.createElement(qt.Button,{key:"update",variant:"primary",size:"sm",disabled:h.disabled,onClick:()=>{t.flow.update()}},h.updateLabel)]},F.default.createElement("div",{ref:e},F.default.createElement("p",{className:"mpi-intro"},h.copy.intro),F.default.createElement("dl",{className:"mpi-meta"},F.default.createElement("dt",null,h.copy.current),F.default.createElement("dd",null,F.default.createElement("span",{className:"mpi-mono"},h.currentVersion)),F.default.createElement("dt",null,h.copy.latestLabel),F.default.createElement("dd",{className:"mpi-latest"},F.default.createElement("span",{className:"mpi-mono"},h.latestVersion),F.default.createElement("span",{className:"mpi-status",role:"status","data-kind":h.kind,...h.kind==="update"?{style:{color:"#e8b15a"}}:{}},h.message)),F.default.createElement("dt",null,h.copy.profile),F.default.createElement("dd",null,F.default.createElement("span",{className:"mpi-mono"},h.profileName))),h.busy?F.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},F.default.createElement("div",{className:"dssm-update-progress-bar"})):null,F.default.createElement("section",{className:"mpi-manual"},F.default.createElement("h3",null,h.copy.manual),F.default.createElement("p",null,h.copy.manualHint),F.default.createElement("div",{className:"mpi-command"},F.default.createElement("code",null,v),F.default.createElement(qt.Button,{variant:"outline",size:"sm",disabled:h.busy,onClick:()=>{let C=navigator.clipboard?.writeText(v);if(C===void 0){p("failed");return}C.then(()=>{p("copied"),window.setTimeout(()=>p("idle"),1400)}).catch(()=>p("failed"))}},N)))))}function so(t){if(typeof document>"u"||document.body===null)return()=>{};let e=Oa(t.endpoint);an();let i=new AbortController,l,p,g,h,b,v,N;function C(){g?.unmount(),g=void 0,p=void 0,h=void 0}function z(){if(g===void 0)return;h===void 0&&(h=t.createIcon("refresh"));let K=h;g.render(F.default.createElement(qt.Button,{variant:"outline",size:"sm",onClick:A,icon:F.default.createElement(on,{node:K})},F.default.createElement("span",{"data-mpi-label":""},Ua(document.documentElement.lang).check)))}function s(){v?.unmount(),v=void 0,b?.remove(),b=void 0}function A(){s();let K=document.createElement("div");K.className="mpi-dialog-root",document.body.append(K),b=K,v=(0,Or.createRoot)(K),v.render(F.default.createElement(nn,{flow:to(Y=>no(e,Y,i.signal),l,Y=>{l=Y,J()}),packageName:t.packageName,zhName:t.zhName,enName:t.enName,onClose:s}))}function J(){let K=document.querySelector(t.titleRowSelector);if(K===null)return;let Y=K.querySelector("h1,h2");p!==void 0&&!p.isConnected&&C();let pe=K.querySelector(t.linksSelector);if(pe===null)return;let q=pe.querySelector(`[data-mpi-check="${t.packageName}"]`);if(t.isEnabled&&!t.isEnabled()){if(b!==void 0&&s(),q!==null&&(C(),q.remove()),Y!==null){let X=Y.querySelector(`.mpi-version[data-package="${t.packageName}"]`);X!==null&&X.remove()}return}if(Y!==null&&l!==void 0){let X=Y.querySelector(`.mpi-version[data-package="${t.packageName}"]`);X===null&&(X=document.createElement("span"),X.className="mpi-version",X.dataset.package=t.packageName,Y.append(X));let R=`v${l.currentVersion}`;X.textContent!==R&&(X.textContent=R)}if(q!==null){let X=q.querySelector("[data-mpi-label]");(X===null||X.textContent!==Ua(document.documentElement.lang).check)&&z();return}let f=document.createElement("span");f.dataset.mpiCheck=t.packageName,f.className="mpi-check-host",pe.append(f),p=f,g=(0,Or.createRoot)(f),z()}let ue,k=()=>(ue!==void 0||(ue=no(e,"GET",i.signal).then(K=>(i.signal.aborted||(l=K,J()),K)).finally(()=>{ue=void 0})),ue),I=new MutationObserver(()=>{N===void 0&&(N=window.requestAnimationFrame(()=>{N=void 0,J()}))});I.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),J(),k().catch(()=>{});let be=()=>{i.abort(),I.disconnect(),s(),C(),N!==void 0&&window.cancelAnimationFrame(N),document.querySelectorAll(`[data-mpi-check="${t.packageName}"],.mpi-version[data-package="${t.packageName}"]`).forEach(K=>K.remove())};return be.refresh=()=>{i.signal.aborted||(J(),l===void 0&&(!t.isEnabled||t.isEnabled())&&k().catch(()=>{}))},be}var ia=require("@deepseek-ai/dsh-client-ui-primitives");function io(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function lo(t){let e=t.createElement;return function(l){let p=t.useState(!1),g=p[0],h=p[1];t.useEffect(function(){if(!g||typeof window>"u")return;function C(z){io(z,function(){h(!1)})}return window.addEventListener("keydown",C,!0),function(){window.removeEventListener("keydown",C,!0)}},[g]);let b=t.useMemo(function(){return l.options.map(function(C){return{id:C.value,label:C.label,disabled:C.disabled,danger:C.danger}})},[l.options]);if(l.action)return e("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},e(ia.Menu,{open:g,onClose:function(){h(!1)},onSelect:function(C){l.onChange(C),h(!1)},align:"end",portal:!0,anchor:e(ia.Button,{variant:"outline",size:"sm",disabled:l.disabled,className:l.icon?"dssm-icon-action":void 0,style:l.icon?{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}:void 0,"aria-label":l.label,title:l.label,onClick:function(){l.disabled||h(function(C){return!C})},icon:l.icon},l.icon?null:l.label),items:b}));let v=l.options.find(function(C){return C.value===l.value}),N=v?v.label:l.label;return e("div",{className:"dssm-menu-select-wrap"},e(ia.Menu,{open:g,onClose:function(){h(!1)},onSelect:function(C){l.onChange(C),h(!1)},selectedId:l.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:e(ia.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":l.label,"aria-expanded":g,disabled:l.disabled,className:"dssm-menu-select-trigger"+(g?" is-open":""),onClick:function(){l.disabled||h(function(C){return!C})}},e("span",{className:"dssm-menu-select-label"},N),e("svg",{className:"dssm-menu-select-arrow",viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:4,transition:"transform 150ms ease",transform:g?"rotate(180deg)":"none"}},e("path",{d:"m4 6 4 4 4-4"}))),items:b}))}}var Pe=na(require("@deepseek-ai/dsh-client-ui-primitives"),1),Ke=require("@deepseek-ai/dsh-client-ui-primitives");var co=na(require("react"),1),uo=require("@deepseek-ai/dsh-client-ui-primitives");function sn(t){let{autoSize:e,className:i,rows:l,...p}=t;return co.default.createElement("textarea",{...p,className:["dssm-textarea",i].filter(Boolean).join(" "),rows:e?.minRows||l||4})}var Fe=Object.assign(uo.Input,{TextArea:sn});function Ba(t,e){return t("svg",{className:"dssm-fold-chevron"+(e?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},t("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}var hr=na(require("react"),1),Je="data-dssm-nav-icon",ln='[role="dialog"] nav button, .dcu-settings-page .dcu-settings-link',Br='<path fill="currentColor" d="M12.5113 15.4067C12.4395 15.6249 12.1308 15.6249 12.059 15.4067L11.643 14.1416C11.454 13.567 11.0033 13.1164 10.4288 12.9274L9.16369 12.5113C8.94544 12.4395 8.94544 12.1308 9.16369 12.059L10.4288 11.643C11.0033 11.454 11.454 11.0033 11.643 10.4288L12.059 9.16369C12.1308 8.94544 12.4395 8.94544 12.5113 9.16369L12.9274 10.4288C13.1164 11.0033 13.567 11.454 14.1416 11.643L15.4067 12.059C15.6249 12.1308 15.6249 12.4395 15.4067 12.5113L14.1416 12.9274C13.567 13.1164 13.1164 13.567 12.9274 14.1416L12.5113 15.4067Z"/><path fill="currentColor" d="M9.02246 0.546878C9.9822 0.546878 10.7564 0.545403 11.374 0.612307C12.0042 0.680586 12.5515 0.826244 13.0273 1.17188C13.3052 1.37376 13.5501 1.61868 13.752 1.89649C14.0975 2.37225 14.2432 2.91984 14.3115 3.54981C14.3784 4.16727 14.377 4.94206 14.377 5.90137V8.51367C13.9611 8.29533 13.5071 8.13985 13.0273 8.06055V5.90137C13.0273 4.9121 13.0259 4.22322 12.9688 3.69532C12.9129 3.18044 12.8098 2.89782 12.6592 2.69043C12.5406 2.52724 12.3966 2.38326 12.2334 2.26465C12.026 2.11404 11.7437 2.0109 11.2285 1.95508C10.7005 1.89789 10.0122 1.89649 9.02246 1.89649H6.55371C5.56395 1.89649 4.87569 1.89787 4.34766 1.95508C3.83242 2.01092 3.55022 2.11398 3.34278 2.26465C3.17953 2.38329 3.03564 2.52719 2.91699 2.69043C2.76642 2.89782 2.66325 3.18042 2.60742 3.69532C2.55027 4.22322 2.54883 4.9121 2.54883 5.90137V10.0986C2.54883 11.0878 2.55031 11.7768 2.60742 12.3047C2.66326 12.8196 2.76642 13.1032 2.91699 13.3105C3.03558 13.4736 3.17966 13.6178 3.34278 13.7363C3.5502 13.8869 3.83265 13.9901 4.34766 14.0459C4.87568 14.1031 5.56398 14.1035 6.55371 14.1035H8.08399C8.27443 14.6025 8.55077 15.0585 8.89551 15.4541H6.55371C5.59402 15.4541 4.81976 15.4546 4.20215 15.3877C3.57204 15.3194 3.02468 15.1738 2.54883 14.8281C2.27111 14.6263 2.02606 14.3813 1.82422 14.1035C1.47883 13.6278 1.33293 13.08 1.26465 12.4502C1.19783 11.8327 1.19922 11.0579 1.19922 10.0986V5.90137C1.19922 4.94206 1.1978 4.16727 1.26465 3.54981C1.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"/>';function fo({size:t=16}){return hr.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",width:t,height:t,fill:"currentColor"},hr.default.createElement("path",{d:"M12.5113 15.4067C12.4395 15.6249 12.1308 15.6249 12.059 15.4067L11.643 14.1416C11.454 13.567 11.0033 13.1164 10.4288 12.9274L9.16369 12.5113C8.94544 12.4395 8.94544 12.1308 9.16369 12.059L10.4288 11.643C11.0033 11.454 11.454 11.0033 11.643 10.4288L12.059 9.16369C12.1308 8.94544 12.4395 8.94544 12.5113 9.16369L12.9274 10.4288C13.1164 11.0033 13.567 11.454 14.1416 11.643L15.4067 12.059C15.6249 12.1308 15.6249 12.4395 15.4067 12.5113L14.1416 12.9274C13.567 13.1164 13.1164 13.567 12.9274 14.1416L12.5113 15.4067Z"}),hr.default.createElement("path",{d:"M9.02246 0.546878C9.9822 0.546878 10.7564 0.545403 11.374 0.612307C12.0042 0.680586 12.5515 0.826244 13.0273 1.17188C13.3052 1.37376 13.5501 1.61868 13.752 1.89649C14.0975 2.37225 14.2432 2.91984 14.3115 3.54981C14.3784 4.16727 14.377 4.94206 14.377 5.90137V8.51367C13.9611 8.29533 13.5071 8.13985 13.0273 8.06055V5.90137C13.0273 4.9121 13.0259 4.22322 12.9688 3.69532C12.9129 3.18044 12.8098 2.89782 12.6592 2.69043C12.5406 2.52724 12.3966 2.38326 12.2334 2.26465C12.026 2.11404 11.7437 2.0109 11.2285 1.95508C10.7005 1.89789 10.0122 1.89649 9.02246 1.89649H6.55371C5.56395 1.89649 4.87569 1.89787 4.34766 1.95508C3.83242 2.01092 3.55022 2.11398 3.34278 2.26465C3.17953 2.38329 3.03564 2.52719 2.91699 2.69043C2.76642 2.89782 2.66325 3.18042 2.60742 3.69532C2.55027 4.22322 2.54883 4.9121 2.54883 5.90137V10.0986C2.54883 11.0878 2.55031 11.7768 2.60742 12.3047C2.66326 12.8196 2.76642 13.1032 2.91699 13.3105C3.03558 13.4736 3.17966 13.6178 3.34278 13.7363C3.5502 13.8869 3.83265 13.9901 4.34766 14.0459C4.87568 14.1031 5.56398 14.1035 6.55371 14.1035H8.08399C8.27443 14.6025 8.55077 15.0585 8.89551 15.4541H6.55371C5.59402 15.4541 4.81976 15.4546 4.20215 15.3877C3.57204 15.3194 3.02468 15.1738 2.54883 14.8281C2.27111 14.6263 2.02606 14.3813 1.82422 14.1035C1.47883 13.6278 1.33293 13.08 1.26465 12.4502C1.19783 11.8327 1.19922 11.0579 1.19922 10.0986V5.90137C1.19922 4.94206 1.1978 4.16727 1.26465 3.54981C1.33293 2.91984 1.47883 2.37225 1.82422 1.89649C2.02606 1.61868 2.27111 1.37376 2.54883 1.17188C3.02468 0.826244 3.57204 0.680586 4.20215 0.612307C4.81976 0.545403 5.59402 0.546878 6.55371 0.546878H9.02246Z"}))}var po=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${Br.replace(/fill=\"currentColor\"/g,'fill="black"')}</svg>`)}")`,mo="dssm-settings-nav-icon-style",cn=[`[${Je}] svg { display: none !important; }`,`[${Je}]::before {`," content: '';"," flex: none;"," width: 16px;"," height: 16px;"," color: var(--dcu-sidebar-icon, currentColor);"," background-color: currentColor;",` -webkit-mask: ${po} center / contain no-repeat;`,` mask: ${po} center / contain no-repeat;`," -webkit-mask-repeat: no-repeat;"," mask-repeat: no-repeat;"," -webkit-mask-position: center;"," mask-position: center;"," -webkit-mask-size: 16px 16px;"," mask-size: 16px 16px;","}"].join(`
|
|
26
|
+
`);function dn(t,e){let i=String(e??"").trim();return i.length===0?!1:String(t??"").trim()===i}function un(){if(typeof document>"u"||document.getElementById(mo)!==null)return;let t=document.createElement("style");t.id=mo,t.textContent=cn,(document.head??document.documentElement).appendChild(t)}function pn(t,e){return dn(t.textContent,e())?Array.from(t.children).some(p=>p.tagName==="SPAN"&&!!(p.className&&String(p.className).includes("navIcon")))||!!t.querySelector?.('span[class*="navIcon"]')?t.hasAttribute(Je)?(t.removeAttribute(Je),!0):!1:t.getAttribute(Je)===""?!1:(t.setAttribute(Je,""),!0):t.hasAttribute(Je)?(t.removeAttribute(Je),!0):!1}function mn(t){return t.hasAttribute(Je)?(t.removeAttribute(Je),!0):!1}function go(t,e){typeof document>"u"||(un(),t.effect(()=>{let i=!1,l=!1,p=()=>{if(l=!1,!i)for(let b of document.querySelectorAll(ln))pn(b,e)},g=()=>{l||i||(l=!0,queueMicrotask(p))};p();let h=new MutationObserver(g);return h.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{i=!0,h.disconnect();for(let b of document.querySelectorAll(`[${Je}]`))mn(b)}},"skills-manager: settings nav icon"))}var Ve=na(require("react"),1),br=require("@deepseek-ai/dsh-client-ui-primitives");var Se=Ve.createElement,fn="@michengai/dsh-skills-manager",Fr="skills-manager",gn=2,Vr={zh:{"entry.location.title":"\u5165\u53E3\u5C55\u793A\u4F4D\u7F6E","entry.location.desc":"\u9009\u62E9\u6280\u80FD\u7BA1\u7406\u5165\u53E3\u7684\u5C55\u793A\u4F4D\u7F6E\uFF08\u81F3\u5C11\u4FDD\u7559\u4E00\u5904\uFF0C\u9632\u6B62\u65E0\u6CD5\u6253\u5F00\u9762\u677F\uFF09\u3002","entry.location.both":"\u4E24\u8FB9\u663E\u793A","entry.location.sidebar":"\u4EC5\u4FA7\u8FB9\u680F","entry.location.settings":"\u4EC5\u8BBE\u7F6E","sidebar.entry.title":"\u4FA7\u8FB9\u680F\u5165\u53E3","sidebar.entry.desc":"\u5728\u4FA7\u680F\u300C\u63D2\u4EF6\u300D\u4E0B\u65B9\u663E\u793A\u6280\u80FD\u3002\u8BBE\u7F6E\u91CC\u7684\u5165\u53E3\u4E0D\u53D8\u3002","sidebar.entry.toggle":"\u5207\u6362\u4FA7\u8FB9\u680F\u5165\u53E3","update.entry.title":"\u5728\u7EBF\u66F4\u65B0","update.entry.desc":"\u5141\u8BB8\u68C0\u67E5\u5E76\u5728\u7EBF\u5B89\u88C5\u6280\u80FD\u7BA1\u7406\u5668\u7684\u65B0\u7248\u672C\u3002\u5173\u95ED\u540E\u9690\u85CF\u66F4\u65B0\u5165\u53E3\u3002","update.entry.toggle":"\u5207\u6362\u5728\u7EBF\u66F4\u65B0","update.entry.locked":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u5BBF\u4E3B\u914D\u7F6E\u7981\u7528"},en:{"entry.location.title":"Entry placement","entry.location.desc":"Choose where to show the entry (at least one is retained to avoid losing access).","entry.location.both":"Both","entry.location.sidebar":"Sidebar only","entry.location.settings":"Settings only","sidebar.entry.title":"Sidebar entry","sidebar.entry.desc":"Show Skills below Plugins in the sidebar. The Settings entry stays either way.","sidebar.entry.toggle":"Toggle sidebar entry","update.entry.title":"Online updates","update.entry.desc":"Allow checking and installing new versions online. Hides the update entry when disabled.","update.entry.toggle":"Toggle online updates","update.entry.locked":"Online updates are disabled by the host configuration."}},ho="dssm-sidebar-entry-style",Wr=`
|
|
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 bo(){if(typeof document>"u"||document.getElementById(ho)!==null)return;let t=document.createElement("style");t.id=ho,t.textContent=Wr,(document.head??document.documentElement).appendChild(t)}function hn(t){let e=t&&typeof t.size=="number"?t.size:16;return Se("svg",{viewBox:"0 0 16 16",width:e,height:e,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:Br}})}function bn(t){bo();let{t:e,location:i,onLocationChange:l,enabled:u=!1,onToggle:f,disabled:h,onlineUpdateEnabled:b=!0,onToggleOnlineUpdate:v,onlineUpdateDisabled:N,onlineUpdateLocked:S}=t,z=i??(u?"both":"settings"),s=J=>{(J==="both"||J==="sidebar"||J==="settings")&&(typeof l=="function"?l(J):typeof f=="function"&&f(J!=="settings"))},A=[Se("div",{key:"entry-location",className:"dssm-bundle-row"},Se("div",{className:"dssm-bundle-label-box"},Se("span",{className:"dssm-bundle-title"},e("entry.location.title")||e("sidebar.entry.title")),Se("span",{className:"dssm-bundle-desc"},e("entry.location.desc")||e("sidebar.entry.desc"))),Se(gr.SegmentedControl,{id:"dssm-bundle-entry-location",value:z,onChange:s,label:e("entry.location.title")||e("sidebar.entry.title"),disabled:h,options:[{value:"both",label:e("entry.location.both")||"\u4E24\u8FB9\u663E\u793A"},{value:"sidebar",label:e("entry.location.sidebar")||"\u4EC5\u4FA7\u8FB9\u680F"},{value:"settings",label:e("entry.location.settings")||"\u4EC5\u8BBE\u7F6E"}]}))];return typeof v=="function"&&A.push(Se("div",{key:"online-update",className:"dssm-bundle-row"},Se("div",{className:"dssm-bundle-label-box"},Se("span",{className:"dssm-bundle-title"},e("update.entry.title")),Se("span",{className:"dssm-bundle-desc"},e(S?"update.entry.locked":"update.entry.desc"))),Se(gr.Switch,{checked:b,onChange:v,label:e("update.entry.toggle"),disabled:N,title:S?e("update.entry.locked"):void 0}))),Se(Fe.Fragment,null,A)}function yn(t){let[e,i]=Fe.useState(t.getLocation),[l,u]=Fe.useState(t.getOnlineUpdateEnabled?t.getOnlineUpdateEnabled:()=>!0),[f,h]=Fe.useState(t.getOnlineUpdateLocked?t.getOnlineUpdateLocked:()=>!1),[b,v]=Fe.useState(!1),[N,S]=Fe.useState(!1);Fe.useEffect(()=>{let A=()=>{i(t.getLocation()),t.getOnlineUpdateEnabled&&u(t.getOnlineUpdateEnabled()),t.getOnlineUpdateLocked&&h(t.getOnlineUpdateLocked())};return A(),t.subscribe(A)},[t]);let z=A=>{v(!0),i(A),t.setLocation(A).catch(()=>{i(t.getLocation())}).finally(()=>{v(!1)})},s=t.setOnlineUpdate?A=>{t.getOnlineUpdateLocked?.()||(S(!0),u(A),t.setOnlineUpdate(A).catch(()=>{t.getOnlineUpdateEnabled&&u(t.getOnlineUpdateEnabled())}).finally(()=>{S(!1)}))}:void 0;return Se(bn,{t:t.t,location:e,disabled:b,onLocationChange:z,onlineUpdateEnabled:l,onlineUpdateDisabled:N||f,onlineUpdateLocked:f,onToggleOnlineUpdate:s})}function Kr(t,e){if(bo(),!t.locale)return{getLocation:()=>"settings",setLocation:async()=>"settings",isSettingsSectionEnabled:()=>!0,isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:i,headers:l,renderPanel:u,ns:f}=e,h="settings",b=!1,v=null,N=null,S=0,z=!1,s,A=new Set,J=()=>h==="both"||h==="sidebar",ue=()=>h==="both"||h==="settings",k=()=>{if(!z)for(let L of A)try{L()}catch{}},T=()=>{if(!z)if(b&&J()){if(!v){let L=t.slots.register({name:"main",key:Fr,locale:f,inject:()=>({t:t.locale?.bind?t.locale.bind(f):void 0})},ae=>Se("div",{className:"dssm-main-panel"},u(ae)));v=typeof L=="function"?L:()=>{}}if(!N){let L=t.slots.register({name:"sidebar.panellist",id:Fr,order:gn,label:()=>t.locale.bind(f)("title"),locale:f},ae=>Se(hn,ae));N=typeof L=="function"?L:()=>{}}}else{if(s?.panelInfo&&typeof s.selectPanel=="function")try{s.panelInfo.getSnapshot().activePanelId===Fr&&s.selectPanel(null)}catch{}if(N){try{N()}catch{}N=null}if(v){try{v()}catch{}v=null}}},be=async L=>{if(z)return h;let ae=++S,le=h;if(h=L,T(),k(),typeof e.onLocationChange=="function")try{e.onLocationChange(L)}catch{}try{return await i("/sidebar-entry",{method:"POST",headers:l,body:JSON.stringify({location:L})}),L}catch(Q){if(ae===S&&(h=le,T(),k(),typeof e.onLocationChange=="function"))try{e.onLocationChange(le)}catch{}throw Q}},K=async L=>(await be(L?"both":"settings"),J()),Y=!0,pe=!1,q=0,m=async L=>{if(z||pe)return Y;let ae=++q;if(Y=L,k(),!L&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(L)}catch{}try{if(await i("/online-update",{method:"POST",headers:l,body:JSON.stringify({enabled:L})}),L&&!z&&ae===q&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(L)}catch{}return L}catch(le){if(ae===q){let Q=le!==null&&typeof le=="object"&&"code"in le&&le.code==="error.update.disabled";if(Q&&(pe=!0),Y=Q?!1:!L,k(),typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(Y)}catch{}}throw le}},X=S;i("/sidebar-entry").then(L=>{if(!z&&S===X&&L&&(L.location==="both"||L.location==="sidebar"||L.location==="settings"?h=L.location:typeof L.enabled=="boolean"&&(h=L.enabled?"both":"settings"),T(),k(),typeof e.onLocationChange=="function"))try{e.onLocationChange(h)}catch{}}).catch(()=>{});let R=q;return i("/online-update").then(L=>{if(!z&&q===R&&L&&typeof L.enabled=="boolean"&&(Y=L.enabled,L.locked===!0&&(pe=!0),k(),typeof e.onOnlineUpdateChange=="function"))try{e.onOnlineUpdateChange(L.enabled)}catch{}}).catch(()=>{}),typeof t.inject=="function"&&t.inject(["layout"],L=>{z||(s=L.layout)}),t.slots.inject("sidebar.panellist",()=>{z||(b=!0,T())}),t.slots.inject("plugins.bundle.config",()=>{if(!z)return t.slots.register({name:"plugins.bundle.config",key:fn,locale:f},L=>L&&L.view==="summary"?null:Se(yn,{t:t.locale.bind(f),getLocation:()=>h,setLocation:be,getEnabled:()=>J(),setSidebar:K,getOnlineUpdateEnabled:()=>Y,setOnlineUpdate:m,getOnlineUpdateLocked:()=>pe,subscribe:ae=>(A.add(ae),()=>{A.delete(ae)})}))}),{getLocation:()=>h,setLocation:be,isSettingsSectionEnabled:ue,isEnabled:()=>J(),isSupported:()=>b,setEnabled:K,isOnlineUpdateEnabled:()=>Y,setOnlineUpdate:m,destroy:()=>{if(!z){if(z=!0,S++,q++,s=void 0,A.clear(),N){try{N()}catch{}N=null}if(v){try{v()}catch{}v=null}}}}}var M=Ba,o=M.createElement,vn=Ie.IconEditOutlineRegular;function wn(){return o(vn,{size:16})}var kn={refresh:["M13.5 5.5V2.5m0 0h-3m3 0-2.1 2.1A5.5 5.5 0 1 0 13.2 12"],download:["M8 2v8m0 0 3-3m-3 3-3-3M3 13v2h10v-2"],copy:["M5 5h8v8H5z","M3 3h8"],close:["m4 4 8 8M12 4 4 12"]};function xn(t){var e=document.createElement("span"),i=document.createElementNS("http://www.w3.org/2000/svg","svg");return i.setAttribute("viewBox","0 0 16 16"),i.setAttribute("width","16"),i.setAttribute("height","16"),i.setAttribute("fill","none"),i.setAttribute("stroke","currentColor"),i.setAttribute("stroke-width","1.5"),i.setAttribute("stroke-linecap","round"),i.setAttribute("stroke-linejoin","round"),i.setAttribute("aria-hidden","true"),kn[t].forEach(function(l){var u=document.createElementNS("http://www.w3.org/2000/svg","path");u.setAttribute("d",l),i.append(u)}),e.append(i),e}var Lt={"content-type":"application/json","x-dsh-skills-manager":"1"},at="skills-manager",Wa={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u3001\u63CF\u8FF0\u6216\u5907\u6CE8","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","skill.linked":"\u5916\u90E8\u76EE\u5F55\u94FE\u63A5\uFF0C\u53EA\u8BFB","source.toggle":"\u542F\u505C\u6765\u6E90","skill.toggle":"\u542F\u505C\u6280\u80FD","category.toggle":"\u542F\u505C\u5206\u7C7B","category.create":"\u65B0\u5EFA\u5206\u7C7B","category.uncategorized":"\u672A\u5206\u7C7B","category.assign":"\u5F52\u5165{name}","category.rename":"\u91CD\u547D\u540D","category.delete":"\u5220\u9664\u5206\u7C7B","category.note":"\u5206\u7C7B\u53EA\u8BB0\u5728\u8FD9\u4E2A\u6765\u6E90\u91CC\uFF0C\u4E0D\u79FB\u52A8\u6587\u4EF6\u3002","category.name":"\u5206\u7C7B\u540D\u79F0","category.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u3002\u4ECE\u6761\u76EE\u7684\u300C\u66F4\u591A\u300D\u5F52\u5165\u3002","category.progress":"{count} \u9879 \xB7 {enabled}/{usable} \u542F\u7528","category.actions":"\u5206\u7C7B\u64CD\u4F5C","category.created":"\u5DF2\u6DFB\u52A0\u5206\u7C7B\u300C{name}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u65B0\u5EFA\u76EE\u5F55\u3002","category.renamed":"\u5DF2\u91CD\u547D\u540D\u3002\u6280\u80FD\u6587\u4EF6\u540D\u6CA1\u6709\u53D8\u5316\u3002","category.deleted":"\u5DF2\u5220\u9664\u5206\u7C7B\u300C{name}\u300D\u3002\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\uFF0C\u6CA1\u6709\u8FDB\u56DE\u6536\u7AD9\u3002","category.assigned":"\u5DF2\u5C06 {name} \u5F52\u5165\u300C{category}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u79FB\u52A8\u3002","category.dragTip":"\u62D6\u62FD\u8C03\u6574\u987A\u5E8F\u6216\u79FB\u52A8\u5230\u5176\u4ED6\u5206\u7C7B","category.moved":"\u5DF2\u8C03\u6574\u6280\u80FD {name} \u7684\u5206\u7C7B\u6216\u987A\u5E8F\u3002","confirm.category.title":"\u5220\u9664\u5206\u7C7B\uFF1F","confirm.category.desc":"\u300C{name}\u300D\u4F1A\u6D88\u5931\uFF0C\u91CC\u9762\u7684\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\u3002\u6587\u4EF6\u4E0D\u4F1A\u79FB\u52A8\u3002","error.category.duplicate":"\u5DF2\u6709\u540C\u540D\u5206\u7C7B: {name}","error.category.name":"\u5206\u7C7B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u4E14\u4E0D\u80FD\u8D85\u8FC7 24 \u4E2A\u5B57\u7B26","error.category.notFound":"\u5206\u7C7B\u4E0D\u5B58\u5728","error.category.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.category.position":"\u6280\u80FD\u6392\u5E8F\u4F4D\u7F6E\u65E0\u6548","error.category.target":"\u6392\u5E8F\u76EE\u6807\u4E0D\u5C5E\u4E8E\u76EE\u6807\u5206\u7C7B","detail.title":"\u6280\u80FD\u8BE6\u60C5","detail.description":"\u7B80\u4ECB","detail.customNote":"\u81EA\u5B9A\u4E49\u7B80\u4ECB","detail.document":"SKILL.md","detail.body":"\u6B63\u6587","detail.frontmatter":"Frontmatter","detail.diagnostics":"\u8BCA\u65AD","detail.path":"\u6E90\u6587\u4EF6","detail.noIssues":"\u672A\u53D1\u73B0\u8BCA\u65AD\u95EE\u9898\u3002","detail.copyBody":"\u590D\u5236\u6B63\u6587","detail.copied":"\u5DF2\u590D\u5236","detail.copyFailed":"\u590D\u5236\u5931\u8D25","skill.editNote":"\u7F16\u8F91\u5907\u6CE8","note.title":"\u81EA\u5B9A\u4E49\u7B80\u4ECB / \u5907\u6CE8","note.label":"\u5907\u6CE8\u5185\u5BB9","note.placeholder":"\u8BB0\u5F55\u8FD9\u4E2A\u6280\u80FD\u662F\u5E72\u561B\u7684\u3001\u4EC0\u4E48\u65F6\u5019\u7528\u2026","note.help":"\u4FDD\u5B58\u5728\u63D2\u4EF6\u5185\u90E8\u663E\u793A\u5C42\uFF0C\u4E0D\u4FEE\u6539\u539F SKILL.md\u3002\u6E05\u7A7A\u53EF\u8FD8\u539F\u4E3A\u539F\u7B80\u4ECB\u3002","note.clear":"\u6E05\u7A7A","note.updated":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","note.cleared":"\u5DF2\u6E05\u9664\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","error.note.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.note.tooLarge":"\u81EA\u5B9A\u4E49\u7B80\u4ECB\u8FC7\u957F\uFF08\u6700\u591A {max} \u4E2A\u5B57\u7B26\uFF09","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.missing":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u53EF\u80FD\u5DF2\u88AB\u79FB\u52A8\u6216\u5220\u9664\uFF1A{path}","warning.project.unreadable":"\u65E0\u6743\u9650\u8BFB\u53D6\u5DE5\u4F5C\u533A\u76EE\u5F55\uFF1A{path}\uFF08{code}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.linked":"\u76EE\u5F55\u94FE\u63A5\u4E0D\u80FD\u5220\u9664\u6216\u8986\u76D6\uFF1A{path}","error.skill.noFrontmatter":"\u6280\u80FD\u7F3A\u5C11\u5B8C\u6574 frontmatter\uFF0C\u65E0\u6CD5{action}: {name}","error.skill.notLoadable":"\u6280\u80FD\u7ED3\u6784\u4E0D\u5B8C\u6574\uFF0C\u65E0\u6CD5{action}: {name}","error.source.notFound":"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}","error.source.symlink":"\u4E0D\u652F\u6301\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u7684 skill \u6765\u6E90: {path}","error.source.unrecognized":"\u65E0\u6CD5\u8BC6\u522B\u7684 skill \u6765\u6E90: {path}","error.source.tooDeep":"skill \u6765\u6E90\u76EE\u5F55\u5C42\u7EA7\u8D85\u8FC7 {depth} \u5C42: {path}","error.import.overlap":"\u5BFC\u5165\u6765\u6E90\u4E0D\u80FD\u4E0E DSH \u6280\u80FD\u76EE\u5F55\u76F8\u540C\u3001\u5305\u542B\u6216\u4F4D\u4E8E\u5176\u4E2D","error.import.emptySource":"\u76EE\u5F55\u4E0B\u672A\u627E\u5230\u4EFB\u4F55 skill \u6761\u76EE: {path}","error.import.invalidName":"\u65E0\u6CD5\u751F\u6210\u5408\u6CD5 kebab-case \u540D\u79F0\uFF08\u539F\u59CB\u540D: {name}\uFF09","error.import.duplicateName":"\u6279\u91CF\u6765\u6E90\u4E2D\u5B58\u5728\u591A\u4E2A\u540C\u540D\u6280\u80FD: {name}","error.import.failed":"\u5BFC\u5165\u5931\u8D25","error.import.rollbackFailed":"\u8986\u76D6\u5BFC\u5165\u56DE\u6EDA\u5931\u8D25\uFF0C\u5907\u4EFD\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.upload.path":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u975E\u6CD5\u8DEF\u5F84\uFF1A{path}","error.upload.encoding":"\u4E0A\u4F20\u5185\u5BB9\u7F16\u7801\u65E0\u6548","error.upload.empty":"\u4E0A\u4F20\u5185\u5BB9\u4E3A\u7A7A","error.upload.tooMany":"\u4E0A\u4F20\u6587\u4EF6\u8FC7\u591A\uFF0C\u6700\u591A {limit} \u4E2A","error.upload.tooLarge":"\u4E0A\u4F20\u5185\u5BB9\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.archiveTooLarge":"ZIP \u538B\u7F29\u5305\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.duplicate":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u91CD\u590D\u8DEF\u5F84\uFF1A{path}","error.upload.zipInvalid":"ZIP \u538B\u7F29\u5305\u65E0\u6CD5\u89E3\u538B","error.trash.notFound":"\u56DE\u6536\u7AD9\u6761\u76EE\u4E0D\u5B58\u5728: {id}","error.trash.conflict":"\u65E0\u6CD5\u6062\u590D\uFF0C\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.trash.invalid":"\u56DE\u6536\u7AD9\u6761\u76EE\u8DEF\u5F84\u975E\u6CD5: {id}","error.trash.projectUnavailable":"\u539F\u9879\u76EE\u5F53\u524D\u4E0D\u5728\u6D3B\u52A8\u5DE5\u4F5C\u533A\u4E2D\uFF0C\u65E0\u6CD5\u6062\u590D\uFF1A{path}","error.trash.rollbackFailed":"\u79FB\u5165\u56DE\u6536\u7AD9\u56DE\u6EDA\u5931\u8D25\uFF0C\u672A\u6062\u590D\u5185\u5BB9\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u62D2\u7EDD\u8986\u76D6\uFF1A{path}","error.create.descriptionRequired":"\u6280\u80FD\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A","error.create.bodyRequired":"\u6280\u80FD\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A","error.create.tooLarge":"\u6280\u80FD\u5185\u5BB9\u8FC7\u957F","error.create.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.proto.forbidden":"\u7981\u6B62\u7684\u4FEE\u6539\u8BF7\u6C42\uFF08\u7F3A\u5C11\u5BA2\u6237\u7AEF\u6807\u8BB0\uFF09","error.proto.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.invalidParams":"\u8BF7\u6C42\u53C2\u6570\u65E0\u6548","error.proto.bodyTooLarge":"\u8BF7\u6C42\u4F53\u8FC7\u5927","error.proto.invalidJson":"\u8BF7\u6C42\u4F53\u4E0D\u662F\u5408\u6CD5 JSON","error.proto.nonJson":"\u670D\u52A1\u7AEF\u8FD4\u56DE\u975E JSON \u54CD\u5E94\uFF08HTTP {status}\uFF09","error.update.disabled":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u7981\u7528","error.catalog.query":"\u641C\u7D22\u5173\u952E\u8BCD\u65E0\u6548\u3002","error.catalog.upstream":"\u76EE\u5F55\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\u3002","error.catalog.response":"\u76EE\u5F55\u8FD4\u56DE\u7684\u6570\u636E\u65E0\u6548\u6216\u8FC7\u5927\u3002","error.catalog.identity":"\u76EE\u5F55\u6280\u80FD\u6807\u8BC6\u65E0\u6548\u3002","diagnostic.frontmatter.missing":"\u7F3A\u5C11\u5B8C\u6574 YAML frontmatter","diagnostic.name.missing":"frontmatter \u7F3A\u5C11 name","diagnostic.name.invalid":"\u5BBF\u4E3B\u4E0D\u652F\u6301\u6B64\u6280\u80FD\u540D\u79F0\u683C\u5F0F\uFF08\u4EC5\u652F\u6301\u82F1\u6587\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u4E0E\u8FDE\u5B57\u7B26\uFF09\uFF0C\u65E0\u6CD5\u542F\u7528\u3002\u5982\u9700\u8C03\u7528\uFF0C\u8BF7\u5728 SKILL.md frontmatter \u4E2D\u6307\u5B9A\u82F1\u6587 name\uFF08\u76EE\u5F55\u540D\u53EF\u4FDD\u7559\u4E2D\u6587\uFF09\uFF1A{name}","diagnostic.description.missing":"frontmatter \u7F3A\u5C11 description","diagnostic.invocation.invalid":"\u8C03\u7528\u7B56\u7565\u5B57\u6BB5\u503C\u65E0\u6548","diagnostic.shadowed":"\u88AB\u66F4\u9AD8\u4F18\u5148\u7EA7\u6765\u6E90 {root} \u8986\u76D6","action.enable":"\u542F\u7528","action.disable":"\u505C\u7528","action.create":"\u521B\u5EFA","action.delete":"\u5220\u9664","action.restore":"\u6062\u590D","action.toggle":"\u542F\u7528\u6216\u505C\u7528","scope.user":"\u5168\u5C40\u6280\u80FD","scope.project":"\u9879\u76EE\u6280\u80FD","scope.trash":"\u56DE\u6536\u7AD9","scope.label":"\u6280\u80FD\u7BA1\u7406\u89C6\u56FE","scope.userHint":"\u8DE8\u9879\u76EE\u53EF\u7528\u3002\u542F\u505C\u4EC5\u5F71\u54CD DSH \u4E2D\u7684\u8C03\u7528\u3002","scope.projectHint":"\u6309\u5DE5\u4F5C\u533A\u67E5\u770B\u9879\u76EE\u6280\u80FD\u3002\u542F\u505C\u4E0D\u4FEE\u6539\u5176\u4ED6 Agent \u7684\u6E90\u6587\u4EF6\u3002","project.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\u5DE5\u4F5C\u533A\u3002","project.noSkills":"\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u91CC\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.unavailable":"\u76EE\u5F55\u4E0D\u53EF\u7528","workspace.missing":"\u76EE\u5F55\u4E0D\u5B58\u5728","workspace.unreadable":"\u65E0\u8BFB\u53D6\u6743\u9650","workspace.noSkills":"\u8FD9\u4E2A\u5DE5\u4F5C\u533A\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.loading":"\u6B63\u5728\u8BFB\u53D6\u2026","workspace.loadFailed":"\u8BFB\u53D6\u5931\u8D25\uFF1A{error}","workspace.listFailed":"\u65E0\u6CD5\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5217\u8868\uFF1A{error}","filter.status":"\u8C03\u7528\u72B6\u6001","filter.statusAll":"\u5168\u90E8\u72B6\u6001","status.shadowedBy":"\u88AB {source} \u4E2D\u7684\u540C\u540D\u6280\u80FD\u8986\u76D6","status.fallback.user":"\u5F53\u524D\u4F7F\u7528\u5168\u5C40 {source} \u526F\u672C\u3002","status.fallback.project":"\u5F53\u524D\u4F7F\u7528\u9879\u76EE {source} \u526F\u672C\u3002","root.copilot":"GitHub Copilot","source.selectHint":"\u5148\u9009\u62E9\u4E00\u4E2A\u6765\u6E90\uFF0C\u624D\u80FD\u67E5\u770B\u76EE\u5F55\u6216\u5173\u95ED\u6574\u4E2A\u6765\u6E90\u3002\u5173\u95ED\u6765\u6E90\u53EA\u5F71\u54CD DSH \u8C03\u7528\uFF0C\u4E0D\u6539\u6587\u4EF6\u3002","import.global":"\u5BFC\u5165\u6280\u80FD","category.batchAssigned":"\u5DF2\u5C06 {count} \u4E2A\u6280\u80FD\u6DFB\u52A0\u5230\u201C{category}\u201D\u3002\u6587\u4EF6\u672A\u79FB\u52A8\u3002","category.selectSkills":"\u6DFB\u52A0\u6280\u80FD\u5230\u201C{name}\u201D","category.noAvailableSkills":"\u6CA1\u6709\u53EF\u6DFB\u52A0\u7684\u6280\u80FD","category.addSkills":"\u6DFB\u52A0\u6280\u80FD","root.dsh":"DSH","root.agents":"\u516C\u5171 Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH","root.projectAgents":"\u9879\u76EE Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (\u7528\u6237\u76EE\u5F55)","root.trae":"Trae","root.traeCn":"Trae (\u56FD\u5185\u7248)","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (\u65E7\u76EE\u5F55)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN","root.antigravity":"Google Antigravity","group.label":"\u5206\u7EC4\u65B9\u5F0F","group.bySource":"\u6309\u6765\u6E90\u76EE\u5F55","group.byRepo":"\u6309\u6765\u6E90\u4ED3\u5E93","group.hint":"\u5728\u6765\u6E90\u76EE\u5F55\u4E0B\u6309\u53EF\u6838\u67E5\u7684\u8BB0\u5F55\u518D\u5206\u300C\u4ED3\u5E93 \u2192 \u4ED3\u5E93\u5185\u76EE\u5F55\u300D\uFF1A\u5B89\u88C5\u8BB0\u5F55 \u2192 \u76EE\u5F55\u9501\u6587\u4EF6 \u2192 \u6280\u80FD\u5143\u6570\u636E\uFF1B\u6CA1\u6709\u8BB0\u5F55\u7684\u6807\u4E3A\u300C\u6765\u6E90\u672A\u77E5\u300D\uFF0C\u4E0D\u6309\u76EE\u5F55\u540D\u79F0\u731C\u6D4B\u3002","group.provenanceCount":"{repos} \u4E2A\u6765\u6E90\u4ED3\u5E93 \xB7 {unknown} \u4E2A\u6280\u80FD\u6765\u6E90\u672A\u77E5","group.unknownSource":"\u6765\u6E90\u672A\u77E5","group.repoRoot":"\u4ED3\u5E93\u6839\u76EE\u5F55\uFF08\u672A\u5206\u76EE\u5F55\uFF09","group.evidence.install":"\u5B89\u88C5\u8BB0\u5F55","group.evidence.lock":"\u76EE\u5F55\u9501\u6587\u4EF6","group.evidence.meta":"\u6280\u80FD\u5143\u6570\u636E","group.evidence.root":"\u76EE\u5F55\u843D\u70B9","group.openRepo":"\u6253\u5F00 {repo}","group.noRepo":"\u6CA1\u6709\u53EF\u6838\u67E5\u7684\u4ED3\u5E93\u8BB0\u5F55\uFF0C\u6309\u6765\u6E90\u76EE\u5F55\u5F52\u7C7B\u3002"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names, descriptions or notes","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","skill.linked":"External directory link, read-only","source.toggle":"Toggle source","skill.toggle":"Toggle skill","category.toggle":"Toggle category","category.create":"New category","category.uncategorized":"Uncategorized","category.assign":"Move to {name}","category.rename":"Rename","category.delete":"Delete category","category.note":"Categories stay in this source and do not move files.","category.name":"Category name","category.empty":"No skills yet. Use More on a skill to place it here.","category.progress":"{count} \xB7 {enabled}/{usable} enabled","category.actions":"Category actions","category.created":"Added category \u201C{name}\u201D. No directory was created.","category.renamed":"Renamed. Skill file names are unchanged.","category.deleted":"Deleted category \u201C{name}\u201D. Skills returned to Uncategorized and were not trashed.","category.assigned":"Moved {name} to \u201C{category}\u201D. The file was not moved.","category.dragTip":"Drag to reorder or move to another category","category.moved":"Updated the category or order for {name}.","confirm.category.title":"Delete category?","confirm.category.desc":"\u201C{name}\u201D will be removed. Its skills return to Uncategorized. Files are not moved.","error.category.duplicate":"A category with this name already exists: {name}","error.category.name":"Category name is required and must be at most 24 characters","error.category.notFound":"Category not found","error.category.root":"Skill source not found: {root}","error.category.position":"Invalid skill ordering position","error.category.target":"The target skill is not in the destination category","detail.title":"Skill details","detail.description":"Description","detail.customNote":"Custom note","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","detail.copyBody":"Copy body","detail.copied":"Copied","detail.copyFailed":"Copy failed","skill.editNote":"Edit note","note.title":"Custom description / Note","note.label":"Note","note.placeholder":"Record what this skill does and when to use it\u2026","note.help":"Saved in the plugin display layer without modifying SKILL.md. Clear to revert to original description.","note.clear":"Clear","note.updated":"Updated custom note for \u201C{name}\u201D.","note.cleared":"Cleared custom note for \u201C{name}\u201D.","error.note.root":"Skill source not found: {root}","error.note.tooLarge":"Custom note is too long (maximum {max} characters)","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.missing":"The workspace directory does not exist and may have been moved or deleted: {path}","warning.project.unreadable":"No permission to read the workspace directory: {path} ({code})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.linked":"This directory link cannot be deleted or overwritten: {path}","error.skill.noFrontmatter":"Skill lacks complete frontmatter, cannot {action}: {name}","error.skill.notLoadable":"Skill structure is incomplete, cannot {action}: {name}","error.source.notFound":"Path does not exist: {path}","error.source.symlink":"Skill sources containing symbolic links are not supported: {path}","error.source.unrecognized":"Unrecognized skill source: {path}","error.source.tooDeep":"Skill source directory depth exceeds {depth} levels: {path}","error.import.overlap":"Import source cannot be the same as, contain, or be inside the DSH skills directory","error.import.emptySource":"No skill entries found in the directory: {path}","error.import.invalidName":"Cannot generate a valid kebab-case name (original: {name})","error.import.duplicateName":"Batch source contains duplicate skill names: {name}","error.import.failed":"Import failed","error.import.rollbackFailed":"Overwrite import rollback failed; backups kept at: {path} ({error})","error.upload.path":"Upload contains an invalid path: {path}","error.upload.encoding":"Upload encoding is invalid","error.upload.empty":"Upload is empty","error.upload.tooMany":"Too many uploaded files; maximum {limit}","error.upload.tooLarge":"Upload is too large; limit {limit} bytes","error.upload.archiveTooLarge":"ZIP archive is too large; limit {limit} bytes","error.upload.duplicate":"Upload contains a duplicate path: {path}","error.upload.zipInvalid":"ZIP archive could not be extracted","error.trash.notFound":"Trash item not found: {id}","error.trash.conflict":"Cannot restore because a skill with the same name exists: {name}","error.trash.invalid":"Invalid trash item path: {id}","error.trash.projectUnavailable":"The original project is not an active workspace, so this skill cannot be restored: {path}","error.trash.rollbackFailed":"Move-to-trash rollback failed; unrecovered content was kept at: {path} ({error})","error.state.invalid":"The manager state file could not be read, so overwriting it was refused: {path}","error.create.descriptionRequired":"Skill description is required","error.create.bodyRequired":"Skill body is required","error.create.tooLarge":"Skill content is too large","error.create.conflict":"A skill with the same name already exists: {name}","error.proto.forbidden":"Forbidden mutation request (missing client marker)","error.proto.contentType":"Content type must be application/json","error.proto.invalidParams":"Invalid request parameters","error.proto.bodyTooLarge":"Request body too large","error.proto.invalidJson":"Invalid JSON request body","error.proto.nonJson":"Server returned a non-JSON response (HTTP {status})","error.update.disabled":"Online updates are disabled","error.catalog.query":"The search query is invalid.","error.catalog.upstream":"The catalog service is temporarily unavailable.","error.catalog.response":"The catalog response is invalid or too large.","error.catalog.identity":"The catalog skill identifier is invalid.","diagnostic.frontmatter.missing":"Missing complete YAML frontmatter","diagnostic.name.missing":"Frontmatter is missing name","diagnostic.name.invalid":"Skill name format is not supported by host (lowercase letters, numbers and hyphens only), cannot be enabled. To invoke it, specify an English name in the SKILL.md frontmatter (directory name can remain unchanged): {name}","diagnostic.description.missing":"Frontmatter is missing description","diagnostic.invocation.invalid":"Invocation policy value is invalid","diagnostic.shadowed":"Shadowed by higher-priority source {root}","action.enable":"enable","action.disable":"disable","action.create":"create","action.delete":"delete","action.restore":"restore","action.toggle":"enabling or disabling","scope.user":"Global skills","scope.project":"Project skills","scope.trash":"Trash","scope.label":"Skill manager views","scope.userHint":"Available across projects. Toggles only affect invocation in DSH.","scope.projectHint":"View project skills by workspace. Toggles do not modify other agents\u2019 source files.","project.empty":"No registered workspaces yet. Add one in the sidebar first.","project.noSkills":"Registered workspaces do not have skills yet.","workspace.unavailable":"Directory unavailable","workspace.missing":"Directory missing","workspace.unreadable":"No read permission","workspace.noSkills":"No skills in this workspace yet.","workspace.loading":"Loading\u2026","workspace.loadFailed":"Failed to load: {error}","workspace.listFailed":"Cannot read the workspace list: {error}","filter.status":"Invocation status","filter.statusAll":"All statuses","status.shadowedBy":"Overridden by the same skill in {source}","status.fallback.user":"Currently using the global {source} copy.","status.fallback.project":"Currently using the project {source} copy.","source.selectHint":"Select a source to view its directory or turn the whole source off. Turning a source off only affects invocation in DSH and does not change files.","import.global":"Import skill","category.batchAssigned":"Added {count} skills to \u201C{category}\u201D. Files were not moved.","category.selectSkills":"Add skills to \u201C{name}\u201D","category.noAvailableSkills":"No skills available to add","category.addSkills":"Add skills","root.dsh":"DSH skills","root.agents":"Shared Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH skills","root.projectAgents":"Project Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.copilot":"GitHub Copilot","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (User Home)","root.trae":"Trae","root.traeCn":"Trae CN","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (Legacy)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN","root.antigravity":"Google Antigravity","group.label":"Group by","group.bySource":"Source directory","group.byRepo":"Source repository","group.hint":"Inside each source directory, verifiable records add a repository \u2192 directory hierarchy: install record \u2192 directory lock file \u2192 skill metadata; other sources are marked Unknown source. Directory names are not guessed.","group.provenanceCount":"{repos} repositories \xB7 {unknown} skills with unknown source","group.unknownSource":"Unknown source","group.repoRoot":"Repository root (no category)","group.evidence.install":"Install record","group.evidence.lock":"Directory lock file","group.evidence.meta":"Skill metadata","group.evidence.root":"Directory fallback","group.openRepo":"Open {repo}","group.noRepo":"No verifiable repository record; grouped by source directory."}},So={zh:{"rootPath.edit":"\u4FEE\u6539\u6280\u80FD\u76EE\u5F55","rootPath.title":"\u4FEE\u6539\u300C{name}\u300D\u7684\u6280\u80FD\u76EE\u5F55","rootPath.manage":"\u6765\u6E90\u76EE\u5F55","rootPath.source":"\u6280\u80FD\u6765\u6E90","rootPath.desc":"\u53EA\u6539\u672C\u63D2\u4EF6\u8BFB\u53D6\u7684\u4F4D\u7F6E\uFF0C\u4E0D\u79FB\u52A8\u4EFB\u4F55\u6587\u4EF6\u3002\u5916\u90E8\u6765\u6E90\u4ECD\u7136\u53EA\u8BFB\uFF1B\u8981\u8BA9\u8BE5 Agent \u81EA\u5DF1\u6362\u76EE\u5F55\uFF0C\u8BF7\u6539\u5B83\u81EA\u5DF1\u7684\u914D\u7F6E\u3002","rootPath.label":"\u6280\u80FD\u76EE\u5F55\uFF08\u542B SKILL.md \u7684\u4E0A\u4E00\u7EA7\uFF09","rootPath.placeholder":"\u4F8B\u5982 D:\\skills\\codex","rootPath.browse":"\u6D4F\u89C8\u2026","rootPath.pickUnavailable":"\u5F53\u524D\u73AF\u5883\u6CA1\u6709\u53EF\u7528\u7684\u76EE\u5F55\u9009\u62E9\u5668\uFF0C\u8BF7\u76F4\u63A5\u8F93\u5165\u8DEF\u5F84\u3002","rootPath.reset":"\u6062\u590D\u9ED8\u8BA4","rootPath.save":"\u4FDD\u5B58","rootPath.custom":"\u81EA\u5B9A\u4E49","rootPath.overrideTitle":"\u81EA\u5B9A\u4E49\u76EE\u5F55\uFF0C\u9ED8\u8BA4\uFF1A{path}","rootPath.defaultHint":"\u9ED8\u8BA4\u76EE\u5F55\uFF1A{path}","rootPath.saved":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u6280\u80FD\u76EE\u5F55\u3002","rootPath.resetDone":"\u5DF2\u6062\u590D\u300C{name}\u300D\u7684\u9ED8\u8BA4\u76EE\u5F55\u3002","error.rootPath.unsupported":"\u8BE5\u6280\u80FD\u6765\u6E90\u4E0D\u652F\u6301\u4FEE\u6539\u76EE\u5F55\uFF1A{root}","error.rootPath.invalid":"\u6280\u80FD\u76EE\u5F55\u65E0\u6548\uFF1A{path}","error.rootPath.absolute":"\u6280\u80FD\u76EE\u5F55\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.rootPath.tooLong":"\u6280\u80FD\u76EE\u5F55\u8DEF\u5F84\u8FC7\u957F\uFF1A{path}","error.rootPath.notFound":"\u6280\u80FD\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{path}","error.rootPath.notDirectory":"\u6280\u80FD\u76EE\u5F55\u4E0D\u662F\u6587\u4EF6\u5939\uFF1A{path}","error.rootPath.overlap":"\u6280\u80FD\u76EE\u5F55\u4E0D\u80FD\u4E0E\u5176\u5B83\u6280\u80FD\u6765\u6E90\u91CD\u53E0\uFF1A{path}","error.rootPath.reserved":"\u6280\u80FD\u76EE\u5F55\u4E0D\u80FD\u4E0E\u6280\u80FD\u7BA1\u7406\u5668\u7684\u72B6\u6001\u76EE\u5F55\u91CD\u53E0\uFF1A{path}","warning.rootPath.invalid":"\u6280\u80FD\u76EE\u5F55\u914D\u7F6E\u9879\u65E0\u6548\uFF0C\u5DF2\u5FFD\u7565\uFF1A{path}","warning.rootPath.corrupt":"\u6280\u80FD\u76EE\u5F55\u914D\u7F6E\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u4F7F\u7528\u9ED8\u8BA4\u76EE\u5F55\uFF1A{path}","warning.rootPath.missing":"\u81EA\u5B9A\u4E49\u6280\u80FD\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{path}","customSource.title":"\u81EA\u5B9A\u4E49\u6765\u6E90","customSource.add":"\u6DFB\u52A0\u6765\u6E90","customSource.desc":"\u767B\u8BB0\u6E05\u5355\u5916\u7684 Agent \u6280\u80FD\u76EE\u5F55\uFF1A\u53EA\u8BFB\u53D6\uFF0C\u4E0D\u79FB\u52A8\u4E5F\u4E0D\u6539\u52A8\u7B2C\u4E09\u65B9\u6587\u4EF6\u3002\u4E5F\u53EF\u4EE5\u586B\u4EA7\u54C1\u603B\u76EE\u5F55\u70B9\u300C\u626B\u63CF\u5B50\u76EE\u5F55\u300D\uFF0C\u81EA\u52A8\u627E\u51FA\u5404\u5B50\u76EE\u5F55\u4E0B\u7684 skills\u3002","customSource.path":"\u6280\u80FD\u76EE\u5F55\uFF08\u542B SKILL.md \u7684\u4E0A\u4E00\u7EA7\uFF09","customSource.path.placeholder":"\u4F8B\u5982 D:\\tools\\my-agent\\skills","customSource.label":"\u663E\u793A\u540D\uFF08\u7559\u7A7A\u5219\u7528\u76EE\u5F55\u540D\uFF09","customSource.label.placeholder":"\u4F8B\u5982 My Agent","customSource.scan":"\u626B\u63CF\u5B50\u76EE\u5F55","customSource.scanning":"\u626B\u63CF\u4E2D\u2026","customSource.scanResult":"\u5728 {path} \u4E0B\u627E\u5230 {count} \u4E2A\u6280\u80FD\u76EE\u5F55","customSource.skillCount.one":"{count} \u4E2A\u6280\u80FD","customSource.skillCount.other":"{count} \u4E2A\u6280\u80FD","customSource.addOne":"\u6DFB\u52A0","customSource.addAll":"\u5168\u90E8\u6DFB\u52A0","customSource.added":"\u5DF2\u6DFB\u52A0 {count} \u4E2A\u81EA\u5B9A\u4E49\u6765\u6E90\u3002","customSource.removed":"\u5DF2\u79FB\u9664\u8BE5\u81EA\u5B9A\u4E49\u6765\u6E90\u7684\u767B\u8BB0\u3002","customSource.remove":"\u79FB\u9664\u767B\u8BB0","customSource.registered":"\u5DF2\u767B\u8BB0","customSource.conflict":"\u4E0E\u5DF2\u6709\u6765\u6E90\u91CD\u53E0","error.customSource.unknown":"\u672A\u767B\u8BB0\u7684\u81EA\u5B9A\u4E49\u6765\u6E90\uFF1A{root}","error.customSource.limit":"\u81EA\u5B9A\u4E49\u6765\u6E90\u6570\u91CF\u5DF2\u8FBE\u4E0A\u9650\uFF1A{limit}","error.customSource.label":"\u81EA\u5B9A\u4E49\u6765\u6E90\u5FC5\u987B\u6709\u663E\u793A\u540D\uFF1A{path}","error.customSource.empty":"\u6CA1\u6709\u8981\u6DFB\u52A0\u7684\u6280\u80FD\u6765\u6E90"},en:{"rootPath.edit":"Change skills folder","rootPath.title":"Change the skills folder for {name}","rootPath.manage":"Source folders","rootPath.source":"Skill source","rootPath.desc":"Only changes where this plugin reads skills. No files are moved. External sources stay read-only; to change the agent's own folder, update that agent's configuration.","rootPath.label":"Skills folder (the parent of SKILL.md files)","rootPath.placeholder":"e.g. D:\\skills\\codex","rootPath.browse":"Browse\u2026","rootPath.pickUnavailable":"No directory picker is available here; type the path instead.","rootPath.reset":"Restore default","rootPath.save":"Save","rootPath.custom":"Custom","rootPath.overrideTitle":"Custom folder; default: {path}","rootPath.defaultHint":"Default folder: {path}","rootPath.saved":"Updated the skills folder for {name}.","rootPath.resetDone":"Restored the default folder for {name}.","error.rootPath.unsupported":"This skill source does not support changing its folder: {root}","error.rootPath.invalid":"Invalid skills folder: {path}","error.rootPath.absolute":"The skills folder must be an absolute path: {path}","error.rootPath.tooLong":"The skills folder path is too long: {path}","error.rootPath.notFound":"The skills folder does not exist: {path}","error.rootPath.notDirectory":"The skills folder is not a directory: {path}","error.rootPath.overlap":"The skills folder must not overlap another skill source: {path}","error.rootPath.reserved":"The skills folder must not overlap the manager's state folder: {path}","warning.rootPath.invalid":"Ignored an invalid skills folder setting: {path}","warning.rootPath.corrupt":"The skills folder settings could not be read; defaults are in use: {path}","warning.rootPath.missing":"The custom skills folder does not exist: {path}","customSource.title":"Custom sources","customSource.add":"Add source","customSource.desc":"Register skill folders for agents that are not in the built-in list. Read-only: nothing is moved or modified. You can also point at a product folder and scan for the skills folders inside it.","customSource.path":"Skills folder (the parent of SKILL.md files)","customSource.path.placeholder":"e.g. D:\\tools\\my-agent\\skills","customSource.label":"Display name (empty uses the folder name)","customSource.label.placeholder":"e.g. My Agent","customSource.scan":"Scan subfolders","customSource.scanning":"Scanning\u2026","customSource.scanResult":"Found {count} skills folders under {path}","customSource.skillCount.one":"{count} skill","customSource.skillCount.other":"{count} skills","customSource.addOne":"Add","customSource.addAll":"Add all","customSource.added":"Added {count} custom sources.","customSource.removed":"Removed the custom source registration.","customSource.remove":"Remove","customSource.registered":"Registered","customSource.conflict":"Overlaps an existing source","error.customSource.unknown":"Unknown custom source: {root}","error.customSource.limit":"Custom sources reached the limit: {limit}","error.customSource.label":"A custom source needs a display name: {path}","error.customSource.empty":"No skill sources to add"}};Object.assign(Wa.zh,So.zh,Dr.zh,Ur.zh,Vr.zh);Object.assign(Wa.en,So.en,Dr.en,Ur.en,Vr.en);var Et=lo(M),Co=eo({react:M,SourceSelect:Et,translateError:se}),yo=Co.DestinationPicker,Sn=Ie.IconLoadingOutlineMedium||Ie.IconLoadingOutlineRegular||Ie.IconLoadingOutline16,Cn=Ie.IconRefreshOutlineMedium||Ie.IconRefreshOutlineRegular||Ie.IconRefreshOutline16,Nn=_r({react:M,Modal:Xe,Input:Be,Button:We.Button,SourceSelect:Et,destination:Co,api:Fa,headers:Lt,translateError:se,getLocale:wr,IconLoading:Sn,IconRefresh:Cn}),Rn=$r+Wr+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{display:grid!important;box-sizing:border-box!important;width:100%;height:32px!important;min-height:32px!important;max-height:32px!important;padding:2px!important;border-radius:var(--dsw-radius-sm,8px)!important;border:0.5px solid var(--dsw-alias-border-l2)!important;background:var(--dsw-alias-bg-layer-1)!important}.dssm-scope-tabs>span[aria-hidden="true"],.dssm-scope-tabs>[class*="indicator"]{width:calc((100% - 4px)/4)!important;inset:2px auto 2px 2px!important;border-radius:6px!important;border:0.5px solid var(--dsw-alias-border-l3,rgba(255,255,255,.12))!important;background:var(--dsw-alias-bg-layer-3,rgba(255,255,255,.08))!important;box-shadow:none!important}.dssm-scope-tabs [role=tab]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:28px!important;padding:0 6px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!important;white-space:nowrap!important;color:var(--dsw-alias-label-secondary)!important;text-align:center!important;box-sizing:border-box!important;transition:color 150ms ease!important}.dssm-scope-tabs [role=tab]:hover{color:var(--dsw-alias-label-primary)!important}.dssm-scope-tabs [role=tab][aria-selected="true"]{color:var(--dsw-alias-label-primary)!important;font-weight:600!important}.dssm-scope-tabs [role=tab] svg{flex:none;display:block}.dssm-source-head{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px}.dssm-source-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-source-toggle:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary));outline-offset:2px}.dssm-fold-chevron{flex:none;color:var(--dsw-alias-label-tertiary);transform:rotate(-90deg);transition:transform 160ms ease}.dssm-fold-chevron.is-open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.dssm-fold-chevron{transition:none}}.dssm-source-label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dssm-drag-handle{cursor:grab;color:var(--dsw-alias-label-tertiary,#888);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;border-radius:var(--dsw-radius-sm,8px);flex-shrink:0;user-select:none;transition:color 0.15s}.dssm-skill-row:hover .dssm-drag-handle{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-drag-handle:active{cursor:grabbing}.dssm-cat.drag-over{border-color:var(--dsw-alias-brand-primary,#3b82f6);box-shadow:0 0 0 1px var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.dragging{opacity:0.4;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent))}.dssm-skill-row.drop-before{box-shadow:inset 0 2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.drop-after{box-shadow:inset 0 -2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:0;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:0;background:transparent}.dssm-skill-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-skill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-skill-row .dssm-name{font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none}.dssm-source{overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-textarea{box-sizing:border-box;display:block;width:100%;min-height:160px;margin:0;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:14px;line-height:22px;resize:vertical}.dssm-textarea:focus,.dssm-textarea:focus-visible{outline:none;border-color:var(--dsw-alias-state-business-primary)}.dssm-textarea[readonly]{resize:none}.dssm-source-title{font-size:14px;font-weight:650;white-space:nowrap;flex:none}.dssm-source-path{min-width:0;max-width:50%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-source-actions{display:flex;flex:none;align-items:center;gap:8px;margin-left:12px}.dssm-cat{margin:0 10px 8px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px)}.dssm-cat-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 6px}.dssm-cat-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-cat-title{font-size:14px;font-weight:700;display:inline-flex;align-items:center}.dssm-cat-note{margin:2px 16px 8px}.dssm-fallback{margin-top:4px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-section{box-sizing:border-box;display:flex;width:100%;min-width:0;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary,#eeeeee);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dssm-feedback-links>span[data-mpi-check]{display:inline-flex;align-items:center}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));outline-offset:2px}.dssm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1)}.dssm-stat{padding:4px 10px;border-right:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:4px;color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:650}.dssm-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%!important;min-width:0;box-sizing:border-box}.dssm-filter-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.dssm-filters .dssm-search{flex:1 1 0;min-width:160px;max-width:none}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter,.dssm-filters .dssm-menu-select-wrap,.dssm-filters span[class*="_root_"],.dssm-filters .dssm-source-select-menu,.dssm-filters .dssm-menu-select-trigger{width:auto!important;min-width:0!important;display:inline-flex!important;flex:none}.dssm-field .dssm-menu-select-wrap,.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"]{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.dssm-destination-pair .dssm-menu-select-trigger,.dssm-form .dssm-menu-select-trigger{display:flex!important;width:100%!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}.dssm-source-select-menu{min-width:130px;max-width:280px}.dssm-menu-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:32px;padding:0 10px;border:0.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;line-height:20px;cursor:pointer;user-select:none;width:max-content;min-width:8em;transition:border-color 120ms ease,background 120ms ease}.dssm-menu-select-trigger:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#555)}.dssm-menu-select-trigger.is-open,.dssm-menu-select-trigger:focus-visible{border-color:var(--dsw-alias-brand-primary)!important;outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary))!important;outline-offset:0!important}.dssm-menu-select-trigger:disabled{opacity:.5;cursor:default}.dssm-menu-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.dssm-menu-select-arrow{color:var(--dsw-alias-label-secondary);flex-shrink:0}.dssm-count{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap;flex:none}.dssm-name{overflow-wrap:anywhere;font-size:13px;font-weight:570}.dssm-note{overflow-wrap:anywhere;margin-top:2px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px;line-height:17px}.dssm-enabled{color:var(--dsw-alias-state-success-primary,#51b976);font-size:12px;white-space:nowrap}.dssm-disabled{color:var(--dsw-alias-state-warn-primary,#d49245);font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap}.dssm-trash-count{padding:2px 7px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px}.dssm-warning{border-color:var(--dsw-alias-state-warn-primary,#d49245);color:var(--dsw-alias-state-warn-primary,#d49245)}.dssm-error{border-color:var(--dsw-alias-state-error-primary,#ef7272);color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-detail .dssm-desc{margin:0}.dssm-field{gap:6px}.dssm-label{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-detail-title{font-size:14px;line-height:22px;font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:18px}.dssm-batch-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;margin:12px 0;padding:2px}.dssm-batch-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));cursor:pointer;user-select:none;transition:background 0.15s,border-color 0.15s}.dssm-batch-item:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));border-color:var(--dsw-alias-border-l2,#494949)}.dssm-batch-item.selected{border-color:var(--dsw-alias-brand-primary,#3b82f6);background:var(--dsw-alias-state-business-tertiary)}.dssm-batch-item input[type="checkbox"]{cursor:pointer;margin:0;flex-shrink:0;width:15px;height:15px}.dssm-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dssm-batch-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dssm-batch-name{font-size:13px;font-weight:600;color:var(--dsw-alias-label-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-batch-cat-tag{font-size:10px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap;flex-shrink:0}.dssm-batch-desc{font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-form+.dssm-modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--dsw-alias-border-l2)}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3,#555555);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12))}.dssm-dropzone-title{color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary,#eeeeee);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eeeeee);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:22px}.dssm-detail-section .dssm-note,.dssm-diag{font-size:14px;line-height:22px}.dssm-detail-path{padding:8px 10px;border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);word-break:break-all}.dssm-diag{padding:8px 10px;border-left:2px solid var(--dsw-alias-state-warn-primary,#d49245);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-trash-panel{display:flex;flex-direction:column;gap:10px}.dssm-trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;border:0.5px solid var(--dsw-alias-border-l2,rgba(128,128,128,.2));border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-trash-main{min-width:0;display:flex;flex-direction:column;gap:6px}.dssm-trash-item .dssm-name{font-size:14px;line-height:20px;color:var(--dsw-alias-label-primary,inherit)}.dssm-trash-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:17px;color:var(--dsw-alias-label-tertiary,#909090);overflow-wrap:anywhere}.dssm-trash-source{min-width:0;background:transparent;color:var(--dsw-alias-label-tertiary,#a0a0a0)}.dssm-trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
|
|
33
|
+
`;function bo(){if(typeof document>"u"||document.getElementById(ho)!==null)return;let t=document.createElement("style");t.id=ho,t.textContent=Wr,(document.head??document.documentElement).appendChild(t)}function hn(t){let e=t&&typeof t.size=="number"?t.size:16;return Se("svg",{viewBox:"0 0 16 16",width:e,height:e,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:Br}})}function bn(t){bo();let{t:e,location:i,onLocationChange:l,enabled:p=!1,onToggle:g,disabled:h,onlineUpdateEnabled:b=!0,onToggleOnlineUpdate:v,onlineUpdateDisabled:N,onlineUpdateLocked:C}=t,z=i??(p?"both":"settings"),s=J=>{(J==="both"||J==="sidebar"||J==="settings")&&(typeof l=="function"?l(J):typeof g=="function"&&g(J!=="settings"))},A=[Se("div",{key:"entry-location",className:"dssm-bundle-row"},Se("div",{className:"dssm-bundle-label-box"},Se("span",{className:"dssm-bundle-title"},e("entry.location.title")||e("sidebar.entry.title")),Se("span",{className:"dssm-bundle-desc"},e("entry.location.desc")||e("sidebar.entry.desc"))),Se(br.SegmentedControl,{id:"dssm-bundle-entry-location",value:z,onChange:s,label:e("entry.location.title")||e("sidebar.entry.title"),disabled:h,options:[{value:"both",label:e("entry.location.both")||"\u4E24\u8FB9\u663E\u793A"},{value:"sidebar",label:e("entry.location.sidebar")||"\u4EC5\u4FA7\u8FB9\u680F"},{value:"settings",label:e("entry.location.settings")||"\u4EC5\u8BBE\u7F6E"}]}))];return typeof v=="function"&&A.push(Se("div",{key:"online-update",className:"dssm-bundle-row"},Se("div",{className:"dssm-bundle-label-box"},Se("span",{className:"dssm-bundle-title"},e("update.entry.title")),Se("span",{className:"dssm-bundle-desc"},e(C?"update.entry.locked":"update.entry.desc"))),Se(br.Switch,{checked:b,onChange:v,label:e("update.entry.toggle"),disabled:N,title:C?e("update.entry.locked"):void 0}))),Se(Ve.Fragment,null,A)}function yn(t){let[e,i]=Ve.useState(t.getLocation),[l,p]=Ve.useState(t.getOnlineUpdateEnabled?t.getOnlineUpdateEnabled:()=>!0),[g,h]=Ve.useState(t.getOnlineUpdateLocked?t.getOnlineUpdateLocked:()=>!1),[b,v]=Ve.useState(!1),[N,C]=Ve.useState(!1);Ve.useEffect(()=>{let A=()=>{i(t.getLocation()),t.getOnlineUpdateEnabled&&p(t.getOnlineUpdateEnabled()),t.getOnlineUpdateLocked&&h(t.getOnlineUpdateLocked())};return A(),t.subscribe(A)},[t]);let z=A=>{v(!0),i(A),t.setLocation(A).catch(()=>{i(t.getLocation())}).finally(()=>{v(!1)})},s=t.setOnlineUpdate?A=>{t.getOnlineUpdateLocked?.()||(C(!0),p(A),t.setOnlineUpdate(A).catch(()=>{t.getOnlineUpdateEnabled&&p(t.getOnlineUpdateEnabled())}).finally(()=>{C(!1)}))}:void 0;return Se(bn,{t:t.t,location:e,disabled:b,onLocationChange:z,onlineUpdateEnabled:l,onlineUpdateDisabled:N||g,onlineUpdateLocked:g,onToggleOnlineUpdate:s})}function Kr(t,e){if(bo(),!t.locale)return{getLocation:()=>"settings",setLocation:async()=>"settings",isSettingsSectionEnabled:()=>!0,isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:i,headers:l,renderPanel:p,ns:g}=e,h="settings",b=!1,v=null,N=null,C=0,z=!1,s,A=new Set,J=()=>h==="both"||h==="sidebar",ue=()=>h==="both"||h==="settings",k=()=>{if(!z)for(let L of A)try{L()}catch{}},I=()=>{if(!z)if(b&&J()){if(!v){let L=t.slots.register({name:"main",key:Fr,locale:g,inject:()=>({t:t.locale?.bind?t.locale.bind(g):void 0})},ae=>Se("div",{className:"dssm-main-panel"},p(ae)));v=typeof L=="function"?L:()=>{}}if(!N){let L=t.slots.register({name:"sidebar.panellist",id:Fr,order:gn,label:()=>t.locale.bind(g)("title"),locale:g},ae=>Se(hn,ae));N=typeof L=="function"?L:()=>{}}}else{if(s?.panelInfo&&typeof s.selectPanel=="function")try{s.panelInfo.getSnapshot().activePanelId===Fr&&s.selectPanel(null)}catch{}if(N){try{N()}catch{}N=null}if(v){try{v()}catch{}v=null}}},be=async L=>{if(z)return h;let ae=++C,ie=h;if(h=L,I(),k(),typeof e.onLocationChange=="function")try{e.onLocationChange(L)}catch{}try{return await i("/sidebar-entry",{method:"POST",headers:l,body:JSON.stringify({location:L})}),L}catch(Q){if(ae===C&&(h=ie,I(),k(),typeof e.onLocationChange=="function"))try{e.onLocationChange(ie)}catch{}throw Q}},K=async L=>(await be(L?"both":"settings"),J()),Y=!0,pe=!1,q=0,f=async L=>{if(z||pe)return Y;let ae=++q;if(Y=L,k(),!L&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(L)}catch{}try{if(await i("/online-update",{method:"POST",headers:l,body:JSON.stringify({enabled:L})}),L&&!z&&ae===q&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(L)}catch{}return L}catch(ie){if(ae===q){let Q=ie!==null&&typeof ie=="object"&&"code"in ie&&ie.code==="error.update.disabled";if(Q&&(pe=!0),Y=Q?!1:!L,k(),typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(Y)}catch{}}throw ie}},X=C;i("/sidebar-entry").then(L=>{if(!z&&C===X&&L&&(L.location==="both"||L.location==="sidebar"||L.location==="settings"?h=L.location:typeof L.enabled=="boolean"&&(h=L.enabled?"both":"settings"),I(),k(),typeof e.onLocationChange=="function"))try{e.onLocationChange(h)}catch{}}).catch(()=>{});let R=q;return i("/online-update").then(L=>{if(!z&&q===R&&L&&typeof L.enabled=="boolean"&&(Y=L.enabled,L.locked===!0&&(pe=!0),k(),typeof e.onOnlineUpdateChange=="function"))try{e.onOnlineUpdateChange(L.enabled)}catch{}}).catch(()=>{}),typeof t.inject=="function"&&t.inject(["layout"],L=>{z||(s=L.layout)}),t.slots.inject("sidebar.panellist",()=>{z||(b=!0,I())}),t.slots.inject("plugins.bundle.config",()=>{if(!z)return t.slots.register({name:"plugins.bundle.config",key:fn,locale:g},L=>L&&L.view==="summary"?null:Se(yn,{t:t.locale.bind(g),getLocation:()=>h,setLocation:be,getEnabled:()=>J(),setSidebar:K,getOnlineUpdateEnabled:()=>Y,setOnlineUpdate:f,getOnlineUpdateLocked:()=>pe,subscribe:ae=>(A.add(ae),()=>{A.delete(ae)})}))}),{getLocation:()=>h,setLocation:be,isSettingsSectionEnabled:ue,isEnabled:()=>J(),isSupported:()=>b,setEnabled:K,isOnlineUpdateEnabled:()=>Y,setOnlineUpdate:f,destroy:()=>{if(!z){if(z=!0,C++,q++,s=void 0,A.clear(),N){try{N()}catch{}N=null}if(v){try{v()}catch{}v=null}}}}}var M=Fa,o=M.createElement,vn=Pe.IconEditOutlineRegular;function wn(){return o(vn,{size:16})}var kn={refresh:["M13.5 5.5V2.5m0 0h-3m3 0-2.1 2.1A5.5 5.5 0 1 0 13.2 12"],download:["M8 2v8m0 0 3-3m-3 3-3-3M3 13v2h10v-2"],copy:["M5 5h8v8H5z","M3 3h8"],close:["m4 4 8 8M12 4 4 12"]};function xn(t){var e=document.createElement("span"),i=document.createElementNS("http://www.w3.org/2000/svg","svg");return i.setAttribute("viewBox","0 0 16 16"),i.setAttribute("width","16"),i.setAttribute("height","16"),i.setAttribute("fill","none"),i.setAttribute("stroke","currentColor"),i.setAttribute("stroke-width","1.5"),i.setAttribute("stroke-linecap","round"),i.setAttribute("stroke-linejoin","round"),i.setAttribute("aria-hidden","true"),kn[t].forEach(function(l){var p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d",l),i.append(p)}),e.append(i),e}var Lt={"content-type":"application/json","x-dsh-skills-manager":"1"},rt="skills-manager",Ka={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u3001\u63CF\u8FF0\u6216\u5907\u6CE8","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","skill.linked":"\u5916\u90E8\u76EE\u5F55\u94FE\u63A5\uFF0C\u53EA\u8BFB","source.toggle":"\u542F\u505C\u6765\u6E90","skill.toggle":"\u542F\u505C\u6280\u80FD","category.toggle":"\u542F\u505C\u5206\u7C7B","category.create":"\u65B0\u5EFA\u5206\u7C7B","category.uncategorized":"\u672A\u5206\u7C7B","category.assign":"\u5F52\u5165{name}","category.rename":"\u91CD\u547D\u540D","category.delete":"\u5220\u9664\u5206\u7C7B","category.note":"\u5206\u7C7B\u53EA\u8BB0\u5728\u8FD9\u4E2A\u6765\u6E90\u91CC\uFF0C\u4E0D\u79FB\u52A8\u6587\u4EF6\u3002","category.name":"\u5206\u7C7B\u540D\u79F0","category.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u3002\u4ECE\u6761\u76EE\u7684\u300C\u66F4\u591A\u300D\u5F52\u5165\u3002","category.progress":"{count} \u9879 \xB7 {enabled}/{usable} \u542F\u7528","category.actions":"\u5206\u7C7B\u64CD\u4F5C","category.created":"\u5DF2\u6DFB\u52A0\u5206\u7C7B\u300C{name}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u65B0\u5EFA\u76EE\u5F55\u3002","category.renamed":"\u5DF2\u91CD\u547D\u540D\u3002\u6280\u80FD\u6587\u4EF6\u540D\u6CA1\u6709\u53D8\u5316\u3002","category.deleted":"\u5DF2\u5220\u9664\u5206\u7C7B\u300C{name}\u300D\u3002\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\uFF0C\u6CA1\u6709\u8FDB\u56DE\u6536\u7AD9\u3002","category.assigned":"\u5DF2\u5C06 {name} \u5F52\u5165\u300C{category}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u79FB\u52A8\u3002","category.dragTip":"\u62D6\u62FD\u8C03\u6574\u987A\u5E8F\u6216\u79FB\u52A8\u5230\u5176\u4ED6\u5206\u7C7B","category.moved":"\u5DF2\u8C03\u6574\u6280\u80FD {name} \u7684\u5206\u7C7B\u6216\u987A\u5E8F\u3002","confirm.category.title":"\u5220\u9664\u5206\u7C7B\uFF1F","confirm.category.desc":"\u300C{name}\u300D\u4F1A\u6D88\u5931\uFF0C\u91CC\u9762\u7684\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\u3002\u6587\u4EF6\u4E0D\u4F1A\u79FB\u52A8\u3002","error.category.duplicate":"\u5DF2\u6709\u540C\u540D\u5206\u7C7B: {name}","error.category.name":"\u5206\u7C7B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u4E14\u4E0D\u80FD\u8D85\u8FC7 24 \u4E2A\u5B57\u7B26","error.category.notFound":"\u5206\u7C7B\u4E0D\u5B58\u5728","error.category.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.category.position":"\u6280\u80FD\u6392\u5E8F\u4F4D\u7F6E\u65E0\u6548","error.category.target":"\u6392\u5E8F\u76EE\u6807\u4E0D\u5C5E\u4E8E\u76EE\u6807\u5206\u7C7B","detail.title":"\u6280\u80FD\u8BE6\u60C5","detail.description":"\u7B80\u4ECB","detail.customNote":"\u81EA\u5B9A\u4E49\u7B80\u4ECB","detail.document":"SKILL.md","detail.body":"\u6B63\u6587","detail.frontmatter":"Frontmatter","detail.diagnostics":"\u8BCA\u65AD","detail.path":"\u6E90\u6587\u4EF6","detail.noIssues":"\u672A\u53D1\u73B0\u8BCA\u65AD\u95EE\u9898\u3002","detail.copyBody":"\u590D\u5236\u6B63\u6587","detail.copied":"\u5DF2\u590D\u5236","detail.copyFailed":"\u590D\u5236\u5931\u8D25","skill.editNote":"\u7F16\u8F91\u5907\u6CE8","note.title":"\u81EA\u5B9A\u4E49\u7B80\u4ECB / \u5907\u6CE8","note.label":"\u5907\u6CE8\u5185\u5BB9","note.placeholder":"\u8BB0\u5F55\u8FD9\u4E2A\u6280\u80FD\u662F\u5E72\u561B\u7684\u3001\u4EC0\u4E48\u65F6\u5019\u7528\u2026","note.help":"\u4FDD\u5B58\u5728\u63D2\u4EF6\u5185\u90E8\u663E\u793A\u5C42\uFF0C\u4E0D\u4FEE\u6539\u539F SKILL.md\u3002\u6E05\u7A7A\u53EF\u8FD8\u539F\u4E3A\u539F\u7B80\u4ECB\u3002","note.clear":"\u6E05\u7A7A","note.updated":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","note.cleared":"\u5DF2\u6E05\u9664\u300C{name}\u300D\u7684\u81EA\u5B9A\u4E49\u7B80\u4ECB\u3002","error.note.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.note.tooLarge":"\u81EA\u5B9A\u4E49\u7B80\u4ECB\u8FC7\u957F\uFF08\u6700\u591A {max} \u4E2A\u5B57\u7B26\uFF09","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.missing":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u53EF\u80FD\u5DF2\u88AB\u79FB\u52A8\u6216\u5220\u9664\uFF1A{path}","warning.project.unreadable":"\u65E0\u6743\u9650\u8BFB\u53D6\u5DE5\u4F5C\u533A\u76EE\u5F55\uFF1A{path}\uFF08{code}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.linked":"\u76EE\u5F55\u94FE\u63A5\u4E0D\u80FD\u5220\u9664\u6216\u8986\u76D6\uFF1A{path}","error.skill.noFrontmatter":"\u6280\u80FD\u7F3A\u5C11\u5B8C\u6574 frontmatter\uFF0C\u65E0\u6CD5{action}: {name}","error.skill.notLoadable":"\u6280\u80FD\u7ED3\u6784\u4E0D\u5B8C\u6574\uFF0C\u65E0\u6CD5{action}: {name}","error.source.notFound":"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}","error.source.symlink":"\u4E0D\u652F\u6301\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u7684 skill \u6765\u6E90: {path}","error.source.unrecognized":"\u65E0\u6CD5\u8BC6\u522B\u7684 skill \u6765\u6E90: {path}","error.source.tooDeep":"skill \u6765\u6E90\u76EE\u5F55\u5C42\u7EA7\u8D85\u8FC7 {depth} \u5C42: {path}","error.import.overlap":"\u5BFC\u5165\u6765\u6E90\u4E0D\u80FD\u4E0E DSH \u6280\u80FD\u76EE\u5F55\u76F8\u540C\u3001\u5305\u542B\u6216\u4F4D\u4E8E\u5176\u4E2D","error.import.emptySource":"\u76EE\u5F55\u4E0B\u672A\u627E\u5230\u4EFB\u4F55 skill \u6761\u76EE: {path}","error.import.invalidName":"\u65E0\u6CD5\u751F\u6210\u5408\u6CD5 kebab-case \u540D\u79F0\uFF08\u539F\u59CB\u540D: {name}\uFF09","error.import.duplicateName":"\u6279\u91CF\u6765\u6E90\u4E2D\u5B58\u5728\u591A\u4E2A\u540C\u540D\u6280\u80FD: {name}","error.import.failed":"\u5BFC\u5165\u5931\u8D25","error.import.rollbackFailed":"\u8986\u76D6\u5BFC\u5165\u56DE\u6EDA\u5931\u8D25\uFF0C\u5907\u4EFD\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.upload.path":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u975E\u6CD5\u8DEF\u5F84\uFF1A{path}","error.upload.encoding":"\u4E0A\u4F20\u5185\u5BB9\u7F16\u7801\u65E0\u6548","error.upload.empty":"\u4E0A\u4F20\u5185\u5BB9\u4E3A\u7A7A","error.upload.tooMany":"\u4E0A\u4F20\u6587\u4EF6\u8FC7\u591A\uFF0C\u6700\u591A {limit} \u4E2A","error.upload.tooLarge":"\u4E0A\u4F20\u5185\u5BB9\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.archiveTooLarge":"ZIP \u538B\u7F29\u5305\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.duplicate":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u91CD\u590D\u8DEF\u5F84\uFF1A{path}","error.upload.zipInvalid":"ZIP \u538B\u7F29\u5305\u65E0\u6CD5\u89E3\u538B","error.trash.notFound":"\u56DE\u6536\u7AD9\u6761\u76EE\u4E0D\u5B58\u5728: {id}","error.trash.conflict":"\u65E0\u6CD5\u6062\u590D\uFF0C\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.trash.invalid":"\u56DE\u6536\u7AD9\u6761\u76EE\u8DEF\u5F84\u975E\u6CD5: {id}","error.trash.projectUnavailable":"\u539F\u9879\u76EE\u5F53\u524D\u4E0D\u5728\u6D3B\u52A8\u5DE5\u4F5C\u533A\u4E2D\uFF0C\u65E0\u6CD5\u6062\u590D\uFF1A{path}","error.trash.rollbackFailed":"\u79FB\u5165\u56DE\u6536\u7AD9\u56DE\u6EDA\u5931\u8D25\uFF0C\u672A\u6062\u590D\u5185\u5BB9\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u62D2\u7EDD\u8986\u76D6\uFF1A{path}","error.create.descriptionRequired":"\u6280\u80FD\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A","error.create.bodyRequired":"\u6280\u80FD\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A","error.create.tooLarge":"\u6280\u80FD\u5185\u5BB9\u8FC7\u957F","error.create.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.proto.forbidden":"\u7981\u6B62\u7684\u4FEE\u6539\u8BF7\u6C42\uFF08\u7F3A\u5C11\u5BA2\u6237\u7AEF\u6807\u8BB0\uFF09","error.proto.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.invalidParams":"\u8BF7\u6C42\u53C2\u6570\u65E0\u6548","error.proto.bodyTooLarge":"\u8BF7\u6C42\u4F53\u8FC7\u5927","error.proto.invalidJson":"\u8BF7\u6C42\u4F53\u4E0D\u662F\u5408\u6CD5 JSON","error.proto.nonJson":"\u670D\u52A1\u7AEF\u8FD4\u56DE\u975E JSON \u54CD\u5E94\uFF08HTTP {status}\uFF09","error.update.disabled":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u7981\u7528","error.catalog.query":"\u641C\u7D22\u5173\u952E\u8BCD\u65E0\u6548\u3002","error.catalog.upstream":"\u76EE\u5F55\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\u3002","error.catalog.response":"\u76EE\u5F55\u8FD4\u56DE\u7684\u6570\u636E\u65E0\u6548\u6216\u8FC7\u5927\u3002","error.catalog.identity":"\u76EE\u5F55\u6280\u80FD\u6807\u8BC6\u65E0\u6548\u3002","diagnostic.frontmatter.missing":"\u7F3A\u5C11\u5B8C\u6574 YAML frontmatter","diagnostic.name.missing":"frontmatter \u7F3A\u5C11 name","diagnostic.name.invalid":"\u5BBF\u4E3B\u4E0D\u652F\u6301\u6B64\u6280\u80FD\u540D\u79F0\u683C\u5F0F\uFF08\u4EC5\u652F\u6301\u82F1\u6587\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u4E0E\u8FDE\u5B57\u7B26\uFF09\uFF0C\u65E0\u6CD5\u542F\u7528\u3002\u5982\u9700\u8C03\u7528\uFF0C\u8BF7\u5728 SKILL.md frontmatter \u4E2D\u6307\u5B9A\u82F1\u6587 name\uFF08\u76EE\u5F55\u540D\u53EF\u4FDD\u7559\u4E2D\u6587\uFF09\uFF1A{name}","diagnostic.description.missing":"frontmatter \u7F3A\u5C11 description","diagnostic.invocation.invalid":"\u8C03\u7528\u7B56\u7565\u5B57\u6BB5\u503C\u65E0\u6548","diagnostic.shadowed":"\u88AB\u66F4\u9AD8\u4F18\u5148\u7EA7\u6765\u6E90 {root} \u8986\u76D6","action.enable":"\u542F\u7528","action.disable":"\u505C\u7528","action.create":"\u521B\u5EFA","action.delete":"\u5220\u9664","action.restore":"\u6062\u590D","action.toggle":"\u542F\u7528\u6216\u505C\u7528","scope.user":"\u5168\u5C40\u6280\u80FD","scope.project":"\u9879\u76EE\u6280\u80FD","scope.trash":"\u56DE\u6536\u7AD9","scope.label":"\u6280\u80FD\u7BA1\u7406\u89C6\u56FE","scope.userHint":"\u8DE8\u9879\u76EE\u53EF\u7528\u3002\u542F\u505C\u4EC5\u5F71\u54CD DSH \u4E2D\u7684\u8C03\u7528\u3002","scope.projectHint":"\u6309\u5DE5\u4F5C\u533A\u67E5\u770B\u9879\u76EE\u6280\u80FD\u3002\u542F\u505C\u4E0D\u4FEE\u6539\u5176\u4ED6 Agent \u7684\u6E90\u6587\u4EF6\u3002","project.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\u5DE5\u4F5C\u533A\u3002","project.noSkills":"\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u91CC\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.unavailable":"\u76EE\u5F55\u4E0D\u53EF\u7528","workspace.missing":"\u76EE\u5F55\u4E0D\u5B58\u5728","workspace.unreadable":"\u65E0\u8BFB\u53D6\u6743\u9650","workspace.noSkills":"\u8FD9\u4E2A\u5DE5\u4F5C\u533A\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.loading":"\u6B63\u5728\u8BFB\u53D6\u2026","workspace.loadFailed":"\u8BFB\u53D6\u5931\u8D25\uFF1A{error}","workspace.listFailed":"\u65E0\u6CD5\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5217\u8868\uFF1A{error}","filter.status":"\u8C03\u7528\u72B6\u6001","filter.statusAll":"\u5168\u90E8\u72B6\u6001","status.shadowedBy":"\u88AB {source} \u4E2D\u7684\u540C\u540D\u6280\u80FD\u8986\u76D6","status.fallback.user":"\u5F53\u524D\u4F7F\u7528\u5168\u5C40 {source} \u526F\u672C\u3002","status.fallback.project":"\u5F53\u524D\u4F7F\u7528\u9879\u76EE {source} \u526F\u672C\u3002","root.copilot":"GitHub Copilot","source.selectHint":"\u5148\u9009\u62E9\u4E00\u4E2A\u6765\u6E90\uFF0C\u624D\u80FD\u67E5\u770B\u76EE\u5F55\u6216\u5173\u95ED\u6574\u4E2A\u6765\u6E90\u3002\u5173\u95ED\u6765\u6E90\u53EA\u5F71\u54CD DSH \u8C03\u7528\uFF0C\u4E0D\u6539\u6587\u4EF6\u3002","import.global":"\u5BFC\u5165\u6280\u80FD","category.batchAssigned":"\u5DF2\u5C06 {count} \u4E2A\u6280\u80FD\u6DFB\u52A0\u5230\u201C{category}\u201D\u3002\u6587\u4EF6\u672A\u79FB\u52A8\u3002","category.selectSkills":"\u6DFB\u52A0\u6280\u80FD\u5230\u201C{name}\u201D","category.noAvailableSkills":"\u6CA1\u6709\u53EF\u6DFB\u52A0\u7684\u6280\u80FD","category.addSkills":"\u6DFB\u52A0\u6280\u80FD","root.dsh":"DSH","root.agents":"\u516C\u5171 Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH","root.projectAgents":"\u9879\u76EE Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (\u7528\u6237\u76EE\u5F55)","root.trae":"Trae","root.traeCn":"Trae (\u56FD\u5185\u7248)","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (\u65E7\u76EE\u5F55)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN","root.antigravity":"Google Antigravity","group.label":"\u5206\u7EC4\u65B9\u5F0F","group.bySource":"\u6309\u6765\u6E90\u76EE\u5F55","group.byRepo":"\u6309\u6765\u6E90\u4ED3\u5E93","group.hint":"\u5728\u6765\u6E90\u76EE\u5F55\u4E0B\u6309\u53EF\u6838\u67E5\u7684\u8BB0\u5F55\u518D\u5206\u300C\u4ED3\u5E93 \u2192 \u4ED3\u5E93\u5185\u76EE\u5F55\u300D\uFF1A\u5B89\u88C5\u8BB0\u5F55 \u2192 \u76EE\u5F55\u9501\u6587\u4EF6 \u2192 \u6280\u80FD\u5143\u6570\u636E\uFF1B\u6CA1\u6709\u8BB0\u5F55\u7684\u6807\u4E3A\u300C\u6765\u6E90\u672A\u77E5\u300D\uFF0C\u4E0D\u6309\u76EE\u5F55\u540D\u79F0\u731C\u6D4B\u3002","group.provenanceCount":"{repos} \u4E2A\u6765\u6E90\u4ED3\u5E93 \xB7 {unknown} \u4E2A\u6280\u80FD\u6765\u6E90\u672A\u77E5","group.unknownSource":"\u6765\u6E90\u672A\u77E5","group.repoRoot":"\u4ED3\u5E93\u6839\u76EE\u5F55\uFF08\u672A\u5206\u76EE\u5F55\uFF09","group.evidence.install":"\u5B89\u88C5\u8BB0\u5F55","group.evidence.lock":"\u76EE\u5F55\u9501\u6587\u4EF6","group.evidence.meta":"\u6280\u80FD\u5143\u6570\u636E","group.evidence.root":"\u76EE\u5F55\u843D\u70B9","group.openRepo":"\u6253\u5F00 {repo}","group.noRepo":"\u6CA1\u6709\u53EF\u6838\u67E5\u7684\u4ED3\u5E93\u8BB0\u5F55\uFF0C\u6309\u6765\u6E90\u76EE\u5F55\u5F52\u7C7B\u3002"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names, descriptions or notes","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","skill.linked":"External directory link, read-only","source.toggle":"Toggle source","skill.toggle":"Toggle skill","category.toggle":"Toggle category","category.create":"New category","category.uncategorized":"Uncategorized","category.assign":"Move to {name}","category.rename":"Rename","category.delete":"Delete category","category.note":"Categories stay in this source and do not move files.","category.name":"Category name","category.empty":"No skills yet. Use More on a skill to place it here.","category.progress":"{count} \xB7 {enabled}/{usable} enabled","category.actions":"Category actions","category.created":"Added category \u201C{name}\u201D. No directory was created.","category.renamed":"Renamed. Skill file names are unchanged.","category.deleted":"Deleted category \u201C{name}\u201D. Skills returned to Uncategorized and were not trashed.","category.assigned":"Moved {name} to \u201C{category}\u201D. The file was not moved.","category.dragTip":"Drag to reorder or move to another category","category.moved":"Updated the category or order for {name}.","confirm.category.title":"Delete category?","confirm.category.desc":"\u201C{name}\u201D will be removed. Its skills return to Uncategorized. Files are not moved.","error.category.duplicate":"A category with this name already exists: {name}","error.category.name":"Category name is required and must be at most 24 characters","error.category.notFound":"Category not found","error.category.root":"Skill source not found: {root}","error.category.position":"Invalid skill ordering position","error.category.target":"The target skill is not in the destination category","detail.title":"Skill details","detail.description":"Description","detail.customNote":"Custom note","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","detail.copyBody":"Copy body","detail.copied":"Copied","detail.copyFailed":"Copy failed","skill.editNote":"Edit note","note.title":"Custom description / Note","note.label":"Note","note.placeholder":"Record what this skill does and when to use it\u2026","note.help":"Saved in the plugin display layer without modifying SKILL.md. Clear to revert to original description.","note.clear":"Clear","note.updated":"Updated custom note for \u201C{name}\u201D.","note.cleared":"Cleared custom note for \u201C{name}\u201D.","error.note.root":"Skill source not found: {root}","error.note.tooLarge":"Custom note is too long (maximum {max} characters)","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.missing":"The workspace directory does not exist and may have been moved or deleted: {path}","warning.project.unreadable":"No permission to read the workspace directory: {path} ({code})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.linked":"This directory link cannot be deleted or overwritten: {path}","error.skill.noFrontmatter":"Skill lacks complete frontmatter, cannot {action}: {name}","error.skill.notLoadable":"Skill structure is incomplete, cannot {action}: {name}","error.source.notFound":"Path does not exist: {path}","error.source.symlink":"Skill sources containing symbolic links are not supported: {path}","error.source.unrecognized":"Unrecognized skill source: {path}","error.source.tooDeep":"Skill source directory depth exceeds {depth} levels: {path}","error.import.overlap":"Import source cannot be the same as, contain, or be inside the DSH skills directory","error.import.emptySource":"No skill entries found in the directory: {path}","error.import.invalidName":"Cannot generate a valid kebab-case name (original: {name})","error.import.duplicateName":"Batch source contains duplicate skill names: {name}","error.import.failed":"Import failed","error.import.rollbackFailed":"Overwrite import rollback failed; backups kept at: {path} ({error})","error.upload.path":"Upload contains an invalid path: {path}","error.upload.encoding":"Upload encoding is invalid","error.upload.empty":"Upload is empty","error.upload.tooMany":"Too many uploaded files; maximum {limit}","error.upload.tooLarge":"Upload is too large; limit {limit} bytes","error.upload.archiveTooLarge":"ZIP archive is too large; limit {limit} bytes","error.upload.duplicate":"Upload contains a duplicate path: {path}","error.upload.zipInvalid":"ZIP archive could not be extracted","error.trash.notFound":"Trash item not found: {id}","error.trash.conflict":"Cannot restore because a skill with the same name exists: {name}","error.trash.invalid":"Invalid trash item path: {id}","error.trash.projectUnavailable":"The original project is not an active workspace, so this skill cannot be restored: {path}","error.trash.rollbackFailed":"Move-to-trash rollback failed; unrecovered content was kept at: {path} ({error})","error.state.invalid":"The manager state file could not be read, so overwriting it was refused: {path}","error.create.descriptionRequired":"Skill description is required","error.create.bodyRequired":"Skill body is required","error.create.tooLarge":"Skill content is too large","error.create.conflict":"A skill with the same name already exists: {name}","error.proto.forbidden":"Forbidden mutation request (missing client marker)","error.proto.contentType":"Content type must be application/json","error.proto.invalidParams":"Invalid request parameters","error.proto.bodyTooLarge":"Request body too large","error.proto.invalidJson":"Invalid JSON request body","error.proto.nonJson":"Server returned a non-JSON response (HTTP {status})","error.update.disabled":"Online updates are disabled","error.catalog.query":"The search query is invalid.","error.catalog.upstream":"The catalog service is temporarily unavailable.","error.catalog.response":"The catalog response is invalid or too large.","error.catalog.identity":"The catalog skill identifier is invalid.","diagnostic.frontmatter.missing":"Missing complete YAML frontmatter","diagnostic.name.missing":"Frontmatter is missing name","diagnostic.name.invalid":"Skill name format is not supported by host (lowercase letters, numbers and hyphens only), cannot be enabled. To invoke it, specify an English name in the SKILL.md frontmatter (directory name can remain unchanged): {name}","diagnostic.description.missing":"Frontmatter is missing description","diagnostic.invocation.invalid":"Invocation policy value is invalid","diagnostic.shadowed":"Shadowed by higher-priority source {root}","action.enable":"enable","action.disable":"disable","action.create":"create","action.delete":"delete","action.restore":"restore","action.toggle":"enabling or disabling","scope.user":"Global skills","scope.project":"Project skills","scope.trash":"Trash","scope.label":"Skill manager views","scope.userHint":"Available across projects. Toggles only affect invocation in DSH.","scope.projectHint":"View project skills by workspace. Toggles do not modify other agents\u2019 source files.","project.empty":"No registered workspaces yet. Add one in the sidebar first.","project.noSkills":"Registered workspaces do not have skills yet.","workspace.unavailable":"Directory unavailable","workspace.missing":"Directory missing","workspace.unreadable":"No read permission","workspace.noSkills":"No skills in this workspace yet.","workspace.loading":"Loading\u2026","workspace.loadFailed":"Failed to load: {error}","workspace.listFailed":"Cannot read the workspace list: {error}","filter.status":"Invocation status","filter.statusAll":"All statuses","status.shadowedBy":"Overridden by the same skill in {source}","status.fallback.user":"Currently using the global {source} copy.","status.fallback.project":"Currently using the project {source} copy.","source.selectHint":"Select a source to view its directory or turn the whole source off. Turning a source off only affects invocation in DSH and does not change files.","import.global":"Import skill","category.batchAssigned":"Added {count} skills to \u201C{category}\u201D. Files were not moved.","category.selectSkills":"Add skills to \u201C{name}\u201D","category.noAvailableSkills":"No skills available to add","category.addSkills":"Add skills","root.dsh":"DSH skills","root.agents":"Shared Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH skills","root.projectAgents":"Project Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.copilot":"GitHub Copilot","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (User Home)","root.trae":"Trae","root.traeCn":"Trae CN","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (Legacy)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN","root.antigravity":"Google Antigravity","group.label":"Group by","group.bySource":"Source directory","group.byRepo":"Source repository","group.hint":"Inside each source directory, verifiable records add a repository \u2192 directory hierarchy: install record \u2192 directory lock file \u2192 skill metadata; other sources are marked Unknown source. Directory names are not guessed.","group.provenanceCount":"{repos} repositories \xB7 {unknown} skills with unknown source","group.unknownSource":"Unknown source","group.repoRoot":"Repository root (no category)","group.evidence.install":"Install record","group.evidence.lock":"Directory lock file","group.evidence.meta":"Skill metadata","group.evidence.root":"Directory fallback","group.openRepo":"Open {repo}","group.noRepo":"No verifiable repository record; grouped by source directory."}},So={zh:{"rootPath.edit":"\u4FEE\u6539\u6280\u80FD\u76EE\u5F55","rootPath.title":"\u4FEE\u6539\u300C{name}\u300D\u7684\u6280\u80FD\u76EE\u5F55","rootPath.manage":"\u6765\u6E90\u76EE\u5F55","rootPath.source":"\u6280\u80FD\u6765\u6E90","rootPath.desc":"\u53EA\u6539\u672C\u63D2\u4EF6\u8BFB\u53D6\u7684\u4F4D\u7F6E\uFF0C\u4E0D\u79FB\u52A8\u4EFB\u4F55\u6587\u4EF6\u3002\u5916\u90E8\u6765\u6E90\u4ECD\u7136\u53EA\u8BFB\uFF1B\u8981\u8BA9\u8BE5 Agent \u81EA\u5DF1\u6362\u76EE\u5F55\uFF0C\u8BF7\u6539\u5B83\u81EA\u5DF1\u7684\u914D\u7F6E\u3002","rootPath.label":"\u6280\u80FD\u76EE\u5F55\uFF08\u542B SKILL.md \u7684\u4E0A\u4E00\u7EA7\uFF09","rootPath.placeholder":"\u4F8B\u5982 D:\\skills\\codex","rootPath.browse":"\u6D4F\u89C8\u2026","rootPath.pickUnavailable":"\u5F53\u524D\u73AF\u5883\u6CA1\u6709\u53EF\u7528\u7684\u76EE\u5F55\u9009\u62E9\u5668\uFF0C\u8BF7\u76F4\u63A5\u8F93\u5165\u8DEF\u5F84\u3002","rootPath.reset":"\u6062\u590D\u9ED8\u8BA4","rootPath.save":"\u4FDD\u5B58","rootPath.custom":"\u81EA\u5B9A\u4E49","rootPath.overrideTitle":"\u81EA\u5B9A\u4E49\u76EE\u5F55\uFF0C\u9ED8\u8BA4\uFF1A{path}","rootPath.defaultHint":"\u9ED8\u8BA4\u76EE\u5F55\uFF1A{path}","rootPath.saved":"\u5DF2\u66F4\u65B0\u300C{name}\u300D\u7684\u6280\u80FD\u76EE\u5F55\u3002","rootPath.resetDone":"\u5DF2\u6062\u590D\u300C{name}\u300D\u7684\u9ED8\u8BA4\u76EE\u5F55\u3002","error.rootPath.unsupported":"\u8BE5\u6280\u80FD\u6765\u6E90\u4E0D\u652F\u6301\u4FEE\u6539\u76EE\u5F55\uFF1A{root}","error.rootPath.invalid":"\u6280\u80FD\u76EE\u5F55\u65E0\u6548\uFF1A{path}","error.rootPath.absolute":"\u6280\u80FD\u76EE\u5F55\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.rootPath.tooLong":"\u6280\u80FD\u76EE\u5F55\u8DEF\u5F84\u8FC7\u957F\uFF1A{path}","error.rootPath.notFound":"\u6280\u80FD\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{path}","error.rootPath.notDirectory":"\u6280\u80FD\u76EE\u5F55\u4E0D\u662F\u6587\u4EF6\u5939\uFF1A{path}","error.rootPath.overlap":"\u6280\u80FD\u76EE\u5F55\u4E0D\u80FD\u4E0E\u5176\u5B83\u6280\u80FD\u6765\u6E90\u91CD\u53E0\uFF1A{path}","error.rootPath.reserved":"\u6280\u80FD\u76EE\u5F55\u4E0D\u80FD\u4E0E\u6280\u80FD\u7BA1\u7406\u5668\u7684\u72B6\u6001\u76EE\u5F55\u91CD\u53E0\uFF1A{path}","warning.rootPath.invalid":"\u6280\u80FD\u76EE\u5F55\u914D\u7F6E\u9879\u65E0\u6548\uFF0C\u5DF2\u5FFD\u7565\uFF1A{path}","warning.rootPath.corrupt":"\u6280\u80FD\u76EE\u5F55\u914D\u7F6E\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u4F7F\u7528\u9ED8\u8BA4\u76EE\u5F55\uFF1A{path}","warning.rootPath.missing":"\u81EA\u5B9A\u4E49\u6280\u80FD\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{path}","customSource.title":"\u81EA\u5B9A\u4E49\u6765\u6E90","customSource.add":"\u6DFB\u52A0\u6765\u6E90","customSource.desc":"\u767B\u8BB0\u6E05\u5355\u5916\u7684 Agent \u6280\u80FD\u76EE\u5F55\uFF1A\u53EA\u8BFB\u53D6\uFF0C\u4E0D\u79FB\u52A8\u4E5F\u4E0D\u6539\u52A8\u7B2C\u4E09\u65B9\u6587\u4EF6\u3002\u4E5F\u53EF\u4EE5\u586B\u4EA7\u54C1\u603B\u76EE\u5F55\u70B9\u300C\u626B\u63CF\u5B50\u76EE\u5F55\u300D\uFF0C\u81EA\u52A8\u627E\u51FA\u5404\u5B50\u76EE\u5F55\u4E0B\u7684 skills\u3002","customSource.path":"\u6280\u80FD\u76EE\u5F55\uFF08\u542B SKILL.md \u7684\u4E0A\u4E00\u7EA7\uFF09","customSource.path.placeholder":"\u4F8B\u5982 D:\\tools\\my-agent\\skills","customSource.label":"\u663E\u793A\u540D\uFF08\u7559\u7A7A\u5219\u7528\u76EE\u5F55\u540D\uFF09","customSource.label.placeholder":"\u4F8B\u5982 My Agent","customSource.scan":"\u626B\u63CF\u5B50\u76EE\u5F55","customSource.scanning":"\u626B\u63CF\u4E2D\u2026","customSource.scanResult":"\u5728 {path} \u4E0B\u627E\u5230 {count} \u4E2A\u6280\u80FD\u76EE\u5F55","customSource.skillCount.one":"{count} \u4E2A\u6280\u80FD","customSource.skillCount.other":"{count} \u4E2A\u6280\u80FD","customSource.addOne":"\u6DFB\u52A0","customSource.addAll":"\u5168\u90E8\u6DFB\u52A0","customSource.added":"\u5DF2\u6DFB\u52A0 {count} \u4E2A\u81EA\u5B9A\u4E49\u6765\u6E90\u3002","customSource.removed":"\u5DF2\u79FB\u9664\u8BE5\u81EA\u5B9A\u4E49\u6765\u6E90\u7684\u767B\u8BB0\u3002","customSource.remove":"\u79FB\u9664\u767B\u8BB0","customSource.registered":"\u5DF2\u767B\u8BB0","customSource.conflict":"\u4E0E\u5DF2\u6709\u6765\u6E90\u91CD\u53E0","error.customSource.unknown":"\u672A\u767B\u8BB0\u7684\u81EA\u5B9A\u4E49\u6765\u6E90\uFF1A{root}","error.customSource.limit":"\u81EA\u5B9A\u4E49\u6765\u6E90\u6570\u91CF\u5DF2\u8FBE\u4E0A\u9650\uFF1A{limit}","error.customSource.label":"\u81EA\u5B9A\u4E49\u6765\u6E90\u5FC5\u987B\u6709\u663E\u793A\u540D\uFF1A{path}","error.customSource.empty":"\u6CA1\u6709\u8981\u6DFB\u52A0\u7684\u6280\u80FD\u6765\u6E90"},en:{"rootPath.edit":"Change skills folder","rootPath.title":"Change the skills folder for {name}","rootPath.manage":"Source folders","rootPath.source":"Skill source","rootPath.desc":"Only changes where this plugin reads skills. No files are moved. External sources stay read-only; to change the agent's own folder, update that agent's configuration.","rootPath.label":"Skills folder (the parent of SKILL.md files)","rootPath.placeholder":"e.g. D:\\skills\\codex","rootPath.browse":"Browse\u2026","rootPath.pickUnavailable":"No directory picker is available here; type the path instead.","rootPath.reset":"Restore default","rootPath.save":"Save","rootPath.custom":"Custom","rootPath.overrideTitle":"Custom folder; default: {path}","rootPath.defaultHint":"Default folder: {path}","rootPath.saved":"Updated the skills folder for {name}.","rootPath.resetDone":"Restored the default folder for {name}.","error.rootPath.unsupported":"This skill source does not support changing its folder: {root}","error.rootPath.invalid":"Invalid skills folder: {path}","error.rootPath.absolute":"The skills folder must be an absolute path: {path}","error.rootPath.tooLong":"The skills folder path is too long: {path}","error.rootPath.notFound":"The skills folder does not exist: {path}","error.rootPath.notDirectory":"The skills folder is not a directory: {path}","error.rootPath.overlap":"The skills folder must not overlap another skill source: {path}","error.rootPath.reserved":"The skills folder must not overlap the manager's state folder: {path}","warning.rootPath.invalid":"Ignored an invalid skills folder setting: {path}","warning.rootPath.corrupt":"The skills folder settings could not be read; defaults are in use: {path}","warning.rootPath.missing":"The custom skills folder does not exist: {path}","customSource.title":"Custom sources","customSource.add":"Add source","customSource.desc":"Register skill folders for agents that are not in the built-in list. Read-only: nothing is moved or modified. You can also point at a product folder and scan for the skills folders inside it.","customSource.path":"Skills folder (the parent of SKILL.md files)","customSource.path.placeholder":"e.g. D:\\tools\\my-agent\\skills","customSource.label":"Display name (empty uses the folder name)","customSource.label.placeholder":"e.g. My Agent","customSource.scan":"Scan subfolders","customSource.scanning":"Scanning\u2026","customSource.scanResult":"Found {count} skills folders under {path}","customSource.skillCount.one":"{count} skill","customSource.skillCount.other":"{count} skills","customSource.addOne":"Add","customSource.addAll":"Add all","customSource.added":"Added {count} custom sources.","customSource.removed":"Removed the custom source registration.","customSource.remove":"Remove","customSource.registered":"Registered","customSource.conflict":"Overlaps an existing source","error.customSource.unknown":"Unknown custom source: {root}","error.customSource.limit":"Custom sources reached the limit: {limit}","error.customSource.label":"A custom source needs a display name: {path}","error.customSource.empty":"No skill sources to add"}};Object.assign(Ka.zh,So.zh,Dr.zh,Ur.zh,Vr.zh);Object.assign(Ka.en,So.en,Dr.en,Ur.en,Vr.en);var Et=lo(M),Co=eo({react:M,SourceSelect:Et,translateError:se}),yo=Co.DestinationPicker,Sn=Pe.IconLoadingOutlineMedium||Pe.IconLoadingOutlineRegular||Pe.IconLoadingOutline16,Cn=Pe.IconRefreshOutlineMedium||Pe.IconRefreshOutlineRegular||Pe.IconRefreshOutline16,Nn=_r({react:M,Modal:_e,Input:Fe,Button:Ke.Button,SourceSelect:Et,destination:Co,api:Va,headers:Lt,translateError:se,getLocale:xr,IconLoading:Sn,IconRefresh:Cn}),Rn=$r+Wr+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{display:grid!important;box-sizing:border-box!important;width:100%;height:32px!important;min-height:32px!important;max-height:32px!important;padding:2px!important;border-radius:var(--dsw-radius-sm,8px)!important;border:0.5px solid var(--dsw-alias-border-l2)!important;background:var(--dsw-alias-bg-layer-1)!important}.dssm-scope-tabs>span[aria-hidden="true"],.dssm-scope-tabs>[class*="indicator"]{width:calc((100% - 4px)/4)!important;inset:2px auto 2px 2px!important;border-radius:6px!important;border:0.5px solid var(--dsw-alias-border-l3,rgba(255,255,255,.12))!important;background:var(--dsw-alias-bg-layer-3,rgba(255,255,255,.08))!important;box-shadow:none!important}.dssm-scope-tabs [role=tab]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:28px!important;padding:0 6px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!important;white-space:nowrap!important;color:var(--dsw-alias-label-secondary)!important;text-align:center!important;box-sizing:border-box!important;transition:color 150ms ease!important}.dssm-scope-tabs [role=tab]:hover{color:var(--dsw-alias-label-primary)!important}.dssm-scope-tabs [role=tab][aria-selected="true"]{color:var(--dsw-alias-label-primary)!important;font-weight:600!important}.dssm-scope-tabs [role=tab] svg{flex:none;display:block}.dssm-source-head{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px}.dssm-source-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-source-toggle:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary));outline-offset:2px}.dssm-fold-chevron{flex:none;color:var(--dsw-alias-label-tertiary);transform:rotate(-90deg);transition:transform 160ms ease}.dssm-fold-chevron.is-open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.dssm-fold-chevron{transition:none}}.dssm-source-label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dssm-drag-handle{cursor:grab;color:var(--dsw-alias-label-tertiary,#888);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;border-radius:var(--dsw-radius-sm,8px);flex-shrink:0;user-select:none;transition:color 0.15s}.dssm-skill-row:hover .dssm-drag-handle{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-drag-handle:active{cursor:grabbing}.dssm-cat.drag-over{border-color:var(--dsw-alias-brand-primary,#3b82f6);box-shadow:0 0 0 1px var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.dragging{opacity:0.4;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent))}.dssm-skill-row.drop-before{box-shadow:inset 0 2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.drop-after{box-shadow:inset 0 -2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:0;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:0;background:transparent}.dssm-skill-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-skill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-skill-row .dssm-name{font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none}.dssm-source{overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-textarea{box-sizing:border-box;display:block;width:100%;min-height:160px;margin:0;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:14px;line-height:22px;resize:vertical}.dssm-textarea:focus,.dssm-textarea:focus-visible{outline:none;border-color:var(--dsw-alias-state-business-primary)}.dssm-textarea[readonly]{resize:none}.dssm-source-title{font-size:14px;font-weight:650;white-space:nowrap;flex:none}.dssm-source-path{min-width:0;max-width:50%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-source-actions{display:flex;flex:none;align-items:center;gap:8px;margin-left:12px}.dssm-cat{margin:0 10px 8px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px)}.dssm-cat-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 6px}.dssm-cat-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-cat-title{font-size:14px;font-weight:700;display:inline-flex;align-items:center}.dssm-cat-note{margin:2px 16px 8px}.dssm-fallback{margin-top:4px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-section{box-sizing:border-box;display:flex;width:100%;min-width:0;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary,#eeeeee);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dssm-feedback-links>span[data-mpi-check]{display:inline-flex;align-items:center}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));outline-offset:2px}.dssm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1)}.dssm-stat{padding:4px 10px;border-right:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:4px;color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:650}.dssm-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%!important;min-width:0;box-sizing:border-box}.dssm-filter-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.dssm-filters .dssm-search{flex:1 1 0;min-width:160px;max-width:none}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter,.dssm-filters .dssm-menu-select-wrap,.dssm-filters span[class*="_root_"],.dssm-filters .dssm-source-select-menu,.dssm-filters .dssm-menu-select-trigger{width:auto!important;min-width:0!important;display:inline-flex!important;flex:none}.dssm-field .dssm-menu-select-wrap,.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"]{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.dssm-destination-pair .dssm-menu-select-trigger,.dssm-form .dssm-menu-select-trigger{display:flex!important;width:100%!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}.dssm-source-select-menu{min-width:130px;max-width:280px}.dssm-menu-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:32px;padding:0 10px;border:0.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;line-height:20px;cursor:pointer;user-select:none;width:max-content;min-width:8em;transition:border-color 120ms ease,background 120ms ease}.dssm-menu-select-trigger:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#555)}.dssm-menu-select-trigger.is-open,.dssm-menu-select-trigger:focus-visible{border-color:var(--dsw-alias-brand-primary)!important;outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary))!important;outline-offset:0!important}.dssm-menu-select-trigger:disabled{opacity:.5;cursor:default}.dssm-menu-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.dssm-menu-select-arrow{color:var(--dsw-alias-label-secondary);flex-shrink:0}.dssm-count{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap;flex:none}.dssm-name{overflow-wrap:anywhere;font-size:13px;font-weight:570}.dssm-note{overflow-wrap:anywhere;margin-top:2px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px;line-height:17px}.dssm-enabled{color:var(--dsw-alias-state-success-primary,#51b976);font-size:12px;white-space:nowrap}.dssm-disabled{color:var(--dsw-alias-state-warn-primary,#d49245);font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap}.dssm-trash-count{padding:2px 7px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px}.dssm-warning{border-color:var(--dsw-alias-state-warn-primary,#d49245);color:var(--dsw-alias-state-warn-primary,#d49245)}.dssm-error{border-color:var(--dsw-alias-state-error-primary,#ef7272);color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-detail .dssm-desc{margin:0}.dssm-field{gap:6px}.dssm-label{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-detail-title{font-size:14px;line-height:22px;font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:18px}.dssm-batch-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;margin:12px 0;padding:2px}.dssm-batch-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));cursor:pointer;user-select:none;transition:background 0.15s,border-color 0.15s}.dssm-batch-item:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));border-color:var(--dsw-alias-border-l2,#494949)}.dssm-batch-item.selected{border-color:var(--dsw-alias-brand-primary,#3b82f6);background:var(--dsw-alias-state-business-tertiary)}.dssm-batch-item input[type="checkbox"]{cursor:pointer;margin:0;flex-shrink:0;width:15px;height:15px}.dssm-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dssm-batch-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dssm-batch-name{font-size:13px;font-weight:600;color:var(--dsw-alias-label-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-batch-cat-tag{font-size:10px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap;flex-shrink:0}.dssm-batch-desc{font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-form+.dssm-modal-actions{margin-top:18px;padding-top:14px;border-top:1px solid var(--dsw-alias-border-l2)}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3,#555555);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12))}.dssm-dropzone-title{color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary,#eeeeee);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eeeeee);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:22px}.dssm-detail-section .dssm-note,.dssm-diag{font-size:14px;line-height:22px}.dssm-detail-path{padding:8px 10px;border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);word-break:break-all}.dssm-diag{padding:8px 10px;border-left:2px solid var(--dsw-alias-state-warn-primary,#d49245);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-trash-panel{display:flex;flex-direction:column;gap:10px}.dssm-trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;border:0.5px solid var(--dsw-alias-border-l2,rgba(128,128,128,.2));border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-trash-main{min-width:0;display:flex;flex-direction:column;gap:6px}.dssm-trash-item .dssm-name{font-size:14px;line-height:20px;color:var(--dsw-alias-label-primary,inherit)}.dssm-trash-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:17px;color:var(--dsw-alias-label-tertiary,#909090);overflow-wrap:anywhere}.dssm-trash-source{min-width:0;background:transparent;color:var(--dsw-alias-label-tertiary,#a0a0a0)}.dssm-trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
|
|
34
34
|
@container(max-width:400px){.dssm-source-path{display:none}}@media(max-width:760px){.dssm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.dssm-title-row{flex-wrap:wrap}}@container(max-width:520px){.dssm-trash-item{grid-template-columns:minmax(0,1fr)}.dssm-skill-row{flex-wrap:wrap}.dssm-skill-actions{width:100%;margin-inline-start:0;justify-content:flex-end}.dssm-trash-actions{justify-content:flex-end}.dssm-head{flex-direction:column}.dssm-actions{width:100%;margin-left:0}.dssm-actions button{flex:1}.dssm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dssm-stat:nth-child(2){border-right:0}.dssm-stat:nth-child(n+3){border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a)}.dssm-filters{flex-wrap:wrap}.dssm-filters .dssm-search{flex:1 1 100%;min-width:0;order:2}.dssm-filters .dssm-filter-actions{order:3;margin-left:auto}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter{flex:1 1 calc(50% - 4px);min-width:0;order:1}.dssm-filters .dssm-source-filter .dssm-menu-select-wrap,.dssm-filters .dssm-status-filter .dssm-menu-select-wrap,.dssm-filters .dssm-project-filter .dssm-menu-select-wrap{width:100%!important;display:flex!important}.dssm-filters .dssm-source-filter .dssm-menu-select-trigger,.dssm-filters .dssm-status-filter .dssm-menu-select-trigger,.dssm-filters .dssm-project-filter .dssm-menu-select-trigger{width:100%!important;min-width:0!important}}.dssm-row-state{display:flex;align-items:center;justify-content:flex-end;gap:8px}
|
|
35
35
|
.dssm-enable-switch{box-sizing:border-box;position:relative;flex:0 0 auto;width:36px;height:20px;padding:2px;border:0;border-radius:999px;corner-shape:round;background:var(--dsw-alias-border-l3,#555);cursor:pointer}.dssm-enable-switch[aria-checked=true]{background:var(--dsw-alias-brand-primary)}.dssm-enable-switch:disabled{cursor:default;opacity:.5}.dssm-enable-switch:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:2px}.dssm-enable-switch-thumb{display:block;width:16px;height:16px;border-radius:50%;corner-shape:round;background:var(--dsw-alias-label-primary-foreground,#fff);transition:transform 120ms ease;pointer-events:none}.dssm-enable-switch[aria-checked=false] .dssm-enable-switch-thumb{background:var(--dsw-alias-switch-thumb,#fff)}.dssm-enable-switch[aria-checked=true] .dssm-enable-switch-thumb{transform:translateX(16px)}
|
|
36
36
|
.dssm-icon-action{box-sizing:border-box;width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949);border-style:solid;border-width:0.5px}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-btn-danger:not(:disabled){color:var(--dsw-alias-state-error-primary,#ef7272)}
|
|
@@ -59,7 +59,7 @@ var exports = module.exports;
|
|
|
59
59
|
.dssm-prov-badge{flex:none;border:1px solid var(--dsw-alias-border-secondary,#e2e2e2);border-radius:999px;padding:0 6px;font-size:11px;line-height:16px;color:var(--dsw-alias-label-secondary,#666);white-space:nowrap}
|
|
60
60
|
.dssm-prov-repo-link{border:0.5px solid var(--dsw-alias-border-l2,#494949);text-decoration:none}
|
|
61
61
|
|
|
62
|
-
`;function Zr(t,e,i,l){var u=t(e,l);return typeof u=="string"&&u!==e?u:i}function se(t,e){if(e instanceof Error&&!e.code)return e.message;if(e&&typeof e=="object"){let f=e;if(f.code){var i=Object.assign({},f.params||{});i.action&&(i.action=Zr(t,"action."+i.action,String(i.action)));var l=t(f.code,i);if(typeof l=="string"&&l!==f.code){if(i.code&&f.code==="error.workspace.unavailable"){var u=wr()==="zh"||!wr()&&l.includes("\uFF1A");return l+(u?"\uFF08"+i.code+"\uFF09":" ("+i.code+")")}return l}if(l===f.code)return f.error!==void 0?se(t,f.error):f.code}if(f.error!==void 0)return se(t,f.error);if(f.message!==void 0)return String(f.message)}return String(e??"")}function No(t){return t.json().catch(function(){var e=new Error("non-json response");throw e.code="error.proto.nonJson",e.params={status:t.status},e}).then(function(e){let i=e;if(!t.ok||i.ok===!1)throw i;return i.data})}function Fa(t,e){return fetch(Ua("/api/michengai/dsh-skills-manager"+t),e).then(No)}function vr(t){return t.enabled!==void 0?t.enabled===!0:!!(t.invocationPolicyValid&&t.modelInvocable&&t.userInvocable&&t.managerEnabled!==!1)}function Rt(t,e){return t+(Number(e)===1?".one":".other")}var Va;function wr(){return Va?.getLocale?.().active}function Ro(t,e){return new Date(e).toLocaleString(wr()||t("format.locale"))}function Je(t,e){var i=Zr(t,"root."+(e.localeKey||e.kind||e.key),e.label);return e.projectName?i+" \xB7 "+e.projectName:i}function Lo(t,e){var i=e&&e.imported||[],l=i.map(function(b){return b.name}),u=(e&&e.skipped||[]).map(function(b){return b.name}),f=[];i.forEach(function(b){(b.warnings||[]).forEach(function(v){f.push(se(t,v))})});var h;return l.length&&u.length?h={ok:!0,warning:!0,imported:!0,text:t("result.importPartial",{imported:l.join(", "),skipped:u.join(", ")})}:l.length?h={ok:!0,warning:!1,imported:!0,text:t("result.imported",{names:l.join(", ")})}:u.length?h={ok:!1,warning:!0,imported:!1,text:t("result.importSkipped",{names:u.join(", ")})}:h={ok:!1,warning:!1,imported:!1,text:t("result.importEmpty")},f.length&&(h.warning=!0,h.text=t("result.importWarnings",{result:h.text,warnings:f.join(t("format.warningSeparator"))})),h}function Eo(t){return String(t??"").trim().toLowerCase()}function Yr(t,e){var i=Eo(e);if(!i)return!0;var l=t.provenance;return[t.name,t.declaredName,t.description,t.customNote,t.kind,t.kindLabel,t.statusLabel,t.rootKey,t.rootLabel,l?l.repo:null,l?l.category:null,l?l.path:null].some(function(u){return String(u??"").toLowerCase().includes(i)})}function Ln(t,e){var i=e&&e.rootKey!=null?e.rootKey:"";return t.filter(function(l){return(!i||l.rootKey===i)&&Yr(l,e&&e.query)})}function Gr(t){return(t||[]).filter(function(e){return e.mutable||e.overridden===!0||e.exists!==!1})}function Jr(t){return t.shadowedBy?"shadowed":t.loadable===!1?"invalid":vr(t)?"enabled":"disabled"}function Ao(t){var e={total:t.length,enabled:0,disabled:0,shadowed:0,invalid:0};return t.forEach(function(i){e[Jr(i.skill)]++}),e}function Po(t){return!!(t&&t.toggleable!==!1&&t.kind!=="project-dsh")}function Io(t){return Gr(t).filter(function(e){return e.scope==="project"?!1:e.mutable||e.overridden===!0||(e.skills||[]).length>0})}var vo=32<<20,hr=32<<20,wo=64<<20,ko=1e3;function yr(t){return String(t&&(t._dssmPath||t.webkitRelativePath||t.name)||"").replace(/\\/g,"/")}function To(t){var e=Array.from(t||[]);if(!e.length)return null;if(e.length>ko)return{error:{code:"error.upload.tooMany",params:{limit:ko}}};var i=e.some(function(v){return yr(v).includes("/")});if(i){if(!e.some(function(v){return/(^|\/)skill\.md$/i.test(yr(v))}))return{error:{code:"select.folder.invalid"}};var l=e.find(function(v){return Number(v.size||0)>hr});if(l)return{error:{code:"error.upload.tooLarge",params:{limit:hr}}};var u=e.reduce(function(v,N){return v+Number(N.size||0)},0);return u>wo?{error:{code:"error.upload.tooLarge",params:{limit:wo}}}:{kind:"folder",name:yr(e[0]).split("/")[0],files:e,count:e.length,size:u}}if(e.length!==1)return{error:{code:"select.file.invalid"}};var f=String(e[0].name||""),h=f.toLowerCase(),b=Number(e[0].size||0);return h==="skill.md"?b>hr?{error:{code:"error.upload.tooLarge",params:{limit:hr}}}:{kind:"skill",name:f,files:e,count:1,size:b}:h.endsWith(".zip")?b>vo?{error:{code:"error.upload.archiveTooLarge",params:{limit:vo}}}:{kind:"zip",name:f,files:e,count:1,size:b}:{error:{code:"select.file.invalid"}}}function En(t){for(var e=new Uint8Array(t),i="",l=32768,u=0;u<e.length;u+=l)i+=String.fromCharCode(...e.subarray(u,Math.min(u+l,e.length)));return btoa(i)}function An(t){return Promise.all(t.files.map(function(e){return e.arrayBuffer().then(function(i){return{path:yr(e),data:En(i)}})})).then(function(e){return t.kind==="zip"?{name:t.name,zip:e[0].data}:{name:t.name,entries:e}})}function zo(t,e,i){return t.isFile?new Promise(function(l,u){t.file(function(f){f._dssmPath=e+f.name,i.push(f),l()},u)}):t.isDirectory?new Promise(function(l,u){var f=t.createReader(),h=[];function b(){f.readEntries(function(v){if(!v.length){Promise.all(h.map(function(N){return zo(N,e+t.name+"/",i)})).then(function(){l()},u);return}h=h.concat(v),b()},u)}b()}):Promise.resolve()}function Pn(t){var e=Array.from(t&&t.items||[]),i=e.map(function(u){return u.webkitGetAsEntry&&u.webkitGetAsEntry()}).filter(u=>!!u);if(!i.length)return Promise.resolve(Array.from(t&&t.files||[]));var l=[];return Promise.all(i.map(function(u){return zo(u,"",l)})).then(function(){return l})}function In(t){return Array.prototype.slice.call(t.querySelectorAll('button:not(:disabled), [href], input:not([type=hidden]):not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])')||[])}function Tn(t,e){if(e.key==="Tab"){var i=In(t);if(i.length){var l=document.activeElement;(l===t||!t.contains(l)||(e.shiftKey?l===i[0]:l===i[i.length-1]))&&(e.preventDefault(),(e.shiftKey?i[i.length-1]:i[0]).focus())}}}function zn(t){return Qr(t.on,t.label,t.disabled,t.onClick)}function _(t,e,i="primary",l){return o(We.Button,{variant:i==="primary"?"primary":"outline",className:i==="danger"?"dssm-btn-danger":void 0,disabled:l,onClick:e},t)}function Ve(t){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{d:t,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Mn(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},[3.5,8,12.5].map(function(t){return o("circle",{key:t,cx:t,cy:8,r:1.15,fill:"none",stroke:"currentColor",strokeWidth:1.5})}))}function Yt(t,e,i,l,u){return o(We.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(l?" dssm-icon-danger":""),disabled:u,"aria-label":t,title:t,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:i})}function br(t,e,i,l,u){return o(We.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:l,"aria-label":t,title:u||t,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:i})}function Qr(t,e,i,l){return o("button",{type:"button",role:"switch","aria-checked":t,"aria-label":e,disabled:i,className:"dssm-enable-switch",onClick:function(u){u&&typeof u.stopPropagation=="function"&&u.stopPropagation(),l()}},o("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var Hn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAhKSURBVFhHrZd5bBTXHcdR/6iav5r2zx4q2NjG9q69u/b6Wts4xkaEcCotzQUhhZJSEM1BAkmEqrQEQRCKUm4IRCRgikOgCbRFSlSaQBraSEVKQ8CAMYcMe87xZmfmzZvZ+Va/t15jw+K2Un/SVzN7zPt93vsd8964cUMG4Bsj7r/Z39//7bNnz97//xCNRWMW8zXqC03TSjnnW4QQF4UQuuMIxh3BHC4Y3RfEHee2+GjZxaXbtnPR4nxLQtNKR0EUbmzb7nJdN4O8+UNXeeP7xeQjV1ButLwiyg2N6TgiYxh21ygIXdfLPM9L0B9E3vxickjOnXJ8PlJ8tOzREtKH6yaSyWTZcAgcx9lccO66LsaSIIliEnAKckaL/BZk23kIzp3N0vnJkye/JYQ4PwSQu9PhvXQ3wNgQBRCbOzkZCuF+Tb7HUZYKIbQhAP9OR/eScAXNArbN5eAFCHLOHacoyBCATznBHaFSdRQA9HsBCOGA87yT298J5HJyItJyXm4YwHU9KYLgYgikAMAdWDaXAFQZ5LsAwIoBOI4js71gnucNO9Z0Hac/O4MDBw/jUv+ArAyyS5cH8M7+Xnmfn7UDm3NYtg3PyxGcT1cq2TEBaJZk16/fwFt79mHlqjVYsvRXWL7iBax+5TeYOfdRVNY04YmFv0AqlZYzJTt85BjqW6bio48/kQ5JhUn0X7mGC32X5Qfb5vcGKDg/1Ps+mtu6MaGsBiXlIUysimBiZQQlFWFUh5pRWduMp5c9B8uyJTTZwUNHUFkbQyDSjnUb3kQ6reCDYyewb/8hzJn3FHp6j0oA07SKA9Cyk/Uc7EVJeQ0qg1HU1sVGqBWh+jZ5DUcnS5DHFizB5f4B+dzfznyBSNMUhBs7UdfchYfmPI7qcJsEauucha/OXZAAlm3fDUBNha7nL/Qh2tSOYLgRkWgrQnUxBCPNCISbEQy35BUhxRCKtmNSoAEPzpyHC32XJMQzK19BeaBRAtTUTUZj6zREmrqwfuPvKCQ+dUvOi4SAcy4B1q57HeNLKxGqb0F1TRTlVREEahuHQFoQCBEIKYYaWomGdlTVNmH6rDwEhWPp8udRHYphctcszP7xfGzZvgeMGTIJCYDeKcMADncYJYrneb5pmnhwxlws+vkvcfxPJ9Bz8D2sfe11zJr7UwkTCDXKUARCTaiJtCAcbcfkKQ+hIdYlV6KjayY+PH4CL770a5RURPDiy69C0zRZPfnyFDInRwFYNmeuJ8vLv3UrjmAoih0735LLSaVHDyiKgoOHDqN72mxMCtQhVB+ToaDrzl1v46+fnsaMOY+gIhCVIKEGyo8Y3nhzmxyH27zQKWVNjAIwLc6E68HL5fyr166jJtyA1S+vke9C27ZlPyAQsqtXr+PJp55GRXWdXIlItB2PzV+E0599jr6+S2hspbi3oq7xAYQbOvD+0Q/zAJwXyjv/VhQjAAzTZpzaqOP6yVQaLa0PYPqMudB1hpznSXISDUKmKCqeeHIxKqoiiDS0oaomivUb35C/vbp2A0oqQqhv7kRH90z0XcwnJj0/EoDybhiAGRazuYusafumxbFg4WKUTKzERx//RT5MnazQoAoQ/VcG0DFlunROeUGhWLhoKbqmzZaJSmW64tlVcuVGdteiABozmWkLqHpW/rh9x2587wcTsPBnS6hnyxDQi4R6fT6Z8k3n6B+OYVJ1BLWRFlTXNqC0olb2jfqmDjS0dOKTT0/L/9HzYwKoepZlrTyAZQtcGbiGjs5uTCitwNZtu+Qg5lC36++/goGr1+R3ZKtWr0FpeVCWbDDcJENCML9dt1G24MLSjwmQUQ3GTAeKnvUVLQvXA/Yf+D3KyqsQCIaxZ+8+WUJk7x0+imhTG955t0euhqKqeHje4xhfWoVIfQyVwXosXf7s8IvsvwJIKozpBkdGzfqKbhIIKCTrN2xCaVklyiqqsfKFl/Dlv77Gmb9/Icv0RyWTsGzFc0gmU0in01i8ZBkqqyOoCtZh3qMLsL/nEOLxhIQcCXEXwMmzZ++PpxlTmI2UwvyMlgVJ1U0YJsfW7btRF23C9384HsHaCOoamlETjiIUacTEigA6u6dL0LWvbcCSpSvwk0fmo61jKmLt3Tj+xz//5xyQACmmZzQLyQzz04qBtJoXhcNyPJz+/B9Y8czzaI61oyoQQvmkACoqg6gNR1EXbUb3tJnY+/a79IaDpumgZkahGem4CEB+Q0IAt5K6llRNxFO6n8wwJDMGCiAphcG0XbAsx5dfXcDhIx9g5+692LFrDw709MoGpKpyQ5WvFJc6py91p/ORAK7r5rdktDGMZ4zzac3CzaSWu5XSkUgTRF4pxZBXgjFMAccFPB+0z5dX4fmwbAdG1qLtltwjkmgnJEZs40YAyJ7vukObUrJ4hm22BDAYV8XNpEYgiKfZbRCFViK/GqS0wpBRGRTVgMpMMMOCkbWRtWxYFm2/aLNKvYN6iIAr94rDAHK3Q0eB4XPBucs3ylKqmVANB4MJVQwmtdzNhObfTGp+PKn78bTuJ9KMwuOnFMNPq4afUQ0qWZ96h6abvm6YPjMs38haPnXUrGX7lsV92+byUMIdJ+fQkuRnn6DDkHReOB5dvDI4NZ7SM7YLZHTbTyhZkJJSJtKqCUpURbeg6jY0wwaVrp7lMLIODMsBNTMqX4u7oNbOhQdHeBBuDrlc/mgmhMhomjZ1pO/hm3+eO1d2bTC9dTCuXByMq2y0NHYzSdJZPK2zRFpn1D/SCmPUyBSNlGWanmXU2nWSYTKWtZghZV7Sjey2G5dvyJnf84RMtmnTpvt6T5z47vFTp74zlk79D9rU23tfMV//Btfumph3iobTAAAAAElFTkSuQmCC",jn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAf9SURBVFhHrVdrUJTXGd7RVNgb4BUvqKg1qTUx1WobTczFmmj8007bmU4nPzrtjG3TSWc6bWf6h/udZW9cNYpREYGxYpJJrWljEzKt2XO+2wJyUURAEASBXdjL9+0uuzyd8wErC5lJL7wzz+zZc973fd73Oec7365GM8+SbtVuTXDU2xJIQ2cCqZcTSAOWBmqujgRHg3WlcGXLfM6oGWjdr42kLmAk9VgKbBEasUv6cNG8kdQrBlL/yxhyI6n7hZHUYamwVWjEJ+4hSL5x/OhO06J1BgO5/CuVPNFRn2oktQEjuYylgnWwHW1+NzrkCbTLbpzouLnIx0guK2zLNQZHrc1AarFU2N/ykUraKU/grjyJe8okWvwuPOv8YJGvgdRaNHpS02kgl7BUsA21RYnvKx70Brx4EPDiumsAiZSRPvHVO2raNXpyUdaTGiwFUsUravfdigc9s+T9QR8eBv0YCsp4p8cRG+Oo8bMCsFT4Ux8fJX4Q8GEg6MNg0I9HIRkjIUWd2+W8GhOj0ZMLWAok0osQfKPoC3gXEMsYDSkYnwrAPRXE1bFerKRMgZk4jY6cx/+DVLEBv+t1oGlyaFZuH4aCfgyHZDwOKRibUuCaCmAiHIQnHII3HEK77MKbHR+r8RodeQ//C55vvoqzI53oVibVQ8a6/ipif2QKSiSM4HQEoekIPnYPQKMl1fhvsEG4BPNgSwzxjNz+BXLPkHfIbvQGPJBniaemI4hgGnOm0ZKz+E9xouM6eO9j9AU86A96o3IvJHb6RvFW102s4y9EY9n4tz3/UgufbxotOQOGBFqNdfx5dbwQOnIGv++7pXYyn3g45MfjkByV+64ygZPdTTBSptbiPAzJ/AX83d3/pICd0mX8xdWHFv8YbvvH1QPyT88Qrox1wzbUgj/2fYFTw22zcnsxGPRF5Z4jZuP8hwLW8uegJae/Egn0DFr9YzMFHLrdqH5pk8fRIbtwR3bjnjKB+8qk2vGDgGcR8Yzciip3w1gXdjlroSOno9CTU9DTLwE5FfU5fLsR4elpaJK4sxB9j1XiLmUC3coEegKTC/bZFyM3I6beYRxr/wBaNWkVdLQKelIFPa2CgVTCwD4XglSqPsyXxVQ+aoUmjlSh/FGL2nUssXcRMTtkzOc3PZ/BSFknldDRSugpI6yEkVYggVYgkZYjRXgXb3X9FdvFaiSpczPzbJ35spiNYjU0K0gljnd+iN4Ae6wWyj2v63AA1SNt2MhXI55UQksroKMV0NMKGNXE5UiiZVhJy7GKK4PDM6ju8X3FjRS+EqtpqTrPfJgvi9GTClZAhZrw5kT/lxKzQ9Yf8OBYx/uIdzDfCmjVYJakDAlq0lKspnaspXYkc3as5+wYDHqiJ900cAvr+Zk15rOKK0USKVXjNStIORi+f+ejqNyjqtwzXbMCjnVcQxwpRzwph46UQU/LYFSTsGQsqQ3rORs2cVakcFZs4SzIevBptAAlMoWDLWewmbNgI2dFMmfDGmpDErVD8zVSCoYVpBSfTz6MEk+Gg+r1WTXcrK7FkVJoiR06YoeBsyORWrGKs2ItZ8EGzoLNXAm28iXYwRdjp1CM3WIJuuXRaBEXRwTsEIpVn028GcnUgtXUygqwYw5HO65iIhyAJxyM3tv7Wi8hjtgRT23QERsM1IpEasFPu97HuREnDt8+hy28CTv4IjwjFGE3X4g9QgH2CgV4u6sueunWjFDsFgrxNF+EVN6EFM6EdZwZmqeIDfPBDqEcmUIgElaLWUGsiCNWxFMrdNQKI7Vgu1SpvkyY9QZc2CWU4BtCAZ4T87FPzMcBKQ8HxVwcknLwh+46lPTfwGFnobq2WyzATr4QW/libOBMrAAr5qM/6FGTs0uiW3FjhcOKOGqBllig5yxIJGZs5u2qSnNmfvgp9gh52C/m4qCUg8NSNl6VsnCEwZmljtncC2IO9oq52CUUYAdfiBSumBVglp8iFsyBPTZzbyumhJZaEU/M0BEzjLQESZwJazkT8gY+ixbgCwfxRosVB6VsvKySZuINKQPHnBk41pyhjtncYWcWDkjZeE7Iw04uH1kPPglplpOSzuXEDIbN0mn4IqFoYmb7W2sQR83Q0hIYONNsAUXYxpvQF3BF/WwDf8OLEus2E69L6TjuTMcJZxrebJ4ZH3Vm4BUpE9+RsrBXzId9sAn3lfGAZrnDZF1OSsBgGqIx5MwaxjoRR0ugo8UwUhNW0iKs45h8+fhZVx3Cs+/4k13v4SUpA685M/C6Mw3HnWk40TwDNj7qTMcrUgbe7jqPu/KwmvuG646k0Xxh2bSMFMvLiAnXxu8u5Fe3Y9/t84inxdDTIiTSIqzhCrCBL8BWPg8vt9pxpNWOvWI2vitmqkW8KqXhNWcaviel4YgzXR3/pM2Cf7jbonnZ3WAe+fyQ+u9omaPo58tIMaqGpRjyObvh7kY8KYKOK0ICLcQqmo9kPh8pfB62CTl4RsjGswKTNgsHxEy8IGXgRTEdL0npONqci/OPmhCYt7XsgF98LFyK+X+4zFF08gdd154c7QX2w7t/hpYrhIEWIokWYA2Xh/V8LjbzudjO5+BpIRvfFLOwh8/Et8QMfFvMRHpvI0ZCsb+ARkPeadPDpvIY8jlLdNpSr453cvcUV4A9AfNtKORFqlQGLS2AgeYjieZhNZeLZC4Hm/gcbOFzsE3IxteFTPy48wyc3ie/epRICL3KWPC6q118p6fx+fmc/wYNNEiugm3b7wAAAABJRU5ErkJggg==",Dn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAflSURBVFhH7Vd7UFNXGicPwiMSWsiCiCwiLM+UQkEeIYhS5JkQEoJJQCCIdKW7uLCjYot1akFueAZ5BJUBpLxBQKpjrUWrLq517bYznXG1aylV3gjyUJRX8u2cG0IRYXHc7R87s7/JnXPPd07O7zu/833nnKuh8X/8L4FAIBBVBV4usaOfBgG9Epe1/WpAXuClinhZ28u2/wrc4iR5ESfk3Ua2Nh6oTiQSSaikkInkpvdY5259EHjHzcLQDW8jEIhEogaRTCKQl4/zSsB1JpHIhAUSPWNj87jWZth76SIEHD3SgWxkEomCSh9rI58ZeRRAeSwUCF3kyKalSdR+YbgVlFoVL60xkYjPIjjzWOfuthaIrq+d1d9oaq1uPxhgnzZVLIYnRSIQuv5WrLY7bta12xNkFLs4zqssjZpcW1+fbhMYEK+po0NVt9mFBL8f/9lZQI+zcOfHantL4taLz0oioT+HP21nomeDbO62696ePOs+Cbd94FTKZlwVIkFjjQBdCCwShaLFyZbeTuy4BLzCgnuGlpZOyK5Lp2+IrKl6EtfWAvxC2T+RqvraZL27n4QOIgX+9qH/PdTPyZLKmGr3nJq74AnwlRd8Xci4oRp+DQXUs6fS6aaSM00Q29wIqJQ0N4E9OyQJtbH2JVXjKrQ2g749g+myXpcxdlwIs3IxHOM65pkbUTY8afKanj/HBLjkBV1Vzl10GvkN9F8S8RVSVO3Eegd7prC8bGj32TbYVVszl3DhPDAT95Zt8maFRzc1wJ72Vngr4ffFiZ5mcdPySBjJCwcp3yHrnoz58/yZ7aD4zBsG61yHzI0pG9F4miSCJirXXAakEYlExDvr0PTe9P8o7WLC+XbYVfPpXHx7G0ScOtEjOl0xGdNYB+zSE32tB9m3JvP48BDjzg7L2IqxUwEwU+cHj6u9nlqZaFssHVubokrJVZditVRh8PmpkpYmiGmsh9iGWoipq4ao6ipFdHUl3JFFwzAWquzLCoM+aahypDAE7udv7bcw0sJn7s2geX4gMj14Jdu+Y7jZdTDY7Y0AZCcRCXh6L0JNrkMhUdw3G7jYmdBszQyoZgZULQPUc6MjgxUmL/5J0NAI/No6RVB9MySVFykHsVBFnxSRc5W9GFc5ks+BUglDXiCxLuouc++FCyyAqyyADibANz7wl3yHays6oN7DT+5yr5qRo5QKn3mA8Z78kB766PuPOb1Xk1idVw5z/9FR8kdoL/qT8lN5qvK6bI9yGOMAcqBfysWfvizO/OTJYICWQJht2Qaz7SyAyyyAL5kw0rxlJIVvsg/nI74cC7gC3x4Ovg+nYmCyUIRvLKicOC6EySIxTMgEMJ7FgXEpGyawEBhZTi7lKvH3HLaivyBgZrzcD7pLPR5kRJsdcbLStl8kWikG1ArssFvvXxfvdbb9fZ+Oa/v9vvvucFD3/fTQ0YFs/twDLOx5TxZvri87HHqz+dCXxYN+3IFfnj5pmLJfyoOezLD5Hixs/sdPOGMXk3xvlojdKlP8bFOZloaeuBMrxdtKnlEpJB06lWJI0yZT4zzNYx5mcib7ETlOpJq9KgZwB5T9WVzoxbiKcZkApkuEMF6wE1dyqkQMU8WR8LRYBCwrujca+6U4UBvRgxQhL6QjQtJ2q5TuDM5TRP4IYyuHFuRHsqP3ASxU2YuFKQZyONAv8392fKdjcV64c+k3H/rf78vmTU8UCuFpcSSg+HLbZICfmCs6gLBUHocNNLvLKb5fPy8SwlCuACalbLieF6esKDqgHMQ4OHn18WTFD3liGJaG4tI/LgmCewWeP7/rqI/P1IKuuynkLRPOETbjWBzTYs9yjhewtCH5XZv9w7nhisf5EfC4QAi9RwPHTmKJPezaBigqSVOMZwbBQCZHkVhZDAcyku+OZgRO9+eEI2Xmp2t3AHy5DbLizbEXGdaAWpb8iHeKlCd3wUB2uPK5PBK+SPS6uo3lFMmtqBzn1dTCBdlexURmENzFBHNJ9WWwNTX5/H5fqwMzJSLowXizg3mhiqlW5jzc8IZOGeO6qSHFGI1LIRPxO8SqIBFV22VFrEctVEpgMFcwf9DfLg0lrl8mdnt3cwNEVlfB3/NiYCIzSHkzXwL7agogvSJtSmudNvV0jFvDtFwMDzPDZ0dLQ+DZebdZuOoFg02uA5tNtMzR2P/2PFBngpGe1m8OBdp/9I65gSuqeyTEyxPaW0BUXweSrCPfd6Wzx8ayuHA5N2okp/rQzFfn/gBMV9Mg1Pfbw0FdKOh6McHcWOWOebjmCdDJAnfbdS6ofc1TcXk6WrGYEeg6hs6BoMKinwJdLQWjOTwYzxfAMZFTblN5xIORKwLA3rOWof4MU5rDYC5/7lF+BIzmR8CZQ/YNHE993LmVdsAVgachQYNE1iRr7iw7MSRpaYb4tjNAtbHfEuNsIn5eGgXjBQLY+js6qzHD+XPo3A43ZOjiofKd52zKmy4Rwc3UHXdIC5yrpt2qWLghOYuF6eg0dBFFZKB6cZR75bQ8CoZy+XM0CoWaEWd6FP7qBVPntjyzWK9lpv67gwnNXl9Hk4be1feB14auwZvGau2SfK2ToTwGLv/Z9xaqsxz0POC6J3SdfvtHw19uP4uz/Y8/VtS3JPXHCIK7hcEWY5qWkbruZKnLoNPIBqp+qnVAxMvj6bWxlHwplnyWLdZf7PErAUm8lAyl1uuQ/wtXmaOWiiPiDAAAAABJRU5ErkJggg==",Un="M23.376 14.458v-4.056c0-2.304-1.003-4.154-2.748-5.075L11.612.574l-.046.086-.045.086c1.68.886 2.644 2.673 2.644 4.902v4.056a7.928 7.928 0 01-.014.454l-.005.061c-.005.081-.01.164-.018.245a4.897 4.897 0 01-.011.1l-.01.076c-.008.068-.015.135-.025.203l-.018.113-.01.058a9.99 9.99 0 01-.098.513l-.007.03a7.209 7.209 0 01-.074.294l-.024.086c-.027.099-.056.197-.087.296l-.027.085a9.592 9.592 0 01-.111.323l-.033.085-.018.046c-.032.082-.064.166-.098.248-.019.048-.04.096-.061.145l-.007.017a6 6 0 01-.084.187c-.024.056-.05.11-.077.165-.03.061-.058.122-.089.182a9.423 9.423 0 01-.176.332c-.03.056-.062.111-.094.167-.031.053-.062.108-.095.16-.033.055-.066.11-.101.164-.033.053-.065.104-.1.155-.034.055-.07.107-.111.169l-.099.144a15.193 15.193 0 01-.34.457c-.04.05-.08.102-.121.151l-.107.128-.007.008a6.987 6.987 0 01-.262.298l-.149.16-.116.12a9.562 9.562 0 01-.204.198l-.03.03-.072.069a9.05 9.05 0 01-.263.235l-.025.022-.029.026-.042.035a11.7 11.7 0 01-.22.18l-.07.055-.018.013a8.904 8.904 0 01-.194.146c-.029.02-.057.042-.086.063a7.7 7.7 0 01-.22.152l-.057.04a8.865 8.865 0 01-.293.185l-.062.037a10.424 10.424 0 01-.307.173l-.037.02-.196.103-.108.052-.012.006a6.196 6.196 0 01-.315.143c-.065.028-.13.054-.196.08l-.035.014-.086.034c-.07.026-.143.05-.215.075l-.039.014-.064.023a8.056 8.056 0 01-.323.097l-.63.173a7.285 7.285 0 01-.33.08l-.07.015c-.053.012-.104.023-.157.032l-.065.011-.085.015a2.332 2.332 0 01-.194.027l-.085.01a4.715 4.715 0 01-.16.018l-.034.003a4.861 4.861 0 01-.246.016h-.033a2.714 2.714 0 01-.155.005h-.106a3.384 3.384 0 01-.225-.007H4.86l-.15-.012-.066-.006a5.586 5.586 0 01-.187-.02l-.04-.005a5.14 5.14 0 01-.219-.035l-.054-.01a6.943 6.943 0 01-.347-.082l-.03-.008-.038-.01a5.034 5.034 0 01-.269-.086l-.063-.023a4.216 4.216 0 01-.188-.073l-.071-.031-.016-.007a4.959 4.959 0 01-.16-.074l-.026-.013a.164.164 0 00-.014-.007l-.671-.351.486.486h.016l8.995 4.742.093.048.03.014.02.01c.056.026.111.052.169.076l.016.008.073.032.195.076.022.008a.718.718 0 01.03.012l.014.004a4.693 4.693 0 00.323.1l.027.007c.073.02.147.038.22.055l.018.004.027.006.066.013.088.016c.075.014.15.026.226.038l.042.004c.064.009.128.016.193.022l.126.012.06.003.05.002.098.005c.046.002.094.002.14.003h.12c.05 0 .1-.002.161-.005h.033l.07-.004a6.17 6.17 0 00.184-.014l.033-.003a.753.753 0 00.058-.005l.108-.012.081-.01.08-.01.129-.021.082-.014.071-.012c.054-.01.107-.021.16-.033l.066-.013.059-.013c.096-.022.192-.046.287-.073l.63-.172a7.354 7.354 0 00.397-.122l.04-.015c.075-.025.149-.051.222-.078.032-.011.062-.024.093-.037l.03-.012c.067-.027.135-.054.2-.082l.128-.056.195-.09.021-.01.102-.05c.068-.034.135-.069.202-.105l.037-.02.073-.038c.08-.044.16-.092.24-.139l.026-.015a8.086 8.086 0 00.322-.2l.065-.045 1.98.902a1.748 1.748 0 002.472-1.59v-7.33l.004.004z",On="M11.617.576a3.904 3.904 0 00-.093-.047c-.016-.009-.033-.016-.05-.024a5.854 5.854 0 00-.166-.077l-.09-.04a4.094 4.094 0 00-.194-.074c-.017-.006-.035-.015-.053-.02l-.013-.005a5.18 5.18 0 00-.277-.088l-.07-.019a4.034 4.034 0 00-.219-.053c-.015-.003-.03-.008-.044-.012L10.253.1l-.057-.011a5.177 5.177 0 00-.225-.036L9.928.047a5.972 5.972 0 00-.191-.022L9.669.02a1.33 1.33 0 00-.058-.005L9.515.009a4.058 4.058 0 00-.111-.005C9.354 0 9.304 0 9.254 0h-.109c-.052 0-.106.004-.16.004L8.884.01A5.32 5.32 0 008.7.022l-.083.006h-.008c-.05.005-.1.013-.15.019l-.12.014c-.056.008-.112.018-.169.028-.037.006-.074.011-.11.018a7.054 7.054 0 00-.572.133l-.63.172c-.111.031-.22.064-.33.1-.037.011-.072.025-.108.037a12.91 12.91 0 00-.345.126c-.067.027-.133.054-.2.083l-.128.055a11.916 11.916 0 00-.318.15 7.376 7.376 0 00-.311.163c-.082.045-.16.092-.24.14a9.424 9.424 0 00-.35.218l-.016.01-.06.04a9.242 9.242 0 00-.51.37 12.54 12.54 0 00-.315.254l-.043.034-.01.007-.045.041c-.09.078-.18.158-.268.24l-.106.101c-.07.067-.139.135-.207.204l-.056.054-.063.067-.153.164-.12.133-.148.17c-.024.03-.049.057-.073.086l-.043.053a5.96 5.96 0 00-.123.155l-.118.151c-.04.053-.08.106-.118.16l-.075.101-.038.056-.107.155-.11.164a9.91 9.91 0 00-.168.265c-.012.02-.023.043-.037.063a12.43 12.43 0 00-.192.335l-.09.168c-.019.034-.04.07-.057.105-.011.022-.02.043-.032.065l-.092.188-.08.167a19.15 19.15 0 00-.083.192c-.017.038-.035.076-.05.115-.008.016-.014.034-.021.051-.035.083-.067.167-.1.253l-.051.134c-.04.11-.077.22-.113.33l-.02.057c0 .002 0 .005-.002.007l-.008.026c-.032.1-.06.2-.09.301l-.023.089c-.027.1-.052.2-.075.301l-.007.03a7.63 7.63 0 00-.057.267l-.008.048c-.015.074-.026.148-.038.223L.082 8.4c-.011.078-.02.156-.029.234-.006.051-.013.103-.017.154a6.57 6.57 0 00-.02.26c-.003.044-.007.086-.009.13-.004.128-.007.257-.007.386v4.056c0 1.478.42 2.741 1.138 3.692A4.75 4.75 0 002.73 18.67l9.015 4.753c-1.656-.874-2.728-2.685-2.73-5.051v-4.056c0-.13.004-.26.01-.39.002-.043.006-.085.01-.128.005-.088.01-.174.019-.261l.017-.155c.01-.077.018-.155.029-.234l.026-.164c.013-.074.025-.15.039-.223.02-.105.04-.21.064-.313l.008-.031c.023-.1.048-.201.075-.301l.023-.088c.028-.1.058-.202.09-.302l.008-.025.021-.063c.036-.11.073-.22.113-.33l.052-.134c.031-.085.065-.169.1-.253.022-.056.047-.111.07-.166a13.856 13.856 0 01.164-.358c.03-.063.06-.126.092-.188l.088-.172a9.22 9.22 0 01.187-.338l.096-.164c.034-.057.069-.112.104-.168l.1-.159a10.49 10.49 0 01.567-.786l.123-.155.116-.139c.05-.057.098-.115.148-.171a14.092 14.092 0 01.272-.297 9.706 9.706 0 01.432-.425c.088-.083.177-.163.268-.241l.054-.048a10.08 10.08 0 01.553-.435l.092-.068c.075-.053.15-.105.226-.156.019-.013.038-.028.06-.04a9.18 9.18 0 01.362-.227c.08-.047.16-.094.241-.139l.11-.058a7.643 7.643 0 01.521-.256l.126-.056a7.509 7.509 0 01.546-.208l.107-.037c.11-.036.22-.069.33-.1l.63-.172c.095-.026.191-.05.287-.072l.097-.02c.062-.014.125-.029.187-.04l.114-.018c.055-.01.11-.02.166-.028.04-.006.08-.01.12-.014.053-.007.105-.014.157-.019l.083-.006c.061-.005.123-.01.184-.013.034-.003.067-.003.101-.004l.16-.006h.11a3.187 3.187 0 01.261.008l.153.01.067.007c.064.006.128.013.192.022l.043.005a5.232 5.232 0 01.281.047l.141.03c.073.016.146.035.218.053l.07.019c.094.026.187.055.278.087l.067.025a4.326 4.326 0 01.449.19l.143.072L11.617.576z",Bn="M6.13671 5.82399V4.30398C6.13671 4.17596 6.18431 4.07991 6.29527 4.01598L9.32406 2.256C9.73637 2.01602 10.228 1.90406 10.7353 1.90406C12.6382 1.90406 13.8434 3.3921 13.8434 4.97604C13.8434 5.088 13.8434 5.21602 13.8274 5.34404L10.6877 3.488C10.4975 3.37605 10.3071 3.37605 10.1168 3.488L6.13671 5.82399ZM13.209 11.7441V8.11195C13.209 7.88789 13.1138 7.72791 12.9236 7.61594L8.94344 5.27995L10.2437 4.5279C10.3547 4.46397 10.4499 4.46397 10.5609 4.5279L13.5896 6.28789C14.4619 6.79996 15.0484 7.88789 15.0484 8.94385C15.0484 10.1598 14.335 11.28 13.209 11.7441ZM5.20114 8.54404L3.90086 7.77608C3.78989 7.71215 3.7423 7.6161 3.7423 7.48808V3.96811C3.7423 2.25615 5.04259 0.960061 6.80278 0.960061C7.46883 0.960061 8.08714 1.18413 8.61056 1.58409L5.48672 3.40816C5.29649 3.52012 5.20129 3.68011 5.20129 3.90418L5.20114 8.54404ZM7.99999 10.176L6.13671 9.12005V6.8801L7.99999 5.82414L9.8631 6.8801V9.12005L7.99999 10.176ZM9.19719 15.0401C8.53113 15.0401 7.91282 14.816 7.3894 14.4161L10.5132 12.5919C10.7034 12.48 10.7987 12.3201 10.7987 12.096V7.45596L12.1149 8.22392C12.2258 8.28785 12.2734 8.3839 12.2734 8.51192V12.0319C12.2734 13.7438 10.9572 15.0401 9.19719 15.0401ZM5.43898 11.4721L2.41018 9.71211C1.53796 9.20003 0.95134 8.11211 0.95134 7.05615C0.95134 5.82414 1.68077 4.72016 2.80657 4.25611V7.9041C2.80657 8.12817 2.90177 8.28815 3.092 8.40012L7.05637 10.72L5.75609 11.4721C5.64513 11.5361 5.54993 11.5361 5.43898 11.4721ZM5.26465 14.0961C3.47278 14.0961 2.15658 12.736 2.15658 11.056C2.15658 10.928 2.17249 10.8 2.18826 10.672L5.3121 12.4961C5.50234 12.608 5.69273 12.608 5.88297 12.4961L9.8631 10.1762V11.6962C9.8631 11.8242 9.8155 11.9202 9.70454 11.9841L6.67574 13.7441C6.26344 13.9841 5.77199 14.0961 5.26465 14.0961ZM9.19719 16C11.1159 16 12.7174 14.624 13.0823 12.8C14.8582 12.3359 16 10.6559 16 8.944C16 7.82396 15.5243 6.73603 14.668 5.95201C14.7473 5.61598 14.7949 5.27995 14.7949 4.94407C14.7949 2.65612 12.9554 0.944002 10.8305 0.944002C10.4025 0.944002 9.99013 1.00794 9.57782 1.15201C8.86416 0.447988 7.88099 0 6.80278 0C4.88403 0 3.28254 1.37593 2.91768 3.19999C1.14173 3.66404 0 5.34404 0 7.056C0 8.17604 0.475669 9.26397 1.33197 10.048C1.25269 10.384 1.20509 10.72 1.20509 11.0559C1.20509 13.3438 3.04456 15.0559 5.16946 15.0559C5.59753 15.0559 6.00984 14.9921 6.42215 14.848C7.13565 15.552 8.11882 16 9.19719 16Z",Fn="M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z",Vn="M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z",Wn="M24 20.541H3.428v-3.426H0V3.4h24V20.54zM3.428 17.115h17.144V6.827H3.428v10.288zm8.573-5.196l-2.425 2.424-2.424-2.424 2.424-2.424 2.425 2.424zm6.857-.001l-2.424 2.423-2.425-2.423 2.425-2.425 2.424 2.425z",Kn="M20.113 5.5l-.442 1.557a.157.157 0 01-.196.106l-7.414-2.157a.16.16 0 00-.143.028l-7.342 5.74a.159.159 0 01-.074.032l-4.37.656a.154.154 0 00-.132.162l.02.245c.005.078.071.14.152.141l5.074.128.058.002 3.75-1.953a.16.16 0 01.164.01l2.657 1.847a.152.152 0 01.066.125l-.023 2.45c0 .032.01.063.028.089l3.737 5.227c.03.04.077.065.129.065h1.182a.153.153 0 00.14-.224l-2.664-4.919a.15.15 0 01.005-.152l1.389-2.169a.156.156 0 01.062-.055l4.965-2.456a.16.16 0 01.158.01l1.418.921a.16.16 0 00.087.026h1.289c.125 0 .2-.136.13-.237l-3.578-5.29c-.074-.109-.246-.082-.282.044z",qn="M18.777 1.647c.28-.02.536.114.972.51 1.018.926 2.437 2.828 3.318 4.452l.34.631.482.24.11.06v3.638a5.206 5.206 0 00-5.32-1.23c-.491.166-1.021.471-2.08 1.082l-6.09 3.516c-1.057.61-1.586.916-1.975 1.259a5.208 5.208 0 00-1.493 5.572c.165.49.471 1.02 1.082 2.08l.315.543h-3.26c-.685 0-1.34-.135-1.939-.377-.169-.956-.009-1.789.469-2.335.158-.18.164-.189.13-.493a11.846 11.846 0 01-.057-1.711l.02-.444-.667-1.18C2.1 15.622 1.445 14.078 1.192 12.9c-.133-.647-.125-.934.04-1.146.1-.128.427-.261.822-.334.994-.175 3.162-.017 5.575.41l.25.043.551-.487c.915-.81 1.522-1.264 2.641-1.962 1.167-.73 2.484-1.331 3.967-1.807l.476-.152.261-.688c.937-2.471 1.896-4.293 2.58-4.9.235-.21.25-.22.422-.23z",Qn="M12.139 18.2a1.203 1.203 0 011.642.44l1.296 2.243a1.204 1.204 0 01-2.083 1.203l-1.296-2.243a1.203 1.203 0 01.44-1.644zM18.629 14.452a1.203 1.203 0 011.642.44l1.295 2.244a1.203 1.203 0 11-2.083 1.203l-1.295-2.243a1.203 1.203 0 01.44-1.644z",Zn="M16.877 1.912c.58-.27 1.14-.323 1.616-.037a.317.317 0 01-.326.542c-.227-.136-.547-.153-1.022.068-.352.165-.765.45-1.234.866 2.683 1.17 4.4 3.5 5.148 5.921a6.421 6.421 0 00-.704.184c-.578.016-1.174.204-1.502.735-.338.55-.268 1.276.072 2.069l.005.012.007.014c.523 1.045 1.318 1.91 2.2 2.284-.912 3.274-3.44 6.144-5.972 6.988v2.109h-2.11v-2.11c-1.043.417-2.086.01-2.11 0v2.11h-2.11v-2.11c-2.531-.843-5.061-3.713-5.973-6.987.882-.373 1.678-1.238 2.2-2.284l.007-.014.006-.012c.34-.793.41-1.518.071-2.069-.327-.531-.923-.719-1.503-.735a6.409 6.409 0 00-.704-.183c.749-2.421 2.466-4.751 5.149-5.922-.47-.416-.88-.701-1.234-.866-.474-.221-.794-.204-1.021-.068a.318.318 0 01-.435-.109.317.317 0 01.109-.433c.476-.286 1.036-.233 1.615.037.49.229 1.031.628 1.621 1.182A9.924 9.924 0 0112 2.568c1.199 0 2.284.19 3.256.526.59-.554 1.13-.953 1.62-1.182zM8.835 6.577a1.266 1.266 0 100 2.532 1.266 1.266 0 000-2.532zm6.33 0a1.267 1.267 0 100 2.533 1.267 1.267 0 000-2.533z",Yn="M.395 13.118c-.966-1.932-.163-3.863 2.41-3.365v-.001l.05.01c.084.018.17.038.26.06.033.009.067.017.1.027.084.022.168.048.255.076l.09.027c.528 0 .95.158 1.16.501.212.343.212.87-.105 1.61-.085.17-.178.333-.276.489l-.01.017a4.967 4.967 0 01-.62.791l-.019.02c-1.092 1.117-2.496 1.336-3.295-.262z",Gn="M21.193 9.753c2.574-.5 3.378 1.433 2.411 3.365-.58 1.159-1.476 1.361-2.342.96l-.011-.005a2.419 2.419 0 01-.114-.056l-.019-.01a2.751 2.751 0 01-.115-.067l-.023-.014c-.035-.022-.071-.044-.106-.068l-.05-.035c-.55-.388-1.062-1.007-1.44-1.76-.276-.647-.311-1.132-.174-1.472.176-.439.636-.639 1.23-.639.032-.011.066-.02.099-.03.08-.026.16-.05.238-.072l.117-.03a5.502 5.502 0 01.3-.067z";function Jn(t){var e=String(t||"").toLowerCase();return e.includes("dsh")?o("img",{src:Hn,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("workbuddy")?o("img",{src:jn,width:16,height:16,alt:"WorkBuddy",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("ccswitch")||e.includes("cc-switch")?o("img",{src:Dn,width:16,height:16,alt:"CC Switch",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("qoder")||e.includes("lingma")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#2ADB5C",d:Un}),o("path",{fill:"#ffffff",d:On})):e.includes("codex")?o("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:Bn})):e.includes("cursor")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",fillRule:"evenodd",d:Fn})):e.includes("claude")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#D97757",fillRule:"evenodd",clipRule:"evenodd",d:"M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z"})):e.includes("gemini")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#3b82f6",d:"M12 2C12 7.5 7.5 12 2 12c5.5 0 10 4.5 10 10 0-5.5 4.5-10 10-10-5.5 0-10-4.5-10-10z"})):e.includes("opencode")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:"M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})):e.includes("copilot")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:"M12 2a8 8 0 0 0-8 8v4a4 4 0 0 0 4 4h1v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2h1a4 4 0 0 0 4-4v-4a8 8 0 0 0-8-8zm-3 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm6 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"})):e.includes("windsurf")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#00d084",fillRule:"evenodd",clipRule:"evenodd",d:Vn})):e.includes("trae")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#32F08C",d:Wn})):e.includes("openclaw")||e.includes("clawdbot")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#FF4D4D",fillRule:"evenodd",d:Zn}),o("path",{fill:"#FF4D4D",d:Yn}),o("path",{fill:"#FF4D4D",d:Gn})):e.includes("roo")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#eab308",fillRule:"evenodd",d:Kn})):e.includes("codebuddy")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("rect",{width:24,height:24,rx:5,fill:"#2EA99D"}),o("path",{fill:"#ffffff",d:qn}),o("path",{fill:"#ffffff",d:Qn})):o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#10b981",d:"M12 2a2 2 0 0 1 2 2c0 .74-.4 1.39-1 1.73V7h2a5 5 0 0 1 5 5v1a3 3 0 0 1 1 2.23V17a3 3 0 0 1-3 3h-1.1A6 6 0 0 1 12 22a6 6 0 0 1-4.9-2H6a3 3 0 0 1-3-3v-1.77A3 3 0 0 1 4 13v-1a5 5 0 0 1 5-5h2V5.73A2 2 0 0 1 10 4a2 2 0 0 1 2-2zm-3 10a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm6 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-6 5a4 4 0 0 0 6 0H9z"}))}function Mo(t,e){var i=(t||e||"").trim();if(!i)return"GitHub";var l="";try{/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(i)?l=new URL(i).hostname.toLowerCase():/^git@[^:]+:/.test(i)&&(l=i.slice(4).split(":")[0].toLowerCase())}catch{l=""}if(l)return l==="github.com"||l.endsWith(".github.com")?"GitHub":l==="gitee.com"||l.endsWith(".gitee.com")?"Gitee":l==="gitlab.com"||l.endsWith(".gitlab.com")||l.includes("gitlab")?"GitLab":"Git";var u=i.toLowerCase();return u.startsWith("gitee.com/")||u.startsWith("gitee:")?"Gitee":u.startsWith("gitlab.com/")||u.startsWith("gitlab:")?"GitLab":u.startsWith("github.com/")||u.startsWith("github:")||/^[a-z0-9_.-]+\/[a-z0-9_.-]+$/i.test(i)?"GitHub":"Git"}function Xn(t,e){var i=Mo(t,e),l="0 0 16 16",u="M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z";return i==="Gitee"?(l="0 0 24 24",u="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):i==="GitLab"?(l="0 0 24 24",u="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):i==="Git"&&(l="0 0 24 24",u="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187"),o("span",{className:"dssm-brand-icon","aria-hidden":!0,title:i},o("svg",{viewBox:l,width:16,height:16,fill:"currentColor",focusable:"false"},o("path",{d:u})))}function _n(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{fill:"currentColor",d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))}function Ho(t,e,i){t&&e===i&&t.focus()}function Xe(t){var e=M.useRef(null),i=M.useRef(t.onClose);i.current=t.onClose;function l(){var u=e.current;if(u){var f=u.querySelector("input, textarea");if(f instanceof HTMLElement){f.focus();return}u.tabIndex=-1,u.focus()}}return M.useLayoutEffect(function(){if(!(typeof document>"u")){var u=e.current;u&&Ho(u,document.activeElement,document.body)}}),M.useEffect(function(){if(typeof document>"u")return;function u(f){f.key==="Escape"&&(f.preventDefault(),f.stopImmediatePropagation(),i.current())}return document.addEventListener("keydown",u,!0),function(){document.removeEventListener("keydown",u,!0)}},[]),o(We.Modal,{open:!0,title:t.title,description:t.description,footer:t.footer,onClose:t.onClose,closeLabel:t.closeLabel||"Close",className:["dssm-modal",t.className].filter(Boolean).join(" "),contentClassName:["dssm-modal-content",t.contentClassName].filter(Boolean).join(" ")},t.children?o("div",{ref:e},t.children):void 0)}function jo(t){if(t){for(var e=t.byId||{},i=Array.isArray(t.ids)&&t.ids.length?t.ids:Object.keys(e),l=0;l<i.length;l++){var u=e[i[l]];if(u&&u.retainedBy&&u.retainedBy.mainView)return i[l]}for(var f in e)if(i.indexOf(f)===-1&&e[f]&&e[f].retainedBy&&e[f].retainedBy.mainView)return f}}function Do(t){return typeof t=="function"?t:Va&&typeof Va.bind=="function"?Va.bind(at):function(e,i){var l=Wa.zh||{},u=l[e]||e;if(!i)return u;var f=i;return u.replace(/\{(\w+)\}/g,function(h,b){return String(f[b]??"{"+b+"}")})}}function qr(t){var e=Do(t&&t.t),i=t&&t.useSessions?t.useSessions(jo):void 0,l=M.useState("user"),u=M.useState({}),f=M.useState({});return o($n,Object.assign({},t,{t:e,key:i||"no-session",sessionId:i,scope:l[0],setScope:l[1],savedFilters:u[0],setSavedFilters:u[1],expanded:f[0],setExpanded:f[1]}))}function $n(t){var e=Do(t&&t.t);function i(a,n){var g=Object.fromEntries(new Headers(n?.headers).entries());return t.sessionId&&(g["x-dsh-skills-session"]=t.sessionId),Fa(a,Object.assign({},n,{headers:g}))}var l=M.useState({loading:!0,error:null,data:null}),u=l[0],f=l[1],h=M.useState(!1),b=h[0],v=h[1],N=t.scope,S=t.setScope,z=t.expanded,s=t.setExpanded,A=t.savedFilters,J=t.setSavedFilters,ue=M.useState(null),k=ue[0],T=ue[1],be=M.useState(""),K=be[0],Y=be[1],pe=M.useState({}),q=pe[0],m=pe[1],X=M.useState(null),R=X[0]&&X[0].scope===N?X[0]:null;function L(a){X[1](a?Object.assign({},a,{scope:N}):null)}var ae=M.useState({root:"dsh",name:"",description:"",body:""}),le=ae[0],Q=ae[1],da=M.useState(""),Ce=da[0],Gt=da[1],At=M.useState(""),ne=At[0],ce=At[1],rt=M.useState(la()),ot=rt[0],ua=rt[1],Pt=M.useState(la()),nt=Pt[0],It=Pt[1],pa=M.useState([]),ye=pa[0],Tt=pa[1],y=M.useState(""),G=y[0],ve=y[1],ht=M.useRef(""),Ke=M.useRef(0),Ka=M.useState({loading:!1,error:null}),ee=Ka[0],ma=Ka[1],we=M.useState({}),fa=we[0],bt=we[1],qa=M.useState(null),ge=qa[0],st=qa[1],zt=M.useState(""),Mt=zt[0],ga=zt[1],ha=M.useState(!1),kr=ha[0],Ht=ha[1],Jt=M.useState(null),Qa=Jt[0],He=Jt[1],Za=M.useState(!1),yt=Za[0],qe=Za[1],ba=M.useState(""),it=ba[0],ya=ba[1],jt=M.useState(""),Xt=jt[0],vt=jt[1],va=M.useState(null),Ya=va[0],_e=va[1],wa=M.useState(!1),Ne=wa[0],lt=wa[1],_t=M.useState(null),wt=_t[0],ke=_t[1],kt=M.useState(null),Dt=kt[0],Ga=kt[1],$t=M.useState("idle"),Ja=$t[0],xt=$t[1];function ka(a){if(typeof navigator>"u"||!navigator.clipboard){xt("failed");return}navigator.clipboard.writeText(a).then(function(){xt("copied"),setTimeout(function(){xt("idle")},1500)}).catch(function(){xt("failed")})}var ct=M.useRef(!1),xe=M.useRef(null),xa=M.useRef(null),ea=M.useRef(null),Ae=M.useRef(!1),Qe=M.useRef({}),Re=M.useRef(0);M.useEffect(function(){return function(){Re.current++}},[]);function je(a){return a||f({loading:!0,error:null,data:u.data}),i("/state").then(function(n){return f({loading:!1,error:null,data:n}),n}).catch(function(n){f({loading:!1,error:se(e,n),data:u.data})})}M.useEffect(function(){je(!1)},[]);function $(a,n,g,x){return ct.current?Promise.reject({error:"operation already in progress"}):(ct.current=!0,v(!0),L(null),i(a,{method:"POST",headers:Lt,body:JSON.stringify(n||{})}).then(function(C){L({ok:!0,text:g?e(g,x||C||{}):e("result.updated")});var E=n&&typeof n.workspace=="string"?n.workspace:"";return Promise.all([je(!0),E?Vt(E):null]).then(function(){return C})}).catch(function(C){throw L({ok:!1,text:e("error.action",{error:se(e,C)})}),C}).finally(function(){ct.current=!1,v(!1)}))}function Xa(a,n,g){v(!0),Ga(null),xt("idle"),T("detail"),i("/detail",{method:"POST",headers:Lt,body:JSON.stringify(g?{root:a.key,name:n.name,workspace:g}:{root:a.key,name:n.name})}).then(Ga).catch(function(x){L({ok:!1,text:e("error.action",{error:se(e,x)})}),T(null)}).finally(function(){v(!1)})}function De(a){ga(a.path||""),Ht(!1),He(null),T({type:"root-path",root:a.key,label:Je(e,a),path:a.path||"",defaultPath:a.defaultPath})}function Sa(){var a=xo();if(!a){He(e("rootPath.pickUnavailable"));return}He(null),Ht(!0),Promise.resolve().then(a).then(function(n){typeof n=="string"&&n.trim()&&ga(n.trim())}).catch(function(n){He(se(e,n))}).finally(function(){Ht(!1)})}function Ue(a){var n=k&&typeof k=="object"&&k.type==="root-path"?k:null;n&&(He(null),$("/root-path",{key:n.root,path:a},a===null?"rootPath.resetDone":"rootPath.saved",{name:n.label}).then(function(){T(null)}).catch(function(g){He(se(e,g))}))}function W(){qe(!0),ke(null),_e(null)}function St(){var a=xo();if(!a){ke(e("rootPath.pickUnavailable"));return}ke(null),lt(!0),Promise.resolve().then(a).then(function(n){typeof n=="string"&&n.trim()&&ya(n.trim())}).catch(function(n){ke(se(e,n))}).finally(function(){lt(!1)})}function xr(){var a=(it||"").trim();a&&(lt(!0),ke(null),i("/custom-source-scan",{method:"POST",headers:Lt,body:JSON.stringify({path:a})}).then(function(n){_e(n)}).catch(function(n){_e(null),ke(se(e,n))}).finally(function(){lt(!1)}))}function _a(a){var n=a.filter(function(g){return g&&g.path});!n.length||Ne||(lt(!0),ke(null),L(null),i("/custom-source-add",{method:"POST",headers:Lt,body:JSON.stringify({sources:n})}).then(function(g){var x=g&&Array.isArray(g.added)?g.added.length:n.length;return je(!0).then(function(){L({ok:!0,text:e("customSource.added",{count:x})}),_e(null),ya(""),vt(""),qe(!1)})}).catch(function(g){ke(se(e,g))}).finally(function(){lt(!1)}))}function Ze(a){if(!b){var n=Mt;$("/custom-source-remove",{id:a},"customSource.removed").then(function(){return i("/state").then(function(g){f({loading:!1,error:null,data:g});var x=(g&&Array.isArray(g.roots)?g.roots:[]).filter(function(E){return!E.mutable&&E.scope!=="project"&&E.key!==a}),C=x.find(function(E){return E.custom})||x[0];C?De(C):T(null),n&&_e(function(E){return E?Object.assign({},E,{candidates:E.candidates.map(function(H){return H.path===n?Object.assign({},H,{registered:!1}):H})}):null})})}).catch(function(g){He(se(e,g))})}}function Ca(a,n){Q(Object.assign({},le,{[a]:n}))}function $a(){Qt(ot,ye,pt)&&$("/create",Object.assign({},le,{root:void 0},mr(ot)),null).then(function(a){T(null),Q({root:"dsh",name:"",description:"",body:""}),L({ok:!0,text:e("result.created",{name:a.name})+(ot.scope==="workspace"?" \xB7 "+e("dest.createdInWorkspace"):"")})}).catch(function(){})}function Na(a){Ae.current=!1;var n=To(a);if(n){if(n.error){st(null),L({ok:!1,text:se(e,n.error)});return}st(n),L(null)}}function Ra(a){if(b||Ae.current||!a.current)return;Ae.current=!0,a.current.value="";function n(){setTimeout(function(){Ae.current=!1},0)}window.addEventListener("focus",n,{once:!0}),a.current.click(),setTimeout(function(){Ae.current=!1},3e4)}function Ut(){!ge||!Qt(nt,ye,pt)||An(ge).then(function(a){return $("/upload",Object.assign({},a,mr(nt)),null)}).then(function(a){var n=Lo(e,a);L({ok:n.ok,warning:n.warning,text:n.text}),n.imported&&(T(null),st(null))}).catch(function(){})}var dt=u.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},Ot=dt.roots||[],Ct=Ot.filter(function(a){return!a.mutable&&a.scope!=="project"});function La(){if(Ct.length){var a=Le&&Ct.find(function(n){return n.key===Le})||Ct[0];De(a)}}var ut=N==="project"?"project":"user",U=A[ut]||{query:"",source:"",status:""},te=U.query,Bt=U.source;function $e(a,n){J(function(g){return Object.assign({},g,{[ut]:Object.assign({},U,{[a]:n})})})}function er(a){$e("query",a)}function Ea(a){$e("source",a)}var Ft=fa[G],Aa=N==="trash"?[]:N==="project"?Gr(Ft?.roots||[]):Io(Ot),ta=Aa.filter(function(a){return(a.skills||[]).length>0}),Le=N!=="project"&&ta.some(function(a){return a.key===Bt})?Bt:"";function Ye(a){return a.registeredPaths[0]||""}function Sr(a){ye.some(function(n){return n.available&&Ye(n)===a})&&(ht.current=a,ve(a),fa[a]||Vt(a))}function aa(a=N==="project",n=!1){var g=Re.current,x=++Ke.current,C=function(){return g===Re.current&&x===Ke.current};return ma({loading:!0,error:null}),Fa("/workspaces").then(function(E){if(!C())return[];var H=E.items||[];Tt(H),ma({loading:!1,error:null});var Z=H.find(function(D){return D.available&&Ye(D)===ht.current})||H.find(function(D){return D.available&&Ye(D)}),V=Z?Ye(Z):"";return ht.current=V,ve(V),a&&V&&(n||!fa[V])&&Vt(V),H}).catch(function(E){return C()?(Tt([]),ht.current="",ve(""),ma({loading:!1,error:se(e,E)}),[]):[]})}function Vt(a){var n=Re.current,g=(Qe.current[a]||0)+1;Qe.current[a]=g;var x=function(){return n===Re.current&&g===Qe.current[a]};return bt(function(C){return Object.assign({},C,{[a]:{loading:!0,error:null,roots:C[a]?C[a].roots:[]}})}),Fa("/workspace-skills",{method:"POST",headers:Lt,body:JSON.stringify({workspace:a})}).then(function(C){x()&&bt(function(E){return Object.assign({},E,{[a]:{loading:!1,error:null,roots:C.roots||[]}})})}).catch(function(C){x()&&bt(function(E){return Object.assign({},E,{[a]:{loading:!1,error:se(e,C),roots:[]}})})})}function ra(){return Re.current++,bt({}),aa(!0,!0)}function Cr(){Q(Object.assign({},le,{root:"dsh"})),ua(la()),T("create"),aa()}function tr(){L(null),st(null),It(la()),T("import"),aa()}var pt=(dt.writeDestinations||[]).filter(function(a){return a.key==="dsh"||a.key==="agents"});function Nr(a){var n=a.root&&a.root.scope==="project"?a.root.projectRoot:"",g=n?ye.find(function(x){return x.projectRoot===n&&x.available}):void 0;return g?{id:a.id,workspace:g.registeredPaths[0]||g.path}:{id:a.id}}function me(a){return a.root&&a.root.scope==="project"?e("root.projectDsh")+" \xB7 "+(a.root.projectName||a.root.projectRoot):Zr(e,"root."+(a.root?.localeKey||a.root?.key||"dsh"),a.root?.label||e("root.dsh"))}function Pa(a){return o("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},Jn(a))}var Te=[{value:"",label:e("filter.all")}].concat(ta.map(function(a){return{value:a.key,label:e("filter.option",{name:Je(e,a),count:a.skills.length})}}));function Rr(a){return a.linked!==!0?null:o("div",{className:"dssm-note"},e("skill.linked"))}function ar(a){if(!a.fallbackTo)return null;var n=Ot.find(function(g){return g.key===a.fallbackTo.root});return n?o("div",{className:"dssm-note dssm-fallback"},e("status.fallback."+a.fallbackTo.scope,{source:Je(e,n)})):null}function Lr(a,n,g){var x=a==="status.enabled",C=a==="status.disabled",E=a==="status.invalid",H=x?"var(--dsw-alias-state-success-primary, #51b976)":C?"var(--dsw-alias-state-warn-primary, #d49245)":E?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",Z=x?"M8 0a8 8 0 100 16A8 8 0 008 0zm3.28 6.72l-4 4a.75.75 0 01-1.06 0l-2-2a.75.75 0 111.06-1.06L7 9.44l3.47-3.47a.75.75 0 011.06 1.06z":C?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":E?"M8.982 1.566a1.13 1.13 0 00-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 01-1.1 0L7.1 5.995A.905.905 0 018 5zm.002 6a1 1 0 110 2 1 1 0 010-2z":"M8.28 1.34a.75.75 0 00-.56 0l-6.5 2.5a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-6.5-2.5zm5.97 6.41L8 10.15 1.75 7.75l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.2zM14.25 11.5L8 13.9 1.75 11.5l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.19z",V=n||e(a);return o("span",{className:"dssm-status "+(g||""),title:V,"aria-label":V,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:H,width:20,height:20,verticalAlign:"middle"}},o("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},o("path",{d:Z})))}function Ia(a,n,g){var x=function(B){return g?Object.assign({},B,{workspace:g}):B},C=vr(n),E=a.toggleable!==!1,H=n.shadowedBy?"status.shadowed":n.loadable===!1?"status.invalid":C?"status.enabled":"status.disabled",Z=n.shadowedBy?"dssm-shadowed":C?"dssm-enabled":"dssm-disabled",V=!E||!!n.shadowedBy||n.loadable===!1,D=[{value:"detail",label:e("btn.detail")}],de=U.group==="repo"?[]:a.categories||[],ze=n.categoryId||"";de.forEach(function(B){B.id!==ze&&D.push({value:"category:"+B.id,label:e("category.assign",{name:B.name})})}),de.length&&ze!==""&&D.push({value:"category:",label:e("category.assign",{name:e("category.uncategorized")})}),n.installSource&&n.linked!==!0&&D.push({value:"update",label:e("repo.manageUpdate")}),D.push({value:"note",label:e("skill.editNote")}),a.mutable&&n.linked!==!0&&D.push({value:"trash",label:e("btn.trash"),danger:!0});var j=n.shadowedBy?e("status.shadowedBy",{source:function(){var B=Ot.find(function(fe){return fe.key===n.shadowedBy.root});return B?Je(e,B):n.shadowedBy.root}()}):void 0,oe=[o(Et,{action:!0,icon:Mn(),label:e("btn.more"),disabled:b,options:D,onChange:function(B){if(B==="detail"&&Xa(a,n,g),B.indexOf("category:")===0){var fe=B.slice(9),ja=de.find(function(Bo){return Bo.id===fe});$("/category-assign",x({root:a.key,name:n.name,category:fe}),"category.assigned",{name:n.name,category:ja?ja.name:e("category.uncategorized")})}B==="update"&&(ir.focusSource(n.installSource,n.name),S("repositories")),B==="note"&&(ce(n.customNote||""),T({type:"skill-note",root:a.key,name:n.name,note:n.customNote||"",workspace:g})),B==="trash"&&T({type:"trash-confirm",root:a.key,name:n.name,workspace:g})}})];oe.push(o("div",{className:"dssm-row-state"},V?Lr(H,j,Z):null,E?Qr(C,e("skill.toggle")+" "+n.name,b||a.enabled===!1||!C&&n.loadable===!1,function(){$(C?"/disable":"/enable",x({root:a.key,name:n.name}))}):null));var tt=n.declaredName||n.name,he=typeof n.customNote=="string"&&n.customNote.trim().length>0,Me=he?n.customNote:n.description||e("note.missing"),Oe=U.group!=="repo"&&(a.mutable===!0||!!(a.categories&&a.categories.length)),Oo=he?n.description?`${n.customNote}
|
|
63
|
-
(${e("detail.description")}: ${n.description})`:n.customNote:n.description||void 0;return o("div",{key:a.key+":"+n.name,className:"dssm-skill-row",draggable:Oe,onDragStart:U.group==="repo"?void 0:function(B){if(Oe){var fe={root:a.key,name:n.name,currentCategoryId:n.categoryId||""};xe.current=fe,B.dataTransfer.setData("text/plain",JSON.stringify(fe)),B.dataTransfer.effectAllowed="move",B.currentTarget.classList.add("dragging")}},onDragEnd:U.group==="repo"?void 0:function(B){xe.current=null,B.currentTarget.classList.remove("dragging"),na(B.currentTarget)},onDragOver:U.group==="repo"?void 0:function(B){if(!(!xe.current||xe.current.root!==a.key||xe.current.name===n.name)){B.preventDefault(),B.stopPropagation();var fe=B.currentTarget.getBoundingClientRect();B.currentTarget.classList.toggle("drop-before",B.clientY<fe.top+fe.height/2),B.currentTarget.classList.toggle("drop-after",B.clientY>=fe.top+fe.height/2)}},onDragLeave:U.group==="repo"?void 0:function(B){B.currentTarget.classList.remove("drop-before","drop-after")},onDrop:U.group==="repo"?void 0:function(B){B.preventDefault(),B.stopPropagation(),B.currentTarget.classList.remove("drop-before","drop-after");var fe=xe.current;if(xe.current=null,na(B.currentTarget),!(!fe||fe.root!==a.key||fe.name===n.name)){var ja=B.currentTarget.getBoundingClientRect();$("/category-move",x({root:a.key,name:fe.name,category:n.categoryId||"",targetName:n.name,position:B.clientY<ja.top+ja.height/2?"before":"after"}),"category.moved",{name:fe.name})}}},Oe?o("div",{className:"dssm-drag-handle",title:e("category.dragTip")},"\u22EE\u22EE"):null,o("div",{className:"dssm-skill-copy"},o("div",{className:"dssm-name"},tt),o("div",{className:"dssm-skill-desc"+(he?" dssm-custom-note":""),title:Oo},Me),Rr(n),ar(n)),o("div",{className:"dssm-skill-actions"},oe))}var oa=Aa.flatMap(function(a){return(a.skills||[]).map(function(n){return{root:a,skill:n}})}),et=oa.filter(function(a){return(!Le||a.root.key===Le)&&(!U.status||Jr(a.skill)===U.status)&&Yr(Object.assign({},a.skill,{rootLabel:Je(e,a.root)}),te)}),Wt=Ao(oa);function Ta(a,n,g){var x=n?{root:a.key,workspace:n}:{root:a.key},C=[];return U.group!=="repo"&&C.push(Yt(e("category.create"),Ve("M8 2.5v11M2.5 8h11"),function(){Gt(""),T({type:"category-create",root:a.key,workspace:n})},!1,b)),!n&&a.mutable!==!0&&C.push(Yt(e("rootPath.edit"),Ve("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),function(){De(a)},!1,b)),Po(a)&&C.push(o(zn,{on:a.enabled,disabled:b,label:e("source.toggle")+" "+g,onClick:function(){$(a.enabled?"/source-disable":"/source-enable",x)}})),o("span",{className:"dssm-source-actions",onClick:function(E){E.stopPropagation()}},C)}function rr(){return o("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},o("path",{fill:"#f59e0b",d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z"}))}function Er(){return o("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},o("path",{fill:"#fde68a",opacity:.85,d:"M159 768h612.3l103.4-256H262.3z"}),o("path",{fill:"#f59e0b",d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}))}function na(a){var n=a.closest(".dssm-section");n&&Array.prototype.forEach.call(n.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(g){g.classList.remove("drag-over","drop-before","drop-after")})}function Ar(a,n,g,x,C){var E=JSON.stringify(["category",x||"",a.key,n.id||"none"]),H=z[E]===void 0?!!(te||U.status):z[E],Z=n.scope||n.skills,V=Z.filter(function(j){return j.skill.loadable!==!1}),D=V.filter(function(j){return vr(j.skill)}).length,de=V.length>0&&D===V.length,ze=function(j){return g?Object.assign({},j,{workspace:g}):j};return o("section",{key:a.key+":"+(n.id||"none"),className:"dssm-cat","aria-label":n.name,onDragOver:function(j){j.preventDefault(),xe.current&&xe.current.root===a.key&&xe.current.currentCategoryId!==n.id?j.currentTarget.classList.add("drag-over"):j.currentTarget.classList.remove("drag-over")},onDragLeave:function(j){var oe=j.relatedTarget;oe&&j.currentTarget.contains(oe)||j.currentTarget.classList.remove("drag-over")},onDrop:function(j){j.preventDefault(),xe.current=null,j.currentTarget.classList.remove("drag-over"),na(j.currentTarget);try{var oe=JSON.parse(j.dataTransfer.getData("text/plain")||"{}");oe&&oe.name&&oe.root===a.key&&oe.currentCategoryId!==n.id&&$("/category-assign",ze({root:a.key,name:oe.name,category:n.id}),"category.assigned",{name:oe.name,category:n.name})}catch{}}},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":H,onClick:function(){s(function(j){var oe={};return oe[E]=!H,Object.assign({},j,oe)})}},o("span",{className:"dssm-cat-title"},o(H?Er:rr),n.name),o("span",{className:"dssm-count"},e("category.progress",{count:Z.length,enabled:D,usable:V.length}))),o("span",{className:"dssm-source-actions",onClick:function(j){j.stopPropagation()}},n.locked?null:Yt(e("category.addSkills"),Ve("M8 2.5v11M2.5 8h11"),function(){var j={};(a.categories||[]).forEach(function(he){j[he.id]=he.name});var oe=C||n.scope||n.skills,tt=oe.filter(function(he){return he.skill.categoryId!==n.id}).map(function(he){return{name:he.skill.name,declaredName:he.skill.declaredName,description:he.skill.description,currentCatName:he.skill.categoryId&&j[he.skill.categoryId]||e("category.uncategorized")}});m({}),Y(""),T({type:"category-add",root:a.key,id:n.id,name:n.name,workspace:g,skills:tt})},!1,b),n.locked?null:Yt(e("category.rename"),Ve("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){Gt(n.name),T({type:"category-rename",root:a.key,id:n.id,name:n.name,workspace:g})},!1,b),n.locked?null:Yt(e("category.delete"),Ve("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){T({type:"category-delete",root:a.key,id:n.id,name:n.name,workspace:g})},!0,b),Qr(de,e("category.toggle")+" "+n.name,b||a.enabled===!1||V.length===0,function(){$(de?"/category-disable":"/category-enable",ze({root:a.key,category:n.id}))}))),H?n.skills.length?o("div",{className:"dssm-skill-list"},n.skills.map(function(j){return Ia(a,j.skill,g)})):o("div",{className:"dssm-empty"},e("category.empty")):null)}function Pr(a,n,g,x,C){var E=a.categories||[],H=function(j,oe){var tt=a.categoryOrder&&a.categoryOrder[oe]||[],he=Object.create(null);return tt.forEach(function(Me,Oe){he[Me]=Oe}),j.map(function(Me,Oe){return{row:Me,index:Oe,rank:he[Me.skill.name]}}).sort(function(Me,Oe){return Me.rank!==void 0&&Oe.rank!==void 0?Me.rank-Oe.rank:Me.rank!==void 0?-1:Oe.rank!==void 0?1:Me.index-Oe.index}).map(function(Me){return Me.row})};if(!E.length)return n.length?o("div",{className:"dssm-skill-list"},H(n,"").map(function(j){return Ia(a,j.skill,g)})):o("div",{className:"dssm-empty"},e("empty.source"));var Z={},V=C||n;E.forEach(function(j){Z[j.id]=!0});var D=function(j,oe){return H(j.filter(function(tt){return oe?tt.skill.categoryId===oe:!tt.skill.categoryId||!Z[tt.skill.categoryId]}),oe)},de=E.map(function(j){return{id:j.id,name:j.name,locked:!1,skills:D(n,j.id),scope:D(V,j.id)}});de.push({id:"",name:e("category.uncategorized"),locked:!0,skills:D(n,""),scope:D(V,"")});var ze=!!(te||U.status);return o("div",null,o("p",{className:"dssm-note dssm-cat-note"},e("category.note")),de.filter(function(j){return!ze||j.skills.length}).map(function(j){return Ar(a,j,g,x,V)}))}function Ir(a,n,g,x){var C=(g||oa).filter(function(D){return D.root.key===a.key}),E=(g||et).filter(function(D){return D.root.key===a.key});if(Le&&a.key!==Le||(te||U.status)&&!E.length)return null;var H=JSON.stringify([ut,x||"",a.key,te,Le,U.status]),Z=z[H]===void 0?n?!0:!!(te||Le||U.status):z[H],V=n?Je(e,Object.assign({},a,{projectName:void 0})):Je(e,a);return o("section",{key:(x||"")+a.key,className:"dssm-source","data-source-key":a.key},o("div",{className:"dssm-source-head"},o("button",{type:"button",className:"dssm-source-toggle","aria-expanded":Z,onClick:function(){s(function(D){var de={};return de[H]=!Z,Object.assign({},D,de)})}},Oa(o,Z),o("div",{className:"dssm-source-label"},Pa(a.key),o("span",{className:"dssm-source-title"},V),o("span",{className:"dssm-count"},e(Rt("summary.group",E.length),{count:E.length})),a.overridden?o("span",{className:"dssm-source-custom"},e("rootPath.custom")):null,o("span",{className:"dssm-source-path",title:a.overridden?e("rootPath.overrideTitle",{path:a.defaultPath||""}):a.path},a.path))),Ta(a,n,V)),Z?o("div",{className:"dssm-source-body",role:"region"},Pr(a,E,n,x,C)):null)}function or(a){return a.skill.provenance||null}function Tr(a){if(!a)return null;try{var n=new URL(a);return(n.protocol==="https:"||n.protocol==="http:")&&n.hostname?n.href:null}catch{return null}}function zr(){var a=Object.create(null),n=[];return et.forEach(function(g){var x=a[g.root.key];x||(x={key:g.root.key,root:g.root,rows:[],repos:[],hasEvidence:!1},a[g.root.key]=x,n.push(g.root.key)),x.rows.push(g);for(var C=or(g),E=C&&C.repo?C.repo:null,H=C&&C.identity,Z=H||E,V=Z?"repo:"+Z:"none",D=null,de=0;de<x.repos.length;de++)if(x.repos[de].key===V){D=x.repos[de];break}if(D||(D={key:V,kind:Z&&C?C.kind:"root",repo:E||H||null,url:Tr(C&&C.url),fallback:!Z,rows:[],categories:[]},x.repos.push(D)),D.rows.push(g),Z&&C){var ze=C.category||"";D.categories.indexOf(ze)<0&&D.categories.push(ze),x.hasEvidence=!0}}),n.map(function(g){var x=a[g];return x.repos.sort(function(C,E){return C.fallback!==E.fallback?C.fallback?1:-1:String(C.repo||"").localeCompare(String(E.repo||""))}),x})}function Mr(a){return a||e("group.repoRoot")}function mt(a,n){return o("div",{className:"dssm-skill-list"},a.map(function(g){return Ia(g.root,g.skill,n)}))}function Ee(){return!!(te||Le||U.status)}function nr(a,n,g,x,C){var E=JSON.stringify(["provcat",ut,C||"",a.key,n.key,g,te,Le,U.status]),H=z[E]===void 0?Ee():z[E];return o("section",{className:"dssm-cat dssm-prov-cat",key:E},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":H,onClick:function(){s(function(Z){var V={};return V[E]=!H,Object.assign({},Z,V)})}},Oa(o,H),o("span",{className:"dssm-cat-title"},Mr(g)),o("span",{className:"dssm-count"},e(Rt("summary.group",x.length),{count:x.length})))),H?mt(x,C):null)}function sr(a,n,g){var x=JSON.stringify(["provrepo",ut,g||"",a.key,n.key,te,Le,U.status]),C=z[x]===void 0?Ee():z[x],E=n.repo||e("group.unknownSource"),H=n.categories.slice().sort(function(V,D){return V?D?V.localeCompare(D):-1:1}),Z=null;return C&&(!H.length||H.length===1&&!H[0]?Z=mt(n.rows,g):Z=H.map(function(V){var D=n.rows.filter(function(de){var ze=or(de);return(ze&&ze.category||"")===V});return D.length?nr(a,n,V,D,g):null})),o("section",{className:"dssm-cat dssm-prov-repo",key:n.key},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":C,onClick:function(){s(function(V){var D={};return D[x]=!C,Object.assign({},V,D)})}},Oa(o,C),n.repo?Xn(n.url,n.repo):null,o("span",{className:"dssm-cat-title"},E),o("span",{className:"dssm-count"},e(Rt("summary.group",n.rows.length),{count:n.rows.length})),o("span",{className:"dssm-prov-badge",title:e("group.hint")},e("group.evidence."+n.kind))),n.url?o("span",{className:"dssm-source-actions"},o("a",{className:"dssm-icon-action dssm-prov-repo-link",href:n.url,target:"_blank",rel:"noopener noreferrer","aria-label":e("group.openRepo",{repo:n.repo||""}),title:e("group.openRepo",{repo:n.repo||""}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}},Ve("M12 9.5V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3.5m4-1h3.5m0 0v3.5m0-3.5L7 10"))):null),Z)}function za(a,n){var g=JSON.stringify(["provroot",ut,n||"",a.key,te,Le,U.status]),x=z[g]===void 0?!!(n||Ee()):z[g],C=n?Je(e,Object.assign({},a.root,{projectName:void 0})):Je(e,a.root),E=null;return x&&(E=o("div",{className:"dssm-source-body",role:"region"},a.hasEvidence?a.repos.map(function(H){return sr(a,H,n)}):mt(a.rows,n))),o("section",{key:a.key,className:"dssm-source","data-source-key":a.key},o("div",{className:"dssm-source-head"},o("button",{type:"button",className:"dssm-source-toggle","aria-expanded":x,onClick:function(){s(function(H){var Z={};return Z[g]=!x,Object.assign({},H,Z)})}},Oa(o,x),o("div",{className:"dssm-source-label"},Pa(a.root.key),o("span",{className:"dssm-source-title"},C),o("span",{className:"dssm-count"},e(Rt("summary.group",a.rows.length),{count:a.rows.length})),a.hasEvidence?null:o("span",{className:"dssm-prov-badge",title:e("group.noRepo")},e("group.unknownSource")),o("span",{className:"dssm-source-path",title:a.root.path},a.root.path))),Ta(a.root,n,C)),E)}function Ma(a){var n=zr();if(!n.length)return o("div",{className:"dssm-empty"},te||U.status?e("empty.search"):e("empty.source"));var g=Object.create(null);n.forEach(function(E){E.repos.forEach(function(H){H.fallback||(g[H.key]=!0)})});var x=Object.keys(g).length,C=0;return n.forEach(function(E){E.repos.forEach(function(H){H.fallback&&(C+=H.rows.length)})}),o("div",{className:"dssm-sources dssm-provenance"},o("p",{className:"dssm-note dssm-prov-note"},o("strong",null,e("group.provenanceCount",{repos:x,unknown:C}))," ",e("group.hint")),n.map(function(E){return za(E,a)}))}function Hr(){var a=N==="project",n=a?G:void 0,g;if(U.group==="repo")g=Ma(n);else{var x=Aa.map(function(C){return Ir(C,n,void 0,n?n+"|":void 0)}).filter(Boolean);g=x.length?x:o("div",{className:"dssm-empty"},te||U.status?e("empty.search"):e("empty.source"))}return a&&(ee.error?g=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.listFailed",{error:ee.error})):ee.loading||G&&(!Ft||Ft.loading)?g=o("div",{className:"dssm-empty"},e("workspace.loading")):G?Ft?.error?g=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.loadFailed",{error:Ft.error})):!oa.length&&!te&&!U.status&&(g=o("div",{className:"dssm-empty"},e("workspace.noSkills"))):g=o("div",{className:"dssm-empty"},e(ye.length?"workspace.unavailable":"project.empty"))),o("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+N,className:"dssm-sources"},g)}function jr(){return o("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},dt.trash.length?dt.trash.map(function(a){return o("div",{key:a.id,className:"dssm-trash-item",role:"group","aria-label":a.name},o("div",{className:"dssm-trash-main"},o("div",{className:"dssm-name"},a.name),o("div",{className:"dssm-trash-meta"},o("time",{dateTime:a.deletedAt},e("trash.deletedAt",{time:Ro(e,a.deletedAt)})),o("span",{className:"dssm-trash-source"},e("trash.source",{source:me(a)})))),o("div",{className:"dssm-trash-actions"},Yt(e("btn.restore"),Ve("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){$("/trash-restore",Nr(a),"result.restored",{name:a.name}).catch(function(){})},!1,b),Yt(e("btn.delete.forever"),Ve("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){T({type:"delete-confirm",id:a.id,name:a.name})},!0,b)))}):o("div",{className:"dssm-empty"},e("trash.empty")))}var ir=Nn({active:N==="repositories",t:e,onInstalled:function(){return Promise.all([je(!1),ra()])}});function lr(a){var n=a==="user"?"M8 0a8 8 0 100 16A8 8 0 008 0zm6.5 8a6.5 6.5 0 01-.65 2.82L10.3 8.35a.75.75 0 00-1.06 0L8.2 9.4V6.5a.75.75 0 00-.75-.75h-1V4.25a.75.75 0 00-.75-.75h-1a6.47 6.47 0 013.3-1.95v1.2a.75.75 0 00.75.75h1.5a.75.75 0 00.75-.75V2.3A6.52 6.52 0 0114.5 8z":a==="project"?"M1.75 2.5h3.44l1.5 1.5h7.56c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 01-1.75 1.75H1.75A1.75 1.75 0 010 13.25V4.25C0 3.284.784 2.5 1.75 2.5z":a==="repositories"?"M8 0a8 8 0 100 16A8 8 0 008 0zm2.93 5.07l-1.5 4.5a.75.75 0 01-.43.43l-4.5 1.5a.375.375 0 01-.47-.47l1.5-4.5a.75.75 0 01.43-.43l4.5-1.5a.375.375 0 01.47.47z":"M5.5 1.25h5c.4 0 .75.35.75.7V3h2.5c.5 0 .9.4.9.9s-.4.9-.9.9h-.35l-.65 8.1a1.6 1.6 0 0 1-1.6 1.5H4.85a1.6 1.6 0 0 1-1.6-1.5L2.6 4.8H2.25c-.5 0-.9-.4-.9-.9s.4-.9.9-.9H4.75V1.95c0-.4.35-.7.75-.7z";return o("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},o("path",{d:n}))}var cr=["user","project","repositories","trash"].map(function(a){var n=e("scope."+a),g=a==="trash"?(dt.trash||[]).length:0,x=lr(a);return{value:a,id:"dssm-tab-"+a,panelId:"dssm-scope-panel",label:g>0?[x,n,o("span",{className:"dssm-trash-count"},g)]:[x,n]}}),Ha=o(We.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:e("scope.label"),value:N,onChange:function(a){S(a),(a==="project"||a==="trash")&&aa(a==="project"),a==="trash"&&je(!0)},items:cr}),dr=[N==="project"?null:o("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(a){return o("div",{key:a[1],className:"dssm-stat"},o("strong",null,Wt[a[0]]),e(Rt(a[1],Wt[a[0]]),{count:Wt[a[0]]}).replace(String(Wt[a[0]]),""))})),o("div",{key:"filters",className:"dssm-filters"},N==="project"?null:o("div",{className:"dssm-source-filter"},o(Et,{value:Le,label:e("filter.source"),options:Te,onChange:Ea})),o("div",{className:"dssm-group-filter"},o(Et,{value:U.group||"",label:e("group.label"),options:[{value:"",label:e("group.bySource")},{value:"repo",label:e("group.byRepo")}],onChange:function(a){$e("group",a)}})),o("div",{className:"dssm-status-filter"},o(Et,{value:U.status,label:e("filter.status"),options:[{value:"",label:e("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(a){return{value:a,label:e("status."+a)}})),onChange:function(a){$e("status",a)}})),N==="project"?o("div",{className:"dssm-project-filter"},o(Et,{value:G,label:e("filter.workspace"),disabled:ee.loading||!ye.length,options:ye.map(function(a){return{value:Ye(a),label:a.name+(a.available?"":" \xB7 "+(a.errorCode==="ENOENT"||a.errorCode==="ENOTDIR"?e("workspace.missing"):a.errorCode==="EACCES"||a.errorCode==="EPERM"?e("workspace.unreadable"):e("workspace.unavailable")))+(ye.filter(function(n){return n.name===a.name}).length>1?" \xB7 "+Ye(a):""),disabled:!a.available||!Ye(a)}}),onChange:Sr})):null,o(Be,{className:"dssm-search",allowClear:!0,value:te,"aria-label":e("search"),placeholder:e("search.placeholder"),onChange:function(a){er(a.target.value)}}),N!=="trash"?o("div",{className:"dssm-filter-actions"},br(e("btn.refresh"),Ve("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),function(){je(!1),N==="project"&&ra()},b||u.loading),br(e("btn.create"),Ve("M8 2.5v11M2.5 8h11"),Cr,b,e("btn.create")+"\u2026"),br(e("import.global"),Ve("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),tr,b),N==="user"?br(e("rootPath.manage"),Ve("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),La,b,e("rootPath.manage")+"\u2026"):null):null)],Pe=[o("style",{key:"css"},Rn),o("div",{key:"head",className:"dssm-head"},o("div",{className:"dssm-title-block"},o("div",{className:"dssm-title-row"},o("h2",{className:"dssm-title"},e("title")),o("div",{className:"dssm-feedback-links"},o(We.Button,{variant:"outline",size:"sm","aria-label":e("link.project"),icon:o(_n),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},e("link.project")),o(We.Button,{variant:"outline",size:"sm","aria-label":e("link.feedback"),icon:o(wn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},e("link.feedback")))),o("p",{className:"dssm-desc"},e("desc")))),Ha].concat(N==="trash"||N==="repositories"?[]:dr,[R&&k!=="import"?o("div",{key:"result",className:"dssm-feedback"+(R.warning?" dssm-warning":R.ok?"":" dssm-error")},R.text):null],(dt.warnings||[]).map(function(a,n){return o("div",{key:"warning-"+n,className:"dssm-feedback dssm-warning",role:"alert"},se(e,a))}),[u.error?o("div",{key:"error",className:"dssm-feedback dssm-error"},u.error):null,N==="repositories"?ir.content:u.loading&&!u.data?o("div",{key:"loading",className:"dssm-empty"},e("loading")):N==="trash"?jr():Hr()]);if(k==="create"&&Pe.push(o(Xe,{key:"create",title:e("create.title"),closeLabel:e("btn.close"),onClose:function(){T(null)}},o("div",{className:"dssm-form"},o(yo,{t:e,value:ot,disabled:b,allowAgents:!0,workspaces:ye,userDestinations:pt,onChange:function(a){ua(Object.assign({},ot,a))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(a){return o("label",{key:a[0],className:"dssm-field"},o("span",{className:"dssm-label"},e(a[1])),o(Be,{value:le[a[0]],placeholder:e(a[2]),onChange:function(n){Ca(a[0],n.target.value)}}))}),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("create.body")),o(Be.TextArea,{rows:8,value:le.body,placeholder:e("create.body.placeholder"),onChange:function(a){Ca("body",a.target.value)}})),o("p",{className:"dssm-help"},e("create.chat.note"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){T(null)},"outline"),_(e("btn.create.now"),$a,"primary",b||!le.name.trim()||!le.description.trim()||!le.body.trim()||!Qt(ot,ye,pt))))),k==="import"&&Pe.push(o(Xe,{key:"import",className:"dssm-modal-import",title:e("import.title"),closeLabel:e("btn.close"),onClose:function(){Ae.current=!1,st(null),L(null),T(null)}},o("input",{ref:xa,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(a){Na(a.target.files),a.target.value=""}}),o("input",{ref:ea,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(a){Na(a.target.files),a.target.value=""}}),o("div",{className:"dssm-dropzone",onDragOver:function(a){a.preventDefault(),a.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(a){a.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(a){a.preventDefault(),a.currentTarget.classList.remove("dssm-dropzone-active"),Pn(a.dataTransfer).then(Na).catch(function(n){L({ok:!1,text:se(e,n)})})}},o("span",{className:"dssm-dropzone-title"},e("upload.drop.title")),o("span",{className:"dssm-dropzone-copy"},e("upload.drop.copy")),o("div",{className:"dssm-upload-choices"},o("button",{type:"button",className:"dssm-upload-link",disabled:b,onClick:function(a){a.stopPropagation(),Ra(ea)}},e("btn.folder.pick")),o("span",{className:"dssm-upload-divider"},"/"),o("button",{type:"button",className:"dssm-upload-link",disabled:b,onClick:function(a){a.stopPropagation(),Ra(xa)}},e("btn.file.pick")))),ge?o("div",{className:"dssm-file",title:ge.name},o("span",{className:"dssm-file-kind","aria-hidden":"true"},ge.kind==="zip"?"ZIP":ge.kind==="folder"?"DIR":"MD"),o("span",{className:"dssm-file-name"},ge.name),o("span",{className:"dssm-file-meta"},e(Rt("upload.selected",ge.count),{count:ge.count,size:ge.size<1024?ge.size+" B":Math.ceil(ge.size/1024)+" KB"})),o("button",{type:"button",className:"dssm-file-remove","aria-label":e("upload.remove"),onClick:function(){st(null)}},"\xD7")):null,o(yo,{t:e,value:nt,disabled:b,allowAgents:!0,workspaces:ye,userDestinations:pt,onChange:function(a){It(Object.assign({},nt,a))}}),R?o("div",{className:"dssm-feedback"+(R.warning?" dssm-warning":R.ok?"":" dssm-error"),role:"alert"},R.text):null,o("div",{className:"dssm-upload-requirements"},o("div",{className:"dssm-label"},e("upload.requirements")),o("ul",null,o("li",null,e("upload.requirement.skill")),o("li",null,e("upload.requirement.frontmatter")),o("li",null,e("upload.requirement.copy")))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){Ae.current=!1,st(null),L(null),T(null)},"outline"),_(e(b?"upload.importing":"btn.import.now"),Ut,"primary",b||!ge||!Qt(nt,ye,pt))))),k&&typeof k=="object"&&k.type==="root-path"){var ft=k,gt=Ya;Pe.push(o(Xe,{key:"root-path",title:e("rootPath.title",{name:ft.label}),closeLabel:e("btn.close"),onClose:function(){T(null),He(null)}},o("div",{className:"dssm-form"},o("p",{className:"dssm-note"},e("rootPath.desc")),Ct.length>0?o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.source")),o(Et,{value:ft.root,label:e("rootPath.source"),disabled:b,options:Ct.map(function(a){return{value:a.key,label:Je(e,a)}}),onChange:function(a){var n=Ct.find(function(g){return g.key===a});n&&De(n)}})):null,o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.label")),o(Be,{value:Mt,placeholder:e("rootPath.placeholder"),disabled:b,onChange:function(a){ga(a.target.value),He(null)}})),o("div",{className:"dssm-root-path-actions"},_(e("rootPath.browse"),Sa,"outline",b||kr),ft.defaultPath?_(e("rootPath.reset"),function(){Ue(null)},"outline",b):null,ft.root.indexOf("custom:")===0?_(e("customSource.remove"),function(){Ze(ft.root)},"outline",b):null),o("p",{className:"dssm-help"},e("rootPath.defaultHint",{path:ft.defaultPath||ft.path})),Qa?o("div",{className:"dssm-feedback dssm-error",role:"alert"},Qa):null,o("div",{className:"dssm-custom-sources"},o("div",{className:"dssm-custom-source-head"},o("span",{className:"dssm-label"},e("customSource.title")),_(e(yt?"btn.cancel":"customSource.add"),function(){yt?(qe(!1),_e(null),ke(null)):W()},"outline",b||Ne)),o("p",{className:"dssm-help"},e("customSource.desc")),yt?o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("customSource.label")),o(Be,{value:Xt,maxLength:48,placeholder:e("customSource.label.placeholder"),disabled:b||Ne,onChange:function(a){vt(a.target.value)}})),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("customSource.path")),o(Be,{value:it,placeholder:e("customSource.path.placeholder"),disabled:b||Ne,onChange:function(a){ya(a.target.value),ke(null)}})),o("div",{className:"dssm-root-path-actions"},_(e("rootPath.browse"),St,"outline",b||Ne),_(e(Ne?"customSource.scanning":"customSource.scan"),xr,"outline",b||Ne||!(it||"").trim()),_(e("customSource.addOne"),function(){_a([{label:(Xt||"").trim(),path:(it||"").trim()}])},"primary",b||Ne||!(it||"").trim())),wt?o("div",{className:"dssm-feedback dssm-error",role:"alert"},wt):null,gt?o("div",{className:"dssm-custom-scan"},o("p",{className:"dssm-help"},e("customSource.scanResult",{count:gt.candidates.length,path:gt.root})),gt.candidates.length?o("div",{className:"dssm-root-path-actions"},_(e("customSource.addAll"),function(){_a(gt.candidates.filter(function(a){return!a.registered&&!a.conflict}).map(function(a){return{label:a.label,path:a.path,group:a.group}}))},"primary",b||Ne||!gt.candidates.some(function(a){return!a.registered&&!a.conflict}))):null,gt.candidates.map(function(a,n){return o("div",{key:"candidate-"+n,className:"dssm-custom-candidate"},o("div",{className:"dssm-custom-candidate-text"},o("span",{className:"dssm-custom-candidate-name"},a.label),o("span",{className:"dssm-custom-candidate-meta"},a.path+" \xB7 "+e(Rt("customSource.skillCount",a.skillCount),{count:a.skillCount}))),a.registered?o("span",{className:"dssm-custom-candidate-state"},e("customSource.registered")):a.conflict?o("span",{className:"dssm-custom-candidate-state"},e("customSource.conflict")):_(e("customSource.addOne"),function(){_a([{label:a.label,path:a.path,group:a.group}])},"outline",b||Ne))})):null):null)),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){T(null),He(null)},"outline"),_(e("rootPath.save"),function(){Ue((Mt||"").trim())},"primary",b||!(Mt||"").trim()))))}if(k==="detail"){var ie=Dt,ur=ie?ie.declaredName||ie.name:"";Pe.push(o(Xe,{key:"detail",className:"dssm-modal-wide",title:e("detail.title"),closeLabel:e("btn.close"),onClose:function(){xt("idle"),T(null)}},ie?o("div",{className:"dssm-detail"},o("div",{className:"dssm-detail-head"},o("div",{className:"dssm-name",title:ur},ur),ie.body?o(We.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){ie&&ie.body&&ka(ie.body)}},e(Ja==="copied"?"detail.copied":Ja==="failed"?"detail.copyFailed":"detail.copyBody")):null),ie.customNote?o("p",{className:"dssm-desc dssm-custom-note",title:e("detail.customNote")},ie.customNote):null,ie.description?o("p",{className:"dssm-desc"+(ie.customNote?" dssm-desc-secondary":"")},ie.description):null,o("div",{className:"dssm-detail-path"},ie.path),ie.diagnostics.length?ie.diagnostics.map(function(a,n){return o("div",{key:n,className:"dssm-diag"},e(a.code,a.params||{}))}):null,o(Be.TextArea,{className:"dssm-detail-body",readOnly:!0,value:ie.body||"",rows:16})):o("div",{className:"dssm-empty"},e("loading"))))}if(k&&typeof k=="object"&&k.type==="trash-confirm"&&Pe.push(o(Xe,{key:"trash-confirm",title:e("confirm.trash.title"),description:e("confirm.trash.desc",{name:k.name}),closeLabel:e("btn.close"),onClose:function(){T(null)},footer:o(Ba.Fragment,null,_(e("btn.cancel"),function(){T(null)},"outline"),_(e("btn.trash"),function(){$("/delete",Object.assign({root:k.root,name:k.name},k.workspace?{workspace:k.workspace}:{}),"result.trashed",{name:k.name}).then(function(){T(null)}).catch(function(){})},"danger",b))})),k&&typeof k=="object"&&k.type==="delete-confirm"&&Pe.push(o(Xe,{key:"delete-confirm",title:e("confirm.delete.title"),description:e("confirm.delete.desc",{name:k.name}),closeLabel:e("btn.close"),onClose:function(){T(null)},footer:o(Ba.Fragment,null,_(e("btn.cancel"),function(){T(null)},"outline"),_(e("btn.delete.forever"),function(){$("/trash-delete",{id:k.id},"result.deleted",{name:k.name}).then(function(){T(null)}).catch(function(){})},"danger",b))})),k&&typeof k=="object"&&(k.type==="category-create"||k.type==="category-rename")){var sa=k.type==="category-rename",Nt=k,Kt=Ce.trim(),r=!!Kt&&(!sa||Kt!==Nt.name),c=function(){if(!(b||!r)){var a=sa?$("/category-rename",{root:Nt.root,id:Nt.id,name:Kt,workspace:Nt.workspace},"category.renamed"):$("/category-create",{root:Nt.root,name:Kt,workspace:Nt.workspace},"category.created",{name:Kt});a.then(function(){T(null)}).catch(function(){})}};Pe.push(o(Xe,{key:k.type,title:e(sa?"category.rename":"category.create"),closeLabel:e("btn.close"),onClose:function(){T(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("category.name")),o(Be,{value:Ce,maxLength:24,"aria-label":e("category.name"),onChange:function(a){Gt(a.target.value)},onPressEnter:c})),o("p",{className:"dssm-help"},e("category.note"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){T(null)},"outline"),_(e(sa?"btn.confirm":"category.create"),c,"primary",b||!r))))}if(k&&typeof k=="object"&&k.type==="category-add"){var d=k,p=K.trim().toLowerCase(),w=d.skills.filter(function(a){return!p||a.name.toLowerCase().includes(p)||a.declaredName&&a.declaredName.toLowerCase().includes(p)||a.description&&a.description.toLowerCase().includes(p)}),I=new Set(d.skills.map(function(a){return a.name})),O=Object.keys(q).filter(function(a){return q[a]&&I.has(a)}).length;Pe.push(o(Xe,{key:"category-add",title:e("category.selectSkills",{name:d.name}),closeLabel:e("btn.close"),onClose:function(){m({}),Y(""),T(null)}},o(Be,{placeholder:e("search.placeholder"),value:K,allowClear:!0,onChange:function(a){Y(a.target.value)}}),o("div",{className:"dssm-batch-list"},w.length?w.map(function(a){var n=!!q[a.name];return o("div",{key:a.name,className:"dssm-batch-item"+(n?" selected":""),onClick:function(){var g=Object.assign({},q);n?delete g[a.name]:g[a.name]=!0,m(g)}},o("input",{type:"checkbox",checked:n,readOnly:!0}),o("div",{className:"dssm-batch-info"},o("div",{className:"dssm-batch-name-row"},o("span",{className:"dssm-batch-name"},a.declaredName||a.name),a.currentCatName?o("span",{className:"dssm-batch-cat-tag"},a.currentCatName):null),a.description?o("div",{className:"dssm-batch-desc",title:a.description},a.description):null))}):o("div",{className:"dssm-empty"},e("category.noAvailableSkills"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){m({}),Y(""),T(null)},"outline"),_(e("category.addSkills")+(O?" ("+O+")":""),function(){var a=Object.keys(q).filter(function(g){return q[g]&&I.has(g)});if(!a.length){m({}),Y(""),T(null);return}if(!ct.current){var n=function(g){return d.workspace?Object.assign({},g,{workspace:d.workspace}):g};ct.current=!0,v(!0),m({}),Y(""),T(null),a.reduce(function(g,x){return g.then(function(){return i("/category-assign",{method:"POST",headers:Lt,body:JSON.stringify(n({root:d.root,name:x,category:d.id}))})})},Promise.resolve()).then(function(){L({ok:!0,text:e("category.batchAssigned",{count:a.length,category:d.name})})}).catch(function(g){L({ok:!1,text:se(e,g)})}).finally(function(){ct.current=!1,v(!1);var g=d.workspace;Promise.all([je(!0),g?Vt(g):null]).catch(function(){})})}},"primary",b||!O))))}if(k&&typeof k=="object"&&k.type==="skill-note"){var P=k,re=ne.trim(),qt=re!==(P.note||""),pr=function(){if(!(b||!qt)){var a=P.workspace?{root:P.root,name:P.name,note:re,workspace:P.workspace}:{root:P.root,name:P.name,note:re};$("/skill-note",a,re?"note.updated":"note.cleared",{name:P.name}).then(function(){T(null)}).catch(function(){})}};Pe.push(o(Xe,{key:"skill-note",title:e("note.title"),closeLabel:e("btn.close"),onClose:function(){T(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("note.label")),o(Be.TextArea,{value:ne,maxLength:500,rows:4,placeholder:e("note.placeholder"),"aria-label":e("note.label"),onChange:function(a){ce(a.target.value)}})),o("p",{className:"dssm-help"},e("note.help"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){T(null)},"outline"),P.note?_(e("note.clear"),function(){ce("")},"outline",b):null,_(e("btn.confirm"),pr,"primary",b||!qt))))}return k&&typeof k=="object"&&k.type==="category-delete"&&Pe.push(o(Xe,{key:"category-delete",title:e("confirm.category.title"),description:e("confirm.category.desc",{name:k.name}),closeLabel:e("btn.close"),onClose:function(){T(null)},footer:o(Ba.Fragment,null,_(e("btn.cancel"),function(){T(null)},"outline"),_(e("category.delete"),function(){$("/category-delete",{root:k.root,id:k.id,workspace:k.workspace},"category.deleted",{name:k.name}).then(function(){T(null)}).catch(function(){})},"danger",b))})),o("section",{className:"dssm-section"},Pe)}var Uo=null;function xo(){var t=globalThis.__DSH_DIRECTORY_PICKER__;if(t&&typeof t.pick=="function"){var e=t.pick.bind(t);return function(){return e()}}return Uo}var es=["slots","locale"];function ts(t){if(Va=t.locale,typeof t.inject=="function")try{t.inject(["uiWorkspace"],function(A){var J=A.uiWorkspace;if(J&&typeof J.pickDirectory=="function"){var ue=J.pickDirectory.bind(J);Uo=function(){return ue()}}})}catch{}t.effect(function(){return t.locale.register(at,Wa)});var e,i;t.effect(function(){return e=so({endpoint:"/api/michengai/dsh-skills-manager/update",packageName:"@michengai/dsh-skills-manager",titleRowSelector:".dssm-title-row",linksSelector:".dssm-feedback-links",zhName:"\u6280\u80FD",enName:"Skills",createIcon:xn,isEnabled:function(){return i?i.isOnlineUpdateEnabled():!0}}),function(){typeof e=="function"&&e(),e=void 0}},"skills-manager: plugin update ui"),go(t,function(){return t.locale.bind(at)("title")});let l=null,u=null,f=!1,h=!1,b=()=>{if(!(!f||l)&&!(i&&!i.isSettingsSectionEnabled()))try{let A=t.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return t.locale.bind(at)("title")},icon:"skill",locale:at},qr);l=typeof A=="function"?A:()=>{}}catch(A){console.warn("skills-manager: register settings.section failed:",A),l=null}},v=()=>{if(l){try{l()}catch{}l=null}},N=()=>{if(u)return!0;try{let A=t.slots.register({name:"settings.section.icon",id:"skills-manager",locale:at},fo);return u=typeof A=="function"?A:()=>{},!0}catch(A){return console.warn("skills-manager: register settings.section.icon failed:",A),u=null,!1}},S=()=>{h&&(i&&!i.isSettingsSectionEnabled()||N())},z=()=>{let A=u;if(u=null,!!A)try{A()}catch{}},s=()=>{i?.isSettingsSectionEnabled?.()??!0?(b(),S()):(v(),z())};if(typeof t.slots?.inject=="function")try{t.slots.inject("settings.section.icon",function(){h=!0;let A=function(){h=!1,z()};return i&&!i.isSettingsSectionEnabled()||!N(),A})}catch(A){console.warn("skills-manager: inject settings.section.icon failed:",A)}t.slots.inject("settings.section",function(){f=!0;try{if(i&&!i.isSettingsSectionEnabled())return function(){f=!1,v()};let A=t.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return t.locale.bind(at)("title")},icon:"skill",locale:at},qr);return l=typeof A=="function"?A:()=>{},A}catch(A){return console.warn("skills-manager: register settings.section failed:",A),function(){f=!1}}}),i=Kr(t,{callApi:Fa,headers:Lt,renderPanel:function(A){return o(qr,Object.assign({t:t.locale.bind(at)},A))},ns:at,onOnlineUpdateChange:function(){e&&typeof e.refresh=="function"&&e.refresh()},onLocationChange:function(){s()}}),t.effect(function(){return function(){i&&typeof i.destroy=="function"&&(i.destroy(),i=void 0),z(),v()}},"skills-manager: sidebar entry cleanup")}module.exports.formatTrashTime=Ro;module.exports.DICT=Wa;module.exports.translateError=se;module.exports.parseApiResponse=No;module.exports.resolveApiUrl=Ua;module.exports.resolveRepoBrand=Mo;module.exports.isSkillEnabled=vr;module.exports.countKey=Rt;module.exports.rootDisplayName=Je;module.exports.summarizeImportResult=Lo;module.exports.normalizeSkillQuery=Eo;module.exports.matchSkillQuery=Yr;module.exports.filterSkills=Ln;module.exports.visibleSkillRoots=Gr;module.exports.scopeSkillRoots=Io;module.exports.skillStatus=Jr;module.exports.countSkillStatuses=Ao;module.exports.currentSessionId=jo;module.exports.canToggleSource=Po;module.exports.recoverModalFocus=Ho;module.exports.trapModalFocus=Tn;module.exports.inspectUploadSelection=To;module.exports.setupSidebarEntry=Kr;module.exports.apply=ts;module.exports.inject=es;
|
|
62
|
+
`;function Zr(t,e,i,l){var p=t(e,l);return typeof p=="string"&&p!==e?p:i}function se(t,e){if(e instanceof Error&&!e.code)return e.message;if(e&&typeof e=="object"){let g=e;if(g.code){var i=Object.assign({},g.params||{});i.action&&(i.action=Zr(t,"action."+i.action,String(i.action)));var l=t(g.code,i);if(typeof l=="string"&&l!==g.code){if(i.code&&g.code==="error.workspace.unavailable"){var p=xr()==="zh"||!xr()&&l.includes("\uFF1A");return l+(p?"\uFF08"+i.code+"\uFF09":" ("+i.code+")")}return l}if(l===g.code)return g.error!==void 0?se(t,g.error):g.code}if(g.error!==void 0)return se(t,g.error);if(g.message!==void 0)return String(g.message)}return String(e??"")}function No(t){return t.json().catch(function(){var e=new Error("non-json response");throw e.code="error.proto.nonJson",e.params={status:t.status},e}).then(function(e){let i=e;if(!t.ok||i.ok===!1)throw i;return i.data})}function Va(t,e){return fetch(Oa("/api/michengai/dsh-skills-manager"+t),e).then(No)}function kr(t){return t.enabled!==void 0?t.enabled===!0:!!(t.invocationPolicyValid&&t.modelInvocable&&t.userInvocable&&t.managerEnabled!==!1)}function Rt(t,e){return t+(Number(e)===1?".one":".other")}var Wa;function xr(){return Wa?.getLocale?.().active}function Ro(t,e){return new Date(e).toLocaleString(xr()||t("format.locale"))}function Xe(t,e){var i=Zr(t,"root."+(e.localeKey||e.kind||e.key),e.label);return e.projectName?i+" \xB7 "+e.projectName:i}function Lo(t,e){var i=e&&e.imported||[],l=i.map(function(b){return b.name}),p=(e&&e.skipped||[]).map(function(b){return b.name}),g=[];i.forEach(function(b){(b.warnings||[]).forEach(function(v){g.push(se(t,v))})});var h;return l.length&&p.length?h={ok:!0,warning:!0,imported:!0,text:t("result.importPartial",{imported:l.join(", "),skipped:p.join(", ")})}:l.length?h={ok:!0,warning:!1,imported:!0,text:t("result.imported",{names:l.join(", ")})}:p.length?h={ok:!1,warning:!0,imported:!1,text:t("result.importSkipped",{names:p.join(", ")})}:h={ok:!1,warning:!1,imported:!1,text:t("result.importEmpty")},g.length&&(h.warning=!0,h.text=t("result.importWarnings",{result:h.text,warnings:g.join(t("format.warningSeparator"))})),h}function Eo(t){return String(t??"").trim().toLowerCase()}function Yr(t,e){var i=Eo(e);if(!i)return!0;var l=t.provenance;return[t.name,t.declaredName,t.description,t.customNote,t.kind,t.kindLabel,t.statusLabel,t.rootKey,t.rootLabel,l?l.repo:null,l?l.category:null,l?l.path:null].some(function(p){return String(p??"").toLowerCase().includes(i)})}function Ln(t,e){var i=e&&e.rootKey!=null?e.rootKey:"";return t.filter(function(l){return(!i||l.rootKey===i)&&Yr(l,e&&e.query)})}function Gr(t){return(t||[]).filter(function(e){return e.mutable||e.overridden===!0||e.exists!==!1})}function Jr(t){return t.shadowedBy?"shadowed":t.loadable===!1?"invalid":kr(t)?"enabled":"disabled"}function Ao(t){var e={total:t.length,enabled:0,disabled:0,shadowed:0,invalid:0};return t.forEach(function(i){e[Jr(i.skill)]++}),e}function Po(t){return!!(t&&t.toggleable!==!1&&t.kind!=="project-dsh")}function Io(t){return Gr(t).filter(function(e){return e.scope==="project"?!1:e.mutable||e.overridden===!0||(e.skills||[]).length>0})}var vo=32<<20,yr=32<<20,wo=64<<20,ko=1e3;function wr(t){return String(t&&(t._dssmPath||t.webkitRelativePath||t.name)||"").replace(/\\/g,"/")}function To(t){var e=Array.from(t||[]);if(!e.length)return null;if(e.length>ko)return{error:{code:"error.upload.tooMany",params:{limit:ko}}};var i=e.some(function(v){return wr(v).includes("/")});if(i){if(!e.some(function(v){return/(^|\/)skill\.md$/i.test(wr(v))}))return{error:{code:"select.folder.invalid"}};var l=e.find(function(v){return Number(v.size||0)>yr});if(l)return{error:{code:"error.upload.tooLarge",params:{limit:yr}}};var p=e.reduce(function(v,N){return v+Number(N.size||0)},0);return p>wo?{error:{code:"error.upload.tooLarge",params:{limit:wo}}}:{kind:"folder",name:wr(e[0]).split("/")[0],files:e,count:e.length,size:p}}if(e.length!==1)return{error:{code:"select.file.invalid"}};var g=String(e[0].name||""),h=g.toLowerCase(),b=Number(e[0].size||0);return h==="skill.md"?b>yr?{error:{code:"error.upload.tooLarge",params:{limit:yr}}}:{kind:"skill",name:g,files:e,count:1,size:b}:h.endsWith(".zip")?b>vo?{error:{code:"error.upload.archiveTooLarge",params:{limit:vo}}}:{kind:"zip",name:g,files:e,count:1,size:b}:{error:{code:"select.file.invalid"}}}function En(t){for(var e=new Uint8Array(t),i="",l=32768,p=0;p<e.length;p+=l)i+=String.fromCharCode(...e.subarray(p,Math.min(p+l,e.length)));return btoa(i)}function An(t){return Promise.all(t.files.map(function(e){return e.arrayBuffer().then(function(i){return{path:wr(e),data:En(i)}})})).then(function(e){return t.kind==="zip"?{name:t.name,zip:e[0].data}:{name:t.name,entries:e}})}function zo(t,e,i){return t.isFile?new Promise(function(l,p){t.file(function(g){g._dssmPath=e+g.name,i.push(g),l()},p)}):t.isDirectory?new Promise(function(l,p){var g=t.createReader(),h=[];function b(){g.readEntries(function(v){if(!v.length){Promise.all(h.map(function(N){return zo(N,e+t.name+"/",i)})).then(function(){l()},p);return}h=h.concat(v),b()},p)}b()}):Promise.resolve()}function Pn(t){var e=Array.from(t&&t.items||[]),i=e.map(function(p){return p.webkitGetAsEntry&&p.webkitGetAsEntry()}).filter(p=>!!p);if(!i.length)return Promise.resolve(Array.from(t&&t.files||[]));var l=[];return Promise.all(i.map(function(p){return zo(p,"",l)})).then(function(){return l})}function In(t){return Array.prototype.slice.call(t.querySelectorAll('button:not(:disabled), [href], input:not([type=hidden]):not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])')||[])}function Tn(t,e){if(e.key==="Tab"){var i=In(t);if(i.length){var l=document.activeElement;(l===t||!t.contains(l)||(e.shiftKey?l===i[0]:l===i[i.length-1]))&&(e.preventDefault(),(e.shiftKey?i[i.length-1]:i[0]).focus())}}}function zn(t){return Qr(t.on,t.label,t.disabled,t.onClick)}function _(t,e,i="primary",l){return o(Ke.Button,{variant:i==="primary"?"primary":"outline",className:i==="danger"?"dssm-btn-danger":void 0,disabled:l,onClick:e},t)}function We(t){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{d:t,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function Mn(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},[3.5,8,12.5].map(function(t){return o("circle",{key:t,cx:t,cy:8,r:1.15,fill:"none",stroke:"currentColor",strokeWidth:1.5})}))}function Qt(t,e,i,l,p){return o(Ke.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(l?" dssm-icon-danger":""),disabled:p,"aria-label":t,title:t,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:i})}function vr(t,e,i,l,p){return o(Ke.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:l,"aria-label":t,title:p||t,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:i})}function Qr(t,e,i,l){return o("button",{type:"button",role:"switch","aria-checked":t,"aria-label":e,disabled:i,className:"dssm-enable-switch",onClick:function(p){p&&typeof p.stopPropagation=="function"&&p.stopPropagation(),l()}},o("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var Hn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAhKSURBVFhHrZd5bBTXHcdR/6iav5r2zx4q2NjG9q69u/b6Wts4xkaEcCotzQUhhZJSEM1BAkmEqrQEQRCKUm4IRCRgikOgCbRFSlSaQBraSEVKQ8CAMYcMe87xZmfmzZvZ+Va/t15jw+K2Un/SVzN7zPt93vsd8964cUMG4Bsj7r/Z39//7bNnz97//xCNRWMW8zXqC03TSjnnW4QQF4UQuuMIxh3BHC4Y3RfEHee2+GjZxaXbtnPR4nxLQtNKR0EUbmzb7nJdN4O8+UNXeeP7xeQjV1ButLwiyg2N6TgiYxh21ygIXdfLPM9L0B9E3vxickjOnXJ8PlJ8tOzREtKH6yaSyWTZcAgcx9lccO66LsaSIIliEnAKckaL/BZk23kIzp3N0vnJkye/JYQ4PwSQu9PhvXQ3wNgQBRCbOzkZCuF+Tb7HUZYKIbQhAP9OR/eScAXNArbN5eAFCHLOHacoyBCATznBHaFSdRQA9HsBCOGA87yT298J5HJyItJyXm4YwHU9KYLgYgikAMAdWDaXAFQZ5LsAwIoBOI4js71gnucNO9Z0Hac/O4MDBw/jUv+ArAyyS5cH8M7+Xnmfn7UDm3NYtg3PyxGcT1cq2TEBaJZk16/fwFt79mHlqjVYsvRXWL7iBax+5TeYOfdRVNY04YmFv0AqlZYzJTt85BjqW6bio48/kQ5JhUn0X7mGC32X5Qfb5vcGKDg/1Ps+mtu6MaGsBiXlIUysimBiZQQlFWFUh5pRWduMp5c9B8uyJTTZwUNHUFkbQyDSjnUb3kQ6reCDYyewb/8hzJn3FHp6j0oA07SKA9Cyk/Uc7EVJeQ0qg1HU1sVGqBWh+jZ5DUcnS5DHFizB5f4B+dzfznyBSNMUhBs7UdfchYfmPI7qcJsEauucha/OXZAAlm3fDUBNha7nL/Qh2tSOYLgRkWgrQnUxBCPNCISbEQy35BUhxRCKtmNSoAEPzpyHC32XJMQzK19BeaBRAtTUTUZj6zREmrqwfuPvKCQ+dUvOi4SAcy4B1q57HeNLKxGqb0F1TRTlVREEahuHQFoQCBEIKYYaWomGdlTVNmH6rDwEhWPp8udRHYphctcszP7xfGzZvgeMGTIJCYDeKcMADncYJYrneb5pmnhwxlws+vkvcfxPJ9Bz8D2sfe11zJr7UwkTCDXKUARCTaiJtCAcbcfkKQ+hIdYlV6KjayY+PH4CL770a5RURPDiy69C0zRZPfnyFDInRwFYNmeuJ8vLv3UrjmAoih0735LLSaVHDyiKgoOHDqN72mxMCtQhVB+ToaDrzl1v46+fnsaMOY+gIhCVIKEGyo8Y3nhzmxyH27zQKWVNjAIwLc6E68HL5fyr166jJtyA1S+vke9C27ZlPyAQsqtXr+PJp55GRXWdXIlItB2PzV+E0599jr6+S2hspbi3oq7xAYQbOvD+0Q/zAJwXyjv/VhQjAAzTZpzaqOP6yVQaLa0PYPqMudB1hpznSXISDUKmKCqeeHIxKqoiiDS0oaomivUb35C/vbp2A0oqQqhv7kRH90z0XcwnJj0/EoDybhiAGRazuYusafumxbFg4WKUTKzERx//RT5MnazQoAoQ/VcG0DFlunROeUGhWLhoKbqmzZaJSmW64tlVcuVGdteiABozmWkLqHpW/rh9x2587wcTsPBnS6hnyxDQi4R6fT6Z8k3n6B+OYVJ1BLWRFlTXNqC0olb2jfqmDjS0dOKTT0/L/9HzYwKoepZlrTyAZQtcGbiGjs5uTCitwNZtu+Qg5lC36++/goGr1+R3ZKtWr0FpeVCWbDDcJENCML9dt1G24MLSjwmQUQ3GTAeKnvUVLQvXA/Yf+D3KyqsQCIaxZ+8+WUJk7x0+imhTG955t0euhqKqeHje4xhfWoVIfQyVwXosXf7s8IvsvwJIKozpBkdGzfqKbhIIKCTrN2xCaVklyiqqsfKFl/Dlv77Gmb9/Icv0RyWTsGzFc0gmU0in01i8ZBkqqyOoCtZh3qMLsL/nEOLxhIQcCXEXwMmzZ++PpxlTmI2UwvyMlgVJ1U0YJsfW7btRF23C9384HsHaCOoamlETjiIUacTEigA6u6dL0LWvbcCSpSvwk0fmo61jKmLt3Tj+xz//5xyQACmmZzQLyQzz04qBtJoXhcNyPJz+/B9Y8czzaI61oyoQQvmkACoqg6gNR1EXbUb3tJnY+/a79IaDpumgZkahGem4CEB+Q0IAt5K6llRNxFO6n8wwJDMGCiAphcG0XbAsx5dfXcDhIx9g5+692LFrDw709MoGpKpyQ5WvFJc6py91p/ORAK7r5rdktDGMZ4zzac3CzaSWu5XSkUgTRF4pxZBXgjFMAccFPB+0z5dX4fmwbAdG1qLtltwjkmgnJEZs40YAyJ7vukObUrJ4hm22BDAYV8XNpEYgiKfZbRCFViK/GqS0wpBRGRTVgMpMMMOCkbWRtWxYFm2/aLNKvYN6iIAr94rDAHK3Q0eB4XPBucs3ylKqmVANB4MJVQwmtdzNhObfTGp+PKn78bTuJ9KMwuOnFMNPq4afUQ0qWZ96h6abvm6YPjMs38haPnXUrGX7lsV92+byUMIdJ+fQkuRnn6DDkHReOB5dvDI4NZ7SM7YLZHTbTyhZkJJSJtKqCUpURbeg6jY0wwaVrp7lMLIODMsBNTMqX4u7oNbOhQdHeBBuDrlc/mgmhMhomjZ1pO/hm3+eO1d2bTC9dTCuXByMq2y0NHYzSdJZPK2zRFpn1D/SCmPUyBSNlGWanmXU2nWSYTKWtZghZV7Sjey2G5dvyJnf84RMtmnTpvt6T5z47vFTp74zlk79D9rU23tfMV//Btfumph3iobTAAAAAElFTkSuQmCC",jn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAf9SURBVFhHrVdrUJTXGd7RVNgb4BUvqKg1qTUx1WobTczFmmj8007bmU4nPzrtjG3TSWc6bWf6h/udZW9cNYpREYGxYpJJrWljEzKt2XO+2wJyUURAEASBXdjL9+0uuzyd8wErC5lJL7wzz+zZc973fd73Oec7365GM8+SbtVuTXDU2xJIQ2cCqZcTSAOWBmqujgRHg3WlcGXLfM6oGWjdr42kLmAk9VgKbBEasUv6cNG8kdQrBlL/yxhyI6n7hZHUYamwVWjEJ+4hSL5x/OhO06J1BgO5/CuVPNFRn2oktQEjuYylgnWwHW1+NzrkCbTLbpzouLnIx0guK2zLNQZHrc1AarFU2N/ykUraKU/grjyJe8okWvwuPOv8YJGvgdRaNHpS02kgl7BUsA21RYnvKx70Brx4EPDiumsAiZSRPvHVO2raNXpyUdaTGiwFUsUravfdigc9s+T9QR8eBv0YCsp4p8cRG+Oo8bMCsFT4Ux8fJX4Q8GEg6MNg0I9HIRkjIUWd2+W8GhOj0ZMLWAok0osQfKPoC3gXEMsYDSkYnwrAPRXE1bFerKRMgZk4jY6cx/+DVLEBv+t1oGlyaFZuH4aCfgyHZDwOKRibUuCaCmAiHIQnHII3HEK77MKbHR+r8RodeQ//C55vvoqzI53oVibVQ8a6/ipif2QKSiSM4HQEoekIPnYPQKMl1fhvsEG4BPNgSwzxjNz+BXLPkHfIbvQGPJBniaemI4hgGnOm0ZKz+E9xouM6eO9j9AU86A96o3IvJHb6RvFW102s4y9EY9n4tz3/UgufbxotOQOGBFqNdfx5dbwQOnIGv++7pXYyn3g45MfjkByV+64ygZPdTTBSptbiPAzJ/AX83d3/pICd0mX8xdWHFv8YbvvH1QPyT88Qrox1wzbUgj/2fYFTw22zcnsxGPRF5Z4jZuP8hwLW8uegJae/Egn0DFr9YzMFHLrdqH5pk8fRIbtwR3bjnjKB+8qk2vGDgGcR8Yzciip3w1gXdjlroSOno9CTU9DTLwE5FfU5fLsR4elpaJK4sxB9j1XiLmUC3coEegKTC/bZFyM3I6beYRxr/wBaNWkVdLQKelIFPa2CgVTCwD4XglSqPsyXxVQ+aoUmjlSh/FGL2nUssXcRMTtkzOc3PZ/BSFknldDRSugpI6yEkVYggVYgkZYjRXgXb3X9FdvFaiSpczPzbJ35spiNYjU0K0gljnd+iN4Ae6wWyj2v63AA1SNt2MhXI55UQksroKMV0NMKGNXE5UiiZVhJy7GKK4PDM6ju8X3FjRS+EqtpqTrPfJgvi9GTClZAhZrw5kT/lxKzQ9Yf8OBYx/uIdzDfCmjVYJakDAlq0lKspnaspXYkc3as5+wYDHqiJ900cAvr+Zk15rOKK0USKVXjNStIORi+f+ejqNyjqtwzXbMCjnVcQxwpRzwph46UQU/LYFSTsGQsqQ3rORs2cVakcFZs4SzIevBptAAlMoWDLWewmbNgI2dFMmfDGmpDErVD8zVSCoYVpBSfTz6MEk+Gg+r1WTXcrK7FkVJoiR06YoeBsyORWrGKs2ItZ8EGzoLNXAm28iXYwRdjp1CM3WIJuuXRaBEXRwTsEIpVn028GcnUgtXUygqwYw5HO65iIhyAJxyM3tv7Wi8hjtgRT23QERsM1IpEasFPu97HuREnDt8+hy28CTv4IjwjFGE3X4g9QgH2CgV4u6sueunWjFDsFgrxNF+EVN6EFM6EdZwZmqeIDfPBDqEcmUIgElaLWUGsiCNWxFMrdNQKI7Vgu1SpvkyY9QZc2CWU4BtCAZ4T87FPzMcBKQ8HxVwcknLwh+46lPTfwGFnobq2WyzATr4QW/libOBMrAAr5qM/6FGTs0uiW3FjhcOKOGqBllig5yxIJGZs5u2qSnNmfvgp9gh52C/m4qCUg8NSNl6VsnCEwZmljtncC2IO9oq52CUUYAdfiBSumBVglp8iFsyBPTZzbyumhJZaEU/M0BEzjLQESZwJazkT8gY+ixbgCwfxRosVB6VsvKySZuINKQPHnBk41pyhjtncYWcWDkjZeE7Iw04uH1kPPglplpOSzuXEDIbN0mn4IqFoYmb7W2sQR83Q0hIYONNsAUXYxpvQF3BF/WwDf8OLEus2E69L6TjuTMcJZxrebJ4ZH3Vm4BUpE9+RsrBXzId9sAn3lfGAZrnDZF1OSsBgGqIx5MwaxjoRR0ugo8UwUhNW0iKs45h8+fhZVx3Cs+/4k13v4SUpA685M/C6Mw3HnWk40TwDNj7qTMcrUgbe7jqPu/KwmvuG646k0Xxh2bSMFMvLiAnXxu8u5Fe3Y9/t84inxdDTIiTSIqzhCrCBL8BWPg8vt9pxpNWOvWI2vitmqkW8KqXhNWcaviel4YgzXR3/pM2Cf7jbonnZ3WAe+fyQ+u9omaPo58tIMaqGpRjyObvh7kY8KYKOK0ICLcQqmo9kPh8pfB62CTl4RsjGswKTNgsHxEy8IGXgRTEdL0npONqci/OPmhCYt7XsgF98LFyK+X+4zFF08gdd154c7QX2w7t/hpYrhIEWIokWYA2Xh/V8LjbzudjO5+BpIRvfFLOwh8/Et8QMfFvMRHpvI0ZCsb+ARkPeadPDpvIY8jlLdNpSr453cvcUV4A9AfNtKORFqlQGLS2AgeYjieZhNZeLZC4Hm/gcbOFzsE3IxteFTPy48wyc3ie/epRICL3KWPC6q118p6fx+fmc/wYNNEiugm3b7wAAAABJRU5ErkJggg==",Dn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAflSURBVFhH7Vd7UFNXGicPwiMSWsiCiCwiLM+UQkEeIYhS5JkQEoJJQCCIdKW7uLCjYot1akFueAZ5BJUBpLxBQKpjrUWrLq517bYznXG1aylV3gjyUJRX8u2cG0IRYXHc7R87s7/JnXPPd07O7zu/833nnKuh8X/8L4FAIBBVBV4usaOfBgG9Epe1/WpAXuClinhZ28u2/wrc4iR5ESfk3Ua2Nh6oTiQSSaikkInkpvdY5259EHjHzcLQDW8jEIhEogaRTCKQl4/zSsB1JpHIhAUSPWNj87jWZth76SIEHD3SgWxkEomCSh9rI58ZeRRAeSwUCF3kyKalSdR+YbgVlFoVL60xkYjPIjjzWOfuthaIrq+d1d9oaq1uPxhgnzZVLIYnRSIQuv5WrLY7bta12xNkFLs4zqssjZpcW1+fbhMYEK+po0NVt9mFBL8f/9lZQI+zcOfHantL4taLz0oioT+HP21nomeDbO62696ePOs+Cbd94FTKZlwVIkFjjQBdCCwShaLFyZbeTuy4BLzCgnuGlpZOyK5Lp2+IrKl6EtfWAvxC2T+RqvraZL27n4QOIgX+9qH/PdTPyZLKmGr3nJq74AnwlRd8Xci4oRp+DQXUs6fS6aaSM00Q29wIqJQ0N4E9OyQJtbH2JVXjKrQ2g749g+myXpcxdlwIs3IxHOM65pkbUTY8afKanj/HBLjkBV1Vzl10GvkN9F8S8RVSVO3Eegd7prC8bGj32TbYVVszl3DhPDAT95Zt8maFRzc1wJ72Vngr4ffFiZ5mcdPySBjJCwcp3yHrnoz58/yZ7aD4zBsG61yHzI0pG9F4miSCJirXXAakEYlExDvr0PTe9P8o7WLC+XbYVfPpXHx7G0ScOtEjOl0xGdNYB+zSE32tB9m3JvP48BDjzg7L2IqxUwEwU+cHj6u9nlqZaFssHVubokrJVZditVRh8PmpkpYmiGmsh9iGWoipq4ao6ipFdHUl3JFFwzAWquzLCoM+aahypDAE7udv7bcw0sJn7s2geX4gMj14Jdu+Y7jZdTDY7Y0AZCcRCXh6L0JNrkMhUdw3G7jYmdBszQyoZgZULQPUc6MjgxUmL/5J0NAI/No6RVB9MySVFykHsVBFnxSRc5W9GFc5ks+BUglDXiCxLuouc++FCyyAqyyADibANz7wl3yHays6oN7DT+5yr5qRo5QKn3mA8Z78kB766PuPOb1Xk1idVw5z/9FR8kdoL/qT8lN5qvK6bI9yGOMAcqBfysWfvizO/OTJYICWQJht2Qaz7SyAyyyAL5kw0rxlJIVvsg/nI74cC7gC3x4Ovg+nYmCyUIRvLKicOC6EySIxTMgEMJ7FgXEpGyawEBhZTi7lKvH3HLaivyBgZrzcD7pLPR5kRJsdcbLStl8kWikG1ArssFvvXxfvdbb9fZ+Oa/v9vvvucFD3/fTQ0YFs/twDLOx5TxZvri87HHqz+dCXxYN+3IFfnj5pmLJfyoOezLD5Hixs/sdPOGMXk3xvlojdKlP8bFOZloaeuBMrxdtKnlEpJB06lWJI0yZT4zzNYx5mcib7ETlOpJq9KgZwB5T9WVzoxbiKcZkApkuEMF6wE1dyqkQMU8WR8LRYBCwrujca+6U4UBvRgxQhL6QjQtJ2q5TuDM5TRP4IYyuHFuRHsqP3ASxU2YuFKQZyONAv8392fKdjcV64c+k3H/rf78vmTU8UCuFpcSSg+HLbZICfmCs6gLBUHocNNLvLKb5fPy8SwlCuACalbLieF6esKDqgHMQ4OHn18WTFD3liGJaG4tI/LgmCewWeP7/rqI/P1IKuuynkLRPOETbjWBzTYs9yjhewtCH5XZv9w7nhisf5EfC4QAi9RwPHTmKJPezaBigqSVOMZwbBQCZHkVhZDAcyku+OZgRO9+eEI2Xmp2t3AHy5DbLizbEXGdaAWpb8iHeKlCd3wUB2uPK5PBK+SPS6uo3lFMmtqBzn1dTCBdlexURmENzFBHNJ9WWwNTX5/H5fqwMzJSLowXizg3mhiqlW5jzc8IZOGeO6qSHFGI1LIRPxO8SqIBFV22VFrEctVEpgMFcwf9DfLg0lrl8mdnt3cwNEVlfB3/NiYCIzSHkzXwL7agogvSJtSmudNvV0jFvDtFwMDzPDZ0dLQ+DZebdZuOoFg02uA5tNtMzR2P/2PFBngpGe1m8OBdp/9I65gSuqeyTEyxPaW0BUXweSrCPfd6Wzx8ayuHA5N2okp/rQzFfn/gBMV9Mg1Pfbw0FdKOh6McHcWOWOebjmCdDJAnfbdS6ofc1TcXk6WrGYEeg6hs6BoMKinwJdLQWjOTwYzxfAMZFTblN5xIORKwLA3rOWof4MU5rDYC5/7lF+BIzmR8CZQ/YNHE993LmVdsAVgachQYNE1iRr7iw7MSRpaYb4tjNAtbHfEuNsIn5eGgXjBQLY+js6qzHD+XPo3A43ZOjiofKd52zKmy4Rwc3UHXdIC5yrpt2qWLghOYuF6eg0dBFFZKB6cZR75bQ8CoZy+XM0CoWaEWd6FP7qBVPntjyzWK9lpv67gwnNXl9Hk4be1feB14auwZvGau2SfK2ToTwGLv/Z9xaqsxz0POC6J3SdfvtHw19uP4uz/Y8/VtS3JPXHCIK7hcEWY5qWkbruZKnLoNPIBqp+qnVAxMvj6bWxlHwplnyWLdZf7PErAUm8lAyl1uuQ/wtXmaOWiiPiDAAAAABJRU5ErkJggg==",Un="M23.376 14.458v-4.056c0-2.304-1.003-4.154-2.748-5.075L11.612.574l-.046.086-.045.086c1.68.886 2.644 2.673 2.644 4.902v4.056a7.928 7.928 0 01-.014.454l-.005.061c-.005.081-.01.164-.018.245a4.897 4.897 0 01-.011.1l-.01.076c-.008.068-.015.135-.025.203l-.018.113-.01.058a9.99 9.99 0 01-.098.513l-.007.03a7.209 7.209 0 01-.074.294l-.024.086c-.027.099-.056.197-.087.296l-.027.085a9.592 9.592 0 01-.111.323l-.033.085-.018.046c-.032.082-.064.166-.098.248-.019.048-.04.096-.061.145l-.007.017a6 6 0 01-.084.187c-.024.056-.05.11-.077.165-.03.061-.058.122-.089.182a9.423 9.423 0 01-.176.332c-.03.056-.062.111-.094.167-.031.053-.062.108-.095.16-.033.055-.066.11-.101.164-.033.053-.065.104-.1.155-.034.055-.07.107-.111.169l-.099.144a15.193 15.193 0 01-.34.457c-.04.05-.08.102-.121.151l-.107.128-.007.008a6.987 6.987 0 01-.262.298l-.149.16-.116.12a9.562 9.562 0 01-.204.198l-.03.03-.072.069a9.05 9.05 0 01-.263.235l-.025.022-.029.026-.042.035a11.7 11.7 0 01-.22.18l-.07.055-.018.013a8.904 8.904 0 01-.194.146c-.029.02-.057.042-.086.063a7.7 7.7 0 01-.22.152l-.057.04a8.865 8.865 0 01-.293.185l-.062.037a10.424 10.424 0 01-.307.173l-.037.02-.196.103-.108.052-.012.006a6.196 6.196 0 01-.315.143c-.065.028-.13.054-.196.08l-.035.014-.086.034c-.07.026-.143.05-.215.075l-.039.014-.064.023a8.056 8.056 0 01-.323.097l-.63.173a7.285 7.285 0 01-.33.08l-.07.015c-.053.012-.104.023-.157.032l-.065.011-.085.015a2.332 2.332 0 01-.194.027l-.085.01a4.715 4.715 0 01-.16.018l-.034.003a4.861 4.861 0 01-.246.016h-.033a2.714 2.714 0 01-.155.005h-.106a3.384 3.384 0 01-.225-.007H4.86l-.15-.012-.066-.006a5.586 5.586 0 01-.187-.02l-.04-.005a5.14 5.14 0 01-.219-.035l-.054-.01a6.943 6.943 0 01-.347-.082l-.03-.008-.038-.01a5.034 5.034 0 01-.269-.086l-.063-.023a4.216 4.216 0 01-.188-.073l-.071-.031-.016-.007a4.959 4.959 0 01-.16-.074l-.026-.013a.164.164 0 00-.014-.007l-.671-.351.486.486h.016l8.995 4.742.093.048.03.014.02.01c.056.026.111.052.169.076l.016.008.073.032.195.076.022.008a.718.718 0 01.03.012l.014.004a4.693 4.693 0 00.323.1l.027.007c.073.02.147.038.22.055l.018.004.027.006.066.013.088.016c.075.014.15.026.226.038l.042.004c.064.009.128.016.193.022l.126.012.06.003.05.002.098.005c.046.002.094.002.14.003h.12c.05 0 .1-.002.161-.005h.033l.07-.004a6.17 6.17 0 00.184-.014l.033-.003a.753.753 0 00.058-.005l.108-.012.081-.01.08-.01.129-.021.082-.014.071-.012c.054-.01.107-.021.16-.033l.066-.013.059-.013c.096-.022.192-.046.287-.073l.63-.172a7.354 7.354 0 00.397-.122l.04-.015c.075-.025.149-.051.222-.078.032-.011.062-.024.093-.037l.03-.012c.067-.027.135-.054.2-.082l.128-.056.195-.09.021-.01.102-.05c.068-.034.135-.069.202-.105l.037-.02.073-.038c.08-.044.16-.092.24-.139l.026-.015a8.086 8.086 0 00.322-.2l.065-.045 1.98.902a1.748 1.748 0 002.472-1.59v-7.33l.004.004z",On="M11.617.576a3.904 3.904 0 00-.093-.047c-.016-.009-.033-.016-.05-.024a5.854 5.854 0 00-.166-.077l-.09-.04a4.094 4.094 0 00-.194-.074c-.017-.006-.035-.015-.053-.02l-.013-.005a5.18 5.18 0 00-.277-.088l-.07-.019a4.034 4.034 0 00-.219-.053c-.015-.003-.03-.008-.044-.012L10.253.1l-.057-.011a5.177 5.177 0 00-.225-.036L9.928.047a5.972 5.972 0 00-.191-.022L9.669.02a1.33 1.33 0 00-.058-.005L9.515.009a4.058 4.058 0 00-.111-.005C9.354 0 9.304 0 9.254 0h-.109c-.052 0-.106.004-.16.004L8.884.01A5.32 5.32 0 008.7.022l-.083.006h-.008c-.05.005-.1.013-.15.019l-.12.014c-.056.008-.112.018-.169.028-.037.006-.074.011-.11.018a7.054 7.054 0 00-.572.133l-.63.172c-.111.031-.22.064-.33.1-.037.011-.072.025-.108.037a12.91 12.91 0 00-.345.126c-.067.027-.133.054-.2.083l-.128.055a11.916 11.916 0 00-.318.15 7.376 7.376 0 00-.311.163c-.082.045-.16.092-.24.14a9.424 9.424 0 00-.35.218l-.016.01-.06.04a9.242 9.242 0 00-.51.37 12.54 12.54 0 00-.315.254l-.043.034-.01.007-.045.041c-.09.078-.18.158-.268.24l-.106.101c-.07.067-.139.135-.207.204l-.056.054-.063.067-.153.164-.12.133-.148.17c-.024.03-.049.057-.073.086l-.043.053a5.96 5.96 0 00-.123.155l-.118.151c-.04.053-.08.106-.118.16l-.075.101-.038.056-.107.155-.11.164a9.91 9.91 0 00-.168.265c-.012.02-.023.043-.037.063a12.43 12.43 0 00-.192.335l-.09.168c-.019.034-.04.07-.057.105-.011.022-.02.043-.032.065l-.092.188-.08.167a19.15 19.15 0 00-.083.192c-.017.038-.035.076-.05.115-.008.016-.014.034-.021.051-.035.083-.067.167-.1.253l-.051.134c-.04.11-.077.22-.113.33l-.02.057c0 .002 0 .005-.002.007l-.008.026c-.032.1-.06.2-.09.301l-.023.089c-.027.1-.052.2-.075.301l-.007.03a7.63 7.63 0 00-.057.267l-.008.048c-.015.074-.026.148-.038.223L.082 8.4c-.011.078-.02.156-.029.234-.006.051-.013.103-.017.154a6.57 6.57 0 00-.02.26c-.003.044-.007.086-.009.13-.004.128-.007.257-.007.386v4.056c0 1.478.42 2.741 1.138 3.692A4.75 4.75 0 002.73 18.67l9.015 4.753c-1.656-.874-2.728-2.685-2.73-5.051v-4.056c0-.13.004-.26.01-.39.002-.043.006-.085.01-.128.005-.088.01-.174.019-.261l.017-.155c.01-.077.018-.155.029-.234l.026-.164c.013-.074.025-.15.039-.223.02-.105.04-.21.064-.313l.008-.031c.023-.1.048-.201.075-.301l.023-.088c.028-.1.058-.202.09-.302l.008-.025.021-.063c.036-.11.073-.22.113-.33l.052-.134c.031-.085.065-.169.1-.253.022-.056.047-.111.07-.166a13.856 13.856 0 01.164-.358c.03-.063.06-.126.092-.188l.088-.172a9.22 9.22 0 01.187-.338l.096-.164c.034-.057.069-.112.104-.168l.1-.159a10.49 10.49 0 01.567-.786l.123-.155.116-.139c.05-.057.098-.115.148-.171a14.092 14.092 0 01.272-.297 9.706 9.706 0 01.432-.425c.088-.083.177-.163.268-.241l.054-.048a10.08 10.08 0 01.553-.435l.092-.068c.075-.053.15-.105.226-.156.019-.013.038-.028.06-.04a9.18 9.18 0 01.362-.227c.08-.047.16-.094.241-.139l.11-.058a7.643 7.643 0 01.521-.256l.126-.056a7.509 7.509 0 01.546-.208l.107-.037c.11-.036.22-.069.33-.1l.63-.172c.095-.026.191-.05.287-.072l.097-.02c.062-.014.125-.029.187-.04l.114-.018c.055-.01.11-.02.166-.028.04-.006.08-.01.12-.014.053-.007.105-.014.157-.019l.083-.006c.061-.005.123-.01.184-.013.034-.003.067-.003.101-.004l.16-.006h.11a3.187 3.187 0 01.261.008l.153.01.067.007c.064.006.128.013.192.022l.043.005a5.232 5.232 0 01.281.047l.141.03c.073.016.146.035.218.053l.07.019c.094.026.187.055.278.087l.067.025a4.326 4.326 0 01.449.19l.143.072L11.617.576z",Bn="M6.13671 5.82399V4.30398C6.13671 4.17596 6.18431 4.07991 6.29527 4.01598L9.32406 2.256C9.73637 2.01602 10.228 1.90406 10.7353 1.90406C12.6382 1.90406 13.8434 3.3921 13.8434 4.97604C13.8434 5.088 13.8434 5.21602 13.8274 5.34404L10.6877 3.488C10.4975 3.37605 10.3071 3.37605 10.1168 3.488L6.13671 5.82399ZM13.209 11.7441V8.11195C13.209 7.88789 13.1138 7.72791 12.9236 7.61594L8.94344 5.27995L10.2437 4.5279C10.3547 4.46397 10.4499 4.46397 10.5609 4.5279L13.5896 6.28789C14.4619 6.79996 15.0484 7.88789 15.0484 8.94385C15.0484 10.1598 14.335 11.28 13.209 11.7441ZM5.20114 8.54404L3.90086 7.77608C3.78989 7.71215 3.7423 7.6161 3.7423 7.48808V3.96811C3.7423 2.25615 5.04259 0.960061 6.80278 0.960061C7.46883 0.960061 8.08714 1.18413 8.61056 1.58409L5.48672 3.40816C5.29649 3.52012 5.20129 3.68011 5.20129 3.90418L5.20114 8.54404ZM7.99999 10.176L6.13671 9.12005V6.8801L7.99999 5.82414L9.8631 6.8801V9.12005L7.99999 10.176ZM9.19719 15.0401C8.53113 15.0401 7.91282 14.816 7.3894 14.4161L10.5132 12.5919C10.7034 12.48 10.7987 12.3201 10.7987 12.096V7.45596L12.1149 8.22392C12.2258 8.28785 12.2734 8.3839 12.2734 8.51192V12.0319C12.2734 13.7438 10.9572 15.0401 9.19719 15.0401ZM5.43898 11.4721L2.41018 9.71211C1.53796 9.20003 0.95134 8.11211 0.95134 7.05615C0.95134 5.82414 1.68077 4.72016 2.80657 4.25611V7.9041C2.80657 8.12817 2.90177 8.28815 3.092 8.40012L7.05637 10.72L5.75609 11.4721C5.64513 11.5361 5.54993 11.5361 5.43898 11.4721ZM5.26465 14.0961C3.47278 14.0961 2.15658 12.736 2.15658 11.056C2.15658 10.928 2.17249 10.8 2.18826 10.672L5.3121 12.4961C5.50234 12.608 5.69273 12.608 5.88297 12.4961L9.8631 10.1762V11.6962C9.8631 11.8242 9.8155 11.9202 9.70454 11.9841L6.67574 13.7441C6.26344 13.9841 5.77199 14.0961 5.26465 14.0961ZM9.19719 16C11.1159 16 12.7174 14.624 13.0823 12.8C14.8582 12.3359 16 10.6559 16 8.944C16 7.82396 15.5243 6.73603 14.668 5.95201C14.7473 5.61598 14.7949 5.27995 14.7949 4.94407C14.7949 2.65612 12.9554 0.944002 10.8305 0.944002C10.4025 0.944002 9.99013 1.00794 9.57782 1.15201C8.86416 0.447988 7.88099 0 6.80278 0C4.88403 0 3.28254 1.37593 2.91768 3.19999C1.14173 3.66404 0 5.34404 0 7.056C0 8.17604 0.475669 9.26397 1.33197 10.048C1.25269 10.384 1.20509 10.72 1.20509 11.0559C1.20509 13.3438 3.04456 15.0559 5.16946 15.0559C5.59753 15.0559 6.00984 14.9921 6.42215 14.848C7.13565 15.552 8.11882 16 9.19719 16Z",Fn="M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z",Vn="M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z",Wn="M24 20.541H3.428v-3.426H0V3.4h24V20.54zM3.428 17.115h17.144V6.827H3.428v10.288zm8.573-5.196l-2.425 2.424-2.424-2.424 2.424-2.424 2.425 2.424zm6.857-.001l-2.424 2.423-2.425-2.423 2.425-2.425 2.424 2.425z",Kn="M20.113 5.5l-.442 1.557a.157.157 0 01-.196.106l-7.414-2.157a.16.16 0 00-.143.028l-7.342 5.74a.159.159 0 01-.074.032l-4.37.656a.154.154 0 00-.132.162l.02.245c.005.078.071.14.152.141l5.074.128.058.002 3.75-1.953a.16.16 0 01.164.01l2.657 1.847a.152.152 0 01.066.125l-.023 2.45c0 .032.01.063.028.089l3.737 5.227c.03.04.077.065.129.065h1.182a.153.153 0 00.14-.224l-2.664-4.919a.15.15 0 01.005-.152l1.389-2.169a.156.156 0 01.062-.055l4.965-2.456a.16.16 0 01.158.01l1.418.921a.16.16 0 00.087.026h1.289c.125 0 .2-.136.13-.237l-3.578-5.29c-.074-.109-.246-.082-.282.044z",qn="M18.777 1.647c.28-.02.536.114.972.51 1.018.926 2.437 2.828 3.318 4.452l.34.631.482.24.11.06v3.638a5.206 5.206 0 00-5.32-1.23c-.491.166-1.021.471-2.08 1.082l-6.09 3.516c-1.057.61-1.586.916-1.975 1.259a5.208 5.208 0 00-1.493 5.572c.165.49.471 1.02 1.082 2.08l.315.543h-3.26c-.685 0-1.34-.135-1.939-.377-.169-.956-.009-1.789.469-2.335.158-.18.164-.189.13-.493a11.846 11.846 0 01-.057-1.711l.02-.444-.667-1.18C2.1 15.622 1.445 14.078 1.192 12.9c-.133-.647-.125-.934.04-1.146.1-.128.427-.261.822-.334.994-.175 3.162-.017 5.575.41l.25.043.551-.487c.915-.81 1.522-1.264 2.641-1.962 1.167-.73 2.484-1.331 3.967-1.807l.476-.152.261-.688c.937-2.471 1.896-4.293 2.58-4.9.235-.21.25-.22.422-.23z",Qn="M12.139 18.2a1.203 1.203 0 011.642.44l1.296 2.243a1.204 1.204 0 01-2.083 1.203l-1.296-2.243a1.203 1.203 0 01.44-1.644zM18.629 14.452a1.203 1.203 0 011.642.44l1.295 2.244a1.203 1.203 0 11-2.083 1.203l-1.295-2.243a1.203 1.203 0 01.44-1.644z",Zn="M16.877 1.912c.58-.27 1.14-.323 1.616-.037a.317.317 0 01-.326.542c-.227-.136-.547-.153-1.022.068-.352.165-.765.45-1.234.866 2.683 1.17 4.4 3.5 5.148 5.921a6.421 6.421 0 00-.704.184c-.578.016-1.174.204-1.502.735-.338.55-.268 1.276.072 2.069l.005.012.007.014c.523 1.045 1.318 1.91 2.2 2.284-.912 3.274-3.44 6.144-5.972 6.988v2.109h-2.11v-2.11c-1.043.417-2.086.01-2.11 0v2.11h-2.11v-2.11c-2.531-.843-5.061-3.713-5.973-6.987.882-.373 1.678-1.238 2.2-2.284l.007-.014.006-.012c.34-.793.41-1.518.071-2.069-.327-.531-.923-.719-1.503-.735a6.409 6.409 0 00-.704-.183c.749-2.421 2.466-4.751 5.149-5.922-.47-.416-.88-.701-1.234-.866-.474-.221-.794-.204-1.021-.068a.318.318 0 01-.435-.109.317.317 0 01.109-.433c.476-.286 1.036-.233 1.615.037.49.229 1.031.628 1.621 1.182A9.924 9.924 0 0112 2.568c1.199 0 2.284.19 3.256.526.59-.554 1.13-.953 1.62-1.182zM8.835 6.577a1.266 1.266 0 100 2.532 1.266 1.266 0 000-2.532zm6.33 0a1.267 1.267 0 100 2.533 1.267 1.267 0 000-2.533z",Yn="M.395 13.118c-.966-1.932-.163-3.863 2.41-3.365v-.001l.05.01c.084.018.17.038.26.06.033.009.067.017.1.027.084.022.168.048.255.076l.09.027c.528 0 .95.158 1.16.501.212.343.212.87-.105 1.61-.085.17-.178.333-.276.489l-.01.017a4.967 4.967 0 01-.62.791l-.019.02c-1.092 1.117-2.496 1.336-3.295-.262z",Gn="M21.193 9.753c2.574-.5 3.378 1.433 2.411 3.365-.58 1.159-1.476 1.361-2.342.96l-.011-.005a2.419 2.419 0 01-.114-.056l-.019-.01a2.751 2.751 0 01-.115-.067l-.023-.014c-.035-.022-.071-.044-.106-.068l-.05-.035c-.55-.388-1.062-1.007-1.44-1.76-.276-.647-.311-1.132-.174-1.472.176-.439.636-.639 1.23-.639.032-.011.066-.02.099-.03.08-.026.16-.05.238-.072l.117-.03a5.502 5.502 0 01.3-.067z";function Jn(t){var e=String(t||"").toLowerCase();return e.includes("dsh")?o("img",{src:Hn,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("workbuddy")?o("img",{src:jn,width:16,height:16,alt:"WorkBuddy",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("ccswitch")||e.includes("cc-switch")?o("img",{src:Dn,width:16,height:16,alt:"CC Switch",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("qoder")||e.includes("lingma")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#2ADB5C",d:Un}),o("path",{fill:"#ffffff",d:On})):e.includes("codex")?o("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:Bn})):e.includes("cursor")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",fillRule:"evenodd",d:Fn})):e.includes("claude")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#D97757",fillRule:"evenodd",clipRule:"evenodd",d:"M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z"})):e.includes("gemini")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#3b82f6",d:"M12 2C12 7.5 7.5 12 2 12c5.5 0 10 4.5 10 10 0-5.5 4.5-10 10-10-5.5 0-10-4.5-10-10z"})):e.includes("opencode")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:"M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})):e.includes("copilot")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"currentColor",d:"M12 2a8 8 0 0 0-8 8v4a4 4 0 0 0 4 4h1v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2h1a4 4 0 0 0 4-4v-4a8 8 0 0 0-8-8zm-3 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm6 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"})):e.includes("windsurf")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#00d084",fillRule:"evenodd",clipRule:"evenodd",d:Vn})):e.includes("trae")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#32F08C",d:Wn})):e.includes("openclaw")||e.includes("clawdbot")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#FF4D4D",fillRule:"evenodd",d:Zn}),o("path",{fill:"#FF4D4D",d:Yn}),o("path",{fill:"#FF4D4D",d:Gn})):e.includes("roo")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#eab308",fillRule:"evenodd",d:Kn})):e.includes("codebuddy")?o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("rect",{width:24,height:24,rx:5,fill:"#2EA99D"}),o("path",{fill:"#ffffff",d:qn}),o("path",{fill:"#ffffff",d:Qn})):o("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},o("path",{fill:"#10b981",d:"M12 2a2 2 0 0 1 2 2c0 .74-.4 1.39-1 1.73V7h2a5 5 0 0 1 5 5v1a3 3 0 0 1 1 2.23V17a3 3 0 0 1-3 3h-1.1A6 6 0 0 1 12 22a6 6 0 0 1-4.9-2H6a3 3 0 0 1-3-3v-1.77A3 3 0 0 1 4 13v-1a5 5 0 0 1 5-5h2V5.73A2 2 0 0 1 10 4a2 2 0 0 1 2-2zm-3 10a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm6 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-6 5a4 4 0 0 0 6 0H9z"}))}function Mo(t,e){var i=(t||e||"").trim();if(!i)return"GitHub";var l="";try{/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(i)?l=new URL(i).hostname.toLowerCase():/^git@[^:]+:/.test(i)&&(l=i.slice(4).split(":")[0].toLowerCase())}catch{l=""}if(l)return l==="github.com"||l.endsWith(".github.com")?"GitHub":l==="gitee.com"||l.endsWith(".gitee.com")?"Gitee":l==="gitlab.com"||l.endsWith(".gitlab.com")||l.includes("gitlab")?"GitLab":"Git";var p=i.toLowerCase();return p.startsWith("gitee.com/")||p.startsWith("gitee:")?"Gitee":p.startsWith("gitlab.com/")||p.startsWith("gitlab:")?"GitLab":p.startsWith("github.com/")||p.startsWith("github:")||/^[a-z0-9_.-]+\/[a-z0-9_.-]+$/i.test(i)?"GitHub":"Git"}function Xn(t,e){var i=Mo(t,e),l="0 0 16 16",p="M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z";return i==="Gitee"?(l="0 0 24 24",p="M11.984 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6.09 5.333c.328 0 .593.266.592.593v1.482a.594.594 0 0 1-.593.592H9.777c-.982 0-1.778.796-1.778 1.778v5.63c0 .327.266.592.593.592h5.63c.982 0 1.778-.796 1.778-1.778v-.296a.593.593 0 0 0-.592-.593h-4.15a.59.59 0 0 1-.592-.592v-1.482a.593.593 0 0 1 .593-.592h6.815c.327 0 .593.265.593.592v3.408a4 4 0 0 1-4 4H5.926a.593.593 0 0 1-.593-.593V9.778a4.444 4.444 0 0 1 4.445-4.444h8.296Z"):i==="GitLab"?(l="0 0 24 24",p="m23.6 9.593l-.033-.086L20.3.98a.85.85 0 0 0-.336-.405a.875.875 0 0 0-1 .054a.9.9 0 0 0-.29.44L16.47 7.818H7.537L5.333 1.07a.86.86 0 0 0-.29-.441a.875.875 0 0 0-1-.054a.86.86 0 0 0-.336.405L.433 9.502l-.032.086a6.066 6.066 0 0 0 2.012 7.01l.01.009l.03.021l4.977 3.727l2.462 1.863l1.5 1.132a1.01 1.01 0 0 0 1.22 0l1.499-1.132l2.461-1.863l5.006-3.75l.013-.01a6.07 6.07 0 0 0 2.01-7.002"):i==="Git"&&(l="0 0 24 24",p="M23.546 10.93L13.067.452a1.55 1.55 0 0 0-2.188 0L8.708 2.627l2.76 2.76a1.838 1.838 0 0 1 2.327 2.341l2.658 2.66a1.838 1.838 0 0 1 1.9 3.039a1.837 1.837 0 0 1-2.6 0a1.85 1.85 0 0 1-.404-1.996L12.86 8.955v6.525c.176.086.342.203.488.348a1.85 1.85 0 0 1 0 2.6a1.844 1.844 0 0 1-2.609 0a1.834 1.834 0 0 1 0-2.598c.182-.18.387-.316.605-.406V8.835a1.834 1.834 0 0 1-.996-2.41L7.636 3.7L.45 10.881c-.6.605-.6 1.584 0 2.189l10.48 10.477a1.545 1.545 0 0 0 2.186 0l10.43-10.43a1.544 1.544 0 0 0 0-2.187"),o("span",{className:"dssm-brand-icon","aria-hidden":!0,title:i},o("svg",{viewBox:l,width:16,height:16,fill:"currentColor",focusable:"false"},o("path",{d:p})))}function _n(){return o("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},o("path",{fill:"currentColor",d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))}function Ho(t,e,i){t&&e===i&&t.focus()}function _e(t){var e=M.useRef(null),i=M.useRef(t.onClose);i.current=t.onClose;function l(){var p=e.current;if(p){var g=p.querySelector("input, textarea");if(g instanceof HTMLElement){g.focus();return}p.tabIndex=-1,p.focus()}}return M.useLayoutEffect(function(){if(!(typeof document>"u")){var p=e.current;p&&Ho(p,document.activeElement,document.body)}}),M.useEffect(function(){if(typeof document>"u")return;function p(g){g.key==="Escape"&&(g.preventDefault(),g.stopImmediatePropagation(),i.current())}return document.addEventListener("keydown",p,!0),function(){document.removeEventListener("keydown",p,!0)}},[]),o(Ke.Modal,{open:!0,title:t.title,description:t.description,footer:t.footer,onClose:t.onClose,closeLabel:t.closeLabel||"Close",className:["dssm-modal",t.className].filter(Boolean).join(" "),contentClassName:["dssm-modal-content",t.contentClassName].filter(Boolean).join(" ")},t.children?o("div",{ref:e},t.children):void 0)}function jo(t){if(t){for(var e=t.byId||{},i=Array.isArray(t.ids)&&t.ids.length?t.ids:Object.keys(e),l=0;l<i.length;l++){var p=e[i[l]];if(p&&p.retainedBy&&p.retainedBy.mainView)return i[l]}for(var g in e)if(i.indexOf(g)===-1&&e[g]&&e[g].retainedBy&&e[g].retainedBy.mainView)return g}}function Do(t){return typeof t=="function"?t:Wa&&typeof Wa.bind=="function"?Wa.bind(rt):function(e,i){var l=Ka.zh||{},p=l[e]||e;if(!i)return p;var g=i;return p.replace(/\{(\w+)\}/g,function(h,b){return String(g[b]??"{"+b+"}")})}}function qr(t){var e=Do(t&&t.t),i=t&&t.useSessions?t.useSessions(jo):void 0,l=M.useState("user"),p=M.useState({}),g=M.useState({});return o($n,Object.assign({},t,{t:e,key:i||"no-session",sessionId:i,scope:l[0],setScope:l[1],savedFilters:p[0],setSavedFilters:p[1],expanded:g[0],setExpanded:g[1]}))}function $n(t){var e=Do(t&&t.t);function i(a,n){var u=Object.fromEntries(new Headers(n?.headers).entries());return t.sessionId&&(u["x-dsh-skills-session"]=t.sessionId),Va(a,Object.assign({},n,{headers:u}))}var l=M.useState({loading:!0,error:null,data:null}),p=l[0],g=l[1],h=M.useState(!1),b=h[0],v=h[1],N=t.scope,C=t.setScope,z=t.expanded,s=t.setExpanded,A=t.savedFilters,J=t.setSavedFilters,ue=M.useState(null),k=ue[0],I=ue[1],be=M.useState(""),K=be[0],Y=be[1],pe=M.useState({}),q=pe[0],f=pe[1],X=M.useState(null),R=X[0]&&X[0].scope===N?X[0]:null;function L(a){X[1](a?Object.assign({},a,{scope:N}):null)}var ae=M.useState({root:"dsh",name:"",description:"",body:""}),ie=ae[0],Q=ae[1],la=M.useState(""),Ce=la[0],Zt=la[1],At=M.useState(""),oe=At[0],le=At[1],ot=M.useState(sa()),nt=ot[0],ca=ot[1],Pt=M.useState(sa()),st=Pt[0],It=Pt[1],da=M.useState([]),ye=da[0],Tt=da[1],y=M.useState(""),G=y[0],ve=y[1],ht=M.useRef(""),qe=M.useRef(0),qa=M.useState({loading:!1,error:null}),ee=qa[0],ua=qa[1],we=M.useState({}),pa=we[0],bt=we[1],Qa=M.useState(null),ge=Qa[0],it=Qa[1],zt=M.useState(""),Mt=zt[0],ma=zt[1],fa=M.useState(!1),Sr=fa[0],Ht=fa[1],Yt=M.useState(null),Za=Yt[0],He=Yt[1],Ya=M.useState(!1),yt=Ya[0],Qe=Ya[1],ga=M.useState(""),lt=ga[0],ha=ga[1],jt=M.useState(""),Gt=jt[0],vt=jt[1],ba=M.useState(null),Ga=ba[0],$e=ba[1],ya=M.useState(!1),Ne=ya[0],ct=ya[1],Jt=M.useState(null),wt=Jt[0],ke=Jt[1],kt=M.useState(null),Dt=kt[0],Ja=kt[1],Xt=M.useState("idle"),Xa=Xt[0],xt=Xt[1];function va(a){if(typeof navigator>"u"||!navigator.clipboard){xt("failed");return}navigator.clipboard.writeText(a).then(function(){xt("copied"),setTimeout(function(){xt("idle")},1500)}).catch(function(){xt("failed")})}var dt=M.useRef(!1),xe=M.useRef(null),wa=M.useRef(null),_t=M.useRef(null),Ee=M.useRef(!1),Ze=M.useRef({}),Re=M.useRef(0);M.useEffect(function(){return function(){Re.current++}},[]);function je(a){return a||g({loading:!0,error:null,data:p.data}),i("/state").then(function(n){return g({loading:!1,error:null,data:n}),n}).catch(function(n){g({loading:!1,error:se(e,n),data:p.data})})}M.useEffect(function(){je(!1)},[]);function $(a,n,u,S){return dt.current?Promise.reject({error:"operation already in progress"}):(dt.current=!0,v(!0),L(null),i(a,{method:"POST",headers:Lt,body:JSON.stringify(n||{})}).then(function(x){L({ok:!0,text:u?e(u,S||x||{}):e("result.updated")});var E=n&&typeof n.workspace=="string"?n.workspace:"";return Promise.all([je(!0),E?Vt(E):null]).then(function(){return x})}).catch(function(x){throw L({ok:!1,text:e("error.action",{error:se(e,x)})}),x}).finally(function(){dt.current=!1,v(!1)}))}function _a(a,n,u){v(!0),Ja(null),xt("idle"),I("detail"),i("/detail",{method:"POST",headers:Lt,body:JSON.stringify(u?{root:a.key,name:n.name,workspace:u}:{root:a.key,name:n.name})}).then(Ja).catch(function(S){L({ok:!1,text:e("error.action",{error:se(e,S)})}),I(null)}).finally(function(){v(!1)})}function De(a){ma(a.path||""),Ht(!1),He(null),I({type:"root-path",root:a.key,label:Xe(e,a),path:a.path||"",defaultPath:a.defaultPath})}function ka(){var a=xo();if(!a){He(e("rootPath.pickUnavailable"));return}He(null),Ht(!0),Promise.resolve().then(a).then(function(n){typeof n=="string"&&n.trim()&&ma(n.trim())}).catch(function(n){He(se(e,n))}).finally(function(){Ht(!1)})}function Ue(a){var n=k&&typeof k=="object"&&k.type==="root-path"?k:null;n&&(He(null),$("/root-path",{key:n.root,path:a},a===null?"rootPath.resetDone":"rootPath.saved",{name:n.label}).then(function(){I(null)}).catch(function(u){He(se(e,u))}))}function W(){Qe(!0),ke(null),$e(null)}function St(){var a=xo();if(!a){ke(e("rootPath.pickUnavailable"));return}ke(null),ct(!0),Promise.resolve().then(a).then(function(n){typeof n=="string"&&n.trim()&&ha(n.trim())}).catch(function(n){ke(se(e,n))}).finally(function(){ct(!1)})}function Cr(){var a=(lt||"").trim();a&&(ct(!0),ke(null),i("/custom-source-scan",{method:"POST",headers:Lt,body:JSON.stringify({path:a})}).then(function(n){$e(n)}).catch(function(n){$e(null),ke(se(e,n))}).finally(function(){ct(!1)}))}function $a(a){var n=a.filter(function(u){return u&&u.path});!n.length||Ne||(ct(!0),ke(null),L(null),i("/custom-source-add",{method:"POST",headers:Lt,body:JSON.stringify({sources:n})}).then(function(u){var S=u&&Array.isArray(u.added)?u.added.length:n.length;return je(!0).then(function(){L({ok:!0,text:e("customSource.added",{count:S})}),$e(null),ha(""),vt(""),Qe(!1)})}).catch(function(u){ke(se(e,u))}).finally(function(){ct(!1)}))}function Ye(a){if(!b){var n=Mt;$("/custom-source-remove",{id:a},"customSource.removed").then(function(){return i("/state").then(function(u){g({loading:!1,error:null,data:u});var S=(u&&Array.isArray(u.roots)?u.roots:[]).filter(function(E){return!E.mutable&&E.scope!=="project"&&E.key!==a}),x=S.find(function(E){return E.custom})||S[0];x?De(x):I(null),n&&$e(function(E){return E?Object.assign({},E,{candidates:E.candidates.map(function(j){return j.path===n?Object.assign({},j,{registered:!1}):j})}):null})})}).catch(function(u){He(se(e,u))})}}function xa(a,n){Q(Object.assign({},ie,{[a]:n}))}function er(){Kt(nt,ye,mt)&&$("/create",Object.assign({},ie,{root:void 0},gr(nt)),null).then(function(a){I(null),Q({root:"dsh",name:"",description:"",body:""}),L({ok:!0,text:e("result.created",{name:a.name})+(nt.scope==="workspace"?" \xB7 "+e("dest.createdInWorkspace"):"")})}).catch(function(){})}function Sa(a){Ee.current=!1;var n=To(a);if(n){if(n.error){it(null),L({ok:!1,text:se(e,n.error)});return}it(n),L(null)}}function Ca(a){if(b||Ee.current||!a.current)return;Ee.current=!0,a.current.value="";function n(){setTimeout(function(){Ee.current=!1},0)}window.addEventListener("focus",n,{once:!0}),a.current.click(),setTimeout(function(){Ee.current=!1},3e4)}function Ut(){!ge||!Kt(st,ye,mt)||An(ge).then(function(a){return $("/upload",Object.assign({},a,gr(st)),null)}).then(function(a){var n=Lo(e,a);L({ok:n.ok,warning:n.warning,text:n.text}),n.imported&&(I(null),it(null))}).catch(function(){})}var ut=p.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},Ot=ut.roots||[],Ct=Ot.filter(function(a){return!a.mutable&&a.scope!=="project"});function Na(){if(Ct.length){var a=Le&&Ct.find(function(n){return n.key===Le})||Ct[0];De(a)}}var pt=N==="project"?"project":"user",O=A[pt]||{query:"",source:"",status:""},te=O.query,Bt=O.source;function et(a,n){J(function(u){return Object.assign({},u,{[pt]:Object.assign({},O,{[a]:n})})})}function tr(a){et("query",a)}function Ra(a){et("source",a)}var Ft=pa[G],La=N==="trash"?[]:N==="project"?Gr(Ft?.roots||[]):Io(Ot),$t=La.filter(function(a){return(a.skills||[]).length>0}),Le=N!=="project"&&$t.some(function(a){return a.key===Bt})?Bt:"";function Ge(a){return a.registeredPaths[0]||""}function Nr(a){ye.some(function(n){return n.available&&Ge(n)===a})&&(ht.current=a,ve(a),pa[a]||Vt(a))}function ea(a=N==="project",n=!1){var u=Re.current,S=++qe.current,x=function(){return u===Re.current&&S===qe.current};return ua({loading:!0,error:null}),Va("/workspaces").then(function(E){if(!x())return[];var j=E.items||[];Tt(j),ua({loading:!1,error:null});var Z=j.find(function(U){return U.available&&Ge(U)===ht.current})||j.find(function(U){return U.available&&Ge(U)}),V=Z?Ge(Z):"";return ht.current=V,ve(V),a&&V&&(n||!pa[V])&&Vt(V),j}).catch(function(E){return x()?(Tt([]),ht.current="",ve(""),ua({loading:!1,error:se(e,E)}),[]):[]})}function Vt(a){var n=Re.current,u=(Ze.current[a]||0)+1;Ze.current[a]=u;var S=function(){return n===Re.current&&u===Ze.current[a]};return bt(function(x){return Object.assign({},x,{[a]:{loading:!0,error:null,roots:x[a]?x[a].roots:[]}})}),Va("/workspace-skills",{method:"POST",headers:Lt,body:JSON.stringify({workspace:a})}).then(function(x){S()&&bt(function(E){return Object.assign({},E,{[a]:{loading:!1,error:null,roots:x.roots||[]}})})}).catch(function(x){S()&&bt(function(E){return Object.assign({},E,{[a]:{loading:!1,error:se(e,x),roots:[]}})})})}function ta(){return Re.current++,bt({}),ea(!0,!0)}function Rr(){Q(Object.assign({},ie,{root:"dsh"})),ca(sa()),I("create"),ea()}function ar(){L(null),it(null),It(sa()),I("import"),ea()}var mt=(ut.writeDestinations||[]).filter(function(a){return a.key==="dsh"||a.key==="agents"});function Lr(a){var n=a.root&&a.root.scope==="project"?a.root.projectRoot:"",u=n?ye.find(function(S){return S.projectRoot===n&&S.available}):void 0;return u?{id:a.id,workspace:u.registeredPaths[0]||u.path}:{id:a.id}}function me(a){return a.root&&a.root.scope==="project"?e("root.projectDsh")+" \xB7 "+(a.root.projectName||a.root.projectRoot):Zr(e,"root."+(a.root?.localeKey||a.root?.key||"dsh"),a.root?.label||e("root.dsh"))}function Ea(a){return o("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},Jn(a))}var Ie=[{value:"",label:e("filter.all")}].concat($t.map(function(a){return{value:a.key,label:e("filter.option",{name:Xe(e,a),count:a.skills.length})}}));function Er(a){return a.linked!==!0?null:o("div",{className:"dssm-note"},e("skill.linked"))}function rr(a){if(!a.fallbackTo)return null;var n=Ot.find(function(u){return u.key===a.fallbackTo.root});return n?o("div",{className:"dssm-note dssm-fallback"},e("status.fallback."+a.fallbackTo.scope,{source:Xe(e,n)})):null}function Ar(a,n,u){var S=a==="status.enabled",x=a==="status.disabled",E=a==="status.invalid",j=S?"var(--dsw-alias-state-success-primary, #51b976)":x?"var(--dsw-alias-state-warn-primary, #d49245)":E?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",Z=S?"M8 0a8 8 0 100 16A8 8 0 008 0zm3.28 6.72l-4 4a.75.75 0 01-1.06 0l-2-2a.75.75 0 111.06-1.06L7 9.44l3.47-3.47a.75.75 0 011.06 1.06z":x?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":E?"M8.982 1.566a1.13 1.13 0 00-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 01-1.1 0L7.1 5.995A.905.905 0 018 5zm.002 6a1 1 0 110 2 1 1 0 010-2z":"M8.28 1.34a.75.75 0 00-.56 0l-6.5 2.5a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-6.5-2.5zm5.97 6.41L8 10.15 1.75 7.75l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.2zM14.25 11.5L8 13.9 1.75 11.5l-.5.19a.75.75 0 000 1.41l6.5 2.5a.75.75 0 00.56 0l6.5-2.5a.75.75 0 000-1.41l-.56-.19z",V=n||e(a);return o("span",{className:"dssm-status "+(u||""),title:V,"aria-label":V,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:j,width:20,height:20,verticalAlign:"middle"}},o("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},o("path",{d:Z})))}function Aa(a,n,u){var S=function(B){return u?Object.assign({},B,{workspace:u}):B},x=kr(n),E=a.toggleable!==!1,j=n.shadowedBy?"status.shadowed":n.loadable===!1?"status.invalid":x?"status.enabled":"status.disabled",Z=n.shadowedBy?"dssm-shadowed":x?"dssm-enabled":"dssm-disabled",V=!E||!!n.shadowedBy||n.loadable===!1,U=[{value:"detail",label:e("btn.detail")}],de=O.group==="repo"?[]:a.categories||[],ze=n.categoryId||"";de.forEach(function(B){B.id!==ze&&U.push({value:"category:"+B.id,label:e("category.assign",{name:B.name})})}),de.length&&ze!==""&&U.push({value:"category:",label:e("category.assign",{name:e("category.uncategorized")})}),n.installSource&&n.linked!==!0&&U.push({value:"update",label:e("repo.manageUpdate")}),U.push({value:"note",label:e("skill.editNote")}),a.mutable&&n.linked!==!0&&U.push({value:"trash",label:e("btn.trash"),danger:!0});var D=n.shadowedBy?e("status.shadowedBy",{source:function(){var B=Ot.find(function(fe){return fe.key===n.shadowedBy.root});return B?Xe(e,B):n.shadowedBy.root}()}):void 0,re=[o(Et,{action:!0,icon:Mn(),label:e("btn.more"),disabled:b,options:U,onChange:function(B){if(B==="detail"&&_a(a,n,u),B.indexOf("category:")===0){var fe=B.slice(9),Da=de.find(function(Bo){return Bo.id===fe});$("/category-assign",S({root:a.key,name:n.name,category:fe}),"category.assigned",{name:n.name,category:Da?Da.name:e("category.uncategorized")})}B==="update"&&(ur.focusSource(n.installSource,n.name),C("repositories")),B==="note"&&(le(n.customNote||""),I({type:"skill-note",root:a.key,name:n.name,note:n.customNote||"",workspace:u})),B==="trash"&&I({type:"trash-confirm",root:a.key,name:n.name,workspace:u})}})];re.push(o("div",{className:"dssm-row-state"},V?Ar(j,D,Z):null,E?Qr(x,e("skill.toggle")+" "+n.name,b||a.enabled===!1||!x&&n.loadable===!1,function(){$(x?"/disable":"/enable",S({root:a.key,name:n.name}))}):null));var at=n.declaredName||n.name,he=typeof n.customNote=="string"&&n.customNote.trim().length>0,Me=he?n.customNote:n.description||e("note.missing"),Be=O.group!=="repo"&&(a.mutable===!0||!!(a.categories&&a.categories.length)),Oo=he?n.description?`${n.customNote}
|
|
63
|
+
(${e("detail.description")}: ${n.description})`:n.customNote:n.description||void 0;return o("div",{key:a.key+":"+n.name,className:"dssm-skill-row",draggable:Be,onDragStart:O.group==="repo"?void 0:function(B){if(Be){var fe={root:a.key,name:n.name,currentCategoryId:n.categoryId||""};xe.current=fe,B.dataTransfer.setData("text/plain",JSON.stringify(fe)),B.dataTransfer.effectAllowed="move",B.currentTarget.classList.add("dragging")}},onDragEnd:O.group==="repo"?void 0:function(B){xe.current=null,B.currentTarget.classList.remove("dragging"),Ia(B.currentTarget)},onDragOver:O.group==="repo"?void 0:function(B){if(!(!xe.current||xe.current.root!==a.key||xe.current.name===n.name)){B.preventDefault(),B.stopPropagation();var fe=B.currentTarget.getBoundingClientRect();B.currentTarget.classList.toggle("drop-before",B.clientY<fe.top+fe.height/2),B.currentTarget.classList.toggle("drop-after",B.clientY>=fe.top+fe.height/2)}},onDragLeave:O.group==="repo"?void 0:function(B){B.currentTarget.classList.remove("drop-before","drop-after")},onDrop:O.group==="repo"?void 0:function(B){B.preventDefault(),B.stopPropagation(),B.currentTarget.classList.remove("drop-before","drop-after");var fe=xe.current;if(xe.current=null,Ia(B.currentTarget),!(!fe||fe.root!==a.key||fe.name===n.name)){var Da=B.currentTarget.getBoundingClientRect();$("/category-move",S({root:a.key,name:fe.name,category:n.categoryId||"",targetName:n.name,position:B.clientY<Da.top+Da.height/2?"before":"after"}),"category.moved",{name:fe.name})}}},Be?o("div",{className:"dssm-drag-handle",title:e("category.dragTip")},"\u22EE\u22EE"):null,o("div",{className:"dssm-skill-copy"},o("div",{className:"dssm-name"},at),o("div",{className:"dssm-skill-desc"+(he?" dssm-custom-note":""),title:Oo},Me),Er(n),rr(n)),o("div",{className:"dssm-skill-actions"},re))}var aa=La.flatMap(function(a){return(a.skills||[]).map(function(n){return{root:a,skill:n}})}),or=aa.filter(function(a){return(!Le||a.root.key===Le)&&(!O.status||Jr(a.skill)===O.status)&&Yr(Object.assign({},a.skill,{rootLabel:Xe(e,a.root)}),te)}),Oe=Ao(aa);function Pa(a,n,u){var S=n?{root:a.key,workspace:n}:{root:a.key},x=[];return O.group!=="repo"&&x.push(Qt(e("category.create"),We("M8 2.5v11M2.5 8h11"),function(){Zt(""),I({type:"category-create",root:a.key,workspace:n})},!1,b)),!n&&a.mutable!==!0&&x.push(Qt(e("rootPath.edit"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),function(){De(a)},!1,b)),Po(a)&&x.push(o(zn,{on:a.enabled,disabled:b,label:e("source.toggle")+" "+u,onClick:function(){$(a.enabled?"/source-disable":"/source-enable",S)}})),o("span",{className:"dssm-source-actions",onClick:function(E){E.stopPropagation()}},x)}function nr(){return o("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},o("path",{fill:"#f59e0b",d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z"}))}function sr(){return o("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},o("path",{fill:"#fde68a",opacity:.85,d:"M159 768h612.3l103.4-256H262.3z"}),o("path",{fill:"#f59e0b",d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}))}function Ia(a){var n=a.closest(".dssm-section");n&&Array.prototype.forEach.call(n.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(u){u.classList.remove("drag-over","drop-before","drop-after")})}function ir(a,n,u,S,x){var E=JSON.stringify(["category",S||"",a.key,n.id||"none"]),j=z[E]===void 0?!!(te||O.status):z[E],Z=n.scope||n.skills,V=Z.filter(function(D){return D.skill.loadable!==!1}),U=V.filter(function(D){return kr(D.skill)}).length,de=V.length>0&&U===V.length,ze=function(D){return u?Object.assign({},D,{workspace:u}):D};return o("section",{key:a.key+":"+(n.id||"none"),className:"dssm-cat","aria-label":n.name,onDragOver:function(D){D.preventDefault(),xe.current&&xe.current.root===a.key&&xe.current.currentCategoryId!==n.id?D.currentTarget.classList.add("drag-over"):D.currentTarget.classList.remove("drag-over")},onDragLeave:function(D){var re=D.relatedTarget;re&&D.currentTarget.contains(re)||D.currentTarget.classList.remove("drag-over")},onDrop:function(D){D.preventDefault(),xe.current=null,D.currentTarget.classList.remove("drag-over"),Ia(D.currentTarget);try{var re=JSON.parse(D.dataTransfer.getData("text/plain")||"{}");re&&re.name&&re.root===a.key&&re.currentCategoryId!==n.id&&$("/category-assign",ze({root:a.key,name:re.name,category:n.id}),"category.assigned",{name:re.name,category:n.name})}catch{}}},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":j,onClick:function(){s(function(D){var re={};return re[E]=!j,Object.assign({},D,re)})}},o("span",{className:"dssm-cat-title"},o(j?sr:nr),n.name),o("span",{className:"dssm-count"},e("category.progress",{count:Z.length,enabled:U,usable:V.length}))),o("span",{className:"dssm-source-actions",onClick:function(D){D.stopPropagation()}},n.locked?null:Qt(e("category.addSkills"),We("M8 2.5v11M2.5 8h11"),function(){var D={};(a.categories||[]).forEach(function(he){D[he.id]=he.name});var re=x||n.scope||n.skills,at=re.filter(function(he){return he.skill.categoryId!==n.id}).map(function(he){return{name:he.skill.name,declaredName:he.skill.declaredName,description:he.skill.description,currentCatName:he.skill.categoryId&&D[he.skill.categoryId]||e("category.uncategorized")}});f({}),Y(""),I({type:"category-add",root:a.key,id:n.id,name:n.name,workspace:u,skills:at})},!1,b),n.locked?null:Qt(e("category.rename"),We("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){Zt(n.name),I({type:"category-rename",root:a.key,id:n.id,name:n.name,workspace:u})},!1,b),n.locked?null:Qt(e("category.delete"),We("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){I({type:"category-delete",root:a.key,id:n.id,name:n.name,workspace:u})},!0,b),Qr(de,e("category.toggle")+" "+n.name,b||a.enabled===!1||V.length===0,function(){$(de?"/category-disable":"/category-enable",ze({root:a.key,category:n.id}))}))),j?n.skills.length?o("div",{className:"dssm-skill-list"},n.skills.map(function(D){return Aa(a,D.skill,u)})):o("div",{className:"dssm-empty"},e("category.empty")):null)}function Pr(a,n,u,S,x){var E=a.categories||[],j=function(D,re){var at=a.categoryOrder&&a.categoryOrder[re]||[],he=Object.create(null);return at.forEach(function(Me,Be){he[Me]=Be}),D.map(function(Me,Be){return{row:Me,index:Be,rank:he[Me.skill.name]}}).sort(function(Me,Be){return Me.rank!==void 0&&Be.rank!==void 0?Me.rank-Be.rank:Me.rank!==void 0?-1:Be.rank!==void 0?1:Me.index-Be.index}).map(function(Me){return Me.row})};if(!E.length)return n.length?o("div",{className:"dssm-skill-list"},j(n,"").map(function(D){return Aa(a,D.skill,u)})):o("div",{className:"dssm-empty"},e("empty.source"));var Z={},V=x||n;E.forEach(function(D){Z[D.id]=!0});var U=function(D,re){return j(D.filter(function(at){return re?at.skill.categoryId===re:!at.skill.categoryId||!Z[at.skill.categoryId]}),re)},de=E.map(function(D){return{id:D.id,name:D.name,locked:!1,skills:U(n,D.id),scope:U(V,D.id)}});de.push({id:"",name:e("category.uncategorized"),locked:!0,skills:U(n,""),scope:U(V,"")});var ze=!!(te||O.status);return o("div",null,o("p",{className:"dssm-note dssm-cat-note"},e("category.note")),de.filter(function(D){return!ze||D.skills.length}).map(function(D){return ir(a,D,u,S,V)}))}function Ir(a,n,u,S){var x=(u||aa).filter(function(U){return U.root.key===a.key}),E=(u||or).filter(function(U){return U.root.key===a.key});if(Le&&a.key!==Le||(te||O.status)&&!E.length)return null;var j=JSON.stringify([pt,S||"",a.key,te,Le,O.status]),Z=z[j]===void 0?n?!0:!!(te||Le||O.status):z[j],V=n?Xe(e,Object.assign({},a,{projectName:void 0})):Xe(e,a);return o("section",{key:(S||"")+a.key,className:"dssm-source","data-source-key":a.key},o("div",{className:"dssm-source-head"},o("button",{type:"button",className:"dssm-source-toggle","aria-expanded":Z,onClick:function(){s(function(U){var de={};return de[j]=!Z,Object.assign({},U,de)})}},Ba(o,Z),o("div",{className:"dssm-source-label"},Ea(a.key),o("span",{className:"dssm-source-title"},V),o("span",{className:"dssm-count"},e(Rt("summary.group",E.length),{count:E.length})),a.overridden?o("span",{className:"dssm-source-custom"},e("rootPath.custom")):null,o("span",{className:"dssm-source-path",title:a.overridden?e("rootPath.overrideTitle",{path:a.defaultPath||""}):a.path},a.path))),Pa(a,n,V)),Z?o("div",{className:"dssm-source-body",role:"region"},Pr(a,E,n,S,x)):null)}function lr(a){return a.skill.provenance||null}function Tr(a){if(!a)return null;try{var n=new URL(a);return(n.protocol==="https:"||n.protocol==="http:")&&n.hostname?n.href:null}catch{return null}}function zr(){var a=Object.create(null),n=[];return or.forEach(function(u){var S=a[u.root.key];S||(S={key:u.root.key,root:u.root,rows:[],repos:[],hasEvidence:!1},a[u.root.key]=S,n.push(u.root.key)),S.rows.push(u);for(var x=lr(u),E=x&&x.repo?x.repo:null,j=x&&x.identity,Z=j||E,V=Z?"repo:"+Z:"none",U=null,de=0;de<S.repos.length;de++)if(S.repos[de].key===V){U=S.repos[de];break}if(U||(U={key:V,kind:Z&&x?x.kind:"root",repo:E||j||null,url:Tr(x&&x.url),fallback:!Z,rows:[],categories:[]},S.repos.push(U)),U.rows.push(u),Z&&x){var ze=x.category||"";U.categories.indexOf(ze)<0&&U.categories.push(ze),S.hasEvidence=!0}}),n.map(function(u){var S=a[u];return S.repos.sort(function(x,E){return x.fallback!==E.fallback?x.fallback?1:-1:String(x.repo||"").localeCompare(String(E.repo||""))}),S})}function Mr(a){return a||e("group.repoRoot")}function Ta(a,n){return o("div",{className:"dssm-skill-list"},a.map(function(u){return Aa(u.root,u.skill,n)}))}function ft(){return!!(te||Le||O.status)}function Te(a,n,u,S,x){var E=JSON.stringify(["provcat",pt,x||"",a.key,n.key,u,te,Le,O.status]),j=z[E]===void 0?ft():z[E];return o("section",{className:"dssm-cat dssm-prov-cat",key:E},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":j,onClick:function(){s(function(Z){var V={};return V[E]=!j,Object.assign({},Z,V)})}},Ba(o,j),o("span",{className:"dssm-cat-title"},Mr(u)),o("span",{className:"dssm-count"},e(Rt("summary.group",S.length),{count:S.length})))),j?Ta(S,x):null)}function cr(a,n,u){var S=JSON.stringify(["provrepo",pt,u||"",a.key,n.key,te,Le,O.status]),x=z[S]===void 0?ft():z[S],E=n.repo||e("group.unknownSource"),j=n.categories.slice().sort(function(V,U){return V?U?V.localeCompare(U):-1:1}),Z=null;return x&&(!j.length||j.length===1&&!j[0]?Z=Ta(n.rows,u):Z=j.map(function(V){var U=n.rows.filter(function(de){var ze=lr(de);return(ze&&ze.category||"")===V});return U.length?Te(a,n,V,U,u):null})),o("section",{className:"dssm-cat dssm-prov-repo",key:n.key},o("div",{className:"dssm-cat-head"},o("button",{type:"button",className:"dssm-cat-main","aria-expanded":x,onClick:function(){s(function(V){var U={};return U[S]=!x,Object.assign({},V,U)})}},Ba(o,x),n.repo?Xn(n.url,n.repo):null,o("span",{className:"dssm-cat-title"},E),o("span",{className:"dssm-count"},e(Rt("summary.group",n.rows.length),{count:n.rows.length})),o("span",{className:"dssm-prov-badge",title:e("group.hint")},e("group.evidence."+n.kind))),n.url?o("span",{className:"dssm-source-actions"},o("a",{className:"dssm-icon-action dssm-prov-repo-link",href:n.url,target:"_blank",rel:"noopener noreferrer","aria-label":e("group.openRepo",{repo:n.repo||""}),title:e("group.openRepo",{repo:n.repo||""}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}},We("M12 9.5V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3.5m4-1h3.5m0 0v3.5m0-3.5L7 10"))):null),Z)}function dr(a,n){var u=JSON.stringify(["provroot",pt,n||"",a.key,te,Le,O.status]),S=z[u]===void 0?!!(n||ft()):z[u],x=n?Xe(e,Object.assign({},a.root,{projectName:void 0})):Xe(e,a.root),E=null;return S&&(E=o("div",{className:"dssm-source-body",role:"region"},a.hasEvidence?a.repos.map(function(j){return cr(a,j,n)}):Ta(a.rows,n))),o("section",{key:a.key,className:"dssm-source","data-source-key":a.key},o("div",{className:"dssm-source-head"},o("button",{type:"button",className:"dssm-source-toggle","aria-expanded":S,onClick:function(){s(function(j){var Z={};return Z[u]=!S,Object.assign({},j,Z)})}},Ba(o,S),o("div",{className:"dssm-source-label"},Ea(a.root.key),o("span",{className:"dssm-source-title"},x),o("span",{className:"dssm-count"},e(Rt("summary.group",a.rows.length),{count:a.rows.length})),a.hasEvidence?null:o("span",{className:"dssm-prov-badge",title:e("group.noRepo")},e("group.unknownSource")),o("span",{className:"dssm-source-path",title:a.root.path},a.root.path))),Pa(a.root,n,x)),E)}function za(a){var n=zr();if(!n.length)return o("div",{className:"dssm-empty"},te||O.status?e("empty.search"):e("empty.source"));var u=Object.create(null);n.forEach(function(E){E.repos.forEach(function(j){j.fallback||(u[j.key]=!0)})});var S=Object.keys(u).length,x=0;return n.forEach(function(E){E.repos.forEach(function(j){j.fallback&&(x+=j.rows.length)})}),o("div",{className:"dssm-sources dssm-provenance"},o("p",{className:"dssm-note dssm-prov-note"},o("strong",null,e("group.provenanceCount",{repos:S,unknown:x}))," ",e("group.hint")),n.map(function(E){return dr(E,a)}))}function Ma(){var a=N==="project",n=a?G:void 0,u;if(O.group==="repo")u=za(n);else{var S=La.map(function(x){return Ir(x,n,void 0,n?n+"|":void 0)}).filter(Boolean);u=S.length?S:o("div",{className:"dssm-empty"},te||O.status?e("empty.search"):e("empty.source"))}return a&&(ee.error?u=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.listFailed",{error:ee.error})):ee.loading||G&&(!Ft||Ft.loading)?u=o("div",{className:"dssm-empty"},e("workspace.loading")):G?Ft?.error?u=o("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.loadFailed",{error:Ft.error})):!aa.length&&!te&&!O.status&&(u=o("div",{className:"dssm-empty"},e("workspace.noSkills"))):u=o("div",{className:"dssm-empty"},e(ye.length?"workspace.unavailable":"project.empty"))),o("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+N,className:"dssm-sources"},u)}function Hr(){return o("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},ut.trash.length?ut.trash.map(function(a){return o("div",{key:a.id,className:"dssm-trash-item",role:"group","aria-label":a.name},o("div",{className:"dssm-trash-main"},o("div",{className:"dssm-name"},a.name),o("div",{className:"dssm-trash-meta"},o("time",{dateTime:a.deletedAt},e("trash.deletedAt",{time:Ro(e,a.deletedAt)})),o("span",{className:"dssm-trash-source"},e("trash.source",{source:me(a)})))),o("div",{className:"dssm-trash-actions"},Qt(e("btn.restore"),We("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){$("/trash-restore",Lr(a),"result.restored",{name:a.name}).catch(function(){})},!1,b),Qt(e("btn.delete.forever"),We("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){I({type:"delete-confirm",id:a.id,name:a.name})},!0,b)))}):o("div",{className:"dssm-empty"},e("trash.empty")))}var ur=Nn({active:N==="repositories",t:e,onInstalled:function(){return Promise.all([je(!1),ta()])}});function jr(a){var n=a==="user"?"M8 0a8 8 0 100 16A8 8 0 008 0zm6.5 8a6.5 6.5 0 01-.65 2.82L10.3 8.35a.75.75 0 00-1.06 0L8.2 9.4V6.5a.75.75 0 00-.75-.75h-1V4.25a.75.75 0 00-.75-.75h-1a6.47 6.47 0 013.3-1.95v1.2a.75.75 0 00.75.75h1.5a.75.75 0 00.75-.75V2.3A6.52 6.52 0 0114.5 8z":a==="project"?"M1.75 2.5h3.44l1.5 1.5h7.56c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 01-1.75 1.75H1.75A1.75 1.75 0 010 13.25V4.25C0 3.284.784 2.5 1.75 2.5z":a==="repositories"?"M8 0a8 8 0 100 16A8 8 0 008 0zm2.93 5.07l-1.5 4.5a.75.75 0 01-.43.43l-4.5 1.5a.375.375 0 01-.47-.47l1.5-4.5a.75.75 0 01.43-.43l4.5-1.5a.375.375 0 01.47.47z":"M5.5 1.25h5c.4 0 .75.35.75.7V3h2.5c.5 0 .9.4.9.9s-.4.9-.9.9h-.35l-.65 8.1a1.6 1.6 0 0 1-1.6 1.5H4.85a1.6 1.6 0 0 1-1.6-1.5L2.6 4.8H2.25c-.5 0-.9-.4-.9-.9s.4-.9.9-.9H4.75V1.95c0-.4.35-.7.75-.7z";return o("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},o("path",{d:n}))}var pr=["user","project","repositories","trash"].map(function(a){var n=e("scope."+a),u=a==="trash"?(ut.trash||[]).length:0,S=jr(a);return{value:a,id:"dssm-tab-"+a,panelId:"dssm-scope-panel",label:u>0?[S,n,o("span",{className:"dssm-trash-count"},u)]:[S,n]}}),mr=o(Ke.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:e("scope.label"),value:N,onChange:function(a){C(a),(a==="project"||a==="trash")&&ea(a==="project"),a==="trash"&&je(!0)},items:pr}),Ha=[N==="project"?null:o("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(a){return o("div",{key:a[1],className:"dssm-stat"},o("strong",null,Oe[a[0]]),e(Rt(a[1],Oe[a[0]]),{count:Oe[a[0]]}).replace(String(Oe[a[0]]),""))})),o("div",{key:"filters",className:"dssm-filters"},N==="project"?null:o("div",{className:"dssm-source-filter"},o(Et,{value:Le,label:e("filter.source"),options:Ie,onChange:Ra})),o("div",{className:"dssm-group-filter"},o(Et,{value:O.group||"",label:e("group.label"),options:[{value:"",label:e("group.bySource")},{value:"repo",label:e("group.byRepo")}],onChange:function(a){et("group",a)}})),o("div",{className:"dssm-status-filter"},o(Et,{value:O.status,label:e("filter.status"),options:[{value:"",label:e("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(a){return{value:a,label:e("status."+a)}})),onChange:function(a){et("status",a)}})),N==="project"?o("div",{className:"dssm-project-filter"},o(Et,{value:G,label:e("filter.workspace"),disabled:ee.loading||!ye.length,options:ye.map(function(a){return{value:Ge(a),label:a.name+(a.available?"":" \xB7 "+(a.errorCode==="ENOENT"||a.errorCode==="ENOTDIR"?e("workspace.missing"):a.errorCode==="EACCES"||a.errorCode==="EPERM"?e("workspace.unreadable"):e("workspace.unavailable")))+(ye.filter(function(n){return n.name===a.name}).length>1?" \xB7 "+Ge(a):""),disabled:!a.available||!Ge(a)}}),onChange:Nr})):null,o(Fe,{className:"dssm-search",allowClear:!0,value:te,"aria-label":e("search"),placeholder:e("search.placeholder"),onChange:function(a){tr(a.target.value)}}),N!=="trash"?o("div",{className:"dssm-filter-actions"},vr(e("btn.refresh"),We("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),function(){je(!1),N==="project"&&ta()},b||p.loading),vr(e("btn.create"),We("M8 2.5v11M2.5 8h11"),Rr,b,e("btn.create")+"\u2026"),vr(e("import.global"),We("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),ar,b),N==="user"?vr(e("rootPath.manage"),We("M2.5 4.5h3l1.3 1.5h6.7v6h-11z"),Na,b,e("rootPath.manage")+"\u2026"):null):null)],Ae=[o("style",{key:"css"},Rn),o("div",{key:"head",className:"dssm-head"},o("div",{className:"dssm-title-block"},o("div",{className:"dssm-title-row"},o("h2",{className:"dssm-title"},e("title")),o("div",{className:"dssm-feedback-links"},o(Ke.Button,{variant:"outline",size:"sm","aria-label":e("link.project"),icon:o(_n),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},e("link.project")),o(Ke.Button,{variant:"outline",size:"sm","aria-label":e("link.feedback"),icon:o(wn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},e("link.feedback")))),o("p",{className:"dssm-desc"},e("desc")))),mr].concat(N==="trash"||N==="repositories"?[]:Ha,[R&&k!=="import"?o("div",{key:"result",className:"dssm-feedback"+(R.warning?" dssm-warning":R.ok?"":" dssm-error")},R.text):null],(ut.warnings||[]).map(function(a,n){return o("div",{key:"warning-"+n,className:"dssm-feedback dssm-warning",role:"alert"},se(e,a))}),[p.error?o("div",{key:"error",className:"dssm-feedback dssm-error"},p.error):null,N==="repositories"?ur.content:p.loading&&!p.data?o("div",{key:"loading",className:"dssm-empty"},e("loading")):N==="trash"?Hr():Ma()]);if(k==="create"&&Ae.push(o(_e,{key:"create",title:e("create.title"),closeLabel:e("btn.close"),onClose:function(){I(null)}},o("div",{className:"dssm-form"},o(yo,{t:e,value:nt,disabled:b,allowAgents:!0,workspaces:ye,userDestinations:mt,onChange:function(a){ca(Object.assign({},nt,a))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(a){return o("label",{key:a[0],className:"dssm-field"},o("span",{className:"dssm-label"},e(a[1])),o(Fe,{value:ie[a[0]],placeholder:e(a[2]),onChange:function(n){xa(a[0],n.target.value)}}))}),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("create.body")),o(Fe.TextArea,{rows:8,value:ie.body,placeholder:e("create.body.placeholder"),onChange:function(a){xa("body",a.target.value)}})),o("p",{className:"dssm-help"},e("create.chat.note"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){I(null)},"outline"),_(e("btn.create.now"),er,"primary",b||!ie.name.trim()||!ie.description.trim()||!ie.body.trim()||!Kt(nt,ye,mt))))),k==="import"&&Ae.push(o(_e,{key:"import",className:"dssm-modal-import",title:e("import.title"),closeLabel:e("btn.close"),onClose:function(){Ee.current=!1,it(null),L(null),I(null)}},o("input",{ref:wa,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(a){Sa(a.target.files),a.target.value=""}}),o("input",{ref:_t,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(a){Sa(a.target.files),a.target.value=""}}),o("div",{className:"dssm-dropzone",onDragOver:function(a){a.preventDefault(),a.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(a){a.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(a){a.preventDefault(),a.currentTarget.classList.remove("dssm-dropzone-active"),Pn(a.dataTransfer).then(Sa).catch(function(n){L({ok:!1,text:se(e,n)})})}},o("span",{className:"dssm-dropzone-title"},e("upload.drop.title")),o("span",{className:"dssm-dropzone-copy"},e("upload.drop.copy")),o("div",{className:"dssm-upload-choices"},o("button",{type:"button",className:"dssm-upload-link",disabled:b,onClick:function(a){a.stopPropagation(),Ca(_t)}},e("btn.folder.pick")),o("span",{className:"dssm-upload-divider"},"/"),o("button",{type:"button",className:"dssm-upload-link",disabled:b,onClick:function(a){a.stopPropagation(),Ca(wa)}},e("btn.file.pick")))),ge?o("div",{className:"dssm-file",title:ge.name},o("span",{className:"dssm-file-kind","aria-hidden":"true"},ge.kind==="zip"?"ZIP":ge.kind==="folder"?"DIR":"MD"),o("span",{className:"dssm-file-name"},ge.name),o("span",{className:"dssm-file-meta"},e(Rt("upload.selected",ge.count),{count:ge.count,size:ge.size<1024?ge.size+" B":Math.ceil(ge.size/1024)+" KB"})),o("button",{type:"button",className:"dssm-file-remove","aria-label":e("upload.remove"),onClick:function(){it(null)}},"\xD7")):null,o(yo,{t:e,value:st,disabled:b,allowAgents:!0,workspaces:ye,userDestinations:mt,onChange:function(a){It(Object.assign({},st,a))}}),R?o("div",{className:"dssm-feedback"+(R.warning?" dssm-warning":R.ok?"":" dssm-error"),role:"alert"},R.text):null,o("div",{className:"dssm-upload-requirements"},o("div",{className:"dssm-label"},e("upload.requirements")),o("ul",null,o("li",null,e("upload.requirement.skill")),o("li",null,e("upload.requirement.frontmatter")),o("li",null,e("upload.requirement.copy")))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){Ee.current=!1,it(null),L(null),I(null)},"outline"),_(e(b?"upload.importing":"btn.import.now"),Ut,"primary",b||!ge||!Kt(st,ye,mt))))),k&&typeof k=="object"&&k.type==="root-path"){var tt=k,gt=Ga;Ae.push(o(_e,{key:"root-path",title:e("rootPath.title",{name:tt.label}),closeLabel:e("btn.close"),onClose:function(){I(null),He(null)}},o("div",{className:"dssm-form"},o("p",{className:"dssm-note"},e("rootPath.desc")),Ct.length>0?o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.source")),o(Et,{value:tt.root,label:e("rootPath.source"),disabled:b,options:Ct.map(function(a){return{value:a.key,label:Xe(e,a)}}),onChange:function(a){var n=Ct.find(function(u){return u.key===a});n&&De(n)}})):null,o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("rootPath.label")),o(Fe,{value:Mt,placeholder:e("rootPath.placeholder"),disabled:b,onChange:function(a){ma(a.target.value),He(null)}})),o("div",{className:"dssm-root-path-actions"},_(e("rootPath.browse"),ka,"outline",b||Sr),tt.defaultPath?_(e("rootPath.reset"),function(){Ue(null)},"outline",b):null,tt.root.indexOf("custom:")===0?_(e("customSource.remove"),function(){Ye(tt.root)},"outline",b):null),o("p",{className:"dssm-help"},e("rootPath.defaultHint",{path:tt.defaultPath||tt.path})),Za?o("div",{className:"dssm-feedback dssm-error",role:"alert"},Za):null,o("div",{className:"dssm-custom-sources"},o("div",{className:"dssm-custom-source-head"},o("span",{className:"dssm-label"},e("customSource.title")),_(e(yt?"btn.cancel":"customSource.add"),function(){yt?(Qe(!1),$e(null),ke(null)):W()},"outline",b||Ne)),o("p",{className:"dssm-help"},e("customSource.desc")),yt?o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("customSource.label")),o(Fe,{value:Gt,maxLength:48,placeholder:e("customSource.label.placeholder"),disabled:b||Ne,onChange:function(a){vt(a.target.value)}})),o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("customSource.path")),o(Fe,{value:lt,placeholder:e("customSource.path.placeholder"),disabled:b||Ne,onChange:function(a){ha(a.target.value),ke(null)}})),o("div",{className:"dssm-root-path-actions"},_(e("rootPath.browse"),St,"outline",b||Ne),_(e(Ne?"customSource.scanning":"customSource.scan"),Cr,"outline",b||Ne||!(lt||"").trim()),_(e("customSource.addOne"),function(){$a([{label:(Gt||"").trim(),path:(lt||"").trim()}])},"primary",b||Ne||!(lt||"").trim())),wt?o("div",{className:"dssm-feedback dssm-error",role:"alert"},wt):null,gt?o("div",{className:"dssm-custom-scan"},o("p",{className:"dssm-help"},e("customSource.scanResult",{count:gt.candidates.length,path:gt.root})),gt.candidates.length?o("div",{className:"dssm-root-path-actions"},_(e("customSource.addAll"),function(){$a(gt.candidates.filter(function(a){return!a.registered&&!a.conflict}).map(function(a){return{label:a.label,path:a.path,group:a.group}}))},"primary",b||Ne||!gt.candidates.some(function(a){return!a.registered&&!a.conflict}))):null,gt.candidates.map(function(a,n){return o("div",{key:"candidate-"+n,className:"dssm-custom-candidate"},o("div",{className:"dssm-custom-candidate-text"},o("span",{className:"dssm-custom-candidate-name"},a.label),o("span",{className:"dssm-custom-candidate-meta"},a.path+" \xB7 "+e(Rt("customSource.skillCount",a.skillCount),{count:a.skillCount}))),a.registered?o("span",{className:"dssm-custom-candidate-state"},e("customSource.registered")):a.conflict?o("span",{className:"dssm-custom-candidate-state"},e("customSource.conflict")):_(e("customSource.addOne"),function(){$a([{label:a.label,path:a.path,group:a.group}])},"outline",b||Ne))})):null):null)),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){I(null),He(null)},"outline"),_(e("rootPath.save"),function(){Ue((Mt||"").trim())},"primary",b||!(Mt||"").trim()))))}if(k==="detail"){var ce=Dt,ja=ce?ce.declaredName||ce.name:"";Ae.push(o(_e,{key:"detail",className:"dssm-modal-wide",title:e("detail.title"),closeLabel:e("btn.close"),onClose:function(){xt("idle"),I(null)}},ce?o("div",{className:"dssm-detail"},o("div",{className:"dssm-detail-head"},o("div",{className:"dssm-name",title:ja},ja),ce.body?o(Ke.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){ce&&ce.body&&va(ce.body)}},e(Xa==="copied"?"detail.copied":Xa==="failed"?"detail.copyFailed":"detail.copyBody")):null),ce.customNote?o("p",{className:"dssm-desc dssm-custom-note",title:e("detail.customNote")},ce.customNote):null,ce.description?o("p",{className:"dssm-desc"+(ce.customNote?" dssm-desc-secondary":"")},ce.description):null,o("div",{className:"dssm-detail-path"},ce.path),ce.diagnostics.length?ce.diagnostics.map(function(a,n){return o("div",{key:n,className:"dssm-diag"},e(a.code,a.params||{}))}):null,o(Fe.TextArea,{className:"dssm-detail-body",readOnly:!0,value:ce.body||"",rows:16})):o("div",{className:"dssm-empty"},e("loading"))))}if(k&&typeof k=="object"&&k.type==="trash-confirm"&&Ae.push(o(_e,{key:"trash-confirm",title:e("confirm.trash.title"),description:e("confirm.trash.desc",{name:k.name}),closeLabel:e("btn.close"),onClose:function(){I(null)},footer:o(Fa.Fragment,null,_(e("btn.cancel"),function(){I(null)},"outline"),_(e("btn.trash"),function(){$("/delete",Object.assign({root:k.root,name:k.name},k.workspace?{workspace:k.workspace}:{}),"result.trashed",{name:k.name}).then(function(){I(null)}).catch(function(){})},"danger",b))})),k&&typeof k=="object"&&k.type==="delete-confirm"&&Ae.push(o(_e,{key:"delete-confirm",title:e("confirm.delete.title"),description:e("confirm.delete.desc",{name:k.name}),closeLabel:e("btn.close"),onClose:function(){I(null)},footer:o(Fa.Fragment,null,_(e("btn.cancel"),function(){I(null)},"outline"),_(e("btn.delete.forever"),function(){$("/trash-delete",{id:k.id},"result.deleted",{name:k.name}).then(function(){I(null)}).catch(function(){})},"danger",b))})),k&&typeof k=="object"&&(k.type==="category-create"||k.type==="category-rename")){var ra=k.type==="category-rename",Nt=k,Wt=Ce.trim(),fr=!!Wt&&(!ra||Wt!==Nt.name),r=function(){if(!(b||!fr)){var a=ra?$("/category-rename",{root:Nt.root,id:Nt.id,name:Wt,workspace:Nt.workspace},"category.renamed"):$("/category-create",{root:Nt.root,name:Wt,workspace:Nt.workspace},"category.created",{name:Wt});a.then(function(){I(null)}).catch(function(){})}};Ae.push(o(_e,{key:k.type,title:e(ra?"category.rename":"category.create"),closeLabel:e("btn.close"),onClose:function(){I(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("category.name")),o(Fe,{value:Ce,maxLength:24,"aria-label":e("category.name"),onChange:function(a){Zt(a.target.value)},onPressEnter:r})),o("p",{className:"dssm-help"},e("category.note"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){I(null)},"outline"),_(e(ra?"btn.confirm":"category.create"),r,"primary",b||!fr))))}if(k&&typeof k=="object"&&k.type==="category-add"){var c=k,d=K.trim().toLowerCase(),m=c.skills.filter(function(a){return!d||a.name.toLowerCase().includes(d)||a.declaredName&&a.declaredName.toLowerCase().includes(d)||a.description&&a.description.toLowerCase().includes(d)}),w=new Set(c.skills.map(function(a){return a.name})),P=Object.keys(q).filter(function(a){return q[a]&&w.has(a)}).length;Ae.push(o(_e,{key:"category-add",title:e("category.selectSkills",{name:c.name}),closeLabel:e("btn.close"),onClose:function(){f({}),Y(""),I(null)}},o(Fe,{placeholder:e("search.placeholder"),value:K,allowClear:!0,onChange:function(a){Y(a.target.value)}}),o("div",{className:"dssm-batch-list"},m.length?m.map(function(a){var n=!!q[a.name];return o("div",{key:a.name,className:"dssm-batch-item"+(n?" selected":""),onClick:function(){var u=Object.assign({},q);n?delete u[a.name]:u[a.name]=!0,f(u)}},o("input",{type:"checkbox",checked:n,readOnly:!0}),o("div",{className:"dssm-batch-info"},o("div",{className:"dssm-batch-name-row"},o("span",{className:"dssm-batch-name"},a.declaredName||a.name),a.currentCatName?o("span",{className:"dssm-batch-cat-tag"},a.currentCatName):null),a.description?o("div",{className:"dssm-batch-desc",title:a.description},a.description):null))}):o("div",{className:"dssm-empty"},e("category.noAvailableSkills"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){f({}),Y(""),I(null)},"outline"),_(e("category.addSkills")+(P?" ("+P+")":""),function(){var a=Object.keys(q).filter(function(u){return q[u]&&w.has(u)});if(!a.length){f({}),Y(""),I(null);return}if(!dt.current){var n=function(u){return c.workspace?Object.assign({},u,{workspace:c.workspace}):u};dt.current=!0,v(!0),f({}),Y(""),I(null),a.reduce(function(u,S){return u.then(function(){return i("/category-assign",{method:"POST",headers:Lt,body:JSON.stringify(n({root:c.root,name:S,category:c.id}))})})},Promise.resolve()).then(function(){L({ok:!0,text:e("category.batchAssigned",{count:a.length,category:c.name})})}).catch(function(u){L({ok:!1,text:se(e,u)})}).finally(function(){dt.current=!1,v(!1);var u=c.workspace;Promise.all([je(!0),u?Vt(u):null]).catch(function(){})})}},"primary",b||!P))))}if(k&&typeof k=="object"&&k.type==="skill-note"){var H=k,T=oe.trim(),ne=T!==(H.note||""),oa=function(){if(!(b||!ne)){var a=H.workspace?{root:H.root,name:H.name,note:T,workspace:H.workspace}:{root:H.root,name:H.name,note:T};$("/skill-note",a,T?"note.updated":"note.cleared",{name:H.name}).then(function(){I(null)}).catch(function(){})}};Ae.push(o(_e,{key:"skill-note",title:e("note.title"),closeLabel:e("btn.close"),onClose:function(){I(null)}},o("div",{className:"dssm-form"},o("label",{className:"dssm-field"},o("span",{className:"dssm-label"},e("note.label")),o(Fe.TextArea,{value:oe,maxLength:500,rows:4,placeholder:e("note.placeholder"),"aria-label":e("note.label"),onChange:function(a){le(a.target.value)}})),o("p",{className:"dssm-help"},e("note.help"))),o("div",{className:"dssm-modal-actions"},_(e("btn.cancel"),function(){I(null)},"outline"),H.note?_(e("note.clear"),function(){le("")},"outline",b):null,_(e("btn.confirm"),oa,"primary",b||!ne))))}return k&&typeof k=="object"&&k.type==="category-delete"&&Ae.push(o(_e,{key:"category-delete",title:e("confirm.category.title"),description:e("confirm.category.desc",{name:k.name}),closeLabel:e("btn.close"),onClose:function(){I(null)},footer:o(Fa.Fragment,null,_(e("btn.cancel"),function(){I(null)},"outline"),_(e("category.delete"),function(){$("/category-delete",{root:k.root,id:k.id,workspace:k.workspace},"category.deleted",{name:k.name}).then(function(){I(null)}).catch(function(){})},"danger",b))})),o("section",{className:"dssm-section"},Ae)}var Uo=null;function xo(){var t=globalThis.__DSH_DIRECTORY_PICKER__;if(t&&typeof t.pick=="function"){var e=t.pick.bind(t);return function(){return e()}}return Uo}var es=["slots","locale"];function ts(t){if(Wa=t.locale,typeof t.inject=="function")try{t.inject(["uiWorkspace"],function(A){var J=A.uiWorkspace;if(J&&typeof J.pickDirectory=="function"){var ue=J.pickDirectory.bind(J);Uo=function(){return ue()}}})}catch{}t.effect(function(){return t.locale.register(rt,Ka)});var e,i;t.effect(function(){return e=so({endpoint:"/api/michengai/dsh-skills-manager/update",packageName:"@michengai/dsh-skills-manager",titleRowSelector:".dssm-title-row",linksSelector:".dssm-feedback-links",zhName:"\u6280\u80FD",enName:"Skills",createIcon:xn,isEnabled:function(){return i?i.isOnlineUpdateEnabled():!0}}),function(){typeof e=="function"&&e(),e=void 0}},"skills-manager: plugin update ui"),go(t,function(){return t.locale.bind(rt)("title")});let l=null,p=null,g=!1,h=!1,b=()=>{if(!(!g||l)&&!(i&&!i.isSettingsSectionEnabled()))try{let A=t.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return t.locale.bind(rt)("title")},icon:"skill",locale:rt},qr);l=typeof A=="function"?A:()=>{}}catch(A){console.warn("skills-manager: register settings.section failed:",A),l=null}},v=()=>{if(l){try{l()}catch{}l=null}},N=()=>{if(p)return!0;try{let A=t.slots.register({name:"settings.section.icon",id:"skills-manager",locale:rt},fo);return p=typeof A=="function"?A:()=>{},!0}catch(A){return console.warn("skills-manager: register settings.section.icon failed:",A),p=null,!1}},C=()=>{h&&(i&&!i.isSettingsSectionEnabled()||N())},z=()=>{let A=p;if(p=null,!!A)try{A()}catch{}},s=()=>{i?.isSettingsSectionEnabled?.()??!0?(b(),C()):(v(),z())};if(typeof t.slots?.inject=="function")try{t.slots.inject("settings.section.icon",function(){h=!0;let A=function(){h=!1,z()};return i&&!i.isSettingsSectionEnabled()||!N(),A})}catch(A){console.warn("skills-manager: inject settings.section.icon failed:",A)}t.slots.inject("settings.section",function(){g=!0;try{if(i&&!i.isSettingsSectionEnabled())return function(){g=!1,v()};let A=t.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return t.locale.bind(rt)("title")},icon:"skill",locale:rt},qr);return l=typeof A=="function"?A:()=>{},A}catch(A){return console.warn("skills-manager: register settings.section failed:",A),function(){g=!1}}}),i=Kr(t,{callApi:Va,headers:Lt,renderPanel:function(A){return o(qr,Object.assign({t:t.locale.bind(rt)},A))},ns:rt,onOnlineUpdateChange:function(){e&&typeof e.refresh=="function"&&e.refresh()},onLocationChange:function(){s()}}),t.effect(function(){return function(){i&&typeof i.destroy=="function"&&(i.destroy(),i=void 0),z(),v()}},"skills-manager: sidebar entry cleanup")}module.exports.formatTrashTime=Ro;module.exports.DICT=Ka;module.exports.translateError=se;module.exports.parseApiResponse=No;module.exports.resolveApiUrl=Oa;module.exports.resolveRepoBrand=Mo;module.exports.isSkillEnabled=kr;module.exports.countKey=Rt;module.exports.rootDisplayName=Xe;module.exports.summarizeImportResult=Lo;module.exports.normalizeSkillQuery=Eo;module.exports.matchSkillQuery=Yr;module.exports.filterSkills=Ln;module.exports.visibleSkillRoots=Gr;module.exports.scopeSkillRoots=Io;module.exports.skillStatus=Jr;module.exports.countSkillStatuses=Ao;module.exports.currentSessionId=jo;module.exports.canToggleSource=Po;module.exports.recoverModalFocus=Ho;module.exports.trapModalFocus=Tn;module.exports.inspectUploadSelection=To;module.exports.setupSidebarEntry=Kr;module.exports.apply=ts;module.exports.inject=es;
|
|
64
64
|
return module.exports;
|
|
65
65
|
} });
|