Interface: DevServerConfig
Defined in: packages/core/src/server/DevServer.ts:69
Configuration for the development server.
Properties
debounce?
readonly optional debounce: number;Defined in: packages/core/src/server/DevServer.ts:87
Debounce interval in milliseconds. Prevents rapid-fire reloads when editors save multiple files.
Default
300dir
readonly dir: string;Defined in: packages/core/src/server/DevServer.ts:74
Directory to watch for file changes. Relative paths are resolved from the current working directory.
extensions?
readonly optional extensions: string[];Defined in: packages/core/src/server/DevServer.ts:80
File extension filter for watched files.
Default
['.ts', '.js', '.mjs', '.mts']onReload()?
readonly optional onReload: (changedFile) => void;Defined in: packages/core/src/server/DevServer.ts:104
Optional callback when a reload occurs. Useful for logging or triggering downstream updates.
Parameters
| Parameter | Type |
|---|---|
changedFile | string |
Returns
void
registry?
readonly optional registry: ToolRegistryLike;Defined in: packages/core/src/server/DevServer.ts:124
Optional real ToolRegistry reference for hot-reload.
When provided, builders collected during setup() are automatically transferred to this registry after each reload, making hot-reload effective. Without this, the user must close over their own registry in the setup callback (fragile and undocumented pattern).
If the registry implements clear(), old builders are removed before re-registration to avoid duplicates.
server?
readonly optional server: McpServerLike;Defined in: packages/core/src/server/DevServer.ts:111
Optional MCP server reference for sending tool list change notifications. When provided, the dev server sends notifications/tools/list_changed on every reload, so the LLM client picks up changes automatically.
setup()
readonly setup: (registry) => void | Promise<void>;Defined in: packages/core/src/server/DevServer.ts:98
Setup callback invoked on every reload.
Receives a fresh ToolRegistry. The callback should:
- Import/define all tools
- Register them on the registry
This is called on initial startup and on every file change.
Parameters
| Parameter | Type |
|---|---|
registry | ToolRegistryLike |
Returns
void | Promise<void>