33 lines
1.3 KiB
JavaScript
33 lines
1.3 KiB
JavaScript
import "./javascript-repl.js"; // Auto-registers the renderer
|
|
import "./extract-document.js"; // Auto-registers the renderer
|
|
import { getToolRenderer, registerToolRenderer } from "./renderer-registry.js";
|
|
import { BashRenderer } from "./renderers/BashRenderer.js";
|
|
import { DefaultRenderer } from "./renderers/DefaultRenderer.js";
|
|
// Register all built-in tool renderers
|
|
registerToolRenderer("bash", new BashRenderer());
|
|
const defaultRenderer = new DefaultRenderer();
|
|
// Global flag to force default JSON rendering for all tools
|
|
let showJsonMode = false;
|
|
/**
|
|
* Enable or disable show JSON mode
|
|
* When enabled, all tool renderers will use the default JSON renderer
|
|
*/
|
|
export function setShowJsonMode(enabled) {
|
|
showJsonMode = enabled;
|
|
}
|
|
/**
|
|
* Render tool - unified function that handles params, result, and streaming state
|
|
*/
|
|
export function renderTool(toolName, params, result, isStreaming) {
|
|
// If showJsonMode is enabled, always use the default renderer
|
|
if (showJsonMode) {
|
|
return defaultRenderer.render(params, result, isStreaming);
|
|
}
|
|
const renderer = getToolRenderer(toolName);
|
|
if (renderer) {
|
|
return renderer.render(params, result, isStreaming);
|
|
}
|
|
return defaultRenderer.render(params, result, isStreaming);
|
|
}
|
|
export { getToolRenderer, registerToolRenderer };
|
|
//# sourceMappingURL=index.js.map
|