signalk-whisper 0.1.0 → 0.2.0
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/README.md +78 -69
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -11
- package/dist/index.js.map +1 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +3 -3
- package/dist/service.js.map +1 -1
- package/package.json +14 -5
- package/public/172.mjs +1 -0
- package/public/540.mjs +2 -0
- package/public/540.mjs.LICENSE.txt +9 -0
- package/public/main.mjs +1 -0
- package/public/remoteEntry.js +1 -0
package/README.md
CHANGED
|
@@ -1,30 +1,38 @@
|
|
|
1
1
|
# signalk-whisper
|
|
2
2
|
|
|
3
|
-
> **Status: ALPHA
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
> **Status: ALPHA.** This SignalK Wyoming system is 100% vibecoded slop. I
|
|
4
|
+
> don't have the right hardware yet to test it, so I'm putting it out there
|
|
5
|
+
> for people to test in the meantime. It _should_ work. File issues for
|
|
6
|
+
> anything that doesn't.
|
|
7
|
+
|
|
8
|
+
## What is this?
|
|
9
|
+
|
|
10
|
+
Whisper speech-to-text for [Signal K](https://signalk.org) — it gives your
|
|
11
|
+
boat server "ears". The plugin runs the
|
|
12
|
+
[Whisper](https://github.com/rhasspy/wyoming-faster-whisper) speech
|
|
13
|
+
recognizer as a background service and takes care of everything around it:
|
|
14
|
+
starting it in a container (via the
|
|
15
|
+
[signalk-container](https://www.npmjs.com/package/signalk-container)
|
|
16
|
+
plugin), downloading the speech model, checking that it stays healthy, and
|
|
17
|
+
telling the rest of the voice stack where to find it. You never have to
|
|
18
|
+
touch docker or podman yourself.
|
|
19
|
+
|
|
20
|
+
It is the speech-to-text (STT) building block of the
|
|
13
21
|
[signalk-wyoming voice-assistant family](https://github.com/hoeken/signalk-wyoming)
|
|
14
22
|
— install it together with the `signalk-wyoming` orchestrator to get voice
|
|
15
|
-
commands on your boat
|
|
16
|
-
|
|
23
|
+
commands on your boat. Because it speaks the standard
|
|
24
|
+
[Wyoming protocol](https://github.com/rhasspy/wyoming), it also works as a
|
|
25
|
+
standalone speech-to-text server for other software such as Home Assistant.
|
|
17
26
|
|
|
18
27
|
## Requirements
|
|
19
28
|
|
|
20
29
|
- Signal K server ≥ 2.x on **Node 24+**
|
|
21
30
|
- The **signalk-container** plugin with a working podman or docker runtime
|
|
22
|
-
(this plugin declares `"signalk": { "requires": ["signalk-container"] }`)
|
|
23
31
|
- RAM for the model: the default `tiny-int8` uses roughly **400–500 MB
|
|
24
32
|
resident** (`base-int8` ≈ 700 MB). The container is capped at 1 GB by
|
|
25
|
-
default so a misbehaving model cannot
|
|
26
|
-
voice
|
|
27
|
-
|
|
33
|
+
default so a misbehaving model cannot starve the boat server. The full
|
|
34
|
+
voice stack with whisper is comfortable on a Pi 4/5 with 4 GB. (A
|
|
35
|
+
TTS-only voice install does not need this plugin at all.)
|
|
28
36
|
|
|
29
37
|
## Install
|
|
30
38
|
|
|
@@ -34,19 +42,29 @@ enable the signalk-container plugin if you have not already.
|
|
|
34
42
|
|
|
35
43
|
## Configuration
|
|
36
44
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
| `
|
|
45
|
+
The plugin ships a graphical configuration panel (Server → Plugin Config →
|
|
46
|
+
Whisper STT) with a live container status card, a one-click image update
|
|
47
|
+
check/apply, a version dropdown fed by Docker Hub, and all the settings
|
|
48
|
+
below — with inline warnings if you pick a heavyweight model or open the
|
|
49
|
+
service to the network. On servers without custom-panel support you get a
|
|
50
|
+
plain settings form with the same options.
|
|
51
|
+
|
|
52
|
+
| Setting | Default | Notes |
|
|
53
|
+
| ------------------------ | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
54
|
+
| `model` | `tiny-int8` | One of `tiny-int8`, `base-int8`, `small-int8`, `medium-int8`, `tiny`, `tiny.en`, `base`, `base.en`, `small`, `small.en`, `medium.en`, `turbo`. int8 models are recommended (smaller + faster on CPU). See "Choosing a model". |
|
|
55
|
+
| `language` | `en` | Explicit language code. `auto` enables per-utterance detection but costs speed **and** accuracy on the small models — set it explicitly if you can. |
|
|
56
|
+
| `initialPrompt` | nautical word list | A list of words that biases recognition toward your vocabulary — the cheapest accuracy win available. See "The initial prompt". Empty disables it. |
|
|
57
|
+
| `imageTag` | `auto` | `auto` runs the pinned, tested upstream release (**3.5.0**) and follows plugin updates. Set an explicit tag to pin something else. |
|
|
58
|
+
| `port` | `10300` | Host TCP port — only used with `bind: 0.0.0.0`, where the service is published on exactly this port. With the default loopback networking the setting is ignored and a host port is assigned automatically. |
|
|
59
|
+
| `advanced.bind` | `127.0.0.1` | `127.0.0.1` keeps whisper local to the boat server (recommended — the orchestrator is its only intended consumer). `0.0.0.0` publishes it on all interfaces, e.g. to share it with Home Assistant. See Security. |
|
|
60
|
+
| `advanced.memoryLimit` | `1g` | Hard container memory cap (swap capped to the same value). |
|
|
61
|
+
| `advanced.restartPolicy` | `unless-stopped` | Container runtime restart policy. |
|
|
47
62
|
|
|
48
63
|
### Choosing a model
|
|
49
64
|
|
|
65
|
+
Bigger models transcribe more accurately but need more RAM and take longer
|
|
66
|
+
per utterance.
|
|
67
|
+
|
|
50
68
|
| Model | Download | Resident RAM | When |
|
|
51
69
|
| --------------------------------------- | -------------- | ------------ | ---------------------------------------------------------------------------- |
|
|
52
70
|
| `tiny-int8` | ≈ 43 MB | ≈ 400–500 MB | Default. Fine for short commands on a Pi 4. |
|
|
@@ -58,6 +76,10 @@ Transcription latency is the practical constraint: the signalk-wyoming
|
|
|
58
76
|
webapp's **Test screen** shows a per-transcription latency figure — use it
|
|
59
77
|
to decide whether your hardware can afford a bigger model.
|
|
60
78
|
|
|
79
|
+
(A model setting of `auto` is deliberately **not** offered: with this
|
|
80
|
+
service it can silently switch to a much larger non-Whisper backend and
|
|
81
|
+
download hundreds of MB.)
|
|
82
|
+
|
|
61
83
|
### The initial prompt
|
|
62
84
|
|
|
63
85
|
The shipped default biases Whisper toward sailing vocabulary:
|
|
@@ -73,47 +95,48 @@ Customize it with words Whisper would otherwise mis-hear, for example:
|
|
|
73
95
|
- **local place and port names** ("Port Townsend, Deception Pass, Anacortes"),
|
|
74
96
|
- **boat-specific gear** ("watermaker, Hydrovane, staysail, preventer").
|
|
75
97
|
|
|
76
|
-
## First start & offline
|
|
98
|
+
## First start & offline use
|
|
77
99
|
|
|
78
100
|
On first start (and after a model change) the container downloads the model
|
|
79
|
-
into this plugin's Signal K data directory
|
|
80
|
-
|
|
81
|
-
shows _"starting — first start downloads the model
|
|
82
|
-
base-int8 ≈ 80 MB)"_ until the service answers;
|
|
83
|
-
10 minutes
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
101
|
+
into this plugin's Signal K data directory — the download survives
|
|
102
|
+
container recreation and image updates, so it only happens once per model.
|
|
103
|
+
The plugin status shows _"starting — first start downloads the model
|
|
104
|
+
(tiny-int8 ≈ 43 MB, base-int8 ≈ 80 MB)"_ until the service answers; up to
|
|
105
|
+
10 minutes are allowed for slow connections.
|
|
106
|
+
|
|
107
|
+
**Do the first start (and any model change) while you have internet** — at
|
|
108
|
+
sea with no connectivity a never-downloaded model cannot load, and the
|
|
109
|
+
plugin will report the failure rather than sit silent.
|
|
87
110
|
|
|
88
|
-
##
|
|
111
|
+
## Using it from other software
|
|
89
112
|
|
|
90
113
|
Once ready, the service is a plain Wyoming STT server at
|
|
91
114
|
`tcp://<host>:<port>` (normally `tcp://127.0.0.1:10300`):
|
|
92
115
|
|
|
93
|
-
- **signalk-wyoming** discovers it automatically
|
|
94
|
-
`{ plugin: "signalk-whisper", type: "asr", uri, status }` on the
|
|
95
|
-
`wyoming-service` PropertyValues channel on every status change.
|
|
116
|
+
- **signalk-wyoming** discovers it automatically — nothing to configure.
|
|
96
117
|
- **Home Assistant** (or any other Wyoming client) can use it as an STT
|
|
97
118
|
provider: set `advanced.bind` to `0.0.0.0` and point HA's Wyoming
|
|
98
119
|
integration at `tcp://<boat-ip>:10300`.
|
|
99
120
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
121
|
+
## HTTP API
|
|
122
|
+
|
|
123
|
+
| Endpoint | Access | Purpose |
|
|
124
|
+
| ------------------------------------------------ | ---------------------- | ---------------------------------------------------------------------------------------------- |
|
|
125
|
+
| `GET /plugins/signalk-whisper/api/status` | any authenticated user | Current state: `{ status, uri, tag, containerState, lastHealth, info }` |
|
|
126
|
+
| `GET /plugins/signalk-whisper/api/versions` | any authenticated user | Available image versions from Docker Hub (feeds the config panel; works while plugin disabled) |
|
|
127
|
+
| `GET /plugins/signalk-whisper/api/update/check` | admin | Check whether a newer image is available |
|
|
128
|
+
| `POST /plugins/signalk-whisper/api/update/apply` | admin | Pull and switch to the newer image |
|
|
105
129
|
|
|
106
130
|
## Health & notifications
|
|
107
131
|
|
|
108
|
-
|
|
109
|
-
consecutive failures
|
|
110
|
-
**`notifications.voice.whisper`** with `state: "alarm"`
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
instead of emitted.
|
|
132
|
+
The plugin checks the service every 30 seconds. If it stops answering,
|
|
133
|
+
after three consecutive failures (about 90 seconds) it raises the Signal K
|
|
134
|
+
notification **`notifications.voice.whisper`** with `state: "alarm"` and
|
|
135
|
+
shows an error in Plugin Config. When the service answers again everything
|
|
136
|
+
clears back to normal automatically — no action needed.
|
|
137
|
+
|
|
138
|
+
The alarm is visual-only by design: plugins that read notifications aloud
|
|
139
|
+
won't try to _speak_ the voice stack's own failure.
|
|
117
140
|
|
|
118
141
|
## Security
|
|
119
142
|
|
|
@@ -127,22 +150,8 @@ marina-wifi hardening recipe).
|
|
|
127
150
|
|
|
128
151
|
## Development
|
|
129
152
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
npm run build # tsc → dist/
|
|
133
|
-
npm test # typecheck + vitest (mock Wyoming server, fake container manager)
|
|
134
|
-
npm run ci-lint # eslint + prettier --check
|
|
135
|
-
npm run format # prettier + eslint --fix
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
Tests run against the scriptable `MockWyomingServer` from the
|
|
139
|
-
[signalk-wyoming](https://github.com/hoeken/signalk-wyoming) package's
|
|
140
|
-
`signalk-wyoming/mock` export and a fake `signalk-container` manager —
|
|
141
|
-
no docker/podman or network access needed.
|
|
142
|
-
|
|
143
|
-
Production code has **no** runtime dependency on the orchestrator package:
|
|
144
|
-
the Wyoming `describe` handshake is a ~140-line embedded client
|
|
145
|
-
(`src/wyoming.ts`).
|
|
153
|
+
See [DEVELOPERS.md](DEVELOPERS.md) for the code layout, build/test
|
|
154
|
+
commands, architecture notes, and the service-discovery contract.
|
|
146
155
|
|
|
147
156
|
## License
|
|
148
157
|
|
package/dist/config.d.ts
CHANGED
|
@@ -55,6 +55,8 @@ export declare function defaultSettings(): WhisperSettings;
|
|
|
55
55
|
export declare function applyDefaults(raw: unknown): WhisperSettings;
|
|
56
56
|
/** Maps the user-facing tag to the tag actually run: "auto" → pinned. */
|
|
57
57
|
export declare function resolveTag(requested: string): string;
|
|
58
|
+
/** True for plain numeric semver tags like "3.5.0" (update-check filter). */
|
|
59
|
+
export declare function isSemverTag(tag: string): boolean;
|
|
58
60
|
/**
|
|
59
61
|
* Pure, deterministic settings → ContainerConfig mapping. Called on every
|
|
60
62
|
* start/update; the `command` array is always present and stable so
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAC3C,eAAO,MAAM,WAAW,0BAA0B,CAAC;AACnD,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,2EAA2E;AAC3E,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,KAAK,4BAA4B,CAAC;AAC/C,4EAA4E;AAC5E,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAC/D,2EAA2E;AAC3E,eAAO,MAAM,aAAa,mDAAyC,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,mJAajB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,eAAe,QAIqB,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,IAAI,GAAG,gBAAgB,GAAG,QAAQ,CAAC;CACnD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,wBAAgB,eAAe,IAAI,eAAe,CAajD;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAkD3D;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,GACV,eAAe,CA4BjB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FhB,CAAC;AAEX,eAAO,MAAM,SAAS;;;;CAIZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAC3C,eAAO,MAAM,WAAW,0BAA0B,CAAC;AACnD,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,2EAA2E;AAC3E,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,KAAK,4BAA4B,CAAC;AAC/C,4EAA4E;AAC5E,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAC/D,2EAA2E;AAC3E,eAAO,MAAM,aAAa,mDAAyC,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,mJAajB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,eAAe,QAIqB,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,IAAI,GAAG,gBAAgB,GAAG,QAAQ,CAAC;CACnD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,wBAAgB,eAAe,IAAI,eAAe,CAajD;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAkD3D;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,GACV,eAAe,CA4BjB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FhB,CAAC;AAEX,eAAO,MAAM,SAAS;;;;CAIZ,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -116,6 +116,10 @@ export function applyDefaults(raw) {
|
|
|
116
116
|
export function resolveTag(requested) {
|
|
117
117
|
return requested === "auto" ? PINNED_TAG : requested;
|
|
118
118
|
}
|
|
119
|
+
/** True for plain numeric semver tags like "3.5.0" (update-check filter). */
|
|
120
|
+
export function isSemverTag(tag) {
|
|
121
|
+
return /^\d+\.\d+\.\d+$/.test(tag);
|
|
122
|
+
}
|
|
119
123
|
/**
|
|
120
124
|
* Pure, deterministic settings → ContainerConfig mapping. Called on every
|
|
121
125
|
* start/update; the `command` array is always present and stable so
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAc7D,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,CAAC;AA6BzB,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAiI3D"}
|
package/dist/index.js
CHANGED
|
@@ -7,10 +7,22 @@
|
|
|
7
7
|
* shared `wyoming-service` PropertyValues channel for the signalk-wyoming
|
|
8
8
|
* orchestrator (or any other consumer) to discover.
|
|
9
9
|
*/
|
|
10
|
-
import { errMsg } from "signalk-container-helper";
|
|
11
|
-
import { applyDefaults, CONFIG_SCHEMA, PLUGIN_ID, UI_SCHEMA, } from "./config.js";
|
|
10
|
+
import { errMsg, fetchWithTimeout, } from "signalk-container-helper";
|
|
11
|
+
import { applyDefaults, CONFIG_SCHEMA, IMAGE, isSemverTag, PLUGIN_ID, UI_SCHEMA, } from "./config.js";
|
|
12
12
|
import { ServiceRunner } from "./service.js";
|
|
13
13
|
export { ServiceRunner };
|
|
14
|
+
const TAGS_URL = `https://hub.docker.com/v2/repositories/${IMAGE}/tags/?page_size=25`;
|
|
15
|
+
/** Numeric-descending compare for the plain x.y.z tags isSemverTag admits. */
|
|
16
|
+
function compareSemverDesc(a, b) {
|
|
17
|
+
const pa = a.split(".").map(Number);
|
|
18
|
+
const pb = b.split(".").map(Number);
|
|
19
|
+
for (let i = 0; i < 3; i += 1) {
|
|
20
|
+
const d = (pb[i] ?? 0) - (pa[i] ?? 0);
|
|
21
|
+
if (d !== 0)
|
|
22
|
+
return d;
|
|
23
|
+
}
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
14
26
|
export default function createPlugin(app) {
|
|
15
27
|
let runner;
|
|
16
28
|
let lastConfig = {};
|
|
@@ -73,22 +85,49 @@ export default function createPlugin(app) {
|
|
|
73
85
|
r.onUpdateApplied(resolvedTag);
|
|
74
86
|
},
|
|
75
87
|
});
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
const
|
|
88
|
+
// Readonly routes — any authenticated user when the server supports
|
|
89
|
+
// route permissions, admin-only otherwise.
|
|
90
|
+
const readonlyRouter = typeof pluginRouter.access === "function"
|
|
91
|
+
? pluginRouter.access("readonly")
|
|
92
|
+
: pluginRouter;
|
|
93
|
+
// GET /plugins/signalk-whisper/api/status
|
|
94
|
+
readonlyRouter.get("/api/status", guard(async (_req, res) => {
|
|
79
95
|
try {
|
|
80
96
|
res.json(await r.statusReport());
|
|
81
97
|
}
|
|
82
98
|
catch (err) {
|
|
83
99
|
res.status(500).json({ error: errMsg(err) });
|
|
84
100
|
}
|
|
101
|
+
}));
|
|
102
|
+
// GET /plugins/signalk-whisper/api/versions — the config panel's
|
|
103
|
+
// version-dropdown feed. Deliberately NOT guarded by the running
|
|
104
|
+
// flag: the operator picks a tag while the plugin is still disabled,
|
|
105
|
+
// and the route only reaches out to Docker Hub on demand.
|
|
106
|
+
readonlyRouter.get("/api/versions", (_req, res) => {
|
|
107
|
+
void (async () => {
|
|
108
|
+
try {
|
|
109
|
+
const response = await fetchWithTimeout(TAGS_URL, {
|
|
110
|
+
timeoutMs: 10_000,
|
|
111
|
+
});
|
|
112
|
+
if (!response.ok) {
|
|
113
|
+
res
|
|
114
|
+
.status(502)
|
|
115
|
+
.json({ error: `Docker Hub answered HTTP ${response.status}` });
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const body = (await response.json());
|
|
119
|
+
const versions = (Array.isArray(body.results) ? body.results : [])
|
|
120
|
+
.map((entry) => typeof entry?.name === "string" ? entry.name : "")
|
|
121
|
+
.filter(isSemverTag)
|
|
122
|
+
.sort(compareSemverDesc)
|
|
123
|
+
.map((tag) => ({ tag }));
|
|
124
|
+
res.json({ versions });
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
res.status(502).json({ error: errMsg(err) });
|
|
128
|
+
}
|
|
129
|
+
})();
|
|
85
130
|
});
|
|
86
|
-
if (typeof pluginRouter.access === "function") {
|
|
87
|
-
pluginRouter.access("readonly").get("/api/status", statusHandler);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
pluginRouter.get("/api/status", statusHandler);
|
|
91
|
-
}
|
|
92
131
|
},
|
|
93
132
|
};
|
|
94
133
|
return plugin;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,gBAAgB,EAGhB,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* deliberately omitted; readiness is our own describe loop (src/wyoming.ts).
|
|
14
14
|
*/
|
|
15
15
|
import { ManagedContainer, startSafely, errMsg, } from "signalk-container-helper";
|
|
16
|
-
import { buildContainerConfig, CONTAINER_NAME, defaultSettings, DOWNLOAD_HINT, IMAGE, NOTIFICATION_PATH, PLUGIN_ID, resolveTag, SERVICE_TYPE, WYOMING_PORT, } from "./config.js";
|
|
16
|
+
import { buildContainerConfig, CONTAINER_NAME, defaultSettings, DOWNLOAD_HINT, IMAGE, isSemverTag, NOTIFICATION_PATH, PLUGIN_ID, resolveTag, SERVICE_TYPE, WYOMING_PORT, } from "./config.js";
|
|
17
17
|
import { describeService } from "./wyoming.js";
|
|
18
18
|
/**
|
|
19
19
|
* Emission discipline for the shared `wyoming-service` property (§3.1):
|
|
@@ -224,9 +224,9 @@ export class ServiceRunner {
|
|
|
224
224
|
buildConfig: (tag) => buildContainerConfig(this.settings, tag),
|
|
225
225
|
updates: {
|
|
226
226
|
versionSource: {
|
|
227
|
-
dockerHubTags: IMAGE,
|
|
228
227
|
// Numeric semver tags only (drop latest/branch tags).
|
|
229
|
-
|
|
228
|
+
dockerHubTags: IMAGE,
|
|
229
|
+
filter: isSemverTag,
|
|
230
230
|
},
|
|
231
231
|
},
|
|
232
232
|
ensureOptions: {
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "signalk-whisper",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Whisper speech-to-text (Wyoming protocol) for Signal K — runs rhasspy/wyoming-whisper in a managed container.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist",
|
|
10
|
+
"public",
|
|
10
11
|
"README.md",
|
|
11
12
|
"LICENSE"
|
|
12
13
|
],
|
|
13
14
|
"scripts": {
|
|
14
|
-
"build": "tsc",
|
|
15
|
+
"build": "tsc && webpack",
|
|
15
16
|
"test": "npm run typecheck:test && vitest run",
|
|
16
17
|
"test:watch": "vitest",
|
|
17
18
|
"typecheck": "tsc --noEmit",
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
"prepublishOnly": "npm run build && npm test"
|
|
26
27
|
},
|
|
27
28
|
"lint-staged": {
|
|
28
|
-
"*.ts": [
|
|
29
|
+
"*.{ts,jsx}": [
|
|
29
30
|
"eslint --fix",
|
|
30
31
|
"prettier --write"
|
|
31
32
|
],
|
|
@@ -33,6 +34,7 @@
|
|
|
33
34
|
},
|
|
34
35
|
"keywords": [
|
|
35
36
|
"signalk-node-server-plugin",
|
|
37
|
+
"signalk-plugin-configurator",
|
|
36
38
|
"signalk-category-utility",
|
|
37
39
|
"wyoming",
|
|
38
40
|
"whisper",
|
|
@@ -58,21 +60,28 @@
|
|
|
58
60
|
"node": ">=24"
|
|
59
61
|
},
|
|
60
62
|
"dependencies": {
|
|
61
|
-
"signalk-container-helper": "^0.1
|
|
63
|
+
"signalk-container-helper": "^0.2.1"
|
|
62
64
|
},
|
|
63
65
|
"devDependencies": {
|
|
66
|
+
"@babel/core": "^7.29.0",
|
|
67
|
+
"@babel/preset-react": "^7.28.5",
|
|
64
68
|
"@eslint/js": "^10.0.1",
|
|
65
69
|
"@signalk/server-api": "^2.30.0",
|
|
66
70
|
"@types/node": "^24.0.0",
|
|
71
|
+
"babel-loader": "^10.1.1",
|
|
67
72
|
"eslint": "^10.2.0",
|
|
68
73
|
"eslint-config-prettier": "^10.1.8",
|
|
69
74
|
"globals": "^17.4.0",
|
|
70
75
|
"husky": "^9.1.7",
|
|
71
76
|
"lint-staged": "^16.4.0",
|
|
72
77
|
"prettier": "^3.8.1",
|
|
78
|
+
"react": "^19.2.4",
|
|
79
|
+
"react-dom": "^19.2.4",
|
|
73
80
|
"signalk-wyoming": "^0.1.0",
|
|
74
81
|
"typescript": "^5.5.0",
|
|
75
82
|
"typescript-eslint": "^8.58.0",
|
|
76
|
-
"vitest": "^4.1.10"
|
|
83
|
+
"vitest": "^4.1.10",
|
|
84
|
+
"webpack": "^5.105.4",
|
|
85
|
+
"webpack-cli": "^7.0.2"
|
|
77
86
|
}
|
|
78
87
|
}
|
package/public/172.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __webpack_esm_id__=172;export const __webpack_esm_ids__=[172];export const __webpack_esm_modules__={172(e,t,n){n.d(t,{default:()=>E}),n.r(t);var a=n(231);function r(e,t={}){const{stableCount:n=5,preCount:a=3}=t,r=e.filter(e=>"number"==typeof e.pr),o=e.filter(e=>"number"!=typeof e.pr);return{prVersions:r,stableVersions:o.filter(e=>!e.prerelease).slice(0,n),preVersions:o.filter(e=>e.prerelease).slice(0,a)}}const o={root:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',color:"#333",padding:"16px 0"},sectionTitle:{fontSize:13,fontWeight:600,color:"#888",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:10,marginTop:24},btn:{display:"inline-flex",alignItems:"center",gap:8,padding:"8px 16px",border:"none",borderRadius:6,fontSize:13,fontWeight:600,cursor:"pointer"},btnPrimary:{background:"#3b82f6",color:"#fff"},btnSecondary:{background:"#f1f5f9",color:"#475569",border:"1px solid #e2e8f0"},btnWarn:{background:"#f59e0b",color:"#fff"},btnDanger:{background:"#ef4444",color:"#fff"},btnDisabled:{opacity:.5,cursor:"not-allowed"},btnSmall:{padding:"4px 12px",fontSize:12},status:{marginTop:8,fontSize:12,minHeight:18},card:{display:"flex",alignItems:"center",gap:14,padding:"14px 18px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,marginBottom:12},cardIcon:{width:44,height:44,borderRadius:10,display:"flex",alignItems:"center",justifyContent:"center",fontSize:20,fontWeight:700,flexShrink:0},cardInfo:{flex:1},cardTitle:{fontSize:15,fontWeight:600,color:"#333"},cardMeta:{fontSize:12,color:"#888"},stateIndicator:{width:10,height:10,borderRadius:"50%",flexShrink:0},fieldRow:{display:"flex",alignItems:"center",gap:12,marginBottom:10},label:{fontSize:13,fontWeight:500,color:"#555",width:180,flexShrink:0},select:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",minWidth:200},input:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:200},inputSmall:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,background:"#fff",color:"#333",width:80},checkbox:{width:16,height:16,accentColor:"#3b82f6"},hint:{fontSize:11,color:"#aaa",marginLeft:8},link:{color:"#3b82f6",textDecoration:"none",fontSize:13,fontWeight:600},textarea:{padding:"6px 10px",borderRadius:6,border:"1px solid #ccc",fontSize:13,fontFamily:"monospace",background:"#fff",color:"#333",width:"100%",minHeight:70,boxSizing:"border-box",resize:"vertical"},empty:{textAlign:"center",padding:"30px 16px",color:"#999",fontSize:13},tag:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:10,fontWeight:600,marginLeft:8},tagPre:{background:"#fef3c7",color:"#92400e"},tagLatest:{background:"#dcfce7",color:"#166534"},warnBanner:{padding:"12px 16px",background:"#fef2f2",border:"1px solid #fecaca",borderRadius:10,marginBottom:12,fontSize:13,color:"#991b1b",lineHeight:1.5},warnBannerTitle:{fontWeight:700,marginBottom:4},infoBanner:{padding:"12px 16px",background:"#fffbeb",border:"1px solid #fde68a",borderRadius:10,marginBottom:12,fontSize:13,color:"#92400e",lineHeight:1.5},bannerCode:{display:"block",marginTop:8,padding:"8px 10px",background:"#fff",border:"1px solid #fecaca",borderRadius:6,fontFamily:"monospace",fontSize:12,color:"#7f1d1d",whiteSpace:"pre-wrap",wordBreak:"break-word"},statsGrid:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:10,marginBottom:12},statCard:{padding:"12px 16px",background:"#f8f9fa",border:"1px solid #e0e0e0",borderRadius:10,textAlign:"center"},statValue:{fontSize:22,fontWeight:700,color:"#333"},statLabel:{fontSize:11,color:"#888",marginTop:2}},l={ok:"#10b981",warn:"#f59e0b",error:"#ef4444"};function i(e){const{runningTag:t,tagKind:n,currentVersion:a,latestVersion:r,updateAvailable:o,reason:l,fromCache:i,lastSuccessfulCheckAt:s}=e??{};return"offline"===l?i&&s?`Offline — last checked ${function(e){try{const t=new Date(e).getTime(),n=Math.max(0,Math.floor((Date.now()-t)/1e3));if(n<5)return"just now";if(n<60)return`${n}s ago`;const a=Math.floor(n/60);if(a<60)return`${a}m ago`;const r=Math.floor(a/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}catch{return e}}(s)}: ${o?"update available":"up to date"}`:"Offline — never checked yet":"newer-version"===l?`Update available: ${a} → ${r}`:"digest-drift"===l?`Image rebuild available for :${t}${r?` (latest stable: ${r})`:""}`:"up-to-date"===l?"floating"===n&&r?`Up to date with :${t} (latest stable: ${r})`:`Up to date (${a||t})`:"older-than-pinned"===l?`Pinned to ${a}; latest stable is ${r}`:"error"===l?`Check error: ${e?.error||"unknown"}`:`State: ${l||"unknown"}`}function s({children:e}){return a.createElement("div",{style:o.sectionTitle},e)}function c({children:e,color:t}){return a.createElement("span",{style:{...o.hint,...t?{color:t}:{}}},e)}function d({label:e,hint:t,hintColor:n,children:r}){return a.createElement("div",{style:o.fieldRow},a.createElement("span",{style:o.label},e),r,null!=t&&""!==t&&a.createElement(c,{color:n},t))}function u({state:e="ok",color:t,title:n,style:r}){return a.createElement("div",{style:{...o.stateIndicator,background:t??l[e],...r},title:n})}function p({icon:e,iconBackground:t,iconColor:n,title:r,meta:i,state:s="ok",stateTitle:c,link:d,children:p}){const g="error"===s&&!t;return a.createElement("div",{style:o.card},a.createElement("div",{style:{...o.cardIcon,background:g?"#fef2f2":t??"#3b82f6",color:g?l.error:n??"#fff"}},e),a.createElement("div",{style:o.cardInfo},a.createElement("div",{style:o.cardTitle},r),null!=i&&a.createElement("div",{style:o.cardMeta},i)),p,d&&a.createElement("a",{href:d.href,target:"_blank",rel:"noopener noreferrer",style:o.link},d.label),a.createElement(u,{state:s,title:c}))}function g({title:e,defaultOpen:t=!1,children:n}){const[r,l]=(0,a.useState)(t);return a.createElement("div",null,a.createElement("button",{type:"button","aria-expanded":r,style:{...o.sectionTitle,cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:6,width:"100%",textAlign:"left",background:"none",border:"none",padding:0},onClick:()=>l(!r)},a.createElement("span",{style:{fontSize:10,transition:"transform 0.15s",transform:r?"rotate(90deg)":"rotate(0deg)"}},"▶"),e),r&&a.createElement("div",{style:{marginBottom:16}},n))}const f={primary:o.btnPrimary,secondary:o.btnSecondary,warn:o.btnWarn,danger:o.btnDanger};function m({variant:e="primary",small:t=!1,busy:n=!1,busyLabel:r,disabled:l=!1,onClick:i,title:s,style:c,children:d}){const u=l||n;return a.createElement("button",{type:"button",style:{...o.btn,...f[e],...t?o.btnSmall:{},...u?o.btnDisabled:{},...c},onClick:i,disabled:u,title:s},n?r??d:d)}function b({message:e,error:t=!1,style:n}){return e?a.createElement("div",{style:{...o.status,color:t?l.error:l.ok,marginTop:16,...n}},e):null}const h=[{tag:"latest",label:"latest (recommended)"}];function y({value:e,onChange:t,versions:n,floatingOptions:i=h,stableCount:s,preCount:d,loading:u=!1,error:p,onRefresh:g,disabled:f=!1,style:b}){const y={stableCount:s,preCount:d},{prVersions:k,stableVersions:v,preVersions:w}=r(n,y),E=function(e,t,n=["latest"],a={}){return e?function(e,t=["latest"],n={}){const{prVersions:a,stableVersions:o,preVersions:l}=r(e,n);return new Set([...t,...l.map(e=>e.tag),...o.map(e=>e.tag),...a.map(e=>e.tag)])}(t,n,a).has(e)?null:e:null}(e,n,i.map(e=>e.tag),y);return a.createElement(a.Fragment,null,a.createElement("select",{style:{...o.select,...b},value:e,onChange:e=>t(e.target.value),disabled:f},i.map(e=>a.createElement("option",{key:e.tag,value:e.tag},e.label??e.tag)),w.map(e=>a.createElement("option",{key:e.tag,value:e.tag},e.tag," (pre-release)")),v.map((e,t)=>a.createElement("option",{key:e.tag,value:e.tag},e.tag,0===t?" (current stable)":"")),k.length>0&&a.createElement("optgroup",{label:"PR test images"},k.map(e=>a.createElement("option",{key:e.tag,value:e.tag},e.tag,e.title?` — ${e.title}`:""))),E&&a.createElement("option",{value:E},E," (running)")),u&&a.createElement(c,null,"loading releases..."),g&&a.createElement(m,{small:!0,style:{padding:"4px 10px",fontSize:11},onClick:g,title:"Refresh available versions"},"↻"),p&&a.createElement(c,{color:l.error},p))}function k({checkUrl:e,applyUrl:t,tag:n,onApplied:r,updateLabel:o="Update",disabled:s=!1,style:c}){const d=function(e){const{checkUrl:t,applyUrl:n}=e,[r,o]=(0,a.useState)(!1),[l,i]=(0,a.useState)(!1),[s,c]=(0,a.useState)(null),[d,u]=(0,a.useState)("");return{checking:r,applying:l,result:s,error:d,check:(0,a.useCallback)(async()=>{o(!0),u("");try{const e=await fetch(t),n=await e.json().catch(()=>null);if(e.ok&&n&&"object"==typeof n)c(n);else{const t=n?.error??`HTTP ${e.status}`;u(`Check failed: ${t}`)}}catch(e){u(`Check failed: ${e instanceof Error?e.message:String(e)}`)}o(!1)},[t]),apply:(0,a.useCallback)(async e=>{let t;i(!0),u("");try{const a=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e?{tag:e}:{})}),r=await a.json().catch(()=>null);a.ok?(t={ok:!0,tag:r?.tag},c(null)):(t={ok:!1,error:r?.error??`HTTP ${a.status}`},u(`Update failed: ${t.error}`))}catch(e){t={ok:!1,error:e instanceof Error?e.message:String(e)},u(`Update failed: ${t.error}`)}return i(!1),t},[n])}}({checkUrl:e,applyUrl:t}),[u,p]=(0,a.useState)("");return a.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:12,...c}},d.result?.updateAvailable?a.createElement(a.Fragment,null,a.createElement("span",{style:{fontSize:13}},i(d.result)),a.createElement(m,{small:!0,variant:"warn",busy:d.applying,busyLabel:"Updating...",disabled:s||d.checking,onClick:()=>{(async()=>{p("");const e=await d.apply(n);e.ok&&(p(e.tag?`Updated to ${e.tag}.`:"Updated."),r?.(e.tag))})()},title:"Pull the image and recreate the container"},o)):d.result?a.createElement("span",{style:{fontSize:12,color:"#888"}},i(d.result)):a.createElement(m,{small:!0,variant:"secondary",busy:d.checking,busyLabel:"Checking...",disabled:s||d.applying,onClick:()=>{d.check()}},"Check for updates"),u&&a.createElement("span",{style:{fontSize:12,color:l.ok}},u),d.error&&a.createElement("span",{style:{fontSize:12,color:l.error}},d.error))}const v="/plugins/signalk-whisper",w=["tiny-int8","base-int8","small-int8","medium-int8","tiny","tiny.en","base","base.en","small","small.en","medium.en","turbo"];function E({configuration:e,save:t}){const n=e||{},r=n.advanced||{},[i,c]=(0,a.useState)(w.includes(n.model)?n.model:"tiny-int8"),[u,f]=(0,a.useState)(n.language||"en"),[h,E]=(0,a.useState)("string"==typeof n.initialPrompt?n.initialPrompt:"Genoa, jib, mainsail, spinnaker, windlass, gybe, tack, halyard, winch, anchor chain, rode, bilge, galley, helm, autopilot, waypoint, knots, port, starboard, bow, stern, leeward, windward, reef, furl, log position, anchor alarm, engine, throttle."),[S,x]=(0,a.useState)(n.imageTag||"auto"),[C,$]=(0,a.useState)(String(n.port??10300)),[z,T]=(0,a.useState)("0.0.0.0"===r.bind?"0.0.0.0":"127.0.0.1"),[R,B]=(0,a.useState)(r.memoryLimit||"1g"),[_,W]=(0,a.useState)(r.restartPolicy||"unless-stopped"),[A,I]=(0,a.useState)(""),{status:P,loading:U,refresh:M}=function(e,t={}){const{intervalMs:n=5e3}=t,[r,o]=(0,a.useState)(null),[l,i]=(0,a.useState)(!0),s=(0,a.useRef)(0),c=(0,a.useRef)(t.fallback??null),d=(0,a.useCallback)(async t=>{const n=++s.current;let a=c.current;try{const n=await fetch(e,{signal:t}),r=await n.json().catch(()=>null);r&&"object"==typeof r&&(a=r)}catch{}n===s.current&&(o(a),i(!1))},[e]);return(0,a.useEffect)(()=>{let e=!1,t=null;const a=new AbortController,r=async()=>{await d(a.signal),!e&&n>0&&(t=setTimeout(r,n))};return r(),()=>{e=!0,a.abort(),t&&clearTimeout(t)}},[d,n]),{status:r,loading:l,refresh:()=>d()}}(`${v}/api/status`,{fallback:{status:"not_running"}}),j=function(e){const[t,n]=(0,a.useState)([]),[r,o]=(0,a.useState)(""),[l,i]=(0,a.useState)(!1),s=(0,a.useRef)(0),c=(0,a.useCallback)(async()=>{const t=++s.current;i(!0);try{const a=await fetch(e),r=await a.json().catch(()=>null),l=function(e,t){if(!e)return{versions:null,versionsError:"⚠ Could not reach GitHub — showing last known versions, retry"};const n=t&&"object"==typeof t?t:{},a=Array.isArray(n)?n:Array.isArray(n.versions)?n.versions:[],r=!Array.isArray(n)&&n.sources&&"object"==typeof n.sources?n.sources:{};let o="";return"rate-limited"===r.prImages?o="⚠ GitHub rate-limited — PR test images temporarily unavailable, retry shortly":"rate-limited"===r.releases?o="⚠ GitHub rate-limited — some versions temporarily unavailable, retry shortly":"error"!==r.prImages&&"error"!==r.releases||(o="⚠ Could not fetch some versions from GitHub, retry"),{versions:a,versionsError:o}}(a.ok,r);if(t!==s.current)return;null!==l.versions&&n(l.versions),o(l.versionsError)}catch{if(t!==s.current)return;o("⚠ Offline — showing last known versions")}i(!1)},[e]);return(0,a.useEffect)(()=>{c()},[c]),{versions:t,versionsError:r,loading:l,refresh:c}}(`${v}/api/versions`),L=P&&"string"==typeof P.status?P.status:"not_running",V="ready"===L?"ok":"starting"===L?"warn":"error",H=U?"Checking...":"ready"===L?`rhasspy/wyoming-whisper:${P.tag} at ${P.uri}`:"starting"===L?"Starting — a first start downloads the model (tiny-int8 ≈ 43 MB, base-int8 ≈ 80 MB)":"error"===L?"Not answering"+(P&&P.uri?` at ${P.uri}`:""):"Not running",O=function(e){return"tiny-int8"===e?{text:"fits a Pi 4; ≈ 43 MB download on first use",warn:!1}:"base-int8"===e?{text:"recommended on a Pi 5 / x86 box; ≈ 80 MB download on first use",warn:!1}:e.endsWith("-int8")?{text:"hundreds of MB download, > 1 GB RAM — raise the memory limit",warn:!0}:{text:"float model — slower and heavier than int8 at the same size",warn:!0}}(i);return a.createElement("div",{style:o.root},a.createElement(s,null,"Whisper status"),a.createElement(p,{icon:"W",iconBackground:"ready"===L?"#7c3aed":void 0,title:"Whisper STT (Wyoming)",meta:H,state:V,stateTitle:L}),"not_running"!==L&&"stopped"!==L&&a.createElement(k,{checkUrl:`${v}/api/update/check`,applyUrl:`${v}/api/update/apply`,tag:S,onApplied:()=>{M()}}),a.createElement(s,null,"Settings"),a.createElement(d,{label:"Model",hint:O.text,hintColor:O.warn?l.warn:void 0},a.createElement("select",{style:o.select,value:i,onChange:e=>c(e.target.value)},w.map(e=>a.createElement("option",{key:e,value:e},e)))),a.createElement(d,{label:"Language",hint:"auto"===u.trim()?"per-utterance detection costs speed and accuracy — set a code if you can":"spoken language code, e.g. en, de, fr",hintColor:"auto"===u.trim()?l.warn:void 0},a.createElement("input",{style:{...o.input,width:90},value:u,onChange:e=>f(e.target.value),placeholder:"en"})),a.createElement(d,{label:"Initial prompt",hint:"vocabulary bias — add your vessel name, local ports, boat gear; empty disables"}),a.createElement("textarea",{style:{...o.textarea,marginBottom:10},rows:4,value:h,onChange:e=>E(e.target.value),placeholder:"Words Whisper should expect to hear"}),a.createElement(d,{label:"Image version"},a.createElement(y,{value:S,onChange:x,versions:j.versions,floatingOptions:[{tag:"auto",label:"auto (pinned release, recommended)"}],loading:j.loading,error:j.versionsError,onRefresh:j.refresh})),a.createElement(d,{label:"Port",hint:"only used with bind address 0.0.0.0"},a.createElement("input",{style:{...o.input,width:90},type:"number",value:C,onChange:e=>$(e.target.value)})),a.createElement(g,{title:"Advanced"},a.createElement(d,{label:"Bind address",hint:"0.0.0.0"===z?"LAN-reachable — Wyoming has no authentication, firewall accordingly":"only Signal K can reach the service",hintColor:"0.0.0.0"===z?l.warn:void 0},a.createElement("select",{style:o.select,value:z,onChange:e=>T(e.target.value)},a.createElement("option",{value:"127.0.0.1"},"127.0.0.1 (recommended)"),a.createElement("option",{value:"0.0.0.0"},"0.0.0.0 (all interfaces)"))),a.createElement(d,{label:"Memory limit",hint:'hard cap, e.g. "1g" or "1536m"'},a.createElement("input",{style:{...o.input,width:90},value:R,onChange:e=>B(e.target.value)})),a.createElement(d,{label:"Restart policy"},a.createElement("select",{style:o.select,value:_,onChange:e=>W(e.target.value)},a.createElement("option",{value:"unless-stopped"},"unless-stopped"),a.createElement("option",{value:"always"},"always"),a.createElement("option",{value:"no"},"no")))),a.createElement("div",{style:{marginTop:24}},a.createElement(m,{onClick:()=>{const e=Number(C);t({...n,model:i,language:u,initialPrompt:h,imageTag:S,port:""!==C&&Number.isFinite(e)?e:10300,advanced:{bind:z,memoryLimit:R,restartPolicy:_}}),I("Saved. Signal K restarts the plugin with the new configuration.")}},"Save Configuration")),a.createElement(b,{message:A}))}}};
|
package/public/540.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see 540.mjs.LICENSE.txt */
|
|
2
|
+
export const __webpack_esm_id__=540;export const __webpack_esm_ids__=[540];export const __webpack_esm_modules__={869(e,t){var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),i=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),l=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),d=Symbol.iterator,_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,m={};function b(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||_}function v(){}function S(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||_}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=b.prototype;var E=S.prototype=new v;E.constructor=S,h(E,b.prototype),E.isPureReactComponent=!0;var w=Array.isArray;function g(){}var k={H:null,A:null,T:null,S:null},H=Object.prototype.hasOwnProperty;function j(e,t,r){var o=r.ref;return{$$typeof:n,type:e,key:t,ref:void 0!==o?o:null,props:r}}function R(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var C=/\/+/g;function $(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36);var n,r}function x(e,t,o,u,c){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var i,a,f=!1;if(null===e)f=!0;else switch(s){case"bigint":case"string":case"number":f=!0;break;case"object":switch(e.$$typeof){case n:case r:f=!0;break;case p:return x((f=e._init)(e._payload),t,o,u,c)}}if(f)return c=c(e),f=""===u?"."+$(e,0):u,w(c)?(o="",null!=f&&(o=f.replace(C,"$&/")+"/"),x(c,t,o,"",function(e){return e})):null!=c&&(R(c)&&(i=c,a=o+(null==c.key||e&&e.key===c.key?"":(""+c.key).replace(C,"$&/")+"/")+f,c=j(i.type,a,i.props)),t.push(c)),1;f=0;var l,y=""===u?".":u+":";if(w(e))for(var _=0;_<e.length;_++)f+=x(u=e[_],t,o,s=y+$(u,_),c);else if("function"==typeof(_=null===(l=e)||"object"!=typeof l?null:"function"==typeof(l=d&&l[d]||l["@@iterator"])?l:null))for(e=_.call(e),_=0;!(u=e.next()).done;)f+=x(u=u.value,t,o,s=y+$(u,_++),c);else if("object"===s){if("function"==typeof e.then)return x(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(g,g):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(e),t,o,u,c);throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return f}function T(e,t,n){if(null==e)return e;var r=[],o=0;return x(e,r,"","",function(e){return t.call(n,e,o++)}),r}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var O="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},I={map:T,forEach:function(e,t,n){T(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return T(e,function(){t++}),t},toArray:function(e){return T(e,function(e){return e})||[]},only:function(e){if(!R(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};t.Activity=y,t.Children=I,t.Component=b,t.Fragment=o,t.Profiler=c,t.PureComponent=S,t.StrictMode=u,t.Suspense=f,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=k,t.__COMPILER_RUNTIME={__proto__:null,c:function(e){return k.H.useMemoCache(e)}},t.cache=function(e){return function(){return e.apply(null,arguments)}},t.cacheSignal=function(){return null},t.cloneElement=function(e,t,n){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var r=h({},e.props),o=e.key;if(null!=t)for(u in void 0!==t.key&&(o=""+t.key),t)!H.call(t,u)||"key"===u||"__self"===u||"__source"===u||"ref"===u&&void 0===t.ref||(r[u]=t[u]);var u=arguments.length-2;if(1===u)r.children=n;else if(1<u){for(var c=Array(u),s=0;s<u;s++)c[s]=arguments[s+2];r.children=c}return j(e.type,o,r)},t.createContext=function(e){return(e={$$typeof:i,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:s,_context:e},e},t.createElement=function(e,t,n){var r,o={},u=null;if(null!=t)for(r in void 0!==t.key&&(u=""+t.key),t)H.call(t,r)&&"key"!==r&&"__self"!==r&&"__source"!==r&&(o[r]=t[r]);var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){for(var s=Array(c),i=0;i<c;i++)s[i]=arguments[i+2];o.children=s}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===o[r]&&(o[r]=c[r]);return j(e,u,o)},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:a,render:e}},t.isValidElement=R,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:l,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=k.T,n={};k.T=n;try{var r=e(),o=k.S;null!==o&&o(n,r),"object"==typeof r&&null!==r&&"function"==typeof r.then&&r.then(g,O)}catch(e){O(e)}finally{null!==t&&null!==n.types&&(t.types=n.types),k.T=t}},t.unstable_useCacheRefresh=function(){return k.H.useCacheRefresh()},t.use=function(e){return k.H.use(e)},t.useActionState=function(e,t,n){return k.H.useActionState(e,t,n)},t.useCallback=function(e,t){return k.H.useCallback(e,t)},t.useContext=function(e){return k.H.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e,t){return k.H.useDeferredValue(e,t)},t.useEffect=function(e,t){return k.H.useEffect(e,t)},t.useEffectEvent=function(e){return k.H.useEffectEvent(e)},t.useId=function(){return k.H.useId()},t.useImperativeHandle=function(e,t,n){return k.H.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return k.H.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return k.H.useLayoutEffect(e,t)},t.useMemo=function(e,t){return k.H.useMemo(e,t)},t.useOptimistic=function(e,t){return k.H.useOptimistic(e,t)},t.useReducer=function(e,t,n){return k.H.useReducer(e,t,n)},t.useRef=function(e){return k.H.useRef(e)},t.useState=function(e){return k.H.useState(e)},t.useSyncExternalStore=function(e,t,n){return k.H.useSyncExternalStore(e,t,n)},t.useTransition=function(){return k.H.useTransition()},t.version="19.2.8"},540(e,t,n){e.exports=n(869)}};
|
package/public/main.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={980(){}};const t={};function r(o){const s=t[o];if(void 0!==s)return s.exports;const n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}r.m=e,r.c=t,r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>e+".mjs",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{r.S={};const e={},t={};r.I=(o,s)=>{s||(s=[]);let n=t[o];if(n||(n=t[o]={}),s.indexOf(n)>=0)return;if(s.push(n),e[o])return e[o];r.o(r.S,o)||(r.S[o]={});const i=r.S[o],c="signalk-whisper",_=[];return"default"===o&&((e,t,o,s)=>{const n=i[e]=i[e]||{},_=n[t];(!_||!_.loaded&&(1!=!_.eager?s:c>_.from))&&(n[t]={get:()=>r.e(540).then(()=>()=>r(540)),from:c,eager:!1})})("react","19.2.8"),e[o]=_.length?Promise.all(_).then(()=>e[o]=1):1}})(),(()=>{const e={792:0},t=t=>{let{__webpack_esm_ids__:o,__webpack_esm_modules__:s,__webpack_esm_runtime__:n}=t;var i,c,_=0;for(i in s)r.o(s,i)&&(r.m[i]=s[i]);for(n&&n(r);_<o.length;_++)c=o[_],r.o(e,c)&&e[c]&&e[c][0](),e[o[_]]=0};r.f.j=(o,s)=>{let n=r.o(e,o)?e[o]:void 0;if(0!==n)if(n)s.push(n[1]);else{let i=import("./"+r.u(o)).then(t,t=>{throw 0!==e[o]&&(e[o]=void 0),t});i=Promise.race([i,new Promise(t=>n=e[o]=[t])]),s.push(n[1]=i)}}})(),r(980);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={623(e,r,t){const n={"./PluginConfigurationPanel":()=>t.e(172).then(()=>()=>t(172))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then(()=>{throw new Error('Module "'+e+'" does not exist in container.')}),t.R=void 0,r),i=(e,r)=>{if(!t.S)return;const n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)};t.d(r,{get:()=>o,init:()=>i})}};const r={};function t(n){const o=r[n];if(void 0!==o)return o.exports;const i=r[n]={exports:{}};return e[n](i,i.exports,t),i.exports}t.m=e,t.c=r,t.d=(e,r)=>{if(Array.isArray(r))for(var n=0;n<r.length;){var o=r[n++],i=r[n++];t.o(e,o)?0===i&&n++:0===i?Object.defineProperty(e,o,{enumerable:!0,value:r[n++]}):Object.defineProperty(e,o,{enumerable:!0,get:i})}else for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((r,n)=>(t.f[n](e,r),r),[])),t.u=e=>e+".mjs",t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{t.S={};const e={},r={};t.I=(n,o)=>{o||(o=[]);let i=r[n];if(i||(i=r[n]={}),o.indexOf(i)>=0)return;if(o.push(i),e[n])return e[n];t.o(t.S,n)||(t.S[n]={});const s=t.S[n],a="signalk-whisper",u=[];return"default"===n&&((e,r,n,o)=>{const i=s[e]=s[e]||{},u=i[r];(!u||!u.loaded&&(1!=!u.eager?o:a>u.from))&&(i[r]={get:()=>t.e(540).then(()=>()=>t(540)),from:a,eager:!1})})("react","19.2.8"),e[n]=u.length?Promise.all(u).then(()=>e[n]=1):1}})(),(()=>{var e=e=>{var r=e=>e.split(".").map(e=>+e==e?+e:e),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},r=e=>{var t=e[0],n="";if(1===e.length)return"*";if(t+.5){n+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var o=1,i=1;i<e.length;i++)o--,n+="u"==(typeof(a=e[i]))[0]?"-":(o>0?".":"")+(o=2,a);return n}var s=[];for(i=1;i<e.length;i++){var a=e[i];s.push(0===a?"not("+u()+")":1===a?"("+u()+" || "+u()+")":2===a?s.pop()+" "+s.pop():r(a))}return u();function u(){return s.pop().replace(/^\((.+)\)$/,"$1")}},n=(r,t)=>{if(0 in r){t=e(t);var o=r[0],i=o<0;i&&(o=-o-1);for(var s=0,a=1,u=!0;;a++,s++){var f,l,c=a<r.length?(typeof r[a])[0]:"";if(s>=t.length||"o"==(l=(typeof(f=t[s]))[0]))return!u||("u"==c?a>o&&!i:""==c!=i);if("u"==l){if(!u||"u"!=c)return!1}else if(u)if(c==l)if(a<=o){if(f!=r[a])return!1}else{if(i?f>r[a]:f<r[a])return!1;f!=r[a]&&(u=!1)}else if("s"!=c&&"n"!=c){if(i||a<=o)return!1;u=!1,a--}else{if(a<=o||l<c!=i)return!1;u=!1}else"s"!=c&&"n"!=c&&(u=!1,a--)}}var p=[],d=p.pop.bind(p);for(s=1;s<r.length;s++){var h=r[s];p.push(1==h?d()|d():2==h?d()&d():h?n(h,t):!d())}return!!d()};const o=(r,t,n)=>{const o=n?(e=>Object.keys(e).reduce((r,t)=>(e[t].eager&&(r[t]=e[t]),r),{}))(r[t]):r[t];return Object.keys(o).reduce((r,t)=>!r||!o[r].loaded&&((r,t)=>{r=e(r),t=e(t);for(var n=0;;){if(n>=r.length)return n<t.length&&"u"!=(typeof t[n])[0];var o=r[n],i=(typeof o)[0];if(n>=t.length)return"u"==i;var s=t[n],a=(typeof s)[0];if(i!=a)return"o"==i&&"n"==a||"s"==a||"u"==i;if("o"!=i&&"u"!=i&&o!=s)return o<s;n++}})(r,t)?t:r,0)},i=(e,r,t)=>t?t():((e,r)=>(e=>{throw new Error(e)})("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),s=(e=>function(r,n,o,i,s){const a=t.I(r);return a?.then&&!o?a.then(e.bind(e,r,t.S[r],n,!1,i,s)):e(r,t.S[r],n,o,i,s)})((e,s,a,u,f,l)=>{if(!((e,r)=>e&&t.o(e,r))(s,a))return i(e,a,l);const c=o(s,a,u);return n(f,c)||(d=((e,t,n,o)=>"Unsatisfied version "+n+" from "+(n&&e[t][n].from)+" of shared singleton module "+t+" (required "+r(o)+")")(s,a,c,f),"undefined"!=typeof console&&console.warn&&console.warn(d)),(p=s[a][c]).loaded=1,p.get();var p,d}),a={},u={231:()=>s("default","react",!1,[1,19],()=>t.e(540).then(()=>()=>t(540)))},f={172:[231]},l={};t.f.consumes=(e,r)=>{t.o(f,e)&&f[e].forEach(e=>{if(t.o(a,e))return r.push(a[e]);if(!l[e]){const n=r=>{a[e]=0,t.m[e]=n=>{delete t.c[e],n.exports=r()}};l[e]=!0;const o=r=>{delete a[e],t.m[e]=n=>{throw delete t.c[e],r}};try{const t=u[e]();t.then?r.push(a[e]=t.then(n).catch(o)):n(t)}catch(e){o(e)}}})}})(),(()=>{const e={145:0},r=r=>{let{__webpack_esm_ids__:n,__webpack_esm_modules__:o,__webpack_esm_runtime__:i}=r;var s,a,u=0;for(s in o)t.o(o,s)&&(t.m[s]=o[s]);for(i&&i(t);u<n.length;u++)a=n[u],t.o(e,a)&&e[a]&&e[a][0](),e[n[u]]=0};t.f.j=(n,o)=>{let i=t.o(e,n)?e[n]:void 0;if(0!==i)if(i)o.push(i[1]);else{let s=import("./"+t.u(n)).then(r,r=>{throw 0!==e[n]&&(e[n]=void 0),r});s=Promise.race([s,new Promise(r=>i=e[n]=[r])]),o.push(i[1]=s)}}})();let n=t(623);const o=n.get,i=n.init;export{o as get,i as init};
|