@ours.network/mcp 0.17.1 → 0.17.2
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
|
@@ -17,10 +17,12 @@ exposes the messaging tools — each a thin wrapper over one MUFL user transacti
|
|
|
17
17
|
- `list_contacts`
|
|
18
18
|
- `remove_contact` — contacts-layer forget + one best-effort authenticated
|
|
19
19
|
"remove me" notice to the peer (fire-and-forget; remote removal NOT guaranteed)
|
|
20
|
-
- `create_temporary_identity` / `close_temporary_identity` — session-scoped
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
- `create_temporary_identity` / `close_temporary_identity` — session-scoped,
|
|
21
|
+
ephemeral role delegated under the existing Human/root and owned by exactly one
|
|
22
|
+
session lease. Normal Codex/Claude SessionEnd waits for best-effort remove-me
|
|
23
|
+
notices and complete local deletion. Abrupt process death is the only stale path;
|
|
24
|
+
the daemon reclaims it on a bounded five-second detection interval (configurable
|
|
25
|
+
for tests with `OURS_SESSION_REAPER_INTERVAL_MS`). Permanent identities never sweep.
|
|
24
26
|
- `send_message` — end-to-end encrypted; optional `reply_to_wire_id` (+ `reply_to_sentence`) to reply to a specific message
|
|
25
27
|
- `get_messages` — return unread messages (bodies, each with its `wire_id` + any `reply_to`) + mark read; delivered exactly once
|
|
26
28
|
- `mark_processed` / `defer_messages` — remove handled messages, or re-queue read ones for another session
|
|
@@ -82,6 +84,17 @@ cannot be run per session. Each session instead runs a thin `ours-mcp proxy`
|
|
|
82
84
|
Platform plugins ship only the proxy invocation; they never own or restart the
|
|
83
85
|
daemon.
|
|
84
86
|
|
|
87
|
+
Temporary identities require an existing Human/root and are delegated before the
|
|
88
|
+
create call succeeds. Older unassociated records are migration input, not a runtime
|
|
89
|
+
identity kind: a host with a Human/root delegates them during boot; otherwise they
|
|
90
|
+
remain quarantined and cannot be bound or advertised until the Human/root is created.
|
|
91
|
+
For name-level management compatibility, `/identities` reports such a record as
|
|
92
|
+
`{ name, status: "quarantined" }`; it deliberately has no identity `kind`, container
|
|
93
|
+
ID, routing metadata, or lease surface.
|
|
94
|
+
The `ours-mcp session-end` hook seam opens a short transport with the same lease token
|
|
95
|
+
as the session and sends MCP DELETE. The daemon awaits every temporary role owned by
|
|
96
|
+
that token—including roles switched away from—before acknowledging normal close.
|
|
97
|
+
|
|
85
98
|
`ours-mcp start` and `ours-mcp restart` do not treat an open socket as readiness.
|
|
86
99
|
They wait for an authenticated response from the daemon's normal control
|
|
87
100
|
surface (`/identities`) after the protocol runtime, contact-book registrar,
|