@workflow/builders 4.0.10 → 4.1.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.
Files changed (59) hide show
  1. package/dist/apply-swc-transform.d.ts +7 -2
  2. package/dist/apply-swc-transform.d.ts.map +1 -1
  3. package/dist/apply-swc-transform.js +10 -4
  4. package/dist/base-builder-logging.test.d.ts +2 -0
  5. package/dist/base-builder-logging.test.d.ts.map +1 -0
  6. package/dist/base-builder-logging.test.js +99 -0
  7. package/dist/base-builder.d.ts +37 -14
  8. package/dist/base-builder.d.ts.map +1 -1
  9. package/dist/base-builder.js +299 -55
  10. package/dist/config-helpers.d.ts +2 -0
  11. package/dist/config-helpers.d.ts.map +1 -1
  12. package/dist/config-helpers.js +62 -1
  13. package/dist/config-helpers.test.d.ts +2 -0
  14. package/dist/config-helpers.test.d.ts.map +1 -0
  15. package/dist/config-helpers.test.js +17 -0
  16. package/dist/constants.d.ts +60 -4
  17. package/dist/constants.d.ts.map +1 -1
  18. package/dist/constants.js +84 -19
  19. package/dist/constants.test.d.ts +2 -0
  20. package/dist/constants.test.d.ts.map +1 -0
  21. package/dist/constants.test.js +33 -0
  22. package/dist/fast-discovery.d.ts +14 -0
  23. package/dist/fast-discovery.d.ts.map +1 -0
  24. package/dist/fast-discovery.js +663 -0
  25. package/dist/fast-discovery.test.d.ts +2 -0
  26. package/dist/fast-discovery.test.d.ts.map +1 -0
  27. package/dist/fast-discovery.test.js +338 -0
  28. package/dist/get-input-files.test.js +34 -2
  29. package/dist/index.d.ts +3 -3
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +3 -3
  32. package/dist/module-specifier.d.ts +13 -0
  33. package/dist/module-specifier.d.ts.map +1 -1
  34. package/dist/module-specifier.js +20 -1
  35. package/dist/request-converter.d.ts +1 -1
  36. package/dist/request-converter.d.ts.map +1 -1
  37. package/dist/request-converter.js +1 -1
  38. package/dist/standalone.d.ts.map +1 -1
  39. package/dist/standalone.js +4 -4
  40. package/dist/step-source-registration.test.d.ts +2 -0
  41. package/dist/step-source-registration.test.d.ts.map +1 -0
  42. package/dist/step-source-registration.test.js +82 -0
  43. package/dist/swc-esbuild-plugin.d.ts +1 -0
  44. package/dist/swc-esbuild-plugin.d.ts.map +1 -1
  45. package/dist/swc-esbuild-plugin.js +5 -3
  46. package/dist/swc-esbuild-plugin.test.js +25 -3
  47. package/dist/transform-utils.d.ts.map +1 -1
  48. package/dist/transform-utils.js +45 -6
  49. package/dist/transform-utils.test.js +92 -1
  50. package/dist/types.d.ts +8 -2
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/types.js +1 -1
  53. package/dist/vercel-build-output-api.d.ts.map +1 -1
  54. package/dist/vercel-build-output-api.js +8 -8
  55. package/dist/workflows-extractor.js +8 -3
  56. package/dist/workflows-extractor.test.d.ts +2 -0
  57. package/dist/workflows-extractor.test.d.ts.map +1 -0
  58. package/dist/workflows-extractor.test.js +70 -0
  59. package/package.json +4 -4
@@ -29,10 +29,15 @@ export declare function applySwcTransform(filename: string, source: string, mode
29
29
  */
30
30
  absolutePath?: string,
31
31
  /**
32
- * Optional project root used for module specifier resolution.
32
+ * Optional project root used for transform context such as tsconfig lookup.
33
33
  * Defaults to process.cwd() for backwards compatibility.
34
34
  */
35
- projectRoot?: string): Promise<{
35
+ projectRoot?: string,
36
+ /**
37
+ * Optional project root used for package/workspace module-specifier
38
+ * resolution. Defaults to projectRoot for backwards compatibility.
39
+ */
40
+ moduleSpecifierRoot?: string): Promise<{
36
41
  code: string;
37
42
  workflowManifest: WorkflowManifest;
38
43
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"apply-swc-transform.d.ts","sourceRoot":"","sources":["../src/apply-swc-transform.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE;QACN,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,YAAY,EAAE,MAAM,GAAG;gBACtB,MAAM,EAAE,MAAM,CAAC;aAChB,CAAC;SACH,CAAC;KACH,CAAC;IACF,SAAS,CAAC,EAAE;QACV,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,YAAY,EAAE,MAAM,GAAG;gBACtB,UAAU,EAAE,MAAM,CAAC;aACpB,CAAC;SACH,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QACR,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,SAAS,EAAE,MAAM,GAAG;gBACnB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK;AAC5C;;;;GAIG;AACH,YAAY,CAAC,EAAE,MAAM;AACrB;;;GAGG;AACH,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC,CA6ED"}
1
+ {"version":3,"file":"apply-swc-transform.d.ts","sourceRoot":"","sources":["../src/apply-swc-transform.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE;QACN,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,YAAY,EAAE,MAAM,GAAG;gBACtB,MAAM,EAAE,MAAM,CAAC;aAChB,CAAC;SACH,CAAC;KACH,CAAC;IACF,SAAS,CAAC,EAAE;QACV,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,YAAY,EAAE,MAAM,GAAG;gBACtB,UAAU,EAAE,MAAM,CAAC;aACpB,CAAC;SACH,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QACR,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,SAAS,EAAE,MAAM,GAAG;gBACnB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK;AAC5C;;;;GAIG;AACH,YAAY,CAAC,EAAE,MAAM;AACrB;;;GAGG;AACH,WAAW,CAAC,EAAE,MAAM;AACpB;;;GAGG;AACH,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC,CA+ED"}
@@ -24,11 +24,17 @@ export async function applySwcTransform(filename, source, mode,
24
24
  */
25
25
  absolutePath,
26
26
  /**
27
- * Optional project root used for module specifier resolution.
27
+ * Optional project root used for transform context such as tsconfig lookup.
28
28
  * Defaults to process.cwd() for backwards compatibility.
29
29
  */
30
- projectRoot) {
30
+ projectRoot,
31
+ /**
32
+ * Optional project root used for package/workspace module-specifier
33
+ * resolution. Defaults to projectRoot for backwards compatibility.
34
+ */
35
+ moduleSpecifierRoot) {
31
36
  const resolvedProjectRoot = projectRoot ?? process.cwd();
37
+ const resolvedModuleSpecifierRoot = moduleSpecifierRoot ?? resolvedProjectRoot;
32
38
  const decoratorOptions = await getDecoratorOptions(resolvedProjectRoot);
33
39
  const swcPluginPath = require.resolve('@workflow/swc-plugin', {
34
40
  paths: [dirname(fileURLToPath(import.meta.url))],
@@ -44,7 +50,7 @@ projectRoot) {
44
50
  : isAbsolute(filename)
45
51
  ? filename
46
52
  : join(resolvedProjectRoot, filename);
47
- const { moduleSpecifier } = resolveModuleSpecifier(absoluteFilename, resolvedProjectRoot);
53
+ const { moduleSpecifier } = resolveModuleSpecifier(absoluteFilename, resolvedModuleSpecifierRoot);
48
54
  // Transform with SWC to support syntax esbuild doesn't
49
55
  const result = await transform(source, {
50
56
  filename,
@@ -90,4 +96,4 @@ projectRoot) {
90
96
  workflowManifest: parsedWorkflows || {},
91
97
  };
92
98
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktc3djLXRyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBseS1zd2MtdHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUvQyxpRkFBaUY7QUFDakYsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFHbEMsQ0FBQztBQUVKLFNBQVMsbUJBQW1CLENBQUMsV0FBb0I7SUFDL0MsTUFBTSxHQUFHLEdBQUcsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6QyxJQUFJLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUEwQkQsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsUUFBZ0IsRUFDaEIsTUFBYyxFQUNkLElBQTRD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IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQgeyBkaXJuYW1lLCBpc0Fic29sdXRlLCBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICdub2RlOnVybCc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdAc3djL2NvcmUnO1xuaW1wb3J0IHsgZ2V0RGVjb3JhdG9yT3B0aW9uc0ZvckRpcmVjdG9yeSB9IGZyb20gJy4vY29uZmlnLWhlbHBlcnMuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZU1vZHVsZVNwZWNpZmllciB9IGZyb20gJy4vbW9kdWxlLXNwZWNpZmllci5qcyc7XG5cbmNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7XG5cbi8vIENhY2hlIGRlY29yYXRvciBvcHRpb25zIHBlciBkaXJlY3RvcnkgLSB0c2NvbmZpZyBkb2Vzbid0IGNoYW5nZSBkdXJpbmcgYSBidWlsZFxuY29uc3QgZGVjb3JhdG9yT3B0aW9uc0NhY2hlID0gbmV3IE1hcDxcbiAgc3RyaW5nLFxuICBSZXR1cm5UeXBlPHR5cGVvZiBnZXREZWNvcmF0b3JPcHRpb25zRm9yRGlyZWN0b3J5PlxuPigpO1xuXG5mdW5jdGlvbiBnZXREZWNvcmF0b3JPcHRpb25zKHByb2plY3RSb290Pzogc3RyaW5nKSB7XG4gIGNvbnN0IGN3ZCA9IHByb2plY3RSb290ID8/IHByb2Nlc3MuY3dkKCk7XG4gIGxldCBjYWNoZWQgPSBkZWNvcmF0b3JPcHRpb25zQ2FjaGUuZ2V0KGN3ZCk7XG4gIGlmICghY2FjaGVkKSB7XG4gICAgY2FjaGVkID0gZ2V0RGVjb3JhdG9yT3B0aW9uc0ZvckRpcmVjdG9yeShjd2QpO1xuICAgIGRlY29yYXRvck9wdGlvbnNDYWNoZS5zZXQoY3dkLCBjYWNoZWQpO1xuICB9XG4gIHJldHVybiBjYWNoZWQ7XG59XG5cbmV4cG9ydCB0eXBlIFdvcmtmbG93TWFuaWZlc3QgPSB7XG4gIHN0ZXBzPzoge1xuICAgIFtyZWxhdGl2ZUZpbGVOYW1lOiBzdHJpbmddOiB7XG4gICAgICBbZnVuY3Rpb25OYW1lOiBzdHJpbmddOiB7XG4gICAgICAgIHN0ZXBJZDogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICB3b3JrZmxvd3M/OiB7XG4gICAgW3JlbGF0aXZlRmlsZU5hbWU6IHN0cmluZ106IHtcbiAgICAgIFtmdW5jdGlvbk5hbWU6IHN0cmluZ106IHtcbiAgICAgICAgd29ya2Zsb3dJZDogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICBjbGFzc2VzPzoge1xuICAgIFtyZWxhdGl2ZUZpbGVOYW1lOiBzdHJpbmddOiB7XG4gICAgICBbY2xhc3NOYW1lOiBzdHJpbmddOiB7XG4gICAgICAgIGNsYXNzSWQ6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseVN3Y1RyYW5zZm9ybShcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgc291cmNlOiBzdHJpbmcsXG4gIG1vZGU6ICd3b3JrZmxvdycgfCAnc3RlcCcgfCAnY2xpZW50JyB8IGZhbHNlLFxuICAvKipcbiAgICogT3B0aW9uYWwgYWJzb2x1dGUgcGF0aCB0byB0aGUgZmlsZSBiZWluZyB0cmFuc2Zvcm1lZC5cbiAgICogVXNlZCBmb3IgbW9kdWxlIHNwZWNpZmllciByZXNvbHV0aW9uIHdoZW4gZmlsZW5hbWUgaXMgcmVsYXRpdmUuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgZmlsZW5hbWUgaXMgam9pbmVkIHdpdGggcHJvY2Vzcy5jd2QoKS5cbiAgICovXG4gIGFic29sdXRlUGF0aD86IHN0cmluZyxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByb2plY3Qgcm9vdCB1c2VkIGZvciBtb2R1bGUgc3BlY2lmaWVyIHJlc29sdXRpb24uXG4gICAqIERlZmF1bHRzIHRvIHByb2Nlc3MuY3dkKCkgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAgKi9cbiAgcHJvamVjdFJvb3Q/OiBzdHJpbmdcbik6IFByb21pc2U8e1xuICBjb2RlOiBzdHJpbmc7XG4gIHdvcmtmbG93TWFuaWZlc3Q6IFdvcmtmbG93TWFuaWZlc3Q7XG59PiB7XG4gIGNvbnN0IHJlc29sdmVkUHJvamVjdFJvb3QgPSBwcm9qZWN0Um9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuICBjb25zdCBkZWNvcmF0b3JPcHRpb25zID0gYXdhaXQgZ2V0RGVjb3JhdG9yT3B0aW9ucyhyZXNvbHZlZFByb2plY3RSb290KTtcblxuICBjb25zdCBzd2NQbHVnaW5QYXRoID0gcmVxdWlyZS5yZXNvbHZlKCdAd29ya2Zsb3cvc3djLXBsdWdpbicsIHtcbiAgICBwYXRoczogW2Rpcm5hbWUoZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKV0sXG4gIH0pO1xuXG4gIC8vIERldGVybWluZSBpZiB0aGlzIGlzIGEgVHlwZVNjcmlwdCBmaWxlXG4gIGNvbnN0IGlzVHlwZVNjcmlwdCA9XG4gICAgZmlsZW5hbWUuZW5kc1dpdGgoJy50cycpIHx8XG4gICAgZmlsZW5hbWUuZW5kc1dpdGgoJy50c3gnKSB8fFxuICAgIGZpbGVuYW1lLmVuZHNXaXRoKCcubXRzJykgfHxcbiAgICBmaWxlbmFtZS5lbmRzV2l0aCgnLmN0cycpO1xuXG4gIC8vIFJlc29sdmUgbW9kdWxlIHNwZWNpZmllciBmb3IgcGFja2FnZXMgKG5vZGVfbW9kdWxlcyBvciB3b3Jrc3BhY2UgcGFja2FnZXMpXG4gIGNvbnN0IGFic29sdXRlRmlsZW5hbWUgPSBhYnNvbHV0ZVBhdGhcbiAgICA/IGFic29sdXRlUGF0aFxuICAgIDogaXNBYnNvbHV0ZShmaWxlbmFtZSlcbiAgICAgID8gZmlsZW5hbWVcbiAgICAgIDogam9pbihyZXNvbHZlZFByb2plY3RSb290LCBmaWxlbmFtZSk7XG4gIGNvbnN0IHsgbW9kdWxlU3BlY2lmaWVyIH0gPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKFxuICAgIGFic29sdXRlRmlsZW5hbWUsXG4gICAgcmVzb2x2ZWRQcm9qZWN0Um9vdFxuICApO1xuXG4gIC8vIFRyYW5zZm9ybSB3aXRoIFNXQyB0byBzdXBwb3J0IHN5bnRheCBlc2J1aWxkIGRvZXNuJ3RcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdHJhbnNmb3JtKHNvdXJjZSwge1xuICAgIGZpbGVuYW1lLFxuICAgIHN3Y3JjOiBmYWxzZSxcbiAgICBqc2M6IHtcbiAgICAgIHBhcnNlcjoge1xuICAgICAgICAuLi4oaXNUeXBlU2NyaXB0XG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHN5bnRheDogJ3R5cGVzY3JpcHQnLFxuICAgICAgICAgICAgICB0c3g6IGZpbGVuYW1lLmVuZHNXaXRoKCcudHN4JyksXG4gICAgICAgICAgICAgIGRlY29yYXRvcnM6IGRlY29yYXRvck9wdGlvbnMuZGVjb3JhdG9ycyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgc3ludGF4OiAnZWNtYXNjcmlwdCcsXG4gICAgICAgICAgICAgIGpzeDogZmlsZW5hbWUuZW5kc1dpdGgoJy5qc3gnKSxcbiAgICAgICAgICAgICAgZGVjb3JhdG9yczogZGVjb3JhdG9yT3B0aW9ucy5kZWNvcmF0b3JzLFxuICAgICAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgdGFyZ2V0OiAnZXMyMDIyJyxcbiAgICAgIGV4cGVyaW1lbnRhbDogbW9kZVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHBsdWdpbnM6IFtbc3djUGx1Z2luUGF0aCwgeyBtb2RlLCBtb2R1bGVTcGVjaWZpZXIgfV1dLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB0cmFuc2Zvcm06IHtcbiAgICAgICAgcmVhY3Q6IHtcbiAgICAgICAgICBydW50aW1lOiAncHJlc2VydmUnLFxuICAgICAgICB9LFxuICAgICAgICBsZWdhY3lEZWNvcmF0b3I6IGRlY29yYXRvck9wdGlvbnMubGVnYWN5RGVjb3JhdG9yLFxuICAgICAgICBkZWNvcmF0b3JNZXRhZGF0YTogZGVjb3JhdG9yT3B0aW9ucy5kZWNvcmF0b3JNZXRhZGF0YSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICAvLyBUT0RPOiBpbnZlc3RpZ2F0ZSBwcm9wZXIgc291cmNlIG1hcCBzdXBwb3J0IGFzIHRoZXlcbiAgICAvLyB3b24ndCBldmVuIGJlIHVzZWQgaW4gTm9kZS5qcyBieSBkZWZhdWx0IHVubGVzcyB3ZVxuICAgIC8vIGludGVyY2VwdCBlcnJvcnMgYW5kIGFwcGx5IHRoZW0gb3Vyc2VsdmVzXG4gICAgc291cmNlTWFwczogZmFsc2UsXG4gICAgbWluaWZ5OiBmYWxzZSxcbiAgfSk7XG5cbiAgY29uc3Qgd29ya2Zsb3dDb21tZW50TWF0Y2ggPSByZXN1bHQuY29kZS5tYXRjaChcbiAgICAvXFwvXFwqXFwqX19pbnRlcm5hbF93b3JrZmxvd3Moey4qP30pXFwqXFwvL3NcbiAgKTtcblxuICBjb25zdCBwYXJzZWRXb3JrZmxvd3MgPSBKU09OLnBhcnNlKFxuICAgIHdvcmtmbG93Q29tbWVudE1hdGNoPy5bMV0gfHwgJ3t9J1xuICApIGFzIFdvcmtmbG93TWFuaWZlc3Q7XG5cbiAgcmV0dXJuIHtcbiAgICBjb2RlOiByZXN1bHQuY29kZSxcbiAgICB3b3JrZmxvd01hbmlmZXN0OiBwYXJzZWRXb3JrZmxvd3MgfHwge30sXG4gIH07XG59XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktc3djLXRyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBseS1zd2MtdHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUvQyxpRkFBaUY7QUFDakYsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFHbEMsQ0FBQztBQUVKLFNBQVMsbUJBQW1CLENBQUMsV0FBb0I7SUFDL0MsTUFBTSxHQUFHLEdBQUcsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6QyxJQUFJLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUEwQkQsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsUUFBZ0IsRUFDaEIsTUFBYyxFQUNkLElBQTRD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QUk7UUFDakIsZ0JBQWdCLEVBQUUsZUFBZSxJQUFJLEVBQUU7S0FDeEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHsgZGlybmFtZSwgaXNBYnNvbHV0ZSwgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnQHN3Yy9jb3JlJztcbmltcG9ydCB7IGdldERlY29yYXRvck9wdGlvbnNGb3JEaXJlY3RvcnkgfSBmcm9tICcuL2NvbmZpZy1oZWxwZXJzLmpzJztcbmltcG9ydCB7IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIgfSBmcm9tICcuL21vZHVsZS1zcGVjaWZpZXIuanMnO1xuXG5jb25zdCByZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpO1xuXG4vLyBDYWNoZSBkZWNvcmF0b3Igb3B0aW9ucyBwZXIgZGlyZWN0b3J5IC0gdHNjb25maWcgZG9lc24ndCBjaGFuZ2UgZHVyaW5nIGEgYnVpbGRcbmNvbnN0IGRlY29yYXRvck9wdGlvbnNDYWNoZSA9IG5ldyBNYXA8XG4gIHN0cmluZyxcbiAgUmV0dXJuVHlwZTx0eXBlb2YgZ2V0RGVjb3JhdG9yT3B0aW9uc0ZvckRpcmVjdG9yeT5cbj4oKTtcblxuZnVuY3Rpb24gZ2V0RGVjb3JhdG9yT3B0aW9ucyhwcm9qZWN0Um9vdD86IHN0cmluZykge1xuICBjb25zdCBjd2QgPSBwcm9qZWN0Um9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuICBsZXQgY2FjaGVkID0gZGVjb3JhdG9yT3B0aW9uc0NhY2hlLmdldChjd2QpO1xuICBpZiAoIWNhY2hlZCkge1xuICAgIGNhY2hlZCA9IGdldERlY29yYXRvck9wdGlvbnNGb3JEaXJlY3RvcnkoY3dkKTtcbiAgICBkZWNvcmF0b3JPcHRpb25zQ2FjaGUuc2V0KGN3ZCwgY2FjaGVkKTtcbiAgfVxuICByZXR1cm4gY2FjaGVkO1xufVxuXG5leHBvcnQgdHlwZSBXb3JrZmxvd01hbmlmZXN0ID0ge1xuICBzdGVwcz86IHtcbiAgICBbcmVsYXRpdmVGaWxlTmFtZTogc3RyaW5nXToge1xuICAgICAgW2Z1bmN0aW9uTmFtZTogc3RyaW5nXToge1xuICAgICAgICBzdGVwSWQ6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgd29ya2Zsb3dzPzoge1xuICAgIFtyZWxhdGl2ZUZpbGVOYW1lOiBzdHJpbmddOiB7XG4gICAgICBbZnVuY3Rpb25OYW1lOiBzdHJpbmddOiB7XG4gICAgICAgIHdvcmtmbG93SWQ6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgY2xhc3Nlcz86IHtcbiAgICBbcmVsYXRpdmVGaWxlTmFtZTogc3RyaW5nXToge1xuICAgICAgW2NsYXNzTmFtZTogc3RyaW5nXToge1xuICAgICAgICBjbGFzc0lkOiBzdHJpbmc7XG4gICAgICB9O1xuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBwbHlTd2NUcmFuc2Zvcm0oXG4gIGZpbGVuYW1lOiBzdHJpbmcsXG4gIHNvdXJjZTogc3RyaW5nLFxuICBtb2RlOiAnd29ya2Zsb3cnIHwgJ3N0ZXAnIHwgJ2NsaWVudCcgfCBmYWxzZSxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFic29sdXRlIHBhdGggdG8gdGhlIGZpbGUgYmVpbmcgdHJhbnNmb3JtZWQuXG4gICAqIFVzZWQgZm9yIG1vZHVsZSBzcGVjaWZpZXIgcmVzb2x1dGlvbiB3aGVuIGZpbGVuYW1lIGlzIHJlbGF0aXZlLlxuICAgKiBJZiBub3QgcHJvdmlkZWQsIGZpbGVuYW1lIGlzIGpvaW5lZCB3aXRoIHByb2Nlc3MuY3dkKCkuXG4gICAqL1xuICBhYnNvbHV0ZVBhdGg/OiBzdHJpbmcsXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcm9qZWN0IHJvb3QgdXNlZCBmb3IgdHJhbnNmb3JtIGNvbnRleHQgc3VjaCBhcyB0c2NvbmZpZyBsb29rdXAuXG4gICAqIERlZmF1bHRzIHRvIHByb2Nlc3MuY3dkKCkgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAgKi9cbiAgcHJvamVjdFJvb3Q/OiBzdHJpbmcsXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcm9qZWN0IHJvb3QgdXNlZCBmb3IgcGFja2FnZS93b3Jrc3BhY2UgbW9kdWxlLXNwZWNpZmllclxuICAgKiByZXNvbHV0aW9uLiBEZWZhdWx0cyB0byBwcm9qZWN0Um9vdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gICAqL1xuICBtb2R1bGVTcGVjaWZpZXJSb290Pzogc3RyaW5nXG4pOiBQcm9taXNlPHtcbiAgY29kZTogc3RyaW5nO1xuICB3b3JrZmxvd01hbmlmZXN0OiBXb3JrZmxvd01hbmlmZXN0O1xufT4ge1xuICBjb25zdCByZXNvbHZlZFByb2plY3RSb290ID0gcHJvamVjdFJvb3QgPz8gcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3QgcmVzb2x2ZWRNb2R1bGVTcGVjaWZpZXJSb290ID1cbiAgICBtb2R1bGVTcGVjaWZpZXJSb290ID8/IHJlc29sdmVkUHJvamVjdFJvb3Q7XG4gIGNvbnN0IGRlY29yYXRvck9wdGlvbnMgPSBhd2FpdCBnZXREZWNvcmF0b3JPcHRpb25zKHJlc29sdmVkUHJvamVjdFJvb3QpO1xuXG4gIGNvbnN0IHN3Y1BsdWdpblBhdGggPSByZXF1aXJlLnJlc29sdmUoJ0B3b3JrZmxvdy9zd2MtcGx1Z2luJywge1xuICAgIHBhdGhzOiBbZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpXSxcbiAgfSk7XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIHRoaXMgaXMgYSBUeXBlU2NyaXB0IGZpbGVcbiAgY29uc3QgaXNUeXBlU2NyaXB0ID1cbiAgICBmaWxlbmFtZS5lbmRzV2l0aCgnLnRzJykgfHxcbiAgICBmaWxlbmFtZS5lbmRzV2l0aCgnLnRzeCcpIHx8XG4gICAgZmlsZW5hbWUuZW5kc1dpdGgoJy5tdHMnKSB8fFxuICAgIGZpbGVuYW1lLmVuZHNXaXRoKCcuY3RzJyk7XG5cbiAgLy8gUmVzb2x2ZSBtb2R1bGUgc3BlY2lmaWVyIGZvciBwYWNrYWdlcyAobm9kZV9tb2R1bGVzIG9yIHdvcmtzcGFjZSBwYWNrYWdlcylcbiAgY29uc3QgYWJzb2x1dGVGaWxlbmFtZSA9IGFic29sdXRlUGF0aFxuICAgID8gYWJzb2x1dGVQYXRoXG4gICAgOiBpc0Fic29sdXRlKGZpbGVuYW1lKVxuICAgICAgPyBmaWxlbmFtZVxuICAgICAgOiBqb2luKHJlc29sdmVkUHJvamVjdFJvb3QsIGZpbGVuYW1lKTtcbiAgY29uc3QgeyBtb2R1bGVTcGVjaWZpZXIgfSA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoXG4gICAgYWJzb2x1dGVGaWxlbmFtZSxcbiAgICByZXNvbHZlZE1vZHVsZVNwZWNpZmllclJvb3RcbiAgKTtcblxuICAvLyBUcmFuc2Zvcm0gd2l0aCBTV0MgdG8gc3VwcG9ydCBzeW50YXggZXNidWlsZCBkb2Vzbid0XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybShzb3VyY2UsIHtcbiAgICBmaWxlbmFtZSxcbiAgICBzd2NyYzogZmFsc2UsXG4gICAganNjOiB7XG4gICAgICBwYXJzZXI6IHtcbiAgICAgICAgLi4uKGlzVHlwZVNjcmlwdFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBzeW50YXg6ICd0eXBlc2NyaXB0JyxcbiAgICAgICAgICAgICAgdHN4OiBmaWxlbmFtZS5lbmRzV2l0aCgnLnRzeCcpLFxuICAgICAgICAgICAgICBkZWNvcmF0b3JzOiBkZWNvcmF0b3JPcHRpb25zLmRlY29yYXRvcnMsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIHN5bnRheDogJ2VjbWFzY3JpcHQnLFxuICAgICAgICAgICAgICBqc3g6IGZpbGVuYW1lLmVuZHNXaXRoKCcuanN4JyksXG4gICAgICAgICAgICAgIGRlY29yYXRvcnM6IGRlY29yYXRvck9wdGlvbnMuZGVjb3JhdG9ycyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHRhcmdldDogJ2VzMjAyMicsXG4gICAgICBleHBlcmltZW50YWw6IG1vZGVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBwbHVnaW5zOiBbW3N3Y1BsdWdpblBhdGgsIHsgbW9kZSwgbW9kdWxlU3BlY2lmaWVyIH1dXSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgdHJhbnNmb3JtOiB7XG4gICAgICAgIHJlYWN0OiB7XG4gICAgICAgICAgcnVudGltZTogJ3ByZXNlcnZlJyxcbiAgICAgICAgfSxcbiAgICAgICAgbGVnYWN5RGVjb3JhdG9yOiBkZWNvcmF0b3JPcHRpb25zLmxlZ2FjeURlY29yYXRvcixcbiAgICAgICAgZGVjb3JhdG9yTWV0YWRhdGE6IGRlY29yYXRvck9wdGlvbnMuZGVjb3JhdG9yTWV0YWRhdGEsXG4gICAgICB9LFxuICAgIH0sXG4gICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgcHJvcGVyIHNvdXJjZSBtYXAgc3VwcG9ydCBhcyB0aGV5XG4gICAgLy8gd29uJ3QgZXZlbiBiZSB1c2VkIGluIE5vZGUuanMgYnkgZGVmYXVsdCB1bmxlc3Mgd2VcbiAgICAvLyBpbnRlcmNlcHQgZXJyb3JzIGFuZCBhcHBseSB0aGVtIG91cnNlbHZlc1xuICAgIHNvdXJjZU1hcHM6IGZhbHNlLFxuICAgIG1pbmlmeTogZmFsc2UsXG4gIH0pO1xuXG4gIGNvbnN0IHdvcmtmbG93Q29tbWVudE1hdGNoID0gcmVzdWx0LmNvZGUubWF0Y2goXG4gICAgL1xcL1xcKlxcKl9faW50ZXJuYWxfd29ya2Zsb3dzKHsuKj99KVxcKlxcLy9zXG4gICk7XG5cbiAgY29uc3QgcGFyc2VkV29ya2Zsb3dzID0gSlNPTi5wYXJzZShcbiAgICB3b3JrZmxvd0NvbW1lbnRNYXRjaD8uWzFdIHx8ICd7fSdcbiAgKSBhcyBXb3JrZmxvd01hbmlmZXN0O1xuXG4gIHJldHVybiB7XG4gICAgY29kZTogcmVzdWx0LmNvZGUsXG4gICAgd29ya2Zsb3dNYW5pZmVzdDogcGFyc2VkV29ya2Zsb3dzIHx8IHt9LFxuICB9O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base-builder-logging.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-builder-logging.test.d.ts","sourceRoot":"","sources":["../src/base-builder-logging.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,99 @@
1
+ import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
2
+ import { tmpdir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
+ import { BaseBuilder } from './base-builder.js';
6
+ class TestBuilder extends BaseBuilder {
7
+ async build() {
8
+ // no-op
9
+ }
10
+ logProgress(...args) {
11
+ this.logBaseBuilderInfo(...args);
12
+ }
13
+ createTestManifest(args) {
14
+ return this.createManifest(args);
15
+ }
16
+ }
17
+ function createBuilder(workingDir) {
18
+ const config = {
19
+ buildTarget: 'standalone',
20
+ workingDir,
21
+ dirs: ['.'],
22
+ stepsBundlePath: join(workingDir, '.workflow', 'steps.js'),
23
+ workflowsBundlePath: join(workingDir, '.workflow', 'workflows.js'),
24
+ webhookBundlePath: join(workingDir, '.workflow', 'webhook.js'),
25
+ };
26
+ return new TestBuilder(config);
27
+ }
28
+ describe('base builder logging', () => {
29
+ let testRoot;
30
+ let debugSpy;
31
+ let logSpy;
32
+ beforeEach(() => {
33
+ testRoot = mkdtempSync(join(tmpdir(), 'workflow-builder-logging-'));
34
+ debugSpy = vi.spyOn(console, 'debug').mockImplementation(() => { });
35
+ logSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
36
+ });
37
+ afterEach(() => {
38
+ vi.unstubAllEnvs();
39
+ debugSpy.mockRestore();
40
+ logSpy.mockRestore();
41
+ rmSync(testRoot, { recursive: true, force: true });
42
+ });
43
+ it('hides progress logs by default', () => {
44
+ createBuilder(testRoot).logProgress('Created step registrations', '10ms');
45
+ expect(debugSpy).not.toHaveBeenCalled();
46
+ });
47
+ it('shows progress logs when DEBUG matches workflow:build', () => {
48
+ vi.stubEnv('DEBUG', 'workflow:build');
49
+ createBuilder(testRoot).logProgress('Created step registrations', '10ms');
50
+ expect(debugSpy).toHaveBeenCalledWith('[workflow:build] Created step registrations 10ms', '');
51
+ });
52
+ it.each([
53
+ 'workflow:*',
54
+ '*',
55
+ ])('shows progress logs when DEBUG wildcard %s matches workflow:build', (debugPattern) => {
56
+ vi.stubEnv('DEBUG', debugPattern);
57
+ createBuilder(testRoot).logProgress('Created step registrations', '10ms');
58
+ expect(debugSpy).toHaveBeenCalledWith('[workflow:build] Created step registrations 10ms', '');
59
+ });
60
+ it('hides progress logs when DEBUG negates workflow:build', () => {
61
+ vi.stubEnv('DEBUG', 'workflow:*,-workflow:build');
62
+ createBuilder(testRoot).logProgress('Created step registrations', '10ms');
63
+ expect(debugSpy).not.toHaveBeenCalled();
64
+ });
65
+ it('emits compact build and rebuild summaries when manifests are created', async () => {
66
+ const workflowBundlePath = join(testRoot, 'workflow.js');
67
+ const manifestDir = join(testRoot, '.well-known/workflow/v1');
68
+ mkdirSync(manifestDir, { recursive: true });
69
+ writeFileSync(workflowBundlePath, '', 'utf-8');
70
+ const builder = createBuilder(testRoot);
71
+ const manifest = {
72
+ steps: {
73
+ 'src/workflow.ts': {
74
+ stepOne: { stepId: 'step//src/workflow.ts//stepOne' },
75
+ stepTwo: { stepId: 'step//src/workflow.ts//stepTwo' },
76
+ },
77
+ },
78
+ workflows: {
79
+ 'src/workflow.ts': {
80
+ run: { workflowId: 'workflow//src/workflow.ts//run' },
81
+ },
82
+ },
83
+ };
84
+ await builder.createTestManifest({
85
+ workflowBundlePath,
86
+ manifestDir,
87
+ manifest,
88
+ });
89
+ await builder.createTestManifest({
90
+ workflowBundlePath,
91
+ manifestDir,
92
+ manifest,
93
+ });
94
+ expect(logSpy).toHaveBeenCalledTimes(2);
95
+ expect(logSpy.mock.calls[0]?.[0]).toMatch(/^workflows build complete \(2 steps, 1 workflow, time \d+(?:ms|\.\d+s)\)$/);
96
+ expect(logSpy.mock.calls[1]?.[0]).toMatch(/^workflows rebuilt \(2 steps, 1 workflow, time \d+(?:ms|\.\d+s)\)$/);
97
+ });
98
+ });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1idWlsZGVyLWxvZ2dpbmcudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlLWJ1aWxkZXItbG9nZ2luZy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHaEQsTUFBTSxXQUFZLFNBQVEsV0FBVztJQUNuQyxLQUFLLENBQUMsS0FBSztRQUNULFFBQVE7SUFDVixDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQUcsSUFBZTtRQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsSUFJekI7UUFDQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztDQUNGO0FBRUQsU0FBUyxhQUFhLENBQUMsVUFBa0I7SUFDdkMsTUFBTSxNQUFNLEdBQXFCO1FBQy9CLFdBQVcsRUFBRSxZQUFZO1FBQ3pCLFVBQVU7UUFDVixJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDWCxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDO1FBQzFELG1CQUFtQixFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLGNBQWMsQ0FBQztRQUNsRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUM7S0FDL0QsQ0FBQztJQUNGLE9BQU8sSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDcEMsSUFBSSxRQUFnQixDQUFDO0lBQ3JCLElBQUksUUFBcUMsQ0FBQztJQUMxQyxJQUFJLE1BQW1DLENBQUM7SUFFeEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLFFBQVEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLDJCQUEyQixDQUFDLENBQUMsQ0FBQztRQUNwRSxRQUFRLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsRUFBRTtRQUN4QyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx1REFBdUQsRUFBRSxHQUFHLEVBQUU7UUFDL0QsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUV0QyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsQ0FDbkMsa0RBQWtELEVBQ2xELEVBQUUsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsSUFBSSxDQUFDO1FBQ04sWUFBWTtRQUNaLEdBQUc7S0FDSixDQUFDLENBQUMsbUVBQW1FLEVBQUUsQ0FBQyxZQUFZLEVBQUUsRUFBRTtRQUN2RixFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVsQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsQ0FDbkMsa0RBQWtELEVBQ2xELEVBQUUsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdURBQXVELEVBQUUsR0FBRyxFQUFFO1FBQy9ELEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLDRCQUE0QixDQUFDLENBQUM7UUFFbEQsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUxRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsc0VBQXNFLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDcEYsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUM5RCxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUvQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQXFCO1lBQ2pDLEtBQUssRUFBRTtnQkFDTCxpQkFBaUIsRUFBRTtvQkFDakIsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLGdDQUFnQyxFQUFFO29CQUNyRCxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsZ0NBQWdDLEVBQUU7aUJBQ3REO2FBQ0Y7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsaUJBQWlCLEVBQUU7b0JBQ2pCLEdBQUcsRUFBRSxFQUFFLFVBQVUsRUFBRSxnQ0FBZ0MsRUFBRTtpQkFDdEQ7YUFDRjtTQUNGLENBQUM7UUFFRixNQUFNLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztZQUMvQixrQkFBa0I7WUFDbEIsV0FBVztZQUNYLFFBQVE7U0FDVCxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztZQUMvQixrQkFBa0I7WUFDbEIsV0FBVztZQUNYLFFBQVE7U0FDVCxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3ZDLDJFQUEyRSxDQUM1RSxDQUFDO1FBQ0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3ZDLG9FQUFvRSxDQUNyRSxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1rZGlyU3luYywgbWtkdGVtcFN5bmMsIHJtU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGFmdGVyRWFjaCwgYmVmb3JlRWFjaCwgZGVzY3JpYmUsIGV4cGVjdCwgaXQsIHZpIH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB0eXBlIHsgV29ya2Zsb3dNYW5pZmVzdCB9IGZyb20gJy4vYXBwbHktc3djLXRyYW5zZm9ybS5qcyc7XG5pbXBvcnQgeyBCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZS1idWlsZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3RhbmRhbG9uZUNvbmZpZyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jbGFzcyBUZXN0QnVpbGRlciBleHRlbmRzIEJhc2VCdWlsZGVyIHtcbiAgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gbm8tb3BcbiAgfVxuXG4gIHB1YmxpYyBsb2dQcm9ncmVzcyguLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICB0aGlzLmxvZ0Jhc2VCdWlsZGVySW5mbyguLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVUZXN0TWFuaWZlc3QoYXJnczoge1xuICAgIHdvcmtmbG93QnVuZGxlUGF0aDogc3RyaW5nO1xuICAgIG1hbmlmZXN0RGlyOiBzdHJpbmc7XG4gICAgbWFuaWZlc3Q6IFdvcmtmbG93TWFuaWZlc3Q7XG4gIH0pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1hbmlmZXN0KGFyZ3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJ1aWxkZXIod29ya2luZ0Rpcjogc3RyaW5nKTogVGVzdEJ1aWxkZXIge1xuICBjb25zdCBjb25maWc6IFN0YW5kYWxvbmVDb25maWcgPSB7XG4gICAgYnVpbGRUYXJnZXQ6ICdzdGFuZGFsb25lJyxcbiAgICB3b3JraW5nRGlyLFxuICAgIGRpcnM6IFsnLiddLFxuICAgIHN0ZXBzQnVuZGxlUGF0aDogam9pbih3b3JraW5nRGlyLCAnLndvcmtmbG93JywgJ3N0ZXBzLmpzJyksXG4gICAgd29ya2Zsb3dzQnVuZGxlUGF0aDogam9pbih3b3JraW5nRGlyLCAnLndvcmtmbG93JywgJ3dvcmtmbG93cy5qcycpLFxuICAgIHdlYmhvb2tCdW5kbGVQYXRoOiBqb2luKHdvcmtpbmdEaXIsICcud29ya2Zsb3cnLCAnd2ViaG9vay5qcycpLFxuICB9O1xuICByZXR1cm4gbmV3IFRlc3RCdWlsZGVyKGNvbmZpZyk7XG59XG5cbmRlc2NyaWJlKCdiYXNlIGJ1aWxkZXIgbG9nZ2luZycsICgpID0+IHtcbiAgbGV0IHRlc3RSb290OiBzdHJpbmc7XG4gIGxldCBkZWJ1Z1NweTogUmV0dXJuVHlwZTx0eXBlb2Ygdmkuc3B5T24+O1xuICBsZXQgbG9nU3B5OiBSZXR1cm5UeXBlPHR5cGVvZiB2aS5zcHlPbj47XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgdGVzdFJvb3QgPSBta2R0ZW1wU3luYyhqb2luKHRtcGRpcigpLCAnd29ya2Zsb3ctYnVpbGRlci1sb2dnaW5nLScpKTtcbiAgICBkZWJ1Z1NweSA9IHZpLnNweU9uKGNvbnNvbGUsICdkZWJ1ZycpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7fSk7XG4gICAgbG9nU3B5ID0gdmkuc3B5T24oY29uc29sZSwgJ2xvZycpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7fSk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgdmkudW5zdHViQWxsRW52cygpO1xuICAgIGRlYnVnU3B5Lm1vY2tSZXN0b3JlKCk7XG4gICAgbG9nU3B5Lm1vY2tSZXN0b3JlKCk7XG4gICAgcm1TeW5jKHRlc3RSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gIH0pO1xuXG4gIGl0KCdoaWRlcyBwcm9ncmVzcyBsb2dzIGJ5IGRlZmF1bHQnLCAoKSA9PiB7XG4gICAgY3JlYXRlQnVpbGRlcih0ZXN0Um9vdCkubG9nUHJvZ3Jlc3MoJ0NyZWF0ZWQgc3RlcCByZWdpc3RyYXRpb25zJywgJzEwbXMnKTtcblxuICAgIGV4cGVjdChkZWJ1Z1NweSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3dzIHByb2dyZXNzIGxvZ3Mgd2hlbiBERUJVRyBtYXRjaGVzIHdvcmtmbG93OmJ1aWxkJywgKCkgPT4ge1xuICAgIHZpLnN0dWJFbnYoJ0RFQlVHJywgJ3dvcmtmbG93OmJ1aWxkJyk7XG5cbiAgICBjcmVhdGVCdWlsZGVyKHRlc3RSb290KS5sb2dQcm9ncmVzcygnQ3JlYXRlZCBzdGVwIHJlZ2lzdHJhdGlvbnMnLCAnMTBtcycpO1xuXG4gICAgZXhwZWN0KGRlYnVnU3B5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAgICdbd29ya2Zsb3c6YnVpbGRdIENyZWF0ZWQgc3RlcCByZWdpc3RyYXRpb25zIDEwbXMnLFxuICAgICAgJydcbiAgICApO1xuICB9KTtcblxuICBpdC5lYWNoKFtcbiAgICAnd29ya2Zsb3c6KicsXG4gICAgJyonLFxuICBdKSgnc2hvd3MgcHJvZ3Jlc3MgbG9ncyB3aGVuIERFQlVHIHdpbGRjYXJkICVzIG1hdGNoZXMgd29ya2Zsb3c6YnVpbGQnLCAoZGVidWdQYXR0ZXJuKSA9PiB7XG4gICAgdmkuc3R1YkVudignREVCVUcnLCBkZWJ1Z1BhdHRlcm4pO1xuXG4gICAgY3JlYXRlQnVpbGRlcih0ZXN0Um9vdCkubG9nUHJvZ3Jlc3MoJ0NyZWF0ZWQgc3RlcCByZWdpc3RyYXRpb25zJywgJzEwbXMnKTtcblxuICAgIGV4cGVjdChkZWJ1Z1NweSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICAnW3dvcmtmbG93OmJ1aWxkXSBDcmVhdGVkIHN0ZXAgcmVnaXN0cmF0aW9ucyAxMG1zJyxcbiAgICAgICcnXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2hpZGVzIHByb2dyZXNzIGxvZ3Mgd2hlbiBERUJVRyBuZWdhdGVzIHdvcmtmbG93OmJ1aWxkJywgKCkgPT4ge1xuICAgIHZpLnN0dWJFbnYoJ0RFQlVHJywgJ3dvcmtmbG93OiosLXdvcmtmbG93OmJ1aWxkJyk7XG5cbiAgICBjcmVhdGVCdWlsZGVyKHRlc3RSb290KS5sb2dQcm9ncmVzcygnQ3JlYXRlZCBzdGVwIHJlZ2lzdHJhdGlvbnMnLCAnMTBtcycpO1xuXG4gICAgZXhwZWN0KGRlYnVnU3B5KS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnZW1pdHMgY29tcGFjdCBidWlsZCBhbmQgcmVidWlsZCBzdW1tYXJpZXMgd2hlbiBtYW5pZmVzdHMgYXJlIGNyZWF0ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgd29ya2Zsb3dCdW5kbGVQYXRoID0gam9pbih0ZXN0Um9vdCwgJ3dvcmtmbG93LmpzJyk7XG4gICAgY29uc3QgbWFuaWZlc3REaXIgPSBqb2luKHRlc3RSb290LCAnLndlbGwta25vd24vd29ya2Zsb3cvdjEnKTtcbiAgICBta2RpclN5bmMobWFuaWZlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIHdyaXRlRmlsZVN5bmMod29ya2Zsb3dCdW5kbGVQYXRoLCAnJywgJ3V0Zi04Jyk7XG5cbiAgICBjb25zdCBidWlsZGVyID0gY3JlYXRlQnVpbGRlcih0ZXN0Um9vdCk7XG4gICAgY29uc3QgbWFuaWZlc3Q6IFdvcmtmbG93TWFuaWZlc3QgPSB7XG4gICAgICBzdGVwczoge1xuICAgICAgICAnc3JjL3dvcmtmbG93LnRzJzoge1xuICAgICAgICAgIHN0ZXBPbmU6IHsgc3RlcElkOiAnc3RlcC8vc3JjL3dvcmtmbG93LnRzLy9zdGVwT25lJyB9LFxuICAgICAgICAgIHN0ZXBUd286IHsgc3RlcElkOiAnc3RlcC8vc3JjL3dvcmtmbG93LnRzLy9zdGVwVHdvJyB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAnc3JjL3dvcmtmbG93LnRzJzoge1xuICAgICAgICAgIHJ1bjogeyB3b3JrZmxvd0lkOiAnd29ya2Zsb3cvL3NyYy93b3JrZmxvdy50cy8vcnVuJyB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgYXdhaXQgYnVpbGRlci5jcmVhdGVUZXN0TWFuaWZlc3Qoe1xuICAgICAgd29ya2Zsb3dCdW5kbGVQYXRoLFxuICAgICAgbWFuaWZlc3REaXIsXG4gICAgICBtYW5pZmVzdCxcbiAgICB9KTtcbiAgICBhd2FpdCBidWlsZGVyLmNyZWF0ZVRlc3RNYW5pZmVzdCh7XG4gICAgICB3b3JrZmxvd0J1bmRsZVBhdGgsXG4gICAgICBtYW5pZmVzdERpcixcbiAgICAgIG1hbmlmZXN0LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KGxvZ1NweSkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDIpO1xuICAgIGV4cGVjdChsb2dTcHkubW9jay5jYWxsc1swXT8uWzBdKS50b01hdGNoKFxuICAgICAgL153b3JrZmxvd3MgYnVpbGQgY29tcGxldGUgXFwoMiBzdGVwcywgMSB3b3JrZmxvdywgdGltZSBcXGQrKD86bXN8XFwuXFxkK3MpXFwpJC9cbiAgICApO1xuICAgIGV4cGVjdChsb2dTcHkubW9jay5jYWxsc1sxXT8uWzBdKS50b01hdGNoKFxuICAgICAgL153b3JrZmxvd3MgcmVidWlsdCBcXCgyIHN0ZXBzLCAxIHdvcmtmbG93LCB0aW1lIFxcZCsoPzptc3xcXC5cXGQrcylcXCkkL1xuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1,11 +1,18 @@
1
1
  import * as esbuild from 'esbuild';
2
2
  import { type WorkflowManifest } from './apply-swc-transform.js';
3
+ import { type DiscoveredEntries } from './fast-discovery.js';
3
4
  import type { WorkflowConfig } from './types.js';
4
- export type DiscoveredEntryCollection = string[] | Set<string>;
5
- export interface DiscoveredEntries {
6
- discoveredSteps: DiscoveredEntryCollection;
7
- discoveredWorkflows: DiscoveredEntryCollection;
8
- discoveredSerdeFiles: DiscoveredEntryCollection;
5
+ export type { DiscoveredEntries } from './fast-discovery.js';
6
+ /**
7
+ * Permissive shape accepted by the bundle creation helpers. The fast discovery
8
+ * pass produces `Set<string>` collections, but some callers (e.g. the deferred
9
+ * Next.js builder) track discovered entries as `string[]`. Consumers only ever
10
+ * iterate these collections, so accept either form here.
11
+ */
12
+ export interface DiscoveredEntriesInput {
13
+ discoveredSteps: string[] | Set<string>;
14
+ discoveredWorkflows: string[] | Set<string>;
15
+ discoveredSerdeFiles: string[] | Set<string>;
9
16
  }
10
17
  /**
11
18
  * Base class for workflow builders. Provides common build logic for transforming
@@ -20,14 +27,16 @@ export declare abstract class BaseBuilder {
20
27
  * to avoid duplicate warnings across multiple discoverEntries() calls.
21
28
  */
22
29
  private warnedExternalPackages;
30
+ private workflowBuildStartTime;
31
+ private workflowBuildSummaryCount;
23
32
  constructor(config: WorkflowConfig);
24
33
  protected get transformProjectRoot(): string;
25
- /**
26
- * Whether informational BaseBuilder logs should be printed.
27
- * Subclasses can override this to silence progress logs while keeping warnings/errors.
28
- */
29
- protected get shouldLogBaseBuilderInfo(): boolean;
34
+ protected get moduleSpecifierRoot(): string;
30
35
  protected logBaseBuilderInfo(...args: unknown[]): void;
36
+ private startWorkflowBuildTimer;
37
+ private getWorkflowBuildDuration;
38
+ private resetWorkflowBuildTimer;
39
+ private getWorkflowBuildSummaryPrefix;
31
40
  private logCreateWorkflowsBundleInfo;
32
41
  private logCreateWebhookBundleInfo;
33
42
  private logCreateManifestInfo;
@@ -62,6 +71,7 @@ export declare abstract class BaseBuilder {
62
71
  * (e.g., when files are added/removed during watch mode).
63
72
  */
64
73
  private discoveredEntries;
74
+ clearDiscoveredEntriesCache(): void;
65
75
  /**
66
76
  * Pseudo-packages that should not be checked for workflow patterns.
67
77
  */
@@ -74,6 +84,13 @@ export declare abstract class BaseBuilder {
74
84
  */
75
85
  private warnAboutExternalWorkflowPackages;
76
86
  protected discoverEntries(inputs: string[], outdir: string, tsconfigPath?: string): Promise<DiscoveredEntries>;
87
+ /**
88
+ * Writes generated files atomically where possible. On Windows, Next.js can
89
+ * briefly hold generated route files open while compiling them, which makes
90
+ * rename-over-existing fail with EPERM/EACCES. In that case, fall back to a
91
+ * direct overwrite so watch rebuilds can still make progress.
92
+ */
93
+ private writeGeneratedFile;
77
94
  /**
78
95
  * Writes debug information to a JSON file for troubleshooting build issues.
79
96
  * Uses atomic write (temp file + rename) to prevent race conditions when
@@ -89,23 +106,27 @@ export declare abstract class BaseBuilder {
89
106
  * Converts an absolute file path to a normalized relative path for the manifest.
90
107
  */
91
108
  private getRelativeFilepath;
109
+ protected createRouteImportSpecifier(file: string, routeDir: string): string;
110
+ private createStepSourceRegistrationFile;
92
111
  /**
93
112
  * Creates a bundle for workflow step functions.
94
113
  * Steps have full Node.js runtime access and handle side effects, API calls, etc.
95
114
  *
96
115
  * @param externalizeNonSteps - If true, only bundles step entry points and externalizes other code
116
+ * @param sourceStepRegistrationImports - If true, emits a source import registration file instead of bundling step registrations
97
117
  * @param bundleTransitiveLocalStepDependencies - If true, also bundles project-local files imported by step entries for direct runtime loading
98
118
  * @returns Build context (for watch mode) and the collected workflow manifest
99
119
  */
100
- protected createStepsBundle({ inputFiles, format, outfile, externalizeNonSteps, bundleTransitiveLocalStepDependencies, rewriteTsExtensions, tsconfigPath, discoveredEntries, }: {
120
+ protected createStepsBundle({ inputFiles, format, outfile, externalizeNonSteps, bundleTransitiveLocalStepDependencies, sourceStepRegistrationImports, rewriteTsExtensions, tsconfigPath, discoveredEntries, }: {
101
121
  tsconfigPath?: string;
102
122
  inputFiles: string[];
103
123
  outfile: string;
104
124
  format?: 'cjs' | 'esm';
105
125
  externalizeNonSteps?: boolean;
106
126
  bundleTransitiveLocalStepDependencies?: boolean;
127
+ sourceStepRegistrationImports?: boolean;
107
128
  rewriteTsExtensions?: boolean;
108
- discoveredEntries?: DiscoveredEntries;
129
+ discoveredEntries?: DiscoveredEntriesInput;
109
130
  }): Promise<{
110
131
  context: esbuild.BuildContext | undefined;
111
132
  manifest: WorkflowManifest;
@@ -123,7 +144,7 @@ export declare abstract class BaseBuilder {
123
144
  format?: 'cjs' | 'esm';
124
145
  bundleFinalOutput?: boolean;
125
146
  keepInterimBundleContext?: boolean;
126
- discoveredEntries?: DiscoveredEntries;
147
+ discoveredEntries?: DiscoveredEntriesInput;
127
148
  }): Promise<{
128
149
  manifest: WorkflowManifest;
129
150
  interimBundleCtx?: esbuild.BuildContext;
@@ -176,7 +197,9 @@ export declare abstract class BaseBuilder {
176
197
  * Ensures the directory for a file path exists, creating it if necessary.
177
198
  */
178
199
  protected ensureDirectory(filePath: string): Promise<void>;
179
- private createSwcGitignore;
200
+ protected ensureSwcIgnored(): Promise<void>;
201
+ private ensureProjectSwcGitignoreEntry;
202
+ private createSwcDirectoryGitignore;
180
203
  /**
181
204
  * Whether the manifest should be exposed as a public HTTP route.
182
205
  * Controlled by the `WORKFLOW_PUBLIC_MANIFEST` environment variable.
@@ -1 +1 @@
1
- {"version":3,"file":"base-builder.d.ts","sourceRoot":"","sources":["../src/base-builder.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4BjD,MAAM,MAAM,yBAAyB,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,yBAAyB,CAAC;IAC3C,mBAAmB,EAAE,yBAAyB,CAAC;IAC/C,oBAAoB,EAAE,yBAAyB,CAAC;CACjD;AAED;;;;;GAKG;AACH,8BAAsB,WAAW;IAC/B,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IAEjC;;;OAGG;IACH,OAAO,CAAC,sBAAsB,CAAqB;gBAEvC,MAAM,EAAE,cAAc;IAIlC,SAAS,KAAK,oBAAoB,IAAI,MAAM,CAE3C;IAED;;;OAGG;IACH,SAAS,KAAK,wBAAwB,IAAI,OAAO,CAEhD;IAED,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAMtD,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,qBAAqB;IAM7B;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;;OAGG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B;;;OAGG;cACa,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK/D;;;;OAIG;cACa,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAsClD;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB,CACT;IAEhB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAGpC;IAEH;;;;;OAKG;YACW,iCAAiC;cA8F/B,eAAe,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,iBAAiB,CAAC;IAkD7B;;;;OAIG;YACW,cAAc;IA2C5B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA6C1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;;;;;;OAOG;cACa,iBAAiB,CAAC,EAChC,UAAU,EACV,MAAc,EACd,OAAO,EACP,mBAAmB,EACnB,qCAAqC,EACrC,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,GAClB,EAAE;QACD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;QACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,qCAAqC,CAAC,EAAE,OAAO,CAAC;QAChD,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;QAC1C,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,CAAC;IAwOF;;;;;OAKG;cACa,qBAAqB,CAAC,EACpC,UAAU,EACV,MAAc,EACd,OAAO,EACP,iBAAwB,EACxB,wBAA4C,EAC5C,YAAY,EACZ,iBAAiB,GAClB,EAAE;QACD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;QACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC,GAAG,OAAO,CAAC;QACV,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;QACxC,WAAW,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9D,CAAC;IAuUF;;;;OAIG;cACa,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0HpD;;;;OAIG;cACa,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAc,GACf,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+FjB;;OAEG;cACa,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,UAAU,GAAG,QAAQ,GAC1B,OAAO,CAAC,IAAI,CAAC;IAQhB;;OAEG;cACa,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAC7B,oBAAoB,CAAC,EAAE,KAAK,CAAC;YAC3B,IAAI,EAAE,cAAc,CAAC;YACrB,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;YACjB,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;SAC9B,CAAC,CAAC;KACJ,GACA,OAAO,CAAC,IAAI,CAAC;IAwBhB;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;cACa,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAIlD,kBAAkB;IAWhC;;;OAGG;IACH,SAAS,KAAK,0BAA0B,IAAI,OAAO,CAElD;IAED;;;OAGG;IACH,SAAS,KAAK,2BAA2B,IAAI,OAAO,CAInD;IAED;;;;;OAKG;cACa,cAAc,CAAC,EAC7B,kBAAkB,EAClB,WAAW,EACX,QAAQ,GACT,EAAE;QACD,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAuD/B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,wBAAwB;IAyDhC,OAAO,CAAC,sBAAsB;CAc/B"}
1
+ {"version":3,"file":"base-builder.d.ts","sourceRoot":"","sources":["../src/base-builder.ts"],"names":[],"mappings":"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"}