fix(multi-trigger): resolution paths for triggers#3002
Merged
icecrasher321 merged 5 commits intostagingfrom Jan 26, 2026
Merged
fix(multi-trigger): resolution paths for triggers#3002icecrasher321 merged 5 commits intostagingfrom
icecrasher321 merged 5 commits intostagingfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
Greptile OverviewGreptile SummaryThis PR fixes multi-trigger path resolution by ensuring block output schemas are correctly resolved for all blocks (not just executed ones) and that external triggers properly handle structured input formats. Key Changes:
Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Executor as Executor
participant BlockData as collectBlockData
participant GetBlockSchema as getBlockSchema
participant ToolUtils as getTool
participant BlockResolver as BlockResolver
participant StartBlock as buildStartBlockOutput
participant IntegrationTrigger as buildIntegrationTriggerOutput
Note over Executor,IntegrationTrigger: Multi-Trigger Resolution Flow
Executor->>BlockData: collectBlockData(ctx)
activate BlockData
loop For each blockState
BlockData->>BlockData: Collect output data
end
Note over BlockData: NEW: Iterate ALL workflow blocks<br/>(not just executed blocks)
loop For each workflow block
BlockData->>BlockData: Map block names
BlockData->>ToolUtils: getTool(block.config.tool)
ToolUtils-->>BlockData: toolConfig
BlockData->>GetBlockSchema: getBlockSchema(block, toolConfig)
activate GetBlockSchema
alt block.outputs exists
GetBlockSchema-->>BlockData: block.outputs
else toolConfig.outputs exists
GetBlockSchema-->>BlockData: toolConfig.outputs
else
GetBlockSchema-->>BlockData: undefined
end
deactivate GetBlockSchema
BlockData->>BlockData: Store schema for block
end
BlockData-->>Executor: {blockData, blockNameMapping, blockOutputSchemas}
deactivate BlockData
Executor->>BlockResolver: resolve(reference, context)
activate BlockResolver
BlockResolver->>ToolUtils: getTool(toolId)
ToolUtils-->>BlockResolver: toolConfig
BlockResolver->>GetBlockSchema: getBlockSchema(block, toolConfig)
GetBlockSchema-->>BlockResolver: outputSchema
BlockResolver-->>Executor: resolved value
deactivate BlockResolver
Executor->>StartBlock: buildStartBlockOutput(options)
activate StartBlock
alt path === EXTERNAL_TRIGGER
StartBlock->>IntegrationTrigger: buildIntegrationTriggerOutput(input, structured, hasStructured)
activate IntegrationTrigger
alt hasStructured === true
Note over IntegrationTrigger: NEW: Return structured input<br/>for trigger mode blocks
IntegrationTrigger-->>StartBlock: {...structuredInput}
else
IntegrationTrigger-->>StartBlock: workflowInput as object or {}
end
deactivate IntegrationTrigger
else other paths
StartBlock->>StartBlock: Build output per path
end
StartBlock-->>Executor: NormalizedBlockOutput
deactivate StartBlock
|
Collaborator
Author
|
@cursor review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Resolution for multi-trigger paths needs to account for trigger mode + block mapping should have all blocks not just execution path.
Type of Change
Testing
Tested manually
Checklist