| 410 | } |
| 411 | |
| 412 | function mapProviderOptions( |
| 413 | msgs: ModelMessage[], |
| 414 | transform: (options: Record<string, any> | undefined) => Record<string, any> | undefined, |
| 415 | ) { |
| 416 | return msgs.map((msg) => { |
| 417 | if (!Array.isArray(msg.content)) return { ...msg, providerOptions: transform(msg.providerOptions) } |
| 418 | return { |
| 419 | ...msg, |
| 420 | providerOptions: transform(msg.providerOptions), |
| 421 | content: msg.content.map((part) => |
| 422 | part.type === "tool-approval-request" || part.type === "tool-approval-response" |
| 423 | ? part |
| 424 | : { ...part, providerOptions: transform(part.providerOptions) }, |
| 425 | ), |
| 426 | } as typeof msg |
| 427 | }) |
| 428 | } |
| 429 | |
| 430 | export function message(msgs: ModelMessage[], model: Provider.Model, options: Record<string, unknown>) { |
| 431 | msgs = unsupportedParts(msgs, model) |