mcpField
I
iii-rust-sdk

iii-rust-sdk

github.com/iii-hq開発219 回インストール
リポジトリ

iii-rust-sdk について

ネイティブの非同期 Rust SDK で worker を iii エンジンに接続する方法を扱うスキルです。iii worker を構築する Rust 開発者向けに、関数登録、トリガーの紐付けと呼び出し、オプションの OpenTelemetry 対応を説明します。

主な機能

  1. 01worker と iii エンジンの接続
  2. 02同期・非同期関数の登録
  3. 03関数へのトリガーの紐付け
  4. 04トリガーリクエストによる関数呼び出し
  5. 05オプションの OpenTelemetry 計装

活用シーン

  1. 01Rust worker の iii への接続
  2. 02非同期関数ハンドラーの登録
  3. 03キューアクションによる関数呼び出し
  4. 04HTTP リクエストでのトレースコンテキスト伝播

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/iii-hq/skills --skill iii-rust-sdk

インストール後、Claude Code で/iii-rust-sdkを入力して読み込まれたか確認します。

詳細

Rust SDK

tokio を介してワーカーを iii エンジンに接続するための、ネイティブな非同期 Rust SDK です。

ドキュメント

API リファレンス全文:https://iii.dev/docs/api-reference/sdk-rust

インストール

Cargo.toml に追加します:

iii-sdk = { version = "0.10", features = ["otel"] }

主な型と関数

エクスポート目的
register_worker(url, InitOptions)エンジンに接続し、III クライアントを返します
III::register_function(RegisterFunction::new(id, handler))ビルダー API を使用して同期関数を登録します
III::register_function(RegisterFunction::new_async(id, handler))ビルダー API を使用して非同期関数を登録します
III::register_function_with(msg, handler)関数登録用の、2 引数の簡易メソッドです
RegisterFunction.description() と schemars による自動生成リクエストスキーマを備えたビルダー
III::register_trigger(type, function_id, config)トリガーを関数にバインドします
III::trigger(TriggerRequest)関数を呼び出します
TriggerAction::Void結果を待たずに実行する呼び出し
TriggerAction::Enqueue { queue }永続化される非同期呼び出し
IIIErrorハンドラーの失敗を表すエラー型
Streamsアトミックなストリームの CRUD を支援するヘルパー
with_span, get_tracer, get_meterOpenTelemetry(otel 機能が必要です)
execute_traced_requestトレースコンテキストを伝播する HTTP クライアント

主な注意事項

  • OpenTelemetry のサポートを有効にするには、Cargo.toml に features = ["otel"] を追加します
  • 同期ハンドラーには RegisterFunction::new("id", handler) を、非同期ハンドラーには RegisterFunction::new_async("id", handler) を使用します
  • schemars::JsonSchema を derive するハンドラーの入力型では、リクエストスキーマが自動生成されます
  • 関数を説明するには、RegisterFunction に .description("...") をチェーンします
  • イベント処理のために tokio ランタイムを稼働したままにします(例:tokio::time::sleep ループ)
  • register_trigger は成功時に Ok(()) を返します。エラーは ? で伝播させます

パターンの範囲

  • 使用パターンと動作するサンプルについては、iii-functions-and-triggers を参照してください
  • Node.js SDK については、iii-node-sdk を参照してください
  • Python SDK については、iii-python-sdk を参照してください

使用する場面

  • 主に iii エンジンの iii-rust-sdk に関するタスクでは、このスキルを使用します。
  • リクエストがこのパターンまたは同等の実装を直接求めている場合に適用します。

適用範囲

  • 無関係なタスクに対する汎用的な代替手段として、このスキルを使用しないでください。
  • より具体的な iii スキルが適している場合は、このスキルを適用しないでください。
  • このスキルのサンプルを適用する前に、必ず環境と安全性の制約を確認してください。

コメント