拡張機能は、任意の機能を Sandbox のサブクラスに入れ子の名前空間として追加します(例: sandbox.interpreter.*)。アプリ全体で使えるグローバル関数ではありません。
import { Sandbox as BaseSandbox } from "@cloudflare/sandbox";
import { withInterpreter } from "@cloudflare/sandbox/interpreter";
export class Sandbox extends BaseSandbox {
interpreter = withInterpreter(this);
}import { Sandbox as BaseSandbox } from "@cloudflare/sandbox";
import { withInterpreter } from "@cloudflare/sandbox/interpreter";
export class Sandbox extends BaseSandbox<Env> {
interpreter = withInterpreter(this);
}このクラスを Worker からエクスポートします。アプリのコードからは、入れ子のプロパティ経由で拡張機能のメソッドを呼び出します。
プレビューパッケージでは、次のファーストパーティ拡張機能を利用できます。
| 拡張機能 | パッケージ | ドキュメント |
|---|---|---|
| Code interpreter | @cloudflare/sandbox/interpreter |
Code interpreter、Interpreter API |
| OpenCode | @cloudflare/sandbox/opencode |
インストール済みの @next バージョンでエクスポートを確認してください(例: withOpenCode とクライアント / プロキシ用ヘルパー)。 |
インタープリターは一度追加したあと、安定版パッケージと同じメソッド名(createCodeContext、runCode、および関連する呼び出し)を sandbox.interpreter で使います。Python には -python イメージバリアントが必要です。手順の全体は Code interpreter を参照してください。
アプリ側で定義する拡張機能は試験的です。ヘルパーは @cloudflare/sandbox/extensions にありますが、プレビューのドキュメントではカスタム拡張機能の作成や公開はまだ扱っていません。表のファーストパーティ拡張機能を使うか、対応する作成ガイドが出るまでカスタムコードはアプリ内に置いてください。