Enhance workflow state tracking by passing and utilizing selection mode in agent runtimes

This commit is contained in:
2026-06-15 15:31:57 +02:00
parent b1eed9f1b6
commit 6450614c5b
2 changed files with 10 additions and 4 deletions

View File

@@ -218,16 +218,17 @@ export function createChatGenerationHandlers({
const currentSelection = getChatWorkflowForSession(sessionId) || { mode: 'direct', workflowId: null }
const originalAssistant = msgs.slice(lastUserIdx + 1).find(message => message?.role === 'assistant')
const originalWorkflowId = originalAssistant?.workflow_id || null
const originalSelectionMode = originalAssistant?.agent_summary?.selection_mode || null
let selection = currentSelection
let workflowRevisionId = null
if (currentSelection.mode === 'automatic' && originalWorkflowId) {
if (currentSelection.mode === 'automatic' && originalSelectionMode === 'automatic' && originalWorkflowId) {
selection = { mode: 'explicit', workflowId: originalWorkflowId }
workflowRevisionId = originalAssistant?.workflow_revision_id || null
} else if (
originalWorkflowId
&& (
(currentSelection.mode === 'explicit' && currentSelection.workflowId === originalWorkflowId)
|| (currentSelection.mode === 'direct' && originalWorkflowId === 'input-output')
(currentSelection.mode === 'explicit' && originalSelectionMode === 'explicit' && currentSelection.workflowId === originalWorkflowId)
|| (currentSelection.mode === 'direct' && originalSelectionMode === 'direct')
)
) {
workflowRevisionId = originalAssistant?.workflow_revision_id || null