MyBotBoxMyBotBox

@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 の前提条件)。

関連情報