MCPcopy Create free account
hub / github.com/ChatLab/ChatLab / adaptTool

Function adaptTool

tests/chart-runtime/real-llm-chart-flow.e2e.test.ts:89–113  ·  view source on GitHub ↗
(tool: ToolDefinition, dataProvider: ToolDataProvider)

Source from the content-addressed store, hash-verified

87}
88
89function adaptTool(tool: ToolDefinition, dataProvider: ToolDataProvider): AgentTool<any, unknown> {
90 return {
91 name: tool.name,
92 label: tool.name,
93 description: tool.description,
94 parameters: convertJsonSchemaToParameters(tool.inputSchema) as any,
95 async execute(_toolCallId: string, params: unknown): Promise<AgentToolResult<unknown>> {
96 const context: ToolExecutionContext = {
97 sessionId: 'real-llm-chart-flow',
98 locale: 'en-US',
99 dataProvider,
100 }
101 const result = await tool.handler((params ?? {}) as Record<string, unknown>, context)
102 return {
103 content: [{ type: 'text', text: result.content }],
104 details: {
105 ...(typeof result.data === 'object' && result.data !== null && !Array.isArray(result.data)
106 ? result.data
107 : {}),
108 ...(result.chart ? { chart: result.chart } : {}),
109 },
110 }
111 },
112 }
113}
114
115function getChartPayloads(events: AgentCoreEvent[]): ChartPayload[] {
116 return events

Callers 1

Calls 1

Tested by

no test coverage detected