({
userId,
stripeCustomerId,
agentId,
clientId,
clientRequestId,
costMode,
startTime,
request,
originalModel,
data,
state,
logger,
insertMessage,
}: {
userId: string
stripeCustomerId?: string | null
agentId: string
clientId: string | null
clientRequestId: string | null
costMode: string | undefined
startTime: Date
request: unknown
originalModel: string
data: Record<string, unknown>
state: StreamState
logger: Logger
insertMessage: InsertMessageBigqueryFn
})
| 566 | } |
| 567 | |
| 568 | async function handleResponse({ |
| 569 | userId, |
| 570 | stripeCustomerId, |
| 571 | agentId, |
| 572 | clientId, |
| 573 | clientRequestId, |
| 574 | costMode, |
| 575 | startTime, |
| 576 | request, |
| 577 | originalModel, |
| 578 | data, |
| 579 | state, |
| 580 | logger, |
| 581 | insertMessage, |
| 582 | }: { |
| 583 | userId: string |
| 584 | stripeCustomerId?: string | null |
| 585 | agentId: string |
| 586 | clientId: string | null |
| 587 | clientRequestId: string | null |
| 588 | costMode: string | undefined |
| 589 | startTime: Date |
| 590 | request: unknown |
| 591 | originalModel: string |
| 592 | data: Record<string, unknown> |
| 593 | state: StreamState |
| 594 | logger: Logger |
| 595 | insertMessage: InsertMessageBigqueryFn |
| 596 | }): Promise<{ state: StreamState; billedCredits?: number }> { |
| 597 | state = handleStreamChunk({ |
| 598 | data, |
| 599 | state, |
| 600 | startTime, |
| 601 | logger, |
| 602 | userId, |
| 603 | agentId, |
| 604 | model: originalModel, |
| 605 | }) |
| 606 | |
| 607 | if ( |
| 608 | 'error' in data || |
| 609 | !data.usage || |
| 610 | state.billedAlready || |
| 611 | !isFinalChunk(data) |
| 612 | ) { |
| 613 | if (data.usage && (!isFinalChunk(data) || state.billedAlready)) { |
| 614 | delete data.usage |
| 615 | } |
| 616 | return { state } |
| 617 | } |
| 618 | |
| 619 | const usageData = extractUsageAndCost( |
| 620 | data.usage as Record<string, unknown>, |
| 621 | originalModel, |
| 622 | ) |
| 623 | const messageId = typeof data.id === 'string' ? data.id : 'unknown' |
| 624 | |
| 625 | state.billedAlready = true |
no test coverage detected