(tool: ToolDefinition, dataProvider: ToolDataProvider)
| 87 | } |
| 88 | |
| 89 | function 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 | |
| 115 | function getChartPayloads(events: AgentCoreEvent[]): ChartPayload[] { |
| 116 | return events |
no test coverage detected