dsh-skill-hub 0.2.5 → 0.2.6
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/lib/client.js +27 -5
- package/lib/client.js.map +1 -1
- package/lib/index.js +2 -0
- package/lib/types/client/SkillHubSettingsCard.d.ts +1 -1
- package/lib/types/client/locales.d.ts +1 -1
- package/lib/types/client/settings-card.d.ts +2 -0
- package/lib/types/protocol.d.ts +2 -0
- package/package.json +1 -1
- package/src/client/SkillHubSettingsCard.tsx +12 -1
- package/src/client/locales.ts +1 -1
- package/src/client/settings-card.module.css +1 -0
- package/src/client/settings-card.tsx +3 -1
- package/src/protocol.ts +2 -0
- package/src/routes.test.ts +1 -0
- package/src/routes.ts +2 -2
package/lib/client.js
CHANGED
|
@@ -479,7 +479,7 @@ window.__ModuleLoader__.load({
|
|
|
479
479
|
"form.success": "已创建:",
|
|
480
480
|
"form.error": "创建失败:",
|
|
481
481
|
"err.dismiss": "知道了",
|
|
482
|
-
"settings.title": "
|
|
482
|
+
"settings.title": "技能中枢",
|
|
483
483
|
"settings.description": "管理 dsh 本地技能目录:浏览、分组、来源同步与新建。",
|
|
484
484
|
"settings.enabled": "启用插件",
|
|
485
485
|
"settings.enabledHint": "关闭后技能中枢的路由、入口与公告全部下线。",
|
|
@@ -1112,7 +1112,7 @@ window.__ModuleLoader__.load({
|
|
|
1112
1112
|
}
|
|
1113
1113
|
//#endregion
|
|
1114
1114
|
//#region \0dsh-css:/Users/huanyi/Documents/personal/tools/dsh-skill-hub/src/client/settings-card.module.css.mjs
|
|
1115
|
-
const css$1 = ".TqD_hG_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;list-style:none;transition:border-color .16s,background .16s}.TqD_hG_card:hover{border-color:var(--dsw-alias-label-dimmed)}.TqD_hG_cardOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}.TqD_hG_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.TqD_hG_header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.TqD_hG_headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.TqD_hG_name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}.TqD_hG_description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}.TqD_hG_pending{white-space:nowrap;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.TqD_hG_chevron,.TqD_hG_chevronOpen{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}.TqD_hG_chevronOpen{transform:rotate(180deg)}.TqD_hG_body{border-top:1px solid var(--dsw-alias-border-l2);margin:0 16px;padding-bottom:8px}.TqD_hG_readOnly,.TqD_hG_notExposed{color:var(--dsw-alias-label-tertiary);margin:12px 0 0;font-size:12px;line-height:1.5}.TqD_hG_footer{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;align-items:center;gap:8px;padding:12px 0 4px;display:flex}.TqD_hG_failed{min-width:0;color:var(--dsw-alias-label-error);flex:1;margin:0;font-size:12px;line-height:1.5}.TqD_hG_discard,.TqD_hG_save{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:5px 14px;font-size:13px;line-height:1.5}.TqD_hG_discard{border-color:var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);background:0 0}.TqD_hG_discard:hover:not(:disabled){color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed)}.TqD_hG_save{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.TqD_hG_discard:disabled,.TqD_hG_save:disabled{opacity:.4;cursor:default}.TqD_hG_discard:focus-visible,.TqD_hG_save:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.TqD_hG_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.TqD_hG_field+.TqD_hG_field{border-top:1px solid var(--dsw-alias-border-l2)}.TqD_hG_head{align-items:center;gap:8px;display:flex}.TqD_hG_label{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:500;line-height:1.5}.TqD_hG_badges{align-items:center;gap:8px;display:inline-flex}.TqD_hG_badge{white-space:nowrap;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.TqD_hG_reset{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1.5}.TqD_hG_reset:hover:not(:disabled){color:var(--dsw-alias-label-primary)}.TqD_hG_reset:disabled{cursor:default}.TqD_hG_input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);height:34px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 12px;font-size:13px;line-height:1.5}.TqD_hG_input:focus-visible{border-color:var(--dsw-alias-brand-primary);outline:none}.TqD_hG_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.TqD_hG_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}.TqD_hG_colorRow{align-items:center;gap:8px;display:flex}.TqD_hG_colorInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);cursor:pointer;border-radius:8px;width:34px;height:34px;padding:0}.TqD_hG_colorInput:disabled{opacity:.5;cursor:default}.TqD_hG_colorInput::-webkit-color-swatch-wrapper{padding:2px}.TqD_hG_colorInput::-webkit-color-swatch{border:none;border-radius:4px}.TqD_hG_colorText{flex:1;min-width:0}.TqD_hG_switchRow{align-items:center;gap:12px;display:flex}.TqD_hG_switchText{flex:1;min-width:0}.TqD_hG_switch,.TqD_hG_switchOn{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);cursor:pointer;border-radius:999px;flex:none;width:38px;height:22px;padding:2px;transition:background .15s,border-color .15s}.TqD_hG_switchOn{border-color:var(--dsw-alias-state-business-primary,#2f81f7);background:var(--dsw-alias-state-business-primary,#2f81f7)}.TqD_hG_switch:disabled,.TqD_hG_switchOn:disabled{opacity:.4;cursor:default}.TqD_hG_switchThumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;display:block;transform:translate(0);box-shadow:0 1px 2px #00000040}.TqD_hG_switchOn .TqD_hG_switchThumb{transform:translate(16px)}";
|
|
1115
|
+
const css$1 = ".TqD_hG_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;list-style:none;transition:border-color .16s,background .16s}.TqD_hG_card:hover{border-color:var(--dsw-alias-label-dimmed)}.TqD_hG_cardOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}.TqD_hG_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.TqD_hG_header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.TqD_hG_headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.TqD_hG_name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}.TqD_hG_description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}.TqD_hG_versionTag{opacity:.45;white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:1px;margin-left:6px;font-size:12px;font-weight:500}.TqD_hG_pending{white-space:nowrap;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.TqD_hG_chevron,.TqD_hG_chevronOpen{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}.TqD_hG_chevronOpen{transform:rotate(180deg)}.TqD_hG_body{border-top:1px solid var(--dsw-alias-border-l2);margin:0 16px;padding-bottom:8px}.TqD_hG_readOnly,.TqD_hG_notExposed{color:var(--dsw-alias-label-tertiary);margin:12px 0 0;font-size:12px;line-height:1.5}.TqD_hG_footer{border-top:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;align-items:center;gap:8px;padding:12px 0 4px;display:flex}.TqD_hG_failed{min-width:0;color:var(--dsw-alias-label-error);flex:1;margin:0;font-size:12px;line-height:1.5}.TqD_hG_discard,.TqD_hG_save{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:5px 14px;font-size:13px;line-height:1.5}.TqD_hG_discard{border-color:var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);background:0 0}.TqD_hG_discard:hover:not(:disabled){color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed)}.TqD_hG_save{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.TqD_hG_discard:disabled,.TqD_hG_save:disabled{opacity:.4;cursor:default}.TqD_hG_discard:focus-visible,.TqD_hG_save:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}.TqD_hG_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.TqD_hG_field+.TqD_hG_field{border-top:1px solid var(--dsw-alias-border-l2)}.TqD_hG_head{align-items:center;gap:8px;display:flex}.TqD_hG_label{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:500;line-height:1.5}.TqD_hG_badges{align-items:center;gap:8px;display:inline-flex}.TqD_hG_badge{white-space:nowrap;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500;line-height:17px}.TqD_hG_reset{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1.5}.TqD_hG_reset:hover:not(:disabled){color:var(--dsw-alias-label-primary)}.TqD_hG_reset:disabled{cursor:default}.TqD_hG_input{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);height:34px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 12px;font-size:13px;line-height:1.5}.TqD_hG_input:focus-visible{border-color:var(--dsw-alias-brand-primary);outline:none}.TqD_hG_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.TqD_hG_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}.TqD_hG_colorRow{align-items:center;gap:8px;display:flex}.TqD_hG_colorInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);cursor:pointer;border-radius:8px;width:34px;height:34px;padding:0}.TqD_hG_colorInput:disabled{opacity:.5;cursor:default}.TqD_hG_colorInput::-webkit-color-swatch-wrapper{padding:2px}.TqD_hG_colorInput::-webkit-color-swatch{border:none;border-radius:4px}.TqD_hG_colorText{flex:1;min-width:0}.TqD_hG_switchRow{align-items:center;gap:12px;display:flex}.TqD_hG_switchText{flex:1;min-width:0}.TqD_hG_switch,.TqD_hG_switchOn{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);cursor:pointer;border-radius:999px;flex:none;width:38px;height:22px;padding:2px;transition:background .15s,border-color .15s}.TqD_hG_switchOn{border-color:var(--dsw-alias-state-business-primary,#2f81f7);background:var(--dsw-alias-state-business-primary,#2f81f7)}.TqD_hG_switch:disabled,.TqD_hG_switchOn:disabled{opacity:.4;cursor:default}.TqD_hG_switchThumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;display:block;transform:translate(0);box-shadow:0 1px 2px #00000040}.TqD_hG_switchOn .TqD_hG_switchThumb{transform:translate(16px)}";
|
|
1116
1116
|
const tagId$1 = "dsh-skill-hub/settings-card.module.css";
|
|
1117
1117
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
1118
1118
|
const tag = document.createElement("style");
|
|
@@ -1153,7 +1153,8 @@ window.__ModuleLoader__.load({
|
|
|
1153
1153
|
"switchOn": "TqD_hG_switchOn",
|
|
1154
1154
|
"switchRow": "TqD_hG_switchRow",
|
|
1155
1155
|
"switchText": "TqD_hG_switchText",
|
|
1156
|
-
"switchThumb": "TqD_hG_switchThumb"
|
|
1156
|
+
"switchThumb": "TqD_hG_switchThumb",
|
|
1157
|
+
"versionTag": "TqD_hG_versionTag"
|
|
1157
1158
|
};
|
|
1158
1159
|
//#endregion
|
|
1159
1160
|
//#region src/client/settings-card.tsx
|
|
@@ -1186,9 +1187,12 @@ window.__ModuleLoader__.load({
|
|
|
1186
1187
|
children: [
|
|
1187
1188
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
1188
1189
|
className: settings_card_module_css_default.headText,
|
|
1189
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.
|
|
1190
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
1190
1191
|
className: settings_card_module_css_default.name,
|
|
1191
|
-
children: title
|
|
1192
|
+
children: [title, props.version !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
1193
|
+
className: settings_card_module_css_default.versionTag,
|
|
1194
|
+
children: ["v", props.version]
|
|
1195
|
+
}) : null]
|
|
1192
1196
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1193
1197
|
className: settings_card_module_css_default.description,
|
|
1194
1198
|
children: props.t(props.descriptionKey)
|
|
@@ -1625,6 +1629,13 @@ window.__ModuleLoader__.load({
|
|
|
1625
1629
|
};
|
|
1626
1630
|
//#endregion
|
|
1627
1631
|
//#region src/client/SkillHubSettingsCard.tsx
|
|
1632
|
+
/**
|
|
1633
|
+
* The dsh-skill-hub plugin settings card: bridges the hub's settings
|
|
1634
|
+
* namespace (bound through the official settings transport) onto the
|
|
1635
|
+
* family-style staged card form (enabled master switch + agent announcement).
|
|
1636
|
+
* Registered into the official `settings.plugin.item` slot keyed by that
|
|
1637
|
+
* namespace, so the plugin shows up in Settings → 插件 on dsh rc.7+.
|
|
1638
|
+
*/
|
|
1628
1639
|
/** Bridges the hub's config scope onto the card's staged form. */
|
|
1629
1640
|
var SkillHubSettingsCardController = class {
|
|
1630
1641
|
form;
|
|
@@ -1683,6 +1694,16 @@ window.__ModuleLoader__.load({
|
|
|
1683
1694
|
function SkillHubSettingsCard(props) {
|
|
1684
1695
|
const { t } = props;
|
|
1685
1696
|
const state = props.useSkillHubSettingsCard((snapshot) => snapshot);
|
|
1697
|
+
const [version, setVersion] = (0, react.useState)(void 0);
|
|
1698
|
+
(0, react.useEffect)(() => {
|
|
1699
|
+
let cancelled = false;
|
|
1700
|
+
new SkillHubApi().config().then((res) => {
|
|
1701
|
+
if (!cancelled && res.ok) setVersion(res.pluginVersion);
|
|
1702
|
+
}).catch(() => {});
|
|
1703
|
+
return () => {
|
|
1704
|
+
cancelled = true;
|
|
1705
|
+
};
|
|
1706
|
+
}, []);
|
|
1686
1707
|
const disabled = !state.writable;
|
|
1687
1708
|
const fieldProps = {
|
|
1688
1709
|
overriddenLabel: t("settings.overridden"),
|
|
@@ -1693,6 +1714,7 @@ window.__ModuleLoader__.load({
|
|
|
1693
1714
|
t,
|
|
1694
1715
|
titleKey: "settings.title",
|
|
1695
1716
|
descriptionKey: "settings.description",
|
|
1717
|
+
version,
|
|
1696
1718
|
state,
|
|
1697
1719
|
onSave: props.save,
|
|
1698
1720
|
onDiscard: props.discard,
|