@yarlisai/ai
Einheitlicher LLM-Port — OpenAI, Anthropic, Bedrock, Gemini und 12 weitere Provider-Adapter.
Einheitlicher LLM-Port — OpenAI, Anthropic, Bedrock, Gemini und 12 weitere Provider-Adapter.
Installation
npm install @yarlisai/aiSource: packages/ai ·
npm ·
CHANGELOG
Warum
@yarlisai/ai folgt dem Port/Adapter-Vertrag: Konsumenten hängen von einem Port (SomeProvider-Interface) ab und instanziieren zur Laufzeit einen Adapter. Den Anbieter zu wechseln ist eine einzeilige Konfigurationsänderung.
Verwendung
Die README des Pakets enthält einen vollständigen Schnellstart. mybotbox-platform selbst ist der Referenz-Konsument — apps/sat/lib/ai/ (oder ein ähnlich benanntes Modul) zeigt, wie jede Aufrufstelle den Port anstelle eines Anbieter-SDKs direkt verwendet.
Copilot-Modellauswahl & Tool-Vertrag
Der Unterpfad @yarlisai/ai/copilot exportiert die Copilot-Modellauswahl und den
Tool-Call-Vertrag als reine Daten + zod-Schemas — kein React, keine App-
Imports — sodass SDKs und externe Agenten gegen dieselbe Quelle der Wahrheit validieren können,
die auch die Plattform verwendet:
import {
COPILOT_MODELS, // full picker lineup (id, label, tier icon, provider)
DEFAULT_COPILOT_MODEL, // current default model id
normalizeCopilotModel, // maps retired aliases → current canonical ids
ToolIds, // zod enum of every Copilot tool id
ToolArgSchemas, // per-tool argument schemas
ToolSSESchemas, // per-tool `tool_call` SSE event schemas
ToolResultSchemas, // per-tool result schemas
ToolRegistry, // consolidated { id, args, sse, result } per tool
} from '@yarlisai/ai/copilot'
// Validate an incoming tool_call SSE event end-to-end:
const event = ToolSSESchemas.run_workflow.parse(incoming)
// Normalize a persisted (possibly legacy) model id:
const model = normalizeCopilotModel('claude-4.5-sonnet') // → 'claude-sonnet-4-6'Diese Exporte werden auch vom Paket-Root re-exportiert. Die Host-App verwendet sie
über dünne Shims (apps/sat/lib/copilot/{models,registry}.ts), wodurch ein einziger
importierbarer Vertrag für interne und externe Konsumenten bereitsteht (Voraussetzung für
ADR 0010).