@michengai/dsh-skills-manager 1.2.12 → 1.2.13
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 +6 -0
- package/CHANGELOG.zh-CN.md +6 -0
- package/README.md +89 -38
- package/README.zh-CN.md +89 -38
- package/lib/client.js +5 -5
- package/lib/index.js +2 -2
- package/package.json +2 -2
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 cs=Object.create;var hr=Object.defineProperty;var us=Object.getOwnPropertyDescriptor;var ps=Object.getOwnPropertyNames;var ms=Object.getPrototypeOf,gs=Object.prototype.hasOwnProperty;var fs=(t,e,d,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of ps(e))!gs.call(t,p)&&p!==d&&hr(t,p,{get:()=>e[p],enumerable:!(l=us(e,p))||l.enumerable});return t};var Aa=(t,e,d)=>(d=t!=null?cs(ms(t)):{},fs(e||!t||!t.__esModule?hr(d,"default",{value:t,enumerable:!0}):d,t));var pa=Aa(require("react"),1);var Ka={zh:{"repo.catalog.unknownLocation":"\u4F4D\u7F6E\u672A\u77E5","repo.catalog.reassociate":"\u9009\u62E9\u4F4D\u7F6E\u5E76\u91CD\u5173\u8054\u5B89\u88C5","repo.catalog.unknownHint":"\u6709\u65E7\u76EE\u5F55\u5B89\u88C5\u8BB0\u5F55\u4F4D\u7F6E\u672A\u77E5\uFF1B\u627E\u5230\u5BF9\u5E94\u6280\u80FD\u540E\u53EF\u9009\u62E9\u4F4D\u7F6E\u91CD\u5173\u8054\u5B89\u88C5\u3002","repo.catalog.loadMore":"\u518D\u52A0\u8F7D 10 \u6761","repo.catalog.installRefreshWarning":"\u6280\u80FD\u5DF2\u5B89\u88C5\u5E76\u542F\u7528\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u91CD\u65B0\u6253\u5F00\u53D1\u73B0\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5B89\u88C5\u3002","repo.catalog.uninstallRefreshWarning":"\u6280\u80FD\u5DF2\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u5237\u65B0\u6280\u80FD\u5217\u8868\u6216\u91CD\u65B0\u6253\u5F00\u8BBE\u7F6E\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5378\u8F7D\u3002","repo.installElsewhere":"\u5B89\u88C5\u5230\u5176\u4ED6\u4F4D\u7F6E","repo.destinationUnavailable":"\u539F\u9879\u76EE\u672A\u767B\u8BB0\u6216\u76EE\u5F55\u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u7BA1\u7406\u6B64\u526F\u672C\u3002\u8BF7\u5728\u4FA7\u680F\u91CD\u65B0\u767B\u8BB0\u539F\u9879\u76EE\u540E\u5237\u65B0\u3002","repo.scope.user":"\u5168\u5C40","repo.scope.project":"\u9879\u76EE","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026","repo.refreshed":"\u5237\u65B0\u4E0E\u66F4\u65B0\u68C0\u67E5\u5B8C\u6210","repo.detailLoading":"\u6B63\u5728\u8BFB\u53D6\u6280\u80FD\u8BF4\u660E\u2026","repo.local":"\u672C\u673A","repo.source":"\u5B89\u88C5\u6765\u6E90","repo.update":"\u53EF\u66F4\u65B0","repo.review":"\u67E5\u770B\u66F4\u65B0","repo.rollback":"\u6062\u590D\u4E0A\u4E00\u7248","repo.confirmUpdate":"\u5907\u4EFD\u5E76\u66F4\u65B0","repo.confirmRollback":"\u5907\u4EFD\u5E76\u6062\u590D","repo.overwrite":"\u5907\u4EFD\u672C\u5730\u4FEE\u6539\u5E76\u66FF\u6362","repo.modified":"\u68C0\u6D4B\u5230\u672C\u5730\u4FEE\u6539\u3002\u66FF\u6362\u4F1A\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u539F\u6587\u4EF6\u5C06\u5B8C\u6574\u5907\u4EFD\uFF0C\u53EF\u6062\u590D\u3002","repo.noChanges":"\u6587\u4EF6\u5185\u5BB9\u6CA1\u6709\u53D8\u5316\u3002","repo.added":"\u65B0\u589E","repo.removed":"\u5220\u9664","repo.modifiedFile":"\u4FEE\u6539","repo.updating":"\u66F4\u65B0\u4E2D\u2026","repo.updateProgress":"\u6B63\u5728\u6821\u9A8C\u3001\u5907\u4EFD\u5E76\u66FF\u6362\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.updateSuccess":"\u66F4\u65B0\u5B8C\u6210\uFF0C\u5DF2\u4FDD\u7559\u4E0A\u4E00\u7248\u5907\u4EFD\u3002","repo.rollbackSuccess":"\u5DF2\u6062\u590D\u4E0A\u4E00\u7248\u3002","repo.manageUpdate":"\u7BA1\u7406\u66F4\u65B0","error.repo.modified":"\u5B58\u5728\u672C\u5730\u4FEE\u6539\uFF0C\u8BF7\u9884\u89C8\u5E76\u786E\u8BA4\u5907\u4EFD\u540E\u66FF\u6362\u3002","scope.repositories":"\u53D1\u73B0\u6280\u80FD","repo.add":"\u6DFB\u52A0\u4ED3\u5E93","repo.manage":"\u7BA1\u7406\u4ED3\u5E93","repo.refresh":"\u5237\u65B0\u5E76\u68C0\u67E5\u66F4\u65B0","repo.save":"\u6DFB\u52A0\u5E76\u626B\u63CF","repo.subsource.github":"GitHub \u4ED3\u5E93","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"\u70ED\u95E8\u4E0B\u8F7D Top 100","repo.catalog.states":"\u5168\u90E8\u72B6\u6001","repo.catalog.uninstalled":"\u672A\u5B89\u88C5","repo.catalog.searchClawhub":"\u641C\u7D22 ClawHub \u6280\u80FD","repo.catalog.searchLoading":"\u6B63\u5728\u641C\u7D22 ClawHub\u2026","repo.catalog.searchEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 ClawHub \u6280\u80FD\u3002","repo.catalog.searchError":"ClawHub \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.catalog.searchSkillsh":"\u641C\u7D22 skills.sh \u6280\u80FD","repo.catalog.skillshLoading":"\u6B63\u5728\u641C\u7D22 skills.sh\u2026","repo.catalog.skillshEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 skills.sh \u6280\u80FD\u3002","repo.catalog.skillshError":"skills.sh \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.sort.installs":"\u5B89\u88C5\u91CF\u4ECE\u9AD8\u5230\u4F4E","repo.sort.name":"\u540D\u79F0 A-Z","repo.subsource.catalogNote":"ClawHub \u4E0B\u8F7D\u91CF\u699C \xB7 \u6700\u591A 100 \u6761\uFF0C\u4EC5\u5BF9\u5F53\u524D\u663E\u793A\u6761\u76EE\u6392\u5E8F","repo.catalog.empty":"ClawHub \u5F53\u524D\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","repo.catalog.loading":"\u6B63\u5728\u52A0\u8F7D ClawHub \u699C\u5355\u2026","repo.catalog.loadError":"ClawHub \u699C\u5355\u52A0\u8F7D\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","repo.catalog.retry":"\u91CD\u8BD5","repo.catalog.loadingMore":"\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u2026","repo.catalog.downloads":"\u4E0B\u8F7D","repo.catalog.installs":"\u5B89\u88C5","repo.catalog.stars":"\u661F\u6807","repo.hint":"\u4ECE\u5DF2\u8BA2\u9605\u7684 GitHub \u4ED3\u5E93\u6216\u7B2C\u4E09\u65B9\u76EE\u5F55\u53D1\u73B0\u6280\u80FD\uFF0C\u5B89\u88C5\u5230\u7528\u6237\u76EE\u5F55\u7684 DSH skills \u6216 Shared Agent\uFF0C\u6216\u5DF2\u767B\u8BB0\u9879\u76EE\u7684 .dsh/skills\u3002","repo.footer":"\u5237\u65B0\u4F1A\u68C0\u67E5\u4ED3\u5E93\u4E0E\u6280\u80FD\u66F4\u65B0\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u66FF\u6362\u672C\u5730\u6587\u4EF6\u3002\u5386\u53F2\u5907\u4EFD\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\uFF0C\u5360\u7528\u7A7A\u95F4\u4F1A\u968F\u66F4\u65B0\u589E\u52A0\u3002","repo.search":"\u641C\u7D22\u4ED3\u5E93\u6280\u80FD","repo.all":"\u5168\u90E8\u4ED3\u5E93","repo.states":"\u5168\u90E8\u72B6\u6001","repo.available":"\u53EF\u5B89\u88C5","repo.installed":"\u5DF2\u5B89\u88C5","repo.conflict":"\u540C\u540D\u51B2\u7A81","repo.invalid":"\u683C\u5F0F\u65E0\u6548","repo.install":"\u5B89\u88C5","repo.detail":"\u8BE6\u60C5","repo.installing":"\u5B89\u88C5\u4E2D\u2026","repo.installProgress":"\u6B63\u5728\u8BFB\u53D6\u5E76\u6821\u9A8C\u6280\u80FD\u6587\u4EF6\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.installSuccess":"\u5B89\u88C5\u6210\u529F\u5E76\u5DF2\u542F\u7528\uFF0C\u53EF\u5728\u5BF9\u8BDD\u4E2D\u7528\u659C\u6760\u8C03\u7528\u3002","repo.installDestination":"\u5B89\u88C5\u4F4D\u7F6E","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"\u4EC5\u4F9B DSH \u4F7F\u7528\uFF0C\u8DEF\u5F84\u4EE5\u5F53\u524D DSH_HOME \u4E3A\u51C6\u3002","repo.rootExternalHint":"\u4F7F\u7528\u8BE5\u76EE\u5F55\u7684\u5176\u4ED6 Agent \u4E5F\u80FD\u8BFB\u53D6\u6B64\u6280\u80FD\u3002","repo.installLocationsHint":"\u7528\u6237\u76EE\u5F55\u53EF\u9009 DSH skills \u6216 Shared Agent\uFF1B\u5DF2\u767B\u8BB0\u9879\u76EE\u4EC5\u5199\u5165 .dsh/skills\u3002\u9009\u62E9\u5668\u663E\u793A\u5B9E\u9645\u8DEF\u5F84\u3002\u7F3A\u5C11\u7684\u76EE\u5F55\u4F1A\u5728\u786E\u8BA4\u5B89\u88C5\u540E\u521B\u5EFA\u3002\u4E0D\u5B89\u5168\u7684\u8DEF\u5F84\u4E0D\u53EF\u9009\u3002","repo.uninstall":"\u5378\u8F7D","repo.confirmUninstall":"\u79FB\u81F3\u56DE\u6536\u7AD9","repo.uninstallHint":"\u4EC5\u5C06\u6B64\u4ED3\u5E93\u5DF2\u8DDF\u8E2A\u7684\u5B89\u88C5\u526F\u672C\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u5305\u62EC\u672C\u5730\u4FEE\u6539\u3002\u4E4B\u540E\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.uninstallExternalWarning":"\u5378\u8F7D\u8BE5\u6280\u80FD\u4E5F\u4F1A\u5F71\u54CD\u4F7F\u7528\u6240\u9009\u76EE\u5F55\u7684\u5176\u4ED6 Agent\u3002","repo.uninstalling":"\u5378\u8F7D\u4E2D\u2026","repo.uninstallProgress":"\u6B63\u5728\u5C06\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.uninstallSuccess":"\u6280\u80FD\u5DF2\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u4ED3\u5E93\uFF0C\u6DFB\u52A0\u4E00\u4E2A\u516C\u5F00 GitHub \u4ED3\u5E93\u5F00\u59CB\u3002","repo.noSkills":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002\u53EF\u5237\u65B0\u4ED3\u5E93\u6216\u8C03\u6574\u7B5B\u9009\u3002","repo.url":"\u4ED3\u5E93\u5730\u5740","repo.ref":"\u5206\u652F\u6216\u6807\u7B7E\uFF08\u53EF\u9009\uFF09","repo.directory":"\u6280\u80FD\u5B50\u76EE\u5F55\uFF08\u53EF\u9009\uFF09","repo.defaultBranch":"\u7559\u7A7A\u4F7F\u7528\u9ED8\u8BA4\u5206\u652F","repo.defaultBranchLabel":"\u9ED8\u8BA4\u5206\u652F","repo.directoryHint":"\u4F8B\u5982 skills\uFF0C\u7559\u7A7A\u626B\u63CF\u6574\u4E2A\u4ED3\u5E93","repo.remove":"\u79FB\u9664\u4ED3\u5E93","repo.removeHint":"\u4EC5\u79FB\u9664\u4ED3\u5E93\u8BA2\u9605\uFF0C\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u4F1A\u4FDD\u7559\u3002","repo.removeConfirm":"\u786E\u8BA4\u79FB\u9664","repo.cancel":"\u53D6\u6D88","repo.close":"\u5173\u95ED","repo.loading":"\u5904\u7406\u4E2D\u2026","repo.success":"\u64CD\u4F5C\u5B8C\u6210","repo.installHint":"\u6280\u80FD\u53EF\u80FD\u5305\u542B\u811A\u672C\uFF0C\u8BF7\u5148\u67E5\u770B\u8BF4\u660E\u5E76\u786E\u8BA4\u4FE1\u4EFB\u6765\u6E90\u3002\u5B89\u88C5\u4F1A\u4FDD\u7559\u8D44\u6E90\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u6267\u884C\u811A\u672C\u3002","repo.commit":"\u626B\u63CF\u7248\u672C","repo.notScanned":"\u5C1A\u672A\u626B\u63CF","repo.updated":"\u4E0A\u6B21\u5237\u65B0","repo.copyBody":"\u590D\u5236\u6B63\u6587","repo.copied":"\u5DF2\u590D\u5236","repo.copyFailed":"\u590D\u5236\u5931\u8D25","error.repo.tooLarge":"\u4ED3\u5E93\u5F52\u6863\u8D85\u8FC7 32 MiB\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\uFF1B\u5B50\u76EE\u5F55\u7B5B\u9009\u4E0D\u4F1A\u7F29\u5C0F\u4E0B\u8F7D\u91CF\u3002","error.repo.installState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u4FDD\u7559\uFF0C\u4F46\u6765\u6E90\u72B6\u6001\u672A\u786E\u8BA4\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u65B0\u6253\u5F00\u4ED3\u5E93\u9875\uFF0C\u7CFB\u7EDF\u4F1A\u6821\u9A8C\u6587\u4EF6\u5E76\u6062\u590D\u8BB0\u5F55\u3002","error.repo.capacity":"\u5B89\u88C5\u6765\u6E90\u72B6\u6001\u8D85\u8FC7 16 MiB\u3002\u8BF7\u5148\u6E05\u7406\u4E0D\u9700\u8981\u7684\u56DE\u6536\u8BB0\u5F55\u6216\u65E7\u8EAB\u4EFD\uFF0C\u4ECD\u6709\u6548\u7684\u5B89\u88C5\u526F\u672C\u4F1A\u4FDD\u7559\u3002","error.repo.invalid":"\u4ED3\u5E93\u5730\u5740\u3001\u8DEF\u5F84\u6216\u5185\u5BB9\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165\u53CA\u4ED3\u5E93\u5927\u5C0F\u3002","error.repo.network":"\u4ED3\u5E93\u8BBF\u95EE\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216\u7A0D\u540E\u91CD\u8BD5\u3002\u4E0A\u6B21\u5217\u8868\u5DF2\u4FDD\u7559\u3002","error.repo.state":"\u4ED3\u5E93\u72B6\u6001\u6587\u4EF6\u635F\u574F\u6216\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u4FDD\u7559\u6587\u4EF6\u5E76\u4FEE\u590D\u540E\u91CD\u8BD5\u3002","error.repo.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728\u6216\u5B89\u88C5\u5931\u8D25\uFF0C\u672C\u5730\u6587\u4EF6\u672A\u88AB\u8986\u76D6\u3002","error.repo.enableState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u64A4\u9500\uFF0C\u4F46\u542F\u7528\u72B6\u6001\u65E0\u6CD5\u5199\u5165\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u8BD5\u5B89\u88C5\u3002"},en:{"repo.catalog.unknownLocation":"Location unknown","repo.catalog.reassociate":"Choose destination and reinstall to reassociate","repo.catalog.unknownHint":"Some legacy catalog installs have unknown locations. Find the skill and choose a destination to reinstall and reassociate.","repo.catalog.loadMore":"Load 10 more","repo.catalog.installRefreshWarning":"Installed and enabled, but the list could not refresh. Reopen Discover Skills; do not install again.","repo.catalog.uninstallRefreshWarning":"Moved to trash, but the list could not refresh. Refresh the skill list or reopen Settings; do not uninstall again.","repo.installElsewhere":"Install elsewhere","repo.destinationUnavailable":"The original project is unregistered or unavailable. Re-register it in the sidebar and refresh to manage this copy.","repo.scope.user":"Global","repo.scope.project":"Project","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"Checking updates\u2026","repo.refreshed":"Refresh and update check completed","repo.detailLoading":"Loading skill instructions\u2026","repo.local":"Local","repo.source":"Installed from","repo.update":"Update available","repo.review":"Review update","repo.rollback":"Restore previous version","repo.confirmUpdate":"Back up and update","repo.confirmRollback":"Back up and restore","repo.overwrite":"Back up local edits and replace","repo.modified":"Local edits detected. Replacement overwrites current files and keeps a complete backup for restoration.","repo.noChanges":"No file changes.","repo.added":"Added","repo.removed":"Removed","repo.modifiedFile":"Modified","repo.updating":"Updating\u2026","repo.updateProgress":"Verifying, backing up and replacing files. Please wait\u2026","repo.updateSuccess":"Updated. Previous version backed up.","repo.rollbackSuccess":"Previous version restored.","repo.manageUpdate":"Manage updates","error.repo.modified":"Local edits detected. Review and confirm replacement with a backup.","scope.repositories":"Discover Skills","repo.add":"Add repository","repo.manage":"Manage repositories","repo.refresh":"Refresh & check updates","repo.save":"Add and scan","repo.subsource.github":"GitHub Repos","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"Top 100 by downloads","repo.catalog.states":"All statuses","repo.catalog.uninstalled":"Not installed","repo.catalog.searchClawhub":"Search ClawHub skills","repo.catalog.searchLoading":"Searching ClawHub\u2026","repo.catalog.searchEmpty":"No matching ClawHub skills were found.","repo.catalog.searchError":"ClawHub search failed. Please retry.","repo.catalog.searchSkillsh":"Search skills.sh","repo.catalog.skillshLoading":"Searching skills.sh\u2026","repo.catalog.skillshEmpty":"No matching skills.sh skills were found.","repo.catalog.skillshError":"skills.sh search failed. Please retry.","repo.sort.installs":"Installs: high to low","repo.sort.name":"Name A\u2013Z","repo.subsource.catalogNote":"ClawHub download ranking \xB7 Up to 100; sort only displayed items","repo.catalog.empty":"No matching skills were returned by ClawHub.","repo.catalog.loading":"Loading ClawHub ranking\u2026","repo.catalog.loadError":"Failed to load the ClawHub ranking. Check your connection and retry.","repo.catalog.retry":"Retry","repo.catalog.loadingMore":"Loading more\u2026","repo.catalog.downloads":"downloads","repo.catalog.installs":"installs","repo.catalog.stars":"stars","repo.hint":"Discover skills from subscribed GitHub repositories or community registries, and install them to user DSH skills or Shared Agent, or a registered project's .dsh/skills.","repo.footer":"Refresh checks repositories and skill updates without replacing local files. Historical backups are not cleaned automatically and use additional disk space.","repo.search":"Search repository skills","repo.all":"All repositories","repo.states":"All statuses","repo.available":"Available","repo.installed":"Installed","repo.conflict":"Name conflict","repo.invalid":"Invalid format","repo.install":"Install","repo.detail":"Details","repo.installing":"Installing\u2026","repo.installProgress":"Reading and verifying skill files. Please wait\u2026","repo.installSuccess":"Installed and enabled. Invoke it from the slash menu.","repo.installDestination":"Installation destination","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"For DSH only. The path uses your current DSH_HOME.","repo.rootExternalHint":"Other agents using this directory can read this skill too.","repo.installLocationsHint":"User directories offer DSH skills or Shared Agent; registered projects write only to .dsh/skills. The chooser shows actual paths. Missing directories are created after confirmation. Unsafe paths cannot be selected.","repo.uninstall":"Uninstall","repo.confirmUninstall":"Move to Trash","repo.uninstallHint":"Move only this repository\u2019s tracked installed copy, including local edits, to Trash. You can restore it from Trash later.","repo.uninstallExternalWarning":"Uninstalling this skill also affects other agents that use the selected directory.","repo.uninstalling":"Uninstalling\u2026","repo.uninstallProgress":"Moving the installed skill to Trash. Please wait\u2026","repo.uninstallSuccess":"Skill moved to Trash. You can restore it from Trash.","repo.empty":"No repositories yet. Add a public GitHub repository to get started.","repo.noSkills":"No matching skills. Refresh the repository or adjust your filters.","repo.url":"Repository URL","repo.ref":"Branch or tag (optional)","repo.directory":"Skill subdirectory (optional)","repo.defaultBranch":"Leave empty for the default branch","repo.defaultBranchLabel":"default branch","repo.directoryHint":"For example: skills. Leave empty to scan the repository.","repo.remove":"Remove repository","repo.removeHint":"This removes the subscription only. Installed skills are kept.","repo.removeConfirm":"Confirm removal","repo.cancel":"Cancel","repo.close":"Close","repo.loading":"Working\u2026","repo.success":"Completed","repo.installHint":"Skills may include scripts. Read the instructions and trust the source before installing. Resources are copied; scripts are not executed.","repo.commit":"Snapshot version","repo.notScanned":"Not scanned yet","repo.updated":"Last refreshed","repo.copyBody":"Copy body","repo.copied":"Copied","repo.copyFailed":"Copy failed","error.repo.tooLarge":"Repository archive exceeds 32 MiB. Choose a smaller repository; a subdirectory filter does not reduce the download size.","error.repo.installState":"Skill files were preserved but source tracking could not be saved. Restore disk write access and reopen Repositories to verify files and recover the record.","error.repo.capacity":"Source tracking exceeds 16 MiB. Remove unneeded Trash records or legacy identities first. Active installation copies are kept.","error.repo.invalid":"Invalid repository URL, path or contents. Check the input and repository size.","error.repo.network":"Repository request failed. Check your connection or retry later. The previous catalog was kept.","error.repo.state":"Repository state is corrupt or unreadable. Preserve the file and repair it before retrying.","error.repo.conflict":"A skill with this name exists or installation failed. Local files were not overwritten.","error.repo.enableState":"The copied skill was removed because its enabled state could not be saved. Restore disk write access and install again."}},hs=`
|
|
4
|
+
"use strict";var pn=Object.create;var hr=Object.defineProperty;var mn=Object.getOwnPropertyDescriptor;var fn=Object.getOwnPropertyNames;var gn=Object.getPrototypeOf,hn=Object.prototype.hasOwnProperty;var bn=(t,e,l,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let m of fn(e))!hn.call(t,m)&&m!==l&&hr(t,m,{get:()=>e[m],enumerable:!(d=mn(e,m))||d.enumerable});return t};var la=(t,e,l)=>(l=t!=null?pn(gn(t)):{},bn(e||!t||!t.__esModule?hr(l,"default",{value:t,enumerable:!0}):l,t));var ma=la(require("react"),1);var Ka={zh:{"repo.catalog.unknownLocation":"\u4F4D\u7F6E\u672A\u77E5","repo.catalog.reassociate":"\u9009\u62E9\u4F4D\u7F6E\u5E76\u91CD\u5173\u8054\u5B89\u88C5","repo.catalog.unknownHint":"\u6709\u65E7\u76EE\u5F55\u5B89\u88C5\u8BB0\u5F55\u4F4D\u7F6E\u672A\u77E5\uFF1B\u627E\u5230\u5BF9\u5E94\u6280\u80FD\u540E\u53EF\u9009\u62E9\u4F4D\u7F6E\u91CD\u5173\u8054\u5B89\u88C5\u3002","repo.catalog.loadMore":"\u518D\u52A0\u8F7D 10 \u6761","repo.catalog.installRefreshWarning":"\u6280\u80FD\u5DF2\u5B89\u88C5\u5E76\u542F\u7528\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u91CD\u65B0\u6253\u5F00\u53D1\u73B0\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5B89\u88C5\u3002","repo.catalog.uninstallRefreshWarning":"\u6280\u80FD\u5DF2\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\u3002\u8BF7\u5237\u65B0\u6280\u80FD\u5217\u8868\u6216\u91CD\u65B0\u6253\u5F00\u8BBE\u7F6E\u9875\uFF1B\u4E0D\u8981\u91CD\u590D\u5378\u8F7D\u3002","repo.installElsewhere":"\u5B89\u88C5\u5230\u5176\u4ED6\u4F4D\u7F6E","repo.destinationUnavailable":"\u539F\u9879\u76EE\u672A\u767B\u8BB0\u6216\u76EE\u5F55\u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u7BA1\u7406\u6B64\u526F\u672C\u3002\u8BF7\u5728\u4FA7\u680F\u91CD\u65B0\u767B\u8BB0\u539F\u9879\u76EE\u540E\u5237\u65B0\u3002","repo.scope.user":"\u5168\u5C40","repo.scope.project":"\u9879\u76EE","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"\u6B63\u5728\u68C0\u67E5\u66F4\u65B0\u2026","repo.refreshed":"\u5237\u65B0\u4E0E\u66F4\u65B0\u68C0\u67E5\u5B8C\u6210","repo.detailLoading":"\u6B63\u5728\u8BFB\u53D6\u6280\u80FD\u8BF4\u660E\u2026","repo.local":"\u672C\u673A","repo.source":"\u5B89\u88C5\u6765\u6E90","repo.update":"\u53EF\u66F4\u65B0","repo.review":"\u67E5\u770B\u66F4\u65B0","repo.rollback":"\u6062\u590D\u4E0A\u4E00\u7248","repo.confirmUpdate":"\u5907\u4EFD\u5E76\u66F4\u65B0","repo.confirmRollback":"\u5907\u4EFD\u5E76\u6062\u590D","repo.overwrite":"\u5907\u4EFD\u672C\u5730\u4FEE\u6539\u5E76\u66FF\u6362","repo.modified":"\u68C0\u6D4B\u5230\u672C\u5730\u4FEE\u6539\u3002\u66FF\u6362\u4F1A\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u539F\u6587\u4EF6\u5C06\u5B8C\u6574\u5907\u4EFD\uFF0C\u53EF\u6062\u590D\u3002","repo.noChanges":"\u6587\u4EF6\u5185\u5BB9\u6CA1\u6709\u53D8\u5316\u3002","repo.added":"\u65B0\u589E","repo.removed":"\u5220\u9664","repo.modifiedFile":"\u4FEE\u6539","repo.updating":"\u66F4\u65B0\u4E2D\u2026","repo.updateProgress":"\u6B63\u5728\u6821\u9A8C\u3001\u5907\u4EFD\u5E76\u66FF\u6362\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.updateSuccess":"\u66F4\u65B0\u5B8C\u6210\uFF0C\u5DF2\u4FDD\u7559\u4E0A\u4E00\u7248\u5907\u4EFD\u3002","repo.rollbackSuccess":"\u5DF2\u6062\u590D\u4E0A\u4E00\u7248\u3002","repo.manageUpdate":"\u7BA1\u7406\u66F4\u65B0","error.repo.modified":"\u5B58\u5728\u672C\u5730\u4FEE\u6539\uFF0C\u8BF7\u9884\u89C8\u5E76\u786E\u8BA4\u5907\u4EFD\u540E\u66FF\u6362\u3002","scope.repositories":"\u53D1\u73B0\u6280\u80FD","repo.add":"\u6DFB\u52A0\u4ED3\u5E93","repo.manage":"\u7BA1\u7406\u4ED3\u5E93","repo.refresh":"\u5237\u65B0\u5E76\u68C0\u67E5\u66F4\u65B0","repo.save":"\u6DFB\u52A0\u5E76\u626B\u63CF","repo.subsource.github":"GitHub \u4ED3\u5E93","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"\u70ED\u95E8\u4E0B\u8F7D Top 100","repo.catalog.states":"\u5168\u90E8\u72B6\u6001","repo.catalog.uninstalled":"\u672A\u5B89\u88C5","repo.catalog.searchClawhub":"\u641C\u7D22 ClawHub \u6280\u80FD","repo.catalog.searchLoading":"\u6B63\u5728\u641C\u7D22 ClawHub\u2026","repo.catalog.searchEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 ClawHub \u6280\u80FD\u3002","repo.catalog.searchError":"ClawHub \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.catalog.searchSkillsh":"\u641C\u7D22 skills.sh \u6280\u80FD","repo.catalog.skillshLoading":"\u6B63\u5728\u641C\u7D22 skills.sh\u2026","repo.catalog.skillshEmpty":"\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684 skills.sh \u6280\u80FD\u3002","repo.catalog.skillshError":"skills.sh \u641C\u7D22\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002","repo.sort.installs":"\u5B89\u88C5\u91CF\u4ECE\u9AD8\u5230\u4F4E","repo.sort.name":"\u540D\u79F0 A-Z","repo.subsource.catalogNote":"ClawHub \u4E0B\u8F7D\u91CF\u699C \xB7 \u6700\u591A 100 \u6761\uFF0C\u4EC5\u5BF9\u5F53\u524D\u663E\u793A\u6761\u76EE\u6392\u5E8F","repo.catalog.empty":"ClawHub \u5F53\u524D\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","repo.catalog.loading":"\u6B63\u5728\u52A0\u8F7D ClawHub \u699C\u5355\u2026","repo.catalog.loadError":"ClawHub \u699C\u5355\u52A0\u8F7D\u5931\u8D25\u3002\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\u91CD\u8BD5\u3002","repo.catalog.retry":"\u91CD\u8BD5","repo.catalog.loadingMore":"\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u2026","repo.catalog.downloads":"\u4E0B\u8F7D","repo.catalog.installs":"\u5B89\u88C5","repo.catalog.stars":"\u661F\u6807","repo.hint":"\u4ECE\u5DF2\u8BA2\u9605\u7684 GitHub \u4ED3\u5E93\u6216\u7B2C\u4E09\u65B9\u76EE\u5F55\u53D1\u73B0\u6280\u80FD\uFF0C\u5B89\u88C5\u5230\u7528\u6237\u76EE\u5F55\u7684 DSH skills \u6216 Shared Agent\uFF0C\u6216\u5DF2\u767B\u8BB0\u9879\u76EE\u7684 .dsh/skills\u3002","repo.footer":"\u5237\u65B0\u4F1A\u68C0\u67E5\u4ED3\u5E93\u4E0E\u6280\u80FD\u66F4\u65B0\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u66FF\u6362\u672C\u5730\u6587\u4EF6\u3002\u5386\u53F2\u5907\u4EFD\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406\uFF0C\u5360\u7528\u7A7A\u95F4\u4F1A\u968F\u66F4\u65B0\u589E\u52A0\u3002","repo.search":"\u641C\u7D22\u4ED3\u5E93\u6280\u80FD","repo.all":"\u5168\u90E8\u4ED3\u5E93","repo.states":"\u5168\u90E8\u72B6\u6001","repo.available":"\u53EF\u5B89\u88C5","repo.installed":"\u5DF2\u5B89\u88C5","repo.conflict":"\u540C\u540D\u51B2\u7A81","repo.invalid":"\u683C\u5F0F\u65E0\u6548","repo.install":"\u5B89\u88C5","repo.detail":"\u8BE6\u60C5","repo.installing":"\u5B89\u88C5\u4E2D\u2026","repo.installProgress":"\u6B63\u5728\u8BFB\u53D6\u5E76\u6821\u9A8C\u6280\u80FD\u6587\u4EF6\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.installSuccess":"\u5B89\u88C5\u6210\u529F\u5E76\u5DF2\u542F\u7528\uFF0C\u53EF\u5728\u5BF9\u8BDD\u4E2D\u7528\u659C\u6760\u8C03\u7528\u3002","repo.installDestination":"\u5B89\u88C5\u4F4D\u7F6E","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"\u4EC5\u4F9B DSH \u4F7F\u7528\uFF0C\u8DEF\u5F84\u4EE5\u5F53\u524D DSH_HOME \u4E3A\u51C6\u3002","repo.rootExternalHint":"\u4F7F\u7528\u8BE5\u76EE\u5F55\u7684\u5176\u4ED6 Agent \u4E5F\u80FD\u8BFB\u53D6\u6B64\u6280\u80FD\u3002","repo.installLocationsHint":"\u7528\u6237\u76EE\u5F55\u53EF\u9009 DSH skills \u6216 Shared Agent\uFF1B\u5DF2\u767B\u8BB0\u9879\u76EE\u4EC5\u5199\u5165 .dsh/skills\u3002\u9009\u62E9\u5668\u663E\u793A\u5B9E\u9645\u8DEF\u5F84\u3002\u7F3A\u5C11\u7684\u76EE\u5F55\u4F1A\u5728\u786E\u8BA4\u5B89\u88C5\u540E\u521B\u5EFA\u3002\u4E0D\u5B89\u5168\u7684\u8DEF\u5F84\u4E0D\u53EF\u9009\u3002","repo.uninstall":"\u5378\u8F7D","repo.confirmUninstall":"\u79FB\u81F3\u56DE\u6536\u7AD9","repo.uninstallHint":"\u4EC5\u5C06\u6B64\u4ED3\u5E93\u5DF2\u8DDF\u8E2A\u7684\u5B89\u88C5\u526F\u672C\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u5305\u62EC\u672C\u5730\u4FEE\u6539\u3002\u4E4B\u540E\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.uninstallExternalWarning":"\u5378\u8F7D\u8BE5\u6280\u80FD\u4E5F\u4F1A\u5F71\u54CD\u4F7F\u7528\u6240\u9009\u76EE\u5F55\u7684\u5176\u4ED6 Agent\u3002","repo.uninstalling":"\u5378\u8F7D\u4E2D\u2026","repo.uninstallProgress":"\u6B63\u5728\u5C06\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u8BF7\u7A0D\u5019\u2026","repo.uninstallSuccess":"\u6280\u80FD\u5DF2\u79FB\u81F3\u56DE\u6536\u7AD9\uFF0C\u53EF\u5728\u56DE\u6536\u7AD9\u6062\u590D\u3002","repo.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u4ED3\u5E93\uFF0C\u6DFB\u52A0\u4E00\u4E2A\u516C\u5F00 GitHub \u4ED3\u5E93\u5F00\u59CB\u3002","repo.noSkills":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002\u53EF\u5237\u65B0\u4ED3\u5E93\u6216\u8C03\u6574\u7B5B\u9009\u3002","repo.url":"\u4ED3\u5E93\u5730\u5740","repo.ref":"\u5206\u652F\u6216\u6807\u7B7E\uFF08\u53EF\u9009\uFF09","repo.directory":"\u6280\u80FD\u5B50\u76EE\u5F55\uFF08\u53EF\u9009\uFF09","repo.defaultBranch":"\u7559\u7A7A\u4F7F\u7528\u9ED8\u8BA4\u5206\u652F","repo.defaultBranchLabel":"\u9ED8\u8BA4\u5206\u652F","repo.directoryHint":"\u4F8B\u5982 skills\uFF0C\u7559\u7A7A\u626B\u63CF\u6574\u4E2A\u4ED3\u5E93","repo.remove":"\u79FB\u9664\u4ED3\u5E93","repo.removeHint":"\u4EC5\u79FB\u9664\u4ED3\u5E93\u8BA2\u9605\uFF0C\u5DF2\u5B89\u88C5\u7684\u6280\u80FD\u4F1A\u4FDD\u7559\u3002","repo.removeConfirm":"\u786E\u8BA4\u79FB\u9664","repo.cancel":"\u53D6\u6D88","repo.close":"\u5173\u95ED","repo.loading":"\u5904\u7406\u4E2D\u2026","repo.success":"\u64CD\u4F5C\u5B8C\u6210","repo.installHint":"\u6280\u80FD\u53EF\u80FD\u5305\u542B\u811A\u672C\uFF0C\u8BF7\u5148\u67E5\u770B\u8BF4\u660E\u5E76\u786E\u8BA4\u4FE1\u4EFB\u6765\u6E90\u3002\u5B89\u88C5\u4F1A\u4FDD\u7559\u8D44\u6E90\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u6267\u884C\u811A\u672C\u3002","repo.commit":"\u626B\u63CF\u7248\u672C","repo.notScanned":"\u5C1A\u672A\u626B\u63CF","repo.updated":"\u4E0A\u6B21\u5237\u65B0","repo.copyBody":"\u590D\u5236\u6B63\u6587","repo.copied":"\u5DF2\u590D\u5236","repo.copyFailed":"\u590D\u5236\u5931\u8D25","error.repo.tooLarge":"\u4ED3\u5E93\u5F52\u6863\u8D85\u8FC7 32 MiB\uFF0C\u8BF7\u9009\u62E9\u8F83\u5C0F\u7684\u6280\u80FD\u4ED3\u5E93\uFF1B\u5B50\u76EE\u5F55\u7B5B\u9009\u4E0D\u4F1A\u7F29\u5C0F\u4E0B\u8F7D\u91CF\u3002","error.repo.installState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u4FDD\u7559\uFF0C\u4F46\u6765\u6E90\u72B6\u6001\u672A\u786E\u8BA4\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u65B0\u6253\u5F00\u4ED3\u5E93\u9875\uFF0C\u7CFB\u7EDF\u4F1A\u6821\u9A8C\u6587\u4EF6\u5E76\u6062\u590D\u8BB0\u5F55\u3002","error.repo.capacity":"\u5B89\u88C5\u6765\u6E90\u72B6\u6001\u8D85\u8FC7 16 MiB\u3002\u8BF7\u5148\u6E05\u7406\u4E0D\u9700\u8981\u7684\u56DE\u6536\u8BB0\u5F55\u6216\u65E7\u8EAB\u4EFD\uFF0C\u4ECD\u6709\u6548\u7684\u5B89\u88C5\u526F\u672C\u4F1A\u4FDD\u7559\u3002","error.repo.invalid":"\u4ED3\u5E93\u5730\u5740\u3001\u8DEF\u5F84\u6216\u5185\u5BB9\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165\u53CA\u4ED3\u5E93\u5927\u5C0F\u3002","error.repo.network":"\u4ED3\u5E93\u8BBF\u95EE\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u6216\u7A0D\u540E\u91CD\u8BD5\u3002\u4E0A\u6B21\u5217\u8868\u5DF2\u4FDD\u7559\u3002","error.repo.state":"\u4ED3\u5E93\u72B6\u6001\u6587\u4EF6\u635F\u574F\u6216\u65E0\u6CD5\u8BFB\u53D6\uFF0C\u8BF7\u4FDD\u7559\u6587\u4EF6\u5E76\u4FEE\u590D\u540E\u91CD\u8BD5\u3002","error.repo.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728\u6216\u5B89\u88C5\u5931\u8D25\uFF0C\u672C\u5730\u6587\u4EF6\u672A\u88AB\u8986\u76D6\u3002","error.repo.enableState":"\u6280\u80FD\u6587\u4EF6\u5DF2\u64A4\u9500\uFF0C\u4F46\u542F\u7528\u72B6\u6001\u65E0\u6CD5\u5199\u5165\u3002\u8BF7\u6062\u590D\u78C1\u76D8\u5199\u5165\u540E\u91CD\u8BD5\u5B89\u88C5\u3002"},en:{"repo.catalog.unknownLocation":"Location unknown","repo.catalog.reassociate":"Choose destination and reinstall to reassociate","repo.catalog.unknownHint":"Some legacy catalog installs have unknown locations. Find the skill and choose a destination to reinstall and reassociate.","repo.catalog.loadMore":"Load 10 more","repo.catalog.installRefreshWarning":"Installed and enabled, but the list could not refresh. Reopen Discover Skills; do not install again.","repo.catalog.uninstallRefreshWarning":"Moved to trash, but the list could not refresh. Refresh the skill list or reopen Settings; do not uninstall again.","repo.installElsewhere":"Install elsewhere","repo.destinationUnavailable":"The original project is unregistered or unavailable. Re-register it in the sidebar and refresh to manage this copy.","repo.scope.user":"Global","repo.scope.project":"Project","repo.source.dsh":"DSH","repo.source.agents":"Shared Agent","repo.refreshing":"Checking updates\u2026","repo.refreshed":"Refresh and update check completed","repo.detailLoading":"Loading skill instructions\u2026","repo.local":"Local","repo.source":"Installed from","repo.update":"Update available","repo.review":"Review update","repo.rollback":"Restore previous version","repo.confirmUpdate":"Back up and update","repo.confirmRollback":"Back up and restore","repo.overwrite":"Back up local edits and replace","repo.modified":"Local edits detected. Replacement overwrites current files and keeps a complete backup for restoration.","repo.noChanges":"No file changes.","repo.added":"Added","repo.removed":"Removed","repo.modifiedFile":"Modified","repo.updating":"Updating\u2026","repo.updateProgress":"Verifying, backing up and replacing files. Please wait\u2026","repo.updateSuccess":"Updated. Previous version backed up.","repo.rollbackSuccess":"Previous version restored.","repo.manageUpdate":"Manage updates","error.repo.modified":"Local edits detected. Review and confirm replacement with a backup.","scope.repositories":"Discover Skills","repo.add":"Add repository","repo.manage":"Manage repositories","repo.refresh":"Refresh & check updates","repo.save":"Add and scan","repo.subsource.github":"GitHub Repos","repo.subsource.skillsh":"skills.sh","repo.subsource.clawhub":"ClawHub","repo.subsource.popular":"Top 100 by downloads","repo.catalog.states":"All statuses","repo.catalog.uninstalled":"Not installed","repo.catalog.searchClawhub":"Search ClawHub skills","repo.catalog.searchLoading":"Searching ClawHub\u2026","repo.catalog.searchEmpty":"No matching ClawHub skills were found.","repo.catalog.searchError":"ClawHub search failed. Please retry.","repo.catalog.searchSkillsh":"Search skills.sh","repo.catalog.skillshLoading":"Searching skills.sh\u2026","repo.catalog.skillshEmpty":"No matching skills.sh skills were found.","repo.catalog.skillshError":"skills.sh search failed. Please retry.","repo.sort.installs":"Installs: high to low","repo.sort.name":"Name A\u2013Z","repo.subsource.catalogNote":"ClawHub download ranking \xB7 Up to 100; sort only displayed items","repo.catalog.empty":"No matching skills were returned by ClawHub.","repo.catalog.loading":"Loading ClawHub ranking\u2026","repo.catalog.loadError":"Failed to load the ClawHub ranking. Check your connection and retry.","repo.catalog.retry":"Retry","repo.catalog.loadingMore":"Loading more\u2026","repo.catalog.downloads":"downloads","repo.catalog.installs":"installs","repo.catalog.stars":"stars","repo.hint":"Discover skills from subscribed GitHub repositories or community registries, and install them to user DSH skills or Shared Agent, or a registered project's .dsh/skills.","repo.footer":"Refresh checks repositories and skill updates without replacing local files. Historical backups are not cleaned automatically and use additional disk space.","repo.search":"Search repository skills","repo.all":"All repositories","repo.states":"All statuses","repo.available":"Available","repo.installed":"Installed","repo.conflict":"Name conflict","repo.invalid":"Invalid format","repo.install":"Install","repo.detail":"Details","repo.installing":"Installing\u2026","repo.installProgress":"Reading and verifying skill files. Please wait\u2026","repo.installSuccess":"Installed and enabled. Invoke it from the slash menu.","repo.installDestination":"Installation destination","repo.rootDsh":"DSH skills","repo.rootAgents":"Shared Agent","repo.rootDshHint":"For DSH only. The path uses your current DSH_HOME.","repo.rootExternalHint":"Other agents using this directory can read this skill too.","repo.installLocationsHint":"User directories offer DSH skills or Shared Agent; registered projects write only to .dsh/skills. The chooser shows actual paths. Missing directories are created after confirmation. Unsafe paths cannot be selected.","repo.uninstall":"Uninstall","repo.confirmUninstall":"Move to Trash","repo.uninstallHint":"Move only this repository\u2019s tracked installed copy, including local edits, to Trash. You can restore it from Trash later.","repo.uninstallExternalWarning":"Uninstalling this skill also affects other agents that use the selected directory.","repo.uninstalling":"Uninstalling\u2026","repo.uninstallProgress":"Moving the installed skill to Trash. Please wait\u2026","repo.uninstallSuccess":"Skill moved to Trash. You can restore it from Trash.","repo.empty":"No repositories yet. Add a public GitHub repository to get started.","repo.noSkills":"No matching skills. Refresh the repository or adjust your filters.","repo.url":"Repository URL","repo.ref":"Branch or tag (optional)","repo.directory":"Skill subdirectory (optional)","repo.defaultBranch":"Leave empty for the default branch","repo.defaultBranchLabel":"default branch","repo.directoryHint":"For example: skills. Leave empty to scan the repository.","repo.remove":"Remove repository","repo.removeHint":"This removes the subscription only. Installed skills are kept.","repo.removeConfirm":"Confirm removal","repo.cancel":"Cancel","repo.close":"Close","repo.loading":"Working\u2026","repo.success":"Completed","repo.installHint":"Skills may include scripts. Read the instructions and trust the source before installing. Resources are copied; scripts are not executed.","repo.commit":"Snapshot version","repo.notScanned":"Not scanned yet","repo.updated":"Last refreshed","repo.copyBody":"Copy body","repo.copied":"Copied","repo.copyFailed":"Copy failed","error.repo.tooLarge":"Repository archive exceeds 32 MiB. Choose a smaller repository; a subdirectory filter does not reduce the download size.","error.repo.installState":"Skill files were preserved but source tracking could not be saved. Restore disk write access and reopen Repositories to verify files and recover the record.","error.repo.capacity":"Source tracking exceeds 16 MiB. Remove unneeded Trash records or legacy identities first. Active installation copies are kept.","error.repo.invalid":"Invalid repository URL, path or contents. Check the input and repository size.","error.repo.network":"Repository request failed. Check your connection or retry later. The previous catalog was kept.","error.repo.state":"Repository state is corrupt or unreadable. Preserve the file and repair it before retrying.","error.repo.conflict":"A skill with this name exists or installation failed. Local files were not overwritten.","error.repo.enableState":"The copied skill was removed because its enabled state could not be saved. Restore disk write access and install again."}},yn=`
|
|
5
5
|
.dssm-subsources{display:flex;align-items:center;gap:6px;margin:0;border-bottom:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);padding-bottom:6px}
|
|
6
6
|
.dssm-subsource-btn{padding:5px 12px;border:0.5px solid var(--dsw-alias-border-l2,#494949);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);border-radius:var(--dsw-radius-sm,8px);font-size:12px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
|
|
7
7
|
.dssm-subsource-btn:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eee)}
|
|
@@ -14,7 +14,7 @@ var exports = module.exports;
|
|
|
14
14
|
.dssm-meta-origin{color:var(--dsw-alias-label-secondary,#8e8e8e);font-size:11px;margin-top:2px}
|
|
15
15
|
.dssm-btn-danger:not(:disabled){color:var(--dsw-alias-state-error-primary,#ef7272)}
|
|
16
16
|
.dssm-status-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--dsw-radius-sm,8px)}
|
|
17
|
-
.dssm-repo-row .dssm-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-repo-row{display:flex;flex-direction:column;gap:6px;padding:11px 13px;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);background:transparent}.dssm-repo-head{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.dssm-repo-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-repo-actions button{flex:none}.dssm-repo-actions .dssm-repo-copy-actions{gap:8px;margin-left:0}.dssm-repo-main{flex:1;min-width:0}.dssm-repo-main>.dssm-repo-metadata{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-description{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-repo-copies{display:flex;flex-direction:column;gap:2px;min-width:0}.dssm-repo-copy{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent}.dssm-repo-copy .dssm-repo-metadata{font-size:12px;line-height:18px}.dssm-repo-copy-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}.dssm-repo-spinner{display:inline-block;width:12px;height:12px;margin-right:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;corner-shape:round;animation:dssm-repo-spin .8s linear infinite}@keyframes dssm-repo-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dssm-repo-spinner{animation:none}}.dssm-repo-commit-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;line-height:16px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);margin-left:12px;white-space:nowrap;user-select:all}.dssm-repo-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-repo-panel .dssm-desc{margin:0}.dssm-repo-metadata{font-size:11px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow-wrap:anywhere}.dssm-repo-panel .dssm-source{flex-shrink:0;overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-repo-panel .dssm-source-title{font-size:14px;font-weight:650;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:7px}.dssm-repo-panel .dssm-source-brand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-panel .dssm-source-brand svg{width:16px;height:16px;display:block}.dssm-repo-panel .dssm-source-path{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-repo-panel .dssm-count{padding:1px 6px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-bg-layer-2,rgba(255,255,255,0.08));font-size:11px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-manage-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.dssm-repo-manage-row .dssm-repo-main{flex:1}.dssm-repo-manage-row .dssm-repo-actions{margin-left:auto}.dssm-repo-manage-row .dssm-repo-actions button{width:auto;flex:none}.dssm-repo-head .dssm-repo-actions{gap:8px}.dssm-repo-actions>.dssm-repo-copy-actions{display:contents}.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-repo-copies{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:2px}.dssm-repo-copy{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 4px 4px 8px;border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1,rgba(255,255,255,0.04))}.dssm-repo-copy .dssm-repo-metadata{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-copy .dssm-repo-copy-actions{margin-left:0}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger{border-color:var(--dsw-alias-border-l2,#494949)}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger:not(:disabled):hover{color:var(--dsw-alias-state-error-primary,#ef7272)!important;border-color:var(--dsw-alias-state-error-primary,#ef7272)!important}.dssm-repo-copy .dssm-repo-metadata{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dssm-location-lead{flex:0 1 auto;max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-location-path{margin-left:auto;min-width:0;max-width:50%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}`;function br({react:t,Modal:e,Input:d,Button:l,SourceSelect:p,destination:f,api:g,headers:h,translateError:v,getLocale:x}){let s=t.createElement;function H(E){return s("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},s("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}let U=l,{DestinationPicker:X,defaultDestination:ue,destinationPayload:be,destinationReady:S}=f;return function({active:B,t:u,onInstalled:_}){let[C,K]=t.useState([]),[j,Me]=t.useState([]),[y,Z]=t.useState(!1),[ye,ze]=t.useState(null),[rt,J]=t.useState(null),[re,Ve]=t.useState(null),[Zt,Ge]=t.useState(""),[ut,Mt]=t.useState(""),[We,Yt]=t.useState(""),[zt,ie]=t.useState({}),[b,F]=t.useState(null),[se,pt]=t.useState(ue()),[xe,ha]=t.useState([]),[Y,It]=t.useState("github"),[le,ba]=t.useState(""),[mt,Ht]=t.useState(""),[Dt,ge]=t.useState(""),[Ne,Jt]=t.useState([]),[Ia,Gt]=t.useState([]),[ya,Ut]=t.useState([]),[Ke,Ha]=t.useState([]),[st,Se]=t.useState([]),[gt,qe]=t.useState("idle");function Qe(a){if(typeof navigator>"u"||!navigator.clipboard){qe("failed");return}navigator.clipboard.writeText(a).then(()=>{qe("copied"),setTimeout(()=>qe("idle"),1500)}).catch(()=>qe("failed"))}let[ft,nt]=t.useState(!0),[Ie,ne]=t.useState(!1),[ht,Xt]=t.useState(!1),[va,bt]=t.useState([]),[_t,jt]=t.useState(!1),[Xe,yt]=t.useState(!1),_e=t.useRef(0),ae=t.useRef(null),fe=t.useRef(null),[ot,$t]=t.useState(""),[ea,Da]=t.useState(""),[vt,wt]=t.useState([]),[ta,Re]=t.useState(!1),[Ze,aa]=t.useState(!1),He=t.useRef(0),Ae=t.useRef(null),De=t.useRef(null),Pt=t.useRef({cursor:null,count:0,hasMore:!0}),Ye=t.useRef(null),$e=t.useRef(null),[et,ra]=t.useState({url:"",ref:"",subdirectory:""}),Ue=t.useRef(!1),D=t.useRef(!0);t.useEffect(()=>(D.current=!0,()=>{D.current=!1}),[]);async function it(){let a=await g("/repositories");if(D.current){let i=(a.installRoots||[]).filter(c=>c.key==="dsh"||c.key==="agents");K(a.repositories||[]),Me(i),Gt(a.catalogInstalls||[]),Ut(a.catalogCopies||[]),Ha(a.catalogUnknownIds||[]),Se(a.catalogWarnings||[]),se.scope==="user"&&!i.some(c=>c.key===se.location&&c.available)&&pt({...se,location:i.find(c=>c.available)?.key||"dsh"}),g("/workspaces").then(c=>{D.current&&ha(c.items||[])}).catch(()=>{})}}function Ua(a){if(a.key==="dsh"||a.key==="agents")return u(a.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let i="root."+(a.localeKey||a.key),c=u(i);return c===i?a.label:c}function nr(a){let i=j.find(c=>c.key===a);return i?Ua(i):u("root."+a)}function Ee(a){if(a.installedWorkspace){let i=m=>{let k=m.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(k)?k.toLowerCase():k},c=xe.find(m=>m.projectRoot&&i(m.projectRoot)===i(a.installedWorkspace));return c?.available&&c.registeredPaths[0]?{workspace:c.registeredPaths[0]}:null}return a.installedRoot==="dsh"||a.installedRoot==="agents"?{root:a.installedRoot}:null}function kt(a){return a.installedWorkspace||a.installedRoot?xt(a):""}function wa(a){let i=a.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(i)?i.toLowerCase():i}function Ot(a){let i=xe.find(k=>k.projectRoot&&wa(k.projectRoot)===wa(a));if(i?.name)return i.name;let c=a.replace(/[\\/]+$/,""),m=Math.max(c.lastIndexOf("/"),c.lastIndexOf("\\"));return m>=0?c.slice(m+1):c}function ka(a){let i=!!a.installedWorkspace,c=i?"dsh":a.installedRoot,m=u(c==="agents"?"repo.source.agents":"repo.source.dsh"),k=u(i?"repo.scope.project":"repo.scope.user"),A=i?a.installedWorkspace||"":j.find(L=>L.key===c)?.path||"";return{lead:i?[k,Ot(a.installedWorkspace||""),m].filter(Boolean).join(" \xB7 "):[k,m].filter(Boolean).join(" \xB7 "),path:A}}function xt(a){let i=ka(a);return i.path?i.lead+" "+i.path:i.lead}function xa(a){let i=ka(a);return s("div",{className:"dssm-repo-metadata",title:xt(a)},s("span",{className:"dssm-location-lead"},i.lead),i.path?s("span",{className:"dssm-location-path",title:i.path},i.path):null)}function Bt(a){return a.slice().sort((i,c)=>+!!i.installedWorkspace-+!!c.installedWorkspace)}function ja(a){return Bt((a.installations??(a.installedRoot?[a]:[])).filter(i=>i.tracked===!0))}function sa(a){let i=a,c=v(u,a)||i.message||String(a),m=i?.params?.path;return typeof m=="string"&&m&&!c.includes(m)?c+" \xB7 "+m:c}function Sa(a){return a.payload?sa(a.payload):(a.key?u(a.key):a.text||"")+(a.name?" \xB7 "+a.name:"")}async function ve(a,i=!0,c=!1){if(!Ue.current){Ue.current=!0,c||(Z(!0),J(null));try{await a(),i&&await it()}catch(m){let k=m;D.current&&J({error:!0,payload:k})}finally{Ue.current=!1,D.current&&Z(!1)}}}function je(a,i){return g(`/repositories/${a}`,{method:"POST",headers:h,body:JSON.stringify(i)})}let St=t.useRef(!1);async function Ct(a=!1,i=!1,c=le){if(!B||c.trim()||Ye.current||i&&St.current)return;let m=Pt.current;if(!a&&(!m.hasMore||m.count>=100))return;i&&(St.current=!0);let k=a?0:m.count,A=new AbortController;Ye.current=A,ne(!0),Xt(!1),a&&(Pt.current={cursor:null,count:0,hasMore:!0},Jt([]));try{let O=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-k))}),L=a?null:m.cursor;L&&O.set("cursor",L);let pe=await g(`/clawhub/list?${O.toString()}`,{signal:A.signal});if(Ye.current!==A||A.signal.aborted||!D.current)return;if(!Array.isArray(pe.items))throw new Error("ClawHub response has no items array");let mr=pe.items.flatMap(G=>{if(typeof G.ownerHandle!="string"||!G.ownerHandle||typeof G.slug!="string"||!G.slug)return[];let Va=Wa=>typeof Wa=="number"&&Number.isFinite(Wa)?Wa:void 0;return[{id:G.ownerHandle+"/"+G.slug,owner:G.ownerHandle,slug:G.slug,name:typeof G.displayName=="string"&&G.displayName?G.displayName:G.slug,source:G.ownerHandle+"/"+G.slug,description:typeof G.summary=="string"?G.summary:"",downloads:Va(G.stats?.downloads),installs:Va(G.stats?.installs),stars:Va(G.stats?.stars)}]}).slice(0,Math.max(0,100-k)),gr=typeof pe.nextCursor=="string"&&pe.nextCursor?pe.nextCursor:null,fr=k+mr.length;if(Pt.current={cursor:gr,count:fr,hasMore:!!gr&&fr<100},!D.current)return;Jt(G=>[...a?[]:G,...mr].slice(0,100)),nt(Pt.current.hasMore)}catch{Ye.current===A&&!A.signal.aborted&&D.current&&Xt(!0)}finally{Ye.current===A&&(Ye.current=null,St.current=!1,D.current&&ne(!1))}}function Ca(){fe.current&&clearTimeout(fe.current),fe.current=null,_e.current++,ae.current?.abort(),ae.current=null,D.current&&jt(!1)}async function na(a){let i=++_e.current,c=new AbortController;ae.current?.abort(),ae.current=c,bt([]),jt(!0),yt(!1);try{let m=new URLSearchParams({q:a,limit:"100"}),k=await g(`/clawhub/search?${m.toString()}`,{signal:c.signal});if(!Array.isArray(k.results))throw new Error("ClawHub search response has no results array");let A=L=>typeof L=="number"&&Number.isFinite(L)?L:void 0,O=k.results.flatMap(L=>{if(typeof L.source=="string"&&L.source!=="clawhub")return[];let pe=typeof L.ownerHandle=="string"?L.ownerHandle:L.owner?.handle;return typeof pe!="string"||!pe||typeof L.slug!="string"||!L.slug?[]:[{id:typeof L.id=="string"?L.id:pe+"/"+L.slug,owner:pe,slug:L.slug,name:typeof L.displayName=="string"&&L.displayName?L.displayName:L.slug,source:pe+"/"+L.slug,description:typeof L.summary=="string"?L.summary:"",downloads:A(L.downloads)??A(L.stats?.downloads),installs:A(L.stats?.installs),stars:A(L.stats?.stars)}]});i===_e.current&&D.current&&bt(O)}catch(m){let k=m?.name==="AbortError";i===_e.current&&D.current&&!k&&yt(!0)}finally{i===_e.current&&(ae.current=null,D.current&&jt(!1))}}function Pa(a){ba(a),Ca(),bt([]),yt(!1);let i=a.trim().slice(0,100);if(!i){Y==="clawhub"&&!Ne.length&&!Ie&&Ct(!0,!1,i);return}jt(!0),fe.current=setTimeout(()=>{fe.current=null,na(i)},300)}function Pe(){De.current&&clearTimeout(De.current),De.current=null,He.current++,Ae.current?.abort(),Ae.current=null,D.current&&Re(!1)}async function oe(a){let i=++He.current,c=new AbortController;Ae.current?.abort(),Ae.current=c,wt([]),Re(!0),aa(!1);try{let m=await g(`/skills-sh/search?q=${encodeURIComponent(a)}`,{signal:c.signal});i===He.current&&D.current&&wt(m.skills)}catch(m){let k=m?.name==="AbortError";i===He.current&&D.current&&!k&&aa(!0)}finally{i===He.current&&(Ae.current=null,D.current&&Re(!1))}}function Na(a){$t(a),De.current&&clearTimeout(De.current),De.current=null,He.current++,Ae.current?.abort(),Ae.current=null,wt([]),Re(!1),aa(!1);let i=a.trim();i&&(De.current=setTimeout(()=>{De.current=null,oe(i)},300))}function lt(a){F(null),It(a)}function dt(a){let i=a.getBoundingClientRect(),c=a.parentElement;for(;c;){let m=getComputedStyle(c);if(/(auto|scroll)/.test(`${m.overflowY} ${m.overflow}`)&&c.scrollHeight>c.clientHeight+1){let k=c.getBoundingClientRect();return i.top<=k.bottom+80&&i.bottom>=k.top}c=c.parentElement}return i.top<=window.innerHeight+80}function Nt(a){if(b||a.defaultPrevented||a.deltaY<=0||Y!=="clawhub"||le.trim()||!ft||ht||!a.target||!a.currentTarget.contains(a.target))return;let i=$e.current;!i||typeof i.getBoundingClientRect!="function"||!dt(i)||Ct(!1,!0)}async function oa(a){let i=await je("refresh",{id:a});i.error&&J({error:!0,payload:i.error})}function Ft(a){return ve(async()=>{let i=!1;try{for(let c=0;c<a.length;c++){let m=a[c];ze({id:m.id,name:m.owner+"/"+m.name,index:c+1,total:a.length});let k=await je("refresh",{id:m.id});k.error&&(i=!0,J({error:!0,payload:k.error}))}await it(),!i&&D.current&&J({key:"repo.refreshed"})}finally{D.current&&ze(null)}},!1)}function Oe(a,i){return ve(async()=>{qe("idle"),F({type:"detail",repo:a,loading:!0});try{let c=await je("detail",{id:a.id,path:i.path});D.current&&F({type:"detail",detail:c,repo:a})}catch(c){let m=c;throw D.current&&F({type:"detail",repo:a,failed:!0}),m}},!1,!0)}function Rt(a){return ve(async()=>{qe("idle"),F({type:"catalog-detail",loading:!0});try{let i=await g("/catalog/detail",{method:"POST",headers:h,body:JSON.stringify(a)});D.current&&F({type:"catalog-detail",detail:i})}catch(i){let c=i;throw D.current&&F({type:"catalog-detail",failed:!0}),c}},!1,!0)}function ia(a){Ue.current||(J(null),F({type:"catalog-install",target:a}))}function Ra(){if(!b||b.type!=="catalog-install"||!S(se,xe,j))return;let a=b.target,i=be(se);return ve(async()=>{let c=await g("/catalog/install",{method:"POST",headers:h,body:JSON.stringify({...a,...i})});if(!D.current)return;let m=a.catalog==="skillsh"?`skillsh:${a.source}/${a.skillId}`:`clawhub:${a.owner}/${a.slug}`;Gt(O=>O.includes(m)?O:[...O,m]);let k=i.root||"dsh";Ut(O=>O.some(L=>L.id===m&&L.installedRoot===k&&L.installedWorkspace===i.workspace)?O:[...O,{id:m,name:c.name,installedRoot:k,...i.workspace?{installedWorkspace:i.workspace}:{},canUninstall:!0}]),J({key:"repo.installSuccess",name:a.name}),F(null);let A=await Promise.allSettled([it(),Promise.resolve().then(()=>_?.())]);D.current&&A.some(O=>O.status==="rejected")&&J({key:"repo.catalog.installRefreshWarning",name:a.name})},!1)}t.useEffect(()=>{B&&ve(it,!1)},[B]),t.useEffect(()=>(B&&(Y==="clawhub"?le.trim()?na(le.trim()):Ne.length||Ct(!0):Y==="skillsh"&&ot.trim()&&oe(ot.trim())),()=>{Ca(),Pe(),Ye.current?.abort(),Ye.current=null,St.current=!1,D.current&&ne(!1)}),[B,Y]);function $(a,i,c=!0,m=!1,k=!1){return s(U,{variant:c?"outline":"primary",className:k?"dssm-btn-danger":void 0,disabled:y||m,onClick:i},u(a))}function r(a){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("path",{d:a,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function o(a,i,c=!1,m){var k=a==="repo.uninstall"||a==="repo.uninstalling"||a==="repo.remove",A=a==="repo.installed"||a==="repo.installedSuccess",O=a==="repo.conflict",L=a==="repo.refresh"||a==="repo.refreshing"?"M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10":a==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":a==="repo.installElsewhere"?"M8 3v10M3 8h10":a==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":a==="repo.review"?"M2.5 8s2.2-3.5 5.5-3.5S13.5 8 13.5 8s-2.2 3.5-5.5 3.5S2.5 8 2.5 8M8 6.3a1.7 1.7 0 1 1 0 3.4 1.7 1.7 0 0 1 0-3.4":a==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":k?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":O?"M8 2.5l5.5 10.5H2.5L8 2.5zm0 3.5v3.5m0 2v.5":"M8 2.5v7M5.2 7.2 8 10l2.8-2.8M3.5 13.5h9";return s(U,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(k?" dssm-icon-danger":A?" dssm-icon-success":O?" dssm-icon-warn":""),"aria-label":u(a),title:m||u(a),icon:r(L),disabled:y||c,onClick:i,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},k?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},k?{danger:!0}:{}))}function w(a){F({type:"remove",repo:a})}function T(a){return ye&&ye.id===a.id?s(U,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":u("repo.refreshing"),title:u("repo.refreshing"),icon:s("span",{className:"dssm-repo-spinner","aria-hidden":!0}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):o("repo.refresh",()=>Ft([a]))}function M(){return C.length?C.map(a=>s("div",{key:a.id,className:"dssm-repo-row dssm-repo-manage-row"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},a.owner+"/"+a.name),s("div",{className:"dssm-note"},[a.ref||u("repo.defaultBranch"),a.subdirectory].filter(Boolean).join(" \xB7 ")),s("div",{className:"dssm-repo-metadata"},a.refreshedAt?u("repo.updated")+" \xB7 "+new Date(a.refreshedAt).toLocaleString(x?.()||u("format.locale")):u("repo.notScanned"))),s("div",{className:"dssm-repo-actions"},T(a),o("repo.remove",()=>w(a))))):s("div",{className:"dssm-empty"},u("repo.empty"))}function P(a,i=!1){let c=ye&&(!i||ye.id===a[0]?.id);return s(U,{variant:"outline",disabled:y||!a.length,"aria-busy":!!c,onClick:()=>Ft(a)},c?s("span",{className:"dssm-repo-spinner","aria-hidden":!0}):null,u(c?"repo.refreshing":"repo.refresh"))}function V(){Ue.current||(qe("idle"),F(null))}function ee(a,i,c,m){Ue.current||a==="uninstall"&&(!m||!m.canUninstall||!Ee(m))||(J(null),F({type:a,repo:i,skill:c,copy:m}))}function q(){if(!b||b.type!=="install"&&b.type!=="uninstall")return;let a=b,i=a.type,c=se;if(i==="install"&&!S(c,xe,j))return;let m=i==="install"?be(c):a.copy&&Ee(a.copy);if(m)return ve(async()=>{let k={id:a.repo.id,path:a.skill.path,...m};Ve({...k,action:i,pending:!0,key:"repo."+i+"Progress"});try{await je(i,k)}catch(L){let pe=L;throw D.current&&Ve({...k,action:i,error:!0,payload:pe}),pe}if(!D.current)return;let A="repo."+i+"Success";Ve({...k,action:i,key:A}),J({key:A,name:a.skill.name}),F(null);let O=await Promise.allSettled([it(),Promise.resolve().then(()=>_?.())]);for(let L of O)if(L.status==="rejected")throw L.reason},!1)}function W(a,i,c,m=!1){let k=Ee(c);if(!(!k||(m?!c.canRollback:!c.tracked)))return ve(async()=>{let A=await je("preview",{id:a.id,path:i.path,...k,rollback:m});F({type:m?"rollback":"review",repo:a,skill:i,copy:c,detail:A})})}function we(){if(!b||b.type!=="review"&&b.type!=="rollback")return;let a=b,i=a.type==="rollback",c=Ee(a.copy);if(c)return ve(async()=>{let m={id:a.repo.id,path:a.skill.path,...c};Ve({...m,pending:!0,key:"repo.updateProgress"});try{await je(i?"rollback":"update",{...m,token:a.detail.token,overwrite:a.detail.localModified})}catch(A){let O=A;throw D.current&&Ve({...m,error:!0,payload:O}),O}if(!D.current)return;let k=i?"repo.rollbackSuccess":"repo.updateSuccess";Ve({...m,key:k}),J({key:k}),F(null),_&&await _()})}function Je(a,i,c){return s(U,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:y,"aria-label":u(a),title:u(a),icon:r(i),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:c})}function R(a){let i=ye&&ye.id===a[0]?.id;return s(U,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:y||!a.length,"aria-busy":!!i,"aria-label":u(i?"repo.refreshing":"repo.refresh"),title:u(i?"repo.refreshing":"repo.refresh"),icon:i?s("span",{className:"dssm-repo-spinner","aria-hidden":!0}):r("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>Ft(a)})}function Q(){return s("div",{className:"dssm-filter-actions"},R(C),Je("repo.add","M8 2.5v11M2.5 8h11",()=>{J(null),ra({url:"",ref:"",subdirectory:""}),F({type:"add"})}),Je("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{J(null),F({type:"manage"})}))}let Le=s("div",{key:"repository-actions",className:"dssm-actions"},P(C),$("repo.add",()=>{J(null),ra({url:"",ref:"",subdirectory:""}),F({type:"add"})},!1),$("repo.manage",()=>{J(null),F({type:"manage"})})),de=C.filter(a=>!ut||a.id===ut);function ce(a,i,c){let m=Ee(c),k=re?.id===a.id&&re.path===i.path&&re.pending&&m&&re.root===m.root&&re.workspace===m.workspace;return s("div",{className:"dssm-repo-copy-actions"},c.tracked&&(c.updateAvailable||c.status==="conflict")?o("repo.review",()=>W(a,i,c),!m):null,c.canRollback?o("repo.rollback",()=>W(a,i,c,!0),!m):null,c.canUninstall?o(k&&re.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>ee("uninstall",a,i,c),!m,xt(c)):null)}function N(a,i,c){let m=Ee(c);return s("div",{className:"dssm-repo-copy",key:JSON.stringify([c.installedRoot,c.installedWorkspace||""])},xa(c),ce(a,i,c),m?null:s("div",{className:"dssm-note",role:"status"},u("repo.destinationUnavailable")))}let te=de.map(a=>{let i=Zt.trim().toLowerCase(),c=a.skills.filter(A=>(!We||A.status===We)&&(!i||`${A.name} ${A.description} ${a.owner}/${a.name}`.toLowerCase().includes(i))),m=zt[a.id]===void 0?!!i||!!We:zt[a.id],k=m?c.length?c.map(A=>{let O=ja(A),L=O.length===1?O[0]:void 0;return s("div",{key:A.path,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},A.name),s("div",{className:"dssm-repo-description",title:A.description},A.description),L&&!Ee(L)?s("div",{className:"dssm-note",role:"status"},u("repo.destinationUnavailable")):null,re?.id===a.id&&re.path===A.path?s("div",{className:"dssm-note"+(re.error?" dssm-error":""),role:re.error?"alert":"status","aria-live":"polite"},Sa(re)):null),s("div",{className:"dssm-repo-actions"},o("repo.detail",()=>Oe(a,A)),o(re?.id===a.id&&re.path===A.path&&re.pending&&re.action==="install"?"repo.installing":O.length?"repo.installElsewhere":"repo."+(A.status==="available"?"install":A.status),()=>ee("install",a,A),!O.length&&A.status!=="available"))),O.length?s("div",{className:"dssm-repo-copies"},O.map(pe=>N(a,A,pe))):null)}):s("div",{className:"dssm-empty"},u("repo.noSkills")):null;return s("div",{key:a.id},s("section",{className:"dssm-source"},s("div",{className:"dssm-source-head"},s("button",{type:"button",className:"dssm-source-toggle","aria-expanded":m,onClick:()=>ie({...zt,[a.id]:!m})},H(m),s("div",{className:"dssm-source-label"},s("span",{className:"dssm-source-brand",title:"GitHub Repository"},s("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"currentColor"},s("path",{d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))),s("span",{className:"dssm-source-title"},a.owner+"/"+a.name),s("span",{className:"dssm-count"},c.length),s("span",{className:"dssm-source-path",title:a.owner+"/"+a.name},[a.ref||u("repo.defaultBranchLabel"),a.subdirectory].filter(Boolean).join(" \xB7 ")||a.owner+"/"+a.name))),s("span",{className:"dssm-repo-commit-badge",title:a.commit||u("repo.notScanned")},a.commit?a.commit.slice(0,7):u("repo.notScanned"))),m?s("div",{className:"dssm-source-body",role:"region"},k):null),a.error?s("div",{className:"dssm-feedback dssm-error",role:"alert"},sa(a.error)):null)});function Be(a,i,c,m){return s(p,{label:u(a),value:i,onChange:c,options:[{value:"",label:u(a)},...m.map(([k,A])=>({value:k,label:A}))]})}let Ce=rt?s("div",{className:"dssm-feedback"+(rt.error?" dssm-error":""),role:rt.error?"alert":"status"},Sa(rt)):null,or=ye?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.refreshing")+" "+ye.index+"/"+ye.total+" \xB7 "+ye.name):null,ir;if(b){let a,i,c;if(b.type==="install"&&(a=s("div",{className:"dssm-repo-panel","aria-busy":y},s("div",{className:"dssm-name"},b.skill.name),s(X,{t:u,value:se,disabled:y,allowAgents:!0,workspaces:xe,userDestinations:j,onChange:m=>{Ue.current||pt({...se,...m})}}),s("p",{className:"dssm-note"},u("repo.installLocationsHint")),s("p",{className:"dssm-note"},u("repo.installHint")),y?s("div",{role:"status","aria-live":"polite"},u("repo.installProgress")):null,Ce,s("div",{className:"dssm-modal-actions"},$("repo.cancel",V),$(y?"repo.installing":"repo.install",q,!1,!S(se,xe,j))))),b.type==="uninstall"&&(i=u("repo.uninstallHint"),a=s("div",{className:"dssm-repo-panel","aria-busy":y},s("div",{className:"dssm-name"},b.skill.name),b.copy?s("div",{className:"dssm-repo-metadata"},kt(b.copy)):null,b.copy?.installedRoot==="agents"&&!b.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.uninstallExternalWarning")):null,y?s("div",{role:"status","aria-live":"polite"},u("repo.uninstallProgress")):null,Ce),c=s(t.Fragment,null,$("repo.cancel",V),$(y?"repo.uninstalling":"repo.confirmUninstall",q,!0,!b.copy||!Ee(b.copy),!0))),(b.type==="review"||b.type==="rollback")&&(a=s("div",{className:"dssm-repo-panel"},s("div",{className:"dssm-name"},b.skill.name),s("div",{className:"dssm-repo-metadata"},kt(b.copy)),s("div",{className:"dssm-repo-metadata"},b.repo.owner+"/"+b.repo.name+" \xB7 "+b.detail.commit?.slice(0,7)),b.detail.localModified?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.modified")):null,b.detail.changes.length?s("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},b.detail.changes.map(m=>s("li",{key:m.path},u("repo."+(m.kind==="modified"?"modifiedFile":m.kind))+" \xB7 "+m.path))):s("p",null,u("repo.noChanges")),y?s("div",{role:"status"},u("repo.updateProgress")):null,Ce),c=s(t.Fragment,null,$("repo.cancel",V),$(b.detail.localModified?"repo.overwrite":b.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",we,!1,!b.detail.changes.length||!Ee(b.copy)))),b.type==="add"&&(a=s("form",{className:"dssm-form",onSubmit:m=>{m.preventDefault(),et.url.trim()&&ve(async()=>{let k=await je("add",et);await oa(k.id),F(null)})}},[["url","repo.url","https://github.com/owner/repo"],["ref","repo.ref",u("repo.defaultBranch")],["subdirectory","repo.directory",u("repo.directoryHint")]].map(([m,k,A])=>s("label",{className:"dssm-field",key:m},s("span",{className:"dssm-label"},u(k)),s(d,{"aria-label":u(k),value:et[m],placeholder:A,maxLength:m==="url"?2048:512,required:m==="url",disabled:y,onChange:O=>ra({...et,[m]:O.target.value})}))),Ce,s("div",{className:"dssm-modal-actions"},$("repo.cancel",V),$("repo.save",()=>{et.url.trim()&&ve(async()=>{let m=await je("add",et);await oa(m.id),F(null)})},!1,!et.url.trim())))),b.type==="manage"&&(a=s("div",{className:"dssm-repo-panel"},s("p",{className:"dssm-desc"},u("repo.removeHint")),or,Ce,M())),b.type==="remove"&&(i=u("repo.removeHint"),a=s("div",null,s("div",{className:"dssm-name"},b.repo.owner+"/"+b.repo.name),Ce),c=s(t.Fragment,null,$("repo.cancel",()=>F({type:"manage"})),$("repo.removeConfirm",()=>ve(async()=>{await je("remove",{id:b.repo.id}),ut===b.repo.id&&Mt(""),F({type:"manage"})}),!0,!1,!0))),b.type==="catalog-detail"&&b.detail){let m=b.detail;a=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(U,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>Qe(m.body)},u(gt==="copied"?"repo.copied":gt==="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"},u("repo.installHint")),s(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:m.body||"",rows:16}))}if(b.type==="catalog-detail"&&!b.detail&&(a=s("div",{role:"status",className:"dssm-repo-panel"},b.loading?u("repo.detailLoading"):null,b.failed?Ce:null)),b.type==="catalog-install"&&(a=s("div",{className:"dssm-repo-panel","aria-busy":y},s("div",{className:"dssm-name"},b.target.name),s(X,{t:u,value:se,disabled:y,allowAgents:!0,workspaces:xe,userDestinations:j,onChange:m=>{Ue.current||pt({...se,...m})}}),s("p",{className:"dssm-note"},u("repo.installLocationsHint")),s("p",{className:"dssm-note"},u("repo.installHint")),y?s("div",{role:"status","aria-live":"polite"},u("repo.installProgress")):null,Ce,s("div",{className:"dssm-modal-actions"},$("repo.cancel",V),$(y?"repo.installing":"repo.install",Ra,!1,!S(se,xe,j))))),b.type==="catalog-uninstall"&&(i=u("repo.uninstallHint"),a=s("div",{className:"dssm-repo-panel","aria-busy":y},s("div",{className:"dssm-name"},b.copy.name),s("div",{className:"dssm-repo-metadata"},ts(b.copy)),b.copy.installedRoot==="agents"&&!b.copy.installedWorkspace?s("p",{className:"dssm-feedback dssm-warning",role:"alert"},u("repo.uninstallExternalWarning")):null,y?s("div",{role:"status","aria-live":"polite"},u("repo.uninstallProgress")):null,Ce),c=s(t.Fragment,null,$("repo.cancel",V),$(y?"repo.uninstalling":"repo.confirmUninstall",rs,!0,!1,!0))),b.type==="detail"&&b.detail){let m=b.detail;a=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(U,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>Qe(m.body)},u(gt==="copied"?"repo.copied":gt==="failed"?"repo.copyFailed":"repo.copyBody")):null),s("p",{className:"dssm-desc"},m.description),s("div",{className:"dssm-detail-path"},b.repo.owner+"/"+b.repo.name+" \xB7 "+m.path),s("div",{className:"dssm-repo-metadata"},u("repo.commit")+" \xB7 "+m.commit),s("p",{className:"dssm-note"},u("repo.installHint")),s(d.TextArea,{className:"dssm-detail-body",readOnly:!0,value:m.body||"",rows:16}))}b.type==="detail"&&!b.detail&&(a=s("div",{role:"status",className:"dssm-repo-panel"},b.loading?u("repo.detailLoading"):null,b.failed?Ce:null)),ir=s(e,{className:b.type==="detail"||b.type==="catalog-detail"?"dssm-modal-wide":void 0,title:u("repo."+(b.type==="catalog-detail"?"detail":b.type==="catalog-install"?"install":b.type==="catalog-uninstall"?"uninstall":b.type==="remove"?"remove":b.type)),description:i,footer:c,closeLabel:u("repo.close"),onClose:V},a)}function Oa(a){return Ia.includes(a)||Ba(a).length>0}function Ba(a){return Bt(ya.filter(i=>i.id===a))}function ts(a){return xt(a)}function as(a){!Ue.current&&a.canUninstall&&(J(null),F({type:"catalog-uninstall",copy:a}))}function rs(){if(!b||b.type!=="catalog-uninstall")return;let a=b.copy;return ve(async()=>{if(await g("/delete",{method:"POST",headers:h,body:JSON.stringify({name:a.name,root:a.installedRoot,...a.installedWorkspace?{workspace:a.installedWorkspace}:{}})}),!D.current)return;Ut(c=>c.filter(m=>m!==a&&!(m.id===a.id&&m.installedRoot===a.installedRoot&&m.installedWorkspace===a.installedWorkspace))),J({key:"repo.uninstallSuccess",name:a.name}),F(null);let i=await Promise.allSettled([it(),Promise.resolve().then(()=>_?.())]);D.current&&i.some(c=>c.status==="rejected")&&J({key:"repo.catalog.uninstallRefreshWarning",name:a.name})},!1)}function lr(a,i,c,m){let k=Ba(a);return s("div",{className:"dssm-repo-actions"},o("repo.detail",c),i&&!k.length?s("span",{className:"dssm-note",role:"status"},u("repo.catalog.unknownLocation")):null,k.length?o("repo.installElsewhere",m):Oa(a)?s("span",{className:"dssm-catalog-installed",role:"status"},u("repo.installed")):o(i?"repo.catalog.reassociate":"repo.install",m))}function dr(a){let i=Ba(a);return i.length?s("div",{className:"dssm-repo-copies"},i.map(c=>s("div",{className:"dssm-repo-copy",key:JSON.stringify([c.id,c.installedRoot,c.installedWorkspace||""])},xa(c),c.canUninstall?o("repo.uninstall",()=>as(c),!1,xt(c)):null))):null}let Fa=Ne.filter(a=>{let i=Oa(`clawhub:${a.owner}/${a.slug}`);return!Dt||(Dt==="installed"?i:!i)}),cr=mt==="installs"?Fa.slice().sort((a,i)=>(i.installs||0)-(a.installs||0)):mt==="name"?Fa.slice().sort((a,i)=>a.name.localeCompare(i.name)):Fa,ur=a=>{let i=Ke.includes(`clawhub:${a.owner}/${a.slug}`),c=[a.source,a.downloads===void 0?null:a.downloads.toLocaleString()+" "+u("repo.catalog.downloads"),a.installs===void 0?null:a.installs.toLocaleString()+" "+u("repo.catalog.installs"),a.stars===void 0?null:a.stars.toLocaleString()+" "+u("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return s("div",{key:a.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},a.name),a.description?s("div",{className:"dssm-repo-description",title:a.description},a.description):null,s("div",{className:"dssm-meta-origin"},c)),lr(`clawhub:${a.owner}/${a.slug}`,i,()=>Rt({catalog:"clawhub",owner:a.owner,slug:a.slug,name:a.name}),()=>ia({catalog:"clawhub",owner:a.owner,slug:a.slug,name:a.name}))),dr(`clawhub:${a.owner}/${a.slug}`))},ss=s("div",{className:"dssm-catalog-list",onWheel:Nt},cr.map(ur),!cr.length&&!Ie&&!ht?s("div",{className:"dssm-empty"},u("repo.catalog.empty")):null,Ie?s("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},s("span",{className:"dssm-repo-spinner","aria-hidden":!0}),Ne.length?u("repo.catalog.loadingMore"):u("repo.catalog.loading")):null,ht?s("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.loadError"),s(U,{variant:"ghost",size:"sm",onClick:()=>{Ct()}},u("repo.catalog.retry"))):null,Y==="clawhub"&&!le.trim()&&ft&&!ht?s("div",{className:"dssm-catalog-sentinel",ref:$e,"aria-hidden":!0}):null,Y==="clawhub"&&!le.trim()&&ft&&!ht&&!Ie?s("div",{className:"dssm-catalog-loading"},s(U,{variant:"ghost",size:"sm",onClick:()=>{Ct(!1,!0)}},u("repo.catalog.loadMore"))):null),ns=s("div",{className:"dssm-catalog-list"},va.map(ur),le.trim()&&!va.length&&!_t&&!Xe?s("div",{className:"dssm-empty"},u("repo.catalog.searchEmpty")):null,_t?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.catalog.searchLoading")):null,Xe?s("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.searchError"),s(U,{variant:"ghost",size:"sm",onClick:()=>{na(le.trim())}},u("repo.catalog.retry"))):null),pr=vt.filter(a=>{if(!ea)return!0;let i=Oa(`skillsh:${a.source}/${a.skillId}`);return ea==="installed"?i:!i}),os=s("div",{className:"dssm-catalog-list"},pr.map(a=>{let i=`skillsh:${a.source}/${a.skillId}`,c=Ke.includes(i),m=[a.source,a.installs===void 0?null:a.installs.toLocaleString()+" "+u("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return s("div",{key:a.id,className:"dssm-repo-row"},s("div",{className:"dssm-repo-head"},s("div",{className:"dssm-repo-main"},s("div",{className:"dssm-name"},a.name),s("div",{className:"dssm-meta-origin"},m)),lr(i,c,()=>Rt({catalog:"skillsh",source:a.source,skillId:a.skillId,name:a.name}),()=>ia({catalog:"skillsh",source:a.source,skillId:a.skillId,name:a.name}))),dr(i))}),ot.trim()&&!pr.length&&!ta&&!Ze?s("div",{className:"dssm-empty"},u("repo.catalog.skillshEmpty")):null,ta?s("div",{className:"dssm-note",role:"status","aria-live":"polite"},u("repo.catalog.skillshLoading")):null,Ze?s("div",{className:"dssm-feedback dssm-error",role:"alert"},u("repo.catalog.skillshError"),s(U,{variant:"ghost",size:"sm",onClick:()=>{oe(ot.trim())}},u("repo.catalog.retry"))):null),is=s("div",{className:"dssm-subsources"},s("button",{type:"button",className:"dssm-subsource-btn"+(Y==="github"?" on":""),"aria-pressed":Y==="github",onClick:()=>lt("github")},u("repo.subsource.github")+" ("+C.length+")"),s("button",{type:"button",className:"dssm-subsource-btn"+(Y==="clawhub"?" on":""),"aria-pressed":Y==="clawhub",onClick:()=>lt("clawhub")},u("repo.subsource.clawhub")),s("button",{type:"button",className:"dssm-subsource-btn"+(Y==="skillsh"?" on":""),"aria-pressed":Y==="skillsh",onClick:()=>lt("skillsh")},u("repo.subsource.skillsh"))),ls=Y==="github"?s("div",{className:"dssm-filters"},s("div",{className:"dssm-source-filter"},Be("repo.all",ut,Mt,C.map(a=>[a.id,a.owner+"/"+a.name]))),s("div",{className:"dssm-status-filter"},Be("repo.states",We,a=>{Yt(a),ie({})},["available","installed","update","conflict","invalid"].map(a=>[a,u("repo."+a)]))),s(d,{className:"dssm-search",allowClear:!0,"aria-label":u("repo.search"),placeholder:u("repo.search"),value:Zt,onChange:a=>{Ge(a.target.value),ie({})}}),Q()):Y==="clawhub"?s("div",{className:"dssm-filters dssm-catalog-filters"},le.trim()?null:s("div",{className:"dssm-catalog-sort-filter"},Be("repo.subsource.popular",mt,Ht,[["installs",u("repo.sort.installs")],["name",u("repo.sort.name")]])),le.trim()?null:s("div",{className:"dssm-catalog-status-filter"},Be("repo.catalog.states",Dt,ge,[["available",u("repo.available")],["installed",u("repo.installed")]])),s(d,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":u("repo.catalog.searchClawhub"),placeholder:u("repo.catalog.searchClawhub"),value:le,onChange:a=>Pa(a.target.value)})):Y==="skillsh"?s("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},s("div",{className:"dssm-catalog-status-filter"},Be("repo.catalog.states",ea,Da,[["available",u("repo.catalog.uninstalled")],["installed",u("repo.installed")]])),s(d,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":u("repo.catalog.searchSkillsh"),placeholder:u("repo.catalog.searchSkillsh"),value:ot,onChange:a=>Na(a.target.value)})):null,ds=s("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":y},s("style",null,hs),is,Y==="github"?s("p",{className:"dssm-desc"},u("repo.hint")):Y==="clawhub"&&!le.trim()?s("p",{className:"dssm-desc"},u("repo.subsource.catalogNote")):null,ls,Ke.length?s("div",{className:"dssm-note",role:"status"},u("repo.catalog.unknownHint")):null,st.map(a=>s("div",{key:a.id,className:"dssm-feedback dssm-error",role:"alert"},a.id+" \xB7 "+sa(a))),Ce,b?null:or,y&&!ye?s("div",{className:"dssm-note",role:"status"},u("repo.loading")):null,Y==="github"?C.length?te:s("div",{className:"dssm-empty"},u("repo.empty")):Y==="skillsh"?os:le.trim()?ns:ss,s("p",{className:"dssm-note"},u("repo.footer")),ir);return{actions:Le,content:ds,focusSource:(a,i)=>{Mt(a.id),Ge(i),Yt(""),ie({[a.id]:!0})}}}}var Vt=()=>({scope:"user",location:"dsh",workspace:""});function Ea(t){return t.scope==="workspace"?{workspace:t.workspace}:{root:t.location==="agents"?"agents":"dsh"}}function At(t,e,d){return t.scope==="user"?!d||d.some(l=>l.key===t.location&&l.available===!0):e.some(l=>l.available&&!!l.registeredPaths[0]&&l.registeredPaths[0]===t.workspace)}function bs(t){let e=t.includes("\\")?"\\":"/";return t.replace(/[\\/]+$/,"")+e+".dsh"+e+"skills"}var qa={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."}},yr=[".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 ys({react:t,SourceSelect:e,translateError:d}){let l=t.createElement;return function({t:f,value:g,onChange:h,workspaces:v,userDestinations:x,allowAgents:s,disabled:H}){let U=g.scope==="workspace",X=v.find(y=>!!y.registeredPaths[0]&&y.registeredPaths[0]===g.workspace),ue=[{value:"user",label:f("dest.scope.user")},{value:"workspace",label:f("dest.scope.workspace")}],be=new Map;for(let y of v)be.set(y.name,(be.get(y.name)??0)+1);let S=[{value:"",label:f("dest.workspace.placeholder")}].concat(v.map(y=>({value:y.registeredPaths[0]||"",label:y.available?(be.get(y.name)??0)>1?y.name+" \xB7 "+y.path:y.name:f("dest.workspace.unavailable",{name:y.name}),disabled:!y.available||!y.registeredPaths[0]}))),B=(s?["dsh","agents"]:["dsh"]).filter(y=>x.some(Z=>Z.key===y)),u=y=>x.find(Z=>Z.key===y),_=y=>B.some(Z=>Z===y)&&u(y)?.available!==!1,C=B.map(y=>({value:y,label:f("dest.location."+y),disabled:u(y)?.available===!1})),K=U?l("div",{className:"dssm-field",key:"workspace"},l("span",{className:"dssm-label"},f("dest.workspace")),l(e,{label:f("dest.workspace"),value:g.workspace,disabled:H||v.length===0,options:S,onChange:y=>{!H&&v.length>0&&(y===""||At({...g,scope:"workspace",workspace:y},v))&&h({workspace:y})}})):l("div",{className:"dssm-field",key:"location"},l("span",{className:"dssm-label"},f("dest.location")),l(e,{label:f("dest.location"),value:g.location,disabled:H||B.length===0,options:C,onChange:y=>{!H&&_(y)&&h({location:y})}})),j=U?X&&X.available?bs(X.projectRoot||X.path):"":u(g.location)?.path??"",Me=U?[]:B.filter(y=>u(y)?.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:g.scope,disabled:H,options:ue,onChange:y=>{!H&&(y==="workspace"||y==="user")&&h(y==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),K),U&&v.length===0?l("p",{className:"dssm-feedback dssm-warning",role:"status"},f("dest.empty")):null,U&&v.length>0&&!X?l("p",{className:"dssm-note"},f("dest.pickFirst")):null,j?l("code",{className:"dssm-destination-path"},j):null,Me.map(y=>l("div",{key:y,className:"dssm-note dssm-destination-unavailable"},l("span",null,f("dest.location."+y)),l("code",{className:"dssm-destination-path"},u(y)?.path??""),l("span",null,u(y)?.error?d(f,u(y).error):""))),U&&X?l("p",{className:"dssm-note"},f("dest.projectNote")+" "+f("dest.location.agentsOff")):null)}}function vr(t){return{DestinationPicker:ys(t),defaultDestination:Vt,destinationPayload:Ea,destinationReady:At}}var z=Aa(require("react"),1),Qa=require("react-dom/client"),Et=require("@deepseek-ai/dsh-client-ui-primitives");var vs={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"},ws={check:"Check for updates",update:"Update",close:"Close",recheck:"Check again",auto:"Update automatically",updating:"Updating\u2026",copy:"Copy command",copied:"Copied",copyFailed:"Copy failed",checking:"Checking for updates\u2026",latest:"You are up to date",found:"New version available",failed:"Could not check for updates. Try again later.",current:"Running version",latestLabel:"Latest version",profile:"Target profile",unknown:"Unknown",manual:"Manual update",manualHint:"If automatic update fails, run this command in the current DSH terminal, then restart DSH Web.",manualHintDesktop:"If automatic update fails, fully quit DSH Desktop, then run this command with Desktop's own dsh. A regular dsh rejects the desktop profile.",intro:"Only this plugin is checked and updated. Other plugins are not changed.",restart:"Update complete. Restart DSH Web.",restartDesktop:"Update complete. Fully quit and reopen DSH Desktop.",restarting:"Update complete. Restarting DSH Desktop\u2026",unavailable:"Automatic update is unavailable. Use the manual command."};function la(t){return t.toLowerCase().startsWith("zh")?vs:ws}function ks(t,e,d,l){let p=la(t),f=e?.restartDesktop===!0||e?.profileName==="desktop",g=f?{...p,manualHint:p.manualHintDesktop}:p,h=d!=="idle",v=g.checking,x="";return d==="checking"?v=g.checking:d==="updating"?v=g.updating:l.type==="error"?(v=l.message||g.failed,x="error"):l.type==="restart"?(v=f?g.restartDesktop:g.restart,x="success"):l.type==="restarting"?(v=g.restarting,x="success"):e===void 0?v=g.checking:e.latestCheckFailed?(v=g.failed,x="error"):!e.canAutoUpdate&&e.updateAvailable?(v=g.unavailable,x="update"):e.updateAvailable?(v=`${g.found}: v${e.latestVersion??g.unknown}`,x="update"):(v=g.latest,x="success"),{copy:g,busy:h,message:v,kind:x,loading:d==="updating",updateLabel:d==="updating"?g.updating:g.auto,disabled:h||e?.canAutoUpdate!==!0||e.updateAvailable!==!0,currentVersion:e===void 0?g.unknown:`v${e.currentVersion}`,latestVersion:e?.latestVersion===void 0?g.unknown:`v${e.latestVersion}`,profileName:e?.profileName??g.unknown,profileRaw:e?.profileName??"",latestRaw:e?.latestVersion??"latest"}}function wr(t,e,d){let l="idle",p=e,f={type:"status"},g=0,h=new Set,v=()=>{for(let s of h)s()},x=s=>{p=s,d?.(s)};return{get posts(){return g},subscribe(s){return h.add(s),()=>{h.delete(s)}},view(s){return ks(s,p,l,f)},async check(){if(l==="idle"){l="checking",f={type:"status"},v();try{x(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"},g+=1,v();try{let s=await t("POST");x(s),f={type:s.autoReload===!0?"restarting":"restart"}}catch(s){f={type:"error",message:s instanceof Error?s.message:""}}finally{l="idle",v()}}}}}function kr(t,e,d){return`dsh plugin${t.trim()===""?"":` --profile ${t.trim()}`} add ${e}@${d} --registry=https://registry.npmjs.org/`}function xr(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function xs(){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 da(t){if(typeof t!="string"||t.charAt(0)!=="/"||t.charAt(1)==="/")return t;let e=xs();if(e===void 0)return t;try{return new URL(t.slice(1),e).href}catch{return t}}var Ss="x-michengai-plugin-update",Sr="michengai-plugin-update-ui",Cs=`
|
|
17
|
+
.dssm-repo-row .dssm-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-repo-row{display:flex;flex-direction:column;gap:6px;padding:11px 13px;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);background:transparent}.dssm-repo-head{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:nowrap}.dssm-repo-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-repo-actions button{flex:none}.dssm-repo-actions .dssm-repo-copy-actions{gap:8px;margin-left:0}.dssm-repo-main{flex:1;min-width:0}.dssm-repo-main>.dssm-repo-metadata{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-description{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-repo-copies{display:flex;flex-direction:column;gap:2px;min-width:0}.dssm-repo-copy{display:flex;align-items:center;gap:8px;min-width:0;padding:0;border:0;background:transparent}.dssm-repo-copy .dssm-repo-metadata{font-size:12px;line-height:18px}.dssm-repo-copy-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}.dssm-repo-spinner{display:inline-block;width:12px;height:12px;margin-right:6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;corner-shape:round;animation:dssm-repo-spin .8s linear infinite}@keyframes dssm-repo-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dssm-repo-spinner{animation:none}}.dssm-repo-commit-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:11px;line-height:16px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);margin-left:12px;white-space:nowrap;user-select:all}.dssm-repo-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-repo-panel .dssm-desc{margin:0}.dssm-repo-metadata{font-size:11px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow-wrap:anywhere}.dssm-repo-panel .dssm-source{flex-shrink:0;overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-repo-panel .dssm-source-title{font-size:14px;font-weight:650;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:7px}.dssm-repo-panel .dssm-source-brand{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-panel .dssm-source-brand svg{width:16px;height:16px;display:block}.dssm-repo-panel .dssm-source-path{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-repo-panel .dssm-count{padding:1px 6px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-bg-layer-2,rgba(255,255,255,0.08));font-size:11px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-repo-manage-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.dssm-repo-manage-row .dssm-repo-main{flex:1}.dssm-repo-manage-row .dssm-repo-actions{margin-left:auto}.dssm-repo-manage-row .dssm-repo-actions button{width:auto;flex:none}.dssm-repo-head .dssm-repo-actions{gap:8px}.dssm-repo-actions>.dssm-repo-copy-actions{display:contents}.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-repo-copies{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:2px}.dssm-repo-copy{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:4px 4px 4px 8px;border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1,rgba(255,255,255,0.04))}.dssm-repo-copy .dssm-repo-metadata{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-repo-copy .dssm-repo-copy-actions{margin-left:0}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger{border-color:var(--dsw-alias-border-l2,#494949)}.dssm-repo-copy .dssm-icon-action.dssm-icon-danger:not(:disabled):hover{color:var(--dsw-alias-state-error-primary,#ef7272)!important;border-color:var(--dsw-alias-state-error-primary,#ef7272)!important}.dssm-repo-copy .dssm-repo-metadata{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dssm-location-lead{flex:0 1 auto;max-width:50%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-location-path{margin-left:auto;min-width:0;max-width:50%;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}`;function br({react:t,Modal:e,Input:l,Button:d,SourceSelect:m,destination:g,api:f,headers:b,translateError:v,getLocale:k}){let n=t.createElement;function H(A){return n("svg",{className:"dssm-fold-chevron"+(A?" is-open":""),viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":!0},n("path",{d:"M4 6l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"}))}let U=d,{DestinationPicker:W,defaultDestination:ne,destinationPayload:_,destinationReady:C}=g;return function({active:J,t:c,onInstalled:K}){let[ae,de]=t.useState([]),[S,j]=t.useState([]),[h,q]=t.useState(!1),[ve,Ie]=t.useState(null),[rt,G]=t.useState(null),[se,Ve]=t.useState(null),[Zt,Ge]=t.useState(""),[ut,Mt]=t.useState(""),[We,Yt]=t.useState(""),[zt,ce]=t.useState({}),[y,B]=t.useState(null),[oe,pt]=t.useState(ne()),[Se,ba]=t.useState([]),[Y,It]=t.useState("github"),[ue,ya]=t.useState(""),[mt,Ht]=t.useState(""),[Ut,he]=t.useState(""),[Re,Jt]=t.useState([]),[Ia,Gt]=t.useState([]),[va,Dt]=t.useState([]),[Ke,Ha]=t.useState([]),[nt,Ce]=t.useState([]),[ft,qe]=t.useState("idle");function Qe(a){if(typeof navigator>"u"||!navigator.clipboard){qe("failed");return}navigator.clipboard.writeText(a).then(()=>{qe("copied"),setTimeout(()=>qe("idle"),1500)}).catch(()=>qe("failed"))}let[gt,st]=t.useState(!0),[He,ie]=t.useState(!1),[ht,Xt]=t.useState(!1),[wa,bt]=t.useState([]),[_t,jt]=t.useState(!1),[Xe,yt]=t.useState(!1),_e=t.useRef(0),re=t.useRef(null),be=t.useRef(null),[ot,$t]=t.useState(""),[ea,Ua]=t.useState(""),[vt,wt]=t.useState([]),[ta,Ae]=t.useState(!1),[Ze,aa]=t.useState(!1),Ue=t.useRef(0),Ee=t.useRef(null),De=t.useRef(null),Pt=t.useRef({cursor:null,count:0,hasMore:!0}),Ye=t.useRef(null),$e=t.useRef(null),[et,ra]=t.useState({url:"",ref:"",subdirectory:""}),je=t.useRef(!1),D=t.useRef(!0);t.useEffect(()=>(D.current=!0,()=>{D.current=!1}),[]);async function it(){let a=await f("/repositories");if(D.current){let i=(a.installRoots||[]).filter(u=>u.key==="dsh"||u.key==="agents");de(a.repositories||[]),j(i),Gt(a.catalogInstalls||[]),Dt(a.catalogCopies||[]),Ha(a.catalogUnknownIds||[]),Ce(a.catalogWarnings||[]),oe.scope==="user"&&!i.some(u=>u.key===oe.location&&u.available)&&pt({...oe,location:i.find(u=>u.available)?.key||"dsh"}),f("/workspaces").then(u=>{D.current&&ba(u.items||[])}).catch(()=>{})}}function Da(a){if(a.key==="dsh"||a.key==="agents")return c(a.key==="dsh"?"repo.rootDsh":"repo.rootAgents");let i="root."+(a.localeKey||a.key),u=c(i);return u===i?a.label:u}function sr(a){let i=S.find(u=>u.key===a);return i?Da(i):c("root."+a)}function Le(a){if(a.installedWorkspace){let i=p=>{let x=p.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(x)?x.toLowerCase():x},u=Se.find(p=>p.projectRoot&&i(p.projectRoot)===i(a.installedWorkspace));return u?.available&&u.registeredPaths[0]?{workspace:u.registeredPaths[0]}:null}return a.installedRoot==="dsh"||a.installedRoot==="agents"?{root:a.installedRoot}:null}function kt(a){return a.installedWorkspace||a.installedRoot?xt(a):""}function ka(a){let i=a.replace(/\\/g,"/").replace(/\/+$/,"");return/^(?:[a-z]:\/|\/\/)/i.test(i)?i.toLowerCase():i}function Ot(a){let i=Se.find(x=>x.projectRoot&&ka(x.projectRoot)===ka(a));if(i?.name)return i.name;let u=a.replace(/[\\/]+$/,""),p=Math.max(u.lastIndexOf("/"),u.lastIndexOf("\\"));return p>=0?u.slice(p+1):u}function xa(a){let i=!!a.installedWorkspace,u=i?"dsh":a.installedRoot,p=c(u==="agents"?"repo.source.agents":"repo.source.dsh"),x=c(i?"repo.scope.project":"repo.scope.user"),E=i?a.installedWorkspace||"":S.find(L=>L.key===u)?.path||"";return{lead:i?[x,Ot(a.installedWorkspace||""),p].filter(Boolean).join(" \xB7 "):[x,p].filter(Boolean).join(" \xB7 "),path:E}}function xt(a){let i=xa(a);return i.path?i.lead+" "+i.path:i.lead}function Sa(a){let i=xa(a);return n("div",{className:"dssm-repo-metadata",title:xt(a)},n("span",{className:"dssm-location-lead"},i.lead),i.path?n("span",{className:"dssm-location-path",title:i.path},i.path):null)}function Bt(a){return a.slice().sort((i,u)=>+!!i.installedWorkspace-+!!u.installedWorkspace)}function ja(a){return Bt((a.installations??(a.installedRoot?[a]:[])).filter(i=>i.tracked===!0))}function na(a){let i=a,u=v(c,a)||i.message||String(a),p=i?.params?.path;return typeof p=="string"&&p&&!u.includes(p)?u+" \xB7 "+p:u}function Ca(a){return a.payload?na(a.payload):(a.key?c(a.key):a.text||"")+(a.name?" \xB7 "+a.name:"")}async function we(a,i=!0,u=!1){if(!je.current){je.current=!0,u||(q(!0),G(null));try{await a(),i&&await it()}catch(p){let x=p;D.current&&G({error:!0,payload:x})}finally{je.current=!1,D.current&&q(!1)}}}function Pe(a,i){return f(`/repositories/${a}`,{method:"POST",headers:b,body:JSON.stringify(i)})}let St=t.useRef(!1);async function Ct(a=!1,i=!1,u=ue){if(!J||u.trim()||Ye.current||i&&St.current)return;let p=Pt.current;if(!a&&(!p.hasMore||p.count>=100))return;i&&(St.current=!0);let x=a?0:p.count,E=new AbortController;Ye.current=E,ie(!0),Xt(!1),a&&(Pt.current={cursor:null,count:0,hasMore:!0},Jt([]));try{let O=new URLSearchParams({sort:"downloads",limit:String(Math.min(10,100-x))}),L=a?null:p.cursor;L&&O.set("cursor",L);let fe=await f(`/clawhub/list?${O.toString()}`,{signal:E.signal});if(Ye.current!==E||E.signal.aborted||!D.current)return;if(!Array.isArray(fe.items))throw new Error("ClawHub response has no items array");let mr=fe.items.flatMap(X=>{if(typeof X.ownerHandle!="string"||!X.ownerHandle||typeof X.slug!="string"||!X.slug)return[];let Va=Wa=>typeof Wa=="number"&&Number.isFinite(Wa)?Wa:void 0;return[{id:X.ownerHandle+"/"+X.slug,owner:X.ownerHandle,slug:X.slug,name:typeof X.displayName=="string"&&X.displayName?X.displayName:X.slug,source:X.ownerHandle+"/"+X.slug,description:typeof X.summary=="string"?X.summary:"",downloads:Va(X.stats?.downloads),installs:Va(X.stats?.installs),stars:Va(X.stats?.stars)}]}).slice(0,Math.max(0,100-x)),fr=typeof fe.nextCursor=="string"&&fe.nextCursor?fe.nextCursor:null,gr=x+mr.length;if(Pt.current={cursor:fr,count:gr,hasMore:!!fr&&gr<100},!D.current)return;Jt(X=>[...a?[]:X,...mr].slice(0,100)),st(Pt.current.hasMore)}catch{Ye.current===E&&!E.signal.aborted&&D.current&&Xt(!0)}finally{Ye.current===E&&(Ye.current=null,St.current=!1,D.current&&ie(!1))}}function Na(){be.current&&clearTimeout(be.current),be.current=null,_e.current++,re.current?.abort(),re.current=null,D.current&&jt(!1)}async function sa(a){let i=++_e.current,u=new AbortController;re.current?.abort(),re.current=u,bt([]),jt(!0),yt(!1);try{let p=new URLSearchParams({q:a,limit:"100"}),x=await f(`/clawhub/search?${p.toString()}`,{signal:u.signal});if(!Array.isArray(x.results))throw new Error("ClawHub search response has no results array");let E=L=>typeof L=="number"&&Number.isFinite(L)?L:void 0,O=x.results.flatMap(L=>{if(typeof L.source=="string"&&L.source!=="clawhub")return[];let fe=typeof L.ownerHandle=="string"?L.ownerHandle:L.owner?.handle;return typeof fe!="string"||!fe||typeof L.slug!="string"||!L.slug?[]:[{id:typeof L.id=="string"?L.id:fe+"/"+L.slug,owner:fe,slug:L.slug,name:typeof L.displayName=="string"&&L.displayName?L.displayName:L.slug,source:fe+"/"+L.slug,description:typeof L.summary=="string"?L.summary:"",downloads:E(L.downloads)??E(L.stats?.downloads),installs:E(L.stats?.installs),stars:E(L.stats?.stars)}]});i===_e.current&&D.current&&bt(O)}catch(p){let x=p?.name==="AbortError";i===_e.current&&D.current&&!x&&yt(!0)}finally{i===_e.current&&(re.current=null,D.current&&jt(!1))}}function Pa(a){ya(a),Na(),bt([]),yt(!1);let i=a.trim().slice(0,100);if(!i){Y==="clawhub"&&!Re.length&&!He&&Ct(!0,!1,i);return}jt(!0),be.current=setTimeout(()=>{be.current=null,sa(i)},300)}function Oe(){De.current&&clearTimeout(De.current),De.current=null,Ue.current++,Ee.current?.abort(),Ee.current=null,D.current&&Ae(!1)}async function le(a){let i=++Ue.current,u=new AbortController;Ee.current?.abort(),Ee.current=u,wt([]),Ae(!0),aa(!1);try{let p=await f(`/skills-sh/search?q=${encodeURIComponent(a)}`,{signal:u.signal});i===Ue.current&&D.current&&wt(p.skills)}catch(p){let x=p?.name==="AbortError";i===Ue.current&&D.current&&!x&&aa(!0)}finally{i===Ue.current&&(Ee.current=null,D.current&&Ae(!1))}}function Ra(a){$t(a),De.current&&clearTimeout(De.current),De.current=null,Ue.current++,Ee.current?.abort(),Ee.current=null,wt([]),Ae(!1),aa(!1);let i=a.trim();i&&(De.current=setTimeout(()=>{De.current=null,le(i)},300))}function lt(a){B(null),It(a)}function dt(a){let i=a.getBoundingClientRect(),u=a.parentElement;for(;u;){let p=getComputedStyle(u);if(/(auto|scroll)/.test(`${p.overflowY} ${p.overflow}`)&&u.scrollHeight>u.clientHeight+1){let x=u.getBoundingClientRect();return i.top<=x.bottom+80&&i.bottom>=x.top}u=u.parentElement}return i.top<=window.innerHeight+80}function Nt(a){if(y||a.defaultPrevented||a.deltaY<=0||Y!=="clawhub"||ue.trim()||!gt||ht||!a.target||!a.currentTarget.contains(a.target))return;let i=$e.current;!i||typeof i.getBoundingClientRect!="function"||!dt(i)||Ct(!1,!0)}async function oa(a){let i=await Pe("refresh",{id:a});i.error&&G({error:!0,payload:i.error})}function Ft(a){return we(async()=>{let i=!1;try{for(let u=0;u<a.length;u++){let p=a[u];Ie({id:p.id,name:p.owner+"/"+p.name,index:u+1,total:a.length});let x=await Pe("refresh",{id:p.id});x.error&&(i=!0,G({error:!0,payload:x.error}))}await it(),!i&&D.current&&G({key:"repo.refreshed"})}finally{D.current&&Ie(null)}},!1)}function Be(a,i){return we(async()=>{qe("idle"),B({type:"detail",repo:a,loading:!0});try{let u=await Pe("detail",{id:a.id,path:i.path});D.current&&B({type:"detail",detail:u,repo:a})}catch(u){let p=u;throw D.current&&B({type:"detail",repo:a,failed:!0}),p}},!1,!0)}function Rt(a){return we(async()=>{qe("idle"),B({type:"catalog-detail",loading:!0});try{let i=await f("/catalog/detail",{method:"POST",headers:b,body:JSON.stringify(a)});D.current&&B({type:"catalog-detail",detail:i})}catch(i){let u=i;throw D.current&&B({type:"catalog-detail",failed:!0}),u}},!1,!0)}function ia(a){je.current||(G(null),B({type:"catalog-install",target:a}))}function Aa(){if(!y||y.type!=="catalog-install"||!C(oe,Se,S))return;let a=y.target,i=_(oe);return we(async()=>{let u=await f("/catalog/install",{method:"POST",headers:b,body:JSON.stringify({...a,...i})});if(!D.current)return;let p=a.catalog==="skillsh"?`skillsh:${a.source}/${a.skillId}`:`clawhub:${a.owner}/${a.slug}`;Gt(O=>O.includes(p)?O:[...O,p]);let x=i.root||"dsh";Dt(O=>O.some(L=>L.id===p&&L.installedRoot===x&&L.installedWorkspace===i.workspace)?O:[...O,{id:p,name:u.name,installedRoot:x,...i.workspace?{installedWorkspace:i.workspace}:{},canUninstall:!0}]),G({key:"repo.installSuccess",name:a.name}),B(null);let E=await Promise.allSettled([it(),Promise.resolve().then(()=>K?.())]);D.current&&E.some(O=>O.status==="rejected")&&G({key:"repo.catalog.installRefreshWarning",name:a.name})},!1)}t.useEffect(()=>{J&&we(it,!1)},[J]),t.useEffect(()=>(J&&(Y==="clawhub"?ue.trim()?sa(ue.trim()):Re.length||Ct(!0):Y==="skillsh"&&ot.trim()&&le(ot.trim())),()=>{Na(),Oe(),Ye.current?.abort(),Ye.current=null,St.current=!1,D.current&&ie(!1)}),[J,Y]);function $(a,i,u=!0,p=!1,x=!1){return n(U,{variant:u?"outline":"primary",className:x?"dssm-btn-danger":void 0,disabled:h||p,onClick:i},c(a))}function r(a){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},n("path",{d:a,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function o(a,i,u=!1,p){var x=a==="repo.uninstall"||a==="repo.uninstalling"||a==="repo.remove",E=a==="repo.installed"||a==="repo.installedSuccess",O=a==="repo.conflict",L=a==="repo.refresh"||a==="repo.refreshing"?"M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10":a==="repo.detail"?"M4 2.5h5.2L12.5 5.8V13.5H4zM9.2 2.8V6h3.2":a==="repo.installElsewhere"?"M8 3v10M3 8h10":a==="repo.installed"?"M3.5 8.2 6.5 11.2 12.5 4.8":a==="repo.review"?"M2.5 8s2.2-3.5 5.5-3.5S13.5 8 13.5 8s-2.2 3.5-5.5 3.5S2.5 8 2.5 8M8 6.3a1.7 1.7 0 1 1 0 3.4 1.7 1.7 0 0 1 0-3.4":a==="repo.rollback"?"M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3":x?"M3.5 4.5h9M6.2 4.5V3.2h3.6v1.3M4.4 4.5l.6 8h6l.6-8":O?"M8 2.5l5.5 10.5H2.5L8 2.5zm0 3.5v3.5m0 2v.5":"M8 2.5v7M5.2 7.2 8 10l2.8-2.8M3.5 13.5h9";return n(U,Object.assign({variant:"outline",size:"sm",className:"dssm-icon-action"+(x?" dssm-icon-danger":E?" dssm-icon-success":O?" dssm-icon-warn":""),"aria-label":c(a),title:p||c(a),icon:r(L),disabled:h||u,onClick:i,style:Object.assign({width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},x?{color:"var(--dsw-alias-state-error-primary, #ef7272)"}:{})},x?{danger:!0}:{}))}function w(a){B({type:"remove",repo:a})}function T(a){return ve&&ve.id===a.id?n(U,{variant:"outline",size:"sm",className:"dssm-icon-action",disabled:!0,"aria-busy":!0,"aria-label":c("repo.refreshing"),title:c("repo.refreshing"),icon:n("span",{className:"dssm-repo-spinner","aria-hidden":!0}),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}}):o("repo.refresh",()=>Ft([a]))}function M(){return ae.length?ae.map(a=>n("div",{key:a.id,className:"dssm-repo-row dssm-repo-manage-row"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},a.owner+"/"+a.name),n("div",{className:"dssm-note"},[a.ref||c("repo.defaultBranch"),a.subdirectory].filter(Boolean).join(" \xB7 ")),n("div",{className:"dssm-repo-metadata"},a.refreshedAt?c("repo.updated")+" \xB7 "+new Date(a.refreshedAt).toLocaleString(k?.()||c("format.locale")):c("repo.notScanned"))),n("div",{className:"dssm-repo-actions"},T(a),o("repo.remove",()=>w(a))))):n("div",{className:"dssm-empty"},c("repo.empty"))}function P(a,i=!1){let u=ve&&(!i||ve.id===a[0]?.id);return n(U,{variant:"outline",disabled:h||!a.length,"aria-busy":!!u,onClick:()=>Ft(a)},u?n("span",{className:"dssm-repo-spinner","aria-hidden":!0}):null,c(u?"repo.refreshing":"repo.refresh"))}function F(){je.current||(qe("idle"),B(null))}function ee(a,i,u,p){je.current||a==="uninstall"&&(!p||!p.canUninstall||!Le(p))||(G(null),B({type:a,repo:i,skill:u,copy:p}))}function Q(){if(!y||y.type!=="install"&&y.type!=="uninstall")return;let a=y,i=a.type,u=oe;if(i==="install"&&!C(u,Se,S))return;let p=i==="install"?_(u):a.copy&&Le(a.copy);if(p)return we(async()=>{let x={id:a.repo.id,path:a.skill.path,...p};Ve({...x,action:i,pending:!0,key:"repo."+i+"Progress"});try{await Pe(i,x)}catch(L){let fe=L;throw D.current&&Ve({...x,action:i,error:!0,payload:fe}),fe}if(!D.current)return;let E="repo."+i+"Success";Ve({...x,action:i,key:E}),G({key:E,name:a.skill.name}),B(null);let O=await Promise.allSettled([it(),Promise.resolve().then(()=>K?.())]);for(let L of O)if(L.status==="rejected")throw L.reason},!1)}function V(a,i,u,p=!1){let x=Le(u);if(!(!x||(p?!u.canRollback:!u.tracked)))return we(async()=>{let E=await Pe("preview",{id:a.id,path:i.path,...x,rollback:p});B({type:p?"rollback":"review",repo:a,skill:i,copy:u,detail:E})})}function ke(){if(!y||y.type!=="review"&&y.type!=="rollback")return;let a=y,i=a.type==="rollback",u=Le(a.copy);if(u)return we(async()=>{let p={id:a.repo.id,path:a.skill.path,...u};Ve({...p,pending:!0,key:"repo.updateProgress"});try{await Pe(i?"rollback":"update",{...p,token:a.detail.token,overwrite:a.detail.localModified})}catch(E){let O=E;throw D.current&&Ve({...p,error:!0,payload:O}),O}if(!D.current)return;let x=i?"repo.rollbackSuccess":"repo.updateSuccess";Ve({...p,key:x}),G({key:x}),B(null),K&&await K()})}function Je(a,i,u){return n(U,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:h,"aria-label":c(a),title:c(a),icon:r(i),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:u})}function R(a){let i=ve&&ve.id===a[0]?.id;return n(U,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:h||!a.length,"aria-busy":!!i,"aria-label":c(i?"repo.refreshing":"repo.refresh"),title:c(i?"repo.refreshing":"repo.refresh"),icon:i?n("span",{className:"dssm-repo-spinner","aria-hidden":!0}):r("M13.5 8A5.5 5.5 0 118 2.5c2.3 0 4.3 1.4 5.1 3.5m.4-3.5v3.5H10"),style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:()=>Ft(a)})}function Z(){return n("div",{className:"dssm-filter-actions"},R(ae),Je("repo.add","M8 2.5v11M2.5 8h11",()=>{G(null),ra({url:"",ref:"",subdirectory:""}),B({type:"add"})}),Je("repo.manage","M2.5 4.5h11M2.5 8h11M2.5 11.5h11",()=>{G(null),B({type:"manage"})}))}let Te=n("div",{key:"repository-actions",className:"dssm-actions"},P(ae),$("repo.add",()=>{G(null),ra({url:"",ref:"",subdirectory:""}),B({type:"add"})},!1),$("repo.manage",()=>{G(null),B({type:"manage"})})),pe=ae.filter(a=>!ut||a.id===ut);function me(a,i,u){let p=Le(u),x=se?.id===a.id&&se.path===i.path&&se.pending&&p&&se.root===p.root&&se.workspace===p.workspace;return n("div",{className:"dssm-repo-copy-actions"},u.tracked&&(u.updateAvailable||u.status==="conflict")?o("repo.review",()=>V(a,i,u),!p):null,u.canRollback?o("repo.rollback",()=>V(a,i,u,!0),!p):null,u.canUninstall?o(x&&se.action==="uninstall"?"repo.uninstalling":"repo.uninstall",()=>ee("uninstall",a,i,u),!p,xt(u)):null)}function N(a,i,u){let p=Le(u);return n("div",{className:"dssm-repo-copy",key:JSON.stringify([u.installedRoot,u.installedWorkspace||""])},Sa(u),me(a,i,u),p?null:n("div",{className:"dssm-note",role:"status"},c("repo.destinationUnavailable")))}let te=pe.map(a=>{let i=Zt.trim().toLowerCase(),u=a.skills.filter(E=>(!We||E.status===We)&&(!i||`${E.name} ${E.description} ${a.owner}/${a.name}`.toLowerCase().includes(i))),p=zt[a.id]===void 0?!!i||!!We:zt[a.id],x=p?u.length?u.map(E=>{let O=ja(E),L=O.length===1?O[0]:void 0;return n("div",{key:E.path,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},E.name),n("div",{className:"dssm-repo-description",title:E.description},E.description),L&&!Le(L)?n("div",{className:"dssm-note",role:"status"},c("repo.destinationUnavailable")):null,se?.id===a.id&&se.path===E.path?n("div",{className:"dssm-note"+(se.error?" dssm-error":""),role:se.error?"alert":"status","aria-live":"polite"},Ca(se)):null),n("div",{className:"dssm-repo-actions"},o("repo.detail",()=>Be(a,E)),o(se?.id===a.id&&se.path===E.path&&se.pending&&se.action==="install"?"repo.installing":O.length?"repo.installElsewhere":"repo."+(E.status==="available"?"install":E.status),()=>ee("install",a,E),!O.length&&E.status!=="available"))),O.length?n("div",{className:"dssm-repo-copies"},O.map(fe=>N(a,E,fe))):null)}):n("div",{className:"dssm-empty"},c("repo.noSkills")):null;return n("div",{key:a.id},n("section",{className:"dssm-source"},n("div",{className:"dssm-source-head"},n("button",{type:"button",className:"dssm-source-toggle","aria-expanded":p,onClick:()=>ce({...zt,[a.id]:!p})},H(p),n("div",{className:"dssm-source-label"},n("span",{className:"dssm-source-brand",title:"GitHub Repository"},n("svg",{viewBox:"0 0 16 16",width:16,height:16,fill:"currentColor"},n("path",{d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))),n("span",{className:"dssm-source-title"},a.owner+"/"+a.name),n("span",{className:"dssm-count"},u.length),n("span",{className:"dssm-source-path",title:a.owner+"/"+a.name},[a.ref||c("repo.defaultBranchLabel"),a.subdirectory].filter(Boolean).join(" \xB7 ")||a.owner+"/"+a.name))),n("span",{className:"dssm-repo-commit-badge",title:a.commit||c("repo.notScanned")},a.commit?a.commit.slice(0,7):c("repo.notScanned"))),p?n("div",{className:"dssm-source-body",role:"region"},x):null),a.error?n("div",{className:"dssm-feedback dssm-error",role:"alert"},na(a.error)):null)});function Fe(a,i,u,p){return n(m,{label:c(a),value:i,onChange:u,options:[{value:"",label:c(a)},...p.map(([x,E])=>({value:x,label:E}))]})}let Ne=rt?n("div",{className:"dssm-feedback"+(rt.error?" dssm-error":""),role:rt.error?"alert":"status"},Ca(rt)):null,or=ve?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},c("repo.refreshing")+" "+ve.index+"/"+ve.total+" \xB7 "+ve.name):null,ir;if(y){let a,i,u;if(y.type==="install"&&(a=n("div",{className:"dssm-repo-panel","aria-busy":h},n("div",{className:"dssm-name"},y.skill.name),n(W,{t:c,value:oe,disabled:h,allowAgents:!0,workspaces:Se,userDestinations:S,onChange:p=>{je.current||pt({...oe,...p})}}),n("p",{className:"dssm-note"},c("repo.installLocationsHint")),n("p",{className:"dssm-note"},c("repo.installHint")),h?n("div",{role:"status","aria-live":"polite"},c("repo.installProgress")):null,Ne,n("div",{className:"dssm-modal-actions"},$("repo.cancel",F),$(h?"repo.installing":"repo.install",Q,!1,!C(oe,Se,S))))),y.type==="uninstall"&&(i=c("repo.uninstallHint"),a=n("div",{className:"dssm-repo-panel","aria-busy":h},n("div",{className:"dssm-name"},y.skill.name),y.copy?n("div",{className:"dssm-repo-metadata"},kt(y.copy)):null,y.copy?.installedRoot==="agents"&&!y.copy.installedWorkspace?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},c("repo.uninstallExternalWarning")):null,h?n("div",{role:"status","aria-live":"polite"},c("repo.uninstallProgress")):null,Ne),u=n(t.Fragment,null,$("repo.cancel",F),$(h?"repo.uninstalling":"repo.confirmUninstall",Q,!0,!y.copy||!Le(y.copy),!0))),(y.type==="review"||y.type==="rollback")&&(a=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-name"},y.skill.name),n("div",{className:"dssm-repo-metadata"},kt(y.copy)),n("div",{className:"dssm-repo-metadata"},y.repo.owner+"/"+y.repo.name+" \xB7 "+y.detail.commit?.slice(0,7)),y.detail.localModified?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},c("repo.modified")):null,y.detail.changes.length?n("ul",{style:{maxHeight:"240px",overflow:"auto",overflowWrap:"anywhere",paddingLeft:"20px"}},y.detail.changes.map(p=>n("li",{key:p.path},c("repo."+(p.kind==="modified"?"modifiedFile":p.kind))+" \xB7 "+p.path))):n("p",null,c("repo.noChanges")),h?n("div",{role:"status"},c("repo.updateProgress")):null,Ne),u=n(t.Fragment,null,$("repo.cancel",F),$(y.detail.localModified?"repo.overwrite":y.type==="rollback"?"repo.confirmRollback":"repo.confirmUpdate",ke,!1,!y.detail.changes.length||!Le(y.copy)))),y.type==="add"&&(a=n("form",{className:"dssm-form",onSubmit:p=>{p.preventDefault(),et.url.trim()&&we(async()=>{let x=await Pe("add",et);await oa(x.id),B(null)})}},[["url","repo.url","https://github.com/owner/repo"],["ref","repo.ref",c("repo.defaultBranch")],["subdirectory","repo.directory",c("repo.directoryHint")]].map(([p,x,E])=>n("label",{className:"dssm-field",key:p},n("span",{className:"dssm-label"},c(x)),n(l,{"aria-label":c(x),value:et[p],placeholder:E,maxLength:p==="url"?2048:512,required:p==="url",disabled:h,onChange:O=>ra({...et,[p]:O.target.value})}))),Ne,n("div",{className:"dssm-modal-actions"},$("repo.cancel",F),$("repo.save",()=>{et.url.trim()&&we(async()=>{let p=await Pe("add",et);await oa(p.id),B(null)})},!1,!et.url.trim())))),y.type==="manage"&&(a=n("div",{className:"dssm-repo-panel"},n("p",{className:"dssm-desc"},c("repo.removeHint")),or,Ne,M())),y.type==="remove"&&(i=c("repo.removeHint"),a=n("div",null,n("div",{className:"dssm-name"},y.repo.owner+"/"+y.repo.name),Ne),u=n(t.Fragment,null,$("repo.cancel",()=>B({type:"manage"})),$("repo.removeConfirm",()=>we(async()=>{await Pe("remove",{id:y.repo.id}),ut===y.repo.id&&Mt(""),B({type:"manage"})}),!0,!1,!0))),y.type==="catalog-detail"&&y.detail){let p=y.detail;a=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:p.name},p.name),p.body?n(U,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>Qe(p.body)},c(ft==="copied"?"repo.copied":ft==="failed"?"repo.copyFailed":"repo.copyBody")):null),n("p",{className:"dssm-desc"},p.description),n("div",{className:"dssm-detail-path"},p.origin),n("p",{className:"dssm-note"},c("repo.installHint")),n(l.TextArea,{className:"dssm-detail-body",readOnly:!0,value:p.body||"",rows:16}))}if(y.type==="catalog-detail"&&!y.detail&&(a=n("div",{role:"status",className:"dssm-repo-panel"},y.loading?c("repo.detailLoading"):null,y.failed?Ne:null)),y.type==="catalog-install"&&(a=n("div",{className:"dssm-repo-panel","aria-busy":h},n("div",{className:"dssm-name"},y.target.name),n(W,{t:c,value:oe,disabled:h,allowAgents:!0,workspaces:Se,userDestinations:S,onChange:p=>{je.current||pt({...oe,...p})}}),n("p",{className:"dssm-note"},c("repo.installLocationsHint")),n("p",{className:"dssm-note"},c("repo.installHint")),h?n("div",{role:"status","aria-live":"polite"},c("repo.installProgress")):null,Ne,n("div",{className:"dssm-modal-actions"},$("repo.cancel",F),$(h?"repo.installing":"repo.install",Aa,!1,!C(oe,Se,S))))),y.type==="catalog-uninstall"&&(i=c("repo.uninstallHint"),a=n("div",{className:"dssm-repo-panel","aria-busy":h},n("div",{className:"dssm-name"},y.copy.name),n("div",{className:"dssm-repo-metadata"},an(y.copy)),y.copy.installedRoot==="agents"&&!y.copy.installedWorkspace?n("p",{className:"dssm-feedback dssm-warning",role:"alert"},c("repo.uninstallExternalWarning")):null,h?n("div",{role:"status","aria-live":"polite"},c("repo.uninstallProgress")):null,Ne),u=n(t.Fragment,null,$("repo.cancel",F),$(h?"repo.uninstalling":"repo.confirmUninstall",nn,!0,!1,!0))),y.type==="detail"&&y.detail){let p=y.detail;a=n("div",{className:"dssm-repo-panel"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:p.name},p.name),p.body?n(U,{variant:"outline",size:"sm","aria-live":"polite",onClick:()=>Qe(p.body)},c(ft==="copied"?"repo.copied":ft==="failed"?"repo.copyFailed":"repo.copyBody")):null),n("p",{className:"dssm-desc"},p.description),n("div",{className:"dssm-detail-path"},y.repo.owner+"/"+y.repo.name+" \xB7 "+p.path),n("div",{className:"dssm-repo-metadata"},c("repo.commit")+" \xB7 "+p.commit),n("p",{className:"dssm-note"},c("repo.installHint")),n(l.TextArea,{className:"dssm-detail-body",readOnly:!0,value:p.body||"",rows:16}))}y.type==="detail"&&!y.detail&&(a=n("div",{role:"status",className:"dssm-repo-panel"},y.loading?c("repo.detailLoading"):null,y.failed?Ne:null)),ir=n(e,{className:y.type==="detail"||y.type==="catalog-detail"?"dssm-modal-wide":void 0,title:c("repo."+(y.type==="catalog-detail"?"detail":y.type==="catalog-install"?"install":y.type==="catalog-uninstall"?"uninstall":y.type==="remove"?"remove":y.type)),description:i,footer:u,closeLabel:c("repo.close"),onClose:F},a)}function Oa(a){return Ia.includes(a)||Ba(a).length>0}function Ba(a){return Bt(va.filter(i=>i.id===a))}function an(a){return xt(a)}function rn(a){!je.current&&a.canUninstall&&(G(null),B({type:"catalog-uninstall",copy:a}))}function nn(){if(!y||y.type!=="catalog-uninstall")return;let a=y.copy;return we(async()=>{if(await f("/delete",{method:"POST",headers:b,body:JSON.stringify({name:a.name,root:a.installedRoot,...a.installedWorkspace?{workspace:a.installedWorkspace}:{}})}),!D.current)return;Dt(u=>u.filter(p=>p!==a&&!(p.id===a.id&&p.installedRoot===a.installedRoot&&p.installedWorkspace===a.installedWorkspace))),G({key:"repo.uninstallSuccess",name:a.name}),B(null);let i=await Promise.allSettled([it(),Promise.resolve().then(()=>K?.())]);D.current&&i.some(u=>u.status==="rejected")&&G({key:"repo.catalog.uninstallRefreshWarning",name:a.name})},!1)}function lr(a,i,u,p){let x=Ba(a);return n("div",{className:"dssm-repo-actions"},o("repo.detail",u),i&&!x.length?n("span",{className:"dssm-note",role:"status"},c("repo.catalog.unknownLocation")):null,x.length?o("repo.installElsewhere",p):Oa(a)?n("span",{className:"dssm-catalog-installed",role:"status"},c("repo.installed")):o(i?"repo.catalog.reassociate":"repo.install",p))}function dr(a){let i=Ba(a);return i.length?n("div",{className:"dssm-repo-copies"},i.map(u=>n("div",{className:"dssm-repo-copy",key:JSON.stringify([u.id,u.installedRoot,u.installedWorkspace||""])},Sa(u),u.canUninstall?o("repo.uninstall",()=>rn(u),!1,xt(u)):null))):null}let Fa=Re.filter(a=>{let i=Oa(`clawhub:${a.owner}/${a.slug}`);return!Ut||(Ut==="installed"?i:!i)}),cr=mt==="installs"?Fa.slice().sort((a,i)=>(i.installs||0)-(a.installs||0)):mt==="name"?Fa.slice().sort((a,i)=>a.name.localeCompare(i.name)):Fa,ur=a=>{let i=Ke.includes(`clawhub:${a.owner}/${a.slug}`),u=[a.source,a.downloads===void 0?null:a.downloads.toLocaleString()+" "+c("repo.catalog.downloads"),a.installs===void 0?null:a.installs.toLocaleString()+" "+c("repo.catalog.installs"),a.stars===void 0?null:a.stars.toLocaleString()+" "+c("repo.catalog.stars")].filter(Boolean).join(" \xB7 ");return n("div",{key:a.id,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},a.name),a.description?n("div",{className:"dssm-repo-description",title:a.description},a.description):null,n("div",{className:"dssm-meta-origin"},u)),lr(`clawhub:${a.owner}/${a.slug}`,i,()=>Rt({catalog:"clawhub",owner:a.owner,slug:a.slug,name:a.name}),()=>ia({catalog:"clawhub",owner:a.owner,slug:a.slug,name:a.name}))),dr(`clawhub:${a.owner}/${a.slug}`))},sn=n("div",{className:"dssm-catalog-list",onWheel:Nt},cr.map(ur),!cr.length&&!He&&!ht?n("div",{className:"dssm-empty"},c("repo.catalog.empty")):null,He?n("div",{className:"dssm-catalog-loading",role:"status","aria-live":"polite"},n("span",{className:"dssm-repo-spinner","aria-hidden":!0}),Re.length?c("repo.catalog.loadingMore"):c("repo.catalog.loading")):null,ht?n("div",{className:"dssm-feedback dssm-error",role:"alert"},c("repo.catalog.loadError"),n(U,{variant:"ghost",size:"sm",onClick:()=>{Ct()}},c("repo.catalog.retry"))):null,Y==="clawhub"&&!ue.trim()&>&&!ht?n("div",{className:"dssm-catalog-sentinel",ref:$e,"aria-hidden":!0}):null,Y==="clawhub"&&!ue.trim()&>&&!ht&&!He?n("div",{className:"dssm-catalog-loading"},n(U,{variant:"ghost",size:"sm",onClick:()=>{Ct(!1,!0)}},c("repo.catalog.loadMore"))):null),on=n("div",{className:"dssm-catalog-list"},wa.map(ur),ue.trim()&&!wa.length&&!_t&&!Xe?n("div",{className:"dssm-empty"},c("repo.catalog.searchEmpty")):null,_t?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},c("repo.catalog.searchLoading")):null,Xe?n("div",{className:"dssm-feedback dssm-error",role:"alert"},c("repo.catalog.searchError"),n(U,{variant:"ghost",size:"sm",onClick:()=>{sa(ue.trim())}},c("repo.catalog.retry"))):null),pr=vt.filter(a=>{if(!ea)return!0;let i=Oa(`skillsh:${a.source}/${a.skillId}`);return ea==="installed"?i:!i}),ln=n("div",{className:"dssm-catalog-list"},pr.map(a=>{let i=`skillsh:${a.source}/${a.skillId}`,u=Ke.includes(i),p=[a.source,a.installs===void 0?null:a.installs.toLocaleString()+" "+c("repo.catalog.installs")].filter(Boolean).join(" \xB7 ");return n("div",{key:a.id,className:"dssm-repo-row"},n("div",{className:"dssm-repo-head"},n("div",{className:"dssm-repo-main"},n("div",{className:"dssm-name"},a.name),n("div",{className:"dssm-meta-origin"},p)),lr(i,u,()=>Rt({catalog:"skillsh",source:a.source,skillId:a.skillId,name:a.name}),()=>ia({catalog:"skillsh",source:a.source,skillId:a.skillId,name:a.name}))),dr(i))}),ot.trim()&&!pr.length&&!ta&&!Ze?n("div",{className:"dssm-empty"},c("repo.catalog.skillshEmpty")):null,ta?n("div",{className:"dssm-note",role:"status","aria-live":"polite"},c("repo.catalog.skillshLoading")):null,Ze?n("div",{className:"dssm-feedback dssm-error",role:"alert"},c("repo.catalog.skillshError"),n(U,{variant:"ghost",size:"sm",onClick:()=>{le(ot.trim())}},c("repo.catalog.retry"))):null),dn=n("div",{className:"dssm-subsources"},n("button",{type:"button",className:"dssm-subsource-btn"+(Y==="github"?" on":""),"aria-pressed":Y==="github",onClick:()=>lt("github")},c("repo.subsource.github")+" ("+ae.length+")"),n("button",{type:"button",className:"dssm-subsource-btn"+(Y==="clawhub"?" on":""),"aria-pressed":Y==="clawhub",onClick:()=>lt("clawhub")},c("repo.subsource.clawhub")),n("button",{type:"button",className:"dssm-subsource-btn"+(Y==="skillsh"?" on":""),"aria-pressed":Y==="skillsh",onClick:()=>lt("skillsh")},c("repo.subsource.skillsh"))),cn=Y==="github"?n("div",{className:"dssm-filters"},n("div",{className:"dssm-source-filter"},Fe("repo.all",ut,Mt,ae.map(a=>[a.id,a.owner+"/"+a.name]))),n("div",{className:"dssm-status-filter"},Fe("repo.states",We,a=>{Yt(a),ce({})},["available","installed","update","conflict","invalid"].map(a=>[a,c("repo."+a)]))),n(l,{className:"dssm-search",allowClear:!0,"aria-label":c("repo.search"),placeholder:c("repo.search"),value:Zt,onChange:a=>{Ge(a.target.value),ce({})}}),Z()):Y==="clawhub"?n("div",{className:"dssm-filters dssm-catalog-filters"},ue.trim()?null:n("div",{className:"dssm-catalog-sort-filter"},Fe("repo.subsource.popular",mt,Ht,[["installs",c("repo.sort.installs")],["name",c("repo.sort.name")]])),ue.trim()?null:n("div",{className:"dssm-catalog-status-filter"},Fe("repo.catalog.states",Ut,he,[["available",c("repo.available")],["installed",c("repo.installed")]])),n(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":c("repo.catalog.searchClawhub"),placeholder:c("repo.catalog.searchClawhub"),value:ue,onChange:a=>Pa(a.target.value)})):Y==="skillsh"?n("div",{className:"dssm-filters dssm-catalog-filters dssm-skillsh-filters"},n("div",{className:"dssm-catalog-status-filter"},Fe("repo.catalog.states",ea,Ua,[["available",c("repo.catalog.uninstalled")],["installed",c("repo.installed")]])),n(l,{className:"dssm-search",allowClear:!0,maxLength:100,"aria-label":c("repo.catalog.searchSkillsh"),placeholder:c("repo.catalog.searchSkillsh"),value:ot,onChange:a=>Ra(a.target.value)})):null,un=n("div",{key:"repositories",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-repositories",className:"dssm-repo-panel","aria-busy":h},n("style",null,yn),dn,Y==="github"?n("p",{className:"dssm-desc"},c("repo.hint")):Y==="clawhub"&&!ue.trim()?n("p",{className:"dssm-desc"},c("repo.subsource.catalogNote")):null,cn,Ke.length?n("div",{className:"dssm-note",role:"status"},c("repo.catalog.unknownHint")):null,nt.map(a=>n("div",{key:a.id,className:"dssm-feedback dssm-error",role:"alert"},a.id+" \xB7 "+na(a))),Ne,y?null:or,h&&!ve?n("div",{className:"dssm-note",role:"status"},c("repo.loading")):null,Y==="github"?ae.length?te:n("div",{className:"dssm-empty"},c("repo.empty")):Y==="skillsh"?ln:ue.trim()?on:sn,n("p",{className:"dssm-note"},c("repo.footer")),ir);return{actions:Te,content:un,focusSource:(a,i)=>{Mt(a.id),Ge(i),Yt(""),ce({[a.id]:!0})}}}}var Vt=()=>({scope:"user",location:"dsh",workspace:""});function Ea(t){return t.scope==="workspace"?{workspace:t.workspace}:{root:t.location==="agents"?"agents":"dsh"}}function At(t,e,l){return t.scope==="user"?!l||l.some(d=>d.key===t.location&&d.available===!0):e.some(d=>d.available&&!!d.registeredPaths[0]&&d.registeredPaths[0]===t.workspace)}function vn(t){let e=t.includes("\\")?"\\":"/";return t.replace(/[\\/]+$/,"")+e+".dsh"+e+"skills"}var qa={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."}},yr=[".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 wn({react:t,SourceSelect:e,translateError:l}){let d=t.createElement;return function({t:g,value:f,onChange:b,workspaces:v,userDestinations:k,allowAgents:n,disabled:H}){let U=f.scope==="workspace",W=v.find(h=>!!h.registeredPaths[0]&&h.registeredPaths[0]===f.workspace),ne=[{value:"user",label:g("dest.scope.user")},{value:"workspace",label:g("dest.scope.workspace")}],_=new Map;for(let h of v)_.set(h.name,(_.get(h.name)??0)+1);let C=[{value:"",label:g("dest.workspace.placeholder")}].concat(v.map(h=>({value:h.registeredPaths[0]||"",label:h.available?(_.get(h.name)??0)>1?h.name+" \xB7 "+h.path:h.name:g("dest.workspace.unavailable",{name:h.name}),disabled:!h.available||!h.registeredPaths[0]}))),J=(n?["dsh","agents"]:["dsh"]).filter(h=>k.some(q=>q.key===h)),c=h=>k.find(q=>q.key===h),K=h=>J.some(q=>q===h)&&c(h)?.available!==!1,ae=J.map(h=>({value:h,label:g("dest.location."+h),disabled:c(h)?.available===!1})),de=U?d("div",{className:"dssm-field",key:"workspace"},d("span",{className:"dssm-label"},g("dest.workspace")),d(e,{label:g("dest.workspace"),value:f.workspace,disabled:H||v.length===0,options:C,onChange:h=>{!H&&v.length>0&&(h===""||At({...f,scope:"workspace",workspace:h},v))&&b({workspace:h})}})):d("div",{className:"dssm-field",key:"location"},d("span",{className:"dssm-label"},g("dest.location")),d(e,{label:g("dest.location"),value:f.location,disabled:H||J.length===0,options:ae,onChange:h=>{!H&&K(h)&&b({location:h})}})),S=U?W&&W.available?vn(W.projectRoot||W.path):"":c(f.location)?.path??"",j=U?[]:J.filter(h=>c(h)?.available===!1);return d("div",{className:"dssm-destination"},d("div",{className:"dssm-destination-pair"},d("div",{className:"dssm-field",key:"scope"},d("span",{className:"dssm-label"},g("dest.scope")),d(e,{label:g("dest.scope"),value:f.scope,disabled:H,options:ne,onChange:h=>{!H&&(h==="workspace"||h==="user")&&b(h==="workspace"?{scope:"workspace",location:"dsh"}:{scope:"user",workspace:""})}})),de),U&&v.length===0?d("p",{className:"dssm-feedback dssm-warning",role:"status"},g("dest.empty")):null,U&&v.length>0&&!W?d("p",{className:"dssm-note"},g("dest.pickFirst")):null,S?d("code",{className:"dssm-destination-path"},S):null,j.map(h=>d("div",{key:h,className:"dssm-note dssm-destination-unavailable"},d("span",null,g("dest.location."+h)),d("code",{className:"dssm-destination-path"},c(h)?.path??""),d("span",null,c(h)?.error?l(g,c(h).error):""))),U&&W?d("p",{className:"dssm-note"},g("dest.projectNote")+" "+g("dest.location.agentsOff")):null)}}function vr(t){return{DestinationPicker:wn(t),defaultDestination:Vt,destinationPayload:Ea,destinationReady:At}}var z=la(require("react"),1),Qa=require("react-dom/client"),Et=require("@deepseek-ai/dsh-client-ui-primitives");var kn={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"},xn={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")?kn:xn}function Sn(t,e,l,d){let m=da(t),g=e?.restartDesktop===!0||e?.profileName==="desktop",f=g?{...m,manualHint:m.manualHintDesktop}:m,b=l!=="idle",v=f.checking,k="";return l==="checking"?v=f.checking:l==="updating"?v=f.updating:d.type==="error"?(v=d.message||f.failed,k="error"):d.type==="restart"?(v=g?f.restartDesktop:f.restart,k="success"):d.type==="restarting"?(v=f.restarting,k="success"):e===void 0?v=f.checking:e.latestCheckFailed?(v=f.failed,k="error"):!e.canAutoUpdate&&e.updateAvailable?(v=f.unavailable,k="update"):e.updateAvailable?(v=`${f.found}: v${e.latestVersion??f.unknown}`,k="update"):(v=f.latest,k="success"),{copy:f,busy:b,message:v,kind:k,loading:l==="updating",updateLabel:l==="updating"?f.updating:f.auto,disabled:b||e?.canAutoUpdate!==!0||e.updateAvailable!==!0,currentVersion:e===void 0?f.unknown:`v${e.currentVersion}`,latestVersion:e?.latestVersion===void 0?f.unknown:`v${e.latestVersion}`,profileName:e?.profileName??f.unknown,profileRaw:e?.profileName??"",latestRaw:e?.latestVersion??"latest"}}function wr(t,e,l){let d="idle",m=e,g={type:"status"},f=0,b=new Set,v=()=>{for(let n of b)n()},k=n=>{m=n,l?.(n)};return{get posts(){return f},subscribe(n){return b.add(n),()=>{b.delete(n)}},view(n){return Sn(n,m,d,g)},async check(){if(d==="idle"){d="checking",g={type:"status"},v();try{k(await t("GET")),g={type:"status"}}catch(n){g={type:"error",message:n instanceof Error?n.message:""}}finally{d="idle",v()}}},async update(){if(d==="idle"){d="updating",g={type:"status"},f+=1,v();try{let n=await t("POST");k(n),g={type:n.autoReload===!0?"restarting":"restart"}}catch(n){g={type:"error",message:n instanceof Error?n.message:""}}finally{d="idle",v()}}}}}function kr(t,e,l){return`dsh plugin${t.trim()===""?"":` --profile ${t.trim()}`} add ${e}@${l} --registry=https://registry.npmjs.org/`}function xr(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function Cn(){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 ca(t){if(typeof t!="string"||t.charAt(0)!=="/"||t.charAt(1)==="/")return t;let e=Cn();if(e===void 0)return t;try{return new URL(t.slice(1),e).href}catch{return t}}var Nn="x-michengai-plugin-update",Sr="michengai-plugin-update-ui",Rn=`
|
|
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,14 +22,14 @@ 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 Ns(){if(document.getElementById(Sr)!==null)return;let t=document.createElement("style");t.id=Sr,t.textContent=Cs,(document.head??document.documentElement).append(t)}function Rs(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 Cr(t,e,d){let l=d===void 0?{}:{signal:d},p=await fetch(t,e==="GET"?{cache:"no-store",...l}:{method:"POST",headers:{"content-type":"application/json",[Ss]:"1"},body:"{}",...l}),f=await p.json();if(!p.ok||!Rs(f))throw new Error(f&&typeof f=="object"&&"error"in f&&typeof f.error=="string"?f.error:la(document.documentElement.lang).failed);return f}function As(t){let e=z.default.useRef(null);return z.default.useLayoutEffect(()=>{e.current?.replaceChildren(t.node)},[t.node]),z.default.createElement("span",{ref:e,className:"mpi-icon","aria-hidden":!0})}function Es(t){let e=z.default.useRef(null),[,d]=z.default.useState(0),[l,p]=z.default.useState("idle");z.default.useEffect(()=>t.flow.subscribe(()=>d(s=>s+1)),[t.flow]),z.default.useEffect(()=>{let s=document.documentElement,H=new MutationObserver(()=>d(U=>U+1));return H.observe(s,{attributes:!0,attributeFilter:["lang"]}),()=>H.disconnect()},[]),z.default.useEffect(()=>{t.flow.check()},[t.flow]),z.default.useEffect(()=>{function s(H){xr(H,t.onClose)}return document.addEventListener("keydown",s,!0),()=>document.removeEventListener("keydown",s,!0)},[t.onClose]);let f=document.documentElement.lang,g=t.flow.view(f),h=f.toLowerCase().startsWith("zh")?t.zhName:t.enName,v=kr(g.profileRaw,t.packageName,g.latestRaw),x=l==="copied"?g.copy.copied:l==="failed"?g.copy.copyFailed:g.copy.copy;return z.default.createElement(Et.Modal,{open:!0,className:"mpi-dialog",title:`${h} ${g.copy.update}`,onClose:t.onClose,closeLabel:"Close",footer:[z.default.createElement(Et.Button,{key:"check",variant:"outline",size:"sm",disabled:g.busy,onClick:()=>{t.flow.check()}},g.copy.recheck),z.default.createElement(Et.Button,{key:"update",variant:"primary",size:"sm",disabled:g.disabled,onClick:()=>{t.flow.update()}},g.updateLabel)]},z.default.createElement("div",{ref:e},z.default.createElement("p",{className:"mpi-intro"},g.copy.intro),z.default.createElement("dl",{className:"mpi-meta"},z.default.createElement("dt",null,g.copy.current),z.default.createElement("dd",null,z.default.createElement("span",{className:"mpi-mono"},g.currentVersion)),z.default.createElement("dt",null,g.copy.latestLabel),z.default.createElement("dd",{className:"mpi-latest"},z.default.createElement("span",{className:"mpi-mono"},g.latestVersion),z.default.createElement("span",{className:"mpi-status",role:"status","data-kind":g.kind,...g.kind==="update"?{style:{color:"#e8b15a"}}:{}},g.message)),z.default.createElement("dt",null,g.copy.profile),z.default.createElement("dd",null,z.default.createElement("span",{className:"mpi-mono"},g.profileName))),g.busy?z.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},z.default.createElement("div",{className:"dssm-update-progress-bar"})):null,z.default.createElement("section",{className:"mpi-manual"},z.default.createElement("h3",null,g.copy.manual),z.default.createElement("p",null,g.copy.manualHint),z.default.createElement("div",{className:"mpi-command"},z.default.createElement("code",null,v),z.default.createElement(Et.Button,{variant:"outline",size:"sm",disabled:g.busy,onClick:()=>{let s=navigator.clipboard?.writeText(v);if(s===void 0){p("failed");return}s.then(()=>{p("copied"),window.setTimeout(()=>p("idle"),1400)}).catch(()=>p("failed"))}},x)))))}function Nr(t){if(typeof document>"u"||document.body===null)return()=>{};let e=da(t.endpoint);Ns();let d=new AbortController,l,p,f,g,h,v,x;function s(){f?.unmount(),f=void 0,p=void 0,g=void 0}function H(){if(f===void 0)return;g===void 0&&(g=t.createIcon("refresh"));let B=g;f.render(z.default.createElement(Et.Button,{variant:"outline",size:"sm",onClick:X,icon:z.default.createElement(As,{node:B})},z.default.createElement("span",{"data-mpi-label":""},la(document.documentElement.lang).check)))}function U(){v?.unmount(),v=void 0,h?.remove(),h=void 0}function X(){U();let B=document.createElement("div");B.className="mpi-dialog-root",document.body.append(B),h=B,v=(0,Qa.createRoot)(B),v.render(z.default.createElement(Es,{flow:wr(u=>Cr(e,u,d.signal),l,u=>{l=u,ue()}),packageName:t.packageName,zhName:t.zhName,enName:t.enName,onClose:U}))}function ue(){let B=document.querySelector(t.titleRowSelector);if(B===null)return;let u=B.querySelector("h1,h2");if(u!==null&&l!==void 0){let j=u.querySelector(`.mpi-version[data-package="${t.packageName}"]`);j===null&&(j=document.createElement("span"),j.className="mpi-version",j.dataset.package=t.packageName,u.append(j));let Me=`v${l.currentVersion}`;j.textContent!==Me&&(j.textContent=Me)}p!==void 0&&!p.isConnected&&s();let _=B.querySelector(t.linksSelector);if(_===null)return;let C=_.querySelector(`[data-mpi-check="${t.packageName}"]`);if(t.isEnabled&&!t.isEnabled()){h!==void 0&&U(),C!==null&&(s(),C.remove());return}if(C!==null){let j=C.querySelector("[data-mpi-label]");(j===null||j.textContent!==la(document.documentElement.lang).check)&&H();return}let K=document.createElement("span");K.dataset.mpiCheck=t.packageName,K.className="mpi-check-host",_.append(K),p=K,f=(0,Qa.createRoot)(K),H()}let be=async()=>(l=await Cr(e,"GET",d.signal),ue(),l),S=new MutationObserver(()=>{x===void 0&&(x=window.requestAnimationFrame(()=>{x=void 0,ue()}))});S.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),ue(),be().catch(()=>{});let E=()=>{d.abort(),S.disconnect(),U(),s(),x!==void 0&&window.cancelAnimationFrame(x),document.querySelectorAll(`[data-mpi-check="${t.packageName}"],.mpi-version[data-package="${t.packageName}"]`).forEach(B=>B.remove())};return E.refresh=()=>ue(),E}var Wt=require("@deepseek-ai/dsh-client-ui-primitives");function Rr(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function Ar(t){let e=t.createElement;return function(l){let p=t.useState(!1),f=p[0],g=p[1];t.useEffect(function(){if(!f||typeof window>"u")return;function s(H){Rr(H,function(){g(!1)})}return window.addEventListener("keydown",s,!0),function(){window.removeEventListener("keydown",s,!0)}},[f]);let h=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(Wt.Menu,{open:f,onClose:function(){g(!1)},onSelect:function(s){l.onChange(s),g(!1)},align:"end",portal:!0,anchor:e(Wt.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||g(function(s){return!s})},icon:l.icon},l.icon?null:l.label),items:h}));let v=l.options.find(function(s){return s.value===l.value}),x=v?v.label:l.label;return e("div",{className:"dssm-menu-select-wrap"},e(Wt.Menu,{open:f,onClose:function(){g(!1)},onSelect:function(s){l.onChange(s),g(!1)},selectedId:l.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:e(Wt.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||g(function(s){return!s})}},e("span",{className:"dssm-menu-select-label"},x),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:h}))}}var Te=require("@deepseek-ai/dsh-client-ui-primitives");var Er=Aa(require("react"),1),Lr=require("@deepseek-ai/dsh-client-ui-primitives");function Ls(t){let{autoSize:e,className:d,rows:l,...p}=t;return Er.default.createElement("textarea",{...p,className:["dssm-textarea",d].filter(Boolean).join(" "),rows:e?.minRows||l||4})}var ct=Object.assign(Lr.Input,{TextArea:Ls});function Tr(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 ua="data-dssm-nav-icon",ca="dssm-nav-icon-skills",Ts='[role="dialog"] nav button',Za='<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.33295 2.91984 1.47867 2.37225 1.82422 1.89649C2.02613 1.61864 2.27098 1.37379 2.54883 1.17188C3.02472 0.826181 3.57197 0.6806 4.20215 0.612307C4.81976 0.545393 5.594 0.546877 6.55371 0.546878H9.02246ZM9.19629 9.14649H4.5459V7.84571H9.19629V9.14649ZM11.0303 6.10645H4.5459V4.80567H11.0303V6.10645Z"/>',Mr=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${Za.replace(/fill="currentColor"/g,'fill="black"')}</svg>`)}")`,zr="dssm-settings-nav-icon-style",Ms=`[${ua}="skills"]>svg{display:none!important}.${ca}{display:inline-block;flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:${Mr} center/contain no-repeat;mask:${Mr} center/contain no-repeat}`;function zs(t,e){let d=String(e??"").trim();return d.length===0?!1:String(t??"").trim()===d}function Is(){if(typeof document>"u"||document.getElementById(zr)!==null)return;let t=document.createElement("style");t.id=zr,t.textContent=Ms,(document.head??document.documentElement).appendChild(t)}function Hs(t,e){if(!zs(t.textContent,e())||!t.querySelector(":scope > svg")||t.getAttribute(ua)==="skills"&&t.querySelector(`.${ca}`))return!1;let d=t.ownerDocument;if(!d||(t.setAttribute(ua,"skills"),t.querySelector(`.${ca}`)))return!1;let l=d.createElement("span");return l.className=ca,l.setAttribute("aria-hidden","true"),t.prepend(l),!0}function Ds(t){t.removeAttribute(ua);let e=t.querySelector(`.${ca}`);return e?(e.remove(),!0):!1}function Ir(t,e){typeof document>"u"||(Is(),t.effect(()=>{let d=!1,l=!1,p=()=>{if(l=!1,!d)for(let h of document.querySelectorAll(Ts))Hs(h,e)},f=()=>{l||d||(l=!0,queueMicrotask(p))};p();let g=new MutationObserver(f);return g.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{d=!0,g.disconnect();for(let h of document.querySelectorAll(`[${ua}]`))Ds(h)}},"skills-manager: settings nav icon"))}var Fe=Aa(require("react"),1),Ja=require("@deepseek-ai/dsh-client-ui-primitives");var me=Fe.createElement,Us="@michengai/dsh-skills-manager",Ya="skills-manager",js=2,Ga={zh:{"sidebar.entry.title":"\u4FA7\u8FB9\u680F\u5165\u53E3","sidebar.entry.desc":"\u5728\u4FA7\u680F\u300C\u63D2\u4EF6\u300D\u4E0B\u65B9\u663E\u793A\u6280\u80FD\u3002\u8BBE\u7F6E\u91CC\u7684\u5165\u53E3\u4E0D\u53D8\u3002","sidebar.entry.toggle":"\u5207\u6362\u4FA7\u8FB9\u680F\u5165\u53E3","update.entry.title":"\u5728\u7EBF\u66F4\u65B0","update.entry.desc":"\u5141\u8BB8\u68C0\u67E5\u5E76\u5728\u7EBF\u5B89\u88C5\u6280\u80FD\u7BA1\u7406\u5668\u7684\u65B0\u7248\u672C\u3002\u5173\u95ED\u540E\u9690\u85CF\u66F4\u65B0\u5165\u53E3\u3002","update.entry.toggle":"\u5207\u6362\u5728\u7EBF\u66F4\u65B0"},en:{"sidebar.entry.title":"Sidebar entry","sidebar.entry.desc":"Show Skills below Plugins in the sidebar. The Settings entry stays either way.","sidebar.entry.toggle":"Toggle sidebar entry","update.entry.title":"Online updates","update.entry.desc":"Allow checking and installing new versions online. Hides the update entry when disabled.","update.entry.toggle":"Toggle online updates"}},Hr="dssm-sidebar-entry-style",Xa=`
|
|
25
|
+
`;function An(){if(document.getElementById(Sr)!==null)return;let t=document.createElement("style");t.id=Sr,t.textContent=Rn,(document.head??document.documentElement).append(t)}function En(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 Cr(t,e,l){let d=l===void 0?{}:{signal:l},m=await fetch(t,e==="GET"?{cache:"no-store",...d}:{method:"POST",headers:{"content-type":"application/json",[Nn]:"1"},body:"{}",...d}),g=await m.json();if(!m.ok||!En(g))throw new Error(g&&typeof g=="object"&&"error"in g&&typeof g.error=="string"?g.error:da(document.documentElement.lang).failed);return g}function Ln(t){let e=z.default.useRef(null);return z.default.useLayoutEffect(()=>{e.current?.replaceChildren(t.node)},[t.node]),z.default.createElement("span",{ref:e,className:"mpi-icon","aria-hidden":!0})}function Tn(t){let e=z.default.useRef(null),[,l]=z.default.useState(0),[d,m]=z.default.useState("idle");z.default.useEffect(()=>t.flow.subscribe(()=>l(n=>n+1)),[t.flow]),z.default.useEffect(()=>{let n=document.documentElement,H=new MutationObserver(()=>l(U=>U+1));return H.observe(n,{attributes:!0,attributeFilter:["lang"]}),()=>H.disconnect()},[]),z.default.useEffect(()=>{t.flow.check()},[t.flow]),z.default.useEffect(()=>{function n(H){xr(H,t.onClose)}return document.addEventListener("keydown",n,!0),()=>document.removeEventListener("keydown",n,!0)},[t.onClose]);let g=document.documentElement.lang,f=t.flow.view(g),b=g.toLowerCase().startsWith("zh")?t.zhName:t.enName,v=kr(f.profileRaw,t.packageName,f.latestRaw),k=d==="copied"?f.copy.copied:d==="failed"?f.copy.copyFailed:f.copy.copy;return z.default.createElement(Et.Modal,{open:!0,className:"mpi-dialog",title:`${b} ${f.copy.update}`,onClose:t.onClose,closeLabel:"Close",footer:[z.default.createElement(Et.Button,{key:"check",variant:"outline",size:"sm",disabled:f.busy,onClick:()=>{t.flow.check()}},f.copy.recheck),z.default.createElement(Et.Button,{key:"update",variant:"primary",size:"sm",disabled:f.disabled,onClick:()=>{t.flow.update()}},f.updateLabel)]},z.default.createElement("div",{ref:e},z.default.createElement("p",{className:"mpi-intro"},f.copy.intro),z.default.createElement("dl",{className:"mpi-meta"},z.default.createElement("dt",null,f.copy.current),z.default.createElement("dd",null,z.default.createElement("span",{className:"mpi-mono"},f.currentVersion)),z.default.createElement("dt",null,f.copy.latestLabel),z.default.createElement("dd",{className:"mpi-latest"},z.default.createElement("span",{className:"mpi-mono"},f.latestVersion),z.default.createElement("span",{className:"mpi-status",role:"status","data-kind":f.kind,...f.kind==="update"?{style:{color:"#e8b15a"}}:{}},f.message)),z.default.createElement("dt",null,f.copy.profile),z.default.createElement("dd",null,z.default.createElement("span",{className:"mpi-mono"},f.profileName))),f.busy?z.default.createElement("div",{className:"dssm-update-progress",role:"progressbar","aria-busy":"true"},z.default.createElement("div",{className:"dssm-update-progress-bar"})):null,z.default.createElement("section",{className:"mpi-manual"},z.default.createElement("h3",null,f.copy.manual),z.default.createElement("p",null,f.copy.manualHint),z.default.createElement("div",{className:"mpi-command"},z.default.createElement("code",null,v),z.default.createElement(Et.Button,{variant:"outline",size:"sm",disabled:f.busy,onClick:()=>{let n=navigator.clipboard?.writeText(v);if(n===void 0){m("failed");return}n.then(()=>{m("copied"),window.setTimeout(()=>m("idle"),1400)}).catch(()=>m("failed"))}},k)))))}function Nr(t){if(typeof document>"u"||document.body===null)return()=>{};let e=ca(t.endpoint);An();let l=new AbortController,d,m,g,f,b,v,k;function n(){g?.unmount(),g=void 0,m=void 0,f=void 0}function H(){if(g===void 0)return;f===void 0&&(f=t.createIcon("refresh"));let c=f;g.render(z.default.createElement(Et.Button,{variant:"outline",size:"sm",onClick:W,icon:z.default.createElement(Ln,{node:c})},z.default.createElement("span",{"data-mpi-label":""},da(document.documentElement.lang).check)))}function U(){v?.unmount(),v=void 0,b?.remove(),b=void 0}function W(){U();let c=document.createElement("div");c.className="mpi-dialog-root",document.body.append(c),b=c,v=(0,Qa.createRoot)(c),v.render(z.default.createElement(Tn,{flow:wr(K=>Cr(e,K,l.signal),d,K=>{d=K,ne()}),packageName:t.packageName,zhName:t.zhName,enName:t.enName,onClose:U}))}function ne(){let c=document.querySelector(t.titleRowSelector);if(c===null)return;let K=c.querySelector("h1,h2");m!==void 0&&!m.isConnected&&n();let ae=c.querySelector(t.linksSelector);if(ae===null)return;let de=ae.querySelector(`[data-mpi-check="${t.packageName}"]`);if(t.isEnabled&&!t.isEnabled()){if(b!==void 0&&U(),de!==null&&(n(),de.remove()),K!==null){let j=K.querySelector(`.mpi-version[data-package="${t.packageName}"]`);j!==null&&j.remove()}return}if(K!==null&&d!==void 0){let j=K.querySelector(`.mpi-version[data-package="${t.packageName}"]`);j===null&&(j=document.createElement("span"),j.className="mpi-version",j.dataset.package=t.packageName,K.append(j));let h=`v${d.currentVersion}`;j.textContent!==h&&(j.textContent=h)}if(de!==null){let j=de.querySelector("[data-mpi-label]");(j===null||j.textContent!==da(document.documentElement.lang).check)&&H();return}let S=document.createElement("span");S.dataset.mpiCheck=t.packageName,S.className="mpi-check-host",ae.append(S),m=S,g=(0,Qa.createRoot)(S),H()}let _,C=()=>(_!==void 0||(_=Cr(e,"GET",l.signal).then(c=>(l.signal.aborted||(d=c,ne()),c)).finally(()=>{_=void 0})),_),A=new MutationObserver(()=>{k===void 0&&(k=window.requestAnimationFrame(()=>{k=void 0,ne()}))});A.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["lang"]}),ne(),C().catch(()=>{});let J=()=>{l.abort(),A.disconnect(),U(),n(),k!==void 0&&window.cancelAnimationFrame(k),document.querySelectorAll(`[data-mpi-check="${t.packageName}"],.mpi-version[data-package="${t.packageName}"]`).forEach(c=>c.remove())};return J.refresh=()=>{l.signal.aborted||(ne(),d===void 0&&(!t.isEnabled||t.isEnabled())&&C().catch(()=>{}))},J}var Wt=require("@deepseek-ai/dsh-client-ui-primitives");function Rr(t,e){return t.key!=="Escape"?!1:(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),e(),!0)}function Ar(t){let e=t.createElement;return function(d){let m=t.useState(!1),g=m[0],f=m[1];t.useEffect(function(){if(!g||typeof window>"u")return;function n(H){Rr(H,function(){f(!1)})}return window.addEventListener("keydown",n,!0),function(){window.removeEventListener("keydown",n,!0)}},[g]);let b=t.useMemo(function(){return d.options.map(function(n){return{id:n.value,label:n.label,disabled:n.disabled,danger:n.danger}})},[d.options]);if(d.action)return e("div",{className:"dssm-action-menu-wrap",style:{display:"inline-block"}},e(Wt.Menu,{open:g,onClose:function(){f(!1)},onSelect:function(n){d.onChange(n),f(!1)},align:"end",portal:!0,anchor:e(Wt.Button,{variant:"outline",size:"sm",disabled:d.disabled,className:d.icon?"dssm-icon-action":void 0,style:d.icon?{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"}:void 0,"aria-label":d.label,title:d.label,onClick:function(){d.disabled||f(function(n){return!n})},icon:d.icon},d.icon?null:d.label),items:b}));let v=d.options.find(function(n){return n.value===d.value}),k=v?v.label:d.label;return e("div",{className:"dssm-menu-select-wrap"},e(Wt.Menu,{open:g,onClose:function(){f(!1)},onSelect:function(n){d.onChange(n),f(!1)},selectedId:d.value,align:"start",portal:!0,dense:!0,listClassName:"dssm-source-select-menu",anchor:e(Wt.Button,{variant:"outline",size:"sm",role:"combobox","aria-label":d.label,"aria-expanded":g,disabled:d.disabled,className:"dssm-menu-select-trigger"+(g?" is-open":""),onClick:function(){d.disabled||f(function(n){return!n})}},e("span",{className:"dssm-menu-select-label"},k),e("svg",{className:"dssm-menu-select-arrow",viewBox:"0 0 16 16",width:12,height:12,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",style:{marginLeft:4,transition:"transform 150ms ease",transform:g?"rotate(180deg)":"none"}},e("path",{d:"m4 6 4 4 4-4"}))),items:b}))}}var Fr=la(require("@deepseek-ai/dsh-client-ui-primitives"),1),ze=require("@deepseek-ai/dsh-client-ui-primitives");var Er=la(require("react"),1),Lr=require("@deepseek-ai/dsh-client-ui-primitives");function Mn(t){let{autoSize:e,className:l,rows:d,...m}=t;return Er.default.createElement("textarea",{...m,className:["dssm-textarea",l].filter(Boolean).join(" "),rows:e?.minRows||d||4})}var ct=Object.assign(Lr.Input,{TextArea:Mn});function Tr(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 pa="data-dssm-nav-icon",ua="dssm-nav-icon-skills",zn='[role="dialog"] nav button',Za='<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.33295 2.91984 1.47867 2.37225 1.82422 1.89649C2.02613 1.61864 2.27098 1.37379 2.54883 1.17188C3.02472 0.826181 3.57197 0.6806 4.20215 0.612307C4.81976 0.545393 5.594 0.546877 6.55371 0.546878H9.02246ZM9.19629 9.14649H4.5459V7.84571H9.19629V9.14649ZM11.0303 6.10645H4.5459V4.80567H11.0303V6.10645Z"/>',Mr=`url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">${Za.replace(/fill="currentColor"/g,'fill="black"')}</svg>`)}")`,zr="dssm-settings-nav-icon-style",In=`[${pa}="skills"]>svg{display:none!important}.${ua}{display:inline-block;flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:${Mr} center/contain no-repeat;mask:${Mr} center/contain no-repeat}`;function Hn(t,e){let l=String(e??"").trim();return l.length===0?!1:String(t??"").trim()===l}function Un(){if(typeof document>"u"||document.getElementById(zr)!==null)return;let t=document.createElement("style");t.id=zr,t.textContent=In,(document.head??document.documentElement).appendChild(t)}function Dn(t,e){if(!Hn(t.textContent,e())||!t.querySelector(":scope > svg")||t.getAttribute(pa)==="skills"&&t.querySelector(`.${ua}`))return!1;let l=t.ownerDocument;if(!l||(t.setAttribute(pa,"skills"),t.querySelector(`.${ua}`)))return!1;let d=l.createElement("span");return d.className=ua,d.setAttribute("aria-hidden","true"),t.prepend(d),!0}function jn(t){t.removeAttribute(pa);let e=t.querySelector(`.${ua}`);return e?(e.remove(),!0):!1}function Ir(t,e){typeof document>"u"||(Un(),t.effect(()=>{let l=!1,d=!1,m=()=>{if(d=!1,!l)for(let b of document.querySelectorAll(zn))Dn(b,e)},g=()=>{d||l||(d=!0,queueMicrotask(m))};m();let f=new MutationObserver(g);return f.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),()=>{l=!0,f.disconnect();for(let b of document.querySelectorAll(`[${pa}]`))jn(b)}},"skills-manager: settings nav icon"))}var Me=la(require("react"),1),Ja=require("@deepseek-ai/dsh-client-ui-primitives");var ge=Me.createElement,Pn="@michengai/dsh-skills-manager",Ya="skills-manager",On=2,Ga={zh:{"sidebar.entry.title":"\u4FA7\u8FB9\u680F\u5165\u53E3","sidebar.entry.desc":"\u5728\u4FA7\u680F\u300C\u63D2\u4EF6\u300D\u4E0B\u65B9\u663E\u793A\u6280\u80FD\u3002\u8BBE\u7F6E\u91CC\u7684\u5165\u53E3\u4E0D\u53D8\u3002","sidebar.entry.toggle":"\u5207\u6362\u4FA7\u8FB9\u680F\u5165\u53E3","update.entry.title":"\u5728\u7EBF\u66F4\u65B0","update.entry.desc":"\u5141\u8BB8\u68C0\u67E5\u5E76\u5728\u7EBF\u5B89\u88C5\u6280\u80FD\u7BA1\u7406\u5668\u7684\u65B0\u7248\u672C\u3002\u5173\u95ED\u540E\u9690\u85CF\u66F4\u65B0\u5165\u53E3\u3002","update.entry.toggle":"\u5207\u6362\u5728\u7EBF\u66F4\u65B0","update.entry.locked":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u5BBF\u4E3B\u914D\u7F6E\u7981\u7528"},en:{"sidebar.entry.title":"Sidebar entry","sidebar.entry.desc":"Show Skills below Plugins in the sidebar. The Settings entry stays either way.","sidebar.entry.toggle":"Toggle sidebar entry","update.entry.title":"Online updates","update.entry.desc":"Allow checking and installing new versions online. Hides the update entry when disabled.","update.entry.toggle":"Toggle online updates","update.entry.locked":"Online updates are disabled by the host configuration."}},Hr="dssm-sidebar-entry-style",Xa=`
|
|
26
26
|
.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}
|
|
27
27
|
.dssm-main-panel>*{width:100%;max-width:960px}
|
|
28
28
|
.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)}
|
|
29
29
|
.dssm-bundle-label-box{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;text-align:left}
|
|
30
30
|
.dssm-bundle-title{font-size:13px;font-weight:500;line-height:20px;color:var(--dsw-alias-label-primary)}
|
|
31
31
|
.dssm-bundle-desc{font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary)}
|
|
32
|
-
`;function Dr(){if(typeof document>"u"||document.getElementById(Hr)!==null)return;let t=document.createElement("style");t.id=Hr,t.textContent=Xa,(document.head??document.documentElement).appendChild(t)}function Ps(t){let e=t&&typeof t.size=="number"?t.size:16;return me("svg",{viewBox:"0 0 16 16",width:e,height:e,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:Za}})}function Os(t){Dr();let{t:e,enabled:d,onToggle:l,disabled:p,onlineUpdateEnabled:f=!0,onToggleOnlineUpdate:g,onlineUpdateDisabled:h}=t,v=[me("div",{key:"sidebar-entry",className:"dssm-bundle-row"},me("div",{className:"dssm-bundle-label-box"},me("span",{className:"dssm-bundle-title"},e("sidebar.entry.title")),me("span",{className:"dssm-bundle-desc"},e("sidebar.entry.desc"))),me(Ja.Switch,{checked:d,onChange:l,label:e("sidebar.entry.toggle"),disabled:p}))];return typeof g=="function"&&v.push(me("div",{key:"online-update",className:"dssm-bundle-row"},me("div",{className:"dssm-bundle-label-box"},me("span",{className:"dssm-bundle-title"},e("update.entry.title")),me("span",{className:"dssm-bundle-desc"},e("update.entry.desc"))),me(Ja.Switch,{checked:f,onChange:g,label:e("update.entry.toggle"),disabled:h}))),me(Fe.Fragment,null,v)}function Bs(t){let[e,d]=Fe.useState(t.getEnabled),[l,p]=Fe.useState(t.getOnlineUpdateEnabled?t.getOnlineUpdateEnabled:()=>!0),[f,g]=Fe.useState(!1),[h,v]=Fe.useState(!1);Fe.useEffect(()=>(d(t.getEnabled()),t.getOnlineUpdateEnabled&&p(t.getOnlineUpdateEnabled()),t.subscribe(()=>{d(t.getEnabled()),t.getOnlineUpdateEnabled&&p(t.getOnlineUpdateEnabled())})),[t]);let x=H=>{g(!0),d(H),t.setSidebar(H).catch(()=>{d(t.getEnabled())}).finally(()=>{g(!1)})},s=t.setOnlineUpdate?H=>{v(!0),p(H),t.setOnlineUpdate(H).catch(()=>{t.getOnlineUpdateEnabled&&p(t.getOnlineUpdateEnabled())}).finally(()=>{v(!1)})}:void 0;return me(Os,{t:t.t,enabled:e,disabled:f,onToggle:x,onlineUpdateEnabled:l,onlineUpdateDisabled:h,onToggleOnlineUpdate:s})}function _a(t,e){if(Dr(),!t.locale)return{isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:d,headers:l,renderPanel:p,ns:f}=e,g=!1,h=!1,v=null,x=null,s=0,H,U=new Set,X=()=>{for(let C of U)try{C()}catch{}},ue=()=>{if(h&&g){if(!v){let C=t.slots.register({name:"main",key:Ya,locale:f,inject:()=>({t:t.locale?.bind?t.locale.bind(f):void 0})},K=>me("div",{className:"dssm-main-panel"},p(K)));v=typeof C=="function"?C:()=>{}}if(!x){let C=t.slots.register({name:"sidebar.panellist",id:Ya,order:js,label:()=>t.locale.bind(f)("title"),locale:f},K=>me(Ps,K));x=typeof C=="function"?C:()=>{}}}else{if(H?.panelInfo&&typeof H.selectPanel=="function")try{H.panelInfo.getSnapshot().activePanelId===Ya&&H.selectPanel(null)}catch{}if(x){try{x()}catch{}x=null}if(v){try{v()}catch{}v=null}}},be=async C=>{let K=++s;g=C,ue(),X();try{return await d("/sidebar-entry",{method:"POST",headers:l,body:JSON.stringify({enabled:C})}),C}catch(j){throw K===s&&(g=!C,ue(),X()),j}},S=!0,E=0,B=async C=>{let K=++E;if(S=C,X(),typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(C)}catch{}try{return await d("/online-update",{method:"POST",headers:l,body:JSON.stringify({enabled:C})}),C}catch(j){if(K===E&&(S=!C,X(),typeof e.onOnlineUpdateChange=="function"))try{e.onOnlineUpdateChange(!C)}catch{}throw j}},u=s;d("/sidebar-entry").then(C=>{s===u&&C&&typeof C.enabled=="boolean"&&(g=C.enabled,ue(),X())}).catch(()=>{});let _=E;return d("/online-update").then(C=>{if(E===_&&C&&typeof C.enabled=="boolean"&&(S=C.enabled,X(),typeof e.onOnlineUpdateChange=="function"))try{e.onOnlineUpdateChange(C.enabled)}catch{}}).catch(()=>{}),typeof t.inject=="function"&&t.inject(["layout"],C=>{H=C.layout}),t.slots.inject("sidebar.panellist",()=>{h=!0,ue()}),t.slots.inject("plugins.bundle.config",()=>t.slots.register({name:"plugins.bundle.config",key:Us,locale:f},C=>C&&C.view==="summary"?null:me(Bs,{t:t.locale.bind(f),getEnabled:()=>g,setSidebar:be,getOnlineUpdateEnabled:()=>S,setOnlineUpdate:B,subscribe:K=>(U.add(K),()=>{U.delete(K)})}))),{isEnabled:()=>g,isSupported:()=>h,setEnabled:be,isOnlineUpdateEnabled:()=>S,setOnlineUpdate:B,destroy:()=>{if(U.clear(),x){try{x()}catch{}x=null}if(v){try{v()}catch{}v=null}}}}var I=pa,n=I.createElement;function Fs(){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},n("path",{fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",d:"M9.5 2.5 13.5 6.5 6 14H2v-4z"}))}var Vs={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 Ws(t){var e=document.createElement("span"),d=document.createElementNS("http://www.w3.org/2000/svg","svg");return d.setAttribute("viewBox","0 0 16 16"),d.setAttribute("width","16"),d.setAttribute("height","16"),d.setAttribute("fill","none"),d.setAttribute("stroke","currentColor"),d.setAttribute("stroke-width","1.5"),d.setAttribute("stroke-linecap","round"),d.setAttribute("stroke-linejoin","round"),d.setAttribute("aria-hidden","true"),Vs[t].forEach(function(l){var p=document.createElementNS("http://www.w3.org/2000/svg","path");p.setAttribute("d",l),d.append(p)}),e.append(d),e}var qt={"content-type":"application/json","x-dsh-skills-manager":"1"},Lt="skills-manager",fa={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u6216\u63CF\u8FF0","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","skill.linked":"\u5916\u90E8\u76EE\u5F55\u94FE\u63A5\uFF0C\u53EA\u8BFB","source.toggle":"\u542F\u505C\u6765\u6E90","skill.toggle":"\u542F\u505C\u6280\u80FD","category.toggle":"\u542F\u505C\u5206\u7C7B","category.create":"\u65B0\u5EFA\u5206\u7C7B","category.uncategorized":"\u672A\u5206\u7C7B","category.assign":"\u5F52\u5165{name}","category.rename":"\u91CD\u547D\u540D","category.delete":"\u5220\u9664\u5206\u7C7B","category.note":"\u5206\u7C7B\u53EA\u8BB0\u5728\u8FD9\u4E2A\u6765\u6E90\u91CC\uFF0C\u4E0D\u79FB\u52A8\u6587\u4EF6\u3002","category.name":"\u5206\u7C7B\u540D\u79F0","category.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u3002\u4ECE\u6761\u76EE\u7684\u300C\u66F4\u591A\u300D\u5F52\u5165\u3002","category.progress":"{count} \u9879 \xB7 {enabled}/{usable} \u542F\u7528","category.actions":"\u5206\u7C7B\u64CD\u4F5C","category.created":"\u5DF2\u6DFB\u52A0\u5206\u7C7B\u300C{name}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u65B0\u5EFA\u76EE\u5F55\u3002","category.renamed":"\u5DF2\u91CD\u547D\u540D\u3002\u6280\u80FD\u6587\u4EF6\u540D\u6CA1\u6709\u53D8\u5316\u3002","category.deleted":"\u5DF2\u5220\u9664\u5206\u7C7B\u300C{name}\u300D\u3002\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\uFF0C\u6CA1\u6709\u8FDB\u56DE\u6536\u7AD9\u3002","category.assigned":"\u5DF2\u5C06 {name} \u5F52\u5165\u300C{category}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u79FB\u52A8\u3002","category.dragTip":"\u62D6\u62FD\u8C03\u6574\u987A\u5E8F\u6216\u79FB\u52A8\u5230\u5176\u4ED6\u5206\u7C7B","category.moved":"\u5DF2\u8C03\u6574\u6280\u80FD {name} \u7684\u5206\u7C7B\u6216\u987A\u5E8F\u3002","confirm.category.title":"\u5220\u9664\u5206\u7C7B\uFF1F","confirm.category.desc":"\u300C{name}\u300D\u4F1A\u6D88\u5931\uFF0C\u91CC\u9762\u7684\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\u3002\u6587\u4EF6\u4E0D\u4F1A\u79FB\u52A8\u3002","error.category.duplicate":"\u5DF2\u6709\u540C\u540D\u5206\u7C7B: {name}","error.category.name":"\u5206\u7C7B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u4E14\u4E0D\u80FD\u8D85\u8FC7 24 \u4E2A\u5B57\u7B26","error.category.notFound":"\u5206\u7C7B\u4E0D\u5B58\u5728","error.category.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.category.position":"\u6280\u80FD\u6392\u5E8F\u4F4D\u7F6E\u65E0\u6548","error.category.target":"\u6392\u5E8F\u76EE\u6807\u4E0D\u5C5E\u4E8E\u76EE\u6807\u5206\u7C7B","detail.title":"\u6280\u80FD\u8BE6\u60C5","detail.description":"\u7B80\u4ECB","detail.document":"SKILL.md","detail.body":"\u6B63\u6587","detail.frontmatter":"Frontmatter","detail.diagnostics":"\u8BCA\u65AD","detail.path":"\u6E90\u6587\u4EF6","detail.noIssues":"\u672A\u53D1\u73B0\u8BCA\u65AD\u95EE\u9898\u3002","detail.copyBody":"\u590D\u5236\u6B63\u6587","detail.copied":"\u5DF2\u590D\u5236","detail.copyFailed":"\u590D\u5236\u5931\u8D25","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.linked":"\u76EE\u5F55\u94FE\u63A5\u4E0D\u80FD\u5220\u9664\u6216\u8986\u76D6\uFF1A{path}","error.skill.noFrontmatter":"\u6280\u80FD\u7F3A\u5C11\u5B8C\u6574 frontmatter\uFF0C\u65E0\u6CD5{action}: {name}","error.skill.notLoadable":"\u6280\u80FD\u7ED3\u6784\u4E0D\u5B8C\u6574\uFF0C\u65E0\u6CD5{action}: {name}","error.source.notFound":"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}","error.source.symlink":"\u4E0D\u652F\u6301\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u7684 skill \u6765\u6E90: {path}","error.source.unrecognized":"\u65E0\u6CD5\u8BC6\u522B\u7684 skill \u6765\u6E90: {path}","error.source.tooDeep":"skill \u6765\u6E90\u76EE\u5F55\u5C42\u7EA7\u8D85\u8FC7 {depth} \u5C42: {path}","error.import.overlap":"\u5BFC\u5165\u6765\u6E90\u4E0D\u80FD\u4E0E DSH \u6280\u80FD\u76EE\u5F55\u76F8\u540C\u3001\u5305\u542B\u6216\u4F4D\u4E8E\u5176\u4E2D","error.import.emptySource":"\u76EE\u5F55\u4E0B\u672A\u627E\u5230\u4EFB\u4F55 skill \u6761\u76EE: {path}","error.import.invalidName":"\u65E0\u6CD5\u751F\u6210\u5408\u6CD5 kebab-case \u540D\u79F0\uFF08\u539F\u59CB\u540D: {name}\uFF09","error.import.duplicateName":"\u6279\u91CF\u6765\u6E90\u4E2D\u5B58\u5728\u591A\u4E2A\u540C\u540D\u6280\u80FD: {name}","error.import.failed":"\u5BFC\u5165\u5931\u8D25","error.import.rollbackFailed":"\u8986\u76D6\u5BFC\u5165\u56DE\u6EDA\u5931\u8D25\uFF0C\u5907\u4EFD\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.upload.path":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u975E\u6CD5\u8DEF\u5F84\uFF1A{path}","error.upload.encoding":"\u4E0A\u4F20\u5185\u5BB9\u7F16\u7801\u65E0\u6548","error.upload.empty":"\u4E0A\u4F20\u5185\u5BB9\u4E3A\u7A7A","error.upload.tooMany":"\u4E0A\u4F20\u6587\u4EF6\u8FC7\u591A\uFF0C\u6700\u591A {limit} \u4E2A","error.upload.tooLarge":"\u4E0A\u4F20\u5185\u5BB9\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.archiveTooLarge":"ZIP \u538B\u7F29\u5305\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.duplicate":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u91CD\u590D\u8DEF\u5F84\uFF1A{path}","error.upload.zipInvalid":"ZIP \u538B\u7F29\u5305\u65E0\u6CD5\u89E3\u538B","error.trash.notFound":"\u56DE\u6536\u7AD9\u6761\u76EE\u4E0D\u5B58\u5728: {id}","error.trash.conflict":"\u65E0\u6CD5\u6062\u590D\uFF0C\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.trash.invalid":"\u56DE\u6536\u7AD9\u6761\u76EE\u8DEF\u5F84\u975E\u6CD5: {id}","error.trash.projectUnavailable":"\u539F\u9879\u76EE\u5F53\u524D\u4E0D\u5728\u6D3B\u52A8\u5DE5\u4F5C\u533A\u4E2D\uFF0C\u65E0\u6CD5\u6062\u590D\uFF1A{path}","error.trash.rollbackFailed":"\u79FB\u5165\u56DE\u6536\u7AD9\u56DE\u6EDA\u5931\u8D25\uFF0C\u672A\u6062\u590D\u5185\u5BB9\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u62D2\u7EDD\u8986\u76D6\uFF1A{path}","error.create.descriptionRequired":"\u6280\u80FD\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A","error.create.bodyRequired":"\u6280\u80FD\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A","error.create.tooLarge":"\u6280\u80FD\u5185\u5BB9\u8FC7\u957F","error.create.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.proto.forbidden":"\u7981\u6B62\u7684\u4FEE\u6539\u8BF7\u6C42\uFF08\u7F3A\u5C11\u5BA2\u6237\u7AEF\u6807\u8BB0\uFF09","error.proto.forbiddenHost":"\u7981\u6B62\u7684\u8BF7\u6C42\u6765\u6E90\uFF08\u975E\u6CD5 Host\uFF09","error.proto.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.method":"\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5","error.proto.unknownAction":"\u672A\u77E5\u64CD\u4F5C","error.proto.invalidParams":"\u8BF7\u6C42\u53C2\u6570\u65E0\u6548","error.proto.bodyTooLarge":"\u8BF7\u6C42\u4F53\u8FC7\u5927","error.proto.invalidJson":"\u8BF7\u6C42\u4F53\u4E0D\u662F\u5408\u6CD5 JSON","error.proto.nonJson":"\u670D\u52A1\u7AEF\u8FD4\u56DE\u975E JSON \u54CD\u5E94\uFF08HTTP {status}\uFF09","error.update.disabled":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u7981\u7528","error.catalog.query":"\u641C\u7D22\u5173\u952E\u8BCD\u65E0\u6548\u3002","error.catalog.upstream":"\u76EE\u5F55\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\u3002","error.catalog.response":"\u76EE\u5F55\u8FD4\u56DE\u7684\u6570\u636E\u65E0\u6548\u6216\u8FC7\u5927\u3002","error.catalog.identity":"\u76EE\u5F55\u6280\u80FD\u6807\u8BC6\u65E0\u6548\u3002","diagnostic.frontmatter.missing":"\u7F3A\u5C11\u5B8C\u6574 YAML frontmatter","diagnostic.name.missing":"frontmatter \u7F3A\u5C11 name","diagnostic.name.invalid":"\u5BBF\u4E3B\u4E0D\u652F\u6301\u6B64\u6280\u80FD\u540D\u79F0\u683C\u5F0F\uFF08\u4EC5\u652F\u6301\u82F1\u6587\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u4E0E\u8FDE\u5B57\u7B26\uFF09\uFF0C\u65E0\u6CD5\u542F\u7528\u3002\u5982\u9700\u8C03\u7528\uFF0C\u8BF7\u5728 SKILL.md frontmatter \u4E2D\u6307\u5B9A\u82F1\u6587 name\uFF08\u76EE\u5F55\u540D\u53EF\u4FDD\u7559\u4E2D\u6587\uFF09\uFF1A{name}","diagnostic.description.missing":"frontmatter \u7F3A\u5C11 description","diagnostic.invocation.invalid":"\u8C03\u7528\u7B56\u7565\u5B57\u6BB5\u503C\u65E0\u6548","diagnostic.shadowed":"\u88AB\u66F4\u9AD8\u4F18\u5148\u7EA7\u6765\u6E90 {root} \u8986\u76D6","action.enable":"\u542F\u7528","action.disable":"\u505C\u7528","action.create":"\u521B\u5EFA","action.delete":"\u5220\u9664","action.restore":"\u6062\u590D","action.toggle":"\u542F\u7528\u6216\u505C\u7528","scope.user":"\u5168\u5C40\u6280\u80FD","scope.project":"\u9879\u76EE\u6280\u80FD","scope.trash":"\u56DE\u6536\u7AD9","scope.label":"\u6280\u80FD\u7BA1\u7406\u89C6\u56FE","scope.userHint":"\u8DE8\u9879\u76EE\u53EF\u7528\u3002\u542F\u505C\u4EC5\u5F71\u54CD DSH \u4E2D\u7684\u8C03\u7528\u3002","scope.projectHint":"\u6309\u5DE5\u4F5C\u533A\u67E5\u770B\u9879\u76EE\u6280\u80FD\u3002\u542F\u505C\u4E0D\u4FEE\u6539\u5176\u4ED6 Agent \u7684\u6E90\u6587\u4EF6\u3002","project.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\u5DE5\u4F5C\u533A\u3002","project.noSkills":"\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u91CC\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.unavailable":"\u76EE\u5F55\u4E0D\u53EF\u7528","workspace.noSkills":"\u8FD9\u4E2A\u5DE5\u4F5C\u533A\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.loading":"\u6B63\u5728\u8BFB\u53D6\u2026","workspace.loadFailed":"\u8BFB\u53D6\u5931\u8D25\uFF1A{error}","workspace.listFailed":"\u65E0\u6CD5\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5217\u8868\uFF1A{error}","filter.status":"\u8C03\u7528\u72B6\u6001","filter.statusAll":"\u5168\u90E8\u72B6\u6001","status.shadowedBy":"\u88AB {source} \u4E2D\u7684\u540C\u540D\u6280\u80FD\u8986\u76D6","status.fallback.user":"\u5F53\u524D\u4F7F\u7528\u5168\u5C40 {source} \u526F\u672C\u3002","status.fallback.project":"\u5F53\u524D\u4F7F\u7528\u9879\u76EE {source} \u526F\u672C\u3002","root.copilot":"GitHub Copilot","source.selectHint":"\u5148\u9009\u62E9\u4E00\u4E2A\u6765\u6E90\uFF0C\u624D\u80FD\u67E5\u770B\u76EE\u5F55\u6216\u5173\u95ED\u6574\u4E2A\u6765\u6E90\u3002\u5173\u95ED\u6765\u6E90\u53EA\u5F71\u54CD DSH \u8C03\u7528\uFF0C\u4E0D\u6539\u6587\u4EF6\u3002","import.global":"\u5BFC\u5165\u6280\u80FD","category.batchAssigned":"\u5DF2\u5C06 {count} \u4E2A\u6280\u80FD\u6DFB\u52A0\u5230\u201C{category}\u201D\u3002\u6587\u4EF6\u672A\u79FB\u52A8\u3002","category.selectSkills":"\u6DFB\u52A0\u6280\u80FD\u5230\u201C{name}\u201D","category.noAvailableSkills":"\u6CA1\u6709\u53EF\u6DFB\u52A0\u7684\u6280\u80FD","category.addSkills":"\u6DFB\u52A0\u6280\u80FD","root.dsh":"DSH","root.agents":"\u516C\u5171 Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH","root.projectAgents":"\u9879\u76EE Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (\u7528\u6237\u76EE\u5F55)","root.trae":"Trae","root.traeCn":"Trae (\u56FD\u5185\u7248)","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (\u65E7\u76EE\u5F55)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names or descriptions","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","skill.linked":"External directory link, read-only","source.toggle":"Toggle source","skill.toggle":"Toggle skill","category.toggle":"Toggle category","category.create":"New category","category.uncategorized":"Uncategorized","category.assign":"Move to {name}","category.rename":"Rename","category.delete":"Delete category","category.note":"Categories stay in this source and do not move files.","category.name":"Category name","category.empty":"No skills yet. Use More on a skill to place it here.","category.progress":"{count} \xB7 {enabled}/{usable} enabled","category.actions":"Category actions","category.created":"Added category \u201C{name}\u201D. No directory was created.","category.renamed":"Renamed. Skill file names are unchanged.","category.deleted":"Deleted category \u201C{name}\u201D. Skills returned to Uncategorized and were not trashed.","category.assigned":"Moved {name} to \u201C{category}\u201D. The file was not moved.","category.dragTip":"Drag to reorder or move to another category","category.moved":"Updated the category or order for {name}.","confirm.category.title":"Delete category?","confirm.category.desc":"\u201C{name}\u201D will be removed. Its skills return to Uncategorized. Files are not moved.","error.category.duplicate":"A category with this name already exists: {name}","error.category.name":"Category name is required and must be at most 24 characters","error.category.notFound":"Category not found","error.category.root":"Skill source not found: {root}","error.category.position":"Invalid skill ordering position","error.category.target":"The target skill is not in the destination category","detail.title":"Skill details","detail.description":"Description","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","detail.copyBody":"Copy body","detail.copied":"Copied","detail.copyFailed":"Copy failed","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.linked":"This directory link cannot be deleted or overwritten: {path}","error.skill.noFrontmatter":"Skill lacks complete frontmatter, cannot {action}: {name}","error.skill.notLoadable":"Skill structure is incomplete, cannot {action}: {name}","error.source.notFound":"Path does not exist: {path}","error.source.symlink":"Skill sources containing symbolic links are not supported: {path}","error.source.unrecognized":"Unrecognized skill source: {path}","error.source.tooDeep":"Skill source directory depth exceeds {depth} levels: {path}","error.import.overlap":"Import source cannot be the same as, contain, or be inside the DSH skills directory","error.import.emptySource":"No skill entries found in the directory: {path}","error.import.invalidName":"Cannot generate a valid kebab-case name (original: {name})","error.import.duplicateName":"Batch source contains duplicate skill names: {name}","error.import.failed":"Import failed","error.import.rollbackFailed":"Overwrite import rollback failed; backups kept at: {path} ({error})","error.upload.path":"Upload contains an invalid path: {path}","error.upload.encoding":"Upload encoding is invalid","error.upload.empty":"Upload is empty","error.upload.tooMany":"Too many uploaded files; maximum {limit}","error.upload.tooLarge":"Upload is too large; limit {limit} bytes","error.upload.archiveTooLarge":"ZIP archive is too large; limit {limit} bytes","error.upload.duplicate":"Upload contains a duplicate path: {path}","error.upload.zipInvalid":"ZIP archive could not be extracted","error.trash.notFound":"Trash item not found: {id}","error.trash.conflict":"Cannot restore because a skill with the same name exists: {name}","error.trash.invalid":"Invalid trash item path: {id}","error.trash.projectUnavailable":"The original project is not an active workspace, so this skill cannot be restored: {path}","error.trash.rollbackFailed":"Move-to-trash rollback failed; unrecovered content was kept at: {path} ({error})","error.state.invalid":"The manager state file could not be read, so overwriting it was refused: {path}","error.create.descriptionRequired":"Skill description is required","error.create.bodyRequired":"Skill body is required","error.create.tooLarge":"Skill content is too large","error.create.conflict":"A skill with the same name already exists: {name}","error.proto.forbidden":"Forbidden mutation request (missing client marker)","error.proto.forbiddenHost":"Forbidden request origin (invalid host)","error.proto.contentType":"Content type must be application/json","error.proto.method":"Method not allowed","error.proto.unknownAction":"Unknown action","error.proto.invalidParams":"Invalid request parameters","error.proto.bodyTooLarge":"Request body too large","error.proto.invalidJson":"Invalid JSON request body","error.proto.nonJson":"Server returned a non-JSON response (HTTP {status})","error.update.disabled":"Online updates are disabled","error.catalog.query":"The search query is invalid.","error.catalog.upstream":"The catalog service is temporarily unavailable.","error.catalog.response":"The catalog response is invalid or too large.","error.catalog.identity":"The catalog skill identifier is invalid.","diagnostic.frontmatter.missing":"Missing complete YAML frontmatter","diagnostic.name.missing":"Frontmatter is missing name","diagnostic.name.invalid":"Skill name format is not supported by host (lowercase letters, numbers and hyphens only), cannot be enabled. To invoke it, specify an English name in the SKILL.md frontmatter (directory name can remain unchanged): {name}","diagnostic.description.missing":"Frontmatter is missing description","diagnostic.invocation.invalid":"Invocation policy value is invalid","diagnostic.shadowed":"Shadowed by higher-priority source {root}","action.enable":"enable","action.disable":"disable","action.create":"create","action.delete":"delete","action.restore":"restore","action.toggle":"enabling or disabling","scope.user":"Global skills","scope.project":"Project skills","scope.trash":"Trash","scope.label":"Skill manager views","scope.userHint":"Available across projects. Toggles only affect invocation in DSH.","scope.projectHint":"View project skills by workspace. Toggles do not modify other agents\u2019 source files.","project.empty":"No registered workspaces yet. Add one in the sidebar first.","project.noSkills":"Registered workspaces do not have skills yet.","workspace.unavailable":"Directory unavailable","workspace.noSkills":"No skills in this workspace yet.","workspace.loading":"Loading\u2026","workspace.loadFailed":"Failed to load: {error}","workspace.listFailed":"Cannot read the workspace list: {error}","filter.status":"Invocation status","filter.statusAll":"All statuses","status.shadowedBy":"Overridden by the same skill in {source}","status.fallback.user":"Currently using the global {source} copy.","status.fallback.project":"Currently using the project {source} copy.","source.selectHint":"Select a source to view its directory or turn the whole source off. Turning a source off only affects invocation in DSH and does not change files.","import.global":"Import skill","category.batchAssigned":"Added {count} skills to \u201C{category}\u201D. Files were not moved.","category.selectSkills":"Add skills to \u201C{name}\u201D","category.noAvailableSkills":"No skills available to add","category.addSkills":"Add skills","root.dsh":"DSH skills","root.agents":"Shared Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH skills","root.projectAgents":"Project Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.copilot":"GitHub Copilot","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (User Home)","root.trae":"Trae","root.traeCn":"Trae CN","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (Legacy)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN"}};Object.assign(fa.zh,Ka.zh,qa.zh,Ga.zh);Object.assign(fa.en,Ka.en,qa.en,Ga.en);var Qt=Ar(I),Fr=vr({react:I,SourceSelect:Qt,translateError:he}),Ur=Fr.DestinationPicker,Ks=br({react:I,Modal:at,Input:ct,Button:Te.Button,SourceSelect:Qt,destination:Fr,api:ma,headers:qt,translateError:he,getLocale:Wr}),qs=yr+Xa+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{display:grid!important;box-sizing:border-box!important;width:100%;height:32px!important;min-height:32px!important;max-height:32px!important;padding:2px!important;border-radius:var(--dsw-radius-sm,8px)!important;border:0.5px solid var(--dsw-alias-border-l2)!important;background:var(--dsw-alias-bg-layer-1)!important}.dssm-scope-tabs>span[aria-hidden="true"],.dssm-scope-tabs>[class*="indicator"]{width:calc((100% - 4px)/4)!important;inset:2px auto 2px 2px!important;border-radius:6px!important;border:0.5px solid var(--dsw-alias-border-l3,rgba(255,255,255,.12))!important;background:var(--dsw-alias-bg-layer-3,rgba(255,255,255,.08))!important;box-shadow:none!important}.dssm-scope-tabs [role=tab]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:28px!important;padding:0 12px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!important;color:var(--dsw-alias-label-secondary)!important;text-align:center!important;box-sizing:border-box!important;transition:color 150ms ease!important}.dssm-scope-tabs [role=tab]:hover{color:var(--dsw-alias-label-primary)!important}.dssm-scope-tabs [role=tab][aria-selected="true"]{color:var(--dsw-alias-label-primary)!important;font-weight:600!important}.dssm-scope-tabs [role=tab] svg{flex:none;display:block}.dssm-source-head{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px}.dssm-source-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-source-toggle:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary));outline-offset:2px}.dssm-fold-chevron{flex:none;color:var(--dsw-alias-label-tertiary);transform:rotate(-90deg);transition:transform 160ms ease}.dssm-fold-chevron.is-open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.dssm-fold-chevron{transition:none}}.dssm-source-label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dssm-drag-handle{cursor:grab;color:var(--dsw-alias-label-tertiary,#888);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;border-radius:var(--dsw-radius-sm,8px);flex-shrink:0;user-select:none;transition:color 0.15s}.dssm-skill-row:hover .dssm-drag-handle{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-drag-handle:active{cursor:grabbing}.dssm-cat.drag-over{border-color:var(--dsw-alias-brand-primary,#3b82f6);box-shadow:0 0 0 1px var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.dragging{opacity:0.4;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent))}.dssm-skill-row.drop-before{box-shadow:inset 0 2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.drop-after{box-shadow:inset 0 -2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:0;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:0;background:transparent}.dssm-skill-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-skill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-skill-row .dssm-name{font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none}.dssm-source{overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-textarea{box-sizing:border-box;display:block;width:100%;min-height:160px;margin:0;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:14px;line-height:22px;resize:vertical}.dssm-textarea:focus,.dssm-textarea:focus-visible{outline:none;border-color:var(--dsw-alias-state-business-primary)}.dssm-textarea[readonly]{resize:none}.dssm-source-title{font-size:14px;font-weight:650;white-space:nowrap;flex:none}.dssm-source-path{min-width:0;max-width:50%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-source-actions{display:flex;flex:none;align-items:center;gap:8px;margin-left:12px}.dssm-cat{margin:0 10px 8px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px)}.dssm-cat-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 6px}.dssm-cat-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-cat-title{font-size:14px;font-weight:700;display:inline-flex;align-items:center}.dssm-cat-note{margin:2px 16px 8px}.dssm-fallback{margin-top:4px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-section{box-sizing:border-box;display:flex;width:100%;min-width:0;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary,#eeeeee);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dssm-feedback-links>span[data-mpi-check]{display:inline-flex;align-items:center}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));outline-offset:2px}.dssm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1)}.dssm-stat{padding:4px 10px;border-right:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:4px;color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:650}.dssm-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%!important;min-width:0;box-sizing:border-box}.dssm-filter-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.dssm-filters .dssm-search{flex:1 1 0;min-width:160px;max-width:none}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter,.dssm-filters .dssm-menu-select-wrap,.dssm-filters span[class*="_root_"],.dssm-filters .dssm-source-select-menu,.dssm-filters .dssm-menu-select-trigger{width:auto!important;min-width:0!important;display:inline-flex!important;flex:none}.dssm-field .dssm-menu-select-wrap,.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"]{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.dssm-destination-pair .dssm-menu-select-trigger,.dssm-form .dssm-menu-select-trigger{display:flex!important;width:100%!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}.dssm-source-select-menu{min-width:130px;max-width:280px}.dssm-menu-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:32px;padding:0 10px;border:0.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;line-height:20px;cursor:pointer;user-select:none;width:max-content;min-width:8em;transition:border-color 120ms ease,background 120ms ease}.dssm-menu-select-trigger:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#555)}.dssm-menu-select-trigger.is-open,.dssm-menu-select-trigger:focus-visible{border-color:var(--dsw-alias-brand-primary)!important;outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary))!important;outline-offset:0!important}.dssm-menu-select-trigger:disabled{opacity:.5;cursor:default}.dssm-menu-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.dssm-menu-select-arrow{color:var(--dsw-alias-label-secondary);flex-shrink:0}.dssm-count{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap;flex:none}.dssm-name{overflow-wrap:anywhere;font-size:13px;font-weight:570}.dssm-note{overflow-wrap:anywhere;margin-top:2px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px;line-height:17px}.dssm-enabled{color:var(--dsw-alias-state-success-primary,#51b976);font-size:12px;white-space:nowrap}.dssm-disabled{color:var(--dsw-alias-state-warn-primary,#d49245);font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap}.dssm-trash-count{padding:2px 7px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px}.dssm-warning{border-color:var(--dsw-alias-state-warn-primary,#d49245);color:var(--dsw-alias-state-warn-primary,#d49245)}.dssm-error{border-color:var(--dsw-alias-state-error-primary,#ef7272);color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-detail .dssm-desc{margin:0}.dssm-field{gap:6px}.dssm-label{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-detail-title{font-size:14px;line-height:22px;font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:18px}.dssm-batch-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;margin:12px 0;padding:2px}.dssm-batch-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));cursor:pointer;user-select:none;transition:background 0.15s,border-color 0.15s}.dssm-batch-item:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));border-color:var(--dsw-alias-border-l2,#494949)}.dssm-batch-item.selected{border-color:var(--dsw-alias-brand-primary,#3b82f6);background:var(--dsw-alias-state-business-tertiary)}.dssm-batch-item input[type="checkbox"]{cursor:pointer;margin:0;flex-shrink:0;width:15px;height:15px}.dssm-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dssm-batch-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dssm-batch-name{font-size:13px;font-weight:600;color:var(--dsw-alias-label-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-batch-cat-tag{font-size:10px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap;flex-shrink:0}.dssm-batch-desc{font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3,#555555);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12))}.dssm-dropzone-title{color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary,#eeeeee);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eeeeee);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:22px}.dssm-detail-section .dssm-note,.dssm-diag{font-size:14px;line-height:22px}.dssm-detail-path{padding:8px 10px;border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);word-break:break-all}.dssm-diag{padding:8px 10px;border-left:2px solid var(--dsw-alias-state-warn-primary,#d49245);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-trash-panel{display:flex;flex-direction:column;gap:10px}.dssm-trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;border:0.5px solid var(--dsw-alias-border-l2,rgba(128,128,128,.2));border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-trash-main{min-width:0;display:flex;flex-direction:column;gap:6px}.dssm-trash-item .dssm-name{font-size:14px;line-height:20px;color:var(--dsw-alias-label-primary,inherit)}.dssm-trash-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:17px;color:var(--dsw-alias-label-tertiary,#909090);overflow-wrap:anywhere}.dssm-trash-source{min-width:0;background:transparent;color:var(--dsw-alias-label-tertiary,#a0a0a0)}.dssm-trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
|
|
32
|
+
`;function Ur(){if(typeof document>"u"||document.getElementById(Hr)!==null)return;let t=document.createElement("style");t.id=Hr,t.textContent=Xa,(document.head??document.documentElement).appendChild(t)}function Bn(t){let e=t&&typeof t.size=="number"?t.size:16;return ge("svg",{viewBox:"0 0 16 16",width:e,height:e,fill:"currentColor","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:Za}})}function Fn(t){Ur();let{t:e,enabled:l,onToggle:d,disabled:m,onlineUpdateEnabled:g=!0,onToggleOnlineUpdate:f,onlineUpdateDisabled:b,onlineUpdateLocked:v}=t,k=[ge("div",{key:"sidebar-entry",className:"dssm-bundle-row"},ge("div",{className:"dssm-bundle-label-box"},ge("span",{className:"dssm-bundle-title"},e("sidebar.entry.title")),ge("span",{className:"dssm-bundle-desc"},e("sidebar.entry.desc"))),ge(Ja.Switch,{checked:l,onChange:d,label:e("sidebar.entry.toggle"),disabled:m}))];return typeof f=="function"&&k.push(ge("div",{key:"online-update",className:"dssm-bundle-row"},ge("div",{className:"dssm-bundle-label-box"},ge("span",{className:"dssm-bundle-title"},e("update.entry.title")),ge("span",{className:"dssm-bundle-desc"},e(v?"update.entry.locked":"update.entry.desc"))),ge(Ja.Switch,{checked:g,onChange:f,label:e("update.entry.toggle"),disabled:b,title:v?e("update.entry.locked"):void 0}))),ge(Me.Fragment,null,k)}function Vn(t){let[e,l]=Me.useState(t.getEnabled),[d,m]=Me.useState(t.getOnlineUpdateEnabled?t.getOnlineUpdateEnabled:()=>!0),[g,f]=Me.useState(t.getOnlineUpdateLocked?t.getOnlineUpdateLocked:()=>!1),[b,v]=Me.useState(!1),[k,n]=Me.useState(!1);Me.useEffect(()=>{let W=()=>{l(t.getEnabled()),t.getOnlineUpdateEnabled&&m(t.getOnlineUpdateEnabled()),t.getOnlineUpdateLocked&&f(t.getOnlineUpdateLocked())};return W(),t.subscribe(W)},[t]);let H=W=>{v(!0),l(W),t.setSidebar(W).catch(()=>{l(t.getEnabled())}).finally(()=>{v(!1)})},U=t.setOnlineUpdate?W=>{t.getOnlineUpdateLocked?.()||(n(!0),m(W),t.setOnlineUpdate(W).catch(()=>{t.getOnlineUpdateEnabled&&m(t.getOnlineUpdateEnabled())}).finally(()=>{n(!1)}))}:void 0;return ge(Fn,{t:t.t,enabled:e,disabled:b,onToggle:H,onlineUpdateEnabled:d,onlineUpdateDisabled:k||g,onlineUpdateLocked:g,onToggleOnlineUpdate:U})}function _a(t,e){if(Ur(),!t.locale)return{isEnabled:()=>!1,isSupported:()=>!1,setEnabled:async()=>!1,isOnlineUpdateEnabled:()=>!0,setOnlineUpdate:async()=>!1,destroy:()=>{}};let{callApi:l,headers:d,renderPanel:m,ns:g}=e,f=!1,b=!1,v=null,k=null,n=0,H=!1,U,W=new Set,ne=()=>{if(!H)for(let S of W)try{S()}catch{}},_=()=>{if(!H)if(b&&f){if(!v){let S=t.slots.register({name:"main",key:Ya,locale:g,inject:()=>({t:t.locale?.bind?t.locale.bind(g):void 0})},j=>ge("div",{className:"dssm-main-panel"},m(j)));v=typeof S=="function"?S:()=>{}}if(!k){let S=t.slots.register({name:"sidebar.panellist",id:Ya,order:On,label:()=>t.locale.bind(g)("title"),locale:g},j=>ge(Bn,j));k=typeof S=="function"?S:()=>{}}}else{if(U?.panelInfo&&typeof U.selectPanel=="function")try{U.panelInfo.getSnapshot().activePanelId===Ya&&U.selectPanel(null)}catch{}if(k){try{k()}catch{}k=null}if(v){try{v()}catch{}v=null}}},C=async S=>{if(H)return f;let j=++n;f=S,_(),ne();try{return await l("/sidebar-entry",{method:"POST",headers:d,body:JSON.stringify({enabled:S})}),S}catch(h){throw j===n&&(f=!S,_(),ne()),h}},A=!0,J=!1,c=0,K=async S=>{if(H||J)return A;let j=++c;if(A=S,ne(),!S&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(S)}catch{}try{if(await l("/online-update",{method:"POST",headers:d,body:JSON.stringify({enabled:S})}),S&&!H&&j===c&&typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(S)}catch{}return S}catch(h){if(j===c){let q=h!==null&&typeof h=="object"&&"code"in h&&h.code==="error.update.disabled";if(q&&(J=!0),A=q?!1:!S,ne(),typeof e.onOnlineUpdateChange=="function")try{e.onOnlineUpdateChange(A)}catch{}}throw h}},ae=n;l("/sidebar-entry").then(S=>{!H&&n===ae&&S&&typeof S.enabled=="boolean"&&(f=S.enabled,_(),ne())}).catch(()=>{});let de=c;return l("/online-update").then(S=>{if(!H&&c===de&&S&&typeof S.enabled=="boolean"&&(A=S.enabled,S.locked===!0&&(J=!0),ne(),typeof e.onOnlineUpdateChange=="function"))try{e.onOnlineUpdateChange(S.enabled)}catch{}}).catch(()=>{}),typeof t.inject=="function"&&t.inject(["layout"],S=>{H||(U=S.layout)}),t.slots.inject("sidebar.panellist",()=>{H||(b=!0,_())}),t.slots.inject("plugins.bundle.config",()=>{if(!H)return t.slots.register({name:"plugins.bundle.config",key:Pn,locale:g},S=>S&&S.view==="summary"?null:ge(Vn,{t:t.locale.bind(g),getEnabled:()=>f,setSidebar:C,getOnlineUpdateEnabled:()=>A,setOnlineUpdate:K,getOnlineUpdateLocked:()=>J,subscribe:j=>(W.add(j),()=>{W.delete(j)})}))}),{isEnabled:()=>f,isSupported:()=>b,setEnabled:C,isOnlineUpdateEnabled:()=>A,setOnlineUpdate:K,destroy:()=>{if(!H){if(H=!0,n++,c++,U=void 0,W.clear(),k){try{k()}catch{}k=null}if(v){try{v()}catch{}v=null}}}}}var I=ma,s=I.createElement,Wn=Fr.IconEditOutlineRegular;function Kn(){return s(Wn,{size:16})}var qn={refresh:["M13.5 5.5V2.5m0 0h-3m3 0-2.1 2.1A5.5 5.5 0 1 0 13.2 12"],download:["M8 2v8m0 0 3-3m-3 3-3-3M3 13v2h10v-2"],copy:["M5 5h8v8H5z","M3 3h8"],close:["m4 4 8 8M12 4 4 12"]};function Qn(t){var e=document.createElement("span"),l=document.createElementNS("http://www.w3.org/2000/svg","svg");return l.setAttribute("viewBox","0 0 16 16"),l.setAttribute("width","16"),l.setAttribute("height","16"),l.setAttribute("fill","none"),l.setAttribute("stroke","currentColor"),l.setAttribute("stroke-width","1.5"),l.setAttribute("stroke-linecap","round"),l.setAttribute("stroke-linejoin","round"),l.setAttribute("aria-hidden","true"),qn[t].forEach(function(d){var m=document.createElementNS("http://www.w3.org/2000/svg","path");m.setAttribute("d",d),l.append(m)}),e.append(l),e}var qt={"content-type":"application/json","x-dsh-skills-manager":"1"},Lt="skills-manager",ha={zh:{"summary.group.one":"{count} \u4E2A\u6280\u80FD","summary.group.other":"{count} \u4E2A\u6280\u80FD","format.locale":"zh-CN","format.warningSeparator":"\uFF1B",title:"\u6280\u80FD",desc:"\u7EDF\u4E00\u52A0\u8F7D\u548C\u7BA1\u7406\u672C\u673A Agent Skills\u3002","link.project":"GitHub","link.feedback":"\u95EE\u9898\u53CD\u9988","btn.create":"\u521B\u5EFA\u6280\u80FD","btn.import":"\u5BFC\u5165","btn.refresh":"\u5237\u65B0","btn.cancel":"\u53D6\u6D88","btn.close":"\u5173\u95ED","btn.detail":"\u67E5\u770B\u8BE6\u60C5","btn.more":"\u66F4\u591A","btn.trash":"\u79FB\u5230\u56DE\u6536\u7AD9","btn.restore":"\u6062\u590D","btn.delete.forever":"\u6C38\u4E45\u5220\u9664","btn.file.pick":"\u9009\u62E9\u6587\u4EF6","btn.folder.pick":"\u9009\u62E9\u6587\u4EF6\u5939","btn.import.now":"\u5B89\u88C5","btn.create.now":"\u521B\u5EFA\u6280\u80FD","btn.disable":"\u505C\u7528","btn.enable":"\u542F\u7528","btn.confirm":"\u786E\u5B9A","status.enabled":"\u5DF2\u542F\u7528","status.disabled":"\u5DF2\u505C\u7528","status.invalid":"\u8BCA\u65AD\u5F02\u5E38","status.shadowed":"\u88AB\u8986\u76D6","summary.total.one":"{count} \u4E2A\u6280\u80FD","summary.total.other":"{count} \u4E2A\u6280\u80FD","summary.enabled.one":"{count} \u4E2A\u5DF2\u542F\u7528","summary.enabled.other":"{count} \u4E2A\u5DF2\u542F\u7528","summary.disabled.one":"{count} \u4E2A\u5DF2\u505C\u7528","summary.disabled.other":"{count} \u4E2A\u5DF2\u505C\u7528","summary.shadowed.one":"{count} \u4E2A\u88AB\u8986\u76D6","summary.shadowed.other":"{count} \u4E2A\u88AB\u8986\u76D6","summary.invalid.one":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","summary.invalid.other":"{count} \u4E2A\u8BCA\u65AD\u5F02\u5E38","table.skill":"\u6280\u80FD\u540D\u79F0\u4E0E\u63CF\u8FF0","table.status":"\u8C03\u7528\u72B6\u6001","filter.workspace":"\u5DE5\u4F5C\u533A","filter.source":"\u6765\u6E90","filter.all":"\u5168\u90E8\u6765\u6E90","filter.option":"{name}\uFF08{count}\uFF09",search:"\u641C\u7D22","search.placeholder":"\u641C\u7D22\u6280\u80FD\u540D\u79F0\u6216\u63CF\u8FF0","search.clear":"\u6E05\u9664\u641C\u7D22","empty.search":"\u6CA1\u6709\u5339\u914D\u7684\u6280\u80FD\u3002","empty.source":"\u8BE5\u6765\u6E90\u76EE\u5F55\u4E0D\u5B58\u5728\u6216\u6682\u65F6\u6CA1\u6709\u6280\u80FD\u3002",loading:"\u6B63\u5728\u52A0\u8F7D\u6280\u80FD\u2026","note.missing":"\u672A\u63D0\u4F9B\u7B80\u4ECB","skill.linked":"\u5916\u90E8\u76EE\u5F55\u94FE\u63A5\uFF0C\u53EA\u8BFB","source.toggle":"\u542F\u505C\u6765\u6E90","skill.toggle":"\u542F\u505C\u6280\u80FD","category.toggle":"\u542F\u505C\u5206\u7C7B","category.create":"\u65B0\u5EFA\u5206\u7C7B","category.uncategorized":"\u672A\u5206\u7C7B","category.assign":"\u5F52\u5165{name}","category.rename":"\u91CD\u547D\u540D","category.delete":"\u5220\u9664\u5206\u7C7B","category.note":"\u5206\u7C7B\u53EA\u8BB0\u5728\u8FD9\u4E2A\u6765\u6E90\u91CC\uFF0C\u4E0D\u79FB\u52A8\u6587\u4EF6\u3002","category.name":"\u5206\u7C7B\u540D\u79F0","category.empty":"\u8FD8\u6CA1\u6709\u6280\u80FD\u3002\u4ECE\u6761\u76EE\u7684\u300C\u66F4\u591A\u300D\u5F52\u5165\u3002","category.progress":"{count} \u9879 \xB7 {enabled}/{usable} \u542F\u7528","category.actions":"\u5206\u7C7B\u64CD\u4F5C","category.created":"\u5DF2\u6DFB\u52A0\u5206\u7C7B\u300C{name}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u65B0\u5EFA\u76EE\u5F55\u3002","category.renamed":"\u5DF2\u91CD\u547D\u540D\u3002\u6280\u80FD\u6587\u4EF6\u540D\u6CA1\u6709\u53D8\u5316\u3002","category.deleted":"\u5DF2\u5220\u9664\u5206\u7C7B\u300C{name}\u300D\u3002\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\uFF0C\u6CA1\u6709\u8FDB\u56DE\u6536\u7AD9\u3002","category.assigned":"\u5DF2\u5C06 {name} \u5F52\u5165\u300C{category}\u300D\u3002\u6587\u4EF6\u6CA1\u6709\u79FB\u52A8\u3002","category.dragTip":"\u62D6\u62FD\u8C03\u6574\u987A\u5E8F\u6216\u79FB\u52A8\u5230\u5176\u4ED6\u5206\u7C7B","category.moved":"\u5DF2\u8C03\u6574\u6280\u80FD {name} \u7684\u5206\u7C7B\u6216\u987A\u5E8F\u3002","confirm.category.title":"\u5220\u9664\u5206\u7C7B\uFF1F","confirm.category.desc":"\u300C{name}\u300D\u4F1A\u6D88\u5931\uFF0C\u91CC\u9762\u7684\u6280\u80FD\u56DE\u5230\u672A\u5206\u7C7B\u3002\u6587\u4EF6\u4E0D\u4F1A\u79FB\u52A8\u3002","error.category.duplicate":"\u5DF2\u6709\u540C\u540D\u5206\u7C7B: {name}","error.category.name":"\u5206\u7C7B\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u4E14\u4E0D\u80FD\u8D85\u8FC7 24 \u4E2A\u5B57\u7B26","error.category.notFound":"\u5206\u7C7B\u4E0D\u5B58\u5728","error.category.root":"\u6280\u80FD\u6765\u6E90\u4E0D\u5B58\u5728: {root}","error.category.position":"\u6280\u80FD\u6392\u5E8F\u4F4D\u7F6E\u65E0\u6548","error.category.target":"\u6392\u5E8F\u76EE\u6807\u4E0D\u5C5E\u4E8E\u76EE\u6807\u5206\u7C7B","detail.title":"\u6280\u80FD\u8BE6\u60C5","detail.description":"\u7B80\u4ECB","detail.document":"SKILL.md","detail.body":"\u6B63\u6587","detail.frontmatter":"Frontmatter","detail.diagnostics":"\u8BCA\u65AD","detail.path":"\u6E90\u6587\u4EF6","detail.noIssues":"\u672A\u53D1\u73B0\u8BCA\u65AD\u95EE\u9898\u3002","detail.copyBody":"\u590D\u5236\u6B63\u6587","detail.copied":"\u5DF2\u590D\u5236","detail.copyFailed":"\u590D\u5236\u5931\u8D25","create.title":"\u521B\u5EFA\u6280\u80FD","create.name":"\u540D\u79F0","create.name.placeholder":"\u4F8B\u5982 code-review-helper","create.description":"\u7B80\u4ECB","create.description.placeholder":"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EC0\u4E48\u65F6\u5019\u4F7F\u7528","create.body":"\u6B63\u6587\uFF08Markdown\uFF09","create.body.placeholder":"\u5199\u4E0B\u6280\u80FD\u8981\u9075\u5FAA\u7684\u6307\u4EE4\u3001\u6B65\u9AA4\u548C\u8FB9\u754C\u2026","create.chat.note":"\u521B\u5EFA\u7684\u6280\u80FD\u4E0D\u4F1A\u6302\u4ED3\u5E93\u66F4\u65B0\uFF0C\u4E5F\u4E0D\u4F1A\u4FEE\u6539\u539F\u6587\u4EF6\u3002","import.title":"\u5BFC\u5165\u6280\u80FD","upload.drop.title":"\u62D6\u62FD\u6280\u80FD\u5230\u6B64\u5904","upload.drop.copy":"\u652F\u6301 .zip\u3001\u6280\u80FD\u6587\u4EF6\u5939\u6216\u5355\u4E2A SKILL.md","upload.selected.one":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.selected.other":"{count} \u4E2A\u6587\u4EF6 \xB7 {size}","upload.remove":"\u79FB\u9664\u6240\u9009\u5185\u5BB9","upload.requirements":"\u6587\u4EF6\u8981\u6C42","upload.requirement.skill":"\u538B\u7F29\u5305\u6216\u6587\u4EF6\u5939\u9700\u5305\u542B SKILL.md","upload.requirement.frontmatter":"SKILL.md \u9700\u5305\u542B YAML \u683C\u5F0F\u7684\u6280\u80FD\u540D\u79F0\u548C\u63CF\u8FF0","upload.requirement.copy":"\u5BFC\u5165\u65F6\u590D\u5236\u5B8C\u6574\u5185\u5BB9\uFF0C\u4E0D\u4FEE\u6539\u539F\u59CB\u6765\u6E90","upload.importing":"\u6B63\u5728\u5B89\u88C5\u2026","status.selected":"\u5DF2\u9009\u62E9","select.file.invalid":"\u8BF7\u9009\u62E9 .zip \u6216\u5355\u4E2A SKILL.md\u3002","select.folder.invalid":"\u6240\u9009\u6587\u4EF6\u5939\u4E2D\u6CA1\u6709\u627E\u5230 SKILL.md\u3002","error.browse.absolute":"\u76EE\u5F55\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\uFF1A{path}","error.browse.unreadable":"\u65E0\u6CD5\u8BFB\u53D6\u76EE\u5F55\uFF1A{path}","error.browse.notDirectory":"\u4E0D\u662F\u76EE\u5F55\uFF1A{path}","trash.title":"\u56DE\u6536\u7AD9","trash.empty":"\u56DE\u6536\u7AD9\u4E3A\u7A7A\u3002","trash.deletedAt":"\u5220\u9664\u4E8E {time}","trash.source":"\u6765\u6E90\uFF1A{source}","confirm.trash.title":"\u79FB\u5230\u56DE\u6536\u7AD9\uFF1F","confirm.trash.desc":"\u201C{name}\u201D\u5C06\u4ECE\u5F53\u524D\u6280\u80FD\u6765\u6E90\u79FB\u5165\u56DE\u6536\u7AD9\uFF0C\u4E4B\u540E\u53EF\u4EE5\u6062\u590D\u5230\u539F\u4F4D\u7F6E\u3002","confirm.delete.title":"\u6C38\u4E45\u5220\u9664\uFF1F","confirm.delete.desc":"\u201C{name}\u201D\u5C06\u4ECE\u56DE\u6536\u7AD9\u6C38\u4E45\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002","result.created":"\u5DF2\u521B\u5EFA\u6280\u80FD\uFF1A{name}","result.imported":"\u5BFC\u5165\u5B8C\u6210\uFF1A{names}","result.importPartial":"\u5DF2\u5BFC\u5165\uFF1A{imported}\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{skipped}","result.importSkipped":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\uFF1B\u5DF2\u8DF3\u8FC7\u540C\u540D\u6280\u80FD\uFF1A{names}","result.importEmpty":"\u672A\u5BFC\u5165\u4EFB\u4F55\u6280\u80FD\u3002","result.importWarnings":"{result}\uFF1B\u8B66\u544A\uFF1A{warnings}","result.restored":"\u5DF2\u6062\u590D\u6280\u80FD\uFF1A{name}","result.trashed":"\u5DF2\u79FB\u5230\u56DE\u6536\u7AD9\uFF1A{name}","result.deleted":"\u5DF2\u6C38\u4E45\u5220\u9664\uFF1A{name}","result.updated":"\u72B6\u6001\u5DF2\u66F4\u65B0\u3002","error.action":"\u64CD\u4F5C\u5931\u8D25\uFF1A{error}","warning.scan.truncated":"\u6280\u80FD\u76EE\u5F55\u8F83\u5927\u6216\u5D4C\u5957\u8FC7\u6DF1\uFF0C\u90E8\u5206\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","warning.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF1B\u6240\u6709\u6280\u80FD\u5DF2\u5B89\u5168\u505C\u7528\uFF0C\u4FEE\u590D\u6587\u4EF6\u524D\u4E0D\u4F1A\u8986\u76D6\u72B6\u6001\uFF1A{path}","warning.backupUncleaned":"\u65E7\u7248\u672C\u5907\u4EFD\u672A\u6E05\u7406\uFF1A{path}\uFF08{error}\uFF09","warning.project.unavailable":"\u65E0\u6CD5\u4ECE\u5BBF\u4E3B\u8BFB\u53D6\u6D3B\u52A8\u5DE5\u4F5C\u533A\uFF0C\u9879\u76EE\u6280\u80FD\u672A\u663E\u793A\uFF1A{path}","error.root.readonly":"\u8BE5\u6765\u6E90\u4E0D\u5141\u8BB8{action}","error.root.unknown":"\u672A\u77E5\u6280\u80FD\u6765\u6E90\uFF1A{root}","error.workspace.unregistered":"\u8BF7\u9009\u62E9\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002","error.workspace.unavailable":"\u5DE5\u4F5C\u533A\u76EE\u5F55\u4E0D\u53EF\u7528\uFF1A{path}","error.root.unsafe":"\u9879\u76EE\u6280\u80FD\u76EE\u5F55\u4E0D\u5B89\u5168\uFF0C\u62D2\u7EDD\u5199\u5165\uFF1A{path}","error.skill.notFound":"\u6280\u80FD\u4E0D\u5B58\u5728: {name}","error.skill.linked":"\u76EE\u5F55\u94FE\u63A5\u4E0D\u80FD\u5220\u9664\u6216\u8986\u76D6\uFF1A{path}","error.skill.noFrontmatter":"\u6280\u80FD\u7F3A\u5C11\u5B8C\u6574 frontmatter\uFF0C\u65E0\u6CD5{action}: {name}","error.skill.notLoadable":"\u6280\u80FD\u7ED3\u6784\u4E0D\u5B8C\u6574\uFF0C\u65E0\u6CD5{action}: {name}","error.source.notFound":"\u8DEF\u5F84\u4E0D\u5B58\u5728: {path}","error.source.symlink":"\u4E0D\u652F\u6301\u5305\u542B\u7B26\u53F7\u94FE\u63A5\u7684 skill \u6765\u6E90: {path}","error.source.unrecognized":"\u65E0\u6CD5\u8BC6\u522B\u7684 skill \u6765\u6E90: {path}","error.source.tooDeep":"skill \u6765\u6E90\u76EE\u5F55\u5C42\u7EA7\u8D85\u8FC7 {depth} \u5C42: {path}","error.import.overlap":"\u5BFC\u5165\u6765\u6E90\u4E0D\u80FD\u4E0E DSH \u6280\u80FD\u76EE\u5F55\u76F8\u540C\u3001\u5305\u542B\u6216\u4F4D\u4E8E\u5176\u4E2D","error.import.emptySource":"\u76EE\u5F55\u4E0B\u672A\u627E\u5230\u4EFB\u4F55 skill \u6761\u76EE: {path}","error.import.invalidName":"\u65E0\u6CD5\u751F\u6210\u5408\u6CD5 kebab-case \u540D\u79F0\uFF08\u539F\u59CB\u540D: {name}\uFF09","error.import.duplicateName":"\u6279\u91CF\u6765\u6E90\u4E2D\u5B58\u5728\u591A\u4E2A\u540C\u540D\u6280\u80FD: {name}","error.import.failed":"\u5BFC\u5165\u5931\u8D25","error.import.rollbackFailed":"\u8986\u76D6\u5BFC\u5165\u56DE\u6EDA\u5931\u8D25\uFF0C\u5907\u4EFD\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.upload.path":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u975E\u6CD5\u8DEF\u5F84\uFF1A{path}","error.upload.encoding":"\u4E0A\u4F20\u5185\u5BB9\u7F16\u7801\u65E0\u6548","error.upload.empty":"\u4E0A\u4F20\u5185\u5BB9\u4E3A\u7A7A","error.upload.tooMany":"\u4E0A\u4F20\u6587\u4EF6\u8FC7\u591A\uFF0C\u6700\u591A {limit} \u4E2A","error.upload.tooLarge":"\u4E0A\u4F20\u5185\u5BB9\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.archiveTooLarge":"ZIP \u538B\u7F29\u5305\u8FC7\u5927\uFF0C\u9650\u5236\u4E3A {limit} \u5B57\u8282","error.upload.duplicate":"\u4E0A\u4F20\u5185\u5BB9\u5305\u542B\u91CD\u590D\u8DEF\u5F84\uFF1A{path}","error.upload.zipInvalid":"ZIP \u538B\u7F29\u5305\u65E0\u6CD5\u89E3\u538B","error.trash.notFound":"\u56DE\u6536\u7AD9\u6761\u76EE\u4E0D\u5B58\u5728: {id}","error.trash.conflict":"\u65E0\u6CD5\u6062\u590D\uFF0C\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.trash.invalid":"\u56DE\u6536\u7AD9\u6761\u76EE\u8DEF\u5F84\u975E\u6CD5: {id}","error.trash.projectUnavailable":"\u539F\u9879\u76EE\u5F53\u524D\u4E0D\u5728\u6D3B\u52A8\u5DE5\u4F5C\u533A\u4E2D\uFF0C\u65E0\u6CD5\u6062\u590D\uFF1A{path}","error.trash.rollbackFailed":"\u79FB\u5165\u56DE\u6536\u7AD9\u56DE\u6EDA\u5931\u8D25\uFF0C\u672A\u6062\u590D\u5185\u5BB9\u4FDD\u7559\u5728: {path}\uFF08{error}\uFF09","error.state.invalid":"\u6280\u80FD\u7BA1\u7406\u5668\u72B6\u6001\u6587\u4EF6\u4E0D\u53EF\u8BFB\uFF0C\u5DF2\u62D2\u7EDD\u8986\u76D6\uFF1A{path}","error.create.descriptionRequired":"\u6280\u80FD\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A","error.create.bodyRequired":"\u6280\u80FD\u6B63\u6587\u4E0D\u80FD\u4E3A\u7A7A","error.create.tooLarge":"\u6280\u80FD\u5185\u5BB9\u8FC7\u957F","error.create.conflict":"\u540C\u540D\u6280\u80FD\u5DF2\u5B58\u5728: {name}","error.proto.forbidden":"\u7981\u6B62\u7684\u4FEE\u6539\u8BF7\u6C42\uFF08\u7F3A\u5C11\u5BA2\u6237\u7AEF\u6807\u8BB0\uFF09","error.proto.forbiddenHost":"\u7981\u6B62\u7684\u8BF7\u6C42\u6765\u6E90\uFF08\u975E\u6CD5 Host\uFF09","error.proto.contentType":"\u8BF7\u6C42\u4F53\u5FC5\u987B\u662F application/json","error.proto.method":"\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5","error.proto.unknownAction":"\u672A\u77E5\u64CD\u4F5C","error.proto.invalidParams":"\u8BF7\u6C42\u53C2\u6570\u65E0\u6548","error.proto.bodyTooLarge":"\u8BF7\u6C42\u4F53\u8FC7\u5927","error.proto.invalidJson":"\u8BF7\u6C42\u4F53\u4E0D\u662F\u5408\u6CD5 JSON","error.proto.nonJson":"\u670D\u52A1\u7AEF\u8FD4\u56DE\u975E JSON \u54CD\u5E94\uFF08HTTP {status}\uFF09","error.update.disabled":"\u5728\u7EBF\u66F4\u65B0\u5DF2\u88AB\u7981\u7528","error.catalog.query":"\u641C\u7D22\u5173\u952E\u8BCD\u65E0\u6548\u3002","error.catalog.upstream":"\u76EE\u5F55\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\u3002","error.catalog.response":"\u76EE\u5F55\u8FD4\u56DE\u7684\u6570\u636E\u65E0\u6548\u6216\u8FC7\u5927\u3002","error.catalog.identity":"\u76EE\u5F55\u6280\u80FD\u6807\u8BC6\u65E0\u6548\u3002","diagnostic.frontmatter.missing":"\u7F3A\u5C11\u5B8C\u6574 YAML frontmatter","diagnostic.name.missing":"frontmatter \u7F3A\u5C11 name","diagnostic.name.invalid":"\u5BBF\u4E3B\u4E0D\u652F\u6301\u6B64\u6280\u80FD\u540D\u79F0\u683C\u5F0F\uFF08\u4EC5\u652F\u6301\u82F1\u6587\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u4E0E\u8FDE\u5B57\u7B26\uFF09\uFF0C\u65E0\u6CD5\u542F\u7528\u3002\u5982\u9700\u8C03\u7528\uFF0C\u8BF7\u5728 SKILL.md frontmatter \u4E2D\u6307\u5B9A\u82F1\u6587 name\uFF08\u76EE\u5F55\u540D\u53EF\u4FDD\u7559\u4E2D\u6587\uFF09\uFF1A{name}","diagnostic.description.missing":"frontmatter \u7F3A\u5C11 description","diagnostic.invocation.invalid":"\u8C03\u7528\u7B56\u7565\u5B57\u6BB5\u503C\u65E0\u6548","diagnostic.shadowed":"\u88AB\u66F4\u9AD8\u4F18\u5148\u7EA7\u6765\u6E90 {root} \u8986\u76D6","action.enable":"\u542F\u7528","action.disable":"\u505C\u7528","action.create":"\u521B\u5EFA","action.delete":"\u5220\u9664","action.restore":"\u6062\u590D","action.toggle":"\u542F\u7528\u6216\u505C\u7528","scope.user":"\u5168\u5C40\u6280\u80FD","scope.project":"\u9879\u76EE\u6280\u80FD","scope.trash":"\u56DE\u6536\u7AD9","scope.label":"\u6280\u80FD\u7BA1\u7406\u89C6\u56FE","scope.userHint":"\u8DE8\u9879\u76EE\u53EF\u7528\u3002\u542F\u505C\u4EC5\u5F71\u54CD DSH \u4E2D\u7684\u8C03\u7528\u3002","scope.projectHint":"\u6309\u5DE5\u4F5C\u533A\u67E5\u770B\u9879\u76EE\u6280\u80FD\u3002\u542F\u505C\u4E0D\u4FEE\u6539\u5176\u4ED6 Agent \u7684\u6E90\u6587\u4EF6\u3002","project.empty":"\u8FD8\u6CA1\u6709\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u3002\u8BF7\u5148\u5728\u4FA7\u680F\u6DFB\u52A0\u5DE5\u4F5C\u533A\u3002","project.noSkills":"\u5DF2\u767B\u8BB0\u7684\u5DE5\u4F5C\u533A\u91CC\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.unavailable":"\u76EE\u5F55\u4E0D\u53EF\u7528","workspace.noSkills":"\u8FD9\u4E2A\u5DE5\u4F5C\u533A\u8FD8\u6CA1\u6709\u6280\u80FD\u3002","workspace.loading":"\u6B63\u5728\u8BFB\u53D6\u2026","workspace.loadFailed":"\u8BFB\u53D6\u5931\u8D25\uFF1A{error}","workspace.listFailed":"\u65E0\u6CD5\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5217\u8868\uFF1A{error}","filter.status":"\u8C03\u7528\u72B6\u6001","filter.statusAll":"\u5168\u90E8\u72B6\u6001","status.shadowedBy":"\u88AB {source} \u4E2D\u7684\u540C\u540D\u6280\u80FD\u8986\u76D6","status.fallback.user":"\u5F53\u524D\u4F7F\u7528\u5168\u5C40 {source} \u526F\u672C\u3002","status.fallback.project":"\u5F53\u524D\u4F7F\u7528\u9879\u76EE {source} \u526F\u672C\u3002","root.copilot":"GitHub Copilot","source.selectHint":"\u5148\u9009\u62E9\u4E00\u4E2A\u6765\u6E90\uFF0C\u624D\u80FD\u67E5\u770B\u76EE\u5F55\u6216\u5173\u95ED\u6574\u4E2A\u6765\u6E90\u3002\u5173\u95ED\u6765\u6E90\u53EA\u5F71\u54CD DSH \u8C03\u7528\uFF0C\u4E0D\u6539\u6587\u4EF6\u3002","import.global":"\u5BFC\u5165\u6280\u80FD","category.batchAssigned":"\u5DF2\u5C06 {count} \u4E2A\u6280\u80FD\u6DFB\u52A0\u5230\u201C{category}\u201D\u3002\u6587\u4EF6\u672A\u79FB\u52A8\u3002","category.selectSkills":"\u6DFB\u52A0\u6280\u80FD\u5230\u201C{name}\u201D","category.noAvailableSkills":"\u6CA1\u6709\u53EF\u6DFB\u52A0\u7684\u6280\u80FD","category.addSkills":"\u6DFB\u52A0\u6280\u80FD","root.dsh":"DSH","root.agents":"\u516C\u5171 Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH","root.projectAgents":"\u9879\u76EE Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (\u7528\u6237\u76EE\u5F55)","root.trae":"Trae","root.traeCn":"Trae (\u56FD\u5185\u7248)","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (\u65E7\u76EE\u5F55)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN"},en:{"summary.group.one":"{count} skill","summary.group.other":"{count} skills","format.locale":"en-US","format.warningSeparator":"; ",title:"Skills",desc:"Load and manage Agent Skills on this computer in one place.","link.project":"GitHub","link.feedback":"Issues","btn.create":"Create skill","btn.import":"Import","btn.refresh":"Refresh","btn.cancel":"Cancel","btn.close":"Close","btn.detail":"View details","btn.more":"More","btn.trash":"Move to trash","btn.restore":"Restore","btn.delete.forever":"Delete forever","btn.file.pick":"Choose file","btn.folder.pick":"Choose folder","btn.import.now":"Install","btn.create.now":"Create skill","btn.disable":"Disable","btn.enable":"Enable","btn.confirm":"Confirm","status.enabled":"Enabled","status.disabled":"Disabled","status.invalid":"Needs attention","status.shadowed":"Shadowed","summary.total.one":"{count} skill","summary.total.other":"{count} skills","summary.enabled.one":"{count} enabled","summary.enabled.other":"{count} enabled","summary.disabled.one":"{count} disabled","summary.disabled.other":"{count} disabled","summary.shadowed.one":"{count} shadowed","summary.shadowed.other":"{count} shadowed","summary.invalid.one":"{count} diagnostic","summary.invalid.other":"{count} diagnostics","table.skill":"Skill name and description","table.status":"Invocation status","filter.workspace":"Workspace","filter.source":"Source","filter.all":"All sources","filter.option":"{name} ({count})",search:"Search","search.placeholder":"Search skill names or descriptions","search.clear":"Clear search","empty.search":"No matching skills.","empty.source":"This source does not exist or has no skills yet.",loading:"Loading skills\u2026","note.missing":"No description provided","skill.linked":"External directory link, read-only","source.toggle":"Toggle source","skill.toggle":"Toggle skill","category.toggle":"Toggle category","category.create":"New category","category.uncategorized":"Uncategorized","category.assign":"Move to {name}","category.rename":"Rename","category.delete":"Delete category","category.note":"Categories stay in this source and do not move files.","category.name":"Category name","category.empty":"No skills yet. Use More on a skill to place it here.","category.progress":"{count} \xB7 {enabled}/{usable} enabled","category.actions":"Category actions","category.created":"Added category \u201C{name}\u201D. No directory was created.","category.renamed":"Renamed. Skill file names are unchanged.","category.deleted":"Deleted category \u201C{name}\u201D. Skills returned to Uncategorized and were not trashed.","category.assigned":"Moved {name} to \u201C{category}\u201D. The file was not moved.","category.dragTip":"Drag to reorder or move to another category","category.moved":"Updated the category or order for {name}.","confirm.category.title":"Delete category?","confirm.category.desc":"\u201C{name}\u201D will be removed. Its skills return to Uncategorized. Files are not moved.","error.category.duplicate":"A category with this name already exists: {name}","error.category.name":"Category name is required and must be at most 24 characters","error.category.notFound":"Category not found","error.category.root":"Skill source not found: {root}","error.category.position":"Invalid skill ordering position","error.category.target":"The target skill is not in the destination category","detail.title":"Skill details","detail.description":"Description","detail.document":"SKILL.md","detail.body":"Body","detail.frontmatter":"Frontmatter","detail.diagnostics":"Diagnostics","detail.path":"Source file","detail.noIssues":"No diagnostic issues found.","detail.copyBody":"Copy body","detail.copied":"Copied","detail.copyFailed":"Copy failed","create.title":"Create skill","create.name":"Name","create.name.placeholder":"e.g. code-review-helper","create.description":"Description","create.description.placeholder":"One sentence describing when to use it","create.body":"Body (Markdown)","create.body.placeholder":"Write the instructions, steps, and boundaries\u2026","create.chat.note":"Created skills are not linked to repository updates, and no source file is modified.","import.title":"Import skill","upload.drop.title":"Drop a skill here","upload.drop.copy":"Supports .zip, a skill folder, or one SKILL.md","upload.selected.one":"{count} file \xB7 {size}","upload.selected.other":"{count} files \xB7 {size}","upload.remove":"Remove selection","upload.requirements":"File requirements","upload.requirement.skill":"Archives and folders must contain SKILL.md","upload.requirement.frontmatter":"SKILL.md must include a YAML name and description","upload.requirement.copy":"Import copies all content and never modifies the source","upload.importing":"Installing\u2026","status.selected":"Selected","select.file.invalid":"Choose a .zip archive or one SKILL.md.","select.folder.invalid":"No SKILL.md was found in the selected folder.","error.browse.absolute":"Folder path must be absolute: {path}","error.browse.unreadable":"Could not read folder: {path}","error.browse.notDirectory":"Not a folder: {path}","trash.title":"Trash","trash.empty":"Trash is empty.","trash.deletedAt":"Deleted {time}","trash.source":"Source: {source}","confirm.trash.title":"Move to trash?","confirm.trash.desc":"\u201C{name}\u201D will move out of its current skill source and can be restored to the same location later.","confirm.delete.title":"Delete forever?","confirm.delete.desc":"\u201C{name}\u201D will be permanently deleted from trash and cannot be recovered.","result.created":"Created skill: {name}","result.imported":"Import complete: {names}","result.importPartial":"Imported: {imported}; skipped existing skills: {skipped}","result.importSkipped":"No skills were imported; existing skills were skipped: {names}","result.importEmpty":"No skills were imported.","result.importWarnings":"{result}; warnings: {warnings}","result.restored":"Restored skill: {name}","result.trashed":"Moved to trash: {name}","result.deleted":"Permanently deleted: {name}","result.updated":"Status updated.","error.action":"Action failed: {error}","warning.scan.truncated":"Some skills were not shown because the directory is too large or deeply nested: {path}","warning.state.invalid":"The manager state file could not be read; all skills are disabled and state writes are blocked until it is repaired: {path}","warning.backupUncleaned":"Old version backup was not cleaned up: {path} ({error})","warning.project.unavailable":"The active workspace could not be read from the host, so its project skills are hidden: {path}","error.root.readonly":"This source does not allow {action}","error.root.unknown":"Unknown skill source: {root}","error.workspace.unregistered":"Select a registered workspace.","error.workspace.unavailable":"Workspace directory is unavailable: {path}","error.root.unsafe":"The project skill directory is unsafe, so the write was refused: {path}","error.skill.notFound":"Skill not found: {name}","error.skill.linked":"This directory link cannot be deleted or overwritten: {path}","error.skill.noFrontmatter":"Skill lacks complete frontmatter, cannot {action}: {name}","error.skill.notLoadable":"Skill structure is incomplete, cannot {action}: {name}","error.source.notFound":"Path does not exist: {path}","error.source.symlink":"Skill sources containing symbolic links are not supported: {path}","error.source.unrecognized":"Unrecognized skill source: {path}","error.source.tooDeep":"Skill source directory depth exceeds {depth} levels: {path}","error.import.overlap":"Import source cannot be the same as, contain, or be inside the DSH skills directory","error.import.emptySource":"No skill entries found in the directory: {path}","error.import.invalidName":"Cannot generate a valid kebab-case name (original: {name})","error.import.duplicateName":"Batch source contains duplicate skill names: {name}","error.import.failed":"Import failed","error.import.rollbackFailed":"Overwrite import rollback failed; backups kept at: {path} ({error})","error.upload.path":"Upload contains an invalid path: {path}","error.upload.encoding":"Upload encoding is invalid","error.upload.empty":"Upload is empty","error.upload.tooMany":"Too many uploaded files; maximum {limit}","error.upload.tooLarge":"Upload is too large; limit {limit} bytes","error.upload.archiveTooLarge":"ZIP archive is too large; limit {limit} bytes","error.upload.duplicate":"Upload contains a duplicate path: {path}","error.upload.zipInvalid":"ZIP archive could not be extracted","error.trash.notFound":"Trash item not found: {id}","error.trash.conflict":"Cannot restore because a skill with the same name exists: {name}","error.trash.invalid":"Invalid trash item path: {id}","error.trash.projectUnavailable":"The original project is not an active workspace, so this skill cannot be restored: {path}","error.trash.rollbackFailed":"Move-to-trash rollback failed; unrecovered content was kept at: {path} ({error})","error.state.invalid":"The manager state file could not be read, so overwriting it was refused: {path}","error.create.descriptionRequired":"Skill description is required","error.create.bodyRequired":"Skill body is required","error.create.tooLarge":"Skill content is too large","error.create.conflict":"A skill with the same name already exists: {name}","error.proto.forbidden":"Forbidden mutation request (missing client marker)","error.proto.forbiddenHost":"Forbidden request origin (invalid host)","error.proto.contentType":"Content type must be application/json","error.proto.method":"Method not allowed","error.proto.unknownAction":"Unknown action","error.proto.invalidParams":"Invalid request parameters","error.proto.bodyTooLarge":"Request body too large","error.proto.invalidJson":"Invalid JSON request body","error.proto.nonJson":"Server returned a non-JSON response (HTTP {status})","error.update.disabled":"Online updates are disabled","error.catalog.query":"The search query is invalid.","error.catalog.upstream":"The catalog service is temporarily unavailable.","error.catalog.response":"The catalog response is invalid or too large.","error.catalog.identity":"The catalog skill identifier is invalid.","diagnostic.frontmatter.missing":"Missing complete YAML frontmatter","diagnostic.name.missing":"Frontmatter is missing name","diagnostic.name.invalid":"Skill name format is not supported by host (lowercase letters, numbers and hyphens only), cannot be enabled. To invoke it, specify an English name in the SKILL.md frontmatter (directory name can remain unchanged): {name}","diagnostic.description.missing":"Frontmatter is missing description","diagnostic.invocation.invalid":"Invocation policy value is invalid","diagnostic.shadowed":"Shadowed by higher-priority source {root}","action.enable":"enable","action.disable":"disable","action.create":"create","action.delete":"delete","action.restore":"restore","action.toggle":"enabling or disabling","scope.user":"Global skills","scope.project":"Project skills","scope.trash":"Trash","scope.label":"Skill manager views","scope.userHint":"Available across projects. Toggles only affect invocation in DSH.","scope.projectHint":"View project skills by workspace. Toggles do not modify other agents\u2019 source files.","project.empty":"No registered workspaces yet. Add one in the sidebar first.","project.noSkills":"Registered workspaces do not have skills yet.","workspace.unavailable":"Directory unavailable","workspace.noSkills":"No skills in this workspace yet.","workspace.loading":"Loading\u2026","workspace.loadFailed":"Failed to load: {error}","workspace.listFailed":"Cannot read the workspace list: {error}","filter.status":"Invocation status","filter.statusAll":"All statuses","status.shadowedBy":"Overridden by the same skill in {source}","status.fallback.user":"Currently using the global {source} copy.","status.fallback.project":"Currently using the project {source} copy.","source.selectHint":"Select a source to view its directory or turn the whole source off. Turning a source off only affects invocation in DSH and does not change files.","import.global":"Import skill","category.batchAssigned":"Added {count} skills to \u201C{category}\u201D. Files were not moved.","category.selectSkills":"Add skills to \u201C{name}\u201D","category.noAvailableSkills":"No skills available to add","category.addSkills":"Add skills","root.dsh":"DSH skills","root.agents":"Shared Agent","root.ccswitch":"CC Switch","root.projectDsh":"DSH skills","root.projectAgents":"Project Agent","root.codex":"Codex","root.claude":"Claude Code","root.gemini":"Gemini","root.opencode":"OpenCode","root.cursor":"Cursor","root.copilot":"GitHub Copilot","root.windsurf":"Windsurf","root.windsurfUser":"Windsurf (User Home)","root.trae":"Trae","root.traeCn":"Trae CN","root.openclaw":"OpenClaw","root.clawdbot":"OpenClaw (Legacy)","root.roo":"Roo","root.codebuddy":"CodeBuddy","root.workbuddy":"WorkBuddy","root.qoder":"Qoder","root.qoderCn":"Qoder CN CLI","root.lingma":"Qoder CN"}};Object.assign(ha.zh,Ka.zh,qa.zh,Ga.zh);Object.assign(ha.en,Ka.en,qa.en,Ga.en);var Qt=Ar(I),Vr=vr({react:I,SourceSelect:Qt,translateError:ye}),Dr=Vr.DestinationPicker,Zn=br({react:I,Modal:at,Input:ct,Button:ze.Button,SourceSelect:Qt,destination:Vr,api:fa,headers:qt,translateError:ye,getLocale:Kr}),Yn=yr+Xa+`.dssm-sources{display:flex;flex-direction:column;gap:9px}.dssm-scope-tabs{display:grid!important;box-sizing:border-box!important;width:100%;height:32px!important;min-height:32px!important;max-height:32px!important;padding:2px!important;border-radius:var(--dsw-radius-sm,8px)!important;border:0.5px solid var(--dsw-alias-border-l2)!important;background:var(--dsw-alias-bg-layer-1)!important}.dssm-scope-tabs>span[aria-hidden="true"],.dssm-scope-tabs>[class*="indicator"]{width:calc((100% - 4px)/4)!important;inset:2px auto 2px 2px!important;border-radius:6px!important;border:0.5px solid var(--dsw-alias-border-l3,rgba(255,255,255,.12))!important;background:var(--dsw-alias-bg-layer-3,rgba(255,255,255,.08))!important;box-shadow:none!important}.dssm-scope-tabs [role=tab]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:28px!important;padding:0 12px!important;border-radius:6px!important;font-size:13px!important;line-height:20px!important;color:var(--dsw-alias-label-secondary)!important;text-align:center!important;box-sizing:border-box!important;transition:color 150ms ease!important}.dssm-scope-tabs [role=tab]:hover{color:var(--dsw-alias-label-primary)!important}.dssm-scope-tabs [role=tab][aria-selected="true"]{color:var(--dsw-alias-label-primary)!important;font-weight:600!important}.dssm-scope-tabs [role=tab] svg{flex:none;display:block}.dssm-source-head{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px}.dssm-source-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-source-toggle:focus-visible{outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary));outline-offset:2px}.dssm-fold-chevron{flex:none;color:var(--dsw-alias-label-tertiary);transform:rotate(-90deg);transition:transform 160ms ease}.dssm-fold-chevron.is-open{transform:rotate(0deg)}@media (prefers-reduced-motion:reduce){.dssm-fold-chevron{transition:none}}.dssm-source-label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dssm-drag-handle{cursor:grab;color:var(--dsw-alias-label-tertiary,#888);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px;height:22px;border-radius:var(--dsw-radius-sm,8px);flex-shrink:0;user-select:none;transition:color 0.15s}.dssm-skill-row:hover .dssm-drag-handle{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-drag-handle:active{cursor:grabbing}.dssm-cat.drag-over{border-color:var(--dsw-alias-brand-primary,#3b82f6);box-shadow:0 0 0 1px var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.dragging{opacity:0.4;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent))}.dssm-skill-row.drop-before{box-shadow:inset 0 2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row.drop-after{box-shadow:inset 0 -2px 0 var(--dsw-alias-brand-primary,#3b82f6)}.dssm-skill-row{display:flex;align-items:center;gap:8px;margin:0;padding:11px 13px;border:0;border-top:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:0;background:transparent}.dssm-skill-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:nowrap}.dssm-skill-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;line-height:18px}.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-skill-row .dssm-name{font-size:14px;font-weight:650;color:var(--dsw-alias-label-primary,#eeeeee)}.dssm-skill-actions{display:flex;align-items:center;gap:8px;flex:none}.dssm-source{overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-textarea{box-sizing:border-box;display:block;width:100%;min-height:160px;margin:0;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:14px;line-height:22px;resize:vertical}.dssm-textarea:focus,.dssm-textarea:focus-visible{outline:none;border-color:var(--dsw-alias-state-business-primary)}.dssm-textarea[readonly]{resize:none}.dssm-source-title{font-size:14px;font-weight:650;white-space:nowrap;flex:none}.dssm-source-path{min-width:0;max-width:50%;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-source-actions{display:flex;flex:none;align-items:center;gap:8px;margin-left:12px}.dssm-cat{margin:0 10px 8px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px)}.dssm-cat-head{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 6px}.dssm-cat-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;min-height:36px;padding:4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.dssm-cat-title{font-size:14px;font-weight:700;display:inline-flex;align-items:center}.dssm-cat-note{margin:2px 16px 8px}.dssm-fallback{margin-top:4px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-section{box-sizing:border-box;display:flex;width:100%;min-width:0;padding:2px 0 36px;container-type:inline-size;flex-direction:column;gap:14px;color:var(--dsw-alias-label-primary,#eeeeee);font-family:inherit}.dssm-head{display:flex;flex-direction:column;align-items:stretch;gap:16px}.dssm-title-block{min-width:0}.dssm-title-row{display:flex;align-items:center;gap:8px 12px;min-width:0;flex-wrap:wrap}.dssm-feedback-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dssm-feedback-links>span[data-mpi-check]{display:inline-flex;align-items:center}.dssm-title{margin:0;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.4px;white-space:nowrap}.dssm-desc{margin:12px 0 0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:14px;line-height:22px}.dssm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;flex:none}.dssm-upload-link:focus-visible,.dssm-file-remove:focus-visible{outline:2px solid var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));outline-offset:2px}.dssm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1)}.dssm-stat{padding:4px 10px;border-right:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-stat:last-child{border-right:0}.dssm-stat strong{margin-right:4px;color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:650}.dssm-filters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%!important;min-width:0;box-sizing:border-box}.dssm-filter-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.dssm-filters .dssm-search{flex:1 1 0;min-width:160px;max-width:none}.dssm-filters .dssm-source-filter,.dssm-filters .dssm-status-filter,.dssm-filters .dssm-project-filter,.dssm-filters .dssm-menu-select-wrap,.dssm-filters span[class*="_root_"],.dssm-filters .dssm-source-select-menu,.dssm-filters .dssm-menu-select-trigger{width:auto!important;min-width:0!important;display:inline-flex!important;flex:none}.dssm-field .dssm-menu-select-wrap,.dssm-destination-pair .dssm-menu-select-wrap,.dssm-destination-pair span[class*="_root_"]{display:flex!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}.dssm-destination-pair .dssm-menu-select-trigger,.dssm-form .dssm-menu-select-trigger{display:flex!important;width:100%!important;height:36px!important;border-radius:var(--dsw-radius-md,10px)!important;padding:0 12px!important;box-sizing:border-box!important}.dssm-source-select-menu{min-width:130px;max-width:280px}.dssm-menu-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:32px;padding:0 10px;border:0.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:13px;line-height:20px;cursor:pointer;user-select:none;width:max-content;min-width:8em;transition:border-color 120ms ease,background 120ms ease}.dssm-menu-select-trigger:hover:not(:disabled){border-color:var(--dsw-alias-border-l3,#555)}.dssm-menu-select-trigger.is-open,.dssm-menu-select-trigger:focus-visible{border-color:var(--dsw-alias-brand-primary)!important;outline:var(--dsw-focus-ring-width,1px) solid var(--dsw-focus-ring-color,var(--dsw-alias-brand-primary))!important;outline-offset:0!important}.dssm-menu-select-trigger:disabled{opacity:.5;cursor:default}.dssm-menu-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.dssm-menu-select-arrow{color:var(--dsw-alias-label-secondary);flex-shrink:0}.dssm-count{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap;flex:none}.dssm-name{overflow-wrap:anywhere;font-size:13px;font-weight:570}.dssm-note{overflow-wrap:anywhere;margin-top:2px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px;line-height:17px}.dssm-enabled{color:var(--dsw-alias-state-success-primary,#51b976);font-size:12px;white-space:nowrap}.dssm-disabled{color:var(--dsw-alias-state-warn-primary,#d49245);font-size:12px;white-space:nowrap}.dssm-shadowed{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;white-space:nowrap}.dssm-trash-count{padding:2px 7px;border-radius:999px;corner-shape:round;background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:11px}.dssm-empty{padding:25px 14px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:12px;text-align:center}.dssm-feedback{padding:9px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:12px}.dssm-warning{border-color:var(--dsw-alias-state-warn-primary,#d49245);color:var(--dsw-alias-state-warn-primary,#d49245)}.dssm-error{border-color:var(--dsw-alias-state-error-primary,#ef7272);color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-form,.dssm-field,.dssm-detail-section{display:flex;flex-direction:column}.dssm-form{gap:12px}.dssm-detail{display:flex;flex-direction:column;gap:12px;min-width:0}.dssm-detail .dssm-desc{margin:0}.dssm-field{gap:6px}.dssm-label{font-size:12px;color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-detail-title{font-size:14px;line-height:22px;font-weight:650}.dssm-help{margin:0;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:18px}.dssm-batch-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;margin:12px 0;padding:2px}.dssm-batch-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid var(--dsw-alias-border-l1,#3a3a3a);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));cursor:pointer;user-select:none;transition:background 0.15s,border-color 0.15s}.dssm-batch-item:hover{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-interactive-bg-hover,transparent));border-color:var(--dsw-alias-border-l2,#494949)}.dssm-batch-item.selected{border-color:var(--dsw-alias-brand-primary,#3b82f6);background:var(--dsw-alias-state-business-tertiary)}.dssm-batch-item input[type="checkbox"]{cursor:pointer;margin:0;flex-shrink:0;width:15px;height:15px}.dssm-batch-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dssm-batch-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dssm-batch-name{font-size:13px;font-weight:600;color:var(--dsw-alias-label-primary,#eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dssm-batch-cat-tag{font-size:10px;padding:1px 6px;border-radius:var(--dsw-radius-xs,4px);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary,#b9b9b9);white-space:nowrap;flex-shrink:0}.dssm-batch-desc{font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary,#a0a0a0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.dssm-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.dssm-hidden-input{display:none}.dssm-dropzone{box-sizing:border-box;display:flex;width:100%;min-height:170px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1px dashed var(--dsw-alias-border-l3,#555555);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);transition:border-color 180ms ease,background 180ms ease}.dssm-dropzone:hover,.dssm-dropzone-active{border-color:var(--dsw-alias-brand-primary,var(--dsw-alias-label-primary,#f2f2f2));background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12))}.dssm-dropzone-title{color:var(--dsw-alias-label-primary,#eeeeee);font-size:14px;font-weight:620}.dssm-dropzone-copy{font-size:12px;line-height:18px;text-align:center}.dssm-upload-choices{display:flex;align-items:center;gap:7px}.dssm-upload-link,.dssm-file-remove{padding:0;border:0;background:transparent;font:inherit;font-size:12px;cursor:pointer}.dssm-upload-link{color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-upload-link:hover{color:var(--dsw-alias-label-primary,#eeeeee);text-decoration:underline}.dssm-upload-link:disabled{opacity:.45;cursor:default}.dssm-upload-divider{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px}.dssm-file{display:flex;align-items:center;gap:9px;padding:10px 11px;border:0.5px solid var(--dsw-alias-border-l2,#494949);border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-primary,#eeeeee);font-size:12px}.dssm-file-kind{display:inline-flex;min-width:30px;height:24px;align-items:center;justify-content:center;border-radius:var(--dsw-radius-sm,8px);background:var(--dsw-alias-interactive-bg-hover,rgba(128,128,128,.12));color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:9px;font-weight:700}.dssm-file-name{min-width:0;overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}.dssm-file-meta{color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;white-space:nowrap}.dssm-file-remove{width:24px;height:24px;color:var(--dsw-alias-label-secondary,#b9b9b9);font-size:18px}.dssm-upload-requirements{padding:1px 1px 0}.dssm-upload-requirements ul{display:flex;margin:7px 0 0;padding-left:18px;flex-direction:column;gap:5px;color:var(--dsw-alias-label-tertiary,#a0a0a0);font-size:11px;line-height:17px}.dssm-detail-section{gap:7px}.dssm-detail-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:22px}.dssm-detail-section .dssm-note,.dssm-diag{font-size:14px;line-height:22px}.dssm-detail-path{padding:8px 10px;border-radius:var(--dsw-radius-lg,16px);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9);word-break:break-all}.dssm-diag{padding:8px 10px;border-left:2px solid var(--dsw-alias-state-warn-primary,#d49245);background:var(--dsw-alias-bg-layer-1,var(--dsw-alias-interactive-bg-hover,transparent));color:var(--dsw-alias-label-secondary,#b9b9b9)}.dssm-trash-panel{display:flex;flex-direction:column;gap:10px}.dssm-trash-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 13px;border:0.5px solid var(--dsw-alias-border-l2,rgba(128,128,128,.2));border-radius:var(--dsw-radius-xl,20px);background:transparent}.dssm-trash-main{min-width:0;display:flex;flex-direction:column;gap:6px}.dssm-trash-item .dssm-name{font-size:14px;line-height:20px;color:var(--dsw-alias-label-primary,inherit)}.dssm-trash-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:11px;line-height:17px;color:var(--dsw-alias-label-tertiary,#909090);overflow-wrap:anywhere}.dssm-trash-source{min-width:0;background:transparent;color:var(--dsw-alias-label-tertiary,#a0a0a0)}.dssm-trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
|
|
33
33
|
@container(max-width:400px){.dssm-source-path{display:none}}@media(max-width:760px){.dssm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.dssm-title-row{flex-wrap:wrap}}@container(max-width:520px){.dssm-trash-item{grid-template-columns:minmax(0,1fr)}.dssm-skill-row{flex-wrap:wrap}.dssm-skill-actions{width:100%;margin-inline-start:0;justify-content:flex-end}.dssm-trash-actions{justify-content:flex-end}.dssm-head{flex-direction:column}.dssm-actions{width:100%;margin-left:0}.dssm-actions button{flex:1}.dssm-summary{grid-template-columns:1fr}}.dssm-row-state{display:flex;align-items:center;justify-content:flex-end;gap:8px}
|
|
34
34
|
.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)}
|
|
35
35
|
.dssm-icon-action{width:22px;min-width:22px;height:22px;padding:0;border-radius:var(--dsw-radius-sm,8px);background:transparent;color:var(--dsw-alias-label-secondary,#b9b9b9);border-color:var(--dsw-alias-border-l2,#494949)}.dssm-icon-action:not(:disabled):not(.dssm-icon-danger):hover{color:var(--dsw-alias-link,#4176e6)!important;border-color:var(--dsw-alias-link,#4176e6)!important}.dssm-icon-action.dssm-icon-danger{color:var(--dsw-alias-state-error-primary,#ef7272);border-color:var(--dsw-alias-state-error-primary,#ef7272)}.dssm-btn-danger:not(:disabled){color:var(--dsw-alias-state-error-primary,#ef7272)}
|
|
@@ -42,6 +42,6 @@ var exports = module.exports;
|
|
|
42
42
|
.dssm-detail-head button{flex:none}
|
|
43
43
|
.dssm-detail-body{box-sizing:border-box;width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace!important;font-size:13px!important;line-height:20px!important;resize:vertical!important}
|
|
44
44
|
|
|
45
|
-
`;function tr(t,e,d,l){var p=t(e,l);return typeof p=="string"&&p!==e?p:d}function he(t,e){if(e instanceof Error&&!e.code)return e.message;if(e&&typeof e=="object"){let p=e;if(p.code){var d=Object.assign({},p.params||{});d.action&&(d.action=tr(t,"action."+d.action,String(d.action)));var l=t(p.code,d);if(typeof l=="string"&&l!==p.code)return l;if(l===p.code)return p.error!==void 0?he(t,p.error):p.code}if(p.error!==void 0)return he(t,p.error);if(p.message!==void 0)return String(p.message)}return String(e??"")}function Vr(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 d=e;if(!t.ok||d.ok===!1)throw d;return d.data})}function ma(t,e){return fetch(da("/api/dsh-skills-manager"+t),e).then(Vr)}function za(t){return t.enabled!==void 0?t.enabled===!0:!!(t.invocationPolicyValid&&t.modelInvocable&&t.userInvocable&&t.managerEnabled!==!1)}function Ta(t,e){return t+(Number(e)===1?".one":".other")}var ga;function Wr(){return ga?.getLocale?.().active}function Kr(t,e){return new Date(e).toLocaleString(Wr()||t("format.locale"))}function Tt(t,e){var d=tr(t,"root."+(e.localeKey||e.kind||e.key),e.label);return e.projectName?d+" \xB7 "+e.projectName:d}function qr(t,e){var d=e&&e.imported||[],l=d.map(function(h){return h.name}),p=(e&&e.skipped||[]).map(function(h){return h.name}),f=[];d.forEach(function(h){(h.warnings||[]).forEach(function(v){f.push(he(t,v))})});var g;return l.length&&p.length?g={ok:!0,warning:!0,imported:!0,text:t("result.importPartial",{imported:l.join(", "),skipped:p.join(", ")})}:l.length?g={ok:!0,warning:!1,imported:!0,text:t("result.imported",{names:l.join(", ")})}:p.length?g={ok:!1,warning:!0,imported:!1,text:t("result.importSkipped",{names:p.join(", ")})}:g={ok:!1,warning:!1,imported:!1,text:t("result.importEmpty")},f.length&&(g.warning=!0,g.text=t("result.importWarnings",{result:g.text,warnings:f.join(t("format.warningSeparator"))})),g}function Qr(t){return String(t??"").trim().toLowerCase()}function ar(t,e){var d=Qr(e);return d?[t.name,t.declaredName,t.description,t.kind,t.kindLabel,t.statusLabel,t.rootKey,t.rootLabel].some(function(l){return String(l??"").toLowerCase().includes(d)}):!0}function Qs(t,e){var d=e&&e.rootKey!=null?e.rootKey:"";return t.filter(function(l){return(!d||l.rootKey===d)&&ar(l,e&&e.query)})}function rr(t){return(t||[]).filter(function(e){return e.mutable||e.exists!==!1})}function sr(t){return t.shadowedBy?"shadowed":t.loadable===!1?"invalid":za(t)?"enabled":"disabled"}function Zr(t){var e={total:t.length,enabled:0,disabled:0,shadowed:0,invalid:0};return t.forEach(function(d){e[sr(d.skill)]++}),e}function Yr(t){return!!(t&&t.toggleable!==!1&&t.kind!=="project-dsh")}function Jr(t){return rr(t).filter(function(e){return e.scope==="project"?!1:e.mutable||(e.skills||[]).length>0})}var jr=32<<20,La=32<<20,Pr=64<<20,Or=1e3;function Ma(t){return String(t&&(t._dssmPath||t.webkitRelativePath||t.name)||"").replace(/\\/g,"/")}function Gr(t){var e=Array.from(t||[]);if(!e.length)return null;if(e.length>Or)return{error:{code:"error.upload.tooMany",params:{limit:Or}}};var d=e.some(function(v){return Ma(v).includes("/")});if(d){if(!e.some(function(v){return/(^|\/)skill\.md$/i.test(Ma(v))}))return{error:{code:"select.folder.invalid"}};var l=e.find(function(v){return Number(v.size||0)>La});if(l)return{error:{code:"error.upload.tooLarge",params:{limit:La}}};var p=e.reduce(function(v,x){return v+Number(x.size||0)},0);return p>Pr?{error:{code:"error.upload.tooLarge",params:{limit:Pr}}}:{kind:"folder",name:Ma(e[0]).split("/")[0],files:e,count:e.length,size:p}}if(e.length!==1)return{error:{code:"select.file.invalid"}};var f=String(e[0].name||""),g=f.toLowerCase(),h=Number(e[0].size||0);return g==="skill.md"?h>La?{error:{code:"error.upload.tooLarge",params:{limit:La}}}:{kind:"skill",name:f,files:e,count:1,size:h}:g.endsWith(".zip")?h>jr?{error:{code:"error.upload.archiveTooLarge",params:{limit:jr}}}:{kind:"zip",name:f,files:e,count:1,size:h}:{error:{code:"select.file.invalid"}}}function Zs(t){for(var e=new Uint8Array(t),d="",l=32768,p=0;p<e.length;p+=l)d+=String.fromCharCode(...e.subarray(p,Math.min(p+l,e.length)));return btoa(d)}function Ys(t){return Promise.all(t.files.map(function(e){return e.arrayBuffer().then(function(d){return{path:Ma(e),data:Zs(d)}})})).then(function(e){return t.kind==="zip"?{name:t.name,zip:e[0].data}:{name:t.name,entries:e}})}function Xr(t,e,d){return t.isFile?new Promise(function(l,p){t.file(function(f){f._dssmPath=e+f.name,d.push(f),l()},p)}):t.isDirectory?new Promise(function(l,p){var f=t.createReader(),g=[];function h(){f.readEntries(function(v){if(!v.length){Promise.all(g.map(function(x){return Xr(x,e+t.name+"/",d)})).then(function(){l()},p);return}g=g.concat(v),h()},p)}h()}):Promise.resolve()}function Js(t){var e=Array.from(t&&t.items||[]),d=e.map(function(p){return p.webkitGetAsEntry&&p.webkitGetAsEntry()}).filter(p=>!!p);if(!d.length)return Promise.resolve(Array.from(t&&t.files||[]));var l=[];return Promise.all(d.map(function(p){return Xr(p,"",l)})).then(function(){return l})}function Gs(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 Xs(t,e){if(e.key==="Tab"){var d=Gs(t);if(d.length){var l=document.activeElement;(l===t||!t.contains(l)||(e.shiftKey?l===d[0]:l===d[d.length-1]))&&(e.preventDefault(),(e.shiftKey?d[d.length-1]:d[0]).focus())}}}function _s(t){return er(t.on,t.label,t.disabled,t.onClick)}function ke(t,e,d="primary",l){return n(Te.Button,{variant:d==="primary"?"primary":"outline",className:d==="danger"?"dssm-btn-danger":void 0,disabled:l,onClick:e},t)}function tt(t){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},n("path",{d:t,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function $s(){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},[3.5,8,12.5].map(function(t){return n("circle",{key:t,cx:t,cy:8,r:1.15,fill:"none",stroke:"currentColor",strokeWidth:1.5})}))}function Kt(t,e,d,l,p){return n(Te.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:d})}function $a(t,e,d,l,p){return n(Te.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:d})}function er(t,e,d,l){return n("button",{type:"button",role:"switch","aria-checked":t,"aria-label":e,disabled:d,className:"dssm-enable-switch",onClick:function(p){p&&typeof p.stopPropagation=="function"&&p.stopPropagation(),l()}},n("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var en="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",tn="data:image/png;base64,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",an="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==",rn="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",sn="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",nn="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",on="M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z",ln="M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z",dn="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",cn="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",un="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",pn="M12.139 18.2a1.203 1.203 0 011.642.44l1.296 2.243a1.204 1.204 0 01-2.083 1.203l-1.296-2.243a1.203 1.203 0 01.44-1.644zM18.629 14.452a1.203 1.203 0 011.642.44l1.295 2.244a1.203 1.203 0 11-2.083 1.203l-1.295-2.243a1.203 1.203 0 01.44-1.644z",mn="M16.877 1.912c.58-.27 1.14-.323 1.616-.037a.317.317 0 01-.326.542c-.227-.136-.547-.153-1.022.068-.352.165-.765.45-1.234.866 2.683 1.17 4.4 3.5 5.148 5.921a6.421 6.421 0 00-.704.184c-.578.016-1.174.204-1.502.735-.338.55-.268 1.276.072 2.069l.005.012.007.014c.523 1.045 1.318 1.91 2.2 2.284-.912 3.274-3.44 6.144-5.972 6.988v2.109h-2.11v-2.11c-1.043.417-2.086.01-2.11 0v2.11h-2.11v-2.11c-2.531-.843-5.061-3.713-5.973-6.987.882-.373 1.678-1.238 2.2-2.284l.007-.014.006-.012c.34-.793.41-1.518.071-2.069-.327-.531-.923-.719-1.503-.735a6.409 6.409 0 00-.704-.183c.749-2.421 2.466-4.751 5.149-5.922-.47-.416-.88-.701-1.234-.866-.474-.221-.794-.204-1.021-.068a.318.318 0 01-.435-.109.317.317 0 01.109-.433c.476-.286 1.036-.233 1.615.037.49.229 1.031.628 1.621 1.182A9.924 9.924 0 0112 2.568c1.199 0 2.284.19 3.256.526.59-.554 1.13-.953 1.62-1.182zM8.835 6.577a1.266 1.266 0 100 2.532 1.266 1.266 0 000-2.532zm6.33 0a1.267 1.267 0 100 2.533 1.267 1.267 0 000-2.533z",gn="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",fn="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 hn(t){var e=String(t||"").toLowerCase();return e.includes("dsh")?n("img",{src:en,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("workbuddy")?n("img",{src:tn,width:16,height:16,alt:"WorkBuddy",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("ccswitch")||e.includes("cc-switch")?n("img",{src:an,width:16,height:16,alt:"CC Switch",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("qoder")||e.includes("lingma")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#2ADB5C",d:rn}),n("path",{fill:"#ffffff",d:sn})):e.includes("codex")?n("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},n("path",{fill:"currentColor",d:nn})):e.includes("cursor")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"currentColor",fillRule:"evenodd",d:on})):e.includes("claude")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#D97757",fillRule:"evenodd",clipRule:"evenodd",d:"M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z"})):e.includes("gemini")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#3b82f6",d:"M12 2C12 7.5 7.5 12 2 12c5.5 0 10 4.5 10 10 0-5.5 4.5-10 10-10-5.5 0-10-4.5-10-10z"})):e.includes("opencode")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"currentColor",d:"M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})):e.includes("copilot")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"currentColor",d:"M12 2a8 8 0 0 0-8 8v4a4 4 0 0 0 4 4h1v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2h1a4 4 0 0 0 4-4v-4a8 8 0 0 0-8-8zm-3 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm6 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"})):e.includes("windsurf")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#00d084",fillRule:"evenodd",clipRule:"evenodd",d:ln})):e.includes("trae")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#32F08C",d:dn})):e.includes("openclaw")||e.includes("clawdbot")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#FF4D4D",fillRule:"evenodd",d:mn}),n("path",{fill:"#FF4D4D",d:gn}),n("path",{fill:"#FF4D4D",d:fn})):e.includes("roo")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#eab308",fillRule:"evenodd",d:cn})):e.includes("codebuddy")?n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("rect",{width:24,height:24,rx:5,fill:"#2EA99D"}),n("path",{fill:"#ffffff",d:un}),n("path",{fill:"#ffffff",d:pn})):n("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},n("path",{fill:"#10b981",d:"M12 2a2 2 0 0 1 2 2c0 .74-.4 1.39-1 1.73V7h2a5 5 0 0 1 5 5v1a3 3 0 0 1 1 2.23V17a3 3 0 0 1-3 3h-1.1A6 6 0 0 1 12 22a6 6 0 0 1-4.9-2H6a3 3 0 0 1-3-3v-1.77A3 3 0 0 1 4 13v-1a5 5 0 0 1 5-5h2V5.73A2 2 0 0 1 10 4a2 2 0 0 1 2-2zm-3 10a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm6 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-6 5a4 4 0 0 0 6 0H9z"}))}function bn(){return n("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},n("path",{fill:"currentColor",d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))}function _r(t,e,d){t&&e===d&&t.focus()}function at(t){var e=I.useRef(null),d=I.useRef(t.onClose);d.current=t.onClose;function l(){var p=e.current;if(p){var f=p.querySelector("input, textarea");if(f instanceof HTMLElement){f.focus();return}p.tabIndex=-1,p.focus()}}return I.useLayoutEffect(function(){if(!(typeof document>"u")){var p=e.current;p&&_r(p,document.activeElement,document.body)}}),I.useEffect(function(){if(typeof document>"u")return;function p(f){f.key==="Escape"&&(f.preventDefault(),f.stopImmediatePropagation(),d.current())}return document.addEventListener("keydown",p,!0),function(){document.removeEventListener("keydown",p,!0)}},[]),n(Te.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?n("div",{ref:e},t.children):void 0)}function $r(t){if(t){for(var e=t.byId||{},d=Array.isArray(t.ids)&&t.ids.length?t.ids:Object.keys(e),l=0;l<d.length;l++){var p=e[d[l]];if(p&&p.retainedBy&&p.retainedBy.mainView)return d[l]}for(var f in e)if(d.indexOf(f)===-1&&e[f]&&e[f].retainedBy&&e[f].retainedBy.mainView)return f}}function es(t){return typeof t=="function"?t:ga&&typeof ga.bind=="function"?ga.bind(Lt):function(e,d){var l=fa.zh||{},p=l[e]||e;if(!d)return p;var f=d;return p.replace(/\{(\w+)\}/g,function(g,h){return String(f[h]??"{"+h+"}")})}}function Br(t){var e=es(t&&t.t),d=t&&t.useSessions?t.useSessions($r):void 0,l=I.useState("user"),p=I.useState({}),f=I.useState({});return n(yn,Object.assign({},t,{t:e,key:d||"no-session",sessionId:d,scope:l[0],setScope:l[1],savedFilters:p[0],setSavedFilters:p[1],expanded:f[0],setExpanded:f[1]}))}function yn(t){var e=es(t&&t.t);function d(r,o){var w=Object.fromEntries(new Headers(o?.headers).entries());return t.sessionId&&(w["x-dsh-skills-session"]=t.sessionId),ma(r,Object.assign({},o,{headers:w}))}var l=I.useState({loading:!0,error:null,data:null}),p=l[0],f=l[1],g=I.useState(!1),h=g[0],v=g[1],x=t.scope,s=t.setScope,H=t.expanded,U=t.setExpanded,X=t.savedFilters,ue=t.setSavedFilters,be=I.useState(null),S=be[0],E=be[1],B=I.useState(""),u=B[0],_=B[1],C=I.useState({}),K=C[0],j=C[1],Me=I.useState(null),y=Me[0]&&Me[0].scope===x?Me[0]:null;function Z(r){Me[1](r?Object.assign({},r,{scope:x}):null)}var ye=I.useState({root:"dsh",name:"",description:"",body:""}),ze=ye[0],rt=ye[1],J=I.useState(""),re=J[0],Ve=J[1],Zt=I.useState(Vt()),Ge=Zt[0],ut=Zt[1],Mt=I.useState(Vt()),We=Mt[0],Yt=Mt[1],zt=I.useState([]),ie=zt[0],b=zt[1],F=I.useState(""),se=F[0],pt=F[1],xe=I.useRef(""),ha=I.useRef(0),Y=I.useState({loading:!1,error:null}),It=Y[0],le=Y[1],ba=I.useState({}),mt=ba[0],Ht=ba[1],Dt=I.useState(null),ge=Dt[0],Ne=Dt[1],Jt=I.useState(null),Ia=Jt[0],Gt=Jt[1],ya=I.useState("idle"),Ut=ya[0],Ke=ya[1];function Ha(r){if(typeof navigator>"u"||!navigator.clipboard){Ke("failed");return}navigator.clipboard.writeText(r).then(function(){Ke("copied"),setTimeout(function(){Ke("idle")},1500)}).catch(function(){Ke("failed")})}var st=I.useRef(!1),Se=I.useRef(null),gt=I.useRef(null),qe=I.useRef(null),Qe=I.useRef(!1),ft=I.useRef({}),nt=I.useRef(0);I.useEffect(function(){return function(){nt.current++}},[]);function Ie(r){return r||f({loading:!0,error:null,data:p.data}),d("/state").then(function(o){return f({loading:!1,error:null,data:o}),o}).catch(function(o){f({loading:!1,error:he(e,o),data:p.data})})}I.useEffect(function(){Ie(!1)},[]);function ne(r,o,w,T){return st.current?Promise.reject({error:"operation already in progress"}):(st.current=!0,v(!0),Z(null),d(r,{method:"POST",headers:qt,body:JSON.stringify(o||{})}).then(function(M){Z({ok:!0,text:w?e(w,T||M||{}):e("result.updated")});var P=o&&typeof o.workspace=="string"?o.workspace:"";return Promise.all([Ie(!0),P?Ae(P):null]).then(function(){return M})}).catch(function(M){throw Z({ok:!1,text:e("error.action",{error:he(e,M)})}),M}).finally(function(){st.current=!1,v(!1)}))}function ht(r,o,w){v(!0),Gt(null),Ke("idle"),E("detail"),d("/detail",{method:"POST",headers:qt,body:JSON.stringify(w?{root:r.key,name:o.name,workspace:w}:{root:r.key,name:o.name})}).then(Gt).catch(function(T){Z({ok:!1,text:e("error.action",{error:he(e,T)})}),E(null)}).finally(function(){v(!1)})}function Xt(r,o){rt(Object.assign({},ze,{[r]:o}))}function va(){At(Ge,ie,$e)&&ne("/create",Object.assign({},ze,{root:void 0},Ea(Ge)),null).then(function(r){E(null),rt({root:"dsh",name:"",description:"",body:""}),Z({ok:!0,text:e("result.created",{name:r.name})+(Ge.scope==="workspace"?" \xB7 "+e("dest.createdInWorkspace"):"")})}).catch(function(){})}function bt(r){Qe.current=!1;var o=Gr(r);if(o){if(o.error){Ne(null),Z({ok:!1,text:he(e,o.error)});return}Ne(o),Z(null)}}function _t(r){if(h||Qe.current||!r.current)return;Qe.current=!0,r.current.value="";function o(){setTimeout(function(){Qe.current=!1},0)}window.addEventListener("focus",o,{once:!0}),r.current.click(),setTimeout(function(){Qe.current=!1},3e4)}function jt(){!ge||!At(We,ie,$e)||Ys(ge).then(function(r){return ne("/upload",Object.assign({},r,Ea(We)),null)}).then(function(r){var o=qr(e,r);Z({ok:o.ok,warning:o.warning,text:o.text}),o.imported&&(E(null),Ne(null))}).catch(function(){})}var Xe=p.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},yt=Xe.roots||[],_e=x==="project"?"project":"user",ae=X[_e]||{query:"",source:"",status:""},fe=ae.query,ot=ae.source;function $t(r,o){ue(function(w){return Object.assign({},w,{[_e]:Object.assign({},ae,{[r]:o})})})}function ea(r){$t("query",r)}function Da(r){$t("source",r)}var vt=mt[se],wt=x==="trash"?[]:x==="project"?rr(vt?.roots||[]):Jr(yt),ta=wt.filter(function(r){return(r.skills||[]).length>0}),Re=x!=="project"&&ta.some(function(r){return r.key===ot})?ot:"";function Ze(r){return r.registeredPaths[0]||""}function aa(r){ie.some(function(o){return o.available&&Ze(o)===r})&&(xe.current=r,pt(r),mt[r]||Ae(r))}function He(r=x==="project",o=!1){var w=nt.current,T=++ha.current,M=function(){return w===nt.current&&T===ha.current};return le({loading:!0,error:null}),ma("/workspaces").then(function(P){if(!M())return[];var V=P.items||[];b(V),le({loading:!1,error:null});var ee=V.find(function(W){return W.available&&Ze(W)===xe.current})||V.find(function(W){return W.available&&Ze(W)}),q=ee?Ze(ee):"";return xe.current=q,pt(q),r&&q&&(o||!mt[q])&&Ae(q),V}).catch(function(P){return M()?(b([]),xe.current="",pt(""),le({loading:!1,error:he(e,P)}),[]):[]})}function Ae(r){var o=nt.current,w=(ft.current[r]||0)+1;ft.current[r]=w;var T=function(){return o===nt.current&&w===ft.current[r]};return Ht(function(M){return Object.assign({},M,{[r]:{loading:!0,error:null,roots:M[r]?M[r].roots:[]}})}),ma("/workspace-skills",{method:"POST",headers:qt,body:JSON.stringify({workspace:r})}).then(function(M){T()&&Ht(function(P){return Object.assign({},P,{[r]:{loading:!1,error:null,roots:M.roots||[]}})})}).catch(function(M){T()&&Ht(function(P){return Object.assign({},P,{[r]:{loading:!1,error:he(e,M),roots:[]}})})})}function De(){return nt.current++,Ht({}),He(!0,!0)}function Pt(){rt(Object.assign({},ze,{root:"dsh"})),ut(Vt()),E("create"),He()}function Ye(){Z(null),Ne(null),Yt(Vt()),E("import"),He()}var $e=(Xe.writeDestinations||[]).filter(function(r){return r.key==="dsh"||r.key==="agents"});function et(r){var o=r.root&&r.root.scope==="project"?r.root.projectRoot:"",w=o?ie.find(function(T){return T.projectRoot===o&&T.available}):void 0;return w?{id:r.id,workspace:w.registeredPaths[0]||w.path}:{id:r.id}}function ra(r){return r.root&&r.root.scope==="project"?e("root.projectDsh")+" \xB7 "+(r.root.projectName||r.root.projectRoot):tr(e,"root."+(r.root?.localeKey||r.root?.key||"dsh"),r.root?.label||e("root.dsh"))}function Ue(r){return n("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},hn(r))}var D=[{value:"",label:e("filter.all")}].concat(ta.map(function(r){return{value:r.key,label:e("filter.option",{name:Tt(e,r),count:r.skills.length})}}));function it(r){return r.linked!==!0?null:n("div",{className:"dssm-note"},e("skill.linked"))}function Ua(r){if(!r.fallbackTo)return null;var o=yt.find(function(w){return w.key===r.fallbackTo.root});return o?n("div",{className:"dssm-note dssm-fallback"},e("status.fallback."+r.fallbackTo.scope,{source:Tt(e,o)})):null}function nr(r,o,w){var T=r==="status.enabled",M=r==="status.disabled",P=r==="status.invalid",V=T?"var(--dsw-alias-state-success-primary, #51b976)":M?"var(--dsw-alias-state-warn-primary, #d49245)":P?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",ee=T?"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":M?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":P?"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",q=o||e(r);return n("span",{className:"dssm-status "+(w||""),title:q,"aria-label":q,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:V,width:20,height:20,verticalAlign:"middle"}},n("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},n("path",{d:ee})))}function Ee(r,o,w){var T=function(N){return w?Object.assign({},N,{workspace:w}):N},M=za(o),P=r.toggleable!==!1,V=o.shadowedBy?"status.shadowed":o.loadable===!1?"status.invalid":M?"status.enabled":"status.disabled",ee=o.shadowedBy?"dssm-shadowed":M?"dssm-enabled":"dssm-disabled",q=!P||!!o.shadowedBy||o.loadable===!1,W=[{value:"detail",label:e("btn.detail")}],we=r.categories||[],Je=o.categoryId||"";we.forEach(function(N){N.id!==Je&&W.push({value:"category:"+N.id,label:e("category.assign",{name:N.name})})}),we.length&&Je!==""&&W.push({value:"category:",label:e("category.assign",{name:e("category.uncategorized")})}),o.installSource&&o.linked!==!0&&W.push({value:"update",label:e("repo.manageUpdate")}),r.mutable&&o.linked!==!0&&W.push({value:"trash",label:e("btn.trash"),danger:!0});var R=o.shadowedBy?e("status.shadowedBy",{source:function(){var N=yt.find(function(te){return te.key===o.shadowedBy.root});return N?Tt(e,N):o.shadowedBy.root}()}):void 0,Q=[n(Qt,{action:!0,icon:$s(),label:e("btn.more"),disabled:h,options:W,onChange:function(N){if(N==="detail"&&ht(r,o,w),N.indexOf("category:")===0){var te=N.slice(9),Be=we.find(function(Ce){return Ce.id===te});ne("/category-assign",T({root:r.key,name:o.name,category:te}),"category.assigned",{name:o.name,category:Be?Be.name:e("category.uncategorized")})}N==="update"&&(St.focusSource(o.installSource,o.name),s("repositories")),N==="trash"&&E({type:"trash-confirm",root:r.key,name:o.name,workspace:w})}})];Q.push(n("div",{className:"dssm-row-state"},q?nr(V,R,ee):null,P?er(M,e("skill.toggle")+" "+o.name,h||r.enabled===!1||!M&&o.loadable===!1,function(){ne(M?"/disable":"/enable",T({root:r.key,name:o.name}))}):null));var Le=o.declaredName||o.name,de=o.description||e("note.missing"),ce=r.mutable===!0||!!(r.categories&&r.categories.length);return n("div",{key:r.key+":"+o.name,className:"dssm-skill-row",draggable:ce,onDragStart:function(N){if(ce){var te={root:r.key,name:o.name,currentCategoryId:o.categoryId||""};Se.current=te,N.dataTransfer.setData("text/plain",JSON.stringify(te)),N.dataTransfer.effectAllowed="move",N.currentTarget.classList.add("dragging")}},onDragEnd:function(N){Se.current=null,N.currentTarget.classList.remove("dragging"),Bt(N.currentTarget)},onDragOver:function(N){if(!(!Se.current||Se.current.root!==r.key||Se.current.name===o.name)){N.preventDefault(),N.stopPropagation();var te=N.currentTarget.getBoundingClientRect();N.currentTarget.classList.toggle("drop-before",N.clientY<te.top+te.height/2),N.currentTarget.classList.toggle("drop-after",N.clientY>=te.top+te.height/2)}},onDragLeave:function(N){N.currentTarget.classList.remove("drop-before","drop-after")},onDrop:function(N){N.preventDefault(),N.stopPropagation(),N.currentTarget.classList.remove("drop-before","drop-after");var te=Se.current;if(Se.current=null,Bt(N.currentTarget),!(!te||te.root!==r.key||te.name===o.name)){var Be=N.currentTarget.getBoundingClientRect();ne("/category-move",T({root:r.key,name:te.name,category:o.categoryId||"",targetName:o.name,position:N.clientY<Be.top+Be.height/2?"before":"after"}),"category.moved",{name:te.name})}}},ce?n("div",{className:"dssm-drag-handle",title:e("category.dragTip")},"\u22EE\u22EE"):null,n("div",{className:"dssm-skill-copy"},n("div",{className:"dssm-name"},Le),n("div",{className:"dssm-skill-desc",title:o.description||void 0},de),it(o),Ua(o)),n("div",{className:"dssm-skill-actions"},Q))}var kt=wt.flatMap(function(r){return(r.skills||[]).map(function(o){return{root:r,skill:o}})}),wa=kt.filter(function(r){return(!Re||r.root.key===Re)&&(!ae.status||sr(r.skill)===ae.status)&&ar(Object.assign({},r.skill,{rootLabel:Tt(e,r.root)}),fe)}),Ot=Zr(kt);function ka(r,o,w){var T=o?{root:r.key,workspace:o}:{root:r.key},M=[];return M.push(Kt(e("category.create"),tt("M8 2.5v11M2.5 8h11"),function(){Ve(""),E({type:"category-create",root:r.key,workspace:o})},!1,h)),Yr(r)&&M.push(n(_s,{on:r.enabled,disabled:h,label:e("source.toggle")+" "+w,onClick:function(){ne(r.enabled?"/source-disable":"/source-enable",T)}})),n("span",{className:"dssm-source-actions",onClick:function(P){P.stopPropagation()}},M)}function xt(){return n("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},n("path",{fill:"#f59e0b",d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z"}))}function xa(){return n("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},n("path",{fill:"#fde68a",opacity:.85,d:"M159 768h612.3l103.4-256H262.3z"}),n("path",{fill:"#f59e0b",d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}))}function Bt(r){var o=r.closest(".dssm-section");o&&Array.prototype.forEach.call(o.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(w){w.classList.remove("drag-over","drop-before","drop-after")})}function ja(r,o,w,T,M){var P=JSON.stringify(["category",T||"",r.key,o.id||"none"]),V=H[P]===void 0?!!(fe||ae.status):H[P],ee=o.scope||o.skills,q=ee.filter(function(R){return R.skill.loadable!==!1}),W=q.filter(function(R){return za(R.skill)}).length,we=q.length>0&&W===q.length,Je=function(R){return w?Object.assign({},R,{workspace:w}):R};return n("section",{key:r.key+":"+(o.id||"none"),className:"dssm-cat","aria-label":o.name,onDragOver:function(R){R.preventDefault(),Se.current&&Se.current.root===r.key&&Se.current.currentCategoryId!==o.id?R.currentTarget.classList.add("drag-over"):R.currentTarget.classList.remove("drag-over")},onDragLeave:function(R){var Q=R.relatedTarget;Q&&R.currentTarget.contains(Q)||R.currentTarget.classList.remove("drag-over")},onDrop:function(R){R.preventDefault(),Se.current=null,R.currentTarget.classList.remove("drag-over"),Bt(R.currentTarget);try{var Q=JSON.parse(R.dataTransfer.getData("text/plain")||"{}");Q&&Q.name&&Q.root===r.key&&Q.currentCategoryId!==o.id&&ne("/category-assign",Je({root:r.key,name:Q.name,category:o.id}),"category.assigned",{name:Q.name,category:o.name})}catch{}}},n("div",{className:"dssm-cat-head"},n("button",{type:"button",className:"dssm-cat-main","aria-expanded":V,onClick:function(){U(function(R){var Q={};return Q[P]=!V,Object.assign({},R,Q)})}},n("span",{className:"dssm-cat-title"},n(V?xa:xt),o.name),n("span",{className:"dssm-count"},e("category.progress",{count:ee.length,enabled:W,usable:q.length}))),n("span",{className:"dssm-source-actions",onClick:function(R){R.stopPropagation()}},o.locked?null:Kt(e("category.addSkills"),tt("M8 2.5v11M2.5 8h11"),function(){var R={};(r.categories||[]).forEach(function(de){R[de.id]=de.name});var Q=M||o.scope||o.skills,Le=Q.filter(function(de){return de.skill.categoryId!==o.id}).map(function(de){return{name:de.skill.name,declaredName:de.skill.declaredName,description:de.skill.description,currentCatName:de.skill.categoryId&&R[de.skill.categoryId]||e("category.uncategorized")}});j({}),_(""),E({type:"category-add",root:r.key,id:o.id,name:o.name,workspace:w,skills:Le})},!1,h),o.locked?null:Kt(e("category.rename"),tt("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){Ve(o.name),E({type:"category-rename",root:r.key,id:o.id,name:o.name,workspace:w})},!1,h),o.locked?null:Kt(e("category.delete"),tt("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){E({type:"category-delete",root:r.key,id:o.id,name:o.name,workspace:w})},!0,h),er(we,e("category.toggle")+" "+o.name,h||r.enabled===!1||q.length===0,function(){ne(we?"/category-disable":"/category-enable",Je({root:r.key,category:o.id}))}))),V?o.skills.length?n("div",{className:"dssm-skill-list"},o.skills.map(function(R){return Ee(r,R.skill,w)})):n("div",{className:"dssm-empty"},e("category.empty")):null)}function sa(r,o,w,T,M){var P=r.categories||[],V=function(R,Q){var Le=r.categoryOrder&&r.categoryOrder[Q]||[],de=Object.create(null);return Le.forEach(function(ce,N){de[ce]=N}),R.map(function(ce,N){return{row:ce,index:N,rank:de[ce.skill.name]}}).sort(function(ce,N){return ce.rank!==void 0&&N.rank!==void 0?ce.rank-N.rank:ce.rank!==void 0?-1:N.rank!==void 0?1:ce.index-N.index}).map(function(ce){return ce.row})};if(!P.length)return o.length?n("div",{className:"dssm-skill-list"},V(o,"").map(function(R){return Ee(r,R.skill,w)})):n("div",{className:"dssm-empty"},e("empty.source"));var ee={},q=M||o;P.forEach(function(R){ee[R.id]=!0});var W=function(R,Q){return V(R.filter(function(Le){return Q?Le.skill.categoryId===Q:!Le.skill.categoryId||!ee[Le.skill.categoryId]}),Q)},we=P.map(function(R){return{id:R.id,name:R.name,locked:!1,skills:W(o,R.id),scope:W(q,R.id)}});we.push({id:"",name:e("category.uncategorized"),locked:!0,skills:W(o,""),scope:W(q,"")});var Je=!!(fe||ae.status);return n("div",null,n("p",{className:"dssm-note dssm-cat-note"},e("category.note")),we.filter(function(R){return!Je||R.skills.length}).map(function(R){return ja(r,R,w,T,q)}))}function Sa(r,o,w,T){var M=(w||kt).filter(function(W){return W.root.key===r.key}),P=(w||wa).filter(function(W){return W.root.key===r.key});if(Re&&r.key!==Re||(fe||ae.status)&&!P.length)return null;var V=JSON.stringify([_e,T||"",r.key,fe,Re,ae.status]),ee=H[V]===void 0?o?!0:!!(fe||Re||ae.status):H[V],q=o?Tt(e,Object.assign({},r,{projectName:void 0})):Tt(e,r);return n("section",{key:(T||"")+r.key,className:"dssm-source","data-source-key":r.key},n("div",{className:"dssm-source-head"},n("button",{type:"button",className:"dssm-source-toggle","aria-expanded":ee,onClick:function(){U(function(W){var we={};return we[V]=!ee,Object.assign({},W,we)})}},Tr(n,ee),n("div",{className:"dssm-source-label"},Ue(r.key),n("span",{className:"dssm-source-title"},q),n("span",{className:"dssm-count"},e(Ta("summary.group",P.length),{count:P.length})),n("span",{className:"dssm-source-path",title:r.path},r.path))),ka(r,o,q)),ee?n("div",{className:"dssm-source-body",role:"region"},sa(r,P,o,T,M)):null)}function ve(){var r=x==="project",o=r?se:void 0,w=wt.map(function(M){return Sa(M,o,void 0,o?o+"|":void 0)}).filter(Boolean),T=w.length?w:n("div",{className:"dssm-empty"},fe||ae.status?e("empty.search"):e("empty.source"));return r&&(It.error?T=n("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.listFailed",{error:It.error})):It.loading||se&&(!vt||vt.loading)?T=n("div",{className:"dssm-empty"},e("workspace.loading")):se?vt?.error?T=n("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.loadFailed",{error:vt.error})):!kt.length&&!fe&&!ae.status&&(T=n("div",{className:"dssm-empty"},e("workspace.noSkills"))):T=n("div",{className:"dssm-empty"},e(ie.length?"workspace.unavailable":"project.empty"))),n("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+x,className:"dssm-sources"},T)}function je(){return n("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},Xe.trash.length?Xe.trash.map(function(r){return n("div",{key:r.id,className:"dssm-trash-item",role:"group","aria-label":r.name},n("div",{className:"dssm-trash-main"},n("div",{className:"dssm-name"},r.name),n("div",{className:"dssm-trash-meta"},n("time",{dateTime:r.deletedAt},e("trash.deletedAt",{time:Kr(e,r.deletedAt)})),n("span",{className:"dssm-trash-source"},e("trash.source",{source:ra(r)})))),n("div",{className:"dssm-trash-actions"},Kt(e("btn.restore"),tt("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){ne("/trash-restore",et(r),"result.restored",{name:r.name}).catch(function(){})},!1,h),Kt(e("btn.delete.forever"),tt("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){E({type:"delete-confirm",id:r.id,name:r.name})},!0,h)))}):n("div",{className:"dssm-empty"},e("trash.empty")))}var St=Ks({active:x==="repositories",t:e,onInstalled:function(){return Promise.all([Ie(!1),De()])}});function Ct(r){var o=r==="user"?"M8 0a8 8 0 100 16A8 8 0 008 0zm6.5 8a6.5 6.5 0 01-.65 2.82L10.3 8.35a.75.75 0 00-1.06 0L8.2 9.4V6.5a.75.75 0 00-.75-.75h-1V4.25a.75.75 0 00-.75-.75h-1a6.47 6.47 0 013.3-1.95v1.2a.75.75 0 00.75.75h1.5a.75.75 0 00.75-.75V2.3A6.52 6.52 0 0114.5 8z":r==="project"?"M1.75 2.5h3.44l1.5 1.5h7.56c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 01-1.75 1.75H1.75A1.75 1.75 0 010 13.25V4.25C0 3.284.784 2.5 1.75 2.5z":r==="repositories"?"M8 0a8 8 0 100 16A8 8 0 008 0zm2.93 5.07l-1.5 4.5a.75.75 0 01-.43.43l-4.5 1.5a.375.375 0 01-.47-.47l1.5-4.5a.75.75 0 01.43-.43l4.5-1.5a.375.375 0 01.47.47z":"M5.5 1.25h5c.4 0 .75.35.75.7V3h2.5c.5 0 .9.4.9.9s-.4.9-.9.9h-.35l-.65 8.1a1.6 1.6 0 0 1-1.6 1.5H4.85a1.6 1.6 0 0 1-1.6-1.5L2.6 4.8H2.25c-.5 0-.9-.4-.9-.9s.4-.9.9-.9H4.75V1.95c0-.4.35-.7.75-.7z";return n("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},n("path",{d:o}))}var Ca=["user","project","repositories","trash"].map(function(r){var o=e("scope."+r),w=r==="trash"?(Xe.trash||[]).length:0,T=Ct(r);return{value:r,id:"dssm-tab-"+r,panelId:"dssm-scope-panel",label:w>0?[T,o,n("span",{className:"dssm-trash-count"},w)]:[T,o]}}),na=n(Te.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:e("scope.label"),value:x,onChange:function(r){s(r),(r==="project"||r==="trash")&&He(r==="project"),r==="trash"&&Ie(!0)},items:Ca}),Pa=[x==="project"?null:n("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(r){return n("div",{key:r[1],className:"dssm-stat"},n("strong",null,Ot[r[0]]),e(Ta(r[1],Ot[r[0]]),{count:Ot[r[0]]}).replace(String(Ot[r[0]]),""))})),n("div",{key:"filters",className:"dssm-filters"},x==="project"?null:n("div",{className:"dssm-source-filter"},n(Qt,{value:Re,label:e("filter.source"),options:D,onChange:Da})),n("div",{className:"dssm-status-filter"},n(Qt,{value:ae.status,label:e("filter.status"),options:[{value:"",label:e("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(r){return{value:r,label:e("status."+r)}})),onChange:function(r){$t("status",r)}})),x==="project"?n("div",{className:"dssm-project-filter"},n(Qt,{value:se,label:e("filter.workspace"),disabled:It.loading||!ie.length,options:ie.map(function(r){return{value:Ze(r),label:r.name+(r.available?"":" \xB7 "+e("workspace.unavailable"))+(ie.filter(function(o){return o.name===r.name}).length>1?" \xB7 "+Ze(r):""),disabled:!r.available||!Ze(r)}}),onChange:aa})):null,n(ct,{className:"dssm-search",allowClear:!0,value:fe,"aria-label":e("search"),placeholder:e("search.placeholder"),onChange:function(r){ea(r.target.value)}}),x!=="trash"?n("div",{className:"dssm-filter-actions"},$a(e("btn.refresh"),tt("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(){Ie(!1),x==="project"&&De()},h||p.loading),$a(e("btn.create"),tt("M8 2.5v11M2.5 8h11"),Pt,h,e("btn.create")+"\u2026"),$a(e("import.global"),tt("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),Ye,h)):null)],Pe=[n("style",{key:"css"},qs),n("div",{key:"head",className:"dssm-head"},n("div",{className:"dssm-title-block"},n("div",{className:"dssm-title-row"},n("h2",{className:"dssm-title"},e("title")),n("div",{className:"dssm-feedback-links"},n(Te.Button,{variant:"outline",size:"sm","aria-label":e("link.project"),icon:n(bn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},e("link.project")),n(Te.Button,{variant:"outline",size:"sm","aria-label":e("link.feedback"),icon:n(Fs),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},e("link.feedback")))),n("p",{className:"dssm-desc"},e("desc")))),na].concat(x==="trash"||x==="repositories"?[]:Pa,[y&&S!=="import"?n("div",{key:"result",className:"dssm-feedback"+(y.warning?" dssm-warning":y.ok?"":" dssm-error")},y.text):null],(Xe.warnings||[]).map(function(r,o){return n("div",{key:"warning-"+o,className:"dssm-feedback dssm-warning",role:"alert"},he(e,r))}),[p.error?n("div",{key:"error",className:"dssm-feedback dssm-error"},p.error):null,p.loading&&!p.data?n("div",{key:"loading",className:"dssm-empty"},e("loading")):x==="repositories"?St.content:x==="trash"?je():ve()]);if(S==="create"&&Pe.push(n(at,{key:"create",title:e("create.title"),closeLabel:e("btn.close"),onClose:function(){E(null)}},n("div",{className:"dssm-form"},n(Ur,{t:e,value:Ge,disabled:h,allowAgents:!0,workspaces:ie,userDestinations:$e,onChange:function(r){ut(Object.assign({},Ge,r))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(r){return n("label",{key:r[0],className:"dssm-field"},n("span",{className:"dssm-label"},e(r[1])),n(ct,{value:ze[r[0]],placeholder:e(r[2]),onChange:function(o){Xt(r[0],o.target.value)}}))}),n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},e("create.body")),n(ct.TextArea,{rows:8,value:ze.body,placeholder:e("create.body.placeholder"),onChange:function(r){Xt("body",r.target.value)}})),n("p",{className:"dssm-help"},e("create.chat.note"))),n("div",{className:"dssm-modal-actions"},ke(e("btn.cancel"),function(){E(null)},"outline"),ke(e("btn.create.now"),va,"primary",h||!ze.name.trim()||!ze.description.trim()||!ze.body.trim()||!At(Ge,ie,$e))))),S==="import"&&Pe.push(n(at,{key:"import",className:"dssm-modal-import",title:e("import.title"),closeLabel:e("btn.close"),onClose:function(){Qe.current=!1,Ne(null),Z(null),E(null)}},n("input",{ref:gt,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(r){bt(r.target.files),r.target.value=""}}),n("input",{ref:qe,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(r){bt(r.target.files),r.target.value=""}}),n("div",{className:"dssm-dropzone",onDragOver:function(r){r.preventDefault(),r.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(r){r.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(r){r.preventDefault(),r.currentTarget.classList.remove("dssm-dropzone-active"),Js(r.dataTransfer).then(bt).catch(function(o){Z({ok:!1,text:he(e,o)})})}},n("span",{className:"dssm-dropzone-title"},e("upload.drop.title")),n("span",{className:"dssm-dropzone-copy"},e("upload.drop.copy")),n("div",{className:"dssm-upload-choices"},n("button",{type:"button",className:"dssm-upload-link",disabled:h,onClick:function(r){r.stopPropagation(),_t(qe)}},e("btn.folder.pick")),n("span",{className:"dssm-upload-divider"},"/"),n("button",{type:"button",className:"dssm-upload-link",disabled:h,onClick:function(r){r.stopPropagation(),_t(gt)}},e("btn.file.pick")))),ge?n("div",{className:"dssm-file",title:ge.name},n("span",{className:"dssm-file-kind","aria-hidden":"true"},ge.kind==="zip"?"ZIP":ge.kind==="folder"?"DIR":"MD"),n("span",{className:"dssm-file-name"},ge.name),n("span",{className:"dssm-file-meta"},e(Ta("upload.selected",ge.count),{count:ge.count,size:ge.size<1024?ge.size+" B":Math.ceil(ge.size/1024)+" KB"})),n("button",{type:"button",className:"dssm-file-remove","aria-label":e("upload.remove"),onClick:function(){Ne(null)}},"\xD7")):null,n(Ur,{t:e,value:We,disabled:h,allowAgents:!0,workspaces:ie,userDestinations:$e,onChange:function(r){Yt(Object.assign({},We,r))}}),y?n("div",{className:"dssm-feedback"+(y.warning?" dssm-warning":y.ok?"":" dssm-error"),role:"alert"},y.text):null,n("div",{className:"dssm-upload-requirements"},n("div",{className:"dssm-label"},e("upload.requirements")),n("ul",null,n("li",null,e("upload.requirement.skill")),n("li",null,e("upload.requirement.frontmatter")),n("li",null,e("upload.requirement.copy")))),n("div",{className:"dssm-modal-actions"},ke(e("btn.cancel"),function(){Qe.current=!1,Ne(null),Z(null),E(null)},"outline"),ke(e(h?"upload.importing":"btn.import.now"),jt,"primary",h||!ge||!At(We,ie,$e))))),S==="detail"){var oe=Ia,Na=oe?oe.declaredName||oe.name:"";Pe.push(n(at,{key:"detail",className:"dssm-modal-wide",title:e("detail.title"),closeLabel:e("btn.close"),onClose:function(){Ke("idle"),E(null)}},oe?n("div",{className:"dssm-detail"},n("div",{className:"dssm-detail-head"},n("div",{className:"dssm-name",title:Na},Na),oe.body?n(Te.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){oe&&oe.body&&Ha(oe.body)}},e(Ut==="copied"?"detail.copied":Ut==="failed"?"detail.copyFailed":"detail.copyBody")):null),oe.description?n("p",{className:"dssm-desc"},oe.description):null,n("div",{className:"dssm-detail-path"},oe.path),oe.diagnostics.length?oe.diagnostics.map(function(r,o){return n("div",{key:o,className:"dssm-diag"},e(r.code,r.params||{}))}):null,n(ct.TextArea,{className:"dssm-detail-body",readOnly:!0,value:oe.body||"",rows:16})):n("div",{className:"dssm-empty"},e("loading"))))}if(S&&typeof S=="object"&&S.type==="trash-confirm"&&Pe.push(n(at,{key:"trash-confirm",title:e("confirm.trash.title"),description:e("confirm.trash.desc",{name:S.name}),closeLabel:e("btn.close"),onClose:function(){E(null)},footer:n(pa.Fragment,null,ke(e("btn.cancel"),function(){E(null)},"outline"),ke(e("btn.trash"),function(){ne("/delete",Object.assign({root:S.root,name:S.name},S.workspace?{workspace:S.workspace}:{}),"result.trashed",{name:S.name}).then(function(){E(null)}).catch(function(){})},"danger",h))})),S&&typeof S=="object"&&S.type==="delete-confirm"&&Pe.push(n(at,{key:"delete-confirm",title:e("confirm.delete.title"),description:e("confirm.delete.desc",{name:S.name}),closeLabel:e("btn.close"),onClose:function(){E(null)},footer:n(pa.Fragment,null,ke(e("btn.cancel"),function(){E(null)},"outline"),ke(e("btn.delete.forever"),function(){ne("/trash-delete",{id:S.id},"result.deleted",{name:S.name}).then(function(){E(null)}).catch(function(){})},"danger",h))})),S&&typeof S=="object"&&(S.type==="category-create"||S.type==="category-rename")){var lt=S.type==="category-rename",dt=S,Nt=re.trim(),oa=!!Nt&&(!lt||Nt!==dt.name),Ft=function(){if(!(h||!oa)){var r=lt?ne("/category-rename",{root:dt.root,id:dt.id,name:Nt,workspace:dt.workspace},"category.renamed"):ne("/category-create",{root:dt.root,name:Nt,workspace:dt.workspace},"category.created",{name:Nt});r.then(function(){E(null)}).catch(function(){})}};Pe.push(n(at,{key:S.type,title:e(lt?"category.rename":"category.create"),closeLabel:e("btn.close"),onClose:function(){E(null)}},n("div",{className:"dssm-form"},n("label",{className:"dssm-field"},n("span",{className:"dssm-label"},e("category.name")),n(ct,{value:re,maxLength:24,"aria-label":e("category.name"),onChange:function(r){Ve(r.target.value)},onPressEnter:Ft})),n("p",{className:"dssm-help"},e("category.note"))),n("div",{className:"dssm-modal-actions"},ke(e("btn.cancel"),function(){E(null)},"outline"),ke(e(lt?"btn.confirm":"category.create"),Ft,"primary",h||!oa))))}if(S&&typeof S=="object"&&S.type==="category-add"){var Oe=S,Rt=u.trim().toLowerCase(),ia=Oe.skills.filter(function(r){return!Rt||r.name.toLowerCase().includes(Rt)||r.declaredName&&r.declaredName.toLowerCase().includes(Rt)||r.description&&r.description.toLowerCase().includes(Rt)}),Ra=new Set(Oe.skills.map(function(r){return r.name})),$=Object.keys(K).filter(function(r){return K[r]&&Ra.has(r)}).length;Pe.push(n(at,{key:"category-add",title:e("category.selectSkills",{name:Oe.name}),closeLabel:e("btn.close"),onClose:function(){j({}),_(""),E(null)}},n(ct,{placeholder:e("search.placeholder"),value:u,allowClear:!0,onChange:function(r){_(r.target.value)}}),n("div",{className:"dssm-batch-list"},ia.length?ia.map(function(r){var o=!!K[r.name];return n("div",{key:r.name,className:"dssm-batch-item"+(o?" selected":""),onClick:function(){var w=Object.assign({},K);o?delete w[r.name]:w[r.name]=!0,j(w)}},n("input",{type:"checkbox",checked:o,readOnly:!0}),n("div",{className:"dssm-batch-info"},n("div",{className:"dssm-batch-name-row"},n("span",{className:"dssm-batch-name"},r.declaredName||r.name),r.currentCatName?n("span",{className:"dssm-batch-cat-tag"},r.currentCatName):null),r.description?n("div",{className:"dssm-batch-desc",title:r.description},r.description):null))}):n("div",{className:"dssm-empty"},e("category.noAvailableSkills"))),n("div",{className:"dssm-modal-actions"},ke(e("btn.cancel"),function(){j({}),_(""),E(null)},"outline"),ke(e("category.addSkills")+($?" ("+$+")":""),function(){var r=Object.keys(K).filter(function(w){return K[w]&&Ra.has(w)});if(!r.length){j({}),_(""),E(null);return}if(!st.current){var o=function(w){return Oe.workspace?Object.assign({},w,{workspace:Oe.workspace}):w};st.current=!0,v(!0),j({}),_(""),E(null),r.reduce(function(w,T){return w.then(function(){return d("/category-assign",{method:"POST",headers:qt,body:JSON.stringify(o({root:Oe.root,name:T,category:Oe.id}))})})},Promise.resolve()).then(function(){Z({ok:!0,text:e("category.batchAssigned",{count:r.length,category:Oe.name})})}).catch(function(w){Z({ok:!1,text:he(e,w)})}).finally(function(){st.current=!1,v(!1);var w=Oe.workspace;Promise.all([Ie(!0),w?Ae(w):null]).catch(function(){})})}},"primary",h||!$))))}return S&&typeof S=="object"&&S.type==="category-delete"&&Pe.push(n(at,{key:"category-delete",title:e("confirm.category.title"),description:e("confirm.category.desc",{name:S.name}),closeLabel:e("btn.close"),onClose:function(){E(null)},footer:n(pa.Fragment,null,ke(e("btn.cancel"),function(){E(null)},"outline"),ke(e("category.delete"),function(){ne("/category-delete",{root:S.root,id:S.id,workspace:S.workspace},"category.deleted",{name:S.name}).then(function(){E(null)}).catch(function(){})},"danger",h))})),n("section",{className:"dssm-section"},Pe)}var vn=["slots","locale"];function wn(t){ga=t.locale,t.effect(function(){return t.locale.register(Lt,fa)});var e,d;t.effect(function(){return e=Nr({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:Ws,isEnabled:function(){return d?d.isOnlineUpdateEnabled():!0}}),function(){typeof e=="function"&&e(),e=void 0}},"skills-manager: plugin update ui"),Ir(t,function(){return t.locale.bind(Lt)("title")}),t.slots.inject("settings.section",function(){return t.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return t.locale.bind(Lt)("title")},icon:"skill",locale:Lt},Br)}),d=_a(t,{callApi:ma,headers:qt,renderPanel:function(l){return n(Br,Object.assign({t:t.locale.bind(Lt)},l))},ns:Lt,onOnlineUpdateChange:function(){e&&typeof e.refresh=="function"&&e.refresh()}})}module.exports.formatTrashTime=Kr;module.exports.DICT=fa;module.exports.translateError=he;module.exports.parseApiResponse=Vr;module.exports.resolveApiUrl=da;module.exports.isSkillEnabled=za;module.exports.countKey=Ta;module.exports.rootDisplayName=Tt;module.exports.summarizeImportResult=qr;module.exports.normalizeSkillQuery=Qr;module.exports.matchSkillQuery=ar;module.exports.filterSkills=Qs;module.exports.visibleSkillRoots=rr;module.exports.scopeSkillRoots=Jr;module.exports.skillStatus=sr;module.exports.countSkillStatuses=Zr;module.exports.currentSessionId=$r;module.exports.canToggleSource=Yr;module.exports.recoverModalFocus=_r;module.exports.trapModalFocus=Xs;module.exports.inspectUploadSelection=Gr;module.exports.setupSidebarEntry=_a;module.exports.apply=wn;module.exports.inject=vn;
|
|
45
|
+
`;function tr(t,e,l,d){var m=t(e,d);return typeof m=="string"&&m!==e?m:l}function ye(t,e){if(e instanceof Error&&!e.code)return e.message;if(e&&typeof e=="object"){let m=e;if(m.code){var l=Object.assign({},m.params||{});l.action&&(l.action=tr(t,"action."+l.action,String(l.action)));var d=t(m.code,l);if(typeof d=="string"&&d!==m.code)return d;if(d===m.code)return m.error!==void 0?ye(t,m.error):m.code}if(m.error!==void 0)return ye(t,m.error);if(m.message!==void 0)return String(m.message)}return String(e??"")}function Wr(t){return t.json().catch(function(){var e=new Error("non-json response");throw e.code="error.proto.nonJson",e.params={status:t.status},e}).then(function(e){let l=e;if(!t.ok||l.ok===!1)throw l;return l.data})}function fa(t,e){return fetch(ca("/api/dsh-skills-manager"+t),e).then(Wr)}function za(t){return t.enabled!==void 0?t.enabled===!0:!!(t.invocationPolicyValid&&t.modelInvocable&&t.userInvocable&&t.managerEnabled!==!1)}function Ta(t,e){return t+(Number(e)===1?".one":".other")}var ga;function Kr(){return ga?.getLocale?.().active}function qr(t,e){return new Date(e).toLocaleString(Kr()||t("format.locale"))}function Tt(t,e){var l=tr(t,"root."+(e.localeKey||e.kind||e.key),e.label);return e.projectName?l+" \xB7 "+e.projectName:l}function Qr(t,e){var l=e&&e.imported||[],d=l.map(function(b){return b.name}),m=(e&&e.skipped||[]).map(function(b){return b.name}),g=[];l.forEach(function(b){(b.warnings||[]).forEach(function(v){g.push(ye(t,v))})});var f;return d.length&&m.length?f={ok:!0,warning:!0,imported:!0,text:t("result.importPartial",{imported:d.join(", "),skipped:m.join(", ")})}:d.length?f={ok:!0,warning:!1,imported:!0,text:t("result.imported",{names:d.join(", ")})}:m.length?f={ok:!1,warning:!0,imported:!1,text:t("result.importSkipped",{names:m.join(", ")})}:f={ok:!1,warning:!1,imported:!1,text:t("result.importEmpty")},g.length&&(f.warning=!0,f.text=t("result.importWarnings",{result:f.text,warnings:g.join(t("format.warningSeparator"))})),f}function Zr(t){return String(t??"").trim().toLowerCase()}function ar(t,e){var l=Zr(e);return l?[t.name,t.declaredName,t.description,t.kind,t.kindLabel,t.statusLabel,t.rootKey,t.rootLabel].some(function(d){return String(d??"").toLowerCase().includes(l)}):!0}function Jn(t,e){var l=e&&e.rootKey!=null?e.rootKey:"";return t.filter(function(d){return(!l||d.rootKey===l)&&ar(d,e&&e.query)})}function rr(t){return(t||[]).filter(function(e){return e.mutable||e.exists!==!1})}function nr(t){return t.shadowedBy?"shadowed":t.loadable===!1?"invalid":za(t)?"enabled":"disabled"}function Yr(t){var e={total:t.length,enabled:0,disabled:0,shadowed:0,invalid:0};return t.forEach(function(l){e[nr(l.skill)]++}),e}function Jr(t){return!!(t&&t.toggleable!==!1&&t.kind!=="project-dsh")}function Gr(t){return rr(t).filter(function(e){return e.scope==="project"?!1:e.mutable||(e.skills||[]).length>0})}var jr=32<<20,La=32<<20,Pr=64<<20,Or=1e3;function Ma(t){return String(t&&(t._dssmPath||t.webkitRelativePath||t.name)||"").replace(/\\/g,"/")}function Xr(t){var e=Array.from(t||[]);if(!e.length)return null;if(e.length>Or)return{error:{code:"error.upload.tooMany",params:{limit:Or}}};var l=e.some(function(v){return Ma(v).includes("/")});if(l){if(!e.some(function(v){return/(^|\/)skill\.md$/i.test(Ma(v))}))return{error:{code:"select.folder.invalid"}};var d=e.find(function(v){return Number(v.size||0)>La});if(d)return{error:{code:"error.upload.tooLarge",params:{limit:La}}};var m=e.reduce(function(v,k){return v+Number(k.size||0)},0);return m>Pr?{error:{code:"error.upload.tooLarge",params:{limit:Pr}}}:{kind:"folder",name:Ma(e[0]).split("/")[0],files:e,count:e.length,size:m}}if(e.length!==1)return{error:{code:"select.file.invalid"}};var g=String(e[0].name||""),f=g.toLowerCase(),b=Number(e[0].size||0);return f==="skill.md"?b>La?{error:{code:"error.upload.tooLarge",params:{limit:La}}}:{kind:"skill",name:g,files:e,count:1,size:b}:f.endsWith(".zip")?b>jr?{error:{code:"error.upload.archiveTooLarge",params:{limit:jr}}}:{kind:"zip",name:g,files:e,count:1,size:b}:{error:{code:"select.file.invalid"}}}function Gn(t){for(var e=new Uint8Array(t),l="",d=32768,m=0;m<e.length;m+=d)l+=String.fromCharCode(...e.subarray(m,Math.min(m+d,e.length)));return btoa(l)}function Xn(t){return Promise.all(t.files.map(function(e){return e.arrayBuffer().then(function(l){return{path:Ma(e),data:Gn(l)}})})).then(function(e){return t.kind==="zip"?{name:t.name,zip:e[0].data}:{name:t.name,entries:e}})}function _r(t,e,l){return t.isFile?new Promise(function(d,m){t.file(function(g){g._dssmPath=e+g.name,l.push(g),d()},m)}):t.isDirectory?new Promise(function(d,m){var g=t.createReader(),f=[];function b(){g.readEntries(function(v){if(!v.length){Promise.all(f.map(function(k){return _r(k,e+t.name+"/",l)})).then(function(){d()},m);return}f=f.concat(v),b()},m)}b()}):Promise.resolve()}function _n(t){var e=Array.from(t&&t.items||[]),l=e.map(function(m){return m.webkitGetAsEntry&&m.webkitGetAsEntry()}).filter(m=>!!m);if(!l.length)return Promise.resolve(Array.from(t&&t.files||[]));var d=[];return Promise.all(l.map(function(m){return _r(m,"",d)})).then(function(){return d})}function $n(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 es(t,e){if(e.key==="Tab"){var l=$n(t);if(l.length){var d=document.activeElement;(d===t||!t.contains(d)||(e.shiftKey?d===l[0]:d===l[l.length-1]))&&(e.preventDefault(),(e.shiftKey?l[l.length-1]:l[0]).focus())}}}function ts(t){return er(t.on,t.label,t.disabled,t.onClick)}function xe(t,e,l="primary",d){return s(ze.Button,{variant:l==="primary"?"primary":"outline",className:l==="danger"?"dssm-btn-danger":void 0,disabled:d,onClick:e},t)}function tt(t){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("path",{d:t,fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}))}function as(){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},[3.5,8,12.5].map(function(t){return s("circle",{key:t,cx:t,cy:8,r:1.15,fill:"none",stroke:"currentColor",strokeWidth:1.5})}))}function Kt(t,e,l,d,m){return s(ze.Button,{variant:"outline",size:"sm",className:"dssm-icon-action"+(d?" dssm-icon-danger":""),disabled:m,"aria-label":t,title:t,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:l})}function $a(t,e,l,d,m){return s(ze.Button,{className:"dssm-icon-action",variant:"outline",size:"sm",disabled:d,"aria-label":t,title:m||t,icon:e,style:{width:22,minWidth:22,height:22,padding:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"var(--dsw-radius-sm, 8px)"},onClick:l})}function er(t,e,l,d){return s("button",{type:"button",role:"switch","aria-checked":t,"aria-label":e,disabled:l,className:"dssm-enable-switch",onClick:function(m){m&&typeof m.stopPropagation=="function"&&m.stopPropagation(),d()}},s("span",{className:"dssm-enable-switch-thumb","aria-hidden":"true"}))}var rs="data:image/png;base64,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",ns="data:image/png;base64,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",ss="data:image/png;base64,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",os="M23.376 14.458v-4.056c0-2.304-1.003-4.154-2.748-5.075L11.612.574l-.046.086-.045.086c1.68.886 2.644 2.673 2.644 4.902v4.056a7.928 7.928 0 01-.014.454l-.005.061c-.005.081-.01.164-.018.245a4.897 4.897 0 01-.011.1l-.01.076c-.008.068-.015.135-.025.203l-.018.113-.01.058a9.99 9.99 0 01-.098.513l-.007.03a7.209 7.209 0 01-.074.294l-.024.086c-.027.099-.056.197-.087.296l-.027.085a9.592 9.592 0 01-.111.323l-.033.085-.018.046c-.032.082-.064.166-.098.248-.019.048-.04.096-.061.145l-.007.017a6 6 0 01-.084.187c-.024.056-.05.11-.077.165-.03.061-.058.122-.089.182a9.423 9.423 0 01-.176.332c-.03.056-.062.111-.094.167-.031.053-.062.108-.095.16-.033.055-.066.11-.101.164-.033.053-.065.104-.1.155-.034.055-.07.107-.111.169l-.099.144a15.193 15.193 0 01-.34.457c-.04.05-.08.102-.121.151l-.107.128-.007.008a6.987 6.987 0 01-.262.298l-.149.16-.116.12a9.562 9.562 0 01-.204.198l-.03.03-.072.069a9.05 9.05 0 01-.263.235l-.025.022-.029.026-.042.035a11.7 11.7 0 01-.22.18l-.07.055-.018.013a8.904 8.904 0 01-.194.146c-.029.02-.057.042-.086.063a7.7 7.7 0 01-.22.152l-.057.04a8.865 8.865 0 01-.293.185l-.062.037a10.424 10.424 0 01-.307.173l-.037.02-.196.103-.108.052-.012.006a6.196 6.196 0 01-.315.143c-.065.028-.13.054-.196.08l-.035.014-.086.034c-.07.026-.143.05-.215.075l-.039.014-.064.023a8.056 8.056 0 01-.323.097l-.63.173a7.285 7.285 0 01-.33.08l-.07.015c-.053.012-.104.023-.157.032l-.065.011-.085.015a2.332 2.332 0 01-.194.027l-.085.01a4.715 4.715 0 01-.16.018l-.034.003a4.861 4.861 0 01-.246.016h-.033a2.714 2.714 0 01-.155.005h-.106a3.384 3.384 0 01-.225-.007H4.86l-.15-.012-.066-.006a5.586 5.586 0 01-.187-.02l-.04-.005a5.14 5.14 0 01-.219-.035l-.054-.01a6.943 6.943 0 01-.347-.082l-.03-.008-.038-.01a5.034 5.034 0 01-.269-.086l-.063-.023a4.216 4.216 0 01-.188-.073l-.071-.031-.016-.007a4.959 4.959 0 01-.16-.074l-.026-.013a.164.164 0 00-.014-.007l-.671-.351.486.486h.016l8.995 4.742.093.048.03.014.02.01c.056.026.111.052.169.076l.016.008.073.032.195.076.022.008a.718.718 0 01.03.012l.014.004a4.693 4.693 0 00.323.1l.027.007c.073.02.147.038.22.055l.018.004.027.006.066.013.088.016c.075.014.15.026.226.038l.042.004c.064.009.128.016.193.022l.126.012.06.003.05.002.098.005c.046.002.094.002.14.003h.12c.05 0 .1-.002.161-.005h.033l.07-.004a6.17 6.17 0 00.184-.014l.033-.003a.753.753 0 00.058-.005l.108-.012.081-.01.08-.01.129-.021.082-.014.071-.012c.054-.01.107-.021.16-.033l.066-.013.059-.013c.096-.022.192-.046.287-.073l.63-.172a7.354 7.354 0 00.397-.122l.04-.015c.075-.025.149-.051.222-.078.032-.011.062-.024.093-.037l.03-.012c.067-.027.135-.054.2-.082l.128-.056.195-.09.021-.01.102-.05c.068-.034.135-.069.202-.105l.037-.02.073-.038c.08-.044.16-.092.24-.139l.026-.015a8.086 8.086 0 00.322-.2l.065-.045 1.98.902a1.748 1.748 0 002.472-1.59v-7.33l.004.004z",is="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",ls="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",ds="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",cs="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",us="M24 20.541H3.428v-3.426H0V3.4h24V20.54zM3.428 17.115h17.144V6.827H3.428v10.288zm8.573-5.196l-2.425 2.424-2.424-2.424 2.424-2.424 2.425 2.424zm6.857-.001l-2.424 2.423-2.425-2.423 2.425-2.425 2.424 2.425z",ps="M20.113 5.5l-.442 1.557a.157.157 0 01-.196.106l-7.414-2.157a.16.16 0 00-.143.028l-7.342 5.74a.159.159 0 01-.074.032l-4.37.656a.154.154 0 00-.132.162l.02.245c.005.078.071.14.152.141l5.074.128.058.002 3.75-1.953a.16.16 0 01.164.01l2.657 1.847a.152.152 0 01.066.125l-.023 2.45c0 .032.01.063.028.089l3.737 5.227c.03.04.077.065.129.065h1.182a.153.153 0 00.14-.224l-2.664-4.919a.15.15 0 01.005-.152l1.389-2.169a.156.156 0 01.062-.055l4.965-2.456a.16.16 0 01.158.01l1.418.921a.16.16 0 00.087.026h1.289c.125 0 .2-.136.13-.237l-3.578-5.29c-.074-.109-.246-.082-.282.044z",ms="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",fs="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",gs="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",hs="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",bs="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 ys(t){var e=String(t||"").toLowerCase();return e.includes("dsh")?s("img",{src:rs,width:16,height:16,alt:"DSH",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("workbuddy")?s("img",{src:ns,width:16,height:16,alt:"WorkBuddy",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("ccswitch")||e.includes("cc-switch")?s("img",{src:ss,width:16,height:16,alt:"CC Switch",style:{width:16,height:16,objectFit:"contain",borderRadius:3,display:"block"}}):e.includes("qoder")||e.includes("lingma")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#2ADB5C",d:os}),s("path",{fill:"#ffffff",d:is})):e.includes("codex")?s("svg",{viewBox:"0 0 16 16",width:16,height:16,style:{display:"block"}},s("path",{fill:"currentColor",d:ls})):e.includes("cursor")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"currentColor",fillRule:"evenodd",d:ds})):e.includes("claude")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#D97757",fillRule:"evenodd",clipRule:"evenodd",d:"M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z"})):e.includes("gemini")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#3b82f6",d:"M12 2C12 7.5 7.5 12 2 12c5.5 0 10 4.5 10 10 0-5.5 4.5-10 10-10-5.5 0-10-4.5-10-10z"})):e.includes("opencode")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"currentColor",d:"M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})):e.includes("copilot")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"currentColor",d:"M12 2a8 8 0 0 0-8 8v4a4 4 0 0 0 4 4h1v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2h1a4 4 0 0 0 4-4v-4a8 8 0 0 0-8-8zm-3 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm6 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"})):e.includes("windsurf")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#00d084",fillRule:"evenodd",clipRule:"evenodd",d:cs})):e.includes("trae")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#32F08C",d:us})):e.includes("openclaw")||e.includes("clawdbot")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#FF4D4D",fillRule:"evenodd",d:gs}),s("path",{fill:"#FF4D4D",d:hs}),s("path",{fill:"#FF4D4D",d:bs})):e.includes("roo")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#eab308",fillRule:"evenodd",d:ps})):e.includes("codebuddy")?s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("rect",{width:24,height:24,rx:5,fill:"#2EA99D"}),s("path",{fill:"#ffffff",d:ms}),s("path",{fill:"#ffffff",d:fs})):s("svg",{viewBox:"0 0 24 24",width:16,height:16,style:{display:"block"}},s("path",{fill:"#10b981",d:"M12 2a2 2 0 0 1 2 2c0 .74-.4 1.39-1 1.73V7h2a5 5 0 0 1 5 5v1a3 3 0 0 1 1 2.23V17a3 3 0 0 1-3 3h-1.1A6 6 0 0 1 12 22a6 6 0 0 1-4.9-2H6a3 3 0 0 1-3-3v-1.77A3 3 0 0 1 4 13v-1a5 5 0 0 1 5-5h2V5.73A2 2 0 0 1 10 4a2 2 0 0 1 2-2zm-3 10a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm6 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-6 5a4 4 0 0 0 6 0H9z"}))}function vs(){return s("svg",{viewBox:"0 0 16 16",width:16,height:16,"aria-hidden":!0,focusable:"false"},s("path",{fill:"currentColor",d:"M8 0a8 8 0 0 0-2.53 15.59c.4.074.547-.173.547-.385 0-.19-.007-.693-.01-1.36-2.226.484-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.726-.496.055-.486.055-.486.803.056 1.225.824 1.225.824.714 1.223 1.872.87 2.328.665.072-.517.28-.87.508-1.07-1.777-.202-3.645-.888-3.645-3.956 0-.874.31-1.588.823-2.148-.083-.202-.357-1.017.078-2.12 0 0 .672-.215 2.2.82A7.65 7.65 0 0 1 8 4.8c.68.003 1.365.092 2.004.27 1.527-1.035 2.197-.82 2.197-.82.437 1.103.162 1.918.08 2.12.513.56.822 1.274.822 2.148 0 3.076-1.872 3.752-3.654 3.95.288.248.544.735.544 1.482 0 1.07-.01 1.932-.01 2.195 0 .214.144.463.55.384A8.001 8.001 0 0 0 8 0Z"}))}function $r(t,e,l){t&&e===l&&t.focus()}function at(t){var e=I.useRef(null),l=I.useRef(t.onClose);l.current=t.onClose;function d(){var m=e.current;if(m){var g=m.querySelector("input, textarea");if(g instanceof HTMLElement){g.focus();return}m.tabIndex=-1,m.focus()}}return I.useLayoutEffect(function(){if(!(typeof document>"u")){var m=e.current;m&&$r(m,document.activeElement,document.body)}}),I.useEffect(function(){if(typeof document>"u")return;function m(g){g.key==="Escape"&&(g.preventDefault(),g.stopImmediatePropagation(),l.current())}return document.addEventListener("keydown",m,!0),function(){document.removeEventListener("keydown",m,!0)}},[]),s(ze.Modal,{open:!0,title:t.title,description:t.description,footer:t.footer,onClose:t.onClose,closeLabel:t.closeLabel||"Close",className:["dssm-modal",t.className].filter(Boolean).join(" "),contentClassName:["dssm-modal-content",t.contentClassName].filter(Boolean).join(" ")},t.children?s("div",{ref:e},t.children):void 0)}function en(t){if(t){for(var e=t.byId||{},l=Array.isArray(t.ids)&&t.ids.length?t.ids:Object.keys(e),d=0;d<l.length;d++){var m=e[l[d]];if(m&&m.retainedBy&&m.retainedBy.mainView)return l[d]}for(var g in e)if(l.indexOf(g)===-1&&e[g]&&e[g].retainedBy&&e[g].retainedBy.mainView)return g}}function tn(t){return typeof t=="function"?t:ga&&typeof ga.bind=="function"?ga.bind(Lt):function(e,l){var d=ha.zh||{},m=d[e]||e;if(!l)return m;var g=l;return m.replace(/\{(\w+)\}/g,function(f,b){return String(g[b]??"{"+b+"}")})}}function Br(t){var e=tn(t&&t.t),l=t&&t.useSessions?t.useSessions(en):void 0,d=I.useState("user"),m=I.useState({}),g=I.useState({});return s(ws,Object.assign({},t,{t:e,key:l||"no-session",sessionId:l,scope:d[0],setScope:d[1],savedFilters:m[0],setSavedFilters:m[1],expanded:g[0],setExpanded:g[1]}))}function ws(t){var e=tn(t&&t.t);function l(r,o){var w=Object.fromEntries(new Headers(o?.headers).entries());return t.sessionId&&(w["x-dsh-skills-session"]=t.sessionId),fa(r,Object.assign({},o,{headers:w}))}var d=I.useState({loading:!0,error:null,data:null}),m=d[0],g=d[1],f=I.useState(!1),b=f[0],v=f[1],k=t.scope,n=t.setScope,H=t.expanded,U=t.setExpanded,W=t.savedFilters,ne=t.setSavedFilters,_=I.useState(null),C=_[0],A=_[1],J=I.useState(""),c=J[0],K=J[1],ae=I.useState({}),de=ae[0],S=ae[1],j=I.useState(null),h=j[0]&&j[0].scope===k?j[0]:null;function q(r){j[1](r?Object.assign({},r,{scope:k}):null)}var ve=I.useState({root:"dsh",name:"",description:"",body:""}),Ie=ve[0],rt=ve[1],G=I.useState(""),se=G[0],Ve=G[1],Zt=I.useState(Vt()),Ge=Zt[0],ut=Zt[1],Mt=I.useState(Vt()),We=Mt[0],Yt=Mt[1],zt=I.useState([]),ce=zt[0],y=zt[1],B=I.useState(""),oe=B[0],pt=B[1],Se=I.useRef(""),ba=I.useRef(0),Y=I.useState({loading:!1,error:null}),It=Y[0],ue=Y[1],ya=I.useState({}),mt=ya[0],Ht=ya[1],Ut=I.useState(null),he=Ut[0],Re=Ut[1],Jt=I.useState(null),Ia=Jt[0],Gt=Jt[1],va=I.useState("idle"),Dt=va[0],Ke=va[1];function Ha(r){if(typeof navigator>"u"||!navigator.clipboard){Ke("failed");return}navigator.clipboard.writeText(r).then(function(){Ke("copied"),setTimeout(function(){Ke("idle")},1500)}).catch(function(){Ke("failed")})}var nt=I.useRef(!1),Ce=I.useRef(null),ft=I.useRef(null),qe=I.useRef(null),Qe=I.useRef(!1),gt=I.useRef({}),st=I.useRef(0);I.useEffect(function(){return function(){st.current++}},[]);function He(r){return r||g({loading:!0,error:null,data:m.data}),l("/state").then(function(o){return g({loading:!1,error:null,data:o}),o}).catch(function(o){g({loading:!1,error:ye(e,o),data:m.data})})}I.useEffect(function(){He(!1)},[]);function ie(r,o,w,T){return nt.current?Promise.reject({error:"operation already in progress"}):(nt.current=!0,v(!0),q(null),l(r,{method:"POST",headers:qt,body:JSON.stringify(o||{})}).then(function(M){q({ok:!0,text:w?e(w,T||M||{}):e("result.updated")});var P=o&&typeof o.workspace=="string"?o.workspace:"";return Promise.all([He(!0),P?Ee(P):null]).then(function(){return M})}).catch(function(M){throw q({ok:!1,text:e("error.action",{error:ye(e,M)})}),M}).finally(function(){nt.current=!1,v(!1)}))}function ht(r,o,w){v(!0),Gt(null),Ke("idle"),A("detail"),l("/detail",{method:"POST",headers:qt,body:JSON.stringify(w?{root:r.key,name:o.name,workspace:w}:{root:r.key,name:o.name})}).then(Gt).catch(function(T){q({ok:!1,text:e("error.action",{error:ye(e,T)})}),A(null)}).finally(function(){v(!1)})}function Xt(r,o){rt(Object.assign({},Ie,{[r]:o}))}function wa(){At(Ge,ce,$e)&&ie("/create",Object.assign({},Ie,{root:void 0},Ea(Ge)),null).then(function(r){A(null),rt({root:"dsh",name:"",description:"",body:""}),q({ok:!0,text:e("result.created",{name:r.name})+(Ge.scope==="workspace"?" \xB7 "+e("dest.createdInWorkspace"):"")})}).catch(function(){})}function bt(r){Qe.current=!1;var o=Xr(r);if(o){if(o.error){Re(null),q({ok:!1,text:ye(e,o.error)});return}Re(o),q(null)}}function _t(r){if(b||Qe.current||!r.current)return;Qe.current=!0,r.current.value="";function o(){setTimeout(function(){Qe.current=!1},0)}window.addEventListener("focus",o,{once:!0}),r.current.click(),setTimeout(function(){Qe.current=!1},3e4)}function jt(){!he||!At(We,ce,$e)||Xn(he).then(function(r){return ie("/upload",Object.assign({},r,Ea(We)),null)}).then(function(r){var o=Qr(e,r);q({ok:o.ok,warning:o.warning,text:o.text}),o.imported&&(A(null),Re(null))}).catch(function(){})}var Xe=m.data||{roots:[],writeDestinations:[],projects:[],trash:[],warnings:[]},yt=Xe.roots||[],_e=k==="project"?"project":"user",re=W[_e]||{query:"",source:"",status:""},be=re.query,ot=re.source;function $t(r,o){ne(function(w){return Object.assign({},w,{[_e]:Object.assign({},re,{[r]:o})})})}function ea(r){$t("query",r)}function Ua(r){$t("source",r)}var vt=mt[oe],wt=k==="trash"?[]:k==="project"?rr(vt?.roots||[]):Gr(yt),ta=wt.filter(function(r){return(r.skills||[]).length>0}),Ae=k!=="project"&&ta.some(function(r){return r.key===ot})?ot:"";function Ze(r){return r.registeredPaths[0]||""}function aa(r){ce.some(function(o){return o.available&&Ze(o)===r})&&(Se.current=r,pt(r),mt[r]||Ee(r))}function Ue(r=k==="project",o=!1){var w=st.current,T=++ba.current,M=function(){return w===st.current&&T===ba.current};return ue({loading:!0,error:null}),fa("/workspaces").then(function(P){if(!M())return[];var F=P.items||[];y(F),ue({loading:!1,error:null});var ee=F.find(function(V){return V.available&&Ze(V)===Se.current})||F.find(function(V){return V.available&&Ze(V)}),Q=ee?Ze(ee):"";return Se.current=Q,pt(Q),r&&Q&&(o||!mt[Q])&&Ee(Q),F}).catch(function(P){return M()?(y([]),Se.current="",pt(""),ue({loading:!1,error:ye(e,P)}),[]):[]})}function Ee(r){var o=st.current,w=(gt.current[r]||0)+1;gt.current[r]=w;var T=function(){return o===st.current&&w===gt.current[r]};return Ht(function(M){return Object.assign({},M,{[r]:{loading:!0,error:null,roots:M[r]?M[r].roots:[]}})}),fa("/workspace-skills",{method:"POST",headers:qt,body:JSON.stringify({workspace:r})}).then(function(M){T()&&Ht(function(P){return Object.assign({},P,{[r]:{loading:!1,error:null,roots:M.roots||[]}})})}).catch(function(M){T()&&Ht(function(P){return Object.assign({},P,{[r]:{loading:!1,error:ye(e,M),roots:[]}})})})}function De(){return st.current++,Ht({}),Ue(!0,!0)}function Pt(){rt(Object.assign({},Ie,{root:"dsh"})),ut(Vt()),A("create"),Ue()}function Ye(){q(null),Re(null),Yt(Vt()),A("import"),Ue()}var $e=(Xe.writeDestinations||[]).filter(function(r){return r.key==="dsh"||r.key==="agents"});function et(r){var o=r.root&&r.root.scope==="project"?r.root.projectRoot:"",w=o?ce.find(function(T){return T.projectRoot===o&&T.available}):void 0;return w?{id:r.id,workspace:w.registeredPaths[0]||w.path}:{id:r.id}}function ra(r){return r.root&&r.root.scope==="project"?e("root.projectDsh")+" \xB7 "+(r.root.projectName||r.root.projectRoot):tr(e,"root."+(r.root?.localeKey||r.root?.key||"dsh"),r.root?.label||e("root.dsh"))}function je(r){return s("span",{className:"dssm-brand-icon","aria-hidden":!0,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:16,height:16,flexShrink:0}},ys(r))}var D=[{value:"",label:e("filter.all")}].concat(ta.map(function(r){return{value:r.key,label:e("filter.option",{name:Tt(e,r),count:r.skills.length})}}));function it(r){return r.linked!==!0?null:s("div",{className:"dssm-note"},e("skill.linked"))}function Da(r){if(!r.fallbackTo)return null;var o=yt.find(function(w){return w.key===r.fallbackTo.root});return o?s("div",{className:"dssm-note dssm-fallback"},e("status.fallback."+r.fallbackTo.scope,{source:Tt(e,o)})):null}function sr(r,o,w){var T=r==="status.enabled",M=r==="status.disabled",P=r==="status.invalid",F=T?"var(--dsw-alias-state-success-primary, #51b976)":M?"var(--dsw-alias-state-warn-primary, #d49245)":P?"var(--dsw-alias-state-error-primary, #ef7272)":"var(--dsw-alias-label-tertiary, #a0a0a0)",ee=T?"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":M?"M8 0a8 8 0 100 16A8 8 0 008 0zm3 8.75H5a.75.75 0 010-1.5h6a.75.75 0 010 1.5z":P?"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",Q=o||e(r);return s("span",{className:"dssm-status "+(w||""),title:Q,"aria-label":Q,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",color:F,width:20,height:20,verticalAlign:"middle"}},s("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},s("path",{d:ee})))}function Le(r,o,w){var T=function(N){return w?Object.assign({},N,{workspace:w}):N},M=za(o),P=r.toggleable!==!1,F=o.shadowedBy?"status.shadowed":o.loadable===!1?"status.invalid":M?"status.enabled":"status.disabled",ee=o.shadowedBy?"dssm-shadowed":M?"dssm-enabled":"dssm-disabled",Q=!P||!!o.shadowedBy||o.loadable===!1,V=[{value:"detail",label:e("btn.detail")}],ke=r.categories||[],Je=o.categoryId||"";ke.forEach(function(N){N.id!==Je&&V.push({value:"category:"+N.id,label:e("category.assign",{name:N.name})})}),ke.length&&Je!==""&&V.push({value:"category:",label:e("category.assign",{name:e("category.uncategorized")})}),o.installSource&&o.linked!==!0&&V.push({value:"update",label:e("repo.manageUpdate")}),r.mutable&&o.linked!==!0&&V.push({value:"trash",label:e("btn.trash"),danger:!0});var R=o.shadowedBy?e("status.shadowedBy",{source:function(){var N=yt.find(function(te){return te.key===o.shadowedBy.root});return N?Tt(e,N):o.shadowedBy.root}()}):void 0,Z=[s(Qt,{action:!0,icon:as(),label:e("btn.more"),disabled:b,options:V,onChange:function(N){if(N==="detail"&&ht(r,o,w),N.indexOf("category:")===0){var te=N.slice(9),Fe=ke.find(function(Ne){return Ne.id===te});ie("/category-assign",T({root:r.key,name:o.name,category:te}),"category.assigned",{name:o.name,category:Fe?Fe.name:e("category.uncategorized")})}N==="update"&&(St.focusSource(o.installSource,o.name),n("repositories")),N==="trash"&&A({type:"trash-confirm",root:r.key,name:o.name,workspace:w})}})];Z.push(s("div",{className:"dssm-row-state"},Q?sr(F,R,ee):null,P?er(M,e("skill.toggle")+" "+o.name,b||r.enabled===!1||!M&&o.loadable===!1,function(){ie(M?"/disable":"/enable",T({root:r.key,name:o.name}))}):null));var Te=o.declaredName||o.name,pe=o.description||e("note.missing"),me=r.mutable===!0||!!(r.categories&&r.categories.length);return s("div",{key:r.key+":"+o.name,className:"dssm-skill-row",draggable:me,onDragStart:function(N){if(me){var te={root:r.key,name:o.name,currentCategoryId:o.categoryId||""};Ce.current=te,N.dataTransfer.setData("text/plain",JSON.stringify(te)),N.dataTransfer.effectAllowed="move",N.currentTarget.classList.add("dragging")}},onDragEnd:function(N){Ce.current=null,N.currentTarget.classList.remove("dragging"),Bt(N.currentTarget)},onDragOver:function(N){if(!(!Ce.current||Ce.current.root!==r.key||Ce.current.name===o.name)){N.preventDefault(),N.stopPropagation();var te=N.currentTarget.getBoundingClientRect();N.currentTarget.classList.toggle("drop-before",N.clientY<te.top+te.height/2),N.currentTarget.classList.toggle("drop-after",N.clientY>=te.top+te.height/2)}},onDragLeave:function(N){N.currentTarget.classList.remove("drop-before","drop-after")},onDrop:function(N){N.preventDefault(),N.stopPropagation(),N.currentTarget.classList.remove("drop-before","drop-after");var te=Ce.current;if(Ce.current=null,Bt(N.currentTarget),!(!te||te.root!==r.key||te.name===o.name)){var Fe=N.currentTarget.getBoundingClientRect();ie("/category-move",T({root:r.key,name:te.name,category:o.categoryId||"",targetName:o.name,position:N.clientY<Fe.top+Fe.height/2?"before":"after"}),"category.moved",{name:te.name})}}},me?s("div",{className:"dssm-drag-handle",title:e("category.dragTip")},"\u22EE\u22EE"):null,s("div",{className:"dssm-skill-copy"},s("div",{className:"dssm-name"},Te),s("div",{className:"dssm-skill-desc",title:o.description||void 0},pe),it(o),Da(o)),s("div",{className:"dssm-skill-actions"},Z))}var kt=wt.flatMap(function(r){return(r.skills||[]).map(function(o){return{root:r,skill:o}})}),ka=kt.filter(function(r){return(!Ae||r.root.key===Ae)&&(!re.status||nr(r.skill)===re.status)&&ar(Object.assign({},r.skill,{rootLabel:Tt(e,r.root)}),be)}),Ot=Yr(kt);function xa(r,o,w){var T=o?{root:r.key,workspace:o}:{root:r.key},M=[];return M.push(Kt(e("category.create"),tt("M8 2.5v11M2.5 8h11"),function(){Ve(""),A({type:"category-create",root:r.key,workspace:o})},!1,b)),Jr(r)&&M.push(s(ts,{on:r.enabled,disabled:b,label:e("source.toggle")+" "+w,onClick:function(){ie(r.enabled?"/source-disable":"/source-enable",T)}})),s("span",{className:"dssm-source-actions",onClick:function(P){P.stopPropagation()}},M)}function xt(){return s("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},s("path",{fill:"#f59e0b",d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z"}))}function Sa(){return s("svg",{viewBox:"0 0 1024 1024",width:16,height:16,"aria-hidden":!0,focusable:"false",style:{display:"inline-block",verticalAlign:"-2px",flexShrink:0,marginRight:6}},s("path",{fill:"#fde68a",opacity:.85,d:"M159 768h612.3l103.4-256H262.3z"}),s("path",{fill:"#f59e0b",d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}))}function Bt(r){var o=r.closest(".dssm-section");o&&Array.prototype.forEach.call(o.querySelectorAll(".dssm-cat.drag-over, .dssm-skill-row.drop-before, .dssm-skill-row.drop-after"),function(w){w.classList.remove("drag-over","drop-before","drop-after")})}function ja(r,o,w,T,M){var P=JSON.stringify(["category",T||"",r.key,o.id||"none"]),F=H[P]===void 0?!!(be||re.status):H[P],ee=o.scope||o.skills,Q=ee.filter(function(R){return R.skill.loadable!==!1}),V=Q.filter(function(R){return za(R.skill)}).length,ke=Q.length>0&&V===Q.length,Je=function(R){return w?Object.assign({},R,{workspace:w}):R};return s("section",{key:r.key+":"+(o.id||"none"),className:"dssm-cat","aria-label":o.name,onDragOver:function(R){R.preventDefault(),Ce.current&&Ce.current.root===r.key&&Ce.current.currentCategoryId!==o.id?R.currentTarget.classList.add("drag-over"):R.currentTarget.classList.remove("drag-over")},onDragLeave:function(R){var Z=R.relatedTarget;Z&&R.currentTarget.contains(Z)||R.currentTarget.classList.remove("drag-over")},onDrop:function(R){R.preventDefault(),Ce.current=null,R.currentTarget.classList.remove("drag-over"),Bt(R.currentTarget);try{var Z=JSON.parse(R.dataTransfer.getData("text/plain")||"{}");Z&&Z.name&&Z.root===r.key&&Z.currentCategoryId!==o.id&&ie("/category-assign",Je({root:r.key,name:Z.name,category:o.id}),"category.assigned",{name:Z.name,category:o.name})}catch{}}},s("div",{className:"dssm-cat-head"},s("button",{type:"button",className:"dssm-cat-main","aria-expanded":F,onClick:function(){U(function(R){var Z={};return Z[P]=!F,Object.assign({},R,Z)})}},s("span",{className:"dssm-cat-title"},s(F?Sa:xt),o.name),s("span",{className:"dssm-count"},e("category.progress",{count:ee.length,enabled:V,usable:Q.length}))),s("span",{className:"dssm-source-actions",onClick:function(R){R.stopPropagation()}},o.locked?null:Kt(e("category.addSkills"),tt("M8 2.5v11M2.5 8h11"),function(){var R={};(r.categories||[]).forEach(function(pe){R[pe.id]=pe.name});var Z=M||o.scope||o.skills,Te=Z.filter(function(pe){return pe.skill.categoryId!==o.id}).map(function(pe){return{name:pe.skill.name,declaredName:pe.skill.declaredName,description:pe.skill.description,currentCatName:pe.skill.categoryId&&R[pe.skill.categoryId]||e("category.uncategorized")}});S({}),K(""),A({type:"category-add",root:r.key,id:o.id,name:o.name,workspace:w,skills:Te})},!1,b),o.locked?null:Kt(e("category.rename"),tt("M9.2 2.8l4 4L6.2 13.8H2.2v-4z"),function(){Ve(o.name),A({type:"category-rename",root:r.key,id:o.id,name:o.name,workspace:w})},!1,b),o.locked?null:Kt(e("category.delete"),tt("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){A({type:"category-delete",root:r.key,id:o.id,name:o.name,workspace:w})},!0,b),er(ke,e("category.toggle")+" "+o.name,b||r.enabled===!1||Q.length===0,function(){ie(ke?"/category-disable":"/category-enable",Je({root:r.key,category:o.id}))}))),F?o.skills.length?s("div",{className:"dssm-skill-list"},o.skills.map(function(R){return Le(r,R.skill,w)})):s("div",{className:"dssm-empty"},e("category.empty")):null)}function na(r,o,w,T,M){var P=r.categories||[],F=function(R,Z){var Te=r.categoryOrder&&r.categoryOrder[Z]||[],pe=Object.create(null);return Te.forEach(function(me,N){pe[me]=N}),R.map(function(me,N){return{row:me,index:N,rank:pe[me.skill.name]}}).sort(function(me,N){return me.rank!==void 0&&N.rank!==void 0?me.rank-N.rank:me.rank!==void 0?-1:N.rank!==void 0?1:me.index-N.index}).map(function(me){return me.row})};if(!P.length)return o.length?s("div",{className:"dssm-skill-list"},F(o,"").map(function(R){return Le(r,R.skill,w)})):s("div",{className:"dssm-empty"},e("empty.source"));var ee={},Q=M||o;P.forEach(function(R){ee[R.id]=!0});var V=function(R,Z){return F(R.filter(function(Te){return Z?Te.skill.categoryId===Z:!Te.skill.categoryId||!ee[Te.skill.categoryId]}),Z)},ke=P.map(function(R){return{id:R.id,name:R.name,locked:!1,skills:V(o,R.id),scope:V(Q,R.id)}});ke.push({id:"",name:e("category.uncategorized"),locked:!0,skills:V(o,""),scope:V(Q,"")});var Je=!!(be||re.status);return s("div",null,s("p",{className:"dssm-note dssm-cat-note"},e("category.note")),ke.filter(function(R){return!Je||R.skills.length}).map(function(R){return ja(r,R,w,T,Q)}))}function Ca(r,o,w,T){var M=(w||kt).filter(function(V){return V.root.key===r.key}),P=(w||ka).filter(function(V){return V.root.key===r.key});if(Ae&&r.key!==Ae||(be||re.status)&&!P.length)return null;var F=JSON.stringify([_e,T||"",r.key,be,Ae,re.status]),ee=H[F]===void 0?o?!0:!!(be||Ae||re.status):H[F],Q=o?Tt(e,Object.assign({},r,{projectName:void 0})):Tt(e,r);return s("section",{key:(T||"")+r.key,className:"dssm-source","data-source-key":r.key},s("div",{className:"dssm-source-head"},s("button",{type:"button",className:"dssm-source-toggle","aria-expanded":ee,onClick:function(){U(function(V){var ke={};return ke[F]=!ee,Object.assign({},V,ke)})}},Tr(s,ee),s("div",{className:"dssm-source-label"},je(r.key),s("span",{className:"dssm-source-title"},Q),s("span",{className:"dssm-count"},e(Ta("summary.group",P.length),{count:P.length})),s("span",{className:"dssm-source-path",title:r.path},r.path))),xa(r,o,Q)),ee?s("div",{className:"dssm-source-body",role:"region"},na(r,P,o,T,M)):null)}function we(){var r=k==="project",o=r?oe:void 0,w=wt.map(function(M){return Ca(M,o,void 0,o?o+"|":void 0)}).filter(Boolean),T=w.length?w:s("div",{className:"dssm-empty"},be||re.status?e("empty.search"):e("empty.source"));return r&&(It.error?T=s("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.listFailed",{error:It.error})):It.loading||oe&&(!vt||vt.loading)?T=s("div",{className:"dssm-empty"},e("workspace.loading")):oe?vt?.error?T=s("div",{className:"dssm-feedback dssm-error",role:"alert"},e("workspace.loadFailed",{error:vt.error})):!kt.length&&!be&&!re.status&&(T=s("div",{className:"dssm-empty"},e("workspace.noSkills"))):T=s("div",{className:"dssm-empty"},e(ce.length?"workspace.unavailable":"project.empty"))),s("div",{key:"sources",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-"+k,className:"dssm-sources"},T)}function Pe(){return s("div",{key:"trash",id:"dssm-scope-panel",role:"tabpanel","aria-labelledby":"dssm-tab-trash",className:"dssm-trash-panel"},Xe.trash.length?Xe.trash.map(function(r){return s("div",{key:r.id,className:"dssm-trash-item",role:"group","aria-label":r.name},s("div",{className:"dssm-trash-main"},s("div",{className:"dssm-name"},r.name),s("div",{className:"dssm-trash-meta"},s("time",{dateTime:r.deletedAt},e("trash.deletedAt",{time:qr(e,r.deletedAt)})),s("span",{className:"dssm-trash-source"},e("trash.source",{source:ra(r)})))),s("div",{className:"dssm-trash-actions"},Kt(e("btn.restore"),tt("M3.5 6.5A4.5 4.5 0 1 1 5 11.5M3.5 3.5v3h3"),function(){ie("/trash-restore",et(r),"result.restored",{name:r.name}).catch(function(){})},!1,b),Kt(e("btn.delete.forever"),tt("M3.5 4.5h9M6.5 4.5V3h3v1.5M5 4.5l.7 8.5h4.6L11 4.5"),function(){A({type:"delete-confirm",id:r.id,name:r.name})},!0,b)))}):s("div",{className:"dssm-empty"},e("trash.empty")))}var St=Zn({active:k==="repositories",t:e,onInstalled:function(){return Promise.all([He(!1),De()])}});function Ct(r){var o=r==="user"?"M8 0a8 8 0 100 16A8 8 0 008 0zm6.5 8a6.5 6.5 0 01-.65 2.82L10.3 8.35a.75.75 0 00-1.06 0L8.2 9.4V6.5a.75.75 0 00-.75-.75h-1V4.25a.75.75 0 00-.75-.75h-1a6.47 6.47 0 013.3-1.95v1.2a.75.75 0 00.75.75h1.5a.75.75 0 00.75-.75V2.3A6.52 6.52 0 0114.5 8z":r==="project"?"M1.75 2.5h3.44l1.5 1.5h7.56c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 01-1.75 1.75H1.75A1.75 1.75 0 010 13.25V4.25C0 3.284.784 2.5 1.75 2.5z":r==="repositories"?"M8 0a8 8 0 100 16A8 8 0 008 0zm2.93 5.07l-1.5 4.5a.75.75 0 01-.43.43l-4.5 1.5a.375.375 0 01-.47-.47l1.5-4.5a.75.75 0 01.43-.43l4.5-1.5a.375.375 0 01.47.47z":"M5.5 1.25h5c.4 0 .75.35.75.7V3h2.5c.5 0 .9.4.9.9s-.4.9-.9.9h-.35l-.65 8.1a1.6 1.6 0 0 1-1.6 1.5H4.85a1.6 1.6 0 0 1-1.6-1.5L2.6 4.8H2.25c-.5 0-.9-.4-.9-.9s.4-.9.9-.9H4.75V1.95c0-.4.35-.7.75-.7z";return s("svg",{viewBox:"0 0 16 16",width:14,height:14,fill:"currentColor","aria-hidden":!0},s("path",{d:o}))}var Na=["user","project","repositories","trash"].map(function(r){var o=e("scope."+r),w=r==="trash"?(Xe.trash||[]).length:0,T=Ct(r);return{value:r,id:"dssm-tab-"+r,panelId:"dssm-scope-panel",label:w>0?[T,o,s("span",{className:"dssm-trash-count"},w)]:[T,o]}}),sa=s(ze.SegmentedTabs,{key:"tabs",className:"dssm-scope-tabs",label:e("scope.label"),value:k,onChange:function(r){n(r),(r==="project"||r==="trash")&&Ue(r==="project"),r==="trash"&&He(!0)},items:Na}),Pa=[k==="project"?null:s("div",{key:"summary",className:"dssm-summary"},[["total","summary.total"],["enabled","summary.enabled"],["disabled","summary.disabled"],["invalid","summary.invalid"]].map(function(r){return s("div",{key:r[1],className:"dssm-stat"},s("strong",null,Ot[r[0]]),e(Ta(r[1],Ot[r[0]]),{count:Ot[r[0]]}).replace(String(Ot[r[0]]),""))})),s("div",{key:"filters",className:"dssm-filters"},k==="project"?null:s("div",{className:"dssm-source-filter"},s(Qt,{value:Ae,label:e("filter.source"),options:D,onChange:Ua})),s("div",{className:"dssm-status-filter"},s(Qt,{value:re.status,label:e("filter.status"),options:[{value:"",label:e("filter.statusAll")}].concat(["enabled","disabled","shadowed","invalid"].map(function(r){return{value:r,label:e("status."+r)}})),onChange:function(r){$t("status",r)}})),k==="project"?s("div",{className:"dssm-project-filter"},s(Qt,{value:oe,label:e("filter.workspace"),disabled:It.loading||!ce.length,options:ce.map(function(r){return{value:Ze(r),label:r.name+(r.available?"":" \xB7 "+e("workspace.unavailable"))+(ce.filter(function(o){return o.name===r.name}).length>1?" \xB7 "+Ze(r):""),disabled:!r.available||!Ze(r)}}),onChange:aa})):null,s(ct,{className:"dssm-search",allowClear:!0,value:be,"aria-label":e("search"),placeholder:e("search.placeholder"),onChange:function(r){ea(r.target.value)}}),k!=="trash"?s("div",{className:"dssm-filter-actions"},$a(e("btn.refresh"),tt("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(){He(!1),k==="project"&&De()},b||m.loading),$a(e("btn.create"),tt("M8 2.5v11M2.5 8h11"),Pt,b,e("btn.create")+"\u2026"),$a(e("import.global"),tt("M2.5 10.5v2a1 1 0 001 1h9a1 1 0 001-1v-2M8 2.5v7M5 5.5l3-3 3 3"),Ye,b)):null)],Oe=[s("style",{key:"css"},Yn),s("div",{key:"head",className:"dssm-head"},s("div",{className:"dssm-title-block"},s("div",{className:"dssm-title-row"},s("h2",{className:"dssm-title"},e("title")),s("div",{className:"dssm-feedback-links"},s(ze.Button,{variant:"outline",size:"sm","aria-label":e("link.project"),icon:s(vs),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager","_blank","noreferrer")}},e("link.project")),s(ze.Button,{variant:"outline",size:"sm","aria-label":e("link.feedback"),icon:s(Kn),onClick:function(){window.open("https://github.com/MichengAI/dsh-skills-manager/issues","_blank","noreferrer")}},e("link.feedback")))),s("p",{className:"dssm-desc"},e("desc")))),sa].concat(k==="trash"||k==="repositories"?[]:Pa,[h&&C!=="import"?s("div",{key:"result",className:"dssm-feedback"+(h.warning?" dssm-warning":h.ok?"":" dssm-error")},h.text):null],(Xe.warnings||[]).map(function(r,o){return s("div",{key:"warning-"+o,className:"dssm-feedback dssm-warning",role:"alert"},ye(e,r))}),[m.error?s("div",{key:"error",className:"dssm-feedback dssm-error"},m.error):null,m.loading&&!m.data?s("div",{key:"loading",className:"dssm-empty"},e("loading")):k==="repositories"?St.content:k==="trash"?Pe():we()]);if(C==="create"&&Oe.push(s(at,{key:"create",title:e("create.title"),closeLabel:e("btn.close"),onClose:function(){A(null)}},s("div",{className:"dssm-form"},s(Dr,{t:e,value:Ge,disabled:b,allowAgents:!0,workspaces:ce,userDestinations:$e,onChange:function(r){ut(Object.assign({},Ge,r))}}),[["name","create.name","create.name.placeholder"],["description","create.description","create.description.placeholder"]].map(function(r){return s("label",{key:r[0],className:"dssm-field"},s("span",{className:"dssm-label"},e(r[1])),s(ct,{value:Ie[r[0]],placeholder:e(r[2]),onChange:function(o){Xt(r[0],o.target.value)}}))}),s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},e("create.body")),s(ct.TextArea,{rows:8,value:Ie.body,placeholder:e("create.body.placeholder"),onChange:function(r){Xt("body",r.target.value)}})),s("p",{className:"dssm-help"},e("create.chat.note"))),s("div",{className:"dssm-modal-actions"},xe(e("btn.cancel"),function(){A(null)},"outline"),xe(e("btn.create.now"),wa,"primary",b||!Ie.name.trim()||!Ie.description.trim()||!Ie.body.trim()||!At(Ge,ce,$e))))),C==="import"&&Oe.push(s(at,{key:"import",className:"dssm-modal-import",title:e("import.title"),closeLabel:e("btn.close"),onClose:function(){Qe.current=!1,Re(null),q(null),A(null)}},s("input",{ref:ft,className:"dssm-hidden-input",type:"file",accept:".zip,.md",onChange:function(r){bt(r.target.files),r.target.value=""}}),s("input",{ref:qe,className:"dssm-hidden-input",type:"file",multiple:!0,webkitdirectory:"",directory:"",onChange:function(r){bt(r.target.files),r.target.value=""}}),s("div",{className:"dssm-dropzone",onDragOver:function(r){r.preventDefault(),r.currentTarget.classList.add("dssm-dropzone-active")},onDragLeave:function(r){r.currentTarget.classList.remove("dssm-dropzone-active")},onDrop:function(r){r.preventDefault(),r.currentTarget.classList.remove("dssm-dropzone-active"),_n(r.dataTransfer).then(bt).catch(function(o){q({ok:!1,text:ye(e,o)})})}},s("span",{className:"dssm-dropzone-title"},e("upload.drop.title")),s("span",{className:"dssm-dropzone-copy"},e("upload.drop.copy")),s("div",{className:"dssm-upload-choices"},s("button",{type:"button",className:"dssm-upload-link",disabled:b,onClick:function(r){r.stopPropagation(),_t(qe)}},e("btn.folder.pick")),s("span",{className:"dssm-upload-divider"},"/"),s("button",{type:"button",className:"dssm-upload-link",disabled:b,onClick:function(r){r.stopPropagation(),_t(ft)}},e("btn.file.pick")))),he?s("div",{className:"dssm-file",title:he.name},s("span",{className:"dssm-file-kind","aria-hidden":"true"},he.kind==="zip"?"ZIP":he.kind==="folder"?"DIR":"MD"),s("span",{className:"dssm-file-name"},he.name),s("span",{className:"dssm-file-meta"},e(Ta("upload.selected",he.count),{count:he.count,size:he.size<1024?he.size+" B":Math.ceil(he.size/1024)+" KB"})),s("button",{type:"button",className:"dssm-file-remove","aria-label":e("upload.remove"),onClick:function(){Re(null)}},"\xD7")):null,s(Dr,{t:e,value:We,disabled:b,allowAgents:!0,workspaces:ce,userDestinations:$e,onChange:function(r){Yt(Object.assign({},We,r))}}),h?s("div",{className:"dssm-feedback"+(h.warning?" dssm-warning":h.ok?"":" dssm-error"),role:"alert"},h.text):null,s("div",{className:"dssm-upload-requirements"},s("div",{className:"dssm-label"},e("upload.requirements")),s("ul",null,s("li",null,e("upload.requirement.skill")),s("li",null,e("upload.requirement.frontmatter")),s("li",null,e("upload.requirement.copy")))),s("div",{className:"dssm-modal-actions"},xe(e("btn.cancel"),function(){Qe.current=!1,Re(null),q(null),A(null)},"outline"),xe(e(b?"upload.importing":"btn.import.now"),jt,"primary",b||!he||!At(We,ce,$e))))),C==="detail"){var le=Ia,Ra=le?le.declaredName||le.name:"";Oe.push(s(at,{key:"detail",className:"dssm-modal-wide",title:e("detail.title"),closeLabel:e("btn.close"),onClose:function(){Ke("idle"),A(null)}},le?s("div",{className:"dssm-detail"},s("div",{className:"dssm-detail-head"},s("div",{className:"dssm-name",title:Ra},Ra),le.body?s(ze.Button,{variant:"outline",size:"sm","aria-live":"polite",onClick:function(){le&&le.body&&Ha(le.body)}},e(Dt==="copied"?"detail.copied":Dt==="failed"?"detail.copyFailed":"detail.copyBody")):null),le.description?s("p",{className:"dssm-desc"},le.description):null,s("div",{className:"dssm-detail-path"},le.path),le.diagnostics.length?le.diagnostics.map(function(r,o){return s("div",{key:o,className:"dssm-diag"},e(r.code,r.params||{}))}):null,s(ct.TextArea,{className:"dssm-detail-body",readOnly:!0,value:le.body||"",rows:16})):s("div",{className:"dssm-empty"},e("loading"))))}if(C&&typeof C=="object"&&C.type==="trash-confirm"&&Oe.push(s(at,{key:"trash-confirm",title:e("confirm.trash.title"),description:e("confirm.trash.desc",{name:C.name}),closeLabel:e("btn.close"),onClose:function(){A(null)},footer:s(ma.Fragment,null,xe(e("btn.cancel"),function(){A(null)},"outline"),xe(e("btn.trash"),function(){ie("/delete",Object.assign({root:C.root,name:C.name},C.workspace?{workspace:C.workspace}:{}),"result.trashed",{name:C.name}).then(function(){A(null)}).catch(function(){})},"danger",b))})),C&&typeof C=="object"&&C.type==="delete-confirm"&&Oe.push(s(at,{key:"delete-confirm",title:e("confirm.delete.title"),description:e("confirm.delete.desc",{name:C.name}),closeLabel:e("btn.close"),onClose:function(){A(null)},footer:s(ma.Fragment,null,xe(e("btn.cancel"),function(){A(null)},"outline"),xe(e("btn.delete.forever"),function(){ie("/trash-delete",{id:C.id},"result.deleted",{name:C.name}).then(function(){A(null)}).catch(function(){})},"danger",b))})),C&&typeof C=="object"&&(C.type==="category-create"||C.type==="category-rename")){var lt=C.type==="category-rename",dt=C,Nt=se.trim(),oa=!!Nt&&(!lt||Nt!==dt.name),Ft=function(){if(!(b||!oa)){var r=lt?ie("/category-rename",{root:dt.root,id:dt.id,name:Nt,workspace:dt.workspace},"category.renamed"):ie("/category-create",{root:dt.root,name:Nt,workspace:dt.workspace},"category.created",{name:Nt});r.then(function(){A(null)}).catch(function(){})}};Oe.push(s(at,{key:C.type,title:e(lt?"category.rename":"category.create"),closeLabel:e("btn.close"),onClose:function(){A(null)}},s("div",{className:"dssm-form"},s("label",{className:"dssm-field"},s("span",{className:"dssm-label"},e("category.name")),s(ct,{value:se,maxLength:24,"aria-label":e("category.name"),onChange:function(r){Ve(r.target.value)},onPressEnter:Ft})),s("p",{className:"dssm-help"},e("category.note"))),s("div",{className:"dssm-modal-actions"},xe(e("btn.cancel"),function(){A(null)},"outline"),xe(e(lt?"btn.confirm":"category.create"),Ft,"primary",b||!oa))))}if(C&&typeof C=="object"&&C.type==="category-add"){var Be=C,Rt=c.trim().toLowerCase(),ia=Be.skills.filter(function(r){return!Rt||r.name.toLowerCase().includes(Rt)||r.declaredName&&r.declaredName.toLowerCase().includes(Rt)||r.description&&r.description.toLowerCase().includes(Rt)}),Aa=new Set(Be.skills.map(function(r){return r.name})),$=Object.keys(de).filter(function(r){return de[r]&&Aa.has(r)}).length;Oe.push(s(at,{key:"category-add",title:e("category.selectSkills",{name:Be.name}),closeLabel:e("btn.close"),onClose:function(){S({}),K(""),A(null)}},s(ct,{placeholder:e("search.placeholder"),value:c,allowClear:!0,onChange:function(r){K(r.target.value)}}),s("div",{className:"dssm-batch-list"},ia.length?ia.map(function(r){var o=!!de[r.name];return s("div",{key:r.name,className:"dssm-batch-item"+(o?" selected":""),onClick:function(){var w=Object.assign({},de);o?delete w[r.name]:w[r.name]=!0,S(w)}},s("input",{type:"checkbox",checked:o,readOnly:!0}),s("div",{className:"dssm-batch-info"},s("div",{className:"dssm-batch-name-row"},s("span",{className:"dssm-batch-name"},r.declaredName||r.name),r.currentCatName?s("span",{className:"dssm-batch-cat-tag"},r.currentCatName):null),r.description?s("div",{className:"dssm-batch-desc",title:r.description},r.description):null))}):s("div",{className:"dssm-empty"},e("category.noAvailableSkills"))),s("div",{className:"dssm-modal-actions"},xe(e("btn.cancel"),function(){S({}),K(""),A(null)},"outline"),xe(e("category.addSkills")+($?" ("+$+")":""),function(){var r=Object.keys(de).filter(function(w){return de[w]&&Aa.has(w)});if(!r.length){S({}),K(""),A(null);return}if(!nt.current){var o=function(w){return Be.workspace?Object.assign({},w,{workspace:Be.workspace}):w};nt.current=!0,v(!0),S({}),K(""),A(null),r.reduce(function(w,T){return w.then(function(){return l("/category-assign",{method:"POST",headers:qt,body:JSON.stringify(o({root:Be.root,name:T,category:Be.id}))})})},Promise.resolve()).then(function(){q({ok:!0,text:e("category.batchAssigned",{count:r.length,category:Be.name})})}).catch(function(w){q({ok:!1,text:ye(e,w)})}).finally(function(){nt.current=!1,v(!1);var w=Be.workspace;Promise.all([He(!0),w?Ee(w):null]).catch(function(){})})}},"primary",b||!$))))}return C&&typeof C=="object"&&C.type==="category-delete"&&Oe.push(s(at,{key:"category-delete",title:e("confirm.category.title"),description:e("confirm.category.desc",{name:C.name}),closeLabel:e("btn.close"),onClose:function(){A(null)},footer:s(ma.Fragment,null,xe(e("btn.cancel"),function(){A(null)},"outline"),xe(e("category.delete"),function(){ie("/category-delete",{root:C.root,id:C.id,workspace:C.workspace},"category.deleted",{name:C.name}).then(function(){A(null)}).catch(function(){})},"danger",b))})),s("section",{className:"dssm-section"},Oe)}var ks=["slots","locale"];function xs(t){ga=t.locale,t.effect(function(){return t.locale.register(Lt,ha)});var e,l;t.effect(function(){return e=Nr({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:Qn,isEnabled:function(){return l?l.isOnlineUpdateEnabled():!0}}),function(){typeof e=="function"&&e(),e=void 0}},"skills-manager: plugin update ui"),Ir(t,function(){return t.locale.bind(Lt)("title")}),t.slots.inject("settings.section",function(){return t.slots.register({name:"settings.section",id:"skills-manager",order:25,label:function(){return t.locale.bind(Lt)("title")},icon:"skill",locale:Lt},Br)}),l=_a(t,{callApi:fa,headers:qt,renderPanel:function(d){return s(Br,Object.assign({t:t.locale.bind(Lt)},d))},ns:Lt,onOnlineUpdateChange:function(){e&&typeof e.refresh=="function"&&e.refresh()}}),t.effect(function(){return function(){l&&typeof l.destroy=="function"&&(l.destroy(),l=void 0)}},"skills-manager: sidebar entry cleanup")}module.exports.formatTrashTime=qr;module.exports.DICT=ha;module.exports.translateError=ye;module.exports.parseApiResponse=Wr;module.exports.resolveApiUrl=ca;module.exports.isSkillEnabled=za;module.exports.countKey=Ta;module.exports.rootDisplayName=Tt;module.exports.summarizeImportResult=Qr;module.exports.normalizeSkillQuery=Zr;module.exports.matchSkillQuery=ar;module.exports.filterSkills=Jn;module.exports.visibleSkillRoots=rr;module.exports.scopeSkillRoots=Gr;module.exports.skillStatus=nr;module.exports.countSkillStatuses=Yr;module.exports.currentSessionId=en;module.exports.canToggleSource=Jr;module.exports.recoverModalFocus=$r;module.exports.trapModalFocus=es;module.exports.inspectUploadSelection=Xr;module.exports.setupSidebarEntry=_a;module.exports.apply=xs;module.exports.inject=ks;
|
|
46
46
|
return module.exports;
|
|
47
47
|
} });
|