fix(workflow): use $sourceDescriptions for workflow references#2867
fix(workflow): use $sourceDescriptions for workflow references#2867harshit078 wants to merge 12 commits into
Conversation
🦋 Changeset detectedLatest commit: 2658393 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Hi @DmitryAnansky , Can you review the PR and check it ? Thanks ! |
Performance Benchmark (Lower is Faster)
|
| if (workflow) { | ||
| return workflow; | ||
| } | ||
| } |
There was a problem hiding this comment.
Probably we need to handle case with
if (isLegacyForm) {
return undefined;
}
|
Could you please update existing tests to use correct and not legacy format? |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 2658393. Configure here.

What/Why/How?
$sourceDescriptions.<name>.<workflowId>.$sourceDescriptions.<name>.workflows.<workflowId>form is still maintained.Reference
#2826
Testing
Screenshots (optional)
Check yourself
Security
Note
Medium Risk
Workflow resolution behavior changed in a core context-parser path used when steps invoke external Arazzo workflows; legacy references are preserved but the new spec-form field fallback could surprise callers if a segment collides with a non-workflow property name.
Overview
Respect now resolves external workflow references using the Arazzo-compliant path
$sourceDescriptions.<name>.<workflowId>, without the intermediate.workflows.segment.get-value-from-contextwas broadened to handle both the new spec form (3 path segments) and the legacy form$sourceDescriptions.<name>.workflows.<workflowId>. For the spec form, it looks up a matching workflow byworkflowIdfirst; if none matches, it falls back to a property on the source description (e.g.$sourceDescriptions.test.url). The legacy form still only resolves workflows and does not use that field fallback.Tests and integration examples were updated to the spec-style references, with explicit coverage that the legacy syntax still works.
Reviewed by Cursor Bugbot for commit 2658393. Bugbot is set up for automated code reviews on this repo. Configure here.