({
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
})
| 586 | } |
| 587 | |
| 588 | async function handleResponse({ |
| 589 | userId, |
| 590 | stripeCustomerId, |
| 591 | agentId, |
| 592 | clientId, |
| 593 | clientRequestId, |
| 594 | costMode, |
| 595 | startTime, |
| 596 | request, |
| 597 | originalModel, |
| 598 | data, |
| 599 | state, |
| 600 | logger, |
| 601 | insertMessage, |
| 602 | }: { |
| 603 | userId: string |
| 604 | stripeCustomerId?: string | null |
| 605 | agentId: string |
| 606 | clientId: string | null |
| 607 | clientRequestId: string | null |
| 608 | costMode: string | undefined |
| 609 | startTime: Date |
| 610 | request: unknown |
| 611 | originalModel: string |
| 612 | data: Record<string, unknown> |
| 613 | state: StreamState |
| 614 | logger: Logger |
| 615 | insertMessage: InsertMessageBigqueryFn |
| 616 | }): Promise<{ state: StreamState; billedCredits?: number }> { |
| 617 | state = handleStreamChunk({ |
| 618 | data, |
| 619 | state, |
| 620 | startTime, |
| 621 | logger, |
| 622 | userId, |
| 623 | agentId, |
| 624 | model: originalModel, |
| 625 | }) |
| 626 | |
| 627 | if ( |
| 628 | 'error' in data || |
| 629 | !data.usage || |
| 630 | state.billedAlready || |
| 631 | !isFinalChunk(data) |
| 632 | ) { |
| 633 | if (data.usage && (!isFinalChunk(data) || state.billedAlready)) { |
| 634 | delete data.usage |
| 635 | } |
| 636 | return { state } |
| 637 | } |
| 638 | |
| 639 | const usageData = extractUsageAndCost( |
| 640 | data.usage as Record<string, unknown>, |
| 641 | originalModel, |
| 642 | ) |
| 643 | const messageId = typeof data.id === 'string' ? data.id : 'unknown' |
| 644 | |
| 645 | state.billedAlready = true |
no test coverage detected