diff --git a/apps/web/package.json b/apps/web/package.json index 656c6aa..0b30f6a 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -34,6 +34,7 @@ "zod": "^4.0.0" }, "devDependencies": { + "@tailwindcss/typography": "^0.5.19", "@tpmjs/eslint-config": "workspace:*", "@tpmjs/tailwind-config": "workspace:*", "@tpmjs/tsconfig": "workspace:*", diff --git a/apps/web/src/components/ToolPlayground.tsx b/apps/web/src/components/ToolPlayground.tsx index 0cacc3b..62b740b 100644 --- a/apps/web/src/components/ToolPlayground.tsx +++ b/apps/web/src/components/ToolPlayground.tsx @@ -8,6 +8,8 @@ import type { TokenBreakdown as TokenData } from '@/lib/ai-agent/tool-executor-agent'; import type { Tool } from '@tpmjs/db'; import { useState } from 'react'; +import ReactMarkdown from 'react-markdown'; +import remarkGfm from 'remark-gfm'; import { TokenBreakdown } from './TokenBreakdown'; interface ToolPlaygroundProps { @@ -119,7 +121,8 @@ export function ToolPlayground({ tool }: ToolPlaygroundProps): React.ReactElemen break; case 'complete': - setOutput(data.output); + // Don't replace output - keep the streamed text + // setOutput(data.output); // Removed: this was overwriting streamed content setTokens(data.tokenBreakdown); setLogs((prev) => [ ...prev, @@ -208,6 +211,7 @@ export function ToolPlayground({ tool }: ToolPlaygroundProps): React.ReactElemen {tabs.map((tab) => (