@ours.network/mcp 0.14.0 → 0.15.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 CHANGED
@@ -24,6 +24,34 @@ exposes the messaging tools — each a thin wrapper over one MUFL user transacti
24
24
  | `OURS_STATE_DIR` | `~/.ours` | Node identity + serialized state. Distinct per node. |
25
25
  | `OURS_BROKER_URL` | `wss://broker1.ours.network` | The ADAPT broker to connect through. Set to `ws://localhost:9000` for a local broker. |
26
26
 
27
+ ### Voice-message transcription
28
+
29
+ Voice transcription is off until a provider and key (plus provider-required fields) are
30
+ configured. Check readiness without exposing credentials:
31
+
32
+ ```sh
33
+ ours-mcp voice-setup
34
+ ours-mcp voice-status --json
35
+ ```
36
+
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.
43
+
44
+ The supported providers are `openai-compatible` (explicit base URL + model),
45
+ `elevenlabs` (model), `deepgram`, and `custom` (`stt.custom.url`). Incoming voice remains
46
+ a file and is transcribed only when its real `audio/*` MIME also carries
47
+ `x-ours-kind=voice-message` (or its legacy filename starts `voice-message-`). The original
48
+ bytes are saved whether transcription succeeds, is unconfigured, exceeds the size cap, or
49
+ the provider fails. Provider error text is scrubbed if it echoes the configured key.
50
+
51
+ Telegram fallback preserves its original OGG/Opus bytes and `.ogg` filename and advertises
52
+ `audio/ogg; x-ours-kind=voice-message`; the connector's v2 message envelope correlates the
53
+ separate file using `attachment.wire_id`.
54
+
27
55
  ## Daemon lifecycle
28
56
 
29
57
  This package is the **single owner of the daemon lifecycle**. `ours-mcp start`