MyBotBoxMyBotBox

@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/ai

Source: 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).

Siehe auch