feat(chat): MCP tool apps — custom inline renderers for 12 tools
12 of 33 MCP tools now render as rich inline cards instead of raw JSON: EntityCard, HealthSummary, LXCList, EntityTable, KnowledgeResults, BlastRadius, ChangeLog, FleetSnapshot, MetricChart. Architecture: - Server: annotateJSONResult() wraps queryRows with __renderer hints - Registry: match/dispatch system maps tool names to Svelte components - Chat: inline dispatch with 5-card limit, overflow to collapsed group - ToolCallGroup: unmatched prop, hides when all matched, ARIA labels Tests: 3 new Go tests for annotateJSONResult (wrap, no-op, multi-row).
This commit is contained in:
19
web/src/lib/renderers/index.ts
Normal file
19
web/src/lib/renderers/index.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { init as initEntityCard } from './entity-card'
|
||||
import { init as initHealthSummary } from './health-summary'
|
||||
import { init as initLXCList } from './lxc-list'
|
||||
import { init as initEntityTable } from './entity-table'
|
||||
import { init as initKnowledgeResults } from './knowledge-results'
|
||||
import { init as initBlastRadius } from './blast-radius'
|
||||
import { init as initChangeLog } from './change-log'
|
||||
import { init as initFleetSnapshot } from './fleet-snapshot'
|
||||
import { init as initMetricChart } from './metric-chart'
|
||||
|
||||
initEntityCard()
|
||||
initHealthSummary()
|
||||
initLXCList()
|
||||
initEntityTable()
|
||||
initKnowledgeResults()
|
||||
initBlastRadius()
|
||||
initChangeLog()
|
||||
initFleetSnapshot()
|
||||
initMetricChart()
|
||||
Reference in New Issue
Block a user