@workflow/builders 5.0.0-beta.26 → 5.0.0-beta.28

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 (53) hide show
  1. package/dist/base-builder-logging.test.js +4 -4
  2. package/dist/base-builder.d.ts +16 -3
  3. package/dist/base-builder.d.ts.map +1 -1
  4. package/dist/base-builder.js +111 -35
  5. package/dist/config-helpers.d.ts +2 -0
  6. package/dist/config-helpers.d.ts.map +1 -1
  7. package/dist/config-helpers.js +62 -1
  8. package/dist/config-helpers.test.d.ts +2 -0
  9. package/dist/config-helpers.test.d.ts.map +1 -0
  10. package/dist/config-helpers.test.js +17 -0
  11. package/dist/constants.d.ts +2 -0
  12. package/dist/constants.d.ts.map +1 -1
  13. package/dist/constants.js +10 -1
  14. package/dist/constants.test.js +3 -2
  15. package/dist/discover-entries-esbuild-plugin.d.ts +3 -1
  16. package/dist/discover-entries-esbuild-plugin.d.ts.map +1 -1
  17. package/dist/discover-entries-esbuild-plugin.js +6 -2
  18. package/dist/fast-discovery.d.ts +6 -0
  19. package/dist/fast-discovery.d.ts.map +1 -1
  20. package/dist/fast-discovery.js +116 -5
  21. package/dist/fast-discovery.test.js +36 -1
  22. package/dist/index.d.ts +6 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +7 -3
  25. package/dist/node-compat-banner.d.ts +15 -0
  26. package/dist/node-compat-banner.d.ts.map +1 -0
  27. package/dist/node-compat-banner.js +15 -0
  28. package/dist/optional-pg-native-alias.d.ts +2 -0
  29. package/dist/optional-pg-native-alias.d.ts.map +1 -0
  30. package/dist/optional-pg-native-alias.js +3 -0
  31. package/dist/optional-pg-native.d.ts +3 -0
  32. package/dist/optional-pg-native.d.ts.map +1 -0
  33. package/dist/optional-pg-native.js +3 -0
  34. package/dist/optional-typescript-alias.d.ts +2 -0
  35. package/dist/optional-typescript-alias.d.ts.map +1 -0
  36. package/dist/optional-typescript-alias.js +3 -0
  37. package/dist/optional-typescript.d.ts +3 -0
  38. package/dist/optional-typescript.d.ts.map +1 -0
  39. package/dist/optional-typescript.js +9 -0
  40. package/dist/swc-esbuild-plugin.d.ts.map +1 -1
  41. package/dist/swc-esbuild-plugin.js +7 -2
  42. package/dist/types.d.ts +1 -0
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js +1 -1
  45. package/dist/workflows-extractor.js +2 -2
  46. package/dist/workflows-extractor.test.js +31 -1
  47. package/dist/world-target.d.ts +20 -0
  48. package/dist/world-target.d.ts.map +1 -0
  49. package/dist/world-target.js +74 -0
  50. package/dist/world-target.test.d.ts +2 -0
  51. package/dist/world-target.test.d.ts.map +1 -0
  52. package/dist/world-target.test.js +106 -0
  53. package/package.json +6 -4
@@ -36,5 +36,35 @@ describe('extractWorkflowGraphs', () => {
36
36
  });
37
37
  expect(consoleError).not.toHaveBeenCalled();
38
38
  });
39
+ it('extracts step nodes when step proxies include pure annotations', async () => {
40
+ tempDir = await mkdtemp(join(tmpdir(), 'workflow-builders-'));
41
+ const bundlePath = join(tempDir, 'workflow-bundle.js');
42
+ await writeFile(bundlePath, [
43
+ 'var stepOne = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//./input.ts//stepOne");',
44
+ 'async function testWorkflow(input) {',
45
+ ' const output = await stepOne(input);',
46
+ ' return output;',
47
+ '}',
48
+ 'testWorkflow.workflowId = "workflow//./input.ts//testWorkflow";',
49
+ ].join('\n'));
50
+ await expect(extractWorkflowGraphs(bundlePath)).resolves.toEqual({
51
+ './input.ts': {
52
+ testWorkflow: expect.objectContaining({
53
+ workflowId: 'workflow//./input.ts//testWorkflow',
54
+ graph: expect.objectContaining({
55
+ nodes: expect.arrayContaining([
56
+ expect.objectContaining({
57
+ type: 'step',
58
+ data: expect.objectContaining({
59
+ label: 'stepOne',
60
+ stepId: 'step//./input.ts//stepOne',
61
+ }),
62
+ }),
63
+ ]),
64
+ }),
65
+ }),
66
+ },
67
+ });
68
+ });
39
69
  });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3dzLWV4dHJhY3Rvci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dvcmtmbG93cy1leHRyYWN0b3IudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakUsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtJQUNyQyxJQUFJLE9BQTJCLENBQUM7SUFFaEMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVyQixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNwRCxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx1RUFBdUUsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNyRixPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDdkQsTUFBTSxZQUFZLEdBQUcsRUFBRTthQUNwQixLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQzthQUN2QixrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztRQUVoQyxNQUFNLFNBQVMsQ0FDYixVQUFVLEVBQ1Y7WUFDRSx3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLGdFQUFnRTtZQUNoRSxzQkFBc0I7WUFDdEIsR0FBRztZQUNILHlEQUF5RDtZQUN6RCxJQUFJO1NBQ0wsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ2IsQ0FBQztRQUVGLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUMvRCxZQUFZLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsVUFBVSxFQUFFLGdDQUFnQztpQkFDN0MsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBta2R0ZW1wLCBybSwgd3JpdGVGaWxlIH0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyB0bXBkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgYWZ0ZXJFYWNoLCBkZXNjcmliZSwgZXhwZWN0LCBpdCwgdmkgfSBmcm9tICd2aXRlc3QnO1xuaW1wb3J0IHsgZXh0cmFjdFdvcmtmbG93R3JhcGhzIH0gZnJvbSAnLi93b3JrZmxvd3MtZXh0cmFjdG9yLmpzJztcblxuZGVzY3JpYmUoJ2V4dHJhY3RXb3JrZmxvd0dyYXBocycsICgpID0+IHtcbiAgbGV0IHRlbXBEaXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBhZnRlckVhY2goYXN5bmMgKCkgPT4ge1xuICAgIHZpLnJlc3RvcmVBbGxNb2NrcygpO1xuXG4gICAgaWYgKHRlbXBEaXIpIHtcbiAgICAgIGF3YWl0IHJtKHRlbXBEaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICAgIHRlbXBEaXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9KTtcblxuICBpdCgncGFyc2VzIHdvcmtmbG93Q29kZSB0ZW1wbGF0ZSBsaXRlcmFscyB3aXRoIHVuaWNvZGUtZXNjYXBlIGlkZW50aWZpZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIHRlbXBEaXIgPSBhd2FpdCBta2R0ZW1wKGpvaW4odG1wZGlyKCksICd3b3JrZmxvdy1idWlsZGVycy0nKSk7XG4gICAgY29uc3QgYnVuZGxlUGF0aCA9IGpvaW4odGVtcERpciwgJ3dvcmtmbG93LWJ1bmRsZS5qcycpO1xuICAgIGNvbnN0IGNvbnNvbGVFcnJvciA9IHZpXG4gICAgICAuc3B5T24oY29uc29sZSwgJ2Vycm9yJylcbiAgICAgIC5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge30pO1xuXG4gICAgYXdhaXQgd3JpdGVGaWxlKFxuICAgICAgYnVuZGxlUGF0aCxcbiAgICAgIFtcbiAgICAgICAgJ2NvbnN0IHdvcmtmbG93Q29kZSA9IGAnLFxuICAgICAgICAnZnVuY3Rpb24gd29ya2Zsb3coKSB7JyxcbiAgICAgICAgJyAgdmFyIERFQlVSUl9NQVAgPSBuZXcgTWFwKE9iamVjdC5lbnRyaWVzKHtcXFxcXFxcXHUwMEM2OiBcIkFlXCJ9KSk7JyxcbiAgICAgICAgJyAgcmV0dXJuIERFQlVSUl9NQVA7JyxcbiAgICAgICAgJ30nLFxuICAgICAgICAnd29ya2Zsb3cud29ya2Zsb3dJZCA9IFwid29ya2Zsb3cvLy4vaW5wdXQuanMvL3dvcmtmbG93XCI7JyxcbiAgICAgICAgJ2A7JyxcbiAgICAgIF0uam9pbignXFxuJylcbiAgICApO1xuXG4gICAgYXdhaXQgZXhwZWN0KGV4dHJhY3RXb3JrZmxvd0dyYXBocyhidW5kbGVQYXRoKSkucmVzb2x2ZXMudG9FcXVhbCh7XG4gICAgICAnLi9pbnB1dC5qcyc6IHtcbiAgICAgICAgd29ya2Zsb3c6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICB3b3JrZmxvd0lkOiAnd29ya2Zsb3cvLy4vaW5wdXQuanMvL3dvcmtmbG93JyxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGV4cGVjdChjb25zb2xlRXJyb3IpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xufSk7XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3dzLWV4dHJhY3Rvci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dvcmtmbG93cy1leHRyYWN0b3IudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakUsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtJQUNyQyxJQUFJLE9BQTJCLENBQUM7SUFFaEMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVyQixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNwRCxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx1RUFBdUUsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNyRixPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDdkQsTUFBTSxZQUFZLEdBQUcsRUFBRTthQUNwQixLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQzthQUN2QixrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztRQUVoQyxNQUFNLFNBQVMsQ0FDYixVQUFVLEVBQ1Y7WUFDRSx3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLGdFQUFnRTtZQUNoRSxzQkFBc0I7WUFDdEIsR0FBRztZQUNILHlEQUF5RDtZQUN6RCxJQUFJO1NBQ0wsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ2IsQ0FBQztRQUVGLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUMvRCxZQUFZLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsVUFBVSxFQUFFLGdDQUFnQztpQkFDN0MsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdFQUFnRSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzlFLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUV2RCxNQUFNLFNBQVMsQ0FDYixVQUFVLEVBQ1Y7WUFDRSx5R0FBeUc7WUFDekcsc0NBQXNDO1lBQ3RDLHdDQUF3QztZQUN4QyxrQkFBa0I7WUFDbEIsR0FBRztZQUNILGlFQUFpRTtTQUNsRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDYixDQUFDO1FBRUYsTUFBTSxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQy9ELFlBQVksRUFBRTtnQkFDWixZQUFZLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO29CQUNwQyxVQUFVLEVBQUUsb0NBQW9DO29CQUNoRCxLQUFLLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO3dCQUM3QixLQUFLLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQzs0QkFDNUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2dDQUN0QixJQUFJLEVBQUUsTUFBTTtnQ0FDWixJQUFJLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO29DQUM1QixLQUFLLEVBQUUsU0FBUztvQ0FDaEIsTUFBTSxFQUFFLDJCQUEyQjtpQ0FDcEMsQ0FBQzs2QkFDSCxDQUFDO3lCQUNILENBQUM7cUJBQ0gsQ0FBQztpQkFDSCxDQUFDO2FBQ0g7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWtkdGVtcCwgcm0sIHdyaXRlRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGFmdGVyRWFjaCwgZGVzY3JpYmUsIGV4cGVjdCwgaXQsIHZpIH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7IGV4dHJhY3RXb3JrZmxvd0dyYXBocyB9IGZyb20gJy4vd29ya2Zsb3dzLWV4dHJhY3Rvci5qcyc7XG5cbmRlc2NyaWJlKCdleHRyYWN0V29ya2Zsb3dHcmFwaHMnLCAoKSA9PiB7XG4gIGxldCB0ZW1wRGlyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgYWZ0ZXJFYWNoKGFzeW5jICgpID0+IHtcbiAgICB2aS5yZXN0b3JlQWxsTW9ja3MoKTtcblxuICAgIGlmICh0ZW1wRGlyKSB7XG4gICAgICBhd2FpdCBybSh0ZW1wRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gICAgICB0ZW1wRGlyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ3BhcnNlcyB3b3JrZmxvd0NvZGUgdGVtcGxhdGUgbGl0ZXJhbHMgd2l0aCB1bmljb2RlLWVzY2FwZSBpZGVudGlmaWVycycsIGFzeW5jICgpID0+IHtcbiAgICB0ZW1wRGlyID0gYXdhaXQgbWtkdGVtcChqb2luKHRtcGRpcigpLCAnd29ya2Zsb3ctYnVpbGRlcnMtJykpO1xuICAgIGNvbnN0IGJ1bmRsZVBhdGggPSBqb2luKHRlbXBEaXIsICd3b3JrZmxvdy1idW5kbGUuanMnKTtcbiAgICBjb25zdCBjb25zb2xlRXJyb3IgPSB2aVxuICAgICAgLnNweU9uKGNvbnNvbGUsICdlcnJvcicpXG4gICAgICAubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHt9KTtcblxuICAgIGF3YWl0IHdyaXRlRmlsZShcbiAgICAgIGJ1bmRsZVBhdGgsXG4gICAgICBbXG4gICAgICAgICdjb25zdCB3b3JrZmxvd0NvZGUgPSBgJyxcbiAgICAgICAgJ2Z1bmN0aW9uIHdvcmtmbG93KCkgeycsXG4gICAgICAgICcgIHZhciBERUJVUlJfTUFQID0gbmV3IE1hcChPYmplY3QuZW50cmllcyh7XFxcXFxcXFx1MDBDNjogXCJBZVwifSkpOycsXG4gICAgICAgICcgIHJldHVybiBERUJVUlJfTUFQOycsXG4gICAgICAgICd9JyxcbiAgICAgICAgJ3dvcmtmbG93LndvcmtmbG93SWQgPSBcIndvcmtmbG93Ly8uL2lucHV0LmpzLy93b3JrZmxvd1wiOycsXG4gICAgICAgICdgOycsXG4gICAgICBdLmpvaW4oJ1xcbicpXG4gICAgKTtcblxuICAgIGF3YWl0IGV4cGVjdChleHRyYWN0V29ya2Zsb3dHcmFwaHMoYnVuZGxlUGF0aCkpLnJlc29sdmVzLnRvRXF1YWwoe1xuICAgICAgJy4vaW5wdXQuanMnOiB7XG4gICAgICAgIHdvcmtmbG93OiBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgd29ya2Zsb3dJZDogJ3dvcmtmbG93Ly8uL2lucHV0LmpzLy93b3JrZmxvdycsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBleHBlY3QoY29uc29sZUVycm9yKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnZXh0cmFjdHMgc3RlcCBub2RlcyB3aGVuIHN0ZXAgcHJveGllcyBpbmNsdWRlIHB1cmUgYW5ub3RhdGlvbnMnLCBhc3luYyAoKSA9PiB7XG4gICAgdGVtcERpciA9IGF3YWl0IG1rZHRlbXAoam9pbih0bXBkaXIoKSwgJ3dvcmtmbG93LWJ1aWxkZXJzLScpKTtcbiAgICBjb25zdCBidW5kbGVQYXRoID0gam9pbih0ZW1wRGlyLCAnd29ya2Zsb3ctYnVuZGxlLmpzJyk7XG5cbiAgICBhd2FpdCB3cml0ZUZpbGUoXG4gICAgICBidW5kbGVQYXRoLFxuICAgICAgW1xuICAgICAgICAndmFyIHN0ZXBPbmUgPSBnbG9iYWxUaGlzWy8qIEBfX1BVUkVfXyAqLyBTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vLi9pbnB1dC50cy8vc3RlcE9uZVwiKTsnLFxuICAgICAgICAnYXN5bmMgZnVuY3Rpb24gdGVzdFdvcmtmbG93KGlucHV0KSB7JyxcbiAgICAgICAgJyAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgc3RlcE9uZShpbnB1dCk7JyxcbiAgICAgICAgJyAgcmV0dXJuIG91dHB1dDsnLFxuICAgICAgICAnfScsXG4gICAgICAgICd0ZXN0V29ya2Zsb3cud29ya2Zsb3dJZCA9IFwid29ya2Zsb3cvLy4vaW5wdXQudHMvL3Rlc3RXb3JrZmxvd1wiOycsXG4gICAgICBdLmpvaW4oJ1xcbicpXG4gICAgKTtcblxuICAgIGF3YWl0IGV4cGVjdChleHRyYWN0V29ya2Zsb3dHcmFwaHMoYnVuZGxlUGF0aCkpLnJlc29sdmVzLnRvRXF1YWwoe1xuICAgICAgJy4vaW5wdXQudHMnOiB7XG4gICAgICAgIHRlc3RXb3JrZmxvdzogZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgIHdvcmtmbG93SWQ6ICd3b3JrZmxvdy8vLi9pbnB1dC50cy8vdGVzdFdvcmtmbG93JyxcbiAgICAgICAgICBncmFwaDogZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgICAgbm9kZXM6IGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoW1xuICAgICAgICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N0ZXAnLFxuICAgICAgICAgICAgICAgIGRhdGE6IGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnc3RlcE9uZScsXG4gICAgICAgICAgICAgICAgICBzdGVwSWQ6ICdzdGVwLy8uL2lucHV0LnRzLy9zdGVwT25lJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,20 @@
1
+ import type * as esbuild from 'esbuild';
2
+ export declare const WORKFLOW_WORLD_TARGET_MODULE = "@workflow/core/runtime/world-target";
3
+ export declare const WORKFLOW_CORE_RUNTIME_MODULE = "@workflow/core/runtime";
4
+ export { getWorldImport, normalizeWorkflowTargetWorldImport, } from '@workflow/utils';
5
+ export type WorkflowWorldTargetEnvironment = Record<string, string | undefined>;
6
+ export declare function isWorkflowTargetWorldPath(targetWorld: string): boolean;
7
+ export declare function ensureWorkflowTargetWorldEnv(env?: WorkflowWorldTargetEnvironment): string;
8
+ export declare function resolveWorkflowTargetWorldAlias({ workingDir, targetWorld, }: {
9
+ workingDir: string;
10
+ targetWorld?: string;
11
+ }): string;
12
+ export declare function resolveWorkflowCoreRuntimeAlias({ workingDir, }: {
13
+ workingDir: string;
14
+ }): string;
15
+ export declare function createWorkflowWorldTargetEsbuildPlugin({ workingDir, externalPackages, targetWorld, }: {
16
+ workingDir: string;
17
+ externalPackages?: string[];
18
+ targetWorld?: string;
19
+ }): esbuild.Plugin;
20
+ //# sourceMappingURL=world-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world-target.d.ts","sourceRoot":"","sources":["../src/world-target.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,4BAA4B,wCACF,CAAC;AACxC,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AAErE,OAAO,EACL,cAAc,EACd,kCAAkC,GACnC,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEhF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,8BAA4C,GAChD,MAAM,CAIR;AA6BD,wBAAgB,+BAA+B,CAAC,EAC9C,UAAU,EACV,WAA4C,GAC7C,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAIT;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,UAAU,GACX,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAET;AAED,wBAAgB,sCAAsC,CAAC,EACrD,UAAU,EACV,gBAAqB,EACrB,WAA4C,GAC7C,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CA0BjB"}
@@ -0,0 +1,74 @@
1
+ import { createRequire } from 'node:module';
2
+ import { isAbsolute, join, win32 } from 'node:path';
3
+ import { getWorldImport, normalizeWorkflowTargetWorldImport, } from '@workflow/utils';
4
+ export const WORKFLOW_WORLD_TARGET_MODULE = '@workflow/core/runtime/world-target';
5
+ export const WORKFLOW_CORE_RUNTIME_MODULE = '@workflow/core/runtime';
6
+ export { getWorldImport, normalizeWorkflowTargetWorldImport, } from '@workflow/utils';
7
+ export function isWorkflowTargetWorldPath(targetWorld) {
8
+ return (targetWorld.startsWith('./') ||
9
+ targetWorld.startsWith('../') ||
10
+ isAbsolute(targetWorld) ||
11
+ win32.isAbsolute(targetWorld));
12
+ }
13
+ export function ensureWorkflowTargetWorldEnv(env = process.env) {
14
+ const targetWorld = getWorldImport(env);
15
+ env.WORKFLOW_TARGET_WORLD = targetWorld;
16
+ return targetWorld;
17
+ }
18
+ /**
19
+ * Resolve a module specifier from the app's working directory, falling back
20
+ * to this package's own dependencies (for built-in worlds the app doesn't
21
+ * depend on directly), and finally to the bare specifier so callers can
22
+ * externalize modules that aren't installed.
23
+ */
24
+ function resolveFromWorkingDir(specifier, workingDir) {
25
+ let require;
26
+ try {
27
+ require = createRequire(join(workingDir, 'package.json'));
28
+ }
29
+ catch {
30
+ require = createRequire(import.meta.url);
31
+ }
32
+ try {
33
+ return require.resolve(specifier, {
34
+ paths: [workingDir],
35
+ });
36
+ }
37
+ catch {
38
+ try {
39
+ return createRequire(import.meta.url).resolve(specifier);
40
+ }
41
+ catch {
42
+ return specifier;
43
+ }
44
+ }
45
+ }
46
+ export function resolveWorkflowTargetWorldAlias({ workingDir, targetWorld = ensureWorkflowTargetWorldEnv(), }) {
47
+ const normalizedTargetWorld = normalizeWorkflowTargetWorldImport(targetWorld) ?? targetWorld;
48
+ return resolveFromWorkingDir(normalizedTargetWorld, workingDir);
49
+ }
50
+ export function resolveWorkflowCoreRuntimeAlias({ workingDir, }) {
51
+ return resolveFromWorkingDir(WORKFLOW_CORE_RUNTIME_MODULE, workingDir);
52
+ }
53
+ export function createWorkflowWorldTargetEsbuildPlugin({ workingDir, externalPackages = [], targetWorld = ensureWorkflowTargetWorldEnv(), }) {
54
+ const normalizedTargetWorld = normalizeWorkflowTargetWorldImport(targetWorld) ?? targetWorld;
55
+ return {
56
+ name: 'workflow:world-target',
57
+ setup(build) {
58
+ build.onResolve({ filter: /^@workflow\/core\/runtime\/world-target$/ }, () => {
59
+ if (externalPackages.includes(normalizedTargetWorld)) {
60
+ return { path: normalizedTargetWorld, external: true };
61
+ }
62
+ const alias = resolveWorkflowTargetWorldAlias({
63
+ workingDir,
64
+ targetWorld: normalizedTargetWorld,
65
+ });
66
+ if (alias === normalizedTargetWorld) {
67
+ return { path: normalizedTargetWorld, external: true };
68
+ }
69
+ return { path: alias };
70
+ });
71
+ },
72
+ };
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGQtdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dvcmxkLXRhcmdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBR3pCLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUN2QyxxQ0FBcUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyx3QkFBd0IsQ0FBQztBQUVyRSxPQUFPLEVBQ0wsY0FBYyxFQUNkLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBSXpCLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxXQUFtQjtJQUMzRCxPQUFPLENBQ0wsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUIsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDN0IsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUN2QixLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsTUFBc0MsT0FBTyxDQUFDLEdBQUc7SUFFakQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLEdBQUcsQ0FBQyxxQkFBcUIsR0FBRyxXQUFXLENBQUM7SUFDeEMsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FBQyxTQUFpQixFQUFFLFVBQWtCO0lBQ2xFLElBQUksT0FBdUIsQ0FBQztJQUM1QixJQUFJLENBQUM7UUFDSCxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ2hDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsSUFBSSxDQUFDO1lBQ0gsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxFQUM5QyxVQUFVLEVBQ1YsV0FBVyxHQUFHLDRCQUE0QixFQUFFLEdBSTdDO0lBQ0MsTUFBTSxxQkFBcUIsR0FDekIsa0NBQWtDLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxDQUFDO0lBQ2pFLE9BQU8scUJBQXFCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxFQUM5QyxVQUFVLEdBR1g7SUFDQyxPQUFPLHFCQUFxQixDQUFDLDRCQUE0QixFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFFRCxNQUFNLFVBQVUsc0NBQXNDLENBQUMsRUFDckQsVUFBVSxFQUNWLGdCQUFnQixHQUFHLEVBQUUsRUFDckIsV0FBVyxHQUFHLDRCQUE0QixFQUFFLEdBSzdDO0lBQ0MsTUFBTSxxQkFBcUIsR0FDekIsa0NBQWtDLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxDQUFDO0lBRWpFLE9BQU87UUFDTCxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLEtBQUssQ0FBQyxLQUFLO1lBQ1QsS0FBSyxDQUFDLFNBQVMsQ0FDYixFQUFFLE1BQU0sRUFBRSwwQ0FBMEMsRUFBRSxFQUN0RCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO29CQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDekQsQ0FBQztnQkFFRCxNQUFNLEtBQUssR0FBRywrQkFBK0IsQ0FBQztvQkFDNUMsVUFBVTtvQkFDVixXQUFXLEVBQUUscUJBQXFCO2lCQUNuQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxLQUFLLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ3pELENBQUM7Z0JBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUN6QixDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQgeyBpc0Fic29sdXRlLCBqb2luLCB3aW4zMiB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQge1xuICBnZXRXb3JsZEltcG9ydCxcbiAgbm9ybWFsaXplV29ya2Zsb3dUYXJnZXRXb3JsZEltcG9ydCxcbn0gZnJvbSAnQHdvcmtmbG93L3V0aWxzJztcbmltcG9ydCB0eXBlICogYXMgZXNidWlsZCBmcm9tICdlc2J1aWxkJztcblxuZXhwb3J0IGNvbnN0IFdPUktGTE9XX1dPUkxEX1RBUkdFVF9NT0RVTEUgPVxuICAnQHdvcmtmbG93L2NvcmUvcnVudGltZS93b3JsZC10YXJnZXQnO1xuZXhwb3J0IGNvbnN0IFdPUktGTE9XX0NPUkVfUlVOVElNRV9NT0RVTEUgPSAnQHdvcmtmbG93L2NvcmUvcnVudGltZSc7XG5cbmV4cG9ydCB7XG4gIGdldFdvcmxkSW1wb3J0LFxuICBub3JtYWxpemVXb3JrZmxvd1RhcmdldFdvcmxkSW1wb3J0LFxufSBmcm9tICdAd29ya2Zsb3cvdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBXb3JrZmxvd1dvcmxkVGFyZ2V0RW52aXJvbm1lbnQgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNXb3JrZmxvd1RhcmdldFdvcmxkUGF0aCh0YXJnZXRXb3JsZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgdGFyZ2V0V29ybGQuc3RhcnRzV2l0aCgnLi8nKSB8fFxuICAgIHRhcmdldFdvcmxkLnN0YXJ0c1dpdGgoJy4uLycpIHx8XG4gICAgaXNBYnNvbHV0ZSh0YXJnZXRXb3JsZCkgfHxcbiAgICB3aW4zMi5pc0Fic29sdXRlKHRhcmdldFdvcmxkKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlV29ya2Zsb3dUYXJnZXRXb3JsZEVudihcbiAgZW52OiBXb3JrZmxvd1dvcmxkVGFyZ2V0RW52aXJvbm1lbnQgPSBwcm9jZXNzLmVudlxuKTogc3RyaW5nIHtcbiAgY29uc3QgdGFyZ2V0V29ybGQgPSBnZXRXb3JsZEltcG9ydChlbnYpO1xuICBlbnYuV09SS0ZMT1dfVEFSR0VUX1dPUkxEID0gdGFyZ2V0V29ybGQ7XG4gIHJldHVybiB0YXJnZXRXb3JsZDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGEgbW9kdWxlIHNwZWNpZmllciBmcm9tIHRoZSBhcHAncyB3b3JraW5nIGRpcmVjdG9yeSwgZmFsbGluZyBiYWNrXG4gKiB0byB0aGlzIHBhY2thZ2UncyBvd24gZGVwZW5kZW5jaWVzIChmb3IgYnVpbHQtaW4gd29ybGRzIHRoZSBhcHAgZG9lc24ndFxuICogZGVwZW5kIG9uIGRpcmVjdGx5KSwgYW5kIGZpbmFsbHkgdG8gdGhlIGJhcmUgc3BlY2lmaWVyIHNvIGNhbGxlcnMgY2FuXG4gKiBleHRlcm5hbGl6ZSBtb2R1bGVzIHRoYXQgYXJlbid0IGluc3RhbGxlZC5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUZyb21Xb3JraW5nRGlyKHNwZWNpZmllcjogc3RyaW5nLCB3b3JraW5nRGlyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgcmVxdWlyZTogTm9kZUpTLlJlcXVpcmU7XG4gIHRyeSB7XG4gICAgcmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoam9pbih3b3JraW5nRGlyLCAncGFja2FnZS5qc29uJykpO1xuICB9IGNhdGNoIHtcbiAgICByZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gcmVxdWlyZS5yZXNvbHZlKHNwZWNpZmllciwge1xuICAgICAgcGF0aHM6IFt3b3JraW5nRGlyXSxcbiAgICB9KTtcbiAgfSBjYXRjaCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCkucmVzb2x2ZShzcGVjaWZpZXIpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIHNwZWNpZmllcjtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVXb3JrZmxvd1RhcmdldFdvcmxkQWxpYXMoe1xuICB3b3JraW5nRGlyLFxuICB0YXJnZXRXb3JsZCA9IGVuc3VyZVdvcmtmbG93VGFyZ2V0V29ybGRFbnYoKSxcbn06IHtcbiAgd29ya2luZ0Rpcjogc3RyaW5nO1xuICB0YXJnZXRXb3JsZD86IHN0cmluZztcbn0pOiBzdHJpbmcge1xuICBjb25zdCBub3JtYWxpemVkVGFyZ2V0V29ybGQgPVxuICAgIG5vcm1hbGl6ZVdvcmtmbG93VGFyZ2V0V29ybGRJbXBvcnQodGFyZ2V0V29ybGQpID8/IHRhcmdldFdvcmxkO1xuICByZXR1cm4gcmVzb2x2ZUZyb21Xb3JraW5nRGlyKG5vcm1hbGl6ZWRUYXJnZXRXb3JsZCwgd29ya2luZ0Rpcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlV29ya2Zsb3dDb3JlUnVudGltZUFsaWFzKHtcbiAgd29ya2luZ0Rpcixcbn06IHtcbiAgd29ya2luZ0Rpcjogc3RyaW5nO1xufSk6IHN0cmluZyB7XG4gIHJldHVybiByZXNvbHZlRnJvbVdvcmtpbmdEaXIoV09SS0ZMT1dfQ09SRV9SVU5USU1FX01PRFVMRSwgd29ya2luZ0Rpcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVXb3JrZmxvd1dvcmxkVGFyZ2V0RXNidWlsZFBsdWdpbih7XG4gIHdvcmtpbmdEaXIsXG4gIGV4dGVybmFsUGFja2FnZXMgPSBbXSxcbiAgdGFyZ2V0V29ybGQgPSBlbnN1cmVXb3JrZmxvd1RhcmdldFdvcmxkRW52KCksXG59OiB7XG4gIHdvcmtpbmdEaXI6IHN0cmluZztcbiAgZXh0ZXJuYWxQYWNrYWdlcz86IHN0cmluZ1tdO1xuICB0YXJnZXRXb3JsZD86IHN0cmluZztcbn0pOiBlc2J1aWxkLlBsdWdpbiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRUYXJnZXRXb3JsZCA9XG4gICAgbm9ybWFsaXplV29ya2Zsb3dUYXJnZXRXb3JsZEltcG9ydCh0YXJnZXRXb3JsZCkgPz8gdGFyZ2V0V29ybGQ7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnd29ya2Zsb3c6d29ybGQtdGFyZ2V0JyxcbiAgICBzZXR1cChidWlsZCkge1xuICAgICAgYnVpbGQub25SZXNvbHZlKFxuICAgICAgICB7IGZpbHRlcjogL15Ad29ya2Zsb3dcXC9jb3JlXFwvcnVudGltZVxcL3dvcmxkLXRhcmdldCQvIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBpZiAoZXh0ZXJuYWxQYWNrYWdlcy5pbmNsdWRlcyhub3JtYWxpemVkVGFyZ2V0V29ybGQpKSB7XG4gICAgICAgICAgICByZXR1cm4geyBwYXRoOiBub3JtYWxpemVkVGFyZ2V0V29ybGQsIGV4dGVybmFsOiB0cnVlIH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYWxpYXMgPSByZXNvbHZlV29ya2Zsb3dUYXJnZXRXb3JsZEFsaWFzKHtcbiAgICAgICAgICAgIHdvcmtpbmdEaXIsXG4gICAgICAgICAgICB0YXJnZXRXb3JsZDogbm9ybWFsaXplZFRhcmdldFdvcmxkLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChhbGlhcyA9PT0gbm9ybWFsaXplZFRhcmdldFdvcmxkKSB7XG4gICAgICAgICAgICByZXR1cm4geyBwYXRoOiBub3JtYWxpemVkVGFyZ2V0V29ybGQsIGV4dGVybmFsOiB0cnVlIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7IHBhdGg6IGFsaWFzIH07XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=world-target.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world-target.test.d.ts","sourceRoot":"","sources":["../src/world-target.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,106 @@
1
+ import { mkdirSync, mkdtempSync, realpathSync, rmSync, writeFileSync, } from 'node:fs';
2
+ import { tmpdir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ import { describe, expect, it } from 'vitest';
5
+ import { ensureWorkflowTargetWorldEnv, getWorldImport, isWorkflowTargetWorldPath, normalizeWorkflowTargetWorldImport, resolveWorkflowCoreRuntimeAlias, resolveWorkflowTargetWorldAlias, WORKFLOW_CORE_RUNTIME_MODULE, WORKFLOW_WORLD_TARGET_MODULE, } from './world-target.js';
6
+ describe('workflow world target', () => {
7
+ it('normalizes built-in aliases to package specifiers', () => {
8
+ expect(normalizeWorkflowTargetWorldImport('local')).toBe('@workflow/world-local');
9
+ expect(normalizeWorkflowTargetWorldImport('vercel')).toBe('@workflow/world-vercel');
10
+ expect(normalizeWorkflowTargetWorldImport('@workflow/world-postgres')).toBe('@workflow/world-postgres');
11
+ });
12
+ it('defaults to local outside Vercel', () => {
13
+ expect(getWorldImport({})).toBe('@workflow/world-local');
14
+ });
15
+ it('defaults to Vercel when deployed on Vercel', () => {
16
+ expect(getWorldImport({
17
+ VERCEL_DEPLOYMENT_ID: 'dpl_123',
18
+ })).toBe('@workflow/world-vercel');
19
+ });
20
+ it('writes the normalized target back to the env object', () => {
21
+ const env = { WORKFLOW_TARGET_WORLD: 'local' };
22
+ expect(ensureWorkflowTargetWorldEnv(env)).toBe('@workflow/world-local');
23
+ expect(env.WORKFLOW_TARGET_WORLD).toBe('@workflow/world-local');
24
+ });
25
+ it('resolves package aliases to concrete module paths', () => {
26
+ const testDir = mkdtempSync(join(tmpdir(), 'workflow-world-target-'));
27
+ const packageDir = join(testDir, 'node_modules/@workflow/world-custom');
28
+ mkdirSync(packageDir, { recursive: true });
29
+ writeFileSync(join(packageDir, 'package.json'), JSON.stringify({
30
+ name: '@workflow/world-custom',
31
+ type: 'module',
32
+ exports: './index.js',
33
+ }));
34
+ writeFileSync(join(packageDir, 'index.js'), 'export function createWorld() {}');
35
+ const alias = resolveWorkflowTargetWorldAlias({
36
+ workingDir: testDir,
37
+ targetWorld: '@workflow/world-custom',
38
+ });
39
+ try {
40
+ expect(alias.replace(/\\/g, '/')).toMatch(/node_modules\/@workflow\/world-custom\/index\.js$/);
41
+ }
42
+ finally {
43
+ rmSync(testDir, { recursive: true, force: true });
44
+ }
45
+ });
46
+ it('resolves relative module files from the working directory', () => {
47
+ const testDir = mkdtempSync(join(tmpdir(), 'workflow-world-target-'));
48
+ const worldFile = join(testDir, 'my-world.ts');
49
+ writeFileSync(worldFile, 'export function createWorld() {}');
50
+ const alias = resolveWorkflowTargetWorldAlias({
51
+ workingDir: testDir,
52
+ targetWorld: './my-world.ts',
53
+ });
54
+ try {
55
+ expect(alias).toBe(realpathSync(worldFile));
56
+ }
57
+ finally {
58
+ rmSync(testDir, { recursive: true, force: true });
59
+ }
60
+ });
61
+ it('detects path-like target worlds', () => {
62
+ expect(isWorkflowTargetWorldPath('./my-world.ts')).toBe(true);
63
+ expect(isWorkflowTargetWorldPath('../my-world.ts')).toBe(true);
64
+ expect(isWorkflowTargetWorldPath('/tmp/my-world.ts')).toBe(true);
65
+ expect(isWorkflowTargetWorldPath('C:\\repo\\my-world.ts')).toBe(true);
66
+ expect(isWorkflowTargetWorldPath('@workflow/world-postgres')).toBe(false);
67
+ });
68
+ it('keeps unresolved custom aliases externalizable', () => {
69
+ expect(resolveWorkflowTargetWorldAlias({
70
+ workingDir: process.cwd(),
71
+ targetWorld: '@workflow/world-custom',
72
+ })).toBe('@workflow/world-custom');
73
+ });
74
+ it('resolves built-in worlds from the builder package when the app omits them', () => {
75
+ const testDir = mkdtempSync(join(tmpdir(), 'workflow-world-target-'));
76
+ try {
77
+ const alias = resolveWorkflowTargetWorldAlias({
78
+ workingDir: testDir,
79
+ targetWorld: '@workflow/world-local',
80
+ });
81
+ expect(alias.replace(/\\/g, '/')).toMatch(/packages\/world-local\/dist\/index\.js$/);
82
+ }
83
+ finally {
84
+ rmSync(testDir, { recursive: true, force: true });
85
+ }
86
+ });
87
+ it('uses the core target module as the alias key', () => {
88
+ expect(WORKFLOW_WORLD_TARGET_MODULE).toBe('@workflow/core/runtime/world-target');
89
+ });
90
+ it('resolves the core runtime module from the builder package when the app omits it', () => {
91
+ const testDir = mkdtempSync(join(tmpdir(), 'workflow-world-target-'));
92
+ try {
93
+ const alias = resolveWorkflowCoreRuntimeAlias({
94
+ workingDir: testDir,
95
+ });
96
+ expect(alias.replace(/\\/g, '/')).toMatch(/packages\/core\/dist\/runtime\.js$/);
97
+ }
98
+ finally {
99
+ rmSync(testDir, { recursive: true, force: true });
100
+ }
101
+ });
102
+ it('uses the core runtime module as the runtime alias key', () => {
103
+ expect(WORKFLOW_CORE_RUNTIME_MODULE).toBe('@workflow/core/runtime');
104
+ });
105
+ });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGQtdGFyZ2V0LnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvd29ybGQtdGFyZ2V0LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixhQUFhLEdBQ2QsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QyxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLGNBQWMsRUFDZCx5QkFBeUIsRUFDekIsa0NBQWtDLEVBQ2xDLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsNEJBQTRCLEVBQzVCLDRCQUE0QixHQUM3QixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7SUFDckMsRUFBRSxDQUFDLG1EQUFtRCxFQUFFLEdBQUcsRUFBRTtRQUMzRCxNQUFNLENBQUMsa0NBQWtDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3RELHVCQUF1QixDQUN4QixDQUFDO1FBQ0YsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2RCx3QkFBd0IsQ0FDekIsQ0FBQztRQUNGLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6RSwwQkFBMEIsQ0FDM0IsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsRUFBRTtRQUMxQyxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFD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QyxDQUFDO1FBQ0osQ0FBQztnQkFBUyxDQUFDO1lBQ1QsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtRQUN0RCxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxJQUFJLENBQ3ZDLHFDQUFxQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUZBQWlGLEVBQUUsR0FBRyxFQUFFO1FBQ3pGLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQztZQUNILE1BQU0sS0FBSyxHQUFHLCtCQUErQixDQUFDO2dCQUM1QyxVQUFVLEVBQUUsT0FBTzthQUNwQixDQUFDLENBQUM7WUFFSCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3ZDLG9DQUFvQyxDQUNyQyxDQUFDO1FBQ0osQ0FBQztnQkFBUyxDQUFDO1lBQ1QsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVEQUF1RCxFQUFFLEdBQUcsRUFBRTtRQUMvRCxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN0RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgbWtkaXJTeW5jLFxuICBta2R0ZW1wU3luYyxcbiAgcmVhbHBhdGhTeW5jLFxuICBybVN5bmMsXG4gIHdyaXRlRmlsZVN5bmMsXG59IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7XG4gIGVuc3VyZVdvcmtmbG93VGFyZ2V0V29ybGRFbnYsXG4gIGdldFdvcmxkSW1wb3J0LFxuICBpc1dvcmtmbG93VGFyZ2V0V29ybGRQYXRoLFxuICBub3JtYWxpemVXb3JrZmxvd1RhcmdldFdvcmxkSW1wb3J0LFxuICByZXNvbHZlV29ya2Zsb3dDb3JlUnVudGltZUFsaWFzLFxuICByZXNvbHZlV29ya2Zsb3dUYXJnZXRXb3JsZEFsaWFzLFxuICBXT1JLRkxPV19DT1JFX1JVTlRJTUVfTU9EVUxFLFxuICBXT1JLRkxPV19XT1JMRF9UQVJHRVRfTU9EVUxFLFxufSBmcm9tICcuL3dvcmxkLXRhcmdldC5qcyc7XG5cbmRlc2NyaWJlKCd3b3JrZmxvdyB3b3JsZCB0YXJnZXQnLCAoKSA9PiB7XG4gIGl0KCdub3JtYWxpemVzIGJ1aWx0LWluIGFsaWFzZXMgdG8gcGFja2FnZSBzcGVjaWZpZXJzJywgKCkgPT4ge1xuICAgIGV4cGVjdChub3JtYWxpemVXb3JrZmxvd1RhcmdldFdvcmxkSW1wb3J0KCdsb2NhbCcpKS50b0JlKFxuICAgICAgJ0B3b3JrZmxvdy93b3JsZC1sb2NhbCdcbiAgICApO1xuICAgIGV4cGVjdChub3JtYWxpemVXb3JrZmxvd1RhcmdldFdvcmxkSW1wb3J0KCd2ZXJjZWwnKSkudG9CZShcbiAgICAgICdAd29ya2Zsb3cvd29ybGQtdmVyY2VsJ1xuICAgICk7XG4gICAgZXhwZWN0KG5vcm1hbGl6ZVdvcmtmbG93VGFyZ2V0V29ybGRJbXBvcnQoJ0B3b3JrZmxvdy93b3JsZC1wb3N0Z3JlcycpKS50b0JlKFxuICAgICAgJ0B3b3JrZmxvdy93b3JsZC1wb3N0Z3JlcydcbiAgICApO1xuICB9KTtcblxuICBpdCgnZGVmYXVsdHMgdG8gbG9jYWwgb3V0c2lkZSBWZXJjZWwnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGdldFdvcmxkSW1wb3J0KHt9KSkudG9CZSgnQHdvcmtmbG93L3dvcmxkLWxvY2FsJyk7XG4gIH0pO1xuXG4gIGl0KCdkZWZhdWx0cyB0byBWZXJjZWwgd2hlbiBkZXBsb3llZCBvbiBWZXJjZWwnLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgZ2V0V29ybGRJbXBvcnQoe1xuICAgICAgICBWRVJDRUxfREVQTE9ZTUVOVF9JRDogJ2RwbF8xMjMnLFxuICAgICAgfSlcbiAgICApLnRvQmUoJ0B3b3JrZmxvdy93b3JsZC12ZXJjZWwnKTtcbiAgfSk7XG5cbiAgaXQoJ3dyaXRlcyB0aGUgbm9ybWFsaXplZCB0YXJnZXQgYmFjayB0byB0aGUgZW52IG9iamVjdCcsICgpID0+IHtcbiAgICBjb25zdCBlbnYgPSB7IFdPUktGTE9XX1RBUkdFVF9XT1JMRDogJ2xvY2FsJyB9O1xuXG4gICAgZXhwZWN0KGVuc3VyZVdvcmtmbG93VGFyZ2V0V29ybGRFbnYoZW52KSkudG9CZSgnQHdvcmtmbG93L3dvcmxkLWxvY2FsJyk7XG4gICAgZXhwZWN0KGVudi5XT1JLRkxPV19UQVJHRVRfV09STEQpLnRvQmUoJ0B3b3JrZmxvdy93b3JsZC1sb2NhbCcpO1xuICB9KTtcblxuICBpdCgncmVzb2x2ZXMgcGFja2FnZSBhbGlhc2VzIHRvIGNvbmNyZXRlIG1vZHVsZSBwYXRocycsICgpID0+IHtcbiAgICBjb25zdCB0ZXN0RGlyID0gbWtkdGVtcFN5bmMoam9pbih0bXBkaXIoKSwgJ3dvcmtmbG93LXdvcmxkLXRhcmdldC0nKSk7XG4gICAgY29uc3QgcGFja2FnZURpciA9IGpvaW4odGVzdERpciwgJ25vZGVfbW9kdWxlcy9Ad29ya2Zsb3cvd29ybGQtY3VzdG9tJyk7XG4gICAgbWtkaXJTeW5jKHBhY2thZ2VEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIHdyaXRlRmlsZVN5bmMoXG4gICAgICBqb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgbmFtZTogJ0B3b3JrZmxvdy93b3JsZC1jdXN0b20nLFxuICAgICAgICB0eXBlOiAnbW9kdWxlJyxcbiAgICAgICAgZXhwb3J0czogJy4vaW5kZXguanMnLFxuICAgICAgfSlcbiAgICApO1xuICAgIHdyaXRlRmlsZVN5bmMoXG4gICAgICBqb2luKHBhY2thZ2VEaXIsICdpbmRleC5qcycpLFxuICAgICAgJ2V4cG9ydCBmdW5jdGlvbiBjcmVhdGVXb3JsZCgpIHt9J1xuICAgICk7XG5cbiAgICBjb25zdCBhbGlhcyA9IHJlc29sdmVXb3JrZmxvd1RhcmdldFdvcmxkQWxpYXMoe1xuICAgICAgd29ya2luZ0RpcjogdGVzdERpcixcbiAgICAgIHRhcmdldFdvcmxkOiAnQHdvcmtmbG93L3dvcmxkLWN1c3RvbScsXG4gICAgfSk7XG5cbiAgICB0cnkge1xuICAgICAgZXhwZWN0KGFsaWFzLnJlcGxhY2UoL1xcXFwvZywgJy8nKSkudG9NYXRjaChcbiAgICAgICAgL25vZGVfbW9kdWxlc1xcL0B3b3JrZmxvd1xcL3dvcmxkLWN1c3RvbVxcL2luZGV4XFwuanMkL1xuICAgICAgKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgcm1TeW5jKHRlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGl0KCdyZXNvbHZlcyByZWxhdGl2ZSBtb2R1bGUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyBkaXJlY3RvcnknLCAoKSA9PiB7XG4gICAgY29uc3QgdGVzdERpciA9IG1rZHRlbXBTeW5jKGpvaW4odG1wZGlyKCksICd3b3JrZmxvdy13b3JsZC10YXJnZXQtJykpO1xuICAgIGNvbnN0IHdvcmxkRmlsZSA9IGpvaW4odGVzdERpciwgJ215LXdvcmxkLnRzJyk7XG4gICAgd3JpdGVGaWxlU3luYyh3b3JsZEZpbGUsICdleHBvcnQgZnVuY3Rpb24gY3JlYXRlV29ybGQoKSB7fScpO1xuXG4gICAgY29uc3QgYWxpYXMgPSByZXNvbHZlV29ya2Zsb3dUYXJnZXRXb3JsZEFsaWFzKHtcbiAgICAgIHdvcmtpbmdEaXI6IHRlc3REaXIsXG4gICAgICB0YXJnZXRXb3JsZDogJy4vbXktd29ybGQudHMnLFxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGV4cGVjdChhbGlhcykudG9CZShyZWFscGF0aFN5bmMod29ybGRGaWxlKSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHJtU3luYyh0ZXN0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gICAgfVxuICB9KTtcblxuICBpdCgnZGV0ZWN0cyBwYXRoLWxpa2UgdGFyZ2V0IHdvcmxkcycsICgpID0+IHtcbiAgICBleHBlY3QoaXNXb3JrZmxvd1RhcmdldFdvcmxkUGF0aCgnLi9teS13b3JsZC50cycpKS50b0JlKHRydWUpO1xuICAgIGV4cGVjdChpc1dvcmtmbG93VGFyZ2V0V29ybGRQYXRoKCcuLi9teS13b3JsZC50cycpKS50b0JlKHRydWUpO1xuICAgIGV4cGVjdChpc1dvcmtmbG93VGFyZ2V0V29ybGRQYXRoKCcvdG1wL215LXdvcmxkLnRzJykpLnRvQmUodHJ1ZSk7XG4gICAgZXhwZWN0KGlzV29ya2Zsb3dUYXJnZXRXb3JsZFBhdGgoJ0M6XFxcXHJlcG9cXFxcbXktd29ybGQudHMnKSkudG9CZSh0cnVlKTtcbiAgICBleHBlY3QoaXNXb3JrZmxvd1RhcmdldFdvcmxkUGF0aCgnQHdvcmtmbG93L3dvcmxkLXBvc3RncmVzJykpLnRvQmUoZmFsc2UpO1xuICB9KTtcblxuICBpdCgna2VlcHMgdW5yZXNvbHZlZCBjdXN0b20gYWxpYXNlcyBleHRlcm5hbGl6YWJsZScsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICByZXNvbHZlV29ya2Zsb3dUYXJnZXRXb3JsZEFsaWFzKHtcbiAgICAgICAgd29ya2luZ0RpcjogcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgdGFyZ2V0V29ybGQ6ICdAd29ya2Zsb3cvd29ybGQtY3VzdG9tJyxcbiAgICAgIH0pXG4gICAgKS50b0JlKCdAd29ya2Zsb3cvd29ybGQtY3VzdG9tJyk7XG4gIH0pO1xuXG4gIGl0KCdyZXNvbHZlcyBidWlsdC1pbiB3b3JsZHMgZnJvbSB0aGUgYnVpbGRlciBwYWNrYWdlIHdoZW4gdGhlIGFwcCBvbWl0cyB0aGVtJywgKCkgPT4ge1xuICAgIGNvbnN0IHRlc3REaXIgPSBta2R0ZW1wU3luYyhqb2luKHRtcGRpcigpLCAnd29ya2Zsb3ctd29ybGQtdGFyZ2V0LScpKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBhbGlhcyA9IHJlc29sdmVXb3JrZmxvd1RhcmdldFdvcmxkQWxpYXMoe1xuICAgICAgICB3b3JraW5nRGlyOiB0ZXN0RGlyLFxuICAgICAgICB0YXJnZXRXb3JsZDogJ0B3b3JrZmxvdy93b3JsZC1sb2NhbCcsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGFsaWFzLnJlcGxhY2UoL1xcXFwvZywgJy8nKSkudG9NYXRjaChcbiAgICAgICAgL3BhY2thZ2VzXFwvd29ybGQtbG9jYWxcXC9kaXN0XFwvaW5kZXhcXC5qcyQvXG4gICAgICApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBybVN5bmModGVzdERpciwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ3VzZXMgdGhlIGNvcmUgdGFyZ2V0IG1vZHVsZSBhcyB0aGUgYWxpYXMga2V5JywgKCkgPT4ge1xuICAgIGV4cGVjdChXT1JLRkxPV19XT1JMRF9UQVJHRVRfTU9EVUxFKS50b0JlKFxuICAgICAgJ0B3b3JrZmxvdy9jb3JlL3J1bnRpbWUvd29ybGQtdGFyZ2V0J1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdyZXNvbHZlcyB0aGUgY29yZSBydW50aW1lIG1vZHVsZSBmcm9tIHRoZSBidWlsZGVyIHBhY2thZ2Ugd2hlbiB0aGUgYXBwIG9taXRzIGl0JywgKCkgPT4ge1xuICAgIGNvbnN0IHRlc3REaXIgPSBta2R0ZW1wU3luYyhqb2luKHRtcGRpcigpLCAnd29ya2Zsb3ctd29ybGQtdGFyZ2V0LScpKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBhbGlhcyA9IHJlc29sdmVXb3JrZmxvd0NvcmVSdW50aW1lQWxpYXMoe1xuICAgICAgICB3b3JraW5nRGlyOiB0ZXN0RGlyLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChhbGlhcy5yZXBsYWNlKC9cXFxcL2csICcvJykpLnRvTWF0Y2goXG4gICAgICAgIC9wYWNrYWdlc1xcL2NvcmVcXC9kaXN0XFwvcnVudGltZVxcLmpzJC9cbiAgICAgICk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHJtU3luYyh0ZXN0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gICAgfVxuICB9KTtcblxuICBpdCgndXNlcyB0aGUgY29yZSBydW50aW1lIG1vZHVsZSBhcyB0aGUgcnVudGltZSBhbGlhcyBrZXknLCAoKSA9PiB7XG4gICAgZXhwZWN0KFdPUktGTE9XX0NPUkVfUlVOVElNRV9NT0RVTEUpLnRvQmUoJ0B3b3JrZmxvdy9jb3JlL3J1bnRpbWUnKTtcbiAgfSk7XG59KTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/builders",
3
- "version": "5.0.0-beta.26",
3
+ "version": "5.0.0-beta.28",
4
4
  "description": "Shared builder infrastructure for Workflow SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -40,9 +40,11 @@
40
40
  "find-up": "7.0.0",
41
41
  "json5": "2.2.3",
42
42
  "tinyglobby": "0.2.17",
43
- "@workflow/core": "5.0.0-beta.26",
44
- "@workflow/errors": "5.0.0-beta.8",
45
- "@workflow/utils": "5.0.0-beta.4",
43
+ "@workflow/core": "5.0.0-beta.28",
44
+ "@workflow/errors": "5.0.0-beta.10",
45
+ "@workflow/utils": "5.0.0-beta.6",
46
+ "@workflow/world-local": "5.0.0-beta.24",
47
+ "@workflow/world-vercel": "5.0.0-beta.24",
46
48
  "@workflow/swc-plugin": "5.0.0-beta.5"
47
49
  },
48
50
  "scripts": {