(tableId: string)
| 5 | const logger = createLogger('SchemaEnrichers') |
| 6 | |
| 7 | async function fetchTableSchema(tableId: string): Promise<TableSummary | null> { |
| 8 | try { |
| 9 | const { buildAuthHeaders, buildAPIUrl } = await import('@/executor/utils/http') |
| 10 | |
| 11 | const headers = await buildAuthHeaders() |
| 12 | const url = buildAPIUrl(`/api/table/${tableId}/schema`) |
| 13 | |
| 14 | const response = await fetch(url.toString(), { headers }) |
| 15 | if (!response.ok) { |
| 16 | logger.warn(`Failed to fetch table schema for ${tableId}: ${response.status}`) |
| 17 | return null |
| 18 | } |
| 19 | |
| 20 | const result = await response.json() |
| 21 | const data = result.data || result |
| 22 | |
| 23 | return { |
| 24 | name: data.name || 'Table', |
| 25 | columns: data.columns || [], |
| 26 | } |
| 27 | } catch (error) { |
| 28 | logger.error('Failed to fetch table schema:', error) |
| 29 | return null |
| 30 | } |
| 31 | } |
| 32 | |
| 33 | export async function enrichTableToolSchema( |
| 34 | tableId: string, |
no test coverage detected