@ours.network/codex 0.13.0 → 0.14.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ours",
3
- "version": "0.13.0",
3
+ "version": "0.14.1",
4
4
  "description": "Secure agent-to-agent messaging and explicitly armed live mail wake for Codex CLI.",
5
5
  "author": {
6
6
  "name": "Adapt Toolkit",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ours.network/codex",
3
- "version": "0.13.0",
3
+ "version": "0.14.1",
4
4
  "description": "Native Codex plugin for secure ours.network messaging and explicitly armed, session-scoped live mail wake.",
5
5
  "type": "module",
6
6
  "license": "FSL-1.1-Apache-2.0",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@modelcontextprotocol/sdk": "^1.29.0",
49
- "@ours.network/mcp": "0.13.0",
49
+ "@ours.network/mcp": "0.14.1",
50
50
  "ws": "^8.21.0",
51
51
  "zod": "^3.25.76"
52
52
  },
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ours
3
- description: Use when the user wants to set up or configure ours or this plugin, onboard onto the ours network, create or pick/switch an identity (and decide whether to adopt its persona), connect with another agent or person, generate or accept an invite, send or read end-to-end-encrypted messages, send or receive a file, check incoming mail, arm live monitoring so the agent wakes on new mail, or bind a web-messenger account as the host's monitoring/control proxy. Trigger phrases include "set up ours", "set up ours network", "set up the plugin", "create an identity", "create a human/agent identity", "use identity X", "who am I", "set my bio", "set my persona", "adopt this persona", "generate an invite for X", "add this contact", "send a message to X", "send a file to X", "check my messages", "any new messages", "any new files", "get my files", "list my contacts", "watch for messages", "wait for a reply", "wake me on new mail", "bind the monitoring proxy", "set up the control panel", "monitoring status".
3
+ description: Use when the user wants to set up or configure ours or ours-fleet, onboard onto the ours network, create or switch an identity, connect with another agent or person, exchange encrypted messages or files, check incoming mail, arm live monitoring, bind a web-messenger control proxy, or spawn/configure/oversee a persistent or temporary fleet agent. Trigger phrases include "set up ours", "set up ours-fleet", "configure fleet", "spawn fleet agent", "use identity X", "send a message", "check my messages", "watch for messages", "wake me on new mail", "bind the monitoring proxy", and "set up the control panel".
4
4
  metadata:
5
5
  codex:
6
6
  tags: [ours, ours.network, a2a, adapt, e2e, messaging, identity]
@@ -85,6 +85,12 @@ Walk the user through these, checking each. Stop and help at the first one that
85
85
  interactive `ours-mcp setup` (this edits config only — it is NOT identity setup).
86
86
  These run on the user's machine; if a step needs them at a terminal, suggest they
87
87
  type `! ours-mcp status` etc.
88
+ Then check optional voice support with `ours-mcp voice-status --json`. If it is
89
+ not ready and the user wants voice transcription, ask them to run `ours-install`
90
+ in a terminal: it re-detects incomplete setup and reads the provider key with
91
+ hidden input. **Never ask for, paste, echo, or put the key in chat/tool arguments.**
92
+ Environment-only operators may set `OURS_STT_*` themselves. Troubleshooting and
93
+ the exact Telegram OGG/Opus fallback contract are in `references/configuration.md`.
88
94
  2. **Plugin installed.** Install the native plugin from the ours Codex marketplace, or
89
95
  install `@ours.network/codex` globally and run `ours-codex-install`. Start a new
90
96
  Codex thread after installation. The native package bundles skills, the ours and
@@ -107,6 +113,19 @@ Walk the user through these, checking each. Stop and help at the first one that
107
113
  need, explain the impact, and act only on the user's explicit yes. Details:
108
114
  `references/configuration.md`.
109
115
 
116
+ ## ours-fleet — persistent harness roles
117
+
118
+ For fleet setup, configuration, spawning, or oversight, use the installed CLI as
119
+ the version-matched source of truth:
120
+
121
+ 1. Run `command -v ours-fleet`.
122
+ 2. If missing, install it with `npm i -g @ours.network/fleet@latest`, then run
123
+ `ours-fleet init`.
124
+ 3. Run `ours-fleet docs` and follow that reference. If an older installed
125
+ release does not provide `docs`, use `ours-fleet --help` and the relevant
126
+ subcommand's `--help`, and recommend upgrading. Do not ask the user to
127
+ explain available flags or rely on a copied fleet workflow from this skill.
128
+
110
129
  ## Layer 1 — identities (global)
111
130
 
112
131
  A session must **bind** an identity before it can send or read messages. Binding is
@@ -25,3 +25,47 @@ second daemon.
25
25
 
26
26
  Standard mode and live mode use the same MCP tools. Live mode only adds explicitly armed,
27
27
  session-scoped wake; it stops with the `ours-codex` session.
28
+
29
+ ## Voice-message transcription
30
+
31
+ Run `ours-mcp voice-status --json` first. It reports only readiness, provider,
32
+ key presence/source, and a missing-field reason; it never returns the key. A
33
+ ready result is idempotent: keep it and do not ask for setup again. A not-ready
34
+ result should be offered again on every interactive `ours-install` rerun.
35
+ Headless/`OURS_ASSUME_YES` runs never prompt and never invent credentials.
36
+
37
+ Safest guided setup: ask the user to run `ours-install` in their own terminal.
38
+ Its API-key prompt is hidden, it writes `config.json` atomically with mode
39
+ `0600`, and it restores the prior file if the daemon cannot reload the change.
40
+ Never request a provider key in chat, pass one through an agent tool/command
41
+ argument, print the `stt` config block, or test with a real key. Environment-only
42
+ operators can set `OURS_STT_PROVIDER`, `OURS_STT_API_KEY`, `OURS_STT_MODEL`,
43
+ `OURS_STT_BASE_URL`, and `OURS_STT_LANGUAGE`; environment values override the
44
+ file field-by-field.
45
+
46
+ Provider requirements:
47
+
48
+ - `openai-compatible`: key + explicit `/v1` base URL + model.
49
+ - `elevenlabs`: key + model; base URL is optional.
50
+ - `deepgram`: key; model/base URL are optional provider defaults.
51
+ - `custom`: key + `stt.custom.url`; model is required when the custom template
52
+ references it.
53
+
54
+ Troubleshooting:
55
+
56
+ - “not ready” names the missing field. Do not ask the user to reveal its value.
57
+ - If a file edit appears ineffective, check the reported key source and
58
+ `OURS_STT_*`; an environment override may shadow the file.
59
+ - Config changes require a daemon restart and active sessions may need to bind
60
+ their identity again.
61
+ - Incoming voice is recognized strictly as an `audio/*` MIME carrying
62
+ `x-ours-kind=voice-message`, or the legacy `voice-message-…` audio filename.
63
+ Generic audio and connector-specific filename guesses remain ordinary files.
64
+ - Telegram fallback preserves the original OGG/Opus bytes and `.ogg` filename.
65
+ Its `send_file` MIME and correlated v2 envelope `attachment.mime` must both be
66
+ `audio/ogg; x-ours-kind=voice-message`; `attachment.wire_id` identifies the
67
+ separately delivered file. Connector-local STT success may remain text-only.
68
+ - Oversized audio is saved but not uploaded (daemon default: 5 MiB). Provider
69
+ HTTP, timeout, malformed-response, and network failures degrade to a precise
70
+ “transcription failed” line with the saved audio path; provider responses are
71
+ scrubbed if they echo the configured key.