Qoder Agent SDK は TypeScript と Python の2言語で提供されます。両者は同じコア機能——Agent ループ、ツール、権限、Hooks、セッション、MCP、Skills、プラグイン——をカバーしますが、API シグネチャ、型定義、命名はそれぞれの言語の慣習に従います(TypeScript は camelCase、Python の公開 options は snake_case)。一部のオプションは片方の言語のみで提供されています。下記の言語間の差分を参照してください。完全な API リファレンスは言語ごとに管理されています:
ほとんどのオプションは両 SDK で一対一に対応しますが、以下は例外です。各言語のリファレンスページが、その言語の機能範囲についての権威となります。
2つの SDK のコア API 対応表です。言語間移行の参考にしてください:
各機能ページには両言語の例がマージされており、コードブロック内で TypeScript / Python を切り替えられます:
言語別リファレンス
| 言語 | リファレンス | パッケージ |
|---|---|---|
| TypeScript | SDK リファレンス - TypeScript | @qoder-ai/qoder-agent-sdk |
| Python | SDK References - Python | qoder-agent-sdk |
言語間の差分
ほとんどのオプションは両 SDK で一対一に対応しますが、以下は例外です。各言語のリファレンスページが、その言語の機能範囲についての権威となります。
TypeScript のみ
| 機能 | オプションまたはメソッド | 備考 |
|---|---|---|
| メモリ | memory、flushMemory()、refreshMemory() | ネイティブまたはアプリケーション主導のメモリを設定 |
| 組み込みツールの挙動 | toolConfig | 組み込みツールの挙動を調整。ツールを参照 |
| セッション永続化の制御 | persistSession、resumeSessionAt、resumeDropsTurn | 再開時に読み込む内容と保持する内容を細かく制御 |
| プロンプトの提案 | promptSuggestions | 後続プロンプトの提案を受信 |
| モデルリクエストの調整 | modelRequestPatches | 送信するモデルリクエストを調整 |
| Hook イベントの選別 | includeHookEvents | メッセージストリームに流す Hook イベントを選択 |
| トランスポートとプロセスの制御 | transport、spawnQoderCLIProcess、executable、executableArgs | ランタイムの起動方法や接続方法を差し替え |
Python のみ
| 機能 | オプション | 備考 |
|---|---|---|
| ファイルからシステムプロンプトを読み込む | system_prompt={"type": "file", "path": ...} | TypeScript には対応する形式がないため、自らファイルを読んで文字列として渡す |
| MCP 認証コールバック | on_mcp_oauth_required | OAuth が必要な場合の入力コールバック。TypeScript はランタイムメソッドで同等の処理を行う |
| MCP ステータスコールバック | on_mcp_status_change | サーバーの状態変化を受け取るコールバック |
| 読み取りバッファ上限 | max_buffer_size | トランスポートの読み取りバッファを制限 |
命名対応表
2つの SDK のコア API 対応表です。言語間移行の参考にしてください:
| 機能 | TypeScript | Python |
|---|---|---|
| 単発クエリ | query() | query() |
| ストリーミング入力 | query() + 非同期メッセージストリーム | QoderSDKClient |
| セッション options | Options(query({ options })) | QoderAgentOptions |
| 認証:環境変数の PAT | accessTokenFromEnv() | access_token_from_env() |
| 認証:PAT を直接渡す | accessToken() | access_token() |
| 認証:Service Account | serviceAccount() | service_account() |
| 認証:ローカルログイン状態 | qodercliAuth() | qodercli_auth() |
| カスタムツール | tool() | @tool() デコレーター |
| インプロセス MCP server | createSdkMcpServer() | create_sdk_mcp_server() |
| 権限コールバック | canUseTool | can_use_tool |
| 現在の応答を中断 | q.interrupt() | client.interrupt() |
| ファイル巻き戻し | q.rewindFiles() | client.rewind_files() |
| MCP 状態クエリ | q.mcpServerStatus() | client.get_mcp_status() |
| 初期化結果 | q.initializationResult() | client.get_server_info() |
| コンテキスト使用量 | q.getContextUsage() | client.get_context_usage() |
| アカウントとセッションの使用量 | q.getUsageInfo() | client.get_usage_info() |
注意:Python のプロトコルレベル構造——AgentDefinition、hooks の出力、settings など——はワイヤプロトコルの camelCase フィールド名(maxTurns、hookSpecificOutputなど)を維持しており、公開 options の snake_case とは異なります。詳細は各機能ページを参照してください。