dsh-output-styles 0.3.0 → 0.3.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 +38 -0
- package/README.es.md +4 -1
- package/README.ja.md +4 -1
- package/README.ko.md +4 -1
- package/README.md +4 -1
- package/README.zh.md +4 -1
- package/cordis.patch.yml +7 -1
- package/lib/index.js +1 -1
- package/package.json +61 -1
- package/src/runtime.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,42 @@ 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.3.2] - 2026-08-15
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **Bundle install on DSH 0.1.0-rc.6**: the bundle patch now configures the
|
|
12
|
+
storage rows it inserts (`storage-json` root, `storage-domain` backend),
|
|
13
|
+
fixing a load-time `invalid config` failure when installing into a
|
|
14
|
+
headless profile via `dsh plugin add`. Found and verified against a real
|
|
15
|
+
rc.6 profile boot.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- `package.json#dsh.client` declaration for the Web picker client half.
|
|
20
|
+
- `package.json#dshWorkshop` (`omdsh-workshop-package/v1`) intake manifest
|
|
21
|
+
for the omdsh-dev/dsh-hub-workshop Registry.
|
|
22
|
+
|
|
23
|
+
## [0.3.1] - 2026-08-15
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- **Publish workflow** (`.github/workflows/publish.yml`): pushing a `v*` tag
|
|
28
|
+
whose suffix matches the `package.json` version runs the full verification
|
|
29
|
+
suite and publishes the tarball to npm with provenance, so a GitHub release
|
|
30
|
+
can never again leave npm behind.
|
|
31
|
+
- **`prepublishOnly` verification gate**: every `npm publish` runs typecheck,
|
|
32
|
+
the full test suite, and the self-contained check before packing — a local
|
|
33
|
+
safety net outside CI.
|
|
34
|
+
- Package metadata: `author`, `bugs`, and `publishConfig.access: public`.
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- `pnpm run verify` aggregates typecheck, tests, and the self-contained check.
|
|
39
|
+
- The unknown-style error says `available: none` instead of a trailing empty
|
|
40
|
+
list when the library is empty.
|
|
41
|
+
- The development sections of all five READMEs document the release flow.
|
|
42
|
+
|
|
7
43
|
## [0.3.0] - 2026-08-14
|
|
8
44
|
|
|
9
45
|
### Added
|
|
@@ -48,6 +84,8 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
48
84
|
persistence, `systemPrompt.section()` injection, four bundled styles
|
|
49
85
|
(`concise`, `explanatory`, `formal`, `step-by-step`).
|
|
50
86
|
|
|
87
|
+
[0.3.2]: https://github.com/PerryLink/dsh-output-styles/releases/tag/v0.3.2
|
|
88
|
+
[0.3.1]: https://github.com/PerryLink/dsh-output-styles/releases/tag/v0.3.1
|
|
51
89
|
[0.3.0]: https://github.com/PerryLink/dsh-output-styles/releases/tag/v0.3.0
|
|
52
90
|
[0.2.0]: https://github.com/PerryLink/dsh-output-styles/releases/tag/v0.2.0
|
|
53
91
|
[0.1.0]: https://github.com/PerryLink/dsh-output-styles/releases/tag/v0.1.0
|
package/README.es.md
CHANGED
|
@@ -183,11 +183,14 @@ Se contrastó con el ecosistema DSH antes del desarrollo (instantánea 2026-08):
|
|
|
183
183
|
```sh
|
|
184
184
|
pnpm install
|
|
185
185
|
pnpm run typecheck # ambos proyectos tsc
|
|
186
|
-
pnpm test # vitest —
|
|
186
|
+
pnpm test # vitest — 93 pruebas
|
|
187
|
+
pnpm run verify # typecheck + pruebas + verificación autocontenida (puerta de prepublishOnly)
|
|
187
188
|
pnpm run build # artefactos lib/ (bundles de host + cliente)
|
|
188
189
|
pnpm pack # tarball para dsh plugin add
|
|
189
190
|
```
|
|
190
191
|
|
|
192
|
+
Lanzamientos: hacer push de una etiqueta `v*` cuyo sufijo coincida con la versión de `package.json` dispara el flujo Publish — verificación completa y publicación en npm (con provenance). Cualquier `npm publish` también pasa la puerta `verify` vía `prepublishOnly`.
|
|
193
|
+
|
|
191
194
|
La estructura sigue [omdsh-dev/plugin-template](https://github.com/omdsh-dev/plugin-template): `src/index.ts` (metadatos del plugin), `src/config.ts` (esquema), `src/runtime.ts` (servicio de runtime + activación), `src/invariant.ts` (invariantes), `src/client/` (selector web), `styles/` (estilos integrados).
|
|
192
195
|
|
|
193
196
|
## 📄 Licencia
|
package/README.ja.md
CHANGED
|
@@ -183,11 +183,14 @@ frontmatter フィールド:
|
|
|
183
183
|
```sh
|
|
184
184
|
pnpm install
|
|
185
185
|
pnpm run typecheck # 両方の tsc プロジェクト
|
|
186
|
-
pnpm test # vitest —
|
|
186
|
+
pnpm test # vitest — 93 テスト
|
|
187
|
+
pnpm run verify # typecheck + テスト + 自己完結チェック(prepublishOnly ゲート)
|
|
187
188
|
pnpm run build # lib/ 成果物(ホスト + クライアント bundle)
|
|
188
189
|
pnpm pack # dsh plugin add 用の tarball
|
|
189
190
|
```
|
|
190
191
|
|
|
192
|
+
リリース:`package.json` のバージョンと一致する接尾辞を持つ `v*` タグを push すると Publish ワークフローが起動します——完全検証の後に npm へ公開(provenance 付き)。あらゆる `npm publish` も `prepublishOnly` 経由で `verify` ゲートを通過します。
|
|
193
|
+
|
|
191
194
|
構成は [omdsh-dev/plugin-template](https://github.com/omdsh-dev/plugin-template) に従います:`src/index.ts`(プラグインメタデータ)、`src/config.ts`(スキーマ)、`src/runtime.ts`(ランタイムサービス + アクティベーション)、`src/invariant.ts`(不変条件)、`src/client/`(Web ピッカー)、`styles/`(組み込みスタイル)。
|
|
192
195
|
|
|
193
196
|
## 📄 ライセンス
|
package/README.ko.md
CHANGED
|
@@ -183,11 +183,14 @@ frontmatter 필드:
|
|
|
183
183
|
```sh
|
|
184
184
|
pnpm install
|
|
185
185
|
pnpm run typecheck # 두 tsc 프로젝트
|
|
186
|
-
pnpm test # vitest —
|
|
186
|
+
pnpm test # vitest — 93 테스트
|
|
187
|
+
pnpm run verify # typecheck + 테스트 + 자체 포함 검사(prepublishOnly 게이트)
|
|
187
188
|
pnpm run build # lib/ 산출물(호스트 + 클라이언트 번들)
|
|
188
189
|
pnpm pack # dsh plugin add용 tarball
|
|
189
190
|
```
|
|
190
191
|
|
|
192
|
+
릴리스: `package.json` 버전과 일치하는 접미사를 가진 `v*` 태그를 push하면 Publish 워크플로가 실행됩니다 — 전체 검증 후 npm 게시(provenance 포함). 모든 `npm publish`도 `prepublishOnly`를 통해 `verify` 게이트를 통과합니다.
|
|
193
|
+
|
|
191
194
|
구조는 [omdsh-dev/plugin-template](https://github.com/omdsh-dev/plugin-template)를 따릅니다: `src/index.ts`(플러그인 메타데이터), `src/config.ts`(스키마), `src/runtime.ts`(런타임 서비스 + 활성화), `src/invariant.ts`(불변식), `src/client/`(웹 피커), `styles/`(내장 스타일).
|
|
192
195
|
|
|
193
196
|
## 📄 라이선스
|
package/README.md
CHANGED
|
@@ -183,11 +183,14 @@ Screened against the DSH ecosystem before development (2026-08 snapshot): no `st
|
|
|
183
183
|
```sh
|
|
184
184
|
pnpm install
|
|
185
185
|
pnpm run typecheck # both tsc projects
|
|
186
|
-
pnpm test # vitest —
|
|
186
|
+
pnpm test # vitest — 93 tests
|
|
187
|
+
pnpm run verify # typecheck + tests + self-contained (the prepublishOnly gate)
|
|
187
188
|
pnpm run build # lib/ artifacts (host + client bundles)
|
|
188
189
|
pnpm pack # tarball for dsh plugin add
|
|
189
190
|
```
|
|
190
191
|
|
|
192
|
+
Releases: pushing a `v*` tag whose suffix matches the `package.json` version triggers the Publish workflow — full verification, then an npm publish with provenance. Any `npm publish` also passes the `verify` gate through `prepublishOnly`.
|
|
193
|
+
|
|
191
194
|
Structure follows the [omdsh-dev/plugin-template](https://github.com/omdsh-dev/plugin-template): `src/index.ts` (plugin metadata), `src/config.ts` (schema), `src/runtime.ts` (runtime service + activation), `src/invariant.ts` (invariants), `src/client/` (Web picker), `styles/` (built-ins).
|
|
192
195
|
|
|
193
196
|
## 📄 License
|
package/README.zh.md
CHANGED
|
@@ -183,11 +183,14 @@ frontmatter 字段:
|
|
|
183
183
|
```sh
|
|
184
184
|
pnpm install
|
|
185
185
|
pnpm run typecheck # 两个 tsc 工程
|
|
186
|
-
pnpm test # vitest ——
|
|
186
|
+
pnpm test # vitest —— 93 个测试
|
|
187
|
+
pnpm run verify # typecheck + 测试 + 自包含检查(prepublishOnly 闸门)
|
|
187
188
|
pnpm run build # lib/ 产物(宿主 + 客户端两个 bundle)
|
|
188
189
|
pnpm pack # 供 dsh plugin add 使用的 tarball
|
|
189
190
|
```
|
|
190
191
|
|
|
192
|
+
发布:推送后缀与 `package.json` 版本一致的 `v*` tag 会触发 Publish 工作流——完整验证后发布到 npm(含 provenance)。任何 `npm publish` 也会通过 `prepublishOnly` 执行 `verify` 闸门。
|
|
193
|
+
|
|
191
194
|
结构遵循 [omdsh-dev/plugin-template](https://github.com/omdsh-dev/plugin-template):`src/index.ts`(插件元数据)、`src/config.ts`(schema)、`src/runtime.ts`(运行时服务与激活)、`src/invariant.ts`(不变量)、`src/client/`(Web 选择器)、`styles/`(内置风格)。
|
|
192
195
|
|
|
193
196
|
## 📄 License
|
package/cordis.patch.yml
CHANGED
|
@@ -6,14 +6,20 @@
|
|
|
6
6
|
# and completes a bare headless profile.
|
|
7
7
|
#
|
|
8
8
|
# The plugin injects `storageDomain`; a headless profile has none of the
|
|
9
|
-
# storage rows, so the layer brings the routed kv backend along
|
|
9
|
+
# storage rows, so the layer brings the routed kv backend along, including
|
|
10
|
+
# the config the rc.6 schemas require (root for storage-json, backend for
|
|
11
|
+
# storage-domain) — without it the rows fail their config validation.
|
|
10
12
|
- insert:
|
|
11
13
|
- id: storage
|
|
12
14
|
name: '@deepseek-ai/dsh-storage'
|
|
13
15
|
- id: storage-json
|
|
14
16
|
name: '@deepseek-ai/dsh-storage-json'
|
|
17
|
+
config:
|
|
18
|
+
root: !!js dshHomePath('storages')
|
|
15
19
|
- id: storage-domain
|
|
16
20
|
name: '@deepseek-ai/dsh-storage-domain'
|
|
21
|
+
config:
|
|
22
|
+
backend: json
|
|
17
23
|
- id: output-styles
|
|
18
24
|
name: 'dsh-output-styles'
|
|
19
25
|
# config: # schema defaults shown for reference
|
package/lib/index.js
CHANGED
|
@@ -203,7 +203,7 @@ var OutputStyleRuntime = class {
|
|
|
203
203
|
* @returns the error text listing every switchable name.
|
|
204
204
|
*/
|
|
205
205
|
unknownStyleLine(name) {
|
|
206
|
-
return `unknown output style "${name}" (available: ${this.names.join(", ")})`;
|
|
206
|
+
return `unknown output style "${name}" (available: ${this.names.join(", ") || "none"})`;
|
|
207
207
|
}
|
|
208
208
|
/**
|
|
209
209
|
* Durably select a style for a session. The write resolves only after the
|
package/package.json
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-output-styles",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Claude Code outputStyles-equivalent runtime output-style switching for DeepSeek Harness",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"packageManager": "pnpm@11.7.0",
|
|
8
8
|
"license": "Apache-2.0",
|
|
9
|
+
"author": "PerryLink",
|
|
9
10
|
"repository": {
|
|
10
11
|
"type": "git",
|
|
11
12
|
"url": "git+https://github.com/PerryLink/dsh-output-styles.git"
|
|
12
13
|
},
|
|
13
14
|
"homepage": "https://github.com/PerryLink/dsh-output-styles#readme",
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/PerryLink/dsh-output-styles/issues"
|
|
17
|
+
},
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
14
21
|
"engines": {
|
|
15
22
|
"node": "^22.19.0 || >=24.0.0"
|
|
16
23
|
},
|
|
@@ -18,7 +25,9 @@
|
|
|
18
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",
|
|
19
26
|
"test": "vitest run",
|
|
20
27
|
"typecheck": "tsc -p tsconfig.json --noEmitOnError --pretty false && tsc -p tsconfig.vitest.json --pretty false",
|
|
28
|
+
"verify": "pnpm run typecheck && pnpm test && pnpm run verify:self-contained",
|
|
21
29
|
"verify:self-contained": "node scripts/verify-self-contained.mjs",
|
|
30
|
+
"prepublishOnly": "pnpm run verify",
|
|
22
31
|
"prepare": "node scripts/prepare.mjs"
|
|
23
32
|
},
|
|
24
33
|
"main": "lib/index.js",
|
|
@@ -70,6 +79,57 @@
|
|
|
70
79
|
"dsh": {
|
|
71
80
|
"bundle": {
|
|
72
81
|
"patch": "./cordis.patch.yml"
|
|
82
|
+
},
|
|
83
|
+
"client": {
|
|
84
|
+
"platform": "web",
|
|
85
|
+
"inject": [
|
|
86
|
+
"@deepseek-ai/dsh-client-runtime",
|
|
87
|
+
"@deepseek-ai/dsh-api-remotes",
|
|
88
|
+
"@deepseek-ai/dsh-client-ui-commands",
|
|
89
|
+
"@deepseek-ai/dsh-client-locale"
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"dshWorkshop": {
|
|
94
|
+
"schema": "omdsh-workshop-package/v1",
|
|
95
|
+
"type": "plugin",
|
|
96
|
+
"integration": {
|
|
97
|
+
"protocol": "harness-profile",
|
|
98
|
+
"artifact": "cordis.patch.yml"
|
|
99
|
+
},
|
|
100
|
+
"install": {
|
|
101
|
+
"mode": "transactional",
|
|
102
|
+
"adapter": "harness-profile",
|
|
103
|
+
"failurePolicy": "generation-rollback",
|
|
104
|
+
"touchesCurrentBeforeActivation": false
|
|
105
|
+
},
|
|
106
|
+
"lifecycle": {
|
|
107
|
+
"activation": "hot-reload",
|
|
108
|
+
"dispose": "supported"
|
|
109
|
+
},
|
|
110
|
+
"permissions": [
|
|
111
|
+
"fs:read",
|
|
112
|
+
"fs:watch",
|
|
113
|
+
"storage:read",
|
|
114
|
+
"storage:write",
|
|
115
|
+
"settings:read"
|
|
116
|
+
],
|
|
117
|
+
"compatibility": {
|
|
118
|
+
"dshVersions": [
|
|
119
|
+
"0.1.0-rc.6"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"capability": {
|
|
123
|
+
"id": "style-command",
|
|
124
|
+
"kind": "command",
|
|
125
|
+
"invocation": "/style concise",
|
|
126
|
+
"expected": "the command replies 'switched to concise' and the next assembled system prompt contains the concise style body"
|
|
127
|
+
},
|
|
128
|
+
"evidence": {
|
|
129
|
+
"install": null,
|
|
130
|
+
"failureIsolation": null,
|
|
131
|
+
"hotReload": null,
|
|
132
|
+
"remove": null
|
|
73
133
|
}
|
|
74
134
|
},
|
|
75
135
|
"dependencies": {
|
package/src/runtime.ts
CHANGED
|
@@ -190,7 +190,7 @@ export class OutputStyleRuntime {
|
|
|
190
190
|
* @returns the error text listing every switchable name.
|
|
191
191
|
*/
|
|
192
192
|
unknownStyleLine(name: string): string {
|
|
193
|
-
return `unknown output style "${name}" (available: ${this.names.join(', ')})`
|
|
193
|
+
return `unknown output style "${name}" (available: ${this.names.join(', ') || 'none'})`
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
/**
|