@ours.network/mcp 0.14.1 → 0.15.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/README.md +27 -4
- package/dist/cli.js +78 -50
- package/dist/index.js +43 -42
- package/dist/mufl_code/57D7F142BD31F27B99BFB808D032E249235B63971387EFEA402EBA5967BDBD53.muflo +0 -0
- package/dist/process-state.js +2 -0
- package/dist/startup-progress.js +4 -0
- package/dist/voice-setup.js +28 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -30,13 +30,16 @@ Voice transcription is off until a provider and key (plus provider-required fiel
|
|
|
30
30
|
configured. Check readiness without exposing credentials:
|
|
31
31
|
|
|
32
32
|
```sh
|
|
33
|
+
ours-mcp voice-setup
|
|
33
34
|
ours-mcp voice-status --json
|
|
34
35
|
```
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
`voice-setup` presents a keyboard-driven single-choice provider selector and reads the
|
|
38
|
+
provider key with hidden input. It writes config atomically with mode `0600`, preserves
|
|
39
|
+
unrelated fields, and rolls back if the managed daemon cannot restart and report ready.
|
|
40
|
+
It never accepts a key in command arguments. For environment-only service configuration
|
|
41
|
+
use `OURS_STT_PROVIDER`, `OURS_STT_API_KEY`, `OURS_STT_MODEL`, `OURS_STT_BASE_URL`, and
|
|
42
|
+
`OURS_STT_LANGUAGE`; environment values override file fields.
|
|
40
43
|
|
|
41
44
|
The supported providers are `openai-compatible` (explicit base URL + model),
|
|
42
45
|
`elevenlabs` (model), `deepgram`, and `custom` (`stt.custom.url`). Incoming voice remains
|
|
@@ -59,6 +62,26 @@ cannot be run per session. Each session instead runs a thin `ours-mcp proxy`
|
|
|
59
62
|
Platform plugins ship only the proxy invocation; they never own or restart the
|
|
60
63
|
daemon.
|
|
61
64
|
|
|
65
|
+
`ours-mcp start` and `ours-mcp restart` do not treat an open socket as readiness.
|
|
66
|
+
They wait for an authenticated response from the daemon's normal control
|
|
67
|
+
surface (`/identities`) after the protocol runtime, contact-book registrar,
|
|
68
|
+
persisted identities, and boot reconciliation are complete. In owner mode the
|
|
69
|
+
CLI dynamically discovers the mode-`0600` token minted by the daemon before it
|
|
70
|
+
declares readiness; shared and open modes preserve their configured auth
|
|
71
|
+
semantics. During that wait the daemon publishes a mode-`0600`
|
|
72
|
+
`startup-progress.json` in its state directory. The structured record contains
|
|
73
|
+
only a phase, timestamps, process/boot identifiers, and identity counts — never
|
|
74
|
+
identity names, container IDs, keys, packet contents, or state paths.
|
|
75
|
+
|
|
76
|
+
Interactive terminals update one progress line; redirected/noninteractive runs
|
|
77
|
+
emit concise stable lines such as `startup: Restoring identities 3/12`. A
|
|
78
|
+
heartbeat distinguishes active work from a frozen process: 30 seconds without
|
|
79
|
+
an update is a failure, and an absolute three-minute bound prevents an
|
|
80
|
+
event-loop-active stall from waiting forever. Immediate daemon failure remains
|
|
81
|
+
nonzero. The same daemon bootstrap/reporting path is used by foreground
|
|
82
|
+
`serve`, Linux systemd, macOS launchd, and either native or WASM-backed ADAPT
|
|
83
|
+
runtimes; service managers keep their existing lifecycle behavior.
|
|
84
|
+
|
|
62
85
|
On connect, the proxy runs a compatibility handshake against the daemon's
|
|
63
86
|
`/state-dir` report (`{ version, compat }`). `compat` is the wire-contract
|
|
64
87
|
version (`src/protocol.ts`) — distinct from the package version, bumped only on
|