@cavi-ai/api-client
Package subpath: .
AgentRun
Kind: type
export type AgentRun = {
key: string;
title: string;
agentId: string;
channel: string;
updatedAt: number | null;
status: AgentRunStatus;
totalTokens: number;
errors: number;
/** Model used for this run (e.g. claude-sonnet-4, gpt-4). From backend when available. */
model?: string;
/** Cost in USD for this run. From backend when available. */
totalCostUsd?: number;
/** Optional manifest-derived binding for source/channel/team routing diagnostics. */
binding?: GatewayResolvedRouteBinding | null;
};AgentRunDetailSnapshot
Kind: type
export type AgentRunDetailSnapshot = {
run: AgentRun | null;
preview: {
status: string;
items: AgentRunPreviewItem[];
};
usage: {
totalTokens: number;
totalCostUsd: number;
messages: number;
toolCalls: number;
errors: number;
};
};ApiClientError
Kind: class
export declare class ApiClientError extends Error {
readonly type: ApiClientErrorType | string;
readonly code: ApiClientErrorCode | string;
constructor(message: string, options?: ApiClientErrorOptions);
}ApiClientErrorCode
Kind: enum
export declare enum ApiClientErrorCode {
Unknown = "unknown",
ValidationFailed = "validation_failed",
InvalidConfig = "invalid_config",
InvalidJson = "invalid_json",
HttpRequestFailed = "http_request_failed",
GatewayError = "gateway_error",
RequestFailed = "request_failed",
Timeout = "timeout",
Aborted = "aborted",
SocketError = "socket_error",
SocketClosed = "socket_closed",
SocketUnavailable = "socket_unavailable",
ConnectFailed = "connect_failed",
BackendUnavailable = "backend_unavailable",
EndpointNotFound = "endpoint_not_found",
ProtocolMismatch = "protocol_mismatch",
AuthRequired = "auth_required",
AuthForbidden = "auth_forbidden"
}ApiClientErrorOptions
Kind: type
export type ApiClientErrorOptions = {
type?: ApiClientErrorType | string;
code?: ApiClientErrorCode | string;
cause?: unknown;
};ApiClientErrorType
Kind: enum
export declare enum ApiClientErrorType {
Unknown = "unknown",
Validation = "validation",
Configuration = "configuration",
Http = "http",
GatewayHttp = "gateway_http",
GatewayRpc = "gateway_rpc",
Transport = "transport",
Timeout = "timeout",
Abort = "abort",
BackendUnavailable = "backend_unavailable",
Auth = "auth"
}ApiKeyCredentialOptions
Kind: type
export type ApiKeyCredentialOptions = {
/** Header name for the key. Defaults to "Authorization". */
header?: string;
/** Extra static headers (e.g. { "anthropic-version": "2023-06-01" }). */
extra?: Record<string, string>;
};apiKeyCredentials
Kind: function
/** API-key scheme (e.g. Anthropic: header "x-api-key" + "anthropic-version"). */
export declare function apiKeyCredentials(key: string, options?: ApiKeyCredentialOptions): CredentialResolver;appendHttpQuery
Kind: function
export declare function appendHttpQuery(path: string, query?: Record<string, string | number | boolean | undefined>): string;assertProtocolVersion
Kind: function
/** Throw a typed ProtocolMismatch error when the reported version is not `expected`. */
export declare function assertProtocolVersion(carrier: ProtocolVersionCarrier, expected: string): void;assertSafeRelativePath
Kind: function
/**
* Validate and normalize a caller-supplied **relative** path, returning the
* cleaned `a/b/c` form or throwing on anything unsafe.
*
* This is the **opt-in** companion to the manifest workspace whitelist
* (`resolveTeamWorkspacePath`). The whitelist is the primary, recommended guard:
* a path the consumer never declared can never be resolved. Reach for this only
* when a downstream surface must accept a *free-form* relative path — e.g. a raw
* `?path=` value a consumer wants to hand to a workspace/wiki file endpoint
* (`GATEWAY_WIKI_API_ENDPOINTS.read`, a manifest action `query`).
*
* `appendHttpQuery` does **not** sanitize values — it only URL-encodes them, so
* `?path=../secret` becomes `?path=..%2Fsecret` and the backend decodes it back.
* Run untrusted path values through this first, then pass the result as a query
* value via `appendHttpQuery` (which encodes it).
*
* Rejects: empty/whitespace, absolute (`/…`), protocol-relative (`//…`), URL
* schemes (`file:`, `http:`…), backslashes, and any `.`/`..` segment — including
* percent-encoded forms such as `%2e%2e`. Interior `./` and duplicate slashes
* are collapsed. The return value is **not** URL-encoded.
*
* This intentionally mirrors the relative-path rules the team manifest enforces
* internally for workspace whitelist entries (`src/contracts/team-manifest.ts`).
* Both are guarded by `safe-relative-path.test.ts`; keep them in lockstep.
*/
export declare function assertSafeRelativePath(value: string): string;bearerCredentials
Kind: function
/** Standard bearer scheme. Emits nothing when the token is empty. */
export declare function bearerCredentials(token: string | null | undefined): CredentialResolver;buildDryRunStatus
Kind: function
/**
* Build the canonical `dry_run` RuntimeRunStatus every provider's dryRun
* short-circuit returns (A3). Single-source shape — same pattern as
* normalizeRuntimeUsage: `dryRun: true` always builds + validates the
* provider request first, then returns this WITHOUT any network call.
*/
export declare function buildDryRunStatus(model?: string): RuntimeRunStatus;buildDryRunStreamEvent
Kind: function
/** Build the single terminal stream event a dryRun streamRun() emits (A3). */
export declare function buildDryRunStreamEvent(model?: string): RunStreamRunCompletedEvent;buildGatewayHttpError
Kind: function
export declare function buildGatewayHttpError(params: {
label: string;
status: number;
statusText: string;
message?: string | null;
code?: string | null;
}): GatewayHttpError;CachedTeamManifestSource
Kind: interface
export interface CachedTeamManifestSource extends TeamManifestSource {
/** Re-run the loader and replace the cached manifest. */
refresh(): Promise<TeamManifest>;
}checkProtocolVersion
Kind: function
/** Compare a provider's reported protocol version against the expected one. */
export declare function checkProtocolVersion(carrier: ProtocolVersionCarrier, expected: string): ProtocolVersionCheck;classifyFallbackError
Kind: function
export declare function classifyFallbackError(error: unknown): {
message: string;
reason: ContractGapReason;
httpStatus?: number;
};composeRunEventProviders
Kind: function
/**
* Fan a single subscription out to multiple providers. Events from each
* provider are forwarded to the shared handler in arrival order; disposing the
* composite disposes every child subscription. Errors from any child are
* surfaced via {@link RunEventStreamHandlers.onError}; the others keep running
* unless the consumer disposes.
*/
export declare function composeRunEventProviders(...providers: RunEventStreamProvider[]): RunEventStreamProvider;ConnectivityDomain
Kind: type
export type ConnectivityDomain = {
domain: string;
label: string;
transport: "ws" | "http" | "mixed";
source: DataSourceMode | "not-loaded";
status: ConnectivityStatus;
contractGaps: readonly ContractGap[];
fetchedAt: number | null;
};ConnectivityStatus
Kind: type
export type ConnectivityStatus = "live" | "empty-but-valid" | "mock-fallback" | "conditional-unavailable" | "not-loaded";ContractGap
Kind: type
export type ContractGap = {
area: string;
expectedContract: string;
note: string;
reason?: ContractGapReason;
httpStatus?: number;
};ContractGapReason
Kind: type
export type ContractGapReason = "backend-unavailable" | "backend-not-configured" | "endpoint-not-found" | "auth-insufficient" | "transport-disconnected" | "unknown";createCachedManifestSource
Kind: function
/**
* A manifest fetched via a loader (e.g. from a gateway). Cached after first
* load; call refresh() to revalidate.
*/
export declare function createCachedManifestSource(loader: TeamManifestLoader): CachedTeamManifestSource;createDefaultTeamManifest
Kind: function
export declare function createDefaultTeamManifest(options?: CreateDefaultTeamManifestOptions): TeamManifest;CreateDefaultTeamManifestOptions
Kind: type
export type CreateDefaultTeamManifestOptions = {
teamId?: string;
memberId?: string;
workspaceRootPath?: string | null;
workspacePaths?: readonly TeamWorkspacePathEntry[] | null;
};createGatewayAgentConfigClient
Kind: function
export declare function createGatewayAgentConfigClient(clientOptions: HttpApiClientOptions, providerOptions?: ResolveGatewayProviderOptions): GatewayAgentConfigApiClient;createGatewayApiClient
Kind: function
export declare function createGatewayApiClient(clientOptions: HttpApiClientOptions, providerOptions?: ResolveGatewayProviderOptions): GatewayApiClient;createGatewayMediaClient
Kind: function
export declare function createGatewayMediaClient(clientOptions: HttpApiClientOptions, providerOptions?: ResolveGatewayProviderOptions): GatewayMediaApiClient;createGatewayProviderRegistry
Kind: function
export declare function createGatewayProviderRegistry(options?: CreateGatewayProviderRegistryOptions): GatewayProviderRegistry;CreateGatewayProviderRegistryOptions
Kind: type
export type CreateGatewayProviderRegistryOptions = CreateProviderRegistryOptions<GatewayProviderModule>;createGatewayRpcClient
Kind: variable
export declare const createGatewayRpcClient: typeof createGatewayWebSocketClient;createGatewaySseRunEventProvider
Kind: function
export declare function createGatewaySseRunEventProvider(options: CreateGatewaySseRunEventProviderOptions, providerOptions?: ResolveGatewayProviderOptions): GatewaySseRunEventProvider;CreateGatewaySseRunEventProviderOptions
Kind: type
export type CreateGatewaySseRunEventProviderOptions = GatewaySseRunEventProviderOptions & {
sessionKey?: string;
};createGatewayWebSocketClient
Kind: function
export declare function createGatewayWebSocketClient(wsUrl: string, authToken: string | null, clientOptions?: GatewayWebSocketClientOptions, providerOptions?: ResolveGatewayProviderOptions): GatewayWebSocketClient;createGatewayWikiClient
Kind: function
export declare function createGatewayWikiClient(clientOptions: HttpApiClientOptions, providerOptions?: ResolveGatewayProviderOptions): GatewayWikiApiClient;createProviderRegistry
Kind: function
export declare function createProviderRegistry<M extends RuntimeProviderModule>(options?: CreateProviderRegistryOptions<M>): ProviderRegistry<M>;CreateProviderRegistryOptions
Kind: type
export type CreateProviderRegistryOptions<M extends RuntimeProviderModule = GatewayProviderModule> = CreateRuntimeProviderRegistryOptions<M>;createRunStreamWithToolFallback
Kind: function
/**
* Wraps a primary {@link RunEventStreamProvider} with a tool-event fallback
* that fires only when the primary's run completes without ever emitting tool
* events. Used to bridge the gap while the Hermes SSE protocol does not yet
* surface `tool.call.*` events natively: the
* {@link RunPreviewPollProvider}-backed fallback stitches tool events in from
* the post-hoc run preview. When the primary starts emitting tool events
* natively, the fallback becomes a no-op automatically.
*/
export declare function createRunStreamWithToolFallback(options: CreateRunStreamWithToolFallbackOptions): RunEventStreamProvider;CreateRunStreamWithToolFallbackOptions
Kind: type
export type CreateRunStreamWithToolFallbackOptions = {
/** Authoritative source for lifecycle + (eventually) tool events. */
primary: RunEventStreamProvider;
/**
* One-shot fallback that fires only after the primary emits `run.completed`
* AND the primary did not emit any tool events during the run. Typically a
* {@link RunPreviewPollProvider}. Optional — when omitted the composer
* behaves like `primary` alone.
*/
toolEventFallback?: RunEventStreamProvider;
};createRuntimeClient
Kind: function
export declare function createRuntimeClient(provider: string, options: CreateRuntimeClientOptions): RuntimeClient;CreateRuntimeClientOptions
Kind: type
export type CreateRuntimeClientOptions = {
registry: RuntimeProviderRegistry;
clientOptions: RuntimeClientOptions;
};createRuntimeProviderRegistry
Kind: function
export declare function createRuntimeProviderRegistry(options?: CreateProviderRegistryOptions<RuntimeProviderModule>): ProviderRegistry<RuntimeProviderModule>;createStaticManifestSource
Kind: function
/** A fixed, host-provided manifest. Normalized once. */
export declare function createStaticManifestSource(manifest: TeamManifestInput): TeamManifestSource;createSurfacePathResolver
Kind: function
export declare function createSurfacePathResolver(extensionContracts?: SurfaceContractMap, baseResolver?: SurfacePathResolver): SurfacePathResolver;createTeamRouteResolver
Kind: function
export declare function createTeamRouteResolver(): TeamRouteResolver;CredentialHeaders
Kind: type
/** Auth headers a credential resolver contributes to a request. */
export type CredentialHeaders = Record<string, string>;CredentialResolver
Kind: type
/**
* Provider-supplied auth scheme. Returns the headers to merge onto a request.
* Closes over whatever secret the provider needs (token, api key, cookie).
*/
export type CredentialResolver = () => CredentialHeaders;DataEnvelope
Kind: type
export type DataEnvelope<TData> = {
data: TData;
source: DataSourceMode;
fetchedAt: number;
contractGaps: ContractGap[];
};DataSourceMode
Kind: type
export type DataSourceMode = "gateway" | "mock";DEFAULT_TEAM_ID
Kind: variable
export declare const DEFAULT_TEAM_ID: "default";DEFAULT_TEAM_MEMBER_ID
Kind: variable
export declare const DEFAULT_TEAM_MEMBER_ID: "default-agent";DEFAULT_TEAM_ROUTE_KEYS
Kind: variable
export declare const DEFAULT_TEAM_ROUTE_KEYS: readonly [
"kanban",
"runs",
"config",
"workspace"
];DefaultTeamRouteKey
Kind: type
export type DefaultTeamRouteKey = (typeof DEFAULT_TEAM_ROUTE_KEYS)[number];estimateUsageCost
Kind: function
/**
* Estimate run cost from normalized usage + consumer-supplied prices. The
* package ships NO price table — prices are always the caller's. Any missing
* token count or price contributes 0.
*/
export declare function estimateUsageCost(usage: RuntimeUsage, prices: TokenPrices): number;fallbackGap
Kind: function
export declare function fallbackGap(area: string, expectedContract: string, note: string, reason?: ContractGapReason, httpStatus?: number): ContractGap;FallbackResolveInfo
Kind: type
export type FallbackResolveInfo = {
source: "gateway" | "mock";
fellBack: boolean;
area: string;
};findTeamActionContract
Kind: function
export declare function findTeamActionContract(actions: readonly TeamActionContract[] | null | undefined, actionId: string | null | undefined): TeamActionContract | null;findTeamManifestMember
Kind: function
export declare function findTeamManifestMember(team: ManifestTeam, memberId: string | null | undefined): ManifestMember | null;findTeamManifestTeam
Kind: function
export declare function findTeamManifestTeam(manifest: TeamManifest, teamId: string | null | undefined): ManifestTeam | null;GATEWAY_API_ENDPOINT_TEMPLATES
Kind: variable
export declare const GATEWAY_API_ENDPOINT_TEMPLATES: {
readonly ecgSharedFiles: "/api/v1/files?agent={agent}&folder={folder}";
readonly runApproval: "/v1/runs/{run_id}/approval";
};GATEWAY_API_ENDPOINTS
Kind: variable
export declare const GATEWAY_API_ENDPOINTS: {
readonly health: "/health";
readonly healthDetailed: "/health/detailed";
readonly models: "/v1/models";
readonly capabilities: "/v1/capabilities";
readonly chatCompletions: "/v1/chat/completions";
readonly responses: "/v1/responses";
readonly response: (responseId: string) => string;
readonly runs: "/v1/runs";
readonly run: (runId: string) => string;
readonly runEvents: (runId: string) => string;
readonly runApproval: (runId: string) => string;
readonly runStop: (runId: string) => string;
readonly jobs: "/api/jobs";
readonly job: (jobId: string) => string;
};GATEWAY_MEDIA_API_BASE_PATH
Kind: variable
export declare const GATEWAY_MEDIA_API_BASE_PATH: "/v1/media";GATEWAY_MEDIA_API_ENDPOINTS
Kind: variable
export declare const GATEWAY_MEDIA_API_ENDPOINTS: {
readonly root: "/v1/media";
readonly providers: (kind?: string | null) => string;
readonly generate: (kind: string) => string;
readonly job: (kind: string, jobId: string) => string;
readonly assets: (query?: {
kind?: string | null;
cursor?: string | null;
limit?: number | null;
} | null) => string;
readonly asset: (assetId: string) => string;
};GATEWAY_PROBE_ENDPOINTS
Kind: variable
export declare const GATEWAY_PROBE_ENDPOINTS: {
readonly health: "/health";
readonly healthz: "/healthz";
readonly readyz: "/readyz";
};GATEWAY_PROVIDER_ENV_KEYS
Kind: variable
export declare const GATEWAY_PROVIDER_ENV_KEYS: readonly [
"CAVI_GATEWAY_PROVIDER",
"GATEWAY_PROVIDER"
];GATEWAY_SYSTEM_RPC_METHODS
Kind: variable
export declare const GATEWAY_SYSTEM_RPC_METHODS: {
readonly healthSnapshot: "health.snapshot";
readonly health: "health";
readonly logsTail: "logs.tail";
};GATEWAY_WIKI_API_BASE_PATH
Kind: variable
export declare const GATEWAY_WIKI_API_BASE_PATH: "/v1/wiki";GATEWAY_WIKI_API_ENDPOINTS
Kind: variable
export declare const GATEWAY_WIKI_API_ENDPOINTS: {
readonly root: "/v1/wiki";
readonly vaults: "/v1/wiki/vaults";
readonly vault: (vaultId: string) => string;
readonly tree: (vaultId: string) => string;
readonly read: (vaultId: string, path: string) => string;
readonly ingest: (vaultId: string) => string;
readonly compile: (vaultId: string) => string;
readonly promote: (vaultId: string) => string;
readonly job: (vaultId: string, jobId: string) => string;
readonly artifact: (vaultId: string, artifactId: string) => string;
};GatewayApiClient
Kind: class
export declare class GatewayApiClient extends BaseHttpApiClient implements RuntimeClient {
readonly endpoints: {
readonly health: "/health";
readonly healthDetailed: "/health/detailed";
readonly models: "/v1/models";
readonly capabilities: "/v1/capabilities";
readonly chatCompletions: "/v1/chat/completions";
readonly responses: "/v1/responses";
readonly response: (responseId: string) => string;
readonly runs: "/v1/runs";
readonly run: (runId: string) => string;
readonly runEvents: (runId: string) => string;
readonly runApproval: (runId: string) => string;
readonly runStop: (runId: string) => string;
readonly jobs: "/api/jobs";
readonly job: (jobId: string) => string;
};
readonly request: HttpApiTransport;
constructor(options: HttpApiClientOptions, surface?: string);
getCapabilities(): Promise<GatewayCapabilities>;
getFeatureCapabilities(options?: Omit<NormalizeGatewayFeatureCapabilitiesOptions, "capabilities">): Promise<NormalizedGatewayFeatureCapabilities>;
getRuntimeCapabilities(): Promise<RuntimeCapabilities>;
cancelRun(runId: string): Promise<{
status: string;
}>;
startRun(body: GatewayRunStartBody): Promise<GatewayRunStatus>;
getRun(runId: string): Promise<GatewayRunStatus>;
private withNormalizedUsage;
stopRun(runId: string): Promise<{
status: string;
}>;
resolveRunApproval<T = unknown>(runId: string, body: {
approved: boolean;
reason?: string;
}, idempotencyKey?: string): Promise<T>;
}GatewayCapabilities
Kind: type
export type GatewayCapabilities = GatewayCommandCapabilities & {
object?: string;
platform?: string;
model?: string;
auth?: {
type?: string;
required?: boolean;
};
features: Record<string, unknown>;
endpoints?: Record<string, {
method: string;
path: string;
}>;
runtime?: Record<string, unknown>;
};GatewayHttpError
Kind: class
export declare class GatewayHttpError extends Error {
readonly type = ApiClientErrorType.GatewayHttp;
readonly status: number;
readonly code: string | null;
constructor(message: string, status: number, code?: string | null);
}GatewayProviderEnv
Kind: type
export type GatewayProviderEnv = Record<string, string | undefined>;GatewayProviderFactories
Kind: interface
export interface GatewayProviderFactories {
createApiClient?: (clientOptions: HttpApiClientOptions) => GatewayApiClient;
createWebSocketClient?: (wsUrl: string, authToken: string | null, clientOptions: GatewayWebSocketClientOptions) => GatewayWebSocketClient;
createSseRunEventProvider?: (options: CreateGatewaySseRunEventProviderOptions) => GatewaySseRunEventProvider;
createMediaClient?: (clientOptions: HttpApiClientOptions) => GatewayMediaApiClient;
createWikiClient?: (clientOptions: HttpApiClientOptions) => GatewayWikiApiClient;
createAgentConfigClient?: (clientOptions: HttpApiClientOptions) => GatewayAgentConfigApiClient;
}GatewayProviderKind
Kind: type
export type GatewayProviderKind = "hermes" | "openclaw" | (string & {});GatewayProviderModule
Kind: interface
export interface GatewayProviderModule extends RuntimeProviderModule, GatewayProviderFactories {
/** Gateway providers return the gateway-capable client. */
createApiClient?: (clientOptions: HttpApiClientOptions) => GatewayApiClient;
}GatewayProviderRegistry
Kind: type
export type GatewayProviderRegistry = ProviderRegistry<GatewayProviderModule>;GatewayResolvedRouteBinding
Kind: type
export type GatewayResolvedRouteBinding = {
id: string;
teamId: string;
memberId: string | null;
source: string | null;
channel: string | null;
actionId: string | null;
routeKey: TeamRouteKey;
path: string;
metadata?: Record<string, unknown> | null;
};GatewayRouteBinding
Kind: type
export type GatewayRouteBinding = {
id: string;
teamId: string;
memberId?: string | null;
source?: string | null;
channel?: string | null;
actionId?: string | null;
routeKey?: TeamRouteKey | null;
sessionKeyPattern?: string | null;
metadata?: Record<string, unknown> | null;
};GatewayRunAttachment
Kind: type
export type GatewayRunAttachment = {
name: string;
mimeType?: string;
mime_type?: string;
size?: number;
dataBase64?: string;
data_base64?: string;
[key: string]: unknown;
};GatewayRunMessage
Kind: type
export type GatewayRunMessage = RuntimeRunMessage;GatewayRunStartBody
Kind: type
export type GatewayRunStartBody = RuntimeRunStartBody & {
session_id?: string;
sessionKey?: string;
session_key?: string;
previous_response_id?: string;
conversation_history?: GatewayRunMessage[];
targetProfile?: string;
target_profile?: string;
targetAgent?: string;
target_agent?: string;
agentId?: string;
agent_id?: string;
action?: string;
source?: Record<string, unknown>;
attachments?: GatewayRunAttachment[];
dry_run?: boolean;
};GatewayRunStatus
Kind: type
export type GatewayRunStatus = RuntimeRunStatus & {
object?: string;
session_id?: string;
targetProfile?: string;
task_id?: string;
routing?: {
kind?: string;
targetProfile?: string | null;
taskId?: string | null;
workerEventStream?: boolean;
decision?: Record<string, unknown>;
};
events?: Record<string, unknown>[];
tool_call_count?: number;
};getBrowserWindowOrigin
Kind: function
export declare function getBrowserWindowOrigin(): string | null;getErrorCode
Kind: function
export declare function getErrorCode(error: unknown): string | undefined;getErrorMessage
Kind: function
export declare function getErrorMessage(error: unknown, fallbackMessage?: string): string;getErrorStatus
Kind: function
/**
* HTTP status carried by a typed transport error (`HttpApiError`,
* `GatewayHttpError`, or any error exposing a numeric `status`). `undefined`
* for non-HTTP failures (transport, abort, RPC) so callers branch on the value,
* never on the message string.
*/
export declare function getErrorStatus(error: unknown): number | undefined;getErrorType
Kind: function
export declare function getErrorType(error: unknown): string | undefined;GLOBAL_REPO_ROOT_KEY
Kind: variable
export declare const GLOBAL_REPO_ROOT_KEY: "__CAVI_REPO_ROOT__";HERMES_API_ENDPOINT_TEMPLATES
Kind: variable
export declare const HERMES_API_ENDPOINT_TEMPLATES: {
readonly ecgSharedFiles: "/api/v1/files?agent={agent}&folder={folder}";
readonly runApproval: "/v1/runs/{run_id}/approval";
};HERMES_API_ENDPOINTS
Kind: variable
export declare const HERMES_API_ENDPOINTS: {
readonly health: "/health";
readonly healthDetailed: "/health/detailed";
readonly models: "/v1/models";
readonly capabilities: "/v1/capabilities";
readonly chatCompletions: "/v1/chat/completions";
readonly responses: "/v1/responses";
readonly response: (responseId: string) => string;
readonly runs: "/v1/runs";
readonly run: (runId: string) => string;
readonly runEvents: (runId: string) => string;
readonly runApproval: (runId: string) => string;
readonly runStop: (runId: string) => string;
readonly jobs: "/api/jobs";
readonly job: (jobId: string) => string;
};HERMES_MEDIA_API_ENDPOINTS
Kind: variable
export declare const HERMES_MEDIA_API_ENDPOINTS: {
readonly root: "/v1/media";
readonly providers: (kind?: string | null) => string;
readonly generate: (kind: string) => string;
readonly job: (kind: string, jobId: string) => string;
readonly assets: (query?: {
kind?: string | null;
cursor?: string | null;
limit?: number | null;
} | null) => string;
readonly asset: (assetId: string) => string;
};HERMES_WIKI_API_ENDPOINTS
Kind: variable
export declare const HERMES_WIKI_API_ENDPOINTS: {
readonly root: "/v1/wiki";
readonly vaults: "/v1/wiki/vaults";
readonly vault: (vaultId: string) => string;
readonly tree: (vaultId: string) => string;
readonly read: (vaultId: string, path: string) => string;
readonly ingest: (vaultId: string) => string;
readonly compile: (vaultId: string) => string;
readonly promote: (vaultId: string) => string;
readonly job: (vaultId: string, jobId: string) => string;
readonly artifact: (vaultId: string, artifactId: string) => string;
};HttpApiClientAuth
Kind: type
export type HttpApiClientAuth = {
bearerToken?: string | null;
clientId?: string | null;
/**
* Provider-supplied auth scheme. When present, its headers replace the
* default bearer Authorization header. See core/http/credentials.ts.
*/
resolveHeaders?: CredentialResolver;
};HttpApiClientOptions
Kind: type
export type HttpApiClientOptions = {
baseUrl: string;
basePath?: string;
allowRelativeBaseUrl?: boolean;
defaultHeaders?: Record<string, string>;
/** Send the X-Portal-Client-Id header. Default true; set false for non-gateway backends. */
includePortalClientIdHeader?: boolean;
auth?: HttpApiClientAuth;
defaultTimeoutMs?: number;
fetchImpl?: typeof fetch;
cache?: RequestCache;
credentials?: RequestCredentials;
onTrace?: (trace: HttpApiTrace) => void;
};HttpApiClientSurface
Kind: type
export type HttpApiClientSurface = string;HttpApiError
Kind: class
export declare class HttpApiError extends Error {
readonly type = ApiClientErrorType.Http;
readonly code = ApiClientErrorCode.HttpRequestFailed;
readonly path: string;
readonly url: string;
readonly method: HttpApiHttpMethod;
readonly status: number;
readonly body: string;
constructor(params: {
message: string;
path: string;
url: string;
method: HttpApiHttpMethod;
status: number;
body: string;
});
}HttpApiHttpMethod
Kind: type
export type HttpApiHttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";HttpApiRequestInit
Kind: type
export type HttpApiRequestInit = {
method?: HttpApiHttpMethod;
body?: unknown;
rawBody?: BodyInit;
headers?: Record<string, string>;
signal?: AbortSignal;
timeoutMs?: number;
idempotencyKey?: string;
cache?: RequestCache;
credentials?: RequestCredentials;
};HttpApiTrace
Kind: type
export type HttpApiTrace = {
at: number;
surface: HttpApiClientSurface;
method: HttpApiHttpMethod;
path: string;
url: string;
ok: boolean;
status?: number;
durationMs: number;
error?: string;
};HttpApiTransport
Kind: type
export type HttpApiTransport = <TResponse>(path: string, init?: HttpApiRequestInit) => Promise<TResponse>;IDEMPOTENCY_KEY_HEADER
Kind: variable
export declare const IDEMPOTENCY_KEY_HEADER: "Idempotency-Key";isAbortError
Kind: function
export declare function isAbortError(error: unknown): boolean;isAuthError
Kind: function
/**
* True when an error is an authentication/authorization failure (HTTP 401/403,
* or a synthesized `Auth`-typed/`auth_required`/`auth_forbidden` error). Use
* this to trigger token refresh or re-auth instead of inspecting `.status`
* inline at every call site.
*/
export declare function isAuthError(error: unknown): boolean;isEndpointNotFoundError
Kind: function
/**
* True when an error is a synthesized `EndpointNotFound` failure — the
* everyday cross-provider branch for a surface a provider declares
* unsupported (Gemini `getRun`/`cancelRun`, OpenClaw wiki/media).
*/
export declare function isEndpointNotFoundError(error: unknown): boolean;isGatewayHttpError
Kind: function
export declare function isGatewayHttpError(error: unknown): error is GatewayHttpError;isHttpApiError
Kind: function
export declare function isHttpApiError(error: unknown): error is HttpApiError;ManifestIdentity
Kind: type
export type ManifestIdentity = {
name?: string | null;
displayName?: string | null;
slug?: string | null;
code?: string | null;
aliases?: readonly string[] | null;
/** Host/domain-specific identity hints (e.g. CAVI portalId/sector). Agnostic core never reads these. */
metadata?: Record<string, unknown> | null;
};ManifestMember
Kind: type
export type ManifestMember = {
id: string;
identity?: ManifestIdentity | null;
workspace?: TeamWorkspaceConfig | null;
actions?: readonly TeamActionContract[] | null;
capabilities?: readonly string[] | null;
metadata?: Record<string, unknown> | null;
};ManifestRouteConfig
Kind: type
export type ManifestRouteConfig = {
key: string;
path?: string | null;
};ManifestTeam
Kind: type
export type ManifestTeam = {
id: string;
identity?: ManifestIdentity | null;
members?: readonly ManifestMember[] | null;
workspace?: TeamWorkspaceConfig | null;
actions?: readonly TeamActionContract[] | null;
capabilities?: readonly string[] | null;
routes?: readonly ManifestRouteConfig[] | null;
metadata?: Record<string, unknown> | null;
};MutationResult
Kind: type
export type MutationResult<TData> = {
data: TData;
source: DataSourceMode;
appliedAt: number;
contractGaps: ContractGap[];
};normalizeGatewayProviderToken
Kind: function
export declare function normalizeGatewayProviderToken(value: string | null | undefined): string | null;normalizeRuntimeBasePath
Kind: function
export declare function normalizeRuntimeBasePath(rawBasePath: string | null | undefined): string;normalizeRuntimeProviderToken
Kind: function
export declare function normalizeRuntimeProviderToken(value: string | null | undefined): string | null;normalizeRuntimeUsage
Kind: function
/**
* Normalize a flat provider-native usage record into RuntimeUsage. Tolerant of
* snake_case / camelCase across providers. Provider mappers are preferred where
* the native (possibly nested) object is in hand; this covers callers holding
* only the legacy flat `RuntimeRunStatus.usage`. `providerKind` is reserved for
* future provider-specific disambiguation.
*/
export declare function normalizeRuntimeUsage(raw: Record<string, number> | undefined, providerKind: string): RuntimeUsage | undefined;normalizeTeamManifest
Kind: function
export declare function normalizeTeamManifest(manifest: Partial<TeamManifest> | null | undefined): TeamManifest;PORTAL_CLIENT_ID_HEADER
Kind: variable
export declare const PORTAL_CLIENT_ID_HEADER: "X-Portal-Client-Id";ProtocolVersionCarrier
Kind: type
export type ProtocolVersionCarrier = {
protocolVersion?: string | null;
};ProtocolVersionCheck
Kind: type
export type ProtocolVersionCheck = {
ok: boolean;
expected: string;
actual: string | null;
};ProviderRegistry
Kind: type
export type ProviderRegistry<M extends RuntimeProviderModule = GatewayProviderModule> = RuntimeProviderRegistry<M>;REPO_ROOT_ENV_KEY
Kind: variable
export declare const REPO_ROOT_ENV_KEY: "REPO_ROOT";RepoRootEnv
Kind: type
export type RepoRootEnv = Record<string, string | undefined>;requireRepoRoot
Kind: function
export declare function requireRepoRoot(options?: ResolveRepoRootOptions): string;resolveGatewayProviderKind
Kind: function
export declare function resolveGatewayProviderKind(options?: ResolveGatewayProviderOptions): GatewayProviderKind;resolveGatewayProviderModule
Kind: function
export declare function resolveGatewayProviderModule(options?: ResolveGatewayProviderOptions): GatewayProviderModule | null;ResolveGatewayProviderOptions
Kind: type
export type ResolveGatewayProviderOptions = {
provider?: GatewayProviderKind | string | null;
env?: GatewayProviderEnv;
defaultProvider?: GatewayProviderKind | string | null;
registry?: GatewayProviderRegistry | null;
providerModules?: readonly GatewayProviderModule[] | null;
allowProviderOverrides?: boolean;
};resolveGatewayRouteBinding
Kind: function
export declare function resolveGatewayRouteBinding(manifest: TeamManifest, options: ResolveGatewayRouteBindingOptions): GatewayResolvedRouteBinding | null;ResolveGatewayRouteBindingOptions
Kind: type
export type ResolveGatewayRouteBindingOptions = {
bindingId?: string | null;
source?: string | null;
channel?: string | null;
sessionKey?: string | null;
key?: string | null;
agentId?: string | null;
actionId?: string | null;
};resolvePath
Kind: function
export declare function resolvePath(key: string, params?: Record<string, string>): string;resolvePublicRuntimeAsset
Kind: function
export declare function resolvePublicRuntimeAsset(pathname: string, rawBasePath: string | null | undefined): string;resolveRepoRoot
Kind: function
export declare function resolveRepoRoot(options?: ResolveRepoRootOptions): string | null;ResolveRepoRootOptions
Kind: type
export type ResolveRepoRootOptions = {
repoRoot?: string | null;
env?: RepoRootEnv;
globalRepoRoot?: string | null;
};resolveSurfaceContractPath
Kind: function
export declare function resolveSurfaceContractPath(contract: SurfaceContract, params?: Record<string, string>): string;resolveTeamActionApiPath
Kind: function
export declare function resolveTeamActionApiPath(manifest: TeamManifest, teamId: string | null | undefined, actionId: string | null | undefined, options?: ResolveTeamActionContractOptions): string;resolveTeamActionContract
Kind: function
export declare function resolveTeamActionContract(manifest: TeamManifest, teamId: string | null | undefined, actionId: string | null | undefined, options?: ResolveTeamActionContractOptions): TeamActionContract;ResolveTeamActionContractOptions
Kind: type
export type ResolveTeamActionContractOptions = {
memberId?: string | null;
/** Values substituted into `{token}` placeholders in the action's route path. */
params?: Record<string, string | number | boolean> | null;
/** Query parameters appended to the resolved path (via `appendHttpQuery`). */
query?: Record<string, string | number | boolean | undefined> | null;
};resolveTeamRoutePath
Kind: function
export declare function resolveTeamRoutePath(routeKey: TeamRouteKey, options: ResolveTeamRoutePathOptions): string;ResolveTeamRoutePathOptions
Kind: type
export type ResolveTeamRoutePathOptions = {
teamId: string;
actionId?: string | null;
agentId?: string | null;
workspacePath?: string | null;
};resolveTeamWorkspaceApiPath
Kind: function
export declare function resolveTeamWorkspaceApiPath(team: ManifestTeam, keyOrPath: string, options?: ResolveTeamWorkspacePathOptions): string;resolveTeamWorkspacePath
Kind: function
export declare function resolveTeamWorkspacePath(team: ManifestTeam, keyOrPath: string, options?: ResolveTeamWorkspacePathOptions): string;ResolveTeamWorkspacePathOptions
Kind: type
export type ResolveTeamWorkspacePathOptions = {
memberId?: string | null;
};RUN_STREAM_EVENT_NAMES
Kind: variable
export declare const RUN_STREAM_EVENT_NAMES: {
readonly MESSAGE_DELTA: "message.delta";
readonly RUN_COMPLETED: "run.completed";
readonly RUN_FAILED: "run.failed";
readonly RUN_CANCELLED: "run.cancelled";
readonly APPROVAL_REQUEST: "approval.request";
readonly TOOL_CALL_STARTED: "tool.call.started";
readonly TOOL_CALL_COMPLETED: "tool.call.completed";
readonly TOOL_CALL_FAILED: "tool.call.failed";
};RunEventStreamHandlers
Kind: type
export type RunEventStreamHandlers = {
onEvent: (event: RunStreamEvent) => void;
/** Transport / parse errors. Lifecycle "run.failed" is delivered via onEvent, not here. */
onError?: (error: unknown) => void;
/** Fired once after the stream has emitted its last event of the run. */
onComplete?: () => void;
};RunEventStreamProvider
Kind: interface
/**
* Harness-agnostic source of live run events. Implementations bind to a
* transport and translate native messages into the canonical RunStreamEvent
* union; every emitted event's `event` field MUST be one of
* RUN_STREAM_EVENT_NAMES.
*/
export interface RunEventStreamProvider {
subscribe(params: RunEventStreamSubscribeParams, handlers: RunEventStreamHandlers): Promise<RunEventStreamSubscription>;
}RunEventStreamSubscribeParams
Kind: type
export type RunEventStreamSubscribeParams = {
runId: string;
/** Optional caller-supplied abort signal. Implementations MUST honor abort and dispose. */
signal?: AbortSignal;
};RunEventStreamSubscription
Kind: type
/** Disposes an active subscription. Idempotent. */
export type RunEventStreamSubscription = {
dispose(): void | Promise<void>;
};RunPreviewPollProvider
Kind: class
/**
* Synthesizes tool events from {@link AgentRunPreviewItem}s by polling the
* run-detail snapshot. Used as a stopgap until the Hermes SSE protocol emits
* `tool.call.*` events natively.
*
* Default mode is one-shot: subscribe → fetch snapshot once → emit a
* `tool.call.completed` event for each tool item → fire `onComplete` → dispose.
*
* For in-progress polling (multi-shot), pass `maxPolls > 1` and a
* `pollIntervalMs`. The provider dedupes by `(toolName, at)` so the same tool
* call is never emitted twice.
*
* This provider DOES NOT emit lifecycle events (`message.delta`,
* `run.completed`, etc.). Compose it alongside a Hermes/gateway provider that
* handles the lifecycle.
*/
export declare class RunPreviewPollProvider implements RunEventStreamProvider {
private readonly fetchSnapshot;
private readonly maxPolls;
private readonly pollIntervalMs;
constructor(options: RunPreviewPollProviderOptions);
subscribe(params: RunEventStreamSubscribeParams, handlers: RunEventStreamHandlers): Promise<RunEventStreamSubscription>;
}RunPreviewPollProviderOptions
Kind: type
export type RunPreviewPollProviderOptions = {
/** Caller-supplied fetcher for the run-detail snapshot (mobile uses gateway loaders; web hits HTTP directly). */
fetchSnapshot: RunPreviewSnapshotFetcher;
/**
* Cap on how many snapshots to poll before giving up. Each poll synthesizes
* tool events for items newer than the previous snapshot.
*
* Set to 1 for one-shot "stitch tool events after run completed" usage.
* Set higher to track in-progress tool calls before backend SSE catches up.
*/
maxPolls?: number;
/** Delay between polls when {@link maxPolls} > 1. */
pollIntervalMs?: number;
};RunPreviewSnapshotFetcher
Kind: type
export type RunPreviewSnapshotFetcher = (runId: string, signal?: AbortSignal) => Promise<AgentRunDetailSnapshot | null>;RunStreamEvent
Kind: type
export type RunStreamEvent = RunStreamMessageDeltaEvent | RunStreamRunCompletedEvent | RunStreamRunFailedEvent | RunStreamRunCancelledEvent | RunStreamApprovalRequestEvent | RunStreamToolEvent;RunStreamEventName
Kind: type
export type RunStreamEventName = (typeof RUN_STREAM_EVENT_NAMES)[keyof typeof RUN_STREAM_EVENT_NAMES];RUNTIME_SURFACES
Kind: variable
/** Every surface a provider may declare support for. */
export declare const RUNTIME_SURFACES: readonly [
"runs",
"streaming",
"media",
"wiki",
"agentConfig",
"teams",
"kanban",
"workspace",
"operator",
"discourse",
"batch"
];RuntimeBatchCounts
Kind: type
export type RuntimeBatchCounts = {
total?: number;
processing?: number;
succeeded?: number;
errored?: number;
canceled?: number;
expired?: number;
};RuntimeBatchOutcome
Kind: type
export type RuntimeBatchOutcome = "succeeded" | "errored" | "canceled" | "expired" | (string & {});RuntimeBatchRequest
Kind: type
/** One entry in a batch submission — a run body plus a caller correlation id. */
export type RuntimeBatchRequest = {
/** Caller-chosen id, echoed on the matching result. */
customId: string;
body: RuntimeRunStartBody;
};RuntimeBatchResult
Kind: type
export type RuntimeBatchResult = {
customId: string;
outcome: RuntimeBatchOutcome;
/** Present when outcome === "succeeded": the normalized run status (incl. tokens). */
run?: RuntimeRunStatus;
error?: string;
};RuntimeBatchState
Kind: type
export type RuntimeBatchState = "in_progress" | "canceling" | "completed" | "cancelled" | "failed" | (string & {});RuntimeBatchStatus
Kind: type
export type RuntimeBatchStatus = {
batch_id: string;
status: RuntimeBatchState;
counts?: RuntimeBatchCounts;
createdAt?: number | string;
endedAt?: number | string;
/** True once results are retrievable (the provider batch has ended). */
resultsAvailable?: boolean;
};RuntimeCapabilities
Kind: type
/** Provider-declared capability profile. Returned by RuntimeClient. */
export type RuntimeCapabilities = {
providerKind: string;
protocolVersion?: string | null;
auth?: {
type?: string;
required?: boolean;
};
supports: Partial<Record<RuntimeSurface, boolean>>;
};RuntimeClient
Kind: interface
/**
* The UNIVERSAL agent-runtime contract every provider implements.
* Gateway-only surfaces (teams/kanban/workspace/operator) live on
* `GatewayClient`, which extends this.
*/
export interface RuntimeClient {
getRuntimeCapabilities(): Promise<RuntimeCapabilities>;
startRun(body: RuntimeRunStartBody): Promise<RuntimeRunStatus>;
/**
* Optional — synchronous/stateless providers (e.g. Claude SDK) omit these.
* Consumers should null-check (`client.cancelRun?.(id)`) or gate on
* `RuntimeCapabilities`. Providers that expose the method but can't serve it
* should throw `ApiClientError(EndpointNotFound)`.
*/
getRun?(runId: string): Promise<RuntimeRunStatus>;
cancelRun?(runId: string): Promise<{
status: string;
}>;
/**
* Start a run and stream it as canonical RunStreamEvents. Optional: providers
* that use a subscribe-by-runId model (gateways) omit this and expose a
* RunEventStreamProvider instead.
*/
streamRun?(body: RuntimeRunStartBody, handlers: RunEventStreamHandlers, options?: {
signal?: AbortSignal;
}): Promise<void>;
/**
* Batch surface (optional). Providers that support async batch processing
* declare `supports.batch` and implement these; others omit them. Consumers
* null-check (`client.submitBatch?.(…)`) or gate on `RuntimeCapabilities`.
*/
submitBatch?(requests: RuntimeBatchRequest[]): Promise<RuntimeBatchStatus>;
getBatch?(batchId: string): Promise<RuntimeBatchStatus>;
cancelBatch?(batchId: string): Promise<RuntimeBatchStatus>;
/**
* Retrieve batch results. Throws an `EndpointNotFound`-class error if the
* batch has not ended yet — poll `getBatch` until `resultsAvailable` is true.
*/
getBatchResults?(batchId: string): Promise<RuntimeBatchResult[]>;
}RuntimeClientOptions
Kind: type
export type RuntimeClientOptions = Pick<HttpApiClientOptions, "baseUrl" | "fetchImpl" | "onTrace">;RuntimeProviderModule
Kind: interface
/** @deprecated Import RuntimeProviderModule from core/runtime. */
export interface RuntimeProviderModule extends RuntimeProviderModuleBase {
}RuntimeProviderRegistry
Kind: interface
export interface RuntimeProviderRegistry<M extends RuntimeProviderModule = RuntimeProviderModule> {
resolveProvider(provider: string | null | undefined): M | null;
listProviders(): readonly M[];
}RuntimeRunInput
Kind: type
export type RuntimeRunInput = string | RuntimeRunMessage[];RuntimeRunMessage
Kind: type
/** A single conversation message. Structurally shared by every provider. */
export type RuntimeRunMessage = {
role: string;
content: string | Record<string, unknown>[];
[key: string]: unknown;
};RuntimeRunStartBody
Kind: type
/**
* The UNIVERSAL run-start body. Carries only fields every agent runtime
* understands. Provider/gateway-only concepts (sessions, routing, target
* profiles, tasks) are NOT here — they live on `GatewayRunStartBody`.
*/
export type RuntimeRunStartBody = {
input: RuntimeRunInput;
/** System / developer instructions (Anthropic `system`). */
instructions?: string;
model?: string;
tools?: Record<string, unknown>[];
metadata?: Record<string, unknown>;
dryRun?: boolean;
};RuntimeRunState
Kind: type
export type RuntimeRunState = "started" | "running" | "completed" | "failed" | "cancelled" | "stopping" | "dry_run" | (string & {});RuntimeRunStatus
Kind: type
/** The UNIVERSAL run status. Gateway-only fields live on `GatewayRunStatus`. */
export type RuntimeRunStatus = {
run_id: string;
status: RuntimeRunState;
model?: string;
output?: string;
response?: string;
error?: string;
/**
* @deprecated Raw provider-native token counts. Use `tokens` for portable,
* normalized usage. Still populated for backward compatibility.
*/
usage?: Record<string, number>;
/** Provider-agnostic normalized token usage. */
tokens?: RuntimeUsage;
};runtimeSupports
Kind: function
export declare function runtimeSupports(capabilities: RuntimeCapabilities, surface: RuntimeSurface): boolean;RuntimeSurface
Kind: type
export type RuntimeSurface = (typeof RUNTIME_SURFACES)[number];RuntimeUsage
Kind: type
/** Canonical, provider-agnostic token usage for a single run. */
export type RuntimeUsage = {
inputTokens?: number;
outputTokens?: number;
totalTokens?: number;
/** Tokens served from prompt cache. */
cacheReadTokens?: number;
/** Tokens written to prompt cache (Anthropic "cache_creation"). */
cacheWriteTokens?: number;
/** Lossless provider-native numeric fields, flattened. */
raw?: Record<string, number>;
};SerializedApiClientError
Kind: type
export type SerializedApiClientError = {
name: string;
message: string;
type?: string;
code?: string;
};serializeError
Kind: function
export declare function serializeError(error: unknown, fallbackMessage?: string): SerializedApiClientError;stringifyUnknownError
Kind: function
export declare function stringifyUnknownError(error: unknown): string;SURFACE_CONTRACTS
Kind: variable
export declare const SURFACE_CONTRACTS: Record<string, SurfaceContract>;SurfaceContract
Kind: type
export type SurfaceContract = {
key: string;
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
path: (params?: Record<string, string>) => string;
degradation: "hard" | "gap" | "silent";
owner: string;
note: string;
};SurfaceContractMap
Kind: type
export type SurfaceContractMap = Record<string, SurfaceContract>;SurfacePathResolver
Kind: type
export type SurfacePathResolver = (key: string, params?: Record<string, string>) => string;TEAM_ACTION_INPUT_MODES
Kind: variable
export declare const TEAM_ACTION_INPUT_MODES: readonly [
"command",
"json",
"text"
];TEAM_ACTION_OUTPUT_MODES
Kind: variable
export declare const TEAM_ACTION_OUTPUT_MODES: readonly [
"artifact",
"json",
"markdown",
"text"
];TEAM_MANIFEST_VERSION
Kind: variable
export declare const TEAM_MANIFEST_VERSION: 1;TeamActionArtifact
Kind: type
export type TeamActionArtifact = {
key: string;
contentType?: string | null;
path?: string | null;
url?: string | null;
metadata?: Record<string, unknown> | null;
};TeamActionArtifactContract
Kind: type
export type TeamActionArtifactContract = {
key: string;
contentType?: string | null;
path?: string | null;
description?: string | null;
metadata?: Record<string, unknown> | null;
};TeamActionContract
Kind: type
export type TeamActionContract = {
id: string;
title?: string | null;
description?: string | null;
enabled?: boolean | null;
route?: TeamActionRouteContract | null;
input?: TeamActionInputContract | null;
output?: TeamActionOutputContract | null;
defaults?: Record<string, TeamActionJsonValue> | null;
capabilities?: readonly string[] | null;
metadata?: Record<string, unknown> | null;
};TeamActionHttpMethod
Kind: type
export type TeamActionHttpMethod = "DELETE" | "GET" | "PATCH" | "POST" | "PUT";TeamActionInputContract
Kind: type
export type TeamActionInputContract = {
mode?: TeamActionInputMode | null;
command?: string | null;
params?: readonly TeamActionParamContract[] | null;
schema?: Record<string, unknown> | null;
examples?: readonly string[] | null;
metadata?: Record<string, unknown> | null;
};TeamActionInputMode
Kind: type
export type TeamActionInputMode = (typeof TEAM_ACTION_INPUT_MODES)[number];TeamActionJsonValue
Kind: type
export type TeamActionJsonValue = string | number | boolean | null | readonly TeamActionJsonValue[] | {
readonly [key: string]: TeamActionJsonValue;
};TeamActionOutputContract
Kind: type
export type TeamActionOutputContract = {
mode?: TeamActionOutputMode | null;
contentType?: string | null;
schema?: Record<string, unknown> | null;
artifacts?: readonly TeamActionArtifactContract[] | null;
metadata?: Record<string, unknown> | null;
};TeamActionOutputMode
Kind: type
export type TeamActionOutputMode = (typeof TEAM_ACTION_OUTPUT_MODES)[number];TeamActionParamContract
Kind: type
export type TeamActionParamContract = {
key: string;
type?: TeamActionParamType | null;
required?: boolean | null;
default?: TeamActionJsonValue;
values?: readonly string[] | null;
aliases?: readonly string[] | null;
description?: string | null;
metadata?: Record<string, unknown> | null;
};TeamActionParamType
Kind: type
export type TeamActionParamType = "boolean" | "enum" | "file" | "json" | "number" | "string";TeamActionResponse
Kind: type
export type TeamActionResponse = (TeamActionResponseBase & {
kind: "artifact";
artifacts: readonly TeamActionArtifact[];
data?: TeamActionJsonValue;
}) | (TeamActionResponseBase & {
kind: "json";
data: TeamActionJsonValue;
}) | (TeamActionResponseBase & {
kind: "markdown";
markdown: string;
}) | (TeamActionResponseBase & {
kind: "text";
text: string;
});TeamActionResponseBase
Kind: type
export type TeamActionResponseBase = {
actionId?: string | null;
teamId?: string | null;
memberId?: string | null;
metadata?: Record<string, unknown> | null;
};TeamActionRouteContract
Kind: type
export type TeamActionRouteContract = {
method?: TeamActionHttpMethod | null;
surfaceKey?: string | null;
path?: string | null;
metadata?: Record<string, unknown> | null;
};TeamManifest
Kind: type
export type TeamManifest = {
version: TeamManifestVersion;
actions?: readonly TeamActionContract[] | null;
bindings?: readonly GatewayRouteBinding[] | null;
teams: readonly ManifestTeam[];
};TeamManifestInput
Kind: type
export type TeamManifestInput = Partial<TeamManifest> | null | undefined;TeamManifestLoader
Kind: type
export type TeamManifestLoader = () => TeamManifestInput | Promise<TeamManifestInput>;TeamManifestSource
Kind: interface
/** The seam through which a host supplies its manifest to the package. */
export interface TeamManifestSource {
getManifest(): Promise<TeamManifest>;
}TeamManifestVersion
Kind: type
export type TeamManifestVersion = typeof TEAM_MANIFEST_VERSION;TeamRouteKey
Kind: type
export type TeamRouteKey = DefaultTeamRouteKey | "action" | "agent.action" | "agent.config" | "agent.workspace" | (string & {});TeamRouteResolver
Kind: interface
/**
* Generic, host-overridable route resolution over a TeamManifest. The default
* implementation delegates to the standard REST path builders.
*/
export interface TeamRouteResolver {
resolveRoutePath(routeKey: TeamRouteKey, options: ResolveTeamRoutePathOptions): string;
resolveActionApiPath(manifest: TeamManifest, teamId: string, actionId: string, options?: ResolveTeamActionContractOptions): string;
resolveWorkspaceApiPath(manifest: TeamManifest, teamId: string, keyOrPath: string, options?: ResolveTeamWorkspacePathOptions): string;
resolveBinding(manifest: TeamManifest, options: ResolveGatewayRouteBindingOptions): GatewayResolvedRouteBinding | null;
}TeamWorkspaceConfig
Kind: type
export type TeamWorkspaceConfig = {
rootPath: string;
paths?: readonly TeamWorkspacePathEntry[] | null;
};TeamWorkspacePathEntry
Kind: type
export type TeamWorkspacePathEntry = string | {
key: string;
path?: string | null;
};toError
Kind: function
export declare function toError(error: unknown, fallbackMessage?: string): Error;TokenPrices
Kind: type
/** Per-million-token prices supplied by the consumer. No defaults ship. */
export type TokenPrices = {
inputPerMTok?: number;
outputPerMTok?: number;
cacheReadPerMTok?: number;
cacheWritePerMTok?: number;
};unsupportedRuntimeSurface
Kind: function
/** Throw a typed EndpointNotFound for a surface this provider does not serve. */
export declare function unsupportedRuntimeSurface(providerKind: string, surface: RuntimeSurface): never;withFallback
Kind: function
export declare function withFallback<TData>(params: {
run: () => Promise<TData>;
fallback: TData;
area: string;
expectedContract: string;
note: string;
/** Optional observability hook: fired when the envelope resolves live or mock (C2). */
onResolve?: (info: FallbackResolveInfo) => void;
}): Promise<DataEnvelope<TData>>;withMutationResult
Kind: function
export declare function withMutationResult<TData>(params: {
run: () => Promise<TData>;
fallback: () => TData;
area: string;
expectedContract: string;
note: string;
}): Promise<MutationResult<TData>>;withRuntimeBasePath
Kind: function
export declare function withRuntimeBasePath(pathname: string, rawBasePath: string | null | undefined): string;