(file: ToolFileValue)
| 336 | }; |
| 337 | |
| 338 | const toolFileContent = (file: ToolFileValue): ContentBlock[] => { |
| 339 | const kind = toolFileKind(file); |
| 340 | if (kind === "image") { |
| 341 | return [{ type: "image", data: file.data, mimeType: file.mimeType }]; |
| 342 | } |
| 343 | if (kind === "audio") { |
| 344 | return [{ type: "audio", data: file.data, mimeType: file.mimeType }]; |
| 345 | } |
| 346 | if (kind === "text") { |
| 347 | return [{ type: "text", text: decodeTextFile(file) }]; |
| 348 | } |
| 349 | return [ |
| 350 | { |
| 351 | type: "resource", |
| 352 | resource: { |
| 353 | uri: fileResourceUri(file), |
| 354 | mimeType: file.mimeType, |
| 355 | blob: file.data, |
| 356 | }, |
| 357 | }, |
| 358 | ]; |
| 359 | }; |
| 360 | |
| 361 | const toolFileSummaryLine = (file: ToolFileValue, index?: number): string => { |
| 362 | const prefix = index === undefined ? "" : `${index + 1}. `; |
no test coverage detected