Routing and capabilities
Use a provider registry to select an implementation by provider kind. Then call getRuntimeCapabilities() and gate optional work with runtimeSupports and the method itself. See registry routing and capability gating.
This client mirrors and verifies upstream-compatible behavior. Upstream runtimes remain the canonical protocol owners.
Referenced examples
Verified example · TypeScript
Runtime registry
examples/runtime-registry.ts
@cavi-ai/api-clientv0.11.048adfa6b
import { createRuntimeClient, createRuntimeProviderRegistry } from "@cavi-ai/api-client";
import { createClaudeProviderModule } from "@cavi-ai/api-client/providers/claude/messages";
import { createCodexProviderModule } from "@cavi-ai/api-client/providers/codex/runtime";
export function selectRuntime(provider: "claude" | "codex", apiKey: string) {
const registry = createRuntimeProviderRegistry({
modules: [createClaudeProviderModule({ apiKey }), createCodexProviderModule({ apiKey })],
});
return createRuntimeClient(provider, {
registry,
clientOptions: { baseUrl: provider === "claude" ? "https://api.anthropic.com" : "https://api.openai.com" },
});
}
Package imports
Referenced by
Artifact provenance
- Package
- @cavi-ai/api-client@0.11.0
- Release
- v0.11.0
- Commit
48adfa6ba7c3d5e8ffee0a6cf2572574ca630fa0- Source
examples/runtime-registry.ts- Tarball SHA-256
3379cd47b4890d0e00f5949583f90a83367705878b16141e825f66ef5d8819e5- Content SHA-256
306450f08c69a6e068f80490b1f2cc4f0808af0911fdec5b9b145e33a9ba5534
Verified example · TypeScript
Runtime capabilities
examples/runtime-capabilities.ts
@cavi-ai/api-clientv0.11.048adfa6b
import { runtimeSupports, type RuntimeClient } from "@cavi-ai/api-client";
export async function submitWhenBatchIsAvailable(client: RuntimeClient) {
const capabilities = await client.getRuntimeCapabilities();
if (!runtimeSupports(capabilities, "batch") || !client.submitBatch) return null;
return client.submitBatch([{ customId: "summary", body: { input: "Summarize this." } }]);
}
Package imports
Referenced by
Artifact provenance
- Package
- @cavi-ai/api-client@0.11.0
- Release
- v0.11.0
- Commit
48adfa6ba7c3d5e8ffee0a6cf2572574ca630fa0- Source
examples/runtime-capabilities.ts- Tarball SHA-256
3379cd47b4890d0e00f5949583f90a83367705878b16141e825f66ef5d8819e5- Content SHA-256
306450f08c69a6e068f80490b1f2cc4f0808af0911fdec5b9b145e33a9ba5534