dsh-output-styles 0.4.1 → 0.4.2
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 +21 -0
- package/README.es.md +1 -1
- package/README.hi.md +1 -1
- package/README.md +1 -1
- package/README.pt.md +1 -1
- package/README.zh.md +1 -1
- package/lib/client.js +13 -3
- package/lib/index.js +19 -6
- package/lib/{invariant-B9LpUViP.js → invariant-CEWlfnrw.js} +42 -4
- package/lib/invariant.js +1 -1
- package/package.json +44 -47
- package/src/client/index.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,27 @@ All notable changes to this project are documented in this file. The format
|
|
|
4
4
|
follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the
|
|
5
5
|
project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.4.2] - 2026-08-21
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- **rc8 compatibility**: every `@deepseek-ai/dsh-*` dependency moves to
|
|
12
|
+
`0.1.0-rc.8` (devDependencies and the runtime storage dependencies pinned,
|
|
13
|
+
peer ranges `>=0.1.0-rc.8 <0.2.0`); the five README compatibility rows,
|
|
14
|
+
the `dshWorkshop` compatibility claim, and the compat workflow's rc8 pins
|
|
15
|
+
follow. Verified on a real rc8 profile: bundle install, row mount, and a
|
|
16
|
+
keyless headless run through the deterministic mock LLM (`SMOKE-OK`).
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **Web picker submits through the rc8 command Remote**: the generated
|
|
21
|
+
`commands.execute` client signature gained the image-attachment batch —
|
|
22
|
+
the `/style` picker passes an empty batch, keeping every switch on the
|
|
23
|
+
host's durable command lifecycle.
|
|
24
|
+
- **rc8 `commands.execute` arity in tests and the loader runner**: the
|
|
25
|
+
integration harness and `scripts/loader-runner.mjs` pass the image batch
|
|
26
|
+
and the abort signal explicitly, matching the rc8 registry signature.
|
|
27
|
+
|
|
7
28
|
## [0.4.1] - 2026-08-19
|
|
8
29
|
|
|
9
30
|
### Fixed
|
package/README.es.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
| Surface | Status |
|
|
26
26
|
|---|---|
|
|
27
|
-
| Harness | DeepSeek Harness `0.1.0-rc.
|
|
27
|
+
| Harness | DeepSeek Harness `0.1.0-rc.8` |
|
|
28
28
|
| Node | `^22.19.0 || >=24.0.0` |
|
|
29
29
|
| Platforms | Todas (host + cliente web) |
|
|
30
30
|
| Model | Cualquiera (inyección en el prompt del sistema) |
|
package/README.hi.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
| Surface | Status |
|
|
26
26
|
|---|---|
|
|
27
|
-
| Harness | DeepSeek Harness `0.1.0-rc.
|
|
27
|
+
| Harness | DeepSeek Harness `0.1.0-rc.8` |
|
|
28
28
|
| Node | `^22.19.0 || >=24.0.0` |
|
|
29
29
|
| Platforms | सभी (host + वेब क्लाइंट) |
|
|
30
30
|
| Model | कोई भी (सिस्टम-प्रॉम्प्ट इंजेक्शन) |
|
package/README.md
CHANGED
package/README.pt.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
| Surface | Status |
|
|
26
26
|
|---|---|
|
|
27
|
-
| Harness | DeepSeek Harness `0.1.0-rc.
|
|
27
|
+
| Harness | DeepSeek Harness `0.1.0-rc.8` |
|
|
28
28
|
| Node | `^22.19.0 || >=24.0.0` |
|
|
29
29
|
| Platforms | Todas (host + cliente web) |
|
|
30
30
|
| Model | Qualquer (injeção no prompt do sistema) |
|
package/README.zh.md
CHANGED
package/lib/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region
|
|
1
|
+
//#region lib/types/client/locales.js
|
|
2
2
|
/**
|
|
3
3
|
* Simplified Chinese dictionary (the key-set source of truth).
|
|
4
4
|
*
|
|
@@ -17,7 +17,17 @@ const en = {
|
|
|
17
17
|
"option.offDetail": "Restore the project default output style"
|
|
18
18
|
};
|
|
19
19
|
//#endregion
|
|
20
|
-
//#region
|
|
20
|
+
//#region lib/types/client/index.js
|
|
21
|
+
/**
|
|
22
|
+
* Browser half of `dsh-output-styles`: a popup picker decorating the HOST
|
|
23
|
+
* `/style` command. The picker reads the `style` session projection
|
|
24
|
+
* (`{ options, currentValue }`), which the host plugin keeps fresh, and
|
|
25
|
+
* submits the completed `/style <name>` / `/style off` line back through the
|
|
26
|
+
* command Remote — so every switch keeps the host's durable command
|
|
27
|
+
* lifecycle (`command/run`/`command/done`) and the projection stays the
|
|
28
|
+
* single displayed fact.
|
|
29
|
+
* @module dsh-output-styles/client
|
|
30
|
+
*/
|
|
21
31
|
/** Client plugin name; keep stable after publishing. */
|
|
22
32
|
const name = "dsh-output-styles-client";
|
|
23
33
|
/** Required client services: the command surface, the sessions face, the command Remote, and locale. */
|
|
@@ -78,7 +88,7 @@ function apply(ctx) {
|
|
|
78
88
|
},
|
|
79
89
|
onSelect: async (option, session) => {
|
|
80
90
|
const line = option.id === OFF_ID ? "/style off" : `/style ${option.id}`;
|
|
81
|
-
const result = await remote.commands.execute(session.sessionId, line);
|
|
91
|
+
const result = await remote.commands.execute(session.sessionId, line, []);
|
|
82
92
|
if (!result.ok) throw new Error(`command.execute failed: ${result.error.code}: ${result.error.message}`);
|
|
83
93
|
if (result.value === void 0) throw new Error(`unknown or malformed command: ${line}`);
|
|
84
94
|
}
|
package/lib/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { _ as styleSelectionSchema, c as loadStyleLibrary, d as STYLE_COMMAND, f as applyStyleEvent, g as STYLE_SOURCE, h as OUTPUT_STYLE_DOMAIN, i as installInvariant, l as truncateStyle, m as OFF, o as STYLE_NAME_RE, p as parseStyleInput, s as isValidStyleName, t as PACKAGE_NAME, u as EMPTY_STYLE_STATE, v as styleSelectionViewSchema } from "./invariant-
|
|
1
|
+
import { _ as styleSelectionSchema, c as loadStyleLibrary, d as STYLE_COMMAND, f as applyStyleEvent, g as STYLE_SOURCE, h as OUTPUT_STYLE_DOMAIN, i as installInvariant, l as truncateStyle, m as OFF, o as STYLE_NAME_RE, p as parseStyleInput, s as isValidStyleName, t as PACKAGE_NAME, u as EMPTY_STYLE_STATE, v as styleSelectionViewSchema } from "./invariant-CEWlfnrw.js";
|
|
2
2
|
import z from "@deepseek-ai/schemastery";
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { watch } from "node:fs";
|
|
6
6
|
import { installSettingsSection, settingsNamespace } from "@deepseek-ai/dsh-settings";
|
|
7
7
|
import { deriveEventMessage, foldSurface } from "@deepseek-ai/dsh-session/surface";
|
|
8
|
-
//#region
|
|
8
|
+
//#region lib/types/config.js
|
|
9
9
|
/**
|
|
10
10
|
* Serializable configuration, schema, and direct-call defaults.
|
|
11
11
|
*
|
|
@@ -79,7 +79,20 @@ function resolveConfig(config, defaultStylesDir) {
|
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
81
|
//#endregion
|
|
82
|
-
//#region
|
|
82
|
+
//#region lib/types/renderers.js
|
|
83
|
+
/**
|
|
84
|
+
* The `output.render.*` protocol: a presenter registry that turns raw
|
|
85
|
+
* model-visible text into display text. A renderer is a pure function —
|
|
86
|
+
* `presenter(text, meta)` maps args to presentation data and never touches
|
|
87
|
+
* the DOM — matched by tool name and content type, ordered by priority.
|
|
88
|
+
* Every rendered result carries its original text alongside, so any consumer
|
|
89
|
+
* (this plugin's `/export`, third-party panels) can log both and keep the
|
|
90
|
+
* "model-visible ⟺ reconstructable" invariant.
|
|
91
|
+
*
|
|
92
|
+
* This module is dependency-free (no DOM, no node: imports, no DSH imports)
|
|
93
|
+
* so the protocol vocabulary itself is portable and unit-testable anywhere.
|
|
94
|
+
* @module dsh-output-styles/renderers
|
|
95
|
+
*/
|
|
83
96
|
/**
|
|
84
97
|
* Validates a renderer before registration: id grammar, name, description,
|
|
85
98
|
* match shape, priority, presenter function. Throws on the first violation
|
|
@@ -232,7 +245,7 @@ const BUILTIN_RENDERERS = [{
|
|
|
232
245
|
presenter: (text) => enumerate(text)
|
|
233
246
|
}];
|
|
234
247
|
//#endregion
|
|
235
|
-
//#region
|
|
248
|
+
//#region lib/types/export.js
|
|
236
249
|
/**
|
|
237
250
|
* Session export: a pure projection of the current session's message surface
|
|
238
251
|
* into Markdown or sanitized HTML, with renderer application on top. The
|
|
@@ -396,7 +409,7 @@ function renderExport(registry, lines, format, rules, now = /* @__PURE__ */ new
|
|
|
396
409
|
};
|
|
397
410
|
}
|
|
398
411
|
//#endregion
|
|
399
|
-
//#region
|
|
412
|
+
//#region lib/types/runtime.js
|
|
400
413
|
/**
|
|
401
414
|
* Runtime boundary and Cordis activation: style resolution over the durable
|
|
402
415
|
* selection domain, the model-visible system-prompt section, the `/style`
|
|
@@ -824,7 +837,7 @@ function parseExportInput(rawInput) {
|
|
|
824
837
|
};
|
|
825
838
|
}
|
|
826
839
|
//#endregion
|
|
827
|
-
//#region
|
|
840
|
+
//#region lib/types/index.js
|
|
828
841
|
/**
|
|
829
842
|
* `dsh-output-styles`: Claude Code `outputStyles`-equivalent runtime output
|
|
830
843
|
* styles for DeepSeek Harness. The plugin registers a model-visible system
|
|
@@ -3,7 +3,16 @@ import { readFileSync, readdirSync } from "node:fs";
|
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { defineDomain, domainTable } from "@deepseek-ai/dsh-storage-domain";
|
|
5
5
|
import { parse } from "yaml";
|
|
6
|
-
//#region
|
|
6
|
+
//#region lib/types/types.js
|
|
7
|
+
/**
|
|
8
|
+
* Durable domain vocabulary and type-table merges owned by this package.
|
|
9
|
+
*
|
|
10
|
+
* The selection domain is the single source of the per-session style choice;
|
|
11
|
+
* its record schema doubles as the durable validation boundary. The `style`
|
|
12
|
+
* projection key is declared here (its one home) and re-exported from the
|
|
13
|
+
* package root so consumers receive the `SessionProjectionMap` merge.
|
|
14
|
+
* @module dsh-output-styles/types
|
|
15
|
+
*/
|
|
7
16
|
/** The reserved switch target that removes a session's selection. */
|
|
8
17
|
const OFF = "off";
|
|
9
18
|
/**
|
|
@@ -45,7 +54,16 @@ const styleSelectionViewSchema = z.object({
|
|
|
45
54
|
currentValue: z.string().min(1).nullable()
|
|
46
55
|
});
|
|
47
56
|
//#endregion
|
|
48
|
-
//#region
|
|
57
|
+
//#region lib/types/style-command.js
|
|
58
|
+
/**
|
|
59
|
+
* Strict parsing of the `/style` command input and the pure projection fold
|
|
60
|
+
* over its logged lifecycle events.
|
|
61
|
+
*
|
|
62
|
+
* The handler and the session-projection unit share {@link parseStyleInput}:
|
|
63
|
+
* the projection folds exactly the inputs the handler accepts, so the
|
|
64
|
+
* displayed selection can never diverge from what the command did.
|
|
65
|
+
* @module dsh-output-styles/style-command
|
|
66
|
+
*/
|
|
49
67
|
/** Command name registered on `ctx.commands`; also the log's `command/run` name. */
|
|
50
68
|
const STYLE_COMMAND = "style";
|
|
51
69
|
/**
|
|
@@ -112,7 +130,7 @@ function applyStyleEvent(state, event) {
|
|
|
112
130
|
};
|
|
113
131
|
}
|
|
114
132
|
//#endregion
|
|
115
|
-
//#region
|
|
133
|
+
//#region lib/types/style-library.js
|
|
116
134
|
/**
|
|
117
135
|
* Style-library loading: one style per `*.md` file (frontmatter + body),
|
|
118
136
|
* with optional Claude Code `outputStyles` JSON compatibility (single entry
|
|
@@ -386,7 +404,27 @@ function truncateStyle(body, maxChars, marker) {
|
|
|
386
404
|
return chars.slice(0, maxChars).join("") + marker;
|
|
387
405
|
}
|
|
388
406
|
//#endregion
|
|
389
|
-
//#region
|
|
407
|
+
//#region lib/types/invariant.js
|
|
408
|
+
/**
|
|
409
|
+
* Package-owned invariant companion for `dsh-output-styles`.
|
|
410
|
+
*
|
|
411
|
+
* Two post-commit diagnostic checks over the events this plugin's write path
|
|
412
|
+
* produces (both target events are committed before dispatch, so a violation
|
|
413
|
+
* is reported — via the host registry's `fail` — rather than vetoed):
|
|
414
|
+
*
|
|
415
|
+
* 1. Every `output_style`/`selection` durable write carries this plugin's own
|
|
416
|
+
* source marker and a legal style name; when the library is known,
|
|
417
|
+
* the name must be a library member.
|
|
418
|
+
* 2. A successful `/style <name>` command has a matching selection record on
|
|
419
|
+
* its session by the time its `command/done` settles, and `/style off`
|
|
420
|
+
* leaves no record. The standalone companion (no library/domain handle)
|
|
421
|
+
* skips this check.
|
|
422
|
+
*
|
|
423
|
+
* The main plugin registers a facts-bearing installer from its own context;
|
|
424
|
+
* the `./invariant` export is the standalone companion usable through a
|
|
425
|
+
* separate profile row.
|
|
426
|
+
* @module dsh-output-styles/invariant
|
|
427
|
+
*/
|
|
390
428
|
/** Full npm package name owning the reported failures. */
|
|
391
429
|
const PACKAGE_NAME = "dsh-output-styles";
|
|
392
430
|
/** Cordis companion plugin name. */
|
package/lib/invariant.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as name, i as installInvariant, n as apply, r as inject, t as PACKAGE_NAME } from "./invariant-
|
|
1
|
+
import { a as name, i as installInvariant, n as apply, r as inject, t as PACKAGE_NAME } from "./invariant-CEWlfnrw.js";
|
|
2
2
|
export { PACKAGE_NAME, apply, inject, installInvariant, name };
|
package/package.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-output-styles",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Claude Code outputStyles-equivalent runtime output-style switching for DeepSeek Harness",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"packageManager": "pnpm@11.7.0",
|
|
8
7
|
"license": "Apache-2.0",
|
|
9
8
|
"author": "PerryLink",
|
|
10
9
|
"repository": {
|
|
@@ -21,19 +20,6 @@
|
|
|
21
20
|
"engines": {
|
|
22
21
|
"node": "^22.19.0 || >=24.0.0"
|
|
23
22
|
},
|
|
24
|
-
"scripts": {
|
|
25
|
-
"build": "node -e \"require('node:fs').rmSync('lib',{recursive:true,force:true})\" && tsc -p tsconfig.json --noEmitOnError --pretty false && tsdown && tsdown -c tsdown.client.config.ts && node scripts/fix-dts.mjs",
|
|
26
|
-
"test": "vitest run",
|
|
27
|
-
"test:coverage": "vitest run --coverage",
|
|
28
|
-
"lint": "oxlint",
|
|
29
|
-
"check:readmes": "node scripts/check-readme-sync.mjs",
|
|
30
|
-
"typecheck": "tsc -p tsconfig.json --noEmitOnError --pretty false && tsc -p tsconfig.vitest.json --pretty false",
|
|
31
|
-
"verify": "pnpm run typecheck && pnpm test && pnpm run verify:self-contained",
|
|
32
|
-
"verify:self-contained": "node scripts/verify-self-contained.mjs",
|
|
33
|
-
"verify:artifacts": "node scripts/verify-artifacts.mjs",
|
|
34
|
-
"prepublishOnly": "pnpm run verify",
|
|
35
|
-
"prepare": "node scripts/prepare.mjs"
|
|
36
|
-
},
|
|
37
23
|
"main": "lib/index.js",
|
|
38
24
|
"types": "lib/types/index.d.ts",
|
|
39
25
|
"exports": {
|
|
@@ -120,7 +106,7 @@
|
|
|
120
106
|
],
|
|
121
107
|
"compatibility": {
|
|
122
108
|
"dshVersions": [
|
|
123
|
-
"0.1.0-rc.
|
|
109
|
+
"0.1.0-rc.8"
|
|
124
110
|
]
|
|
125
111
|
},
|
|
126
112
|
"capability": {
|
|
@@ -137,18 +123,18 @@
|
|
|
137
123
|
}
|
|
138
124
|
},
|
|
139
125
|
"dependencies": {
|
|
140
|
-
"@deepseek-ai/dsh-storage": "0.1.0-rc.
|
|
141
|
-
"@deepseek-ai/dsh-storage-domain": "0.1.0-rc.
|
|
142
|
-
"@deepseek-ai/dsh-storage-json": "0.1.0-rc.
|
|
126
|
+
"@deepseek-ai/dsh-storage": "0.1.0-rc.8",
|
|
127
|
+
"@deepseek-ai/dsh-storage-domain": "0.1.0-rc.8",
|
|
128
|
+
"@deepseek-ai/dsh-storage-json": "0.1.0-rc.8",
|
|
143
129
|
"yaml": "^2.8.0",
|
|
144
130
|
"zod": "^4.4.3"
|
|
145
131
|
},
|
|
146
132
|
"peerDependencies": {
|
|
147
133
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
148
|
-
"@deepseek-ai/dsh-session": ">=0.1.0-rc.
|
|
149
|
-
"@deepseek-ai/dsh-session-projection": ">=0.1.0-rc.
|
|
150
|
-
"@deepseek-ai/dsh-settings": ">=0.1.0-rc.
|
|
151
|
-
"@deepseek-ai/dsh-storage-domain": ">=0.1.0-rc.
|
|
134
|
+
"@deepseek-ai/dsh-session": ">=0.1.0-rc.8 <0.2.0",
|
|
135
|
+
"@deepseek-ai/dsh-session-projection": ">=0.1.0-rc.8 <0.2.0",
|
|
136
|
+
"@deepseek-ai/dsh-settings": ">=0.1.0-rc.8 <0.2.0",
|
|
137
|
+
"@deepseek-ai/dsh-storage-domain": ">=0.1.0-rc.8 <0.2.0",
|
|
152
138
|
"@deepseek-ai/schemastery": "^3.18.1"
|
|
153
139
|
},
|
|
154
140
|
"peerDependenciesMeta": {
|
|
@@ -175,29 +161,29 @@
|
|
|
175
161
|
"@deepseek-ai/cordis": "4.0.1",
|
|
176
162
|
"@deepseek-ai/cordis-plugin-include": "1.0.6",
|
|
177
163
|
"@deepseek-ai/cordis-plugin-loader": "1.0.2",
|
|
178
|
-
"@deepseek-ai/dsh-agent": "0.1.0-rc.
|
|
179
|
-
"@deepseek-ai/dsh-api-remotes": "0.1.0-rc.
|
|
180
|
-
"@deepseek-ai/dsh-attachment": "0.1.0-rc.
|
|
181
|
-
"@deepseek-ai/dsh-brand": "0.1.0-rc.
|
|
182
|
-
"@deepseek-ai/dsh-client-locale": "0.1.0-rc.
|
|
183
|
-
"@deepseek-ai/dsh-client-runtime": "0.1.0-rc.
|
|
184
|
-
"@deepseek-ai/dsh-client-ui-commands": "0.1.0-rc.
|
|
185
|
-
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.0-rc.
|
|
186
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.
|
|
187
|
-
"@deepseek-ai/dsh-commands": "0.1.0-rc.
|
|
188
|
-
"@deepseek-ai/dsh-llm": "0.1.0-rc.
|
|
189
|
-
"@deepseek-ai/dsh-scope": "0.1.0-rc.
|
|
190
|
-
"@deepseek-ai/dsh-session": "0.1.0-rc.
|
|
191
|
-
"@deepseek-ai/dsh-session-persistence": "0.1.0-rc.
|
|
192
|
-
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.0-rc.
|
|
193
|
-
"@deepseek-ai/dsh-session-projection": "0.1.0-rc.
|
|
194
|
-
"@deepseek-ai/dsh-settings": "0.1.0-rc.
|
|
195
|
-
"@deepseek-ai/dsh-storage": "0.1.0-rc.
|
|
196
|
-
"@deepseek-ai/dsh-storage-domain": "0.1.0-rc.
|
|
197
|
-
"@deepseek-ai/dsh-storage-json": "0.1.0-rc.
|
|
198
|
-
"@deepseek-ai/dsh-system-prompt": "0.1.0-rc.
|
|
199
|
-
"@deepseek-ai/dsh-timeout": "0.1.0-rc.
|
|
200
|
-
"@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.
|
|
164
|
+
"@deepseek-ai/dsh-agent": "0.1.0-rc.8",
|
|
165
|
+
"@deepseek-ai/dsh-api-remotes": "0.1.0-rc.8",
|
|
166
|
+
"@deepseek-ai/dsh-attachment": "0.1.0-rc.8",
|
|
167
|
+
"@deepseek-ai/dsh-brand": "0.1.0-rc.8",
|
|
168
|
+
"@deepseek-ai/dsh-client-locale": "0.1.0-rc.8",
|
|
169
|
+
"@deepseek-ai/dsh-client-runtime": "0.1.0-rc.8",
|
|
170
|
+
"@deepseek-ai/dsh-client-ui-commands": "0.1.0-rc.8",
|
|
171
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.0-rc.8",
|
|
172
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.8",
|
|
173
|
+
"@deepseek-ai/dsh-commands": "0.1.0-rc.8",
|
|
174
|
+
"@deepseek-ai/dsh-llm": "0.1.0-rc.8",
|
|
175
|
+
"@deepseek-ai/dsh-scope": "0.1.0-rc.8",
|
|
176
|
+
"@deepseek-ai/dsh-session": "0.1.0-rc.8",
|
|
177
|
+
"@deepseek-ai/dsh-session-persistence": "0.1.0-rc.8",
|
|
178
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.0-rc.8",
|
|
179
|
+
"@deepseek-ai/dsh-session-projection": "0.1.0-rc.8",
|
|
180
|
+
"@deepseek-ai/dsh-settings": "0.1.0-rc.8",
|
|
181
|
+
"@deepseek-ai/dsh-storage": "0.1.0-rc.8",
|
|
182
|
+
"@deepseek-ai/dsh-storage-domain": "0.1.0-rc.8",
|
|
183
|
+
"@deepseek-ai/dsh-storage-json": "0.1.0-rc.8",
|
|
184
|
+
"@deepseek-ai/dsh-system-prompt": "0.1.0-rc.8",
|
|
185
|
+
"@deepseek-ai/dsh-timeout": "0.1.0-rc.8",
|
|
186
|
+
"@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.8",
|
|
201
187
|
"@deepseek-ai/schemastery": "3.18.1",
|
|
202
188
|
"@types/node": "^22.20.0",
|
|
203
189
|
"@vitest/coverage-v8": "4.1.10",
|
|
@@ -205,5 +191,16 @@
|
|
|
205
191
|
"tsdown": "^0.22.2",
|
|
206
192
|
"typescript": "^6.0.3",
|
|
207
193
|
"vitest": "^4.1.8"
|
|
194
|
+
},
|
|
195
|
+
"scripts": {
|
|
196
|
+
"build": "node -e \"require('node:fs').rmSync('lib',{recursive:true,force:true})\" && tsc -p tsconfig.json --noEmitOnError --pretty false && tsdown && tsdown -c tsdown.client.config.ts && node scripts/fix-dts.mjs",
|
|
197
|
+
"test": "vitest run",
|
|
198
|
+
"test:coverage": "vitest run --coverage",
|
|
199
|
+
"lint": "oxlint",
|
|
200
|
+
"check:readmes": "node scripts/check-readme-sync.mjs",
|
|
201
|
+
"typecheck": "tsc -p tsconfig.json --noEmitOnError --pretty false && tsc -p tsconfig.vitest.json --pretty false",
|
|
202
|
+
"verify": "pnpm run typecheck && pnpm test && pnpm run verify:self-contained",
|
|
203
|
+
"verify:self-contained": "node scripts/verify-self-contained.mjs",
|
|
204
|
+
"verify:artifacts": "node scripts/verify-artifacts.mjs"
|
|
208
205
|
}
|
|
209
|
-
}
|
|
206
|
+
}
|
package/src/client/index.ts
CHANGED
|
@@ -88,7 +88,7 @@ export function apply(ctx: ClientContext): void {
|
|
|
88
88
|
},
|
|
89
89
|
onSelect: async (option, session) => {
|
|
90
90
|
const line = option.id === OFF_ID ? '/style off' : `/style ${option.id}`
|
|
91
|
-
const result = await remote.commands.execute(session.sessionId, line)
|
|
91
|
+
const result = await remote.commands.execute(session.sessionId, line, [])
|
|
92
92
|
if (!result.ok) {
|
|
93
93
|
throw new Error(`command.execute failed: ${result.error.code}: ${result.error.message}`)
|
|
94
94
|
}
|