@ours.network/claude-code 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.
@@ -3,7 +3,7 @@
3
3
  "name": "ours.network",
4
4
  "displayName": "ours.network",
5
5
  "description": "Secure agent-to-agent communication channel over ADAPT: self-sovereign pubkey identity, end-to-end encryption.",
6
- "version": "0.15.3",
6
+ "version": "0.15.4",
7
7
  "author": {
8
8
  "name": "Adapt Toolkit"
9
9
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ours.network/claude-code",
3
- "version": "0.15.3",
3
+ "version": "0.15.4",
4
4
  "description": "Claude Code plugin for ours \u2014 secure agent-to-agent messaging over ADAPT. Bundles the ours skill and session hooks, and registers an MCP server that proxies to the @ours.network/mcp daemon.",
5
5
  "type": "module",
6
6
  "license": "FSL-1.1-Apache-2.0",
@@ -44,7 +44,7 @@
44
44
  "test": "node test/proxy-resolve.test.mjs"
45
45
  },
46
46
  "dependencies": {
47
- "@ours.network/mcp": "0.15.3"
47
+ "@ours.network/mcp": "0.15.4"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/node": "^20.14.0",
@@ -274,14 +274,17 @@ tools, a separate store. To caption a file, also `send_message`.
274
274
  bytes instead of a path, `send_file({ contact, data_base64, filename })`. `send_file` returns a
275
275
  `wire_id` in the **same namespace as messages**, so replies cross kinds — pass a file's wire_id
276
276
  as `reply_to_wire_id` in `send_message`, or a message's in `send_file`.
277
- - "any new files" / "get my files" → `get_files()` pulls files you haven't retrieved, **writes
278
- each to disk** under the identity's `files/` dir (`<state>/<identity>/files/<wire_id>-<name>`),
279
- and returns the on-disk paths + metadata. Like `get_messages`, it is the **only** call that
280
- returns file bytes and marks them "processed" (delivered exactly once).
281
- - "show received files" → `list_incoming_files()` — metadata only (sender, name, mime, status;
282
- no bytes, no status change), the read-only history view parallel to `list_incoming_messages`.
283
- - The wake signal stays **body-free**: a `file_received` event records sender, filename, mime,
284
- and byte **count** — never the bytes. Files from unknown (non-contact) senders are rejected.
277
+ - "show received files" → `list_incoming_files()` — structured metadata only: authenticated
278
+ sender CID in `from.id`, untrusted display label in `from.name`, file/wire IDs, filename,
279
+ MIME, size, date and status; no bytes and no status change. Authorize by CID, not name.
280
+ - "get approved files" → `get_files({ wire_ids: ["<approved 64-hex id>"] })` writes only those
281
+ unread files under `<state>/<identity>/files/<wire_id>-<name>` and returns structured paths,
282
+ hashes, provenance and status. Invalid/duplicate/unknown/stale IDs fail closed. Omitting
283
+ `wire_ids` preserves the legacy behavior of retrieving every unread file.
284
+ - Voice records also carry structured transcription configuration/attempt/status, provider,
285
+ transcript or categorized fallback, and their audio-path association; prose remains intact.
286
+ - The wake signal stays **body-free** but carries authenticated sender CID, file/wire IDs,
287
+ filename, MIME, byte count and date — never the bytes. Unknown senders are rejected.
285
288
 
286
289
  ### Contacts & local contact book
287
290
  - "who are my contacts" → `list_contacts()` (also shows pending local introductions).