mirror of
https://github.com/harivansh-afk/clanker-agent.git
synced 2026-04-15 07:04:45 +00:00
move pi-mono into companion-cloud as apps/companion-os
- Copy all pi-mono source into apps/companion-os/ - Update Dockerfile to COPY pre-built binary instead of downloading from GitHub Releases - Update deploy-staging.yml to build pi from source (bun compile) before Docker build - Add apps/companion-os/** to path triggers - No more cross-repo dispatch needed Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
0250f72976
579 changed files with 206942 additions and 0 deletions
46
packages/web-ui/src/tools/index.ts
Normal file
46
packages/web-ui/src/tools/index.ts
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
import type { ToolResultMessage } from "@mariozechner/pi-ai";
|
||||
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";
|
||||
import type { ToolRenderResult } from "./types.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: boolean): void {
|
||||
showJsonMode = enabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render tool - unified function that handles params, result, and streaming state
|
||||
*/
|
||||
export function renderTool(
|
||||
toolName: string,
|
||||
params: any | undefined,
|
||||
result: ToolResultMessage | undefined,
|
||||
isStreaming?: boolean,
|
||||
): ToolRenderResult {
|
||||
// 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 };
|
||||
Loading…
Add table
Add a link
Reference in a new issue