契約を定義
必要な能力を先に定義し、テキスト、画像、構造化出力、ツール、ストリーム、状態、非同期をrequired、optional、unsupportedに分けます。
秘密を守る
提供元ごとに秘密、予算、警告、ローテーションを分け、サーバーで暗号化します。ブラウザには設定状態と末尾だけを返します。
能力を記録
モデルごとに入力、ツール、構造化出力、ストリーム、状態、制限、版、終了日を記録し、最小リクエストで権限も確認します。
リクエスト変換
共通の業務リクエストを持ちながら、役割、内容ブロック、ツール、状態の違いはadapterに残します。
レスポンス統一
text、structured、toolCalls、finishReason、usage、request ID、status、warningsを統一し、元イベントも保持します。
障害テスト
認証と権限は再試行せず、制限は待機し、ネットワークと5xxは有限回だけ再試行します。固定テストを毎回実行します。
