@goodandready/dsh-voice 0.8.0 → 0.8.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/lib/client.js +27 -9
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -877,23 +877,23 @@ window.__ModuleLoader__.load({
|
|
|
877
877
|
'.dvs-row{display:flex;gap:8px;align-items:center}' +
|
|
878
878
|
'.dvs-row select,.dvs-row input{background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);border-radius:6px;padding:6px 8px;font-size:13px}' +
|
|
879
879
|
'.dvs-row .dvs-model{flex:1}' +
|
|
880
|
-
'.dvs-field{display:flex;flex-direction:column;gap:
|
|
881
|
-
'.dvs-field input,.dvs-field select{
|
|
880
|
+
'.dvs-field{display:flex;flex-direction:column;gap:6px;padding:12px 0;font-size:12px;color:var(--dsw-alias-label-secondary)}' +
|
|
881
|
+
'.dvs-field input,.dvs-field select{height:34px;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 12px;font-size:13px}' +
|
|
882
882
|
'.dvs-mini{border:1px solid var(--dsw-alias-border-l2);background:transparent;color:var(--dsw-alias-label-primary);border-radius:6px;width:28px;height:28px;cursor:pointer;flex:none}' +
|
|
883
|
-
'.dvs-save{
|
|
883
|
+
'.dvs-save{appearance:none;font:inherit;cursor:pointer;border:1px solid transparent;border-radius:8px;padding:5px 14px;font-size:13px;background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}' +
|
|
884
884
|
'.dvs-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;padding:10px}' +
|
|
885
885
|
'.dvs-card input,.dvs-card select{background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);border-radius:6px;padding:6px 8px;font-size:13px}' +
|
|
886
886
|
'.dvs-wait{font-size:13px;color:var(--dsw-alias-label-secondary);line-height:1.5;max-width:520px}' +
|
|
887
887
|
'.dvs-ok{font-size:12px;color:var(--dsw-alias-state-success-primary)}' +
|
|
888
888
|
'.dvs-bad{font-size:12px;color:var(--dsw-alias-state-error-primary)}' +
|
|
889
|
-
'.dvo-pcard{list-style:none;
|
|
890
|
-
'.dvo-phead{
|
|
889
|
+
'.dvo-pcard{list-style:none;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px}' +
|
|
890
|
+
'.dvo-phead{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;display:flex;align-items:center;gap:12px;padding:14px 16px}' +
|
|
891
891
|
'.dvo-pheadtext{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}' +
|
|
892
|
-
'.dvo-ptitle{
|
|
893
|
-
'.dvo-pdesc{
|
|
892
|
+
'.dvo-ptitle{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}' +
|
|
893
|
+
'.dvo-pdesc{color:var(--dsw-alias-label-secondary);font-size:13px}' +
|
|
894
894
|
'.dvo-pchev{flex:none;display:flex;color:var(--dsw-alias-label-secondary);transition:transform .15s ease}' +
|
|
895
895
|
'.dvo-pcardOpen .dvo-pchev{transform:rotate(180deg)}' +
|
|
896
|
-
'.dvo-pbody{border-top:1px solid var(--dsw-alias-border-
|
|
896
|
+
'.dvo-pbody{border-top:1px solid var(--dsw-alias-border-l2);margin:0 16px;padding-bottom:8px}'
|
|
897
897
|
const setCssId = 'dsh-voice/settings.module.css'
|
|
898
898
|
if (typeof document !== 'undefined' && !document.querySelector('style[data-plugin-css="' + setCssId + '"]')) {
|
|
899
899
|
const tag = document.createElement('style')
|
|
@@ -1289,7 +1289,25 @@ window.__ModuleLoader__.load({
|
|
|
1289
1289
|
|
|
1290
1290
|
exports.inject = ['timer', 'slots', 'settingsScope', 'locale']
|
|
1291
1291
|
exports.apply = function apply(ctx) {
|
|
1292
|
-
|
|
1292
|
+
// Язык может принести не только плагин: словарные пакеты объявляют
|
|
1293
|
+
// русский для чужих пространств. Ядро на повторное объявление той же
|
|
1294
|
+
// пары «пространство + язык» бросает исключение, и незащищённый вызов
|
|
1295
|
+
// уносил с собой весь плагин — в интерфейсе это выглядело как «Failed to
|
|
1296
|
+
// load plugins» с перечнем ни в чём не повинных соседей.
|
|
1297
|
+
//
|
|
1298
|
+
// Поэтому каждый язык объявляется отдельно и по-хорошему: заняли до нас —
|
|
1299
|
+
// уступаем, свой английский при этом всё равно встаёт на место.
|
|
1300
|
+
const addLocale = (locale, dictionary) => {
|
|
1301
|
+
try {
|
|
1302
|
+
return ctx.locale.register(NS, locale, dictionary)
|
|
1303
|
+
} catch (alreadyTaken) {
|
|
1304
|
+
return () => {}
|
|
1305
|
+
}
|
|
1306
|
+
}
|
|
1307
|
+
ctx.effect(() => {
|
|
1308
|
+
const undo = [addLocale('en', en), addLocale('ru', ru)]
|
|
1309
|
+
return () => { for (const off of undo) off() }
|
|
1310
|
+
}, 'dsh-voice: словари')
|
|
1293
1311
|
moduleT = ctx.locale.bind(NS)
|
|
1294
1312
|
registerComposer(ctx)
|
|
1295
1313
|
registerSettings(ctx)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goodandready/dsh-voice",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "Voice input for DeepSeek Harness: dictation chunked by pauses and voice messages, each with its own provider fallback chain (Deepgram, Groq, HuggingFace, local whisper.cpp, plus any OpenAI-compatible API of your own).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|