Hermes operations
This client mirrors and verifies upstream-compatible behavior. Upstream runtimes remain the canonical protocol owners.
Gateway provider. HermesApiClient extends GatewayApiClient, which implements the universal RuntimeClient over the gateway surface hermes-api-server (provider kind hermes). Runs are dispatched over gateway RPC rather than plain REST route literals, so no provider-owned paths.ts exists — the HTTP lines below read gateway RPC. Streaming is delivered through a RunEventStreamProvider (subscribe-by-runId), not an inline streamRun. The batch surface is not supported.
Capability (from GatewayApiClient.getRuntimeCapabilities()): runs ✅ · getRun ✅ · cancelRun ✅ · streamRun ✅ (via provider) · batch ❌.
startRun
Starts a run on the gateway and normalizes the status to the universal RuntimeRunStatus. See runtime · startRun for the full field tables.
Example
import { HERMES_PROVIDER_MODULE } from "@cavi-ai/api-client/providers/hermes";
// … construct the gateway client via the provider module, then:
const run = await client.startRun({ input: "Hi", model: "…" });getRun
Reads run status by id over gateway RPC. Field tables per runtime · getRun.
cancelRun
Stops a run over gateway RPC. See runtime · cancelRun.
streamRun (RunEventStreamProvider)
Gateway providers omit the inline streamRun method and expose a HermesSseRunEventProvider that subscribes to run events by runId. See runtime · streamRun.
teams
Not an RPC. client.teams.* resolves from the provider manifest: when no explicit teams backend is supplied, the facade builds a TeamDirectory from the resolved manifest via teamDirectoryFromManifest. Absent a manifest, teams.* returns a gap.
Batch
Not supported — supports.batch is absent; the batch methods are not implemented on the gateway client.