@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # DSH Plugin Hub
2
2
 
3
- DSH 原生资源面板,当前版本 **0.2.2**。支持 Web 与 Desktop、中英文界面;从右上角 Plugin Hub 图标打开,保留当前会话。
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, selected = false, 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, "aria-pressed": selected, icon: /* @__PURE__ */ import_react3.default.createElement(import_dsh_client_ui_primitives3.IconCordisPluginOutline14, { size: 18 }), onClick })));
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"), selected: true, 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) => {
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) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaimokuza/dsh-plugin-hub",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "private": false,
5
5
  "description": "Native DSH resource hub: Skills, MCP, third-party plugins and experiments",
6
6
  "type": "module",