@workflow/builders 4.0.1-beta.9 → 5.0.0-beta.0

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 (115) hide show
  1. package/README.md +1 -1
  2. package/dist/apply-swc-transform.d.ts +19 -4
  3. package/dist/apply-swc-transform.d.ts.map +1 -1
  4. package/dist/apply-swc-transform.js +62 -7
  5. package/dist/apply-swc-transform.js.map +1 -1
  6. package/dist/base-builder.d.ts +77 -22
  7. package/dist/base-builder.d.ts.map +1 -1
  8. package/dist/base-builder.js +667 -202
  9. package/dist/base-builder.js.map +1 -1
  10. package/dist/build-queue.d.ts +18 -0
  11. package/dist/build-queue.d.ts.map +1 -0
  12. package/dist/build-queue.js +26 -0
  13. package/dist/build-queue.js.map +1 -0
  14. package/dist/config-helpers.d.ts +32 -0
  15. package/dist/config-helpers.d.ts.map +1 -1
  16. package/dist/config-helpers.js +61 -0
  17. package/dist/config-helpers.js.map +1 -1
  18. package/dist/constants.d.ts +2 -4
  19. package/dist/constants.d.ts.map +1 -1
  20. package/dist/constants.js +2 -4
  21. package/dist/constants.js.map +1 -1
  22. package/dist/discover-entries-esbuild-plugin.d.ts +5 -6
  23. package/dist/discover-entries-esbuild-plugin.d.ts.map +1 -1
  24. package/dist/discover-entries-esbuild-plugin.js +98 -30
  25. package/dist/discover-entries-esbuild-plugin.js.map +1 -1
  26. package/dist/discover-entries-esbuild-plugin.test.d.ts +2 -0
  27. package/dist/discover-entries-esbuild-plugin.test.d.ts.map +1 -0
  28. package/dist/discover-entries-esbuild-plugin.test.js +110 -0
  29. package/dist/discover-entries-esbuild-plugin.test.js.map +1 -0
  30. package/dist/esbuild-tsconfig.d.ts +13 -0
  31. package/dist/esbuild-tsconfig.d.ts.map +1 -0
  32. package/dist/esbuild-tsconfig.js +25 -0
  33. package/dist/esbuild-tsconfig.js.map +1 -0
  34. package/dist/esbuild-tsconfig.test.d.ts +2 -0
  35. package/dist/esbuild-tsconfig.test.d.ts.map +1 -0
  36. package/dist/esbuild-tsconfig.test.js +94 -0
  37. package/dist/esbuild-tsconfig.test.js.map +1 -0
  38. package/dist/get-input-files.test.d.ts +2 -0
  39. package/dist/get-input-files.test.d.ts.map +1 -0
  40. package/dist/get-input-files.test.js +121 -0
  41. package/dist/get-input-files.test.js.map +1 -0
  42. package/dist/index.d.ts +10 -3
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +9 -2
  45. package/dist/index.js.map +1 -1
  46. package/dist/module-specifier.d.ts +85 -0
  47. package/dist/module-specifier.d.ts.map +1 -0
  48. package/dist/module-specifier.js +448 -0
  49. package/dist/module-specifier.js.map +1 -0
  50. package/dist/module-specifier.test.d.ts +2 -0
  51. package/dist/module-specifier.test.d.ts.map +1 -0
  52. package/dist/module-specifier.test.js +240 -0
  53. package/dist/module-specifier.test.js.map +1 -0
  54. package/dist/node-module-esbuild-plugin.d.ts +37 -0
  55. package/dist/node-module-esbuild-plugin.d.ts.map +1 -1
  56. package/dist/node-module-esbuild-plugin.js +364 -7
  57. package/dist/node-module-esbuild-plugin.js.map +1 -1
  58. package/dist/node-module-esbuild-plugin.test.js +461 -146
  59. package/dist/node-module-esbuild-plugin.test.js.map +1 -1
  60. package/dist/pseudo-package-esbuild-plugin.d.ts +20 -0
  61. package/dist/pseudo-package-esbuild-plugin.d.ts.map +1 -0
  62. package/dist/pseudo-package-esbuild-plugin.js +47 -0
  63. package/dist/pseudo-package-esbuild-plugin.js.map +1 -0
  64. package/dist/pseudo-package-esbuild-plugin.test.d.ts +2 -0
  65. package/dist/pseudo-package-esbuild-plugin.test.d.ts.map +1 -0
  66. package/dist/pseudo-package-esbuild-plugin.test.js +315 -0
  67. package/dist/pseudo-package-esbuild-plugin.test.js.map +1 -0
  68. package/dist/request-converter.d.ts +3 -0
  69. package/dist/request-converter.d.ts.map +1 -0
  70. package/dist/request-converter.js +14 -0
  71. package/dist/request-converter.js.map +1 -0
  72. package/dist/serde-checker.d.ts +70 -0
  73. package/dist/serde-checker.d.ts.map +1 -0
  74. package/dist/serde-checker.js +118 -0
  75. package/dist/serde-checker.js.map +1 -0
  76. package/dist/standalone.d.ts +3 -0
  77. package/dist/standalone.d.ts.map +1 -1
  78. package/dist/standalone.js +37 -13
  79. package/dist/standalone.js.map +1 -1
  80. package/dist/swc-esbuild-plugin.d.ts +23 -2
  81. package/dist/swc-esbuild-plugin.d.ts.map +1 -1
  82. package/dist/swc-esbuild-plugin.js +133 -43
  83. package/dist/swc-esbuild-plugin.js.map +1 -1
  84. package/dist/swc-esbuild-plugin.test.d.ts +2 -0
  85. package/dist/swc-esbuild-plugin.test.d.ts.map +1 -0
  86. package/dist/swc-esbuild-plugin.test.js +493 -0
  87. package/dist/swc-esbuild-plugin.test.js.map +1 -0
  88. package/dist/transform-utils.d.ts +68 -0
  89. package/dist/transform-utils.d.ts.map +1 -0
  90. package/dist/transform-utils.js +102 -0
  91. package/dist/transform-utils.js.map +1 -0
  92. package/dist/transform-utils.test.d.ts +2 -0
  93. package/dist/transform-utils.test.d.ts.map +1 -0
  94. package/dist/transform-utils.test.js +302 -0
  95. package/dist/transform-utils.test.js.map +1 -0
  96. package/dist/types.d.ts +31 -2
  97. package/dist/types.d.ts.map +1 -1
  98. package/dist/types.js +2 -0
  99. package/dist/types.js.map +1 -1
  100. package/dist/vercel-build-output-api.d.ts.map +1 -1
  101. package/dist/vercel-build-output-api.js +38 -14
  102. package/dist/vercel-build-output-api.js.map +1 -1
  103. package/dist/workflow-alias.d.ts +3 -0
  104. package/dist/workflow-alias.d.ts.map +1 -0
  105. package/dist/workflow-alias.js +65 -0
  106. package/dist/workflow-alias.js.map +1 -0
  107. package/dist/workflow-alias.test.d.ts +2 -0
  108. package/dist/workflow-alias.test.d.ts.map +1 -0
  109. package/dist/workflow-alias.test.js +53 -0
  110. package/dist/workflow-alias.test.js.map +1 -0
  111. package/dist/workflows-extractor.d.ts +92 -0
  112. package/dist/workflows-extractor.d.ts.map +1 -0
  113. package/dist/workflows-extractor.js +1476 -0
  114. package/dist/workflows-extractor.js.map +1 -0
  115. package/package.json +14 -13
@@ -0,0 +1,240 @@
1
+ import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
2
+ import { tmpdir } from 'node:os';
3
+ import { dirname, join } from 'node:path';
4
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
5
+ import { clearModuleSpecifierCache, getImportPath, resolveModuleSpecifier, } from './module-specifier.js';
6
+ function writeJson(path, value) {
7
+ mkdirSync(dirname(path), { recursive: true });
8
+ writeFileSync(path, JSON.stringify(value, null, 2), 'utf-8');
9
+ }
10
+ function writeFile(path, contents = '') {
11
+ mkdirSync(dirname(path), { recursive: true });
12
+ writeFileSync(path, contents, 'utf-8');
13
+ }
14
+ describe('getImportPath', () => {
15
+ let testRoot;
16
+ beforeEach(() => {
17
+ clearModuleSpecifierCache();
18
+ testRoot = mkdtempSync(join(tmpdir(), 'workflow-module-specifier-'));
19
+ });
20
+ afterEach(() => {
21
+ clearModuleSpecifierCache();
22
+ rmSync(testRoot, { recursive: true, force: true });
23
+ });
24
+ it('uses package subpath import when file matches an export subpath', () => {
25
+ const projectRoot = join(testRoot, 'apps/chat');
26
+ const workspacePkgDir = join(testRoot, 'packages/agent');
27
+ const filePath = join(workspacePkgDir, 'src/server.ts');
28
+ writeJson(join(projectRoot, 'package.json'), {
29
+ name: 'chat',
30
+ dependencies: { '@internal/agent': 'workspace:*' },
31
+ });
32
+ writeJson(join(workspacePkgDir, 'package.json'), {
33
+ name: '@internal/agent',
34
+ version: '1.0.0',
35
+ exports: {
36
+ './server': './src/server.ts',
37
+ },
38
+ });
39
+ writeFile(filePath, `'use step';\n`);
40
+ expect(getImportPath(filePath, projectRoot)).toEqual({
41
+ importPath: '@internal/agent/server',
42
+ isPackage: true,
43
+ });
44
+ });
45
+ it('falls back to relative import when package has no root export', () => {
46
+ const projectRoot = join(testRoot, 'apps/chat');
47
+ const workspacePkgDir = join(testRoot, 'packages/agent');
48
+ const filePath = join(workspacePkgDir, 'src/server.ts');
49
+ writeJson(join(projectRoot, 'package.json'), {
50
+ name: 'chat',
51
+ dependencies: { '@internal/agent': 'workspace:*' },
52
+ });
53
+ writeJson(join(workspacePkgDir, 'package.json'), {
54
+ name: '@internal/agent',
55
+ version: '1.0.0',
56
+ exports: {
57
+ './server': './dist/server.js',
58
+ },
59
+ });
60
+ writeFile(filePath, `'use step';\n`);
61
+ expect(getImportPath(filePath, projectRoot)).toEqual({
62
+ importPath: '../../packages/agent/src/server.ts',
63
+ isPackage: false,
64
+ });
65
+ });
66
+ it('uses package root import for root exports', () => {
67
+ const projectRoot = join(testRoot, 'apps/chat');
68
+ const workspacePkgDir = join(testRoot, 'packages/agent');
69
+ const filePath = join(workspacePkgDir, 'src/index.ts');
70
+ writeJson(join(projectRoot, 'package.json'), {
71
+ name: 'chat',
72
+ dependencies: { '@internal/agent': 'workspace:*' },
73
+ });
74
+ writeJson(join(workspacePkgDir, 'package.json'), {
75
+ name: '@internal/agent',
76
+ version: '1.0.0',
77
+ exports: {
78
+ '.': './src/index.ts',
79
+ },
80
+ });
81
+ writeFile(filePath, `'use workflow';\n`);
82
+ expect(getImportPath(filePath, projectRoot)).toEqual({
83
+ importPath: '@internal/agent',
84
+ isPackage: true,
85
+ });
86
+ });
87
+ it('uses package root import when package module points to file', () => {
88
+ const projectRoot = join(testRoot, 'apps/chat');
89
+ const workspacePkgDir = join(testRoot, 'packages/agent');
90
+ const filePath = join(workspacePkgDir, 'src/index.mjs');
91
+ writeJson(join(projectRoot, 'package.json'), {
92
+ name: 'chat',
93
+ dependencies: { '@internal/agent': 'workspace:*' },
94
+ });
95
+ writeJson(join(workspacePkgDir, 'package.json'), {
96
+ name: '@internal/agent',
97
+ version: '1.0.0',
98
+ module: './src/index.mjs',
99
+ main: './dist/index.cjs',
100
+ });
101
+ writeFile(filePath, `'use workflow';\n`);
102
+ expect(getImportPath(filePath, projectRoot)).toEqual({
103
+ importPath: '@internal/agent',
104
+ isPackage: true,
105
+ });
106
+ });
107
+ it('uses package root import for conditional root exports', () => {
108
+ const projectRoot = join(testRoot, 'apps/chat');
109
+ const workspacePkgDir = join(testRoot, 'packages/agent');
110
+ const filePath = join(workspacePkgDir, 'src/index.js');
111
+ writeJson(join(projectRoot, 'package.json'), {
112
+ name: 'chat',
113
+ dependencies: { '@internal/agent': 'workspace:*' },
114
+ });
115
+ writeJson(join(workspacePkgDir, 'package.json'), {
116
+ name: '@internal/agent',
117
+ version: '1.0.0',
118
+ exports: {
119
+ '.': {
120
+ import: './src/index.mjs',
121
+ default: './src/index.js',
122
+ },
123
+ },
124
+ });
125
+ writeFile(filePath, `'use workflow';\n`);
126
+ expect(getImportPath(filePath, projectRoot)).toEqual({
127
+ importPath: '@internal/agent',
128
+ isPackage: true,
129
+ });
130
+ });
131
+ it('falls back to relative import for deep files in packages without exports', () => {
132
+ const projectRoot = join(testRoot, 'apps/chat');
133
+ const workspacePkgDir = join(testRoot, 'packages/agent');
134
+ const filePath = join(workspacePkgDir, 'lib/tools/dynamic/workflow.ts');
135
+ writeJson(join(projectRoot, 'package.json'), {
136
+ name: 'chat',
137
+ dependencies: { '@internal/agent': 'workspace:*' },
138
+ });
139
+ writeJson(join(workspacePkgDir, 'package.json'), {
140
+ name: '@internal/agent',
141
+ version: '1.0.0',
142
+ });
143
+ writeFile(filePath, `'use workflow';\n`);
144
+ expect(getImportPath(filePath, projectRoot)).toEqual({
145
+ importPath: '../../packages/agent/lib/tools/dynamic/workflow.ts',
146
+ isPackage: false,
147
+ });
148
+ });
149
+ it('uses package root import when package main points to file', () => {
150
+ const projectRoot = join(testRoot, 'apps/chat');
151
+ const workspacePkgDir = join(testRoot, 'packages/agent');
152
+ const filePath = join(workspacePkgDir, 'src/index.ts');
153
+ writeJson(join(projectRoot, 'package.json'), {
154
+ name: 'chat',
155
+ dependencies: { '@internal/agent': 'workspace:*' },
156
+ });
157
+ writeJson(join(workspacePkgDir, 'package.json'), {
158
+ name: '@internal/agent',
159
+ version: '1.0.0',
160
+ main: './src/index.ts',
161
+ });
162
+ writeFile(filePath, `'use step';\n`);
163
+ expect(getImportPath(filePath, projectRoot)).toEqual({
164
+ importPath: '@internal/agent',
165
+ isPackage: true,
166
+ });
167
+ });
168
+ it('uses package subpath import for direct node_modules dependencies', () => {
169
+ const projectRoot = join(testRoot, 'apps/chat');
170
+ const packageDir = join(testRoot, 'apps/chat/node_modules/@workflow/core');
171
+ const filePath = join(packageDir, 'dist/serialization.js');
172
+ writeJson(join(projectRoot, 'package.json'), {
173
+ name: 'chat',
174
+ dependencies: { '@workflow/core': '1.0.0' },
175
+ });
176
+ writeJson(join(packageDir, 'package.json'), {
177
+ name: '@workflow/core',
178
+ version: '1.0.0',
179
+ exports: {
180
+ './serialization': './dist/serialization.js',
181
+ },
182
+ });
183
+ writeFile(filePath, `'use workflow';\n`);
184
+ expect(getImportPath(filePath, projectRoot)).toEqual({
185
+ importPath: '@workflow/core/serialization',
186
+ isPackage: true,
187
+ });
188
+ });
189
+ it('falls back to relative import for transitive node_modules dependencies', () => {
190
+ const projectRoot = join(testRoot, 'apps/chat');
191
+ const packageDir = join(testRoot, 'apps/chat/node_modules/@workflow/core');
192
+ const filePath = join(packageDir, 'dist/serialization.js');
193
+ writeJson(join(projectRoot, 'package.json'), {
194
+ name: 'chat',
195
+ dependencies: { workflow: '1.0.0' },
196
+ });
197
+ writeJson(join(packageDir, 'package.json'), {
198
+ name: '@workflow/core',
199
+ version: '1.0.0',
200
+ exports: {
201
+ './serialization': './dist/serialization.js',
202
+ },
203
+ });
204
+ writeFile(filePath, `'use workflow';\n`);
205
+ expect(getImportPath(filePath, projectRoot)).toEqual({
206
+ importPath: './node_modules/@workflow/core/dist/serialization.js',
207
+ isPackage: false,
208
+ });
209
+ });
210
+ it('treats a workspace package file as local when projectRoot is the package itself', () => {
211
+ const projectRoot = join(testRoot, 'packages/vade');
212
+ const filePath = join(projectRoot, 'src/internal/message/workflow/handle-message.ts');
213
+ writeJson(join(projectRoot, 'package.json'), {
214
+ name: 'vade',
215
+ version: '0.0.0',
216
+ });
217
+ writeFile(filePath, `'use workflow';\n`);
218
+ expect(resolveModuleSpecifier(filePath, projectRoot)).toEqual({
219
+ moduleSpecifier: undefined,
220
+ });
221
+ });
222
+ it('uses the consuming app root to resolve workspace package workflow ids', () => {
223
+ const projectRoot = join(testRoot, 'apps/chat');
224
+ const packageDir = join(testRoot, 'packages/vade');
225
+ const filePath = join(packageDir, 'src/internal/message/workflow/handle-message.ts');
226
+ writeJson(join(projectRoot, 'package.json'), {
227
+ name: 'chat',
228
+ dependencies: { vade: 'workspace:*' },
229
+ });
230
+ writeJson(join(packageDir, 'package.json'), {
231
+ name: 'vade',
232
+ version: '0.0.0',
233
+ });
234
+ writeFile(filePath, `'use workflow';\n`);
235
+ expect(resolveModuleSpecifier(filePath, projectRoot)).toEqual({
236
+ moduleSpecifier: 'vade@0.0.0',
237
+ });
238
+ });
239
+ });
240
+ //# sourceMappingURL=module-specifier.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-specifier.test.js","sourceRoot":"","sources":["../src/module-specifier.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,40 @@
1
1
  import type * as esbuild from 'esbuild';
2
+ /**
3
+ * Get the package name from a file path.
4
+ * @param filePath - The file path to get the package name from.
5
+ * @returns The package name.
6
+ */
7
+ export declare function getPackageName(filePath: string): string | null;
8
+ /**
9
+ * Escape a regular expression string.
10
+ * @param value - The string to escape.
11
+ * @returns The escaped string.
12
+ */
13
+ export declare function escapeRegExp(value: string): string;
14
+ /**
15
+ * Get the imported identifier from a specifier.
16
+ * @param specifier - The specifier to get the imported identifier from.
17
+ * @returns The imported identifier.
18
+ */
19
+ export declare function getImportedIdentifier(specifier: string): string | undefined;
20
+ /**
21
+ * Get the location of a violation.
22
+ * @param cwd - The current working directory.
23
+ * @param relativePath - The relative path to the file.
24
+ * @param packageName - The name of the package.
25
+ * @returns The location of the violation.
26
+ */
27
+ export declare function getViolationLocation(cwd: string, relativePath: string, packageName: string): Promise<{
28
+ file: string;
29
+ line: number;
30
+ column: number;
31
+ lineText: string;
32
+ length: number;
33
+ } | undefined>;
34
+ /**
35
+ * Create an esbuild plugin to detect violations of the Node.js module usage rule.
36
+ * This plugin prevents workflow functions from importing Node.js or Bun built-in
37
+ * modules, which are not available in the sandboxed workflow runtime.
38
+ */
2
39
  export declare function createNodeModuleErrorPlugin(): esbuild.Plugin;
3
40
  //# sourceMappingURL=node-module-esbuild-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-module-esbuild-plugin.d.ts","sourceRoot":"","sources":["../src/node-module-esbuild-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AAQxC,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAgB5D"}
1
+ {"version":3,"file":"node-module-esbuild-plugin.d.ts","sourceRoot":"","sources":["../src/node-module-esbuild-plugin.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AA2BxC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,iBAoB9C;AAwCD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,UAEzC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,sBAkCtD;AAyED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM;;;;;;eAkDpB;AAcD;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAkK5D"}