/** * Drop-in replacement for Meta Llama via OpenAI-compatible API. * Swap your import to get permit-first governance transparently. * * BEFORE: import OpenAI from "openai"; new OpenAI({ baseURL: "https://api.llama-api.com" }) * AFTER: import { Llama } from "keel-sdk/providers/meta"; * * The wrapper does NOT depend on the `openai` npm package. * It talks to Keel's proxy endpoint, which handles the provider call. */ import type { ChatCompletionMessageParam, ChatCompletionCreateParams, ChatCompletion, ChatCompletionChunk, CompletionUsage } from "./openai"; export type { ChatCompletionMessageParam, ChatCompletionCreateParams, ChatCompletion, ChatCompletionChunk, CompletionUsage, }; export interface MetaConfig { /** Ignored -- Keel manages provider keys. Accepted for API compatibility. */ apiKey?: string; /** Keel API base URL. Defaults to KEEL_BASE_URL env var. */ keelBaseUrl?: string; /** Keel API key. Defaults to KEEL_API_KEY env var. */ keelApiKey?: string; /** Keel project ID. Defaults to KEEL_PROJECT_ID env var. */ keelProjectId?: string; /** Subject for permit requests. */ keelSubject?: { type: string; id: string; }; /** Request timeout in milliseconds. */ timeout?: number; /** Maximum retries on transient errors. */ maxRetries?: number; } export declare class Llama { readonly chat: { completions: { create: (params: ChatCompletionCreateParams) => Promise>; }; }; private readonly keel; private readonly projectId; private readonly subject; constructor(config?: MetaConfig); private _create; private _createSync; private _createStream; }