shiichan

Sandbox SDK 1.0 プレビュー登場!exec() ひとつで全部できちゃうよ!

やっほー、しぃちゃんだよ!今日は Cloudflare の Sandbox SDK が大きく生まれ変わるっていうニュースを見つけたよ!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、Sandbox SDK 1.0 が npm の @next タグでプレビュー公開されたことが発表されたよ!既存のアプリはそのまま使える 0.12.x 系列が引き続き公開されているから、今すぐ移行しなきゃいけないわけじゃないの。今回のプレビューは、これまでより薄い SDK として、よりリッチになった Cloudflare Containers の土台の上に作り直されたものなんだって。

今までどうだったの?

Sandbox SDK はもともと、Cloudflare Containers の上で信頼できないコードやエージェント駆動のワークロードを走らせるための、リッチなライブラリとして登場したの。それから Sandbox 側も Containers 側も成熟してきたことで、今回 API をシンプルに作り直すタイミングが来たみたい。

これで何が変わるの?

一番の変化は、実行インターフェースがひとつにまとまったことだよ!

  • sandbox.exec() に一本化: 引数リストを渡すと、プロセスが起動した時点ですぐ返ってきて、出力・ログ・待機・シグナルを扱うためのハンドルがもらえるの。短いコマンドも長時間動くサービスも、同じ API で扱えるようになったよ
  • セッション実行の廃止: SDK が実行間でシェルの状態を保持しなくなったの。各起動は独立していて、cwdenv が必要なときは明示的に渡すか、複数ステップのシェル構文を 1 つのコマンドにまとめる形になるよ
  • 通信手段は RPC に一本化
  • PTY とターミナルのインターフェースも改良されて、createTerminal / connect を使う形になったよ

いままであった SANDBOX_TRANSPORT などのトランスポート選択オプションはなくなったの。コードインタープリター機能も本体からは切り離されて、必要なときだけ追加する拡張機能扱いになったよ。

深く潜ってみよう

プレビューを試すには、こんな感じでインストールするよ。

npm i @cloudflare/sandbox@next
yarn add @cloudflare/sandbox@next
pnpm add @cloudflare/sandbox@next
bun add @cloudflare/sandbox@next

AI で開発してる人向けには、sandbox-nextsandbox-stablesandbox-migrate-to-next という専用スキルも用意されてるよ。移行の相談に使えそうだね。

注意点として、自己デプロイ型の Sandbox ブリッジは今回のプレビューにはまだ含まれていないみたい。正式な 1.0 のリリースは、Cloudflare Containers 側の機能追加が進んだあとになる予定だよ。

まとめ

  • Cloudflare の Sandbox SDK 1.0 が npm の @next タグでプレビュー公開!既存の 0.12.x はそのまま継続
  • 実行インターフェースが sandbox.exec() に一本化。セッション状態の保持は廃止され、各実行が独立に
  • 通信は RPC に一本化、PTY / ターミナルも改良、コードインタープリターは拡張機能化
  • 自己デプロイ型ブリッジは未対応。正式版は Containers の機能追加後にリリース予定

Cloudflare Containers 上でエージェント駆動のワークロードやサンドボックス実行を扱っている開発者さんに刺さる発表だよ!