MCPcopy
hub / github.com/simstudioai/sim / resolveBranch

Function resolveBranch

apps/sim/lib/copilot/chat/post.ts:558–697  ·  view source on GitHub ↗
(params: {
  authenticatedUserId: string
  workflowId?: string
  workflowName?: string
  workspaceId?: string
  model?: string
  mode?: UnifiedChatRequest['mode']
  provider?: string
})

Source from the content-addressed store, hash-verified

556}
557
558async 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,

Callers 1

handleUnifiedChatPostFunction · 0.85

Calls 5

resolveWorkflowIdForUserFunction · 0.90
createBadRequestResponseFunction · 0.90
getUserEntityPermissionsFunction · 0.90

Tested by

no test coverage detected