containers.tsβ’819 B
// Container class definitions for BYOB MCP Server
import { Container } from "@cloudflare/containers";
/**
* ToolRunner - Universal container for all tools
* Handles multiple operations: echo, uppercase, jq
*/
export class ToolRunner extends Container {
defaultPort = 8080;
sleepAfter = "10m"; // Sleep after 10 minutes of inactivity
override onStart() {
console.log("ToolRunner container started");
}
override onStop() {
console.log("ToolRunner container stopped");
}
override onError(error: unknown) {
console.error("ToolRunner container error:", error);
}
}
/**
* Helper to get container instance
* Since we only have one container type now, this always returns TOOL_RUNNER
*/
export function getContainerBinding(env: any): DurableObjectNamespace {
return env.TOOL_RUNNER;
}