This commit is contained in:
Siddharth Ganesan
2026-02-12 12:05:53 -08:00
parent 433552019e
commit e7abcd34df
3 changed files with 25 additions and 16 deletions

View File

@@ -332,13 +332,11 @@ export const sseHandlers: Record<string, SSEHandler> = {
}
}
if (targetState === ClientToolCallState.success) {
applyToolEffects({
effectsRaw: eventData.effects,
toolCall: updatedMap[toolCallId],
resultPayload,
})
}
applyToolEffects({
effectsRaw: eventData.effects,
toolCall: updatedMap[toolCallId],
resultPayload,
})
}
for (let i = 0; i < context.contentBlocks.length; i++) {

View File

@@ -358,13 +358,11 @@ export const subAgentSSEHandlers: Record<string, SSEHandler> = {
})
}
if (targetState === ClientToolCallState.success) {
applyToolEffects({
effectsRaw: resultData.effects,
toolCall: updatedSubAgentToolCall,
resultPayload,
})
}
applyToolEffects({
effectsRaw: resultData.effects,
toolCall: updatedSubAgentToolCall,
resultPayload,
})
}
updateToolCallWithSubAgentData(context, get, set, parentToolCallId)

View File

@@ -119,7 +119,21 @@ export function applyToolEffects(params: {
resultPayload?: Record<string, unknown>
}): void {
const effects = parseToolEffects(params.effectsRaw)
if (effects.length === 0) return
if (effects.length === 0) {
if (params.toolCall?.name === 'workflow_change' && params.resultPayload) {
const workflowState = resolveWorkflowState({}, params.resultPayload)
if (!workflowState) return
useWorkflowDiffStore
.getState()
.setProposedChanges(workflowState)
.catch((error) => {
logger.error('Failed to apply fallback workflow diff from result payload', {
error: error instanceof Error ? error.message : String(error),
})
})
}
return
}
for (const effect of effects) {
switch (effect.kind) {
@@ -159,4 +173,3 @@ export function applyToolEffects(params: {
}
}
}