INNER CODE UNIT · TypeScript

isAvailable

harvard-edge/cs249r_book · interviews/staffml/worker/src/index.ts:240

function isAvailable(adapter: Adapter, env: Env): boolean {
  if (adapter.name === "cf-workers-ai") return Boolean(env.AI);
  return Boolean(adapter.apiKeyEnv && env[adapter.apiKeyEnv]);
}

function orderedAdapters(env: Env): Adapter[] {
  const priority = (env.PROVIDER_PRIORITY ?? "groq,openai,anthropic,gemini,openrouter,cf-workers-ai")
    .split(",")
    .map((s) => s.trim())
    .filter(Boolean);
  const byName = new Map(ADAPTERS.map((a) => [a.name, a]));
  const ordered: Adapter[] = [];
  for (const name of priority) {
    const a = byName.get(name);
    if (a && isAvailable(a, env)) ordered.push(a);
  }
  // Always append cf-workers-ai as the floor if not already in the list
  const floor = byName.get("cf-workers-ai");

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…