OptionaldebounceMs?: numberOptionalfilter?: ToolFilterOptionalname?: stringProgram, command, option, or argument name as declared in its containing type.
OptionalonChange?: (loaded: { tools: Tool[]; tree: Group }) => voidOptionalonError?: (cmd: Command | null, err: Error) => void
loadTools, then reload whenever something under the tools directory changes, calling
onChangewhen the set of tools (or their schemas or descriptions) differs. Changes are debounced, so a burst of writes (an editor saving, a checkout) reloads once. A reload that fails keeps the previous set and is reported toonError.