Agents — Sandboxes のリアルタイムファイル監視
Key Points
- inotifyベースのSSEストリーム
- create/modify/delete/moveイベント
- parseSSEStreamでサーバー処理
Summary
Sandboxesでsandbox.watch(path, options)が利用可能になりました。ネイティブinotifyをバックエンドとするServer-Sent Events (SSE) ストリームを返し、コンテナ内のファイル作成・変更・削除・移動イベントをリアルタイムで受信できます。戻り値は標準のReadableStreamで、ブラウザへプロキシするかワーカー内で直接消費できます。
Key Points
- API:
sandbox.watch(path, options)が ReadableStream(SSE)を返す - イベント種類:
create,modify,delete,move(moveはfromフィールドを含む) - オプション:
recursive(boolean、デフォルト false)include(string[]、globパターンでフィルタ。未指定で全イベント)
- ブラウザへ転送例: return new Response(stream, { headers: { "Content-Type": "text/event-stream" } })
- ワーカー内での処理例: for await (const event of parseSSEStream(stream)) { console.log(event.type, event.path) }
- アップデート:
npm i @cloudflare/sandbox@latest
Notes
- フィルタはglobベースです。サブディレクトリも監視する場合は
recursive: trueを指定してください。