@yarlisai/ai
統合LLMポート — OpenAI、Anthropic、Bedrock、Gemini、その他12以上のプロバイダーアダプター。
統合LLMポート — OpenAI、Anthropic、Bedrock、Gemini、その他12以上のプロバイダーアダプター。
インストール
npm install @yarlisai/aiソース: packages/ai ·
npm ·
CHANGELOG
なぜこのパッケージを使うのか
@yarlisai/ai はポート/アダプターコントラクトに従っています。利用者はポート(SomeProvider インターフェース)に依存し、実行時にアダプターをインスタンス化します。ベンダーの切り替えは設定を1行変更するだけで完了します。
使い方
このパッケージのREADMEには完全なクイックスタートが含まれています。mybotbox-platform 自体がリファレンス利用者であり、apps/sat/lib/ai/(または同様の名前のモジュール)では、すべての呼び出し箇所がベンダーSDKを直接使わずにポートを利用する方法が示されています。
Copilotモデルラインナップとツールコントラクト
@yarlisai/ai/copilot サブパスは、Copilotモデルピッカーのラインナップと
ツール呼び出しコントラクトを純粋なデータ + zod スキーマとしてエクスポートします — React不要、アプリのインポート不要 —
そのため、SDKや外部エージェントはプラットフォームが使用するのと同じ信頼できる情報源に対してバリデーションを行えます:
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'これらのエクスポートはパッケージルートからも再エクスポートされています。ホストアプリは薄いシム(apps/sat/lib/copilot/{models,registry}.ts)を通じてそれらを利用しており、内部・外部の両方の利用者に対して単一のインポート可能なコントラクトを維持しています(ADR 0010 の前提条件)。