@max-null/dsh-node-appearance 0.4.0 → 0.6.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/README.md +35 -6
- package/docs/shots//344/272/244/344/273/230/350/241/214-/345/261/225/345/274/200.png +0 -0
- package/docs/shots//344/272/244/344/273/230/350/241/214-/346/212/230/345/217/240.png +0 -0
- package/docs/shots//350/256/276/347/275/256/345/215/241/347/211/207.png +0 -0
- package/lib/client.js +374 -92
- package/lib/client.js.map +1 -1
- package/lib/index.js +16 -14
- package/lib/types/client/deliverable-model.d.ts +69 -0
- package/lib/types/client/deliverable-model.d.ts.map +1 -0
- package/lib/types/client/deliverable-row.d.ts +19 -0
- package/lib/types/client/deliverable-row.d.ts.map +1 -0
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/palette.d.ts +1 -1
- package/lib/types/client/palette.d.ts.map +1 -1
- package/lib/types/client/settings-card.d.ts +5 -5
- package/lib/types/client/settings-card.d.ts.map +1 -1
- package/lib/types/index.d.ts +89 -10
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +22 -19
- package/docs/shots//350/256/276/347/275/256/351/241/265/346/210/252/345/233/276.png +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-card.d.ts","sourceRoot":"","sources":["../../../src/client/settings-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"settings-card.d.ts","sourceRoot":"","sources":["../../../src/client/settings-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAEpF,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAIhF,OAAO,EAEL,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAC/C,MAAM,cAAc,CAAA;AAGrB,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE;QACL,4EAA4E;QAC5E,cAAc,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,CAAA;KAC/E,CAAA;IACD,oFAAoF;IACpF,KAAK,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,yCAAyC;IACzC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpC,yDAAyD;IACzD,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7D,2DAA2D;IAC3D,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/C,gCAAgC;IAChC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAED,4DAA4D;AAC5D,MAAM,MAAM,sBAAsB,GAChC,YAAY,CAAC,uBAAuB,CAAC,GACnC,UAAU,CAAC,qBAAqB,CAAC,CAAA;AA4CrC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,sBAAsB,+BAgIvJ"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* half reads the same namespace through `ctx.settingsScope` and paints the
|
|
5
5
|
* chat flow from it — see `src/client/`.
|
|
6
6
|
*/
|
|
7
|
-
import type { Context } from '@deepseek-ai/cordis';
|
|
7
|
+
import type { Context, Volatile } from '@deepseek-ai/cordis';
|
|
8
|
+
import type { Dict } from '@deepseek-ai/cosmokit';
|
|
8
9
|
import z from '@deepseek-ai/schemastery';
|
|
9
10
|
export declare const name = "dsh-node-appearance";
|
|
10
11
|
/** The settings namespace this plugin owns (spelled identically in both halves).
|
|
@@ -17,6 +18,7 @@ export interface NodeAppearanceColors {
|
|
|
17
18
|
agent: string;
|
|
18
19
|
execute: string;
|
|
19
20
|
file: string;
|
|
21
|
+
deliver: string;
|
|
20
22
|
task: string;
|
|
21
23
|
ask: string;
|
|
22
24
|
command: string;
|
|
@@ -25,22 +27,99 @@ export interface NodeAppearanceColors {
|
|
|
25
27
|
steering: string;
|
|
26
28
|
other: string;
|
|
27
29
|
}
|
|
28
|
-
/** The plugin configuration: palette plus the Think-visibility switch.
|
|
30
|
+
/** The plugin configuration: palette plus the Think-visibility switch.
|
|
31
|
+
*
|
|
32
|
+
* 0.1.7 起插件的 Config schema 本身就构成它的 settings section(不再有
|
|
33
|
+
* `installSection`),可变字段用 `Volatile<T>` + `.volatile()` 声明,读值走
|
|
34
|
+
* `config.<field>.get()`。见官方同款范例 `web-search-deepseek/src/index.ts`。
|
|
35
|
+
*
|
|
36
|
+
* **三个字段都要标 volatile**:`settings/src/schema.ts` 的 `isVolatilePath`
|
|
37
|
+
* 只承认「祖先节点标了 volatile」的路径,而 `settings/src/index.ts:406` 对
|
|
38
|
+
* 非 volatile 路径直接 `throw new Error(... is not volatile)`。所以漏标
|
|
39
|
+
* `colors` / `toolColors` 会让浏览器半的 `mutate()` 写配色时抛错。标了之后
|
|
40
|
+
* 其整棵子树(含 `colors.search` 这类)都可写。 */
|
|
29
41
|
export interface Config {
|
|
30
42
|
/** Show assistant reasoning blocks as Think rows; false hides them on the frontend. */
|
|
31
|
-
showThinking: boolean
|
|
43
|
+
showThinking: Volatile<boolean>;
|
|
32
44
|
/** Per-category accent colors. */
|
|
33
|
-
colors: NodeAppearanceColors
|
|
45
|
+
colors: Volatile<NodeAppearanceColors>;
|
|
34
46
|
/** Per-tool accent overrides keyed by wire tool name. */
|
|
35
|
-
toolColors:
|
|
47
|
+
toolColors: Volatile<Dict<string>>;
|
|
36
48
|
}
|
|
37
49
|
/** Initial palette: mid-luminance hues readable on both light and dark themes. */
|
|
38
50
|
export declare const DEFAULT_COLORS: NodeAppearanceColors;
|
|
39
|
-
export declare const Config: z<
|
|
51
|
+
export declare const Config: z<Schemastery.ObjectS<NoInfer<{
|
|
52
|
+
showThinking: z<boolean, boolean, "volatile-defined">;
|
|
53
|
+
colors: z<NoInfer<Schemastery.ObjectS<NoInfer<{
|
|
54
|
+
search: z<string, string, "defined">;
|
|
55
|
+
agent: z<string, string, "defined">;
|
|
56
|
+
execute: z<string, string, "defined">;
|
|
57
|
+
file: z<string, string, "defined">;
|
|
58
|
+
deliver: z<string, string, "defined">;
|
|
59
|
+
task: z<string, string, "defined">;
|
|
60
|
+
ask: z<string, string, "defined">;
|
|
61
|
+
command: z<string, string, "defined">;
|
|
62
|
+
thinking: z<string, string, "defined">;
|
|
63
|
+
context: z<string, string, "defined">;
|
|
64
|
+
steering: z<string, string, "defined">;
|
|
65
|
+
other: z<string, string, "defined">;
|
|
66
|
+
}>>>, NoInfer<Schemastery.ObjectT<NoInfer<{
|
|
67
|
+
search: z<string, string, "defined">;
|
|
68
|
+
agent: z<string, string, "defined">;
|
|
69
|
+
execute: z<string, string, "defined">;
|
|
70
|
+
file: z<string, string, "defined">;
|
|
71
|
+
deliver: z<string, string, "defined">;
|
|
72
|
+
task: z<string, string, "defined">;
|
|
73
|
+
ask: z<string, string, "defined">;
|
|
74
|
+
command: z<string, string, "defined">;
|
|
75
|
+
thinking: z<string, string, "defined">;
|
|
76
|
+
context: z<string, string, "defined">;
|
|
77
|
+
steering: z<string, string, "defined">;
|
|
78
|
+
other: z<string, string, "defined">;
|
|
79
|
+
}>>>, "volatile-defined">;
|
|
80
|
+
toolColors: z<NoInfer<Dict<string, string>>, NoInfer<Dict<string, string>>, "volatile-defined">;
|
|
81
|
+
}>>, Schemastery.ObjectT<NoInfer<{
|
|
82
|
+
showThinking: z<boolean, boolean, "volatile-defined">;
|
|
83
|
+
colors: z<NoInfer<Schemastery.ObjectS<NoInfer<{
|
|
84
|
+
search: z<string, string, "defined">;
|
|
85
|
+
agent: z<string, string, "defined">;
|
|
86
|
+
execute: z<string, string, "defined">;
|
|
87
|
+
file: z<string, string, "defined">;
|
|
88
|
+
deliver: z<string, string, "defined">;
|
|
89
|
+
task: z<string, string, "defined">;
|
|
90
|
+
ask: z<string, string, "defined">;
|
|
91
|
+
command: z<string, string, "defined">;
|
|
92
|
+
thinking: z<string, string, "defined">;
|
|
93
|
+
context: z<string, string, "defined">;
|
|
94
|
+
steering: z<string, string, "defined">;
|
|
95
|
+
other: z<string, string, "defined">;
|
|
96
|
+
}>>>, NoInfer<Schemastery.ObjectT<NoInfer<{
|
|
97
|
+
search: z<string, string, "defined">;
|
|
98
|
+
agent: z<string, string, "defined">;
|
|
99
|
+
execute: z<string, string, "defined">;
|
|
100
|
+
file: z<string, string, "defined">;
|
|
101
|
+
deliver: z<string, string, "defined">;
|
|
102
|
+
task: z<string, string, "defined">;
|
|
103
|
+
ask: z<string, string, "defined">;
|
|
104
|
+
command: z<string, string, "defined">;
|
|
105
|
+
thinking: z<string, string, "defined">;
|
|
106
|
+
context: z<string, string, "defined">;
|
|
107
|
+
steering: z<string, string, "defined">;
|
|
108
|
+
other: z<string, string, "defined">;
|
|
109
|
+
}>>>, "volatile-defined">;
|
|
110
|
+
toolColors: z<NoInfer<Dict<string, string>>, NoInfer<Dict<string, string>>, "volatile-defined">;
|
|
111
|
+
}>>, "plain">;
|
|
40
112
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
113
|
+
* The Host half no longer installs a settings section itself.
|
|
114
|
+
*
|
|
115
|
+
* 0.1.7 的 settings 服务的公开面只有 `configure` / `describe` / `update` /
|
|
116
|
+
* `replace` / `mutate`(`settings/src/index.ts`),`installSection` 已不存在——
|
|
117
|
+
* 调它只会抛 TypeError。现在 section 由 loader 依据本模块导出的 `Config`
|
|
118
|
+
* schema 自动构成(`settings/src/schema.ts` 的 `volatileForm`),namespace 就是
|
|
119
|
+
* 本插件的 entry id(`node-appearance`,与 {@link NODE_APPEARANCE_NS} 同值)。
|
|
120
|
+
* 浏览器半经 `ctx.configForms.get(NS)` 读写同一份。
|
|
121
|
+
* @param _ctx - Host context(此处无需注册任何东西)。
|
|
122
|
+
* @param _config - composed entry config,由 settings 服务按 schema 解析。
|
|
44
123
|
*/
|
|
45
|
-
export declare function apply(
|
|
124
|
+
export declare function apply(_ctx: Context, _config: Config): void;
|
|
46
125
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAK5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAExC,eAAO,MAAM,IAAI,wBAAwB,CAAA;AAEzC;;sDAEsD;AACtD,eAAO,MAAM,kBAAkB,oBAAoB,CAAA;AAEnD,8CAA8C;AAC9C,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;sCAUsC;AACtC,MAAM,WAAW,MAAM;IACrB,uFAAuF;IACvF,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC/B,kCAAkC;IAClC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA;IACtC,yDAAyD;IACzD,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;CACnC;AAED,kFAAkF;AAClF,eAAO,MAAM,cAAc,EAAE,oBAa5B,CAAA;AAMD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiBjB,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAG"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@max-null/dsh-node-appearance",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "会话节点外观插件:节点/工具分类着色(可配置)、提问卡展示全部选项并高亮选中、交付文件清单展开、目标详情折叠条、思考过程显示开关(DeepSeek Harness Web GUI)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -24,7 +24,9 @@
|
|
|
24
24
|
"files": [
|
|
25
25
|
"lib",
|
|
26
26
|
"cordis.patch.yml",
|
|
27
|
-
"README.md",
|
|
27
|
+
"README.md",
|
|
28
|
+
"docs/shots"
|
|
29
|
+
],
|
|
28
30
|
"dsh": {
|
|
29
31
|
"bundle": {
|
|
30
32
|
"patch": "./cordis.patch.yml"
|
|
@@ -32,7 +34,7 @@
|
|
|
32
34
|
"client": {
|
|
33
35
|
"inject": [
|
|
34
36
|
"@deepseek-ai/dsh-client-ui-settings",
|
|
35
|
-
"@deepseek-ai/dsh-client-ui-
|
|
37
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager"
|
|
36
38
|
],
|
|
37
39
|
"platform": "web",
|
|
38
40
|
"immediately": true
|
|
@@ -63,26 +65,27 @@
|
|
|
63
65
|
"prepublishOnly": "npm run build && npm test"
|
|
64
66
|
},
|
|
65
67
|
"dependencies": {
|
|
66
|
-
"@deepseek-ai/schemastery": "
|
|
68
|
+
"@deepseek-ai/schemastery": "^3.18.4",
|
|
69
|
+
"@deepseek-ai/cosmokit": "^1.8.5"
|
|
67
70
|
},
|
|
68
71
|
"peerDependencies": {
|
|
69
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
70
|
-
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.
|
|
71
|
-
"@deepseek-ai/dsh-client-ui-settings": "^0.1.
|
|
72
|
-
"@deepseek-ai/dsh-client-ui-
|
|
73
|
-
"@deepseek-ai/dsh-client-ui-slots": "^0.1.
|
|
74
|
-
"@deepseek-ai/dsh-settings": "^0.1.
|
|
72
|
+
"@deepseek-ai/cordis": "^4.0.4",
|
|
73
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.2",
|
|
74
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.2",
|
|
75
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-rc.2",
|
|
76
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.2",
|
|
77
|
+
"@deepseek-ai/dsh-settings": "^0.1.7-rc.2",
|
|
75
78
|
"react": "^18.2.0"
|
|
76
79
|
},
|
|
77
80
|
"devDependencies": {
|
|
78
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
79
|
-
"@deepseek-ai/dsh-client-store": "^0.1.
|
|
80
|
-
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.
|
|
81
|
-
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.
|
|
82
|
-
"@deepseek-ai/dsh-client-ui-settings": "^0.1.
|
|
83
|
-
"@deepseek-ai/dsh-client-ui-
|
|
84
|
-
"@deepseek-ai/dsh-client-ui-slots": "^0.1.
|
|
85
|
-
"@deepseek-ai/dsh-settings": "^0.1.
|
|
81
|
+
"@deepseek-ai/cordis": "^4.0.4",
|
|
82
|
+
"@deepseek-ai/dsh-client-store": "^0.1.7-rc.2",
|
|
83
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.2",
|
|
84
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.2",
|
|
85
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.2",
|
|
86
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-rc.2",
|
|
87
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.2",
|
|
88
|
+
"@deepseek-ai/dsh-settings": "^0.1.7-rc.2",
|
|
86
89
|
"@types/node": "^26.0.0",
|
|
87
90
|
"@types/react": "~18.3.1",
|
|
88
91
|
"lightningcss": "^1.32.0",
|