メインコンテンツへスキップ

概要

@jinba-toolbox/sdk パッケージは、Jinba Toolboxに登録されたToolを利用するための型安全なクライアントライブラリです。REST APIをラップし、ToolSetの一覧取得、Toolの実行、Versionの管理、実行履歴の取得などの便利なメソッドを提供します。 想定される利用者:
  • Toolを実行するAIエージェント
  • 自動化のためのCLIツール
  • Jinba Toolboxと統合するサードパーティアプリケーション
  • Jinba Toolbox上で開発する開発者

インストール

クイックスタート

1

インポートしてクライアントを作成する

2

ToolSetの一覧を取得する

3

Toolを実行する

クライアント設定

createClient 関数は JinbaTBClientConfig オブジェクトを受け取ります:
SDKに組み込まれているデフォルトの baseUrl は https://toolbox-api.jinba.dev(ステージングAPI)です。本番のToolboxに接続するには、baseUrl に https://toolbox-api.jinba.io を明示的に指定してください。
すべてのオプションを指定した例:
コンストラクタで organizationId を設定すると、個々のメソッド呼び出しで省略できます。すべてのメソッドには、デフォルトをオーバーライドするためのオプションの orgId パラメータも用意されています。

APIリファレンス

組織

listOrganizations() と getOrganization() が呼び出すエンドポイントは、サインイン済みユーザーのセッションを必要とします。APIキー(SDKが送信する唯一の認証情報)では、ステータス 401 の JinbaTBError で失敗します。

ToolSet

Tool

実行

run() は組織の実行エンドポイントに { input, version } を送信します。組織IDはコンストラクタまたは options.orgId で指定する必要があります。

Version

実行履歴

主要な型

RunResult

run() と test() から返されるオブジェクト:

ToolSet

Tool

エラーハンドリング

SDKは非2xxレスポンスに対して JinbaTBError をスローします:
リクエストが設定されたタイムアウトを超えた場合、408ステータスコードがスローされます。APIはRFC 9457 Problem Details(error ではなく detail)で応答するため、error.message は通常 Request failed with status <code> になります。原因で分岐するには statusCode を確認してください(例:クレジット不足は 402)。

ベストプラクティス

  • コンストラクタでデフォルトの organizationId を設定する — すべてのメソッドに渡す手間を省けます。
  • APIキーには環境変数を使用する — 認証情報を絶対にハードコードしないでください。
  • JinbaTBError を適切にハンドリングする — クライアントエラー(4xx)とサーバーエラー(5xx)を区別できます。
  • timeout を延長する — 複雑なSandboxワークロードを実行するToolの場合に有効です。
  • run() 呼び出し時にVersionを指定する — アプリケーションが決定論的な動作に依存する場合に推奨します。

関連ドキュメント