import type { Context } from './types/context.js'; import type { Model, ModelApi, ProviderInstanceConfig } from './types/model.js'; import type { ThinkingLevel } from './types/agent-event.js'; import type { AssistantMessage } from './types/agent-message.js'; export interface StreamOptions { signal?: AbortSignal; temperature?: number; maxTokens?: number; sessionId?: string; thinkingLevel?: ThinkingLevel; /** Provider prompt cache(默认启用;仅显式 false 禁用) */ promptCache?: boolean; /** OpenAI routing hint;同 key 提高前缀命中率 */ promptCacheKey?: string; promptCacheRetention?: import('./bridge/ai-sdk-prompt-cache.js').PromptCacheRetention; onPayload?: (payload: unknown) => void; onResponse?: (response: unknown) => void; } export type StreamFn = (model: Model, context: Context, options?: StreamOptions) => AssistantMessageEventStream; export type StreamSimpleFn = StreamFn; export interface ApiProviderRegistration { api: ModelApi; stream: StreamFn; streamSimple?: StreamSimpleFn; } export interface AssistantStreamEvent { type: 'text_delta' | 'thinking_delta' | 'toolcall_delta' | 'done' | 'error'; text?: string; thinking?: string; toolCall?: { id?: string; name?: string; arguments?: Record; }; message?: AssistantMessage; error?: Error; } /** Async iterable + push subscription for assistant stream events. */ export interface AssistantMessageEventStream extends AsyncIterable { subscribe(listener: (event: AssistantStreamEvent) => void): () => void; } export interface RegisteredProvider { config: ProviderInstanceConfig; models: string[]; } declare let liveModelsResolver: ((alias: string) => string[]) | undefined; /** @internal wired by register-api-layer */ export declare function setLiveModelsResolver(resolver: ((alias: string) => string[]) | undefined): void; export declare function getLiveModelsResolver(): typeof liveModelsResolver; /** @deprecated Use setLiveModelsResolver */ export declare function setLegacyProviderResolver(resolver: ((alias: string) => { models: string[]; }) | undefined): void; export declare function getLegacyProviderResolver(): typeof liveModelsResolver; export declare function registerApiProvider(registration: ApiProviderRegistration): void; export declare function registerProviderInstance(alias: string, config: ProviderInstanceConfig, models?: string[]): void; export declare function getApiProvider(api: ModelApi): ApiProviderRegistration | undefined; export declare function getProviderConfig(alias: string): RegisteredProvider | undefined; export declare function getModel(providerAlias: string, modelId: string): Model; export declare function clearApiRegistryForTests(): void; export declare function complete(model: Model, context: Context, options?: StreamOptions): Promise; export declare function stream(model: Model, context: Context, options?: StreamOptions): AssistantMessageEventStream; export declare function streamSimple(model: Model, context: Context, options?: StreamOptions): AssistantMessageEventStream; export declare function completeSimple(model: Model, context: Context, options?: StreamOptions): Promise; /** Build a push-based event stream from an async producer. */ export declare function createAssistantMessageEventStream(producer: (push: (event: AssistantStreamEvent) => void) => Promise): AssistantMessageEventStream; export type { AssistantMessage }; //# sourceMappingURL=api-registry.d.ts.map