dsh-output-styles 0.3.0 → 0.3.1

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 CHANGED
@@ -4,6 +4,26 @@ 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.1] - 2026-08-15
8
+
9
+ ### Added
10
+
11
+ - **Publish workflow** (`.github/workflows/publish.yml`): pushing a `v*` tag
12
+ whose suffix matches the `package.json` version runs the full verification
13
+ suite and publishes the tarball to npm with provenance, so a GitHub release
14
+ can never again leave npm behind.
15
+ - **`prepublishOnly` verification gate**: every `npm publish` runs typecheck,
16
+ the full test suite, and the self-contained check before packing — a local
17
+ safety net outside CI.
18
+ - Package metadata: `author`, `bugs`, and `publishConfig.access: public`.
19
+
20
+ ### Changed
21
+
22
+ - `pnpm run verify` aggregates typecheck, tests, and the self-contained check.
23
+ - The unknown-style error says `available: none` instead of a trailing empty
24
+ list when the library is empty.
25
+ - The development sections of all five READMEs document the release flow.
26
+
7
27
  ## [0.3.0] - 2026-08-14
8
28
 
9
29
  ### Added
@@ -48,6 +68,7 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
48
68
  persistence, `systemPrompt.section()` injection, four bundled styles
49
69
  (`concise`, `explanatory`, `formal`, `step-by-step`).
50
70
 
71
+ [0.3.1]: https://github.com/PerryLink/dsh-output-styles/releases/tag/v0.3.1
51
72
  [0.3.0]: https://github.com/PerryLink/dsh-output-styles/releases/tag/v0.3.0
52
73
  [0.2.0]: https://github.com/PerryLink/dsh-output-styles/releases/tag/v0.2.0
53
74
  [0.1.0]: https://github.com/PerryLink/dsh-output-styles/releases/tag/v0.1.0
package/README.es.md CHANGED
@@ -184,10 +184,13 @@ Se contrastó con el ecosistema DSH antes del desarrollo (instantánea 2026-08):
184
184
  pnpm install
185
185
  pnpm run typecheck # ambos proyectos tsc
186
186
  pnpm test # vitest — 92 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
@@ -184,10 +184,13 @@ frontmatter フィールド:
184
184
  pnpm install
185
185
  pnpm run typecheck # 両方の tsc プロジェクト
186
186
  pnpm test # vitest — 92 テスト
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
@@ -184,10 +184,13 @@ frontmatter 필드:
184
184
  pnpm install
185
185
  pnpm run typecheck # 두 tsc 프로젝트
186
186
  pnpm test # vitest — 92 테스트
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
@@ -184,10 +184,13 @@ Screened against the DSH ecosystem before development (2026-08 snapshot): no `st
184
184
  pnpm install
185
185
  pnpm run typecheck # both tsc projects
186
186
  pnpm test # vitest — 92 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
@@ -184,10 +184,13 @@ frontmatter 字段:
184
184
  pnpm install
185
185
  pnpm run typecheck # 两个 tsc 工程
186
186
  pnpm test # vitest —— 92 个测试
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/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.0",
3
+ "version": "0.3.1",
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",
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
  /**