ENF News Bot
Automated News Bot
- Joined
- Apr 15, 2022
- Messages
- 2,591
The latest releases of
New
https://developers.cloudflare.com/changelog/rss/#new-cloudflarecodemodemcp-export
A new
Breaking change in v0.2.0:
The main entry point (
The
See the Code Mode documentation for the full API reference.
Continue reading...
@cloudflare/codemode ↗︎ add a new MCP barrel export, remove ai and zod as required peer dependencies from the main entry point, and give you more control over the sandbox.New @cloudflare/codemode/mcp export
https://developers.cloudflare.com/changelog/rss/#new-cloudflarecodemodemcp-exportA new
@cloudflare/codemode/mcp entry point provides two functions that wrap MCP servers with Code Mode:codeMcpServer({ server, executor })— wraps an existing MCP server with a singlecodetool where each upstream tool becomes a typedcodemode.*method.openApiMcpServer({ spec, executor, request })— createssearchandexecuteMCP tools from an OpenAPI spec with host-side request proxying and automatic$refresolution.
Code:
import { codeMcpServer } from "@cloudflare/codemode/mcp";
import { DynamicWorkerExecutor } from "@cloudflare/codemode";
const executor = new DynamicWorkerExecutor({ loader: env.LOADER });
// Wrap an existing MCP server — all its tools become
// typed methods the LLM can call from generated code
const server = await codeMcpServer({ server: upstreamMcp, executor });
Code:
import { codeMcpServer } from "@cloudflare/codemode/mcp";
import { DynamicWorkerExecutor } from "@cloudflare/codemode";
const executor = new DynamicWorkerExecutor({ loader: env.LOADER });
// Wrap an existing MCP server — all its tools become
// typed methods the LLM can call from generated code
const server = await codeMcpServer({ server: upstreamMcp, executor });
Zero-dependency main entry point
https://developers.cloudflare.com/changelog/rss/#zero-dependency-main-entry-pointBreaking change in v0.2.0:
generateTypes and the ToolDescriptor / ToolDescriptors types have moved to @cloudflare/codemode/ai:
Code:
// Before
import { generateTypes } from "@cloudflare/codemode";
// After
import { generateTypes } from "@cloudflare/codemode/ai";
Code:
// Before
import { generateTypes } from "@cloudflare/codemode";
// After
import { generateTypes } from "@cloudflare/codemode/ai";
The main entry point (
@cloudflare/codemode) no longer requires the ai or zod peer dependencies. It now exports:| Export | Description |
|---|---|
sanitizeToolName | Sanitize tool names into valid JS identifiers |
normalizeCode | Normalize LLM-generated code into async arrow functions |
generateTypesFromJsonSchema | Generate TypeScript type definitions from plain JSON Schema |
jsonSchemaToType | Convert a single JSON Schema to a TypeScript type string |
DynamicWorkerExecutor | Sandboxed code execution via Dynamic Worker Loader |
ToolDispatcher | RPC target for dispatching tool calls from sandbox to host |
The
ai and zod peer dependencies are now optional — only required when importing from @cloudflare/codemode/ai.Custom sandbox modules
https://developers.cloudflare.com/changelog/rss/#custom-sandbox-modulesDynamicWorkerExecutor now accepts an optional modules option to inject custom ES modules into the sandbox:
Code:
const executor = new DynamicWorkerExecutor({
loader: env.LOADER,
modules: {
"utils.js": `export function add(a, b) { return a + b; }`,
},
});
// Sandbox code can then: import { add } from "utils.js"
Code:
const executor = new DynamicWorkerExecutor({
loader: env.LOADER,
modules: {
"utils.js": `export function add(a, b) { return a + b; }`,
},
});
// Sandbox code can then: import { add } from "utils.js"
Internal normalization and sanitization
https://developers.cloudflare.com/changelog/rss/#internal-normalization-and-sanitizationDynamicWorkerExecutor now normalizes code and sanitizes tool names internally. You no longer need to call normalizeCode() or sanitizeToolName() before passing code and functions to execute().Upgrade
https://developers.cloudflare.com/changelog/rss/#upgradenpm i @cloudflare/codemode@latestSee the Code Mode documentation for the full API reference.
Continue reading...