maiar-agents
Version:
Multi-provider AI agent library for interacting with various AI models
76 lines (75 loc) • 2 kB
TypeScript
import { ModelProvider } from "@maiar-ai/core";
export type ProviderType = "openai" | "anthropic" | "deepseek" | "mistral" | "gemini" | "agent-ai" | "runway" | "midjourney" | "elsevier" | "unity" | "nvidia" | "harmonai" | "audiocraft";
export interface BaseProviderConfig {
apiKey: string;
model: string;
}
export interface OpenAIConfig extends BaseProviderConfig {
}
export interface AnthropicConfig extends BaseProviderConfig {
}
export interface DeepseekConfig extends BaseProviderConfig {
}
export interface MistralConfig extends BaseProviderConfig {
}
export interface GeminiConfig extends BaseProviderConfig {
}
export interface AgentAIConfig extends BaseProviderConfig {
agentId: string;
}
export interface RunwayConfig extends BaseProviderConfig {
}
export interface MidjourneyConfig extends BaseProviderConfig {
}
export interface ElsevierConfig extends BaseProviderConfig {
apiEndpoint: string;
}
export interface UnityConfig extends BaseProviderConfig {
}
export interface NvidiaConfig extends BaseProviderConfig {
}
export interface HarmonaiConfig extends BaseProviderConfig {
}
export interface AudiocraftConfig extends BaseProviderConfig {
}
export type ProviderConfig = {
type: "openai";
config: OpenAIConfig;
} | {
type: "anthropic";
config: AnthropicConfig;
} | {
type: "deepseek";
config: DeepseekConfig;
} | {
type: "mistral";
config: MistralConfig;
} | {
type: "gemini";
config: GeminiConfig;
} | {
type: "agent-ai";
config: AgentAIConfig;
} | {
type: "runway";
config: RunwayConfig;
} | {
type: "midjourney";
config: MidjourneyConfig;
} | {
type: "elsevier";
config: ElsevierConfig;
} | {
type: "unity";
config: UnityConfig;
} | {
type: "nvidia";
config: NvidiaConfig;
} | {
type: "harmonai";
config: HarmonaiConfig;
} | {
type: "audiocraft";
config: AudiocraftConfig;
};
export declare function createProvider(providerConfig: ProviderConfig): ModelProvider;