Changelog
Cloudflare の新しい更新と改善。RSS を購読 View RSS feeds ← Back to all posts
@cloudflare/codemode v0.2.1: MCP バレルエクスポートの追加、メインエントリーポイントからの ai と zod の必須ピア依存解除、サンドボックスの制御強化
公開日: 2026-03-17
カテゴリ: Agents / Workers
最新の @cloudflare/codemode リリースは、MCP 用の新しいエクスポート、メインエントリーポイントのゼロ依存化(ai と zod を必須にしない)、およびサンドボックスに対するより詳細な制御を提供します。
新しい @cloudflare/codemode/mcp エクスポート
@cloudflare/codemode/mcp の新しいエントリーポイントは、Code Mode で MCP サーバーをラップするための2つの関数を提供します:
codeMcpServer({ server, executor }) — 既存の MCP サーバーをラップし、上流の各ツールを型付けされた codemode.* メソッドとして扱える単一のコードツールに変換します。
openApiMcpServer({ spec, executor, request }) — OpenAPI スペックから検索と実行用の MCP ツールを作成し、ホスト側のリクエストプロキシングと自動 $ref 解決を行います。
JavaScript
import { codeMcpServer } from "@cloudflare/codemode/mcp" ;
import { DynamicWorkerExecutor } from "@cloudflare/codemode" ;
const executor = new DynamicWorkerExecutor ( { loader : env . LOADER } ) ;
const server = await codeMcpServer ( { server : upstreamMcp , executor } ) ;
TypeScript
import { codeMcpServer } from "@cloudflare/codemode/mcp" ;
import { DynamicWorkerExecutor } from "@cloudflare/codemode" ;
const executor = new DynamicWorkerExecutor ( { loader : env . LOADER } ) ;
const server = await codeMcpServer ( { server : upstreamMcp , executor } ) ;
ゼロ依存のメインエントリーポイント
v0.2.0 の破壊的変更: generateTypes と ToolDescriptor / ToolDescriptors 型は @cloudflare/codemode/ai に移動しました。
変更例
JavaScript / TypeScript
import { generateTypes } from "@cloudflare/codemode" ;
import { generateTypes } from "@cloudflare/codemode/ai" ;
メインエントリーポイント(@cloudflare/codemode)はもはや ai や zod を必須のピア依存関係として要求しません。代わりに以下をエクスポートします:
sanitizeToolName — ツール名を有効な JS 識別子にサニタイズします
normalizeCode — LLM が生成したコードを async arrow function に正規化します
generateTypesFromJsonSchema — プレーンな JSON Schema から TypeScript 型定義を生成します
jsonSchemaToType — 単一の JSON Schema を TypeScript 型文字列に変換します
DynamicWorkerExecutor — Sandboxed コード実行(Dynamic Worker Loader 経由)
ToolDispatcher — サンドボックスからホストへツール呼び出しをディスパッチする RPC ターゲット
ai と zod のピア依存関係はオプションになりました — これらは @cloudflare/codemode/ai からインポートする場合にのみ必要です。
カスタムサンドボックスモジュール
DynamicWorkerExecutor はオプションの modules オプションを受け取り、カスタム ES モジュールをサンドボックスに注入できます。
JavaScript
const executor = new DynamicWorkerExecutor ( { loader : env . LOADER , modules : { "utils.js" : `export function add(a, b) { return a + b; }` , }, } ) ;
TypeScript
const executor = new DynamicWorkerExecutor ( { loader : env . LOADER , modules : { "utils.js" : `export function add(a, b) { return a + b; }` , }, } ) ;
この機能により、サンドボックス内のコードからカスタムユーティリティを通常の ES モジュールとしてインポートして利用できます。
内部での正規化とサニタイズ
DynamicWorkerExecutor はコードの正規化とツール名のサニタイズを内部で行うようになりました。これにより、normalizeCode() や sanitizeToolName() を事前に呼び出してから execute() に渡す必要はありません。
アップグレード
ターミナルで次を実行してアップグレードしてください:
npm i @cloudflare/codemode@latest
完全な API リファレンスは Code Mode ドキュメントを参照してください。