// provider configuration interface WispOpts { provider: Provider; apiKey: string; model?: string; } type Provider = "anthropic" | "openai" | "xai"; interface ProviderConfig { apiKey: string; model: string; } // request/response interface RequestLLM { headers: Record; body: Record; url: string; } // generate options interface GenerateOpts { maxTokens?: number; temperature?: number; } // seed-specific options (from tendr-cli) interface OptMkdn { attrs: "caml" | "yaml"; case: "upper" | "lower"; text: "regular" | "[[wikitext]]"; indent: "2 spaces" | "4 spaces" | "1 tab"; whitespace: "white space" | "snake_case" | "kabob-case"; } interface SeedOpts extends GenerateOpts { mkdn?: OptMkdn; } interface SeedResult { raw: string; ancestors: string; node: string; tree: string; } declare class Wisp { private provider; private apiKey; private model; constructor(opts: WispOpts); generate(systemPrompt: string, userMessage: string, opts?: GenerateOpts): Promise; } declare function buildSeedPrompt(mkdn?: OptMkdn): string; declare function parseSeedResult(raw: string): SeedResult; declare function formatWithAncestors(ancestors: string, node: string, tree: string): string; declare function seed(wisp: Wisp, concept: string, opts?: SeedOpts): Promise; // see: https://github.com/wikibonsai/prompt declare const SYSTEM_PROMPT: string; // prompt separators declare const SEPARATOR: string; // default mkdn options declare const DEFAULT_MKDN: OptMkdn; declare function formatPrompt(opts: OptMkdn): string; declare const IGNORE_LAZY: string; declare const TAKE_TIME: string; declare const PEPTALK: string; declare function prepAnthropic(apiKey: string, model: string, systemPrompt: string, userMessage: string, maxTokens?: number): RequestLLM; declare function prepOpenAI(apiKey: string, model: string, systemPrompt: string, userMessage: string, maxTokens?: number): RequestLLM; declare function prepXAI(apiKey: string, model: string, systemPrompt: string, userMessage: string): RequestLLM; // ai api urls declare const URL_API_ANTHROPIC: string; declare const URL_API_OPENAI: string; declare const URL_API_XAI: string; // default models declare const DEFAULT_MODEL_ANTHROPIC: string; declare const DEFAULT_MODEL_OPENAI: string; declare const DEFAULT_MODEL_XAI: string; declare const DEFAULT_MODELS: Record; export { Wisp, seed, buildSeedPrompt, parseSeedResult, formatWithAncestors, SYSTEM_PROMPT, formatPrompt, IGNORE_LAZY, TAKE_TIME, PEPTALK, DEFAULT_MKDN, SEPARATOR, prepAnthropic, prepOpenAI, prepXAI, URL_API_ANTHROPIC, URL_API_OPENAI, URL_API_XAI, DEFAULT_MODELS, DEFAULT_MODEL_ANTHROPIC, DEFAULT_MODEL_OPENAI, DEFAULT_MODEL_XAI }; export type { WispOpts, Provider, ProviderConfig, RequestLLM, GenerateOpts, OptMkdn, SeedOpts, SeedResult };