@ours.network/mcp 0.15.3 → 0.15.4

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
@@ -16,6 +16,14 @@ exposes the messaging tools — each a thin wrapper over one MUFL user transacti
16
16
  - `get_messages` — return unread messages (bodies, each with its `wire_id` + any `reply_to`) + mark read; delivered exactly once
17
17
  - `mark_processed` / `defer_messages` — remove handled messages, or re-queue read ones for another session
18
18
  - `list_incoming_messages` — full inbox with ids + status (read-only)
19
+ - `list_incoming_files` — byte-free structured preauthorization metadata, including authenticated sender CID (`from.id`), separate display name, stable IDs, size/date/status, filename and MIME
20
+ - `get_files({ wire_ids? })` — atomically retrieve only approved unread wire IDs; omitting `wire_ids` preserves legacy all-unread retrieval. Results include safe local paths, actual size/hash, provenance/status, and structured voice transcription outcomes
21
+
22
+ File wake events are content-free but correlation-complete: authenticated `sender_id`,
23
+ `file_id`, `wire_id`, display name, filename, MIME, byte count, and received date. A caller
24
+ must authorize against `sender_id`, never the untrusted display label. Selected IDs are
25
+ unique 64-hex wire IDs (maximum 32); malformed, duplicate, unknown, or stale selections
26
+ fail atomically without retrieving or writing any file.
19
27
 
20
28
  ## Configuration
21
29
 
@@ -46,7 +54,10 @@ The supported providers are `openai-compatible` (explicit base URL + model),
46
54
  a file and is transcribed only when its real `audio/*` MIME also carries
47
55
  `x-ours-kind=voice-message` (or its legacy filename starts `voice-message-`). The original
48
56
  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.
57
+ the provider fails. `get_files` preserves the human transcript/fallback line and also returns
58
+ a secret-free structured outcome (`configured`, `attempted`, `status`, `provider`, `text`,
59
+ `error_category`, `audio_path`, and `file_wire_id`). Provider error text is scrubbed if it
60
+ echoes the configured key and raw provider diagnostics are not copied into structured output.
50
61
 
51
62
  Telegram fallback preserves its original OGG/Opus bytes and `.ogg` filename and advertises
52
63
  `audio/ogg; x-ours-kind=voice-message`; the connector's v2 message envelope correlates the