(content: Array<Record<string, unknown>>)
| 279 | } |
| 280 | |
| 281 | function extractTextParts(content: Array<Record<string, unknown>>): string { |
| 282 | const parts: string[] = [] |
| 283 | for (const part of content) { |
| 284 | if (part.type === 'text' && typeof part.text === 'string') { |
| 285 | parts.push(part.text) |
| 286 | } else if (part.type === 'json') { |
| 287 | parts.push(typeof part.value === 'string' ? part.value : JSON.stringify(part.value)) |
| 288 | } |
| 289 | } |
| 290 | return parts.join('\n') |
| 291 | } |
| 292 | |
| 293 | async function countTokensViaAnthropic(params: { |
| 294 | messages: TokenCountRequest['messages'] |
no outgoing calls
no test coverage detected