openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
55 lines • 2.35 kB
TypeScript
import { g as ModelApi } from "./types.openclaw-yUy4bDSr.js";
//#region src/plugin-sdk/provider-model-types.d.ts
/** Private selected-request facts; omission means the host cannot establish applicability. */
type ProviderFastModePolicyContext = {
provider: string;
modelId: string;
api?: string;
baseUrl?: string;
authMode?: string;
runtimeId?: string;
modelParams?: Record<string, unknown>;
params?: Record<string, unknown>;
requestCapabilities: {
endpointClass: string;
allowsAnthropicServiceTier: boolean;
};
};
type ProviderModelRouteSource = {
api?: ModelApi | null;
baseUrl?: unknown;
};
/** A concrete provider route. Order expresses provider default, never credential precedence. */
type ProviderModelRouteAuthRequirement = "api-key" | "subscription";
type ProviderRouteOverridePresence = "none" | "present";
type ProviderModelRouteRuntimePolicy = {
/** Agent runtime ids that can reproduce this route without losing transport behavior. */
compatibleIds: readonly string[];
};
type ProviderResolveModelRoutesContext = {
provider: string;
modelId?: string;
/** Effective secret-free request behavior for this provider/model pair. */
requestTransportOverrides?: ProviderRouteOverridePresence;
configuredModel?: ProviderModelRouteSource;
configuredProvider?: ProviderModelRouteSource;
/** Prepared consumer intent; credentials and runtime compatibility remain independently owned. */
routeIntent?: {
runtimeId?: string;
authRequirement?: ProviderModelRouteAuthRequirement;
source: "explicit" | "inherited";
};
/** Environment view; the provider owns interpretation of its variables. */
env?: Readonly<Record<string, string | undefined>>;
/** Physical route facts for one logical model; input order is not preference. */
observedRoutes?: readonly ProviderModelRouteSource[];
};
/** Provider-owned default for one resolved inference route; never an authored config setting. */
type ProviderToolSearchPolicyContext = {
provider: string;
modelId: string;
api: string;
baseUrl?: string;
};
//#endregion
export { ProviderResolveModelRoutesContext as a, ProviderModelRouteSource as i, ProviderModelRouteAuthRequirement as n, ProviderRouteOverridePresence as o, ProviderModelRouteRuntimePolicy as r, ProviderToolSearchPolicyContext as s, ProviderFastModePolicyContext as t };