@workflow/next 5.0.0-beta.0 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"builder-deferred.d.ts","sourceRoot":"","sources":["../src/builder-deferred.ts"],"names":[],"mappings":"AA+CA,wBAAsB,sBAAsB,iBAk+D3C"}
1
+ {"version":3,"file":"builder-deferred.d.ts","sourceRoot":"","sources":["../src/builder-deferred.ts"],"names":[],"mappings":"AAkDA,wBAAsB,sBAAsB,iBAosE3C"}
@@ -9,9 +9,11 @@ const node_fs_1 = require("node:fs");
9
9
  const promises_1 = require("node:fs/promises");
10
10
  const node_os_1 = __importDefault(require("node:os"));
11
11
  const node_path_1 = require("node:path");
12
+ const enhanced_resolve_1 = __importDefault(require("enhanced-resolve"));
12
13
  const socket_server_js_1 = require("./socket-server.js");
13
14
  const step_copy_utils_js_1 = require("./step-copy-utils.js");
14
15
  const ROUTE_STUB_FILE_MARKER = 'WORKFLOW_ROUTE_STUB_FILE';
16
+ const ROUTE_STUB_MARKER_SCAN_BYTES = 4 * 1024;
15
17
  let CachedNextBuilderDeferred;
16
18
  // Create the deferred Next builder dynamically by extending the ESM BaseBuilder.
17
19
  // Exported as getNextBuilderDeferred() to allow CommonJS modules to import from
@@ -20,9 +22,46 @@ async function getNextBuilderDeferred() {
20
22
  if (CachedNextBuilderDeferred) {
21
23
  return CachedNextBuilderDeferred;
22
24
  }
23
- const { BaseBuilder: BaseBuilderClass, STEP_QUEUE_TRIGGER, WORKFLOW_QUEUE_TRIGGER, applySwcTransform, detectWorkflowPatterns, getImportPath, isWorkflowSdkFile, resolveWorkflowAliasRelativePath,
25
+ const { BaseBuilder: BaseBuilderClass, STEP_QUEUE_TRIGGER, WORKFLOW_QUEUE_TRIGGER, applySwcTransform, detectWorkflowPatterns, getImportPath, resolveWorkflowAliasRelativePath,
24
26
  // biome-ignore lint/security/noGlobalEval: Need to use eval here to avoid TypeScript from transpiling the import statement into `require()`
25
27
  } = (await eval('import("@workflow/builders")'));
28
+ // Shared resolve options matching the configuration used by the SWC
29
+ // esbuild plugin (swc-esbuild-plugin.ts) for consistent resolution
30
+ // semantics across the toolchain.
31
+ const NODE_RESOLVE_OPTIONS = {
32
+ dependencyType: 'commonjs',
33
+ modules: ['node_modules'],
34
+ exportsFields: ['exports'],
35
+ importsFields: ['imports'],
36
+ conditionNames: ['node', 'require'],
37
+ descriptionFiles: ['package.json'],
38
+ extensions: [
39
+ '.ts',
40
+ '.tsx',
41
+ '.mts',
42
+ '.cts',
43
+ '.cjs',
44
+ '.mjs',
45
+ '.js',
46
+ '.jsx',
47
+ '.json',
48
+ '.node',
49
+ ],
50
+ enforceExtensions: false,
51
+ symlinks: true,
52
+ mainFields: ['main'],
53
+ mainFiles: ['index'],
54
+ roots: [],
55
+ fullySpecified: false,
56
+ preferRelative: false,
57
+ preferAbsolute: false,
58
+ restrictions: [],
59
+ };
60
+ const NODE_ESM_RESOLVE_OPTIONS = {
61
+ ...NODE_RESOLVE_OPTIONS,
62
+ dependencyType: 'esm',
63
+ conditionNames: ['node', 'import'],
64
+ };
26
65
  class NextDeferredBuilder extends BaseBuilderClass {
27
66
  socketIO;
28
67
  discoveredWorkflowFiles = new Set();
@@ -34,6 +73,11 @@ async function getNextBuilderDeferred() {
34
73
  cacheWriteTimer = null;
35
74
  deferredRebuildTimer = null;
36
75
  lastDeferredBuildSignature = null;
76
+ // Lazily initialized resolvers for bare specifier rewriting.
77
+ // Cached to avoid re-creating on every import rewrite.
78
+ esmSyncResolver;
79
+ cjsSyncResolver;
80
+ manifestStepResolveBaseDirs = null;
37
81
  async build() {
38
82
  const outputDir = await this.findAppDirectory();
39
83
  await this.initializeDiscoveryState();
@@ -70,7 +114,9 @@ async function getNextBuilderDeferred() {
70
114
  for (let buildPass = 0; buildPass < maxBuildPasses; buildPass++) {
71
115
  const inputFiles = this.getCurrentInputFiles(implicitStepFiles);
72
116
  const buildSignature = await this.createDeferredBuildSignature(inputFiles);
73
- if (buildSignature === this.lastDeferredBuildSignature) {
117
+ const shouldForceBuildForGeneratedRoutes = await this.shouldForceBuildForGeneratedRoutes();
118
+ if (buildSignature === this.lastDeferredBuildSignature &&
119
+ !shouldForceBuildForGeneratedRoutes) {
74
120
  return;
75
121
  }
76
122
  try {
@@ -107,6 +153,53 @@ async function getNextBuilderDeferred() {
107
153
  const workflowStdlibPath = this.resolveWorkflowStdlibStepFilePath();
108
154
  return workflowStdlibPath ? [workflowStdlibPath] : [];
109
155
  }
156
+ async shouldForceBuildForGeneratedRoutes() {
157
+ const outputDir = await this.findAppDirectory();
158
+ const generatedRouteFiles = [
159
+ (0, node_path_1.join)(outputDir, '.well-known/workflow/v1/flow/route.js'),
160
+ (0, node_path_1.join)(outputDir, '.well-known/workflow/v1/step/route.js'),
161
+ (0, node_path_1.join)(outputDir, '.well-known/workflow/v1/webhook/[token]/route.js'),
162
+ ];
163
+ for (const routeFilePath of generatedRouteFiles) {
164
+ const routeState = await this.getGeneratedRouteState(routeFilePath);
165
+ if (routeState === 'missing') {
166
+ return true;
167
+ }
168
+ if (routeState === 'stub') {
169
+ return true;
170
+ }
171
+ }
172
+ return false;
173
+ }
174
+ async getGeneratedRouteState(routeFilePath) {
175
+ let routeStats;
176
+ try {
177
+ routeStats = await (0, promises_1.stat)(routeFilePath);
178
+ }
179
+ catch {
180
+ return 'missing';
181
+ }
182
+ if (!routeStats.isFile()) {
183
+ return 'missing';
184
+ }
185
+ try {
186
+ const routeFileHandle = await (0, promises_1.open)(routeFilePath, 'r');
187
+ try {
188
+ const markerScanBuffer = Buffer.alloc(ROUTE_STUB_MARKER_SCAN_BYTES);
189
+ const { bytesRead } = await routeFileHandle.read(markerScanBuffer, 0, ROUTE_STUB_MARKER_SCAN_BYTES, 0);
190
+ const markerScanSource = markerScanBuffer.toString('utf8', 0, bytesRead);
191
+ return markerScanSource.includes(ROUTE_STUB_FILE_MARKER)
192
+ ? 'stub'
193
+ : 'generated';
194
+ }
195
+ finally {
196
+ await routeFileHandle.close();
197
+ }
198
+ }
199
+ catch {
200
+ return 'missing';
201
+ }
202
+ }
110
203
  resolveWorkflowStdlibStepFilePath() {
111
204
  let workflowCjsEntry;
112
205
  try {
@@ -175,22 +268,20 @@ async function getNextBuilderDeferred() {
175
268
  return null;
176
269
  }
177
270
  if (!validatePatterns) {
178
- const isSdkFile = isWorkflowSdkFile(filePath);
179
271
  return {
180
272
  filePath,
181
273
  hasUseWorkflow: candidates.hasWorkflowCandidate,
182
274
  hasUseStep: candidates.hasStepCandidate,
183
- hasSerde: candidates.hasSerdeCandidate && !isSdkFile,
275
+ hasSerde: candidates.hasSerdeCandidate,
184
276
  };
185
277
  }
186
278
  const source = await (0, promises_1.readFile)(filePath, 'utf-8');
187
279
  const patterns = detectWorkflowPatterns(source);
188
- const isSdkFile = isWorkflowSdkFile(filePath);
189
280
  return {
190
281
  filePath,
191
282
  hasUseWorkflow: patterns.hasUseWorkflow,
192
283
  hasUseStep: patterns.hasUseStep,
193
- hasSerde: patterns.hasSerde && !isSdkFile,
284
+ hasSerde: patterns.hasSerde,
194
285
  };
195
286
  }
196
287
  catch {
@@ -322,8 +413,11 @@ async function getNextBuilderDeferred() {
322
413
  routeFileName: tempRouteFileName,
323
414
  discoveredEntries,
324
415
  };
325
- const { manifest: stepsManifest } = await this.buildStepsFunction(options);
326
416
  const workflowsBundle = await this.buildWorkflowsFunction(options);
417
+ const { manifest: stepsManifest } = await this.buildStepsFunction({
418
+ ...options,
419
+ additionalStepSourceManifest: workflowsBundle?.manifest,
420
+ });
327
421
  await this.buildWebhookRoute({
328
422
  workflowGeneratedDir,
329
423
  routeFileName: tempRouteFileName,
@@ -451,11 +545,7 @@ async function getNextBuilderDeferred() {
451
545
  if (hasCacheTrackingChange) {
452
546
  this.scheduleWorkflowsCacheWrite();
453
547
  }
454
- if (hasWorkflow ||
455
- hasStep ||
456
- hasSerde ||
457
- hasCacheTrackingChange ||
458
- wasTrackedDependency) {
548
+ if (hasCacheTrackingChange || wasTrackedDependency) {
459
549
  this.scheduleDeferredRebuild();
460
550
  }
461
551
  },
@@ -470,7 +560,8 @@ async function getNextBuilderDeferred() {
470
560
  return;
471
561
  }
472
562
  await this.loadWorkflowsCache();
473
- await this.loadDiscoveredEntriesFromInputGraph();
563
+ // Deferred mode must not run eager input-graph discovery; entries are
564
+ // discovered via loader->socket notifications during Next's build.
474
565
  this.cacheInitialized = true;
475
566
  }
476
567
  getDistDir() {
@@ -483,9 +574,38 @@ async function getNextBuilderDeferred() {
483
574
  return (0, node_path_1.join)(this.config.workingDir, this.getDistDir(), 'cache', 'workflow-socket.json');
484
575
  }
485
576
  normalizeDiscoveredFilePath(filePath) {
486
- return (0, node_path_1.isAbsolute)(filePath)
577
+ const resolvedPath = (0, node_path_1.isAbsolute)(filePath)
487
578
  ? filePath
488
579
  : (0, node_path_1.resolve)(this.config.workingDir, filePath);
580
+ try {
581
+ return (0, node_fs_1.realpathSync)(resolvedPath);
582
+ }
583
+ catch {
584
+ return resolvedPath;
585
+ }
586
+ }
587
+ getManifestStepResolveBaseDirs() {
588
+ if (this.manifestStepResolveBaseDirs) {
589
+ return this.manifestStepResolveBaseDirs;
590
+ }
591
+ const resolveBaseDirs = new Set();
592
+ const addResolveBaseDir = (baseDir) => {
593
+ resolveBaseDirs.add(this.normalizeDiscoveredFilePath(baseDir));
594
+ };
595
+ if (this.config.projectRoot) {
596
+ addResolveBaseDir(this.config.projectRoot);
597
+ }
598
+ let currentResolveDir = this.config.workingDir;
599
+ while (currentResolveDir) {
600
+ addResolveBaseDir(currentResolveDir);
601
+ const parentResolveDir = (0, node_path_1.dirname)(currentResolveDir);
602
+ if (parentResolveDir === currentResolveDir) {
603
+ break;
604
+ }
605
+ currentResolveDir = parentResolveDir;
606
+ }
607
+ this.manifestStepResolveBaseDirs = Array.from(resolveBaseDirs);
608
+ return this.manifestStepResolveBaseDirs;
489
609
  }
490
610
  async filterExistingFiles(filePaths) {
491
611
  const normalizedFilePaths = Array.from(new Set(filePaths.map((filePath) => this.normalizeDiscoveredFilePath(filePath)))).sort();
@@ -683,41 +803,6 @@ async function getNextBuilderDeferred() {
683
803
  this.discoveredSerdeFiles.add(filePath);
684
804
  }
685
805
  }
686
- async loadDiscoveredEntriesFromInputGraph() {
687
- const inputFiles = await this.getInputFiles();
688
- if (inputFiles.length === 0) {
689
- return;
690
- }
691
- const { discoveredWorkflows, discoveredSteps, discoveredSerdeFiles } = await this.discoverEntries(inputFiles, this.config.workingDir);
692
- const { workflowFiles, stepFiles, serdeFiles } = await this.reconcileDiscoveredEntries({
693
- workflowCandidates: discoveredWorkflows,
694
- stepCandidates: discoveredSteps,
695
- serdeCandidates: discoveredSerdeFiles,
696
- validatePatterns: true,
697
- });
698
- let hasChanges = false;
699
- for (const filePath of workflowFiles) {
700
- if (!this.discoveredWorkflowFiles.has(filePath)) {
701
- this.discoveredWorkflowFiles.add(filePath);
702
- hasChanges = true;
703
- }
704
- }
705
- for (const filePath of stepFiles) {
706
- if (!this.discoveredStepFiles.has(filePath)) {
707
- this.discoveredStepFiles.add(filePath);
708
- hasChanges = true;
709
- }
710
- }
711
- for (const filePath of serdeFiles) {
712
- if (!this.discoveredSerdeFiles.has(filePath)) {
713
- this.discoveredSerdeFiles.add(filePath);
714
- hasChanges = true;
715
- }
716
- }
717
- if (hasChanges) {
718
- this.scheduleWorkflowsCacheWrite();
719
- }
720
- }
721
806
  async writeWorkflowsCache() {
722
807
  const cacheFilePath = this.getWorkflowsCacheFilePath();
723
808
  const cacheDir = (0, node_path_1.join)(this.config.workingDir, this.getDistDir(), 'cache');
@@ -752,21 +837,6 @@ async function getNextBuilderDeferred() {
752
837
  await this.writeFileIfChanged((0, node_path_1.join)(workflowGeneratedDir, 'step/route.js'), routeStubContent);
753
838
  await this.writeFileIfChanged((0, node_path_1.join)(workflowGeneratedDir, 'webhook/[token]/route.js'), routeStubContent);
754
839
  }
755
- async getInputFiles() {
756
- const inputFiles = await super.getInputFiles();
757
- return inputFiles.filter((item) => {
758
- // Match App Router entrypoints: route.ts, page.ts, layout.ts in app/ or src/app/ directories
759
- // Matches: /app/page.ts, /app/dashboard/page.ts, /src/app/route.ts, etc.
760
- if (item.match(/(^|.*[/\\])(app|src[/\\]app)([/\\](route|page|layout)\.|[/\\].*[/\\](route|page|layout)\.)/)) {
761
- return true;
762
- }
763
- // Match Pages Router entrypoints: files in pages/ or src/pages/
764
- if (item.match(/[/\\](pages|src[/\\]pages)[/\\]/)) {
765
- return true;
766
- }
767
- return false;
768
- });
769
- }
770
840
  async writeFunctionsConfig(outputDir) {
771
841
  // we don't run this in development mode as it's not needed
772
842
  if (process.env.NODE_ENV === 'development') {
@@ -893,6 +963,25 @@ async function getNextBuilderDeferred() {
893
963
  }
894
964
  rewriteCopiedStepImportSpecifier(specifier, sourceFilePath, copiedFilePath, copiedStepFileBySourcePath) {
895
965
  if (!specifier.startsWith('.')) {
966
+ // Bare specifiers (e.g. '@workflow/serde') that are transitive
967
+ // dependencies of SDK packages can't be resolved by the bundler
968
+ // from the copied file's location (__workflow_step_files__/ inside
969
+ // the app dir) because the app doesn't directly depend on them.
970
+ //
971
+ // Only rewrite when the specifier can't be resolved from the app
972
+ // directory. If the package is a direct dependency of the app,
973
+ // the bare specifier will resolve normally and should be left as-is.
974
+ const appResolvable = this.resolveBareCopiedStepSpecifier(specifier, copiedFilePath);
975
+ if (!appResolvable) {
976
+ const resolved = this.resolveBareCopiedStepSpecifier(specifier, sourceFilePath);
977
+ if (!resolved)
978
+ return specifier;
979
+ let rewrittenPath = (0, node_path_1.relative)((0, node_path_1.dirname)(copiedFilePath), resolved).replace(/\\/g, '/');
980
+ if (!rewrittenPath.startsWith('.')) {
981
+ rewrittenPath = `./${rewrittenPath}`;
982
+ }
983
+ return rewrittenPath;
984
+ }
896
985
  return specifier;
897
986
  }
898
987
  const specifierMatch = specifier.match(/^([^?#]+)(.*)$/);
@@ -917,6 +1006,39 @@ async function getNextBuilderDeferred() {
917
1006
  }
918
1007
  return `${rewrittenPath}${suffix}`;
919
1008
  }
1009
+ /**
1010
+ * Resolves a bare specifier (e.g. '@workflow/serde', 'workflow') to an
1011
+ * absolute file path using ESM-compatible resolution semantics via
1012
+ * `enhanced-resolve`. Tries ESM conditions first (`node`, `import`),
1013
+ * falling back to CJS resolution if ESM fails.
1014
+ */
1015
+ resolveBareCopiedStepSpecifier(specifier, sourceFilePath) {
1016
+ if (!this.esmSyncResolver) {
1017
+ this.esmSyncResolver = enhanced_resolve_1.default.create.sync(NODE_ESM_RESOLVE_OPTIONS);
1018
+ }
1019
+ if (!this.cjsSyncResolver) {
1020
+ this.cjsSyncResolver =
1021
+ enhanced_resolve_1.default.create.sync(NODE_RESOLVE_OPTIONS);
1022
+ }
1023
+ const context = (0, node_path_1.dirname)(sourceFilePath);
1024
+ try {
1025
+ const resolved = this.esmSyncResolver(context, specifier);
1026
+ if (resolved)
1027
+ return resolved;
1028
+ }
1029
+ catch {
1030
+ // ESM resolution failed, try CJS
1031
+ }
1032
+ try {
1033
+ const resolved = this.cjsSyncResolver(context, specifier);
1034
+ if (resolved)
1035
+ return resolved;
1036
+ }
1037
+ catch {
1038
+ // CJS resolution also failed
1039
+ }
1040
+ return undefined;
1041
+ }
920
1042
  resolveCopiedStepImportTargetPath(targetPath) {
921
1043
  if ((0, node_fs_1.existsSync)(targetPath)) {
922
1044
  return targetPath;
@@ -975,10 +1097,14 @@ async function getNextBuilderDeferred() {
975
1097
  }
976
1098
  return Array.from(relativeSpecifiers);
977
1099
  }
978
- shouldSkipTransitiveStepFile(filePath) {
1100
+ isGeneratedWorkflowArtifact(filePath) {
979
1101
  const normalizedPath = filePath.replace(/\\/g, '/');
980
1102
  return (normalizedPath.includes('/.well-known/workflow/') ||
981
- normalizedPath.includes('/.next/') ||
1103
+ normalizedPath.includes('/.next/'));
1104
+ }
1105
+ shouldSkipTransitiveStepFile(filePath) {
1106
+ const normalizedPath = filePath.replace(/\\/g, '/');
1107
+ return (this.isGeneratedWorkflowArtifact(normalizedPath) ||
982
1108
  normalizedPath.includes('/node_modules/') ||
983
1109
  normalizedPath.includes('/.pnpm/'));
984
1110
  }
@@ -1094,9 +1220,9 @@ async function getNextBuilderDeferred() {
1094
1220
  async collectTransitiveSerdeFiles({ entryFiles, serdeFiles, }) {
1095
1221
  const normalizedEntryFiles = Array.from(new Set(entryFiles.map((entryFile) => this.normalizeDiscoveredFilePath(entryFile)))).sort();
1096
1222
  const normalizedSerdeSeedFiles = Array.from(new Set(serdeFiles.map((serdeFile) => this.normalizeDiscoveredFilePath(serdeFile)))).sort();
1097
- // Intentionally re-validate serde seeds against source + SDK filtering.
1223
+ // Intentionally re-validate serde seeds against source patterns.
1098
1224
  // This keeps previously discovered/manual seed entries from sticking when
1099
- // files no longer match serde patterns or resolve to SDK internals.
1225
+ // files no longer match serde patterns.
1100
1226
  const discoveredSerdeFiles = new Set();
1101
1227
  const queuedFiles = Array.from(new Set([...normalizedEntryFiles, ...normalizedSerdeSeedFiles]));
1102
1228
  const visitedFiles = new Set();
@@ -1131,7 +1257,7 @@ async function getNextBuilderDeferred() {
1131
1257
  };
1132
1258
  for (const serdeSeedFile of normalizedSerdeSeedFiles) {
1133
1259
  const seedPatterns = await getPatterns(serdeSeedFile);
1134
- if (seedPatterns?.hasSerde && !isWorkflowSdkFile(serdeSeedFile)) {
1260
+ if (seedPatterns?.hasSerde) {
1135
1261
  discoveredSerdeFiles.add(serdeSeedFile);
1136
1262
  }
1137
1263
  }
@@ -1155,13 +1281,37 @@ async function getNextBuilderDeferred() {
1155
1281
  queuedFiles.push(resolvedImportPath);
1156
1282
  }
1157
1283
  const importPatterns = await getPatterns(resolvedImportPath);
1158
- if (importPatterns?.hasSerde &&
1159
- !isWorkflowSdkFile(resolvedImportPath)) {
1284
+ if (importPatterns?.hasSerde) {
1160
1285
  discoveredSerdeFiles.add(resolvedImportPath);
1161
1286
  }
1162
1287
  }
1163
1288
  }
1164
- return Array.from(discoveredSerdeFiles).sort();
1289
+ // AST-level verification: run SWC detect mode on regex-matched candidates
1290
+ // to confirm they actually define serde classes. This prevents SDK internal
1291
+ // files (which match serde regex patterns but define no classes) from being
1292
+ // bundled into the workflow sandbox.
1293
+ const projectRoot = this.config.projectRoot || this.config.workingDir;
1294
+ const verifiedSerdeFiles = [];
1295
+ await Promise.all(Array.from(discoveredSerdeFiles).map(async (filePath) => {
1296
+ const source = await getSource(filePath);
1297
+ if (!source)
1298
+ return;
1299
+ try {
1300
+ const relativeFilename = await this.getRelativeFilenameForSwc(filePath);
1301
+ const { workflowManifest } = await applySwcTransform(relativeFilename, source, 'detect', filePath, projectRoot);
1302
+ // Only include files that actually define serde classes
1303
+ const hasClasses = workflowManifest.classes &&
1304
+ Object.values(workflowManifest.classes).some((entries) => Object.keys(entries).length > 0);
1305
+ if (hasClasses) {
1306
+ verifiedSerdeFiles.push(filePath);
1307
+ }
1308
+ }
1309
+ catch {
1310
+ // If detect fails, include the file to be safe
1311
+ verifiedSerdeFiles.push(filePath);
1312
+ }
1313
+ }));
1314
+ return verifiedSerdeFiles.sort();
1165
1315
  }
1166
1316
  async createResponseBuiltinsStepFile({ stepsRouteDir, }) {
1167
1317
  const copiedStepsDir = (0, node_path_1.join)(stepsRouteDir, step_copy_utils_js_1.DEFERRED_STEP_COPY_DIR_NAME);
@@ -1190,12 +1340,12 @@ async function getNextBuilderDeferred() {
1190
1340
  await this.writeFileIfChanged(responseBuiltinsFilePath, `${source}\n${sourceMapComment}\n`);
1191
1341
  return responseBuiltinsFilePath;
1192
1342
  }
1193
- async copyDiscoveredStepFiles({ stepFiles, stepsRouteDir, }) {
1343
+ async copyDiscoveredStepFiles({ stepFiles, stepsRouteDir, preserveFileNames = [], }) {
1194
1344
  const copiedStepsDir = (0, node_path_1.join)(stepsRouteDir, step_copy_utils_js_1.DEFERRED_STEP_COPY_DIR_NAME);
1195
1345
  await (0, promises_1.mkdir)(copiedStepsDir, { recursive: true });
1196
1346
  const normalizedStepFiles = Array.from(new Set(stepFiles.map((stepFile) => this.normalizeDiscoveredFilePath(stepFile)))).sort();
1197
1347
  const copiedStepFileBySourcePath = new Map();
1198
- const expectedFileNames = new Set();
1348
+ const expectedFileNames = new Set(preserveFileNames);
1199
1349
  const copiedStepFiles = [];
1200
1350
  for (const normalizedStepFile of normalizedStepFiles) {
1201
1351
  const copiedFileName = this.getStepCopyFileName(normalizedStepFile);
@@ -1271,7 +1421,24 @@ async function getNextBuilderDeferred() {
1271
1421
  }));
1272
1422
  return workflowManifest;
1273
1423
  }
1274
- async buildStepsFunction({ workflowGeneratedDir, routeFileName = 'route.js', discoveredEntries, }) {
1424
+ async collectManifestStepSourceFiles(manifest) {
1425
+ const manifestStepEntries = Object.keys(manifest.steps || {});
1426
+ if (manifestStepEntries.length === 0) {
1427
+ return [];
1428
+ }
1429
+ const resolveBaseDirs = this.getManifestStepResolveBaseDirs();
1430
+ const candidateFiles = manifestStepEntries
1431
+ .flatMap((stepEntry) => {
1432
+ if ((0, node_path_1.isAbsolute)(stepEntry)) {
1433
+ return [this.normalizeDiscoveredFilePath(stepEntry)];
1434
+ }
1435
+ return resolveBaseDirs.map((baseDir) => this.normalizeDiscoveredFilePath((0, node_path_1.resolve)(baseDir, stepEntry)));
1436
+ })
1437
+ .filter((candidateFile) => !this.isGeneratedWorkflowArtifact(candidateFile));
1438
+ const existingCandidates = await this.filterExistingFiles(candidateFiles);
1439
+ return Array.from(new Set(existingCandidates)).sort();
1440
+ }
1441
+ async buildStepsFunction({ workflowGeneratedDir, routeFileName = 'route.js', discoveredEntries, additionalStepSourceManifest, }) {
1275
1442
  const stepsRouteDir = (0, node_path_1.join)(workflowGeneratedDir, 'step');
1276
1443
  await (0, promises_1.mkdir)(stepsRouteDir, { recursive: true });
1277
1444
  const discovered = discoveredEntries;
@@ -1285,22 +1452,36 @@ async function getNextBuilderDeferred() {
1285
1452
  const serdeFiles = [...discovered.discoveredSerdeFiles].sort();
1286
1453
  const stepFileSet = new Set(stepFiles);
1287
1454
  const serdeOnlyFiles = serdeFiles.filter((file) => !stepFileSet.has(file));
1455
+ const additionalManifestStepFiles = additionalStepSourceManifest
1456
+ ? await this.collectManifestStepSourceFiles(additionalStepSourceManifest)
1457
+ : [];
1458
+ const stepFilesWithManifestSources = Array.from(new Set([...stepFiles, ...additionalManifestStepFiles])).sort();
1459
+ const responseBuiltinsStepFilePath = await this.createResponseBuiltinsStepFile({
1460
+ stepsRouteDir,
1461
+ });
1462
+ const manifestStepFiles = Array.from(new Set([...stepFilesWithManifestSources, responseBuiltinsStepFilePath])).sort();
1463
+ const manifest = await this.createDeferredStepsManifest({
1464
+ stepFiles: manifestStepFiles,
1465
+ workflowFiles,
1466
+ serdeOnlyFiles,
1467
+ });
1468
+ const manifestDiscoveredStepFiles = await this.collectManifestStepSourceFiles(manifest);
1288
1469
  // Copy all discovered step sources so they are transformed in step mode.
1289
1470
  // Importing raw node_modules files directly can bypass loader transforms,
1290
1471
  // which prevents step registrars from being emitted.
1291
- const copiedStepSourceFiles = stepFiles;
1472
+ const copiedStepSourceFiles = Array.from(new Set([
1473
+ ...stepFilesWithManifestSources,
1474
+ ...manifestDiscoveredStepFiles,
1475
+ ])).sort();
1292
1476
  const copiedDiscoveredStepFiles = await this.copyDiscoveredStepFiles({
1293
1477
  stepFiles: copiedStepSourceFiles,
1294
1478
  stepsRouteDir,
1295
- });
1296
- const responseBuiltinsStepFilePath = await this.createResponseBuiltinsStepFile({
1297
- stepsRouteDir,
1479
+ preserveFileNames: [(0, node_path_1.basename)(responseBuiltinsStepFilePath)],
1298
1480
  });
1299
1481
  const copiedStepFiles = [
1300
1482
  responseBuiltinsStepFilePath,
1301
1483
  ...copiedDiscoveredStepFiles,
1302
1484
  ];
1303
- const manifestStepFiles = Array.from(new Set([...stepFiles, responseBuiltinsStepFilePath])).sort();
1304
1485
  const stepRouteFile = (0, node_path_1.join)(stepsRouteDir, routeFileName);
1305
1486
  const copiedStepImports = copiedStepFiles
1306
1487
  .map((copiedStepFile) => {
@@ -1331,11 +1512,6 @@ async function getNextBuilderDeferred() {
1331
1512
  .filter(Boolean)
1332
1513
  .join('\n');
1333
1514
  await this.writeFileIfChanged(stepRouteFile, routeContents);
1334
- const manifest = await this.createDeferredStepsManifest({
1335
- stepFiles: manifestStepFiles,
1336
- workflowFiles,
1337
- serdeOnlyFiles,
1338
- });
1339
1515
  return {
1340
1516
  context: undefined,
1341
1517
  manifest,
@@ -1 +1 @@
1
- {"version":3,"file":"builder-deferred.js","sourceRoot":"","sources":["../src/builder-deferred.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder-deferred.js","sourceRoot":"","sources":["../src/builder-deferred.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAobA,KAAK,qBAAqB,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CACZ,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,GAAG,KACZ,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,SAAS,EAAE,GAAG,GACb,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAyJjC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AA2mBA,KAAK,qBAAqB,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CACZ,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,GAAG,KACZ,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,SAAS,EAAE,GAAG,GACb,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CA6KjC"}
package/dist/loader.js CHANGED
@@ -13,14 +13,37 @@ const decoratorOptionsCache = new Map();
13
13
  // Cache for shared utilities from @workflow/builders (ESM module loaded dynamically in CommonJS context)
14
14
  let cachedBuildersModule = null;
15
15
  let cachedLoaderStaticDependencies = null;
16
+ const discoveredPatternStateByFilePath = new Map();
16
17
  // Cache socket connection to avoid reconnecting on every file.
17
18
  let socketClientPromise = null;
18
19
  let socketClient = null;
19
20
  let socketClientKey = null;
21
+ const ROUTE_STUB_FILE_MARKER = 'WORKFLOW_ROUTE_STUB_FILE';
22
+ const ROUTE_STUB_BUILD_WAIT_TIMEOUT_MS = 120_000;
23
+ let pendingDeferredRouteStubBuildPromise = null;
20
24
  function registerFileDependency(loaderContext, dependencyPath) {
21
25
  loaderContext.addDependency?.(dependencyPath);
22
26
  loaderContext.addBuildDependency?.(dependencyPath);
23
27
  }
28
+ function updateDiscoveredPatternState(filePath, nextState) {
29
+ const previousState = discoveredPatternStateByFilePath.get(filePath);
30
+ const hasAnyPattern = nextState.hasWorkflow || nextState.hasStep || nextState.hasSerde;
31
+ if (!hasAnyPattern) {
32
+ if (!previousState) {
33
+ return { shouldNotify: false };
34
+ }
35
+ discoveredPatternStateByFilePath.delete(filePath);
36
+ return { shouldNotify: true, previousState };
37
+ }
38
+ if (previousState &&
39
+ previousState.hasWorkflow === nextState.hasWorkflow &&
40
+ previousState.hasStep === nextState.hasStep &&
41
+ previousState.hasSerde === nextState.hasSerde) {
42
+ return { shouldNotify: false, previousState };
43
+ }
44
+ discoveredPatternStateByFilePath.set(filePath, nextState);
45
+ return { shouldNotify: true, previousState };
46
+ }
24
47
  function addIfExists(files, dependencyPath) {
25
48
  if ((0, node_fs_1.existsSync)(dependencyPath)) {
26
49
  files.add(dependencyPath);
@@ -81,10 +104,21 @@ async function writeSocketMessage(socket, message) {
81
104
  }
82
105
  function getSocketInfoFilePath() {
83
106
  const configuredPath = process.env.WORKFLOW_SOCKET_INFO_PATH;
84
- if (!configuredPath) {
85
- return null;
107
+ if (configuredPath) {
108
+ return configuredPath;
86
109
  }
87
- return configuredPath;
110
+ // Fallback for worker processes that don't inherit dynamic env updates
111
+ // from the process that created the socket server.
112
+ const distDir = process.env.WORKFLOW_NEXT_DIST_DIR || '.next';
113
+ const cwdFallbackPath = (0, node_path_1.join)(process.cwd(), distDir, 'cache', 'workflow-socket.json');
114
+ const projectRoot = process.env.WORKFLOW_PROJECT_ROOT;
115
+ if (projectRoot) {
116
+ const projectRootFallbackPath = (0, node_path_1.join)(projectRoot, distDir, 'cache', 'workflow-socket.json');
117
+ if ((0, node_fs_1.existsSync)(projectRootFallbackPath)) {
118
+ return projectRootFallbackPath;
119
+ }
120
+ }
121
+ return cwdFallbackPath;
88
122
  }
89
123
  function getSocketCredentialsFromEnv() {
90
124
  const socketPort = process.env.WORKFLOW_SOCKET_PORT;
@@ -126,7 +160,11 @@ async function getSocketCredentialsFromFile() {
126
160
  }
127
161
  }
128
162
  async function getSocketCredentials() {
129
- return (getSocketCredentialsFromEnv() ?? (await getSocketCredentialsFromFile()));
163
+ const envCredentials = getSocketCredentialsFromEnv();
164
+ if (envCredentials) {
165
+ return envCredentials;
166
+ }
167
+ return await getSocketCredentialsFromFile();
130
168
  }
131
169
  async function getSocketClient() {
132
170
  const socketCredentials = await getSocketCredentials();
@@ -223,6 +261,108 @@ async function notifySocketServer(filename, hasWorkflow, hasStep, hasSerde) {
223
261
  await writeSocketMessage(reconnectedSocket, serializedMessage);
224
262
  }
225
263
  }
264
+ function isWorkflowRouteStubSource(source) {
265
+ return source.includes(ROUTE_STUB_FILE_MARKER);
266
+ }
267
+ async function createSocketConnection(socketCredentials, timeoutMs = 1_000) {
268
+ return await new Promise((resolve, reject) => {
269
+ const socket = (0, node_net_1.connect)({
270
+ port: socketCredentials.port,
271
+ host: '127.0.0.1',
272
+ });
273
+ const timeout = setTimeout(() => {
274
+ cleanup();
275
+ socket.destroy();
276
+ reject(new Error('Socket connection timeout'));
277
+ }, timeoutMs);
278
+ const cleanup = () => {
279
+ clearTimeout(timeout);
280
+ socket.off('connect', onConnect);
281
+ socket.off('error', onError);
282
+ };
283
+ const onConnect = () => {
284
+ socket.setNoDelay(true);
285
+ cleanup();
286
+ resolve(socket);
287
+ };
288
+ const onError = (error) => {
289
+ cleanup();
290
+ socket.destroy();
291
+ reject(error);
292
+ };
293
+ socket.on('connect', onConnect);
294
+ socket.on('error', onError);
295
+ });
296
+ }
297
+ async function waitForDeferredBuildComplete(socket, authToken, timeoutMs = ROUTE_STUB_BUILD_WAIT_TIMEOUT_MS) {
298
+ await new Promise((resolve, reject) => {
299
+ let buffer = '';
300
+ const timeout = setTimeout(() => {
301
+ cleanup();
302
+ reject(new Error('Timed out waiting for deferred route build completion'));
303
+ }, timeoutMs);
304
+ const cleanup = () => {
305
+ clearTimeout(timeout);
306
+ socket.off('data', onData);
307
+ socket.off('error', onError);
308
+ socket.off('close', onClose);
309
+ socket.off('end', onClose);
310
+ };
311
+ const onError = (error) => {
312
+ cleanup();
313
+ reject(error);
314
+ };
315
+ const onClose = () => {
316
+ cleanup();
317
+ reject(new Error('Socket closed before deferred route build completed'));
318
+ };
319
+ const onData = (chunk) => {
320
+ buffer += chunk.toString();
321
+ let newlineIndex = buffer.indexOf('\n');
322
+ while (newlineIndex !== -1) {
323
+ const line = buffer.slice(0, newlineIndex);
324
+ buffer = buffer.slice(newlineIndex + 1);
325
+ newlineIndex = buffer.indexOf('\n');
326
+ const message = (0, socket_server_js_1.parseMessage)(line, authToken);
327
+ if (message?.type === 'build-complete') {
328
+ cleanup();
329
+ resolve();
330
+ return;
331
+ }
332
+ }
333
+ };
334
+ socket.on('data', onData);
335
+ socket.on('error', onError);
336
+ socket.on('close', onClose);
337
+ socket.on('end', onClose);
338
+ });
339
+ }
340
+ async function triggerDeferredRouteStubBuildAndWait() {
341
+ const socketCredentials = await getSocketCredentials();
342
+ if (!socketCredentials) {
343
+ return;
344
+ }
345
+ const socket = await createSocketConnection(socketCredentials);
346
+ try {
347
+ await writeSocketMessage(socket, (0, socket_server_js_1.serializeMessage)({ type: 'trigger-build' }, socketCredentials.authToken));
348
+ await waitForDeferredBuildComplete(socket, socketCredentials.authToken);
349
+ }
350
+ finally {
351
+ socket.destroy();
352
+ }
353
+ }
354
+ async function ensureDeferredRouteStubBuildAndWait() {
355
+ if (pendingDeferredRouteStubBuildPromise) {
356
+ return pendingDeferredRouteStubBuildPromise;
357
+ }
358
+ const pendingPromise = triggerDeferredRouteStubBuildAndWait();
359
+ pendingDeferredRouteStubBuildPromise = pendingPromise.finally(() => {
360
+ if (pendingDeferredRouteStubBuildPromise === pendingPromise) {
361
+ pendingDeferredRouteStubBuildPromise = null;
362
+ }
363
+ });
364
+ return pendingDeferredRouteStubBuildPromise;
365
+ }
226
366
  async function getBuildersModule() {
227
367
  if (cachedBuildersModule) {
228
368
  return cachedBuildersModule;
@@ -252,10 +392,6 @@ async function checkGeneratedFile(filePath) {
252
392
  const { isGeneratedWorkflowFile } = await getBuildersModule();
253
393
  return isGeneratedWorkflowFile(filePath);
254
394
  }
255
- async function checkSdkFile(filePath) {
256
- const { isWorkflowSdkFile } = await getBuildersModule();
257
- return isWorkflowSdkFile(filePath);
258
- }
259
395
  async function checkShouldTransform(filePath, patterns) {
260
396
  const { shouldTransformFile } = await getBuildersModule();
261
397
  return shouldTransformFile(filePath, patterns);
@@ -338,8 +474,23 @@ function workflowLoader(source, sourceMap) {
338
474
  // Ensure edits to the original source invalidate deferred step copies.
339
475
  registerFileDependency(this, deferredStepSourceMetadata.absolutePath);
340
476
  }
341
- // Skip generated workflow route files to avoid re-processing them
342
- if ((await checkGeneratedFile(filename)) && !isDeferredStepCopyFile) {
477
+ const isGeneratedWorkflowFile = await checkGeneratedFile(filename);
478
+ // Skip generated workflow route files to avoid re-processing them, except
479
+ // deferred route stubs which must wait for generated route output.
480
+ if (isGeneratedWorkflowFile && !isDeferredStepCopyFile) {
481
+ if (process.env.WORKFLOW_NEXT_LAZY_DISCOVERY === '1' &&
482
+ isWorkflowRouteStubSource(normalizedSource)) {
483
+ try {
484
+ await ensureDeferredRouteStubBuildAndWait();
485
+ const refreshedSource = await (0, promises_1.readFile)(filename, 'utf8');
486
+ if (!isWorkflowRouteStubSource(refreshedSource)) {
487
+ return { code: refreshedSource, map: sourceMap };
488
+ }
489
+ }
490
+ catch (error) {
491
+ console.warn(`[workflow] Failed waiting for deferred route build for ${filename}, using stub output`, error);
492
+ }
493
+ }
343
494
  return { code: normalizedSource, map: sourceMap };
344
495
  }
345
496
  // Detect workflow patterns in the source code.
@@ -349,19 +500,18 @@ function workflowLoader(source, sourceMap) {
349
500
  // Deferred step copy files must report using their original source path so
350
501
  // deferred rebuilds can react to source edits outside generated artifacts.
351
502
  if (!isDeferredStepCopyFile || deferredStepSourceMetadata?.absolutePath) {
352
- // For @workflow SDK packages, do not report serde-only matches for
353
- // discovery, otherwise deferred mode can incorrectly treat SDK internals
354
- // as app serde entrypoints.
355
- const isSdkFile = await checkSdkFile(discoveryFilePath);
356
- await notifySocketServer(discoveryFilePath, patterns.hasUseWorkflow, patterns.hasUseStep, patterns.hasSerde && !isSdkFile);
503
+ const hasSerde = patterns.hasSerde;
504
+ const nextPatternState = {
505
+ hasWorkflow: patterns.hasUseWorkflow,
506
+ hasStep: patterns.hasUseStep,
507
+ hasSerde,
508
+ };
509
+ const { shouldNotify } = updateDiscoveredPatternState(discoveryFilePath, nextPatternState);
510
+ if (shouldNotify) {
511
+ await notifySocketServer(discoveryFilePath, nextPatternState.hasWorkflow, nextPatternState.hasStep, nextPatternState.hasSerde);
512
+ }
357
513
  }
358
514
  if (!isDeferredStepCopyFile) {
359
- // For @workflow SDK packages, only transform files with actual directives,
360
- // not files that just match serde patterns (which are internal SDK implementation files)
361
- const isSdkFile = await checkSdkFile(filename);
362
- if (isSdkFile && !patterns.hasDirective) {
363
- return { code: normalizedSource, map: sourceMap };
364
- }
365
515
  // Check if file needs transformation based on patterns and path
366
516
  if (!(await checkShouldTransform(filename, patterns))) {
367
517
  return { code: normalizedSource, map: sourceMap };
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
package/docs/next.mdx CHANGED
@@ -281,6 +281,30 @@ Upgrade to `workflow@4.0.1-beta.26` or later:
281
281
  workflow@latest
282
282
  ```
283
283
 
284
+ ### Turborepo caching
285
+
286
+ If you're using [Turborepo](https://turbo.build/repo) in a monorepo, you need to include the generated Workflow routes in your cache outputs. The Workflow SDK generates route handlers at `app/.well-known/workflow/` (or `src/app/.well-known/workflow/` if your project uses the `src` directory) during the build process, and these files must be cached alongside your Next.js build output.
287
+
288
+ Add the following to your `turbo.json`:
289
+
290
+ ```jsonc title="turbo.json"
291
+ {
292
+ "tasks": {
293
+ "build": {
294
+ "outputs": [
295
+ ".next/**",
296
+ "!.next/cache/**",
297
+ // Include whichever path matches your project layout
298
+ "app/.well-known/workflow/**",
299
+ "src/app/.well-known/workflow/**"
300
+ ]
301
+ }
302
+ }
303
+ }
304
+ ```
305
+
306
+ Without this configuration, you may experience intermittent issues where workflows fail to register properly on cache hits, while working correctly on cache misses.
307
+
284
308
  ### `start()` says it received an invalid workflow function
285
309
 
286
310
  If you see this error:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/next",
3
- "version": "5.0.0-beta.0",
3
+ "version": "5.0.0-beta.1",
4
4
  "description": "Next.js integration for Workflow SDK",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -27,11 +27,12 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@swc/core": "1.15.3",
30
+ "enhanced-resolve": "5.19.0",
30
31
  "semver": "7.7.4",
31
32
  "watchpack": "2.5.1",
32
- "@workflow/builders": "5.0.0-beta.0",
33
- "@workflow/core": "5.0.0-beta.0",
34
- "@workflow/swc-plugin": "5.0.0-beta.0"
33
+ "@workflow/builders": "5.0.0-beta.1",
34
+ "@workflow/core": "5.0.0-beta.1",
35
+ "@workflow/swc-plugin": "5.0.0-beta.1"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@types/node": "22.19.0",