d9834a3e86
The old suites asserted the deleted wire (`*.request` events, `*.respond` RPCs, `pending_clarify` snapshots, `_pending`/`_answers` teardowns). Each test keeps its invariant against the new shape: a seeded live request's `respond` spy receives the answer object, `hasOpenServerRequest` flips, the `approval.respond` RPC fallback is asserted ONLY for queue entries restored without a socket, and Bot Mode rooms answer via `request.answer` / `clarify.lock`. The group-turns test that polled forever for a `clarify.respond` that no longer exists (20-minute hang) now completes.
Bundled plugins
Drop a <name>/plugin.{ts,tsx} here that default-exports a HermesPlugin and
it registers automatically at boot (vite glob in ../contrib/plugins.ts), with
the same inventory + live enable/disable contract as runtime plugins.
Keep this tree for real shipped plugins (and the small authoring fixtures that
dogfood the SDK). One-off demos that rebuild a core chrome piece 1:1 do not
belong here — they double the UI and confuse Capabilities ▸ Plugins. Publish those
in the companion
hermes-example-plugins
repo instead.
User- and agent-authored plugins load at runtime from
$HERMES_HOME/desktop-plugins/<name>/plugin.js (the disk door) — see the
hermes-desktop-plugins skill.