@goodandready/dsh-tts 0.4.17 → 0.4.18

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
@@ -2,6 +2,16 @@
2
2
 
3
3
  Notable changes to `@goodandready/dsh-tts`.
4
4
 
5
+ ## 0.4.18
6
+
7
+ ### Fixed
8
+ - **Settings reachable again on the plugin's own page**: the current DSH core
9
+ (0.1.6-alpha.2) renders a plugin's configuration page only for entries registered
10
+ in the plugin-list seat `plugins.item`. `TtsRowConfig` is now registered there too
11
+ (`id: 'dsh-tts'`, order 60, static label); the row seat and the legacy
12
+ `settings.plugin.item` card stay as fallbacks. Sources edited in `lib/client-src`,
13
+ `lib/client.js` rebuilt.
14
+
5
15
  ## 0.4.17
6
16
 
7
17
  ### Added
@@ -173,6 +173,25 @@
173
173
  } catch (rowSeatUnavailable) {
174
174
  console.warn('[dsh-tts] row seat plugins.row.config not available:', rowSeatUnavailable && rowSeatUnavailable.message)
175
175
  }
176
+ // Plugin-list seat (`plugins.item`): the seat the current core (0.1.6-alpha.2)
177
+ // renders as the plugin's own page with its configuration. The label is a static
178
+ // string on purpose — it is resolved while the page renders, and a locale lookup
179
+ // there would take the whole client batch down with it.
180
+ try {
181
+ ctx.slots.inject('plugins.item', () => ctx.slots.register(
182
+ {
183
+ name: 'plugins.item',
184
+ id: ROW_ID,
185
+ order: 60,
186
+ label: () => 'Text to Speech',
187
+ locale: NS,
188
+ inject: () => ({ ctx: ctx }),
189
+ },
190
+ TtsRowConfig,
191
+ ))
192
+ } catch (itemSeatUnavailable) {
193
+ console.warn('[dsh-tts] list seat plugins.item not available:', itemSeatUnavailable && itemSeatUnavailable.message)
194
+ }
176
195
  // Fallback for hosts that render the older plugin-settings tab card. The tab
177
196
  // looks up a slot by entryKey equal to the namespace name: key must equal NS
178
197
  // or the card never appears, with no log error.
package/lib/client.js CHANGED
@@ -1936,6 +1936,25 @@ async function pollPending() {
1936
1936
  } catch (rowSeatUnavailable) {
1937
1937
  console.warn('[dsh-tts] row seat plugins.row.config not available:', rowSeatUnavailable && rowSeatUnavailable.message)
1938
1938
  }
1939
+ // Plugin-list seat (`plugins.item`): the seat the current core (0.1.6-alpha.2)
1940
+ // renders as the plugin's own page with its configuration. The label is a static
1941
+ // string on purpose — it is resolved while the page renders, and a locale lookup
1942
+ // there would take the whole client batch down with it.
1943
+ try {
1944
+ ctx.slots.inject('plugins.item', () => ctx.slots.register(
1945
+ {
1946
+ name: 'plugins.item',
1947
+ id: ROW_ID,
1948
+ order: 60,
1949
+ label: () => 'Text to Speech',
1950
+ locale: NS,
1951
+ inject: () => ({ ctx: ctx }),
1952
+ },
1953
+ TtsRowConfig,
1954
+ ))
1955
+ } catch (itemSeatUnavailable) {
1956
+ console.warn('[dsh-tts] list seat plugins.item not available:', itemSeatUnavailable && itemSeatUnavailable.message)
1957
+ }
1939
1958
  // Fallback for hosts that render the older plugin-settings tab card. The tab
1940
1959
  // looks up a slot by entryKey equal to the namespace name: key must equal NS
1941
1960
  // or the card never appears, with no log error.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goodandready/dsh-tts",
3
- "version": "0.4.17",
3
+ "version": "0.4.18",
4
4
  "description": "Text-to-speech for DeepSeek Harness: speak agent replies in the Web UI with a provider fallback chain (OpenAI, ElevenLabs, Google, Azure, Groq, Deepgram, OpenRouter, Edge, Piper, eSpeak).",
5
5
  "license": "MIT",
6
6
  "type": "module",