(params: {
authenticatedUserId: string
workflowId?: string
workflowName?: string
workspaceId?: string
model?: string
mode?: UnifiedChatRequest['mode']
provider?: string
})
| 556 | } |
| 557 | |
| 558 | async function resolveBranch(params: { |
| 559 | authenticatedUserId: string |
| 560 | workflowId?: string |
| 561 | workflowName?: string |
| 562 | workspaceId?: string |
| 563 | model?: string |
| 564 | mode?: UnifiedChatRequest['mode'] |
| 565 | provider?: string |
| 566 | }): Promise<UnifiedChatBranch | NextResponse> { |
| 567 | const { |
| 568 | authenticatedUserId, |
| 569 | workflowId: providedWorkflowId, |
| 570 | workflowName, |
| 571 | workspaceId: requestedWorkspaceId, |
| 572 | model, |
| 573 | mode, |
| 574 | provider, |
| 575 | } = params |
| 576 | |
| 577 | if (providedWorkflowId || workflowName) { |
| 578 | const resolved = await resolveWorkflowIdForUser( |
| 579 | authenticatedUserId, |
| 580 | providedWorkflowId, |
| 581 | workflowName, |
| 582 | requestedWorkspaceId |
| 583 | ) |
| 584 | if (resolved.status !== 'resolved') { |
| 585 | return createBadRequestResponse(resolved.message) |
| 586 | } |
| 587 | |
| 588 | const resolvedWorkflowId = resolved.workflowId |
| 589 | const resolvedWorkspaceId = resolved.workspaceId |
| 590 | |
| 591 | const selectedModel = model || DEFAULT_MODEL |
| 592 | return { |
| 593 | kind: 'workflow', |
| 594 | workflowId: resolvedWorkflowId, |
| 595 | workflowName: resolved.workflowName, |
| 596 | workspaceId: resolvedWorkspaceId, |
| 597 | effectiveModel: selectedModel, |
| 598 | selectedModel, |
| 599 | mode: mode ?? 'agent', |
| 600 | provider, |
| 601 | goRoute: '/api/copilot', |
| 602 | titleModel: selectedModel, |
| 603 | titleProvider: provider, |
| 604 | notifyWorkspaceStatus: false, |
| 605 | buildPayload: async (payloadParams) => |
| 606 | buildCopilotRequestPayload( |
| 607 | { |
| 608 | message: payloadParams.message, |
| 609 | workflowId: payloadParams.workflowId, |
| 610 | workflowName: payloadParams.workflowName, |
| 611 | workspaceId: payloadParams.workspaceId, |
| 612 | userId: payloadParams.userId, |
| 613 | userMessageId: payloadParams.userMessageId, |
| 614 | mode: payloadParams.mode ?? 'agent', |
| 615 | model: selectedModel, |
no test coverage detected