MyBotBoxMyBotBox

@yarlisai/ai

Port LLM unifié — OpenAI, Anthropic, Bedrock, Gemini, et 12 autres adaptateurs de fournisseurs.

Port LLM unifié — OpenAI, Anthropic, Bedrock, Gemini, et 12 autres adaptateurs de fournisseurs.

Installation

npm install @yarlisai/ai

Source : packages/ai · npm · CHANGELOG

Pourquoi

@yarlisai/ai suit le contrat port/adaptateur : les consommateurs dépendent d'un port (interface SomeProvider) et instancient un adaptateur à l'exécution. Changer de fournisseur ne nécessite qu'une seule modification de configuration.

Utilisation

Le README du package inclut un démarrage rapide complet. mybotbox-platform lui-même est le consommateur de référence — apps/sat/lib/ai/ (ou un module portant un nom similaire) montre comment chaque point d'appel utilise le port plutôt que le SDK d'un fournisseur directement.

Sélection de modèles Copilot et contrat d'outils

Le sous-chemin @yarlisai/ai/copilot exporte la sélection de modèles du sélecteur Copilot et le contrat d'appel d'outils sous forme de données pures + schémas zod — sans React, sans imports applicatifs — afin que les SDK et les agents externes puissent valider leur conformité à la même source de vérité que celle utilisée par la plateforme :

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'

Ces exports sont également ré-exportés depuis la racine du package. L'application hôte les consomme via de minces adaptateurs (apps/sat/lib/copilot/{models,registry}.ts), maintenant ainsi un contrat importable unique pour les consommateurs internes comme externes (prérequis pour ADR 0010).

Voir aussi