@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
46 lines • 1.85 kB
TypeScript
import type { Mastra } from '../../mastra/index.js';
import { RuntimeContext } from '../../runtime-context/index.js';
import type { MastraModelConfig, OpenAICompatibleConfig, MastraLanguageModel } from './shared.types.js';
/**
* Type guard to check if a model config is an OpenAICompatibleConfig object
* @internal
*/
export declare function isOpenAICompatibleObjectConfig(modelConfig: MastraModelConfig | (({ runtimeContext, mastra, }: {
runtimeContext: RuntimeContext;
mastra?: Mastra;
}) => MastraModelConfig | Promise<MastraModelConfig>)): modelConfig is OpenAICompatibleConfig;
/**
* Resolves a model configuration to a LanguageModel instance.
* Supports:
* - Magic strings like "openai/gpt-4o"
* - Config objects like { id: "openai/gpt-4o", apiKey: "..." }
* - Direct LanguageModel instances
* - Dynamic functions that return any of the above
*
* @param modelConfig The model configuration
* @param runtimeContext Optional runtime context for dynamic resolution
* @param mastra Optional Mastra instance for dynamic resolution
* @returns A resolved LanguageModel instance
*
* @example
* ```typescript
* // String resolution
* const model = await resolveModelConfig("openai/gpt-4o");
*
* // Config object resolution
* const model = await resolveModelConfig({
* id: "openai/gpt-4o",
* apiKey: "sk-..."
* });
*
* // Dynamic resolution
* const model = await resolveModelConfig(
* ({ runtimeContext }) => runtimeContext.get("preferredModel")
* );
* ```
*/
export declare function resolveModelConfig(modelConfig: MastraModelConfig | (({ runtimeContext, mastra, }: {
runtimeContext: RuntimeContext;
mastra?: Mastra;
}) => MastraModelConfig | Promise<MastraModelConfig>), runtimeContext?: RuntimeContext, mastra?: Mastra): Promise<MastraLanguageModel>;
//# sourceMappingURL=resolve-model.d.ts.map