Summary
Add a convenience factory method that auto-discovers available LLM providers from a Cloudflare Worker env object, eliminating manual config assembly.
Motivation
From the frontend team (Oracle project): they're manually checking for each key (env.ANTHROPIC_API_KEY, env.OPENAI_API_KEY, env.AI, etc.) and building the config object by hand. This is boilerplate that the package should handle.
Proposed API
// Auto-discover all available providers from worker env
const llm = LLMProviders.fromEnv(env);
// With overrides
const llm = LLMProviders.fromEnv(env, {
defaultProvider: 'anthropic',
costOptimization: true,
});
Detection logic
Scan env for known keys:
env.ANTHROPIC_API_KEY → configure Anthropic provider
env.OPENAI_API_KEY → configure OpenAI provider
env.GROQ_API_KEY → configure Groq provider
env.CEREBRAS_API_KEY → configure Cerebras provider
env.AI (binding) → configure Cloudflare Workers AI provider
Acceptance criteria
Summary
Add a convenience factory method that auto-discovers available LLM providers from a Cloudflare Worker
envobject, eliminating manual config assembly.Motivation
From the frontend team (Oracle project): they're manually checking for each key (
env.ANTHROPIC_API_KEY,env.OPENAI_API_KEY,env.AI, etc.) and building the config object by hand. This is boilerplate that the package should handle.Proposed API
Detection logic
Scan
envfor known keys:env.ANTHROPIC_API_KEY→ configure Anthropic providerenv.OPENAI_API_KEY→ configure OpenAI providerenv.GROQ_API_KEY→ configure Groq providerenv.CEREBRAS_API_KEY→ configure Cerebras providerenv.AI(binding) → configure Cloudflare Workers AI providerAcceptance criteria
LLMProviders.fromEnv(env, overrides?)defaultProvider,costOptimization, etc.