Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
ad8b7f1
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Jan 27, 2026
e0cb61b
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Jan 28, 2026
051cadc
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Jan 29, 2026
af8ac1f
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Jan 29, 2026
e68e7d2
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Jan 30, 2026
8305e5b
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Jan 30, 2026
f3da688
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Jan 31, 2026
f8ee413
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 1, 2026
589cbd7
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 2, 2026
e979fdf
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 3, 2026
d4baed2
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 6, 2026
53503a4
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 10, 2026
d51e2e4
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 13, 2026
5123088
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 13, 2026
dd1a307
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 13, 2026
00bcfcd
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 14, 2026
f6a157b
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 15, 2026
816f35b
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 16, 2026
2b87dce
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 17, 2026
146de28
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 18, 2026
0ef6455
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 18, 2026
2d8c690
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 18, 2026
3513471
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 20, 2026
0f5d29e
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 20, 2026
c76001e
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 23, 2026
f97184f
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 24, 2026
f71c531
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 25, 2026
530e598
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 25, 2026
ea38511
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Feb 27, 2026
19b1a3f
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 2, 2026
757bfdb
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 2, 2026
5fb4cfb
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 3, 2026
cb5adc3
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 3, 2026
046fdbc
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 3, 2026
2a7884f
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 3, 2026
60ecae6
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 5, 2026
71a6e95
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 6, 2026
25fb139
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 9, 2026
8fe6a36
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 9, 2026
d7cb1a3
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 10, 2026
99b34fe
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 10, 2026
e63bfca
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 11, 2026
810af84
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 11, 2026
67142f9
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 11, 2026
58b47e7
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 12, 2026
4dfac66
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 12, 2026
a423b68
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 13, 2026
b8f1f2e
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 13, 2026
30fe808
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 13, 2026
972c20b
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 13, 2026
0c882fb
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 13, 2026
e8d3775
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 16, 2026
29a316d
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 16, 2026
70b3e67
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 17, 2026
d97b801
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 17, 2026
e50f179
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 18, 2026
f6f1a4e
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 18, 2026
6bc491f
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 18, 2026
bacb19e
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 18, 2026
6a97701
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 20, 2026
d64bb0e
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 20, 2026
04ef7fd
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 22, 2026
9748e93
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 24, 2026
27a5ca6
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 24, 2026
c0fcfbd
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 26, 2026
3c9b9f5
Merge branch 'main' of github.com:vercel/workflow
karthikscale3 Mar 26, 2026
bf150be
fix(builders): improve workflow extraction for complex workflows
karthikscale3 Mar 27, 2026
6f74432
Merge branch 'main' of github.com:vercel/workflow into karthik/builde…
karthikscale3 Mar 27, 2026
7f78b46
add changeset
karthikscale3 Mar 27, 2026
5e5485a
fix step extraction regex
karthikscale3 Mar 27, 2026
1a79f58
fix step extraction regex
karthikscale3 Mar 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/grumpy-candies-visit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@workflow/builders": patch
---

improve workflow extraction for complex control flow
33 changes: 30 additions & 3 deletions packages/builders/src/base-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1304,7 +1304,10 @@ export const OPTIONS = handler;`;
workflows: WorkflowManifest['workflows'],
graphs: Record<
string,
Record<string, { graph: { nodes: any[]; edges: any[] } }>
Record<
string,
{ workflowId?: string; graph: { nodes: any[]; edges: any[] } }
>
>
): Record<
string,
Expand All @@ -1328,7 +1331,10 @@ export const OPTIONS = handler;`;
// Normalize by stripping leading "./" and file extensions.
const normalizedGraphs = new Map<
string,
Record<string, { graph: { nodes: any[]; edges: any[] } }>
Record<
string,
{ workflowId?: string; graph: { nodes: any[]; edges: any[] } }
>
>();
for (const [graphPath, graphEntries] of Object.entries(graphs)) {
const normalized = graphPath
Expand All @@ -1337,6 +1343,25 @@ export const OPTIONS = handler;`;
normalizedGraphs.set(normalized, graphEntries);
}

// Build a workflowId-based lookup as a fallback for cases where the graph
// extractor path segment (e.g. "pkg@version") doesn't match the manifest
// file path (e.g. "dist/src/workflow.js"). This happens when workflowIds
// use package-scoped identifiers instead of file paths.
const graphByWorkflowId = new Map<
string,
{ graph: { nodes: any[]; edges: any[] } }
>();
for (const graphEntries of Object.values(graphs)) {
for (const [, entry] of Object.entries(graphEntries)) {
if (entry.workflowId) {
graphByWorkflowId.set(
entry.workflowId,
entry as { graph: { nodes: any[]; edges: any[] } }
);
}
}
}

for (const [filePath, entries] of Object.entries(workflows)) {
result[filePath] = {};
// Normalize the manifest file path for lookup
Expand All @@ -1348,9 +1373,11 @@ export const OPTIONS = handler;`;
graphs[filePath] || normalizedGraphs.get(normalizedFilePath);

for (const [name, data] of Object.entries(entries)) {
const graphFromPath = graphEntries?.[name]?.graph;
const graphFromId = graphByWorkflowId.get(data.workflowId)?.graph;
result[filePath][name] = {
workflowId: data.workflowId,
graph: graphEntries?.[name]?.graph || { nodes: [], edges: [] },
graph: graphFromPath || graphFromId || { nodes: [], edges: [] },
};
}
}
Expand Down
Loading
Loading