@lmzhen/dsh-evolution-settings-ui 0.27.3 → 0.29.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/lib/client.js
CHANGED
|
@@ -28,6 +28,12 @@ window.__ModuleLoader__.load({
|
|
|
28
28
|
health: "/api/dsh-evolution/skill-history/health"
|
|
29
29
|
},
|
|
30
30
|
"skill-health": { rows: "/api/dsh-evolution/skill-health/rows" },
|
|
31
|
+
merge: {
|
|
32
|
+
view: "/api/dsh-evolution/merge/view",
|
|
33
|
+
rows: "/api/dsh-evolution/merge/rows",
|
|
34
|
+
run: "/api/dsh-evolution/merge/run",
|
|
35
|
+
runs: "/api/dsh-evolution/merge/runs"
|
|
36
|
+
},
|
|
31
37
|
diagnostics: { view: "/api/dsh-evolution/diagnostics" }
|
|
32
38
|
};
|
|
33
39
|
//#endregion
|
|
@@ -94,12 +100,16 @@ window.__ModuleLoader__.load({
|
|
|
94
100
|
ok: true,
|
|
95
101
|
data: record.data
|
|
96
102
|
};
|
|
97
|
-
|
|
103
|
+
const nested = record.error;
|
|
104
|
+
const errorRecord = typeof nested === "object" && nested !== null ? nested : void 0;
|
|
105
|
+
const code = typeof record.code === "string" && record.code !== "" ? record.code : typeof errorRecord?.code === "string" ? errorRecord.code : void 0;
|
|
106
|
+
const message = typeof record.message === "string" && record.message !== "" ? record.message : typeof errorRecord?.message === "string" ? errorRecord.message : void 0;
|
|
107
|
+
if (record.ok === false && code !== void 0 && message !== void 0 && message !== "") return {
|
|
98
108
|
ok: false,
|
|
99
109
|
failure: {
|
|
100
110
|
kind: "refused",
|
|
101
|
-
code
|
|
102
|
-
message
|
|
111
|
+
code,
|
|
112
|
+
message
|
|
103
113
|
}
|
|
104
114
|
};
|
|
105
115
|
}
|
|
@@ -331,6 +341,48 @@ window.__ModuleLoader__.load({
|
|
|
331
341
|
}
|
|
332
342
|
]
|
|
333
343
|
},
|
|
344
|
+
{
|
|
345
|
+
namespace: "evolution-merge",
|
|
346
|
+
seatKey: "evolution-merge",
|
|
347
|
+
fields: [
|
|
348
|
+
{
|
|
349
|
+
id: "mergeApproval",
|
|
350
|
+
group: "merge",
|
|
351
|
+
doc: "Pause after round 1 and put the pair in the pending queue instead of authoring round 2 automatically.",
|
|
352
|
+
label: "合并审批",
|
|
353
|
+
hint: "开启后,第一轮判定完先停下、进入待批准清单;关闭则直接进入第二轮合并。",
|
|
354
|
+
control: "switch",
|
|
355
|
+
unit: "",
|
|
356
|
+
values: [],
|
|
357
|
+
valueLabels: [],
|
|
358
|
+
atLeast: ""
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
id: "mergeSkippedTtlDays",
|
|
362
|
+
group: "merge",
|
|
363
|
+
doc: "Days a skipped pair stays out of screening; 0 means it never expires.",
|
|
364
|
+
label: "无需合并保留天数",
|
|
365
|
+
hint: "判定无需合并的对,多少天内不再参与筛选;0 表示一直保留。",
|
|
366
|
+
control: "number",
|
|
367
|
+
unit: "天",
|
|
368
|
+
values: [],
|
|
369
|
+
valueLabels: [],
|
|
370
|
+
atLeast: ""
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
id: "mergeRunTimeoutMinutes",
|
|
374
|
+
group: "merge",
|
|
375
|
+
doc: "Wall-clock budget of one merge run; 0 means no limit.",
|
|
376
|
+
label: "单次运行上限",
|
|
377
|
+
hint: "一次合并运行最多持续多少分钟;0 表示不设上限。",
|
|
378
|
+
control: "number",
|
|
379
|
+
unit: "分钟",
|
|
380
|
+
values: [],
|
|
381
|
+
valueLabels: [],
|
|
382
|
+
atLeast: ""
|
|
383
|
+
}
|
|
384
|
+
]
|
|
385
|
+
},
|
|
334
386
|
{
|
|
335
387
|
namespace: "evolution-review",
|
|
336
388
|
seatKey: "evolution-review",
|
|
@@ -642,6 +694,7 @@ window.__ModuleLoader__.load({
|
|
|
642
694
|
"evolution-approval",
|
|
643
695
|
"evolution-commands",
|
|
644
696
|
"evolution-curator",
|
|
697
|
+
"evolution-merge",
|
|
645
698
|
"evolution-review",
|
|
646
699
|
"memory-files",
|
|
647
700
|
"tool-memory",
|
|
@@ -654,6 +707,7 @@ window.__ModuleLoader__.load({
|
|
|
654
707
|
"evolution-approval",
|
|
655
708
|
"evolution-commands",
|
|
656
709
|
"evolution-curator",
|
|
710
|
+
"evolution-merge",
|
|
657
711
|
"evolution-review",
|
|
658
712
|
"memory-files"
|
|
659
713
|
]
|
|
@@ -664,6 +718,7 @@ window.__ModuleLoader__.load({
|
|
|
664
718
|
"evolution-approval",
|
|
665
719
|
"evolution-commands",
|
|
666
720
|
"evolution-curator",
|
|
721
|
+
"evolution-merge",
|
|
667
722
|
"evolution-review",
|
|
668
723
|
"memory-files",
|
|
669
724
|
"tool-memory",
|
|
@@ -1211,6 +1266,7 @@ window.__ModuleLoader__.load({
|
|
|
1211
1266
|
approval: { command: "/evolution pending … /evolution approve <id> … /evolution reject <id> … /evolution release <id>" },
|
|
1212
1267
|
"skill-history": { command: "/evolution restore <name> [v](查看:/evolution skills history <name>)" },
|
|
1213
1268
|
"skill-health": { command: "/evolution skills refresh(健康行:/evolution doctor)" },
|
|
1269
|
+
merge: { command: "/evolution merge status / pending / approve <id> / report" },
|
|
1214
1270
|
diagnostics: {
|
|
1215
1271
|
command: "/evolution doctor",
|
|
1216
1272
|
platformCli: "dsh --json /evolution doctor"
|
|
@@ -1265,6 +1321,7 @@ window.__ModuleLoader__.load({
|
|
|
1265
1321
|
cardSkills: "技能写入规则",
|
|
1266
1322
|
cardApproval: "写入审批",
|
|
1267
1323
|
cardCommands: "维护扫描",
|
|
1324
|
+
cardMerge: "技能自动合并",
|
|
1268
1325
|
approvalTitle: "待批写入",
|
|
1269
1326
|
approvalLoading: "正在读取待批项…",
|
|
1270
1327
|
approvalEmpty: "没有待批的写入",
|
|
@@ -1348,6 +1405,7 @@ window.__ModuleLoader__.load({
|
|
|
1348
1405
|
cardSkills: "Skill write rules",
|
|
1349
1406
|
cardApproval: "Write approval",
|
|
1350
1407
|
cardCommands: "Maintenance scans",
|
|
1408
|
+
cardMerge: "Skill auto-merge",
|
|
1351
1409
|
approvalTitle: "Writes awaiting approval",
|
|
1352
1410
|
approvalLoading: "reading the pending window…",
|
|
1353
1411
|
approvalEmpty: "nothing is waiting for a decision",
|
|
@@ -1408,7 +1466,8 @@ window.__ModuleLoader__.load({
|
|
|
1408
1466
|
"evolution-curator": "cardCurator",
|
|
1409
1467
|
"tool-skill-manage": "cardSkills",
|
|
1410
1468
|
"evolution-approval": "cardApproval",
|
|
1411
|
-
"evolution-commands": "cardCommands"
|
|
1469
|
+
"evolution-commands": "cardCommands",
|
|
1470
|
+
"evolution-merge": "cardMerge"
|
|
1412
1471
|
});
|
|
1413
1472
|
/**
|
|
1414
1473
|
* Resolve one message without the locale seat (tests and the fallback path).
|
|
@@ -2065,7 +2124,7 @@ window.__ModuleLoader__.load({
|
|
|
2065
2124
|
* @returns the section element.
|
|
2066
2125
|
*/
|
|
2067
2126
|
function SettingsSection(face) {
|
|
2068
|
-
return (0, react.createElement)("div", { className: "evolution-params" }, (0, react.createElement)("h2", { className: "evolution-params-title" }, face.t("title")), (0, react.createElement)("p", { className: "evolution-params-subtitle" }, face.t("subtitle")), (0, react.createElement)("p", { className: "evolution-params-about" }, "0.
|
|
2127
|
+
return (0, react.createElement)("div", { className: "evolution-params" }, (0, react.createElement)("h2", { className: "evolution-params-title" }, face.t("title")), (0, react.createElement)("p", { className: "evolution-params-subtitle" }, face.t("subtitle")), (0, react.createElement)("p", { className: "evolution-params-about" }, "0.29.0 · Web settings cards for the evolution family's parameter namespaces"), (0, react.createElement)("div", {
|
|
2069
2128
|
key: PENDING_CARD_KEY,
|
|
2070
2129
|
className: "evolution-params-group"
|
|
2071
2130
|
}, face.renderSlot(CARD_SLOT, {}, { entryKey: PENDING_CARD_KEY })), (0, react.createElement)("div", {
|
|
@@ -4,5 +4,5 @@ import type { FallbackHint } from './contracts.generated.ts';
|
|
|
4
4
|
* COMMAND_FALLBACKS (the ONE home). When the platform's connection carrier is absent (E-325) the
|
|
5
5
|
* panels render this hint instead of a bare HTTP failure — same use case, command face.
|
|
6
6
|
*/
|
|
7
|
-
export declare const FALLBACKS: Readonly<Record<'approval' | 'skill-history' | 'skill-health' | 'diagnostics', FallbackHint>>;
|
|
7
|
+
export declare const FALLBACKS: Readonly<Record<'approval' | 'skill-history' | 'skill-health' | 'merge' | 'diagnostics', FallbackHint>>;
|
|
8
8
|
//# sourceMappingURL=fallbacks.generated.d.ts.map
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* description, so the settings surface can state both without a hand-written copy.
|
|
6
6
|
*/
|
|
7
7
|
/** The family version this surface belongs to. */
|
|
8
|
-
export declare const FAMILY_VERSION = "0.
|
|
8
|
+
export declare const FAMILY_VERSION = "0.29.0";
|
|
9
9
|
/** What this surface is for, in one line. */
|
|
10
10
|
export declare const PACKAGE_PURPOSE = "Web settings cards for the evolution family's parameter namespaces";
|
|
11
11
|
//# sourceMappingURL=generated-about.d.ts.map
|
|
@@ -45,6 +45,7 @@ export declare const zh: {
|
|
|
45
45
|
readonly cardSkills: "技能写入规则";
|
|
46
46
|
readonly cardApproval: "写入审批";
|
|
47
47
|
readonly cardCommands: "维护扫描";
|
|
48
|
+
readonly cardMerge: "技能自动合并";
|
|
48
49
|
readonly approvalTitle: "待批写入";
|
|
49
50
|
readonly approvalLoading: "正在读取待批项…";
|
|
50
51
|
readonly approvalEmpty: "没有待批的写入";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** One host data-plane surface the browser half can call. */
|
|
2
|
-
export type SurfaceId = 'approval' | 'skill-history' | 'skill-health' | 'diagnostics';
|
|
2
|
+
export type SurfaceId = 'approval' | 'skill-history' | 'skill-health' | 'merge' | 'diagnostics';
|
|
3
3
|
/**
|
|
4
4
|
* Every family host path, generated from evolution-core's HOST_ROUTES (the ONE declaration).
|
|
5
5
|
* A browser half cannot import the host package at runtime (client bundles keep @deepseek-ai/*
|
|
@@ -24,6 +24,12 @@ export declare const ROUTES: {
|
|
|
24
24
|
readonly 'skill-health': {
|
|
25
25
|
readonly rows: "/api/dsh-evolution/skill-health/rows";
|
|
26
26
|
};
|
|
27
|
+
readonly merge: {
|
|
28
|
+
readonly view: "/api/dsh-evolution/merge/view";
|
|
29
|
+
readonly rows: "/api/dsh-evolution/merge/rows";
|
|
30
|
+
readonly run: "/api/dsh-evolution/merge/run";
|
|
31
|
+
readonly runs: "/api/dsh-evolution/merge/runs";
|
|
32
|
+
};
|
|
27
33
|
readonly diagnostics: {
|
|
28
34
|
readonly view: "/api/dsh-evolution/diagnostics";
|
|
29
35
|
};
|
package/package.json
CHANGED