@zaimokuza/dsh-plugin-hub 0.2.2 → 0.2.3
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/README.md +1 -1
- package/lib/client.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# DSH Plugin Hub
|
|
2
2
|
|
|
3
|
-
DSH 原生资源面板,当前版本 **0.2.
|
|
3
|
+
DSH 原生资源面板,当前版本 **0.2.3**。支持 Web 与 Desktop、中英文界面;从右上角 Plugin Hub 图标打开,点击关闭图标返回当前会话。
|
|
4
4
|
|
|
5
5
|
- **Skill**:搜索、按工作区筛选、启停、打开目录,使用 DSH 原生 Markdown 组件预览正文。
|
|
6
6
|
- **MCP**:JSON/YAML 配置编辑与格式化、环境变量引用、字段帮助、启停、重连、独立连接测试和删除。
|
package/lib/client.js
CHANGED
|
@@ -249,8 +249,8 @@ var css = `
|
|
|
249
249
|
.hub-entry-fallback { position: absolute; top: 16px; right: 24px; }
|
|
250
250
|
body:has(.hub-header-entry) .hub-entry-fallback { display: none; }
|
|
251
251
|
`;
|
|
252
|
-
function HubIconButton({ label,
|
|
253
|
-
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement("style", null, css), /* @__PURE__ */ import_react3.default.createElement(import_dsh_client_ui_primitives3.Tooltip, { label, side: "bottom" }, /* @__PURE__ */ import_react3.default.createElement(import_dsh_client_ui_primitives3.Button, { className: "hub-entry-button", "aria-label": label,
|
|
252
|
+
function HubIconButton({ label, icon = /* @__PURE__ */ import_react3.default.createElement(import_dsh_client_ui_primitives3.IconCordisPluginOutline14, { size: 18 }), onClick }) {
|
|
253
|
+
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement("style", null, css), /* @__PURE__ */ import_react3.default.createElement(import_dsh_client_ui_primitives3.Tooltip, { label, side: "bottom" }, /* @__PURE__ */ import_react3.default.createElement(import_dsh_client_ui_primitives3.Button, { className: "hub-entry-button", "aria-label": label, icon, onClick })));
|
|
254
254
|
}
|
|
255
255
|
function HubHeaderEntry({ ctx, panelId, brand }) {
|
|
256
256
|
return /* @__PURE__ */ import_react3.default.createElement("span", { className: "hub-header-entry" }, /* @__PURE__ */ import_react3.default.createElement(HubIconButton, { label: brand.navTitle, onClick: () => ctx.layout.selectPanel(panelId) }));
|
|
@@ -396,7 +396,7 @@ function ResourceHub({ ctx, request, experiments, t, brand, panelId }) {
|
|
|
396
396
|
setQuery("");
|
|
397
397
|
};
|
|
398
398
|
const activation = (state) => t({ active: "\u5DF2\u52A0\u8F7D", loading: "\u52A0\u8F7D\u4E2D", pending: "\u672A\u52A0\u8F7D", disabled: "\u5DF2\u7981\u7528", failed: "\u52A0\u8F7D\u5931\u8D25", disposed: "\u672A\u52A0\u8F7D", unloading: "\u52A0\u8F7D\u4E2D" }[state] ?? "\u672A\u77E5");
|
|
399
|
-
return /* @__PURE__ */ import_react4.default.createElement("section", { className: `hub-resource-page ${file ? "with-file" : ""}`, "aria-label": brand.title }, /* @__PURE__ */ import_react4.default.createElement("style", null, market_default, resources_default), /* @__PURE__ */ import_react4.default.createElement("div", { className: "hub-market hub-resource-content", style: { "--red": brand.primaryColor } }, /* @__PURE__ */ import_react4.default.createElement("div", { className: "hub-topline" }, /* @__PURE__ */ import_react4.default.createElement("div", { className: "hub-brand" }, /* @__PURE__ */ import_react4.default.createElement("span", { className: "hub-brandmark" }, /* @__PURE__ */ import_react4.default.createElement(import_dsh_client_ui_primitives4.IconCordisPluginOutline14, { size: 17 })), brand.title, /* @__PURE__ */ import_react4.default.createElement("span", { className: "hub-divider" }), brand.subTitle), /* @__PURE__ */ import_react4.default.createElement(HubIconButton, { label: t("\u8FD4\u56DE\u4F1A\u8BDD"),
|
|
399
|
+
return /* @__PURE__ */ import_react4.default.createElement("section", { className: `hub-resource-page ${file ? "with-file" : ""}`, "aria-label": brand.title }, /* @__PURE__ */ import_react4.default.createElement("style", null, market_default, resources_default), /* @__PURE__ */ import_react4.default.createElement("div", { className: "hub-market hub-resource-content", style: { "--red": brand.primaryColor } }, /* @__PURE__ */ import_react4.default.createElement("div", { className: "hub-topline" }, /* @__PURE__ */ import_react4.default.createElement("div", { className: "hub-brand" }, /* @__PURE__ */ import_react4.default.createElement("span", { className: "hub-brandmark" }, /* @__PURE__ */ import_react4.default.createElement(import_dsh_client_ui_primitives4.IconCordisPluginOutline14, { size: 17 })), brand.title, /* @__PURE__ */ import_react4.default.createElement("span", { className: "hub-divider" }), brand.subTitle), /* @__PURE__ */ import_react4.default.createElement(HubIconButton, { label: t("\u8FD4\u56DE\u4F1A\u8BDD"), icon: /* @__PURE__ */ import_react4.default.createElement(import_dsh_client_ui_primitives4.IconCloseOutline16, { size: 18 }), onClick: () => ctx.layout.selectPanel(null) })), /* @__PURE__ */ import_react4.default.createElement("header", { className: "hub-header" }, /* @__PURE__ */ import_react4.default.createElement("div", null, /* @__PURE__ */ import_react4.default.createElement("span", { className: "hub-eyebrow" }, "SKILLS \xB7 MCP \xB7 PLUGINS"), /* @__PURE__ */ import_react4.default.createElement("h1", null, t("\u8D44\u6E90\u7BA1\u7406"), /* @__PURE__ */ import_react4.default.createElement("span", null, ".")), /* @__PURE__ */ import_react4.default.createElement("p", null, t("\u5728\u5F53\u524D\u5B9E\u4F8B\u4E2D\u7BA1\u7406 Skill\u3001MCP \u548C\u63D2\u4EF6\u3002"))), /* @__PURE__ */ import_react4.default.createElement("div", { className: "hub-header-art", "aria-hidden": "true" }, /* @__PURE__ */ import_react4.default.createElement(import_dsh_client_ui_primitives4.IconCordisPluginOutline14, { size: 38 }), /* @__PURE__ */ import_react4.default.createElement("span", { className: "hub-art-plus" }, "+"), /* @__PURE__ */ import_react4.default.createElement("span", { className: "hub-art-dot" }))), /* @__PURE__ */ import_react4.default.createElement("div", { className: "hub-resource-profile" }, /* @__PURE__ */ import_react4.default.createElement(import_dsh_client_ui_primitives4.Pill, null, t("\u5F53\u524D profile"), " \xB7 ", data?.profile.name ?? "\u2026"), /* @__PURE__ */ import_react4.default.createElement("span", { className: "hub-resource-path", title: data?.profile.directory }, data?.profile.directory ?? "\u2026")), /* @__PURE__ */ import_react4.default.createElement("div", { role: "tablist", className: "hub-tabs", "aria-label": brand.title, onKeyDown: (event) => {
|
|
400
400
|
const index = tabs.findIndex((row) => row.id === tab);
|
|
401
401
|
const next = event.key === "ArrowRight" ? (index + 1) % tabs.length : event.key === "ArrowLeft" ? (index + tabs.length - 1) % tabs.length : event.key === "Home" ? 0 : event.key === "End" ? tabs.length - 1 : -1;
|
|
402
402
|
if (next !== -1) {
|