@max-null/dsh-skill-mcp-center 0.7.0 → 0.7.1

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.
Files changed (2) hide show
  1. package/client.js +21 -36
  2. package/package.json +1 -1
package/client.js CHANGED
@@ -146,19 +146,6 @@ var CSS = `
146
146
  .smc-group .smc-count { font-size: 11px; font-weight: 400; color: var(--dsw-alias-label-caption); }
147
147
  .smc-detail { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--dsw-alias-border-l1); font-size: 12px; color: var(--dsw-alias-label-secondary); word-break: break-all; }
148
148
  .smc-detail-row { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
149
- /* DSH 0.1.x \u8BBE\u7F6E\u5BFC\u822A\u65E0 icon \u5951\u7EA6\uFF08external section \u4E00\u5F8B\u9ED8\u8BA4\u9F7F\u8F6E\uFF09\u3002settings-nav-icon
150
- \u6807\u8BB0\u672C\u63D2\u4EF6\u884C\u540E\uFF1A\u9690\u85CF\u58F3\u6E32\u67D3\u7684\u9F7F\u8F6E SVG\uFF0C\u7528 Lucide wrench \u7684 currentColor mask \u66FF\u6362\uFF0C
151
- \u8DDF\u968F\u539F\u751F\u5BFC\u822A hover/active \u989C\u8272\u4E14\u4E0D\u6539\u53D8\u58F3\u7684 16px \u56FE\u6807\u8282\u594F\u3002 */
152
- [data-dsh-skill-mcp-center-settings-nav] > svg:first-child { display: none; }
153
- [data-dsh-skill-mcp-center-settings-nav]::before {
154
- content: '';
155
- flex: none;
156
- width: 16px;
157
- height: 16px;
158
- background: currentColor;
159
- -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z'/%3E%3C/svg%3E") center / contain no-repeat;
160
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z'/%3E%3C/svg%3E") center / contain no-repeat;
161
- }
162
149
  `;
163
150
  var cssInjected = false;
164
151
  function injectCss() {
@@ -169,29 +156,22 @@ function injectCss() {
169
156
  style.textContent = CSS;
170
157
  document.head.append(style);
171
158
  }
172
- var SETTINGS_NAV_MARKER = "data-dsh-skill-mcp-center-settings-nav";
173
- function registerSettingsNavIcon(label) {
174
- let disposed = false;
175
- const sync = () => {
176
- if (disposed) return;
177
- const currentLabel = label().trim();
178
- const buttons = document.querySelectorAll('[role="dialog"] nav button');
179
- for (const button of buttons) {
180
- const matches = currentLabel.length > 0 && button.textContent?.trim() === currentLabel;
181
- if (matches) button.setAttribute(SETTINGS_NAV_MARKER, "");
182
- else button.removeAttribute(SETTINGS_NAV_MARKER);
159
+ function NavIcon({ size }) {
160
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
161
+ "svg",
162
+ {
163
+ width: size,
164
+ height: size,
165
+ viewBox: "0 0 24 24",
166
+ fill: "none",
167
+ stroke: "currentColor",
168
+ strokeWidth: 2,
169
+ strokeLinecap: "round",
170
+ strokeLinejoin: "round",
171
+ "aria-hidden": "true",
172
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z" })
183
173
  }
184
- };
185
- sync();
186
- const observer = new MutationObserver(sync);
187
- observer.observe(document.body, { childList: true, subtree: true, characterData: true });
188
- return () => {
189
- disposed = true;
190
- observer.disconnect();
191
- document.querySelectorAll(`[${SETTINGS_NAV_MARKER}]`).forEach((element) => {
192
- element.removeAttribute(SETTINGS_NAV_MARKER);
193
- });
194
- };
174
+ );
195
175
  }
196
176
  var LOCALE_NS = "@max-null/dsh-skill-mcp-center";
197
177
  var t = (key) => key;
@@ -1072,7 +1052,12 @@ function apply(ctx) {
1072
1052
  localeRevision += 1;
1073
1053
  localeListeners.forEach((l) => l());
1074
1054
  }));
1075
- ctx.effect(() => registerSettingsNavIcon(() => "Skill & MCP"));
1055
+ ctx.slots.inject("settings.section.icon", () => ctx.slots.register({
1056
+ name: "settings.section.icon",
1057
+ id: "skill-mcp-center",
1058
+ order: 60,
1059
+ label: () => "Skill & MCP"
1060
+ }, (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NavIcon, { size: props?.size ?? 16 })));
1076
1061
  ctx.slots.inject("settings.section", () => ctx.slots.register({
1077
1062
  name: "settings.section",
1078
1063
  id: "skill-mcp-center",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@max-null/dsh-skill-mcp-center",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Skill & MCP management center for DeepSeek Harness — manage skills and MCP servers in Settings, live MCP status in the sidebar",
5
5
  "license": "MIT",
6
6
  "publishConfig": {