dsh-composer-ux 0.3.0 → 0.4.0
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 +44 -0
- package/README.md +33 -7
- package/lib/client.js +658 -270
- package/lib/client.js.map +4 -4
- package/lib/index.js +27 -12
- package/lib/index.js.map +2 -2
- package/package.json +2 -2
package/lib/index.js
CHANGED
|
@@ -804,6 +804,7 @@ var MENU_FIELDS = [
|
|
|
804
804
|
"menuDelete",
|
|
805
805
|
"menuSelectAll"
|
|
806
806
|
];
|
|
807
|
+
var MENU_MODE_FIELD = "menuMode";
|
|
807
808
|
var MENU_NATIVE_FIELD = "menuNative";
|
|
808
809
|
var QUICK_PROMPTS_FIELD = "quickPrompts";
|
|
809
810
|
var OPTIMIZER_TIER_FIELD = "optimizerTier";
|
|
@@ -820,15 +821,15 @@ var OPTIMIZE_OUTPUT_MAX = 12e3;
|
|
|
820
821
|
var OPTIMIZER_API_PATH = "/composer-ux/optimize";
|
|
821
822
|
var DEFAULT_OPTIMIZER_TIER = "advanced";
|
|
822
823
|
var DEFAULT_QUICK_PROMPTS = [
|
|
823
|
-
{ id: "builtin-1", label: "\u4E00\u95EE\u4E00\u7B54", prompt: "\u4F60\u4E0D\u61C2\u7684\u5C31\u95EE\u6211\uFF0C\u4E00\u95EE\u4E00\u7B54\uFF1B\u540C\u65F6\u8BF4\u6E05\u695A\u4F60\u4E3A\u4EC0\u4E48\u8981\u95EE\u8BE5\u95EE\u9898\uFF1B\u76F4\u5230\u4F60\u5BF9\u6211\u7684\u76EE\u6807\u6709\u660E\u786E\u8BA4\u77E5\u540E\u518D\u5F00\u59CB\u5E72\u6D3B\u3002", always: false },
|
|
824
|
-
{ id: "builtin-2", label: "\u4EA4\u63A5\u6587\u6863", prompt: "\u628A\u8FD9\u6B21\u4EFB\u52A1\u3001\u5DF2\u5B8C\u6210\u5185\u5BB9\u3001\u5F53\u524D\u5361\u70B9\u3001\u4E0B\u4E00\u6B65\u8BA1\u5212\u3001\u8E29\u8FC7\u7684\u5751\uFF0C\u6574\u7406\u6210\u4E00\u4EFD\u4EA4\u63A5\u6587\u6863\uFF0C\u5199\u7ED9\u65B0\u4F1A\u8BDD\u770B\u3002", always: false },
|
|
825
|
-
{ id: "builtin-3", label: "\u4EC5\u8BF4\u660E\u539F\u56E0", prompt: "\u4EC5\u8BF4\u660E\u539F\u56E0\uFF0C\u4E0D\u8981\u505A\u5176\u4ED6\u52A8\u4F5C\u3002", always: false },
|
|
826
|
-
{ id: "builtin-4", label: "\u5206\u6790\u540E\u76F4\u63A5\u5E72", prompt: "\u5206\u6790\u539F\u56E0\uFF0C\u7136\u540E\u76F4\u63A5\u5F00\u59CB\u5E72\u6D3B\uFF0C\u4E0D\u9700\u8981\u8FC7\u95EE\u6211\u3002", always: false },
|
|
827
|
-
{ id: "builtin-5", label: "\u63D0\u4EA4\u4EE3\u7801", prompt: "\u8BF7\u5E2E\u6211\u63D0\u4EA4\u4EE3\u7801\uFF1A\u68C0\u67E5\u5F53\u524D git \u53D8\u66F4\uFF0C\u751F\u6210\u89C4\u8303\u7684 commit message \u5E76\u6267\u884C\u63D0\u4EA4\u3002", always: false },
|
|
828
|
-
{ id: "builtin-6", label: "\u7ED9\u65B9\u6848", prompt: "\u8BF7\u9488\u5BF9\u4E0A\u9762\u7684\u95EE\u9898\u7ED9\u51FA\u4E00\u4E2A\u5B8C\u6574\u65B9\u6848\uFF0C\u5305\u62EC\u601D\u8DEF\u3001\u6B65\u9AA4\u3001\u6CE8\u610F\u4E8B\u9879\u548C\u98CE\u9669\u3002", always: false },
|
|
829
|
-
{ id: "builtin-7", label: "\u89E3\u91CA\u4EE3\u7801", prompt: "\u8BF7\u89E3\u91CA\u8FD9\u6BB5\u4EE3\u7801\u7684\u4F5C\u7528\u548C\u5B9E\u73B0\u601D\u8DEF\u3002", always: false },
|
|
830
|
-
{ id: "builtin-8", label: "\u5199\u6D4B\u8BD5", prompt: "\u8BF7\u4E3A\u4E0B\u9762\u7684\u4EE3\u7801\u7F16\u5199\u5355\u5143\u6D4B\u8BD5\u3002", always: false },
|
|
831
|
-
{ id: "builtin-9", label: "\u4EE3\u7801\u5BA1\u67E5", prompt: "\u8BF7\u5BF9\u4E0B\u9762\u7684\u4EE3\u7801\u8FDB\u884C\u4EE3\u7801\u5BA1\u67E5\uFF0C\u6307\u51FA\u95EE\u9898\u5E76\u7ED9\u51FA\u6539\u8FDB\u5EFA\u8BAE\u3002", always: false }
|
|
824
|
+
{ id: "builtin-1", label: "\u4E00\u95EE\u4E00\u7B54", prompt: "\u4F60\u4E0D\u61C2\u7684\u5C31\u95EE\u6211\uFF0C\u4E00\u95EE\u4E00\u7B54\uFF1B\u540C\u65F6\u8BF4\u6E05\u695A\u4F60\u4E3A\u4EC0\u4E48\u8981\u95EE\u8BE5\u95EE\u9898\uFF1B\u76F4\u5230\u4F60\u5BF9\u6211\u7684\u76EE\u6807\u6709\u660E\u786E\u8BA4\u77E5\u540E\u518D\u5F00\u59CB\u5E72\u6D3B\u3002", always: false, firstOnly: false },
|
|
825
|
+
{ id: "builtin-2", label: "\u4EA4\u63A5\u6587\u6863", prompt: "\u628A\u8FD9\u6B21\u4EFB\u52A1\u3001\u5DF2\u5B8C\u6210\u5185\u5BB9\u3001\u5F53\u524D\u5361\u70B9\u3001\u4E0B\u4E00\u6B65\u8BA1\u5212\u3001\u8E29\u8FC7\u7684\u5751\uFF0C\u6574\u7406\u6210\u4E00\u4EFD\u4EA4\u63A5\u6587\u6863\uFF0C\u5199\u7ED9\u65B0\u4F1A\u8BDD\u770B\u3002", always: false, firstOnly: false },
|
|
826
|
+
{ id: "builtin-3", label: "\u4EC5\u8BF4\u660E\u539F\u56E0", prompt: "\u4EC5\u8BF4\u660E\u539F\u56E0\uFF0C\u4E0D\u8981\u505A\u5176\u4ED6\u52A8\u4F5C\u3002", always: false, firstOnly: false },
|
|
827
|
+
{ id: "builtin-4", label: "\u5206\u6790\u540E\u76F4\u63A5\u5E72", prompt: "\u5206\u6790\u539F\u56E0\uFF0C\u7136\u540E\u76F4\u63A5\u5F00\u59CB\u5E72\u6D3B\uFF0C\u4E0D\u9700\u8981\u8FC7\u95EE\u6211\u3002", always: false, firstOnly: false },
|
|
828
|
+
{ id: "builtin-5", label: "\u63D0\u4EA4\u4EE3\u7801", prompt: "\u8BF7\u5E2E\u6211\u63D0\u4EA4\u4EE3\u7801\uFF1A\u68C0\u67E5\u5F53\u524D git \u53D8\u66F4\uFF0C\u751F\u6210\u89C4\u8303\u7684 commit message \u5E76\u6267\u884C\u63D0\u4EA4\u3002", always: false, firstOnly: false },
|
|
829
|
+
{ id: "builtin-6", label: "\u7ED9\u65B9\u6848", prompt: "\u8BF7\u9488\u5BF9\u4E0A\u9762\u7684\u95EE\u9898\u7ED9\u51FA\u4E00\u4E2A\u5B8C\u6574\u65B9\u6848\uFF0C\u5305\u62EC\u601D\u8DEF\u3001\u6B65\u9AA4\u3001\u6CE8\u610F\u4E8B\u9879\u548C\u98CE\u9669\u3002", always: false, firstOnly: false },
|
|
830
|
+
{ id: "builtin-7", label: "\u89E3\u91CA\u4EE3\u7801", prompt: "\u8BF7\u89E3\u91CA\u8FD9\u6BB5\u4EE3\u7801\u7684\u4F5C\u7528\u548C\u5B9E\u73B0\u601D\u8DEF\u3002", always: false, firstOnly: false },
|
|
831
|
+
{ id: "builtin-8", label: "\u5199\u6D4B\u8BD5", prompt: "\u8BF7\u4E3A\u4E0B\u9762\u7684\u4EE3\u7801\u7F16\u5199\u5355\u5143\u6D4B\u8BD5\u3002", always: false, firstOnly: false },
|
|
832
|
+
{ id: "builtin-9", label: "\u4EE3\u7801\u5BA1\u67E5", prompt: "\u8BF7\u5BF9\u4E0B\u9762\u7684\u4EE3\u7801\u8FDB\u884C\u4EE3\u7801\u5BA1\u67E5\uFF0C\u6307\u51FA\u95EE\u9898\u5E76\u7ED9\u51FA\u6539\u8FDB\u5EFA\u8BAE\u3002", always: false, firstOnly: false }
|
|
832
833
|
];
|
|
833
834
|
function newQuickPromptId() {
|
|
834
835
|
return `qp-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
@@ -855,7 +856,13 @@ function asPromptRow(value) {
|
|
|
855
856
|
const id = typeof row.id === "string" && row.id !== "" ? row.id.slice(0, 64) : newQuickPromptId();
|
|
856
857
|
const order = typeof row.order === "number" && Number.isFinite(row.order) ? Math.max(1, Math.round(row.order)) : void 0;
|
|
857
858
|
return {
|
|
858
|
-
prompt: {
|
|
859
|
+
prompt: {
|
|
860
|
+
id,
|
|
861
|
+
label: label === "" ? prompt.slice(0, 12) : label,
|
|
862
|
+
prompt,
|
|
863
|
+
always: row.always === true || row.autoSend === true,
|
|
864
|
+
firstOnly: row.firstOnly === true || row.autoSendFirst === true
|
|
865
|
+
},
|
|
859
866
|
order
|
|
860
867
|
};
|
|
861
868
|
}
|
|
@@ -918,6 +925,8 @@ function bookToFile(book) {
|
|
|
918
925
|
title: prompt.label,
|
|
919
926
|
text: prompt.prompt,
|
|
920
927
|
autoSend: prompt.always,
|
|
928
|
+
// 「仅首次」是我们加的键,只在为真时写出来:文件形状尽量贴近参考实现。
|
|
929
|
+
...prompt.firstOnly ? { autoSendFirst: true } : {},
|
|
921
930
|
order: index + 1
|
|
922
931
|
}))
|
|
923
932
|
}))
|
|
@@ -947,7 +956,7 @@ var DEFAULT_SETTINGS = {
|
|
|
947
956
|
menuPaste: true,
|
|
948
957
|
menuDelete: true,
|
|
949
958
|
menuSelectAll: true,
|
|
950
|
-
|
|
959
|
+
menuMode: "official",
|
|
951
960
|
panelScroll: true,
|
|
952
961
|
panelResize: true,
|
|
953
962
|
headerEnabled: false,
|
|
@@ -1343,7 +1352,13 @@ function apply(ctx) {
|
|
|
1343
1352
|
field,
|
|
1344
1353
|
Schema.boolean().default(DEFAULT_SETTINGS[field])
|
|
1345
1354
|
])),
|
|
1346
|
-
|
|
1355
|
+
// 右键菜单模式(0.5.0 起三档)。**故意不给默认值、且声明成可选**:
|
|
1356
|
+
// 「文档里没有这个键」本身就是迁移要用的信息——净化据此按旧布尔 menuNative
|
|
1357
|
+
// 推断(见 menuModeFrom)。给了默认值就再也分不出「从没设置过」与「明确设成了它」。
|
|
1358
|
+
[MENU_MODE_FIELD]: Schema.string().required(false),
|
|
1359
|
+
// 旧的布尔字段:只作迁移线索,故同样不给默认值——旧文档里的 true / false
|
|
1360
|
+
// 都要保住原意(true = 浏览器菜单、false = 明确选过自定义菜单)。
|
|
1361
|
+
[MENU_NATIVE_FIELD]: Schema.boolean().required(false),
|
|
1347
1362
|
[PANEL_SCROLL_FIELD]: Schema.boolean().default(DEFAULT_SETTINGS.panelScroll),
|
|
1348
1363
|
[PANEL_RESIZE_FIELD]: Schema.boolean().default(DEFAULT_SETTINGS.panelResize),
|
|
1349
1364
|
// schemastery 无 .optional():可选键用 .required(false)。
|