@teleporthq/teleport-plugin-next-workflows 0.44.0 → 0.44.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 (158) hide show
  1. package/__tests__/_helpers/fake-store-database.ts +428 -0
  2. package/__tests__/_helpers/invoice-store.ts +382 -0
  3. package/__tests__/email-locale-senders.test.ts +3 -1
  4. package/__tests__/email-sender-name.test.ts +513 -0
  5. package/__tests__/graph-utils-topological-order.test.ts +155 -1
  6. package/__tests__/invoice-billing-details.test.ts +107 -1
  7. package/__tests__/invoice-data-access-replace.test.ts +236 -2
  8. package/__tests__/invoice-order-items-settle.test.ts +1 -1
  9. package/__tests__/invoice-payment-email.test.ts +191 -0
  10. package/__tests__/invoice-regenerate-email.test.ts +288 -0
  11. package/__tests__/invoice-regenerate-route.test.ts +9 -7
  12. package/__tests__/invoice-reservation.test.ts +1 -1
  13. package/__tests__/invoice-tender.test.ts +1 -1
  14. package/__tests__/segment-splitter-checkout-order.test.ts +306 -0
  15. package/__tests__/streaming-on-end-env-filter.test.ts +18 -18
  16. package/__tests__/streaming-on-end-order.test.ts +387 -0
  17. package/dist/cjs/account-delete-route-generator.d.ts +1 -0
  18. package/dist/cjs/account-delete-route-generator.d.ts.map +1 -1
  19. package/dist/cjs/account-delete-route-generator.js +2 -1
  20. package/dist/cjs/account-delete-route-generator.js.map +1 -1
  21. package/dist/cjs/auth-generator.d.ts +1 -0
  22. package/dist/cjs/auth-generator.d.ts.map +1 -1
  23. package/dist/cjs/auth-generator.js +2 -1
  24. package/dist/cjs/auth-generator.js.map +1 -1
  25. package/dist/cjs/executor-generator.d.ts.map +1 -1
  26. package/dist/cjs/executor-generator.js +9 -26
  27. package/dist/cjs/executor-generator.js.map +1 -1
  28. package/dist/cjs/graph-utils.d.ts +31 -1
  29. package/dist/cjs/graph-utils.d.ts.map +1 -1
  30. package/dist/cjs/graph-utils.js +112 -10
  31. package/dist/cjs/graph-utils.js.map +1 -1
  32. package/dist/cjs/invoice/api-routes-code.d.ts +12 -3
  33. package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
  34. package/dist/cjs/invoice/api-routes-code.js +152 -21
  35. package/dist/cjs/invoice/api-routes-code.js.map +1 -1
  36. package/dist/cjs/invoice/data-access-code.d.ts.map +1 -1
  37. package/dist/cjs/invoice/data-access-code.js +133 -21
  38. package/dist/cjs/invoice/data-access-code.js.map +1 -1
  39. package/dist/cjs/invoice/email-sender-code.d.ts.map +1 -1
  40. package/dist/cjs/invoice/email-sender-code.js +15 -25
  41. package/dist/cjs/invoice/email-sender-code.js.map +1 -1
  42. package/dist/cjs/invoice/index.js +1 -1
  43. package/dist/cjs/invoice/index.js.map +1 -1
  44. package/dist/cjs/invoice/invoice-assembly-code.d.ts.map +1 -1
  45. package/dist/cjs/invoice/invoice-assembly-code.js +10 -6
  46. package/dist/cjs/invoice/invoice-assembly-code.js.map +1 -1
  47. package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
  48. package/dist/cjs/invoice/invoice-html-code.js +3 -0
  49. package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
  50. package/dist/cjs/nodes/email/email-mailgun.d.ts.map +1 -1
  51. package/dist/cjs/nodes/email/email-mailgun.js +4 -2
  52. package/dist/cjs/nodes/email/email-mailgun.js.map +1 -1
  53. package/dist/cjs/nodes/email/email-postmark.d.ts.map +1 -1
  54. package/dist/cjs/nodes/email/email-postmark.js +5 -2
  55. package/dist/cjs/nodes/email/email-postmark.js.map +1 -1
  56. package/dist/cjs/nodes/email/email-resend.d.ts.map +1 -1
  57. package/dist/cjs/nodes/email/email-resend.js +5 -2
  58. package/dist/cjs/nodes/email/email-resend.js.map +1 -1
  59. package/dist/cjs/nodes/email/email-sendgrid.d.ts.map +1 -1
  60. package/dist/cjs/nodes/email/email-sendgrid.js +8 -2
  61. package/dist/cjs/nodes/email/email-sendgrid.js.map +1 -1
  62. package/dist/cjs/nodes/storage/storage-local-remove.d.ts.map +1 -1
  63. package/dist/cjs/nodes/storage/storage-local-remove.js +2 -0
  64. package/dist/cjs/nodes/storage/storage-local-remove.js.map +1 -1
  65. package/dist/cjs/nodes/storage/storage-local-set.d.ts.map +1 -1
  66. package/dist/cjs/nodes/storage/storage-local-set.js +4 -0
  67. package/dist/cjs/nodes/storage/storage-local-set.js.map +1 -1
  68. package/dist/cjs/segment-splitter.d.ts.map +1 -1
  69. package/dist/cjs/segment-splitter.js +65 -27
  70. package/dist/cjs/segment-splitter.js.map +1 -1
  71. package/dist/cjs/transactional-email-code.d.ts.map +1 -1
  72. package/dist/cjs/transactional-email-code.js +32 -18
  73. package/dist/cjs/transactional-email-code.js.map +1 -1
  74. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  75. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  76. package/dist/cjs/workflow-project-plugin.js +2 -0
  77. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  78. package/dist/esm/account-delete-route-generator.d.ts +1 -0
  79. package/dist/esm/account-delete-route-generator.d.ts.map +1 -1
  80. package/dist/esm/account-delete-route-generator.js +2 -1
  81. package/dist/esm/account-delete-route-generator.js.map +1 -1
  82. package/dist/esm/auth-generator.d.ts +1 -0
  83. package/dist/esm/auth-generator.d.ts.map +1 -1
  84. package/dist/esm/auth-generator.js +2 -1
  85. package/dist/esm/auth-generator.js.map +1 -1
  86. package/dist/esm/executor-generator.d.ts.map +1 -1
  87. package/dist/esm/executor-generator.js +9 -26
  88. package/dist/esm/executor-generator.js.map +1 -1
  89. package/dist/esm/graph-utils.d.ts +31 -1
  90. package/dist/esm/graph-utils.d.ts.map +1 -1
  91. package/dist/esm/graph-utils.js +109 -9
  92. package/dist/esm/graph-utils.js.map +1 -1
  93. package/dist/esm/invoice/api-routes-code.d.ts +12 -3
  94. package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
  95. package/dist/esm/invoice/api-routes-code.js +152 -21
  96. package/dist/esm/invoice/api-routes-code.js.map +1 -1
  97. package/dist/esm/invoice/data-access-code.d.ts.map +1 -1
  98. package/dist/esm/invoice/data-access-code.js +133 -21
  99. package/dist/esm/invoice/data-access-code.js.map +1 -1
  100. package/dist/esm/invoice/email-sender-code.d.ts.map +1 -1
  101. package/dist/esm/invoice/email-sender-code.js +15 -25
  102. package/dist/esm/invoice/email-sender-code.js.map +1 -1
  103. package/dist/esm/invoice/index.js +1 -1
  104. package/dist/esm/invoice/index.js.map +1 -1
  105. package/dist/esm/invoice/invoice-assembly-code.d.ts.map +1 -1
  106. package/dist/esm/invoice/invoice-assembly-code.js +10 -6
  107. package/dist/esm/invoice/invoice-assembly-code.js.map +1 -1
  108. package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
  109. package/dist/esm/invoice/invoice-html-code.js +3 -0
  110. package/dist/esm/invoice/invoice-html-code.js.map +1 -1
  111. package/dist/esm/nodes/email/email-mailgun.d.ts.map +1 -1
  112. package/dist/esm/nodes/email/email-mailgun.js +4 -2
  113. package/dist/esm/nodes/email/email-mailgun.js.map +1 -1
  114. package/dist/esm/nodes/email/email-postmark.d.ts.map +1 -1
  115. package/dist/esm/nodes/email/email-postmark.js +5 -2
  116. package/dist/esm/nodes/email/email-postmark.js.map +1 -1
  117. package/dist/esm/nodes/email/email-resend.d.ts.map +1 -1
  118. package/dist/esm/nodes/email/email-resend.js +5 -2
  119. package/dist/esm/nodes/email/email-resend.js.map +1 -1
  120. package/dist/esm/nodes/email/email-sendgrid.d.ts.map +1 -1
  121. package/dist/esm/nodes/email/email-sendgrid.js +8 -2
  122. package/dist/esm/nodes/email/email-sendgrid.js.map +1 -1
  123. package/dist/esm/nodes/storage/storage-local-remove.d.ts.map +1 -1
  124. package/dist/esm/nodes/storage/storage-local-remove.js +2 -0
  125. package/dist/esm/nodes/storage/storage-local-remove.js.map +1 -1
  126. package/dist/esm/nodes/storage/storage-local-set.d.ts.map +1 -1
  127. package/dist/esm/nodes/storage/storage-local-set.js +4 -0
  128. package/dist/esm/nodes/storage/storage-local-set.js.map +1 -1
  129. package/dist/esm/segment-splitter.d.ts.map +1 -1
  130. package/dist/esm/segment-splitter.js +66 -28
  131. package/dist/esm/segment-splitter.js.map +1 -1
  132. package/dist/esm/transactional-email-code.d.ts.map +1 -1
  133. package/dist/esm/transactional-email-code.js +32 -18
  134. package/dist/esm/transactional-email-code.js.map +1 -1
  135. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  136. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  137. package/dist/esm/workflow-project-plugin.js +2 -0
  138. package/dist/esm/workflow-project-plugin.js.map +1 -1
  139. package/package.json +3 -3
  140. package/src/account-delete-route-generator.ts +3 -1
  141. package/src/auth-generator.ts +3 -1
  142. package/src/executor-generator.ts +9 -26
  143. package/src/graph-utils.ts +143 -11
  144. package/src/invoice/api-routes-code.ts +166 -21
  145. package/src/invoice/data-access-code.ts +139 -21
  146. package/src/invoice/email-sender-code.ts +15 -25
  147. package/src/invoice/index.ts +1 -1
  148. package/src/invoice/invoice-assembly-code.ts +10 -6
  149. package/src/invoice/invoice-html-code.ts +3 -0
  150. package/src/nodes/email/email-mailgun.ts +11 -2
  151. package/src/nodes/email/email-postmark.ts +12 -2
  152. package/src/nodes/email/email-resend.ts +12 -2
  153. package/src/nodes/email/email-sendgrid.ts +15 -2
  154. package/src/nodes/storage/storage-local-remove.ts +4 -0
  155. package/src/nodes/storage/storage-local-set.ts +6 -0
  156. package/src/segment-splitter.ts +90 -36
  157. package/src/transactional-email-code.ts +32 -21
  158. package/src/workflow-project-plugin.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-project-plugin.d.ts","sourceRoot":"","sources":["../../src/workflow-project-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,WAAW,EAGX,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAoGnC,eAAO,MAAM,yBAAyB,mBAEhC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,MAAM;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;CAAE,GACxE,SAAS,KACZ,MAAM,GAAG,SA6BX,CAAA;AA4DD,eAAO,MAAM,sBAAsB,SAAU,WAAW,KAAG,IAyB1D,CAAA;AAED,qBAAa,yBAA0B,YAAW,aAAa;IAC7D,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAKtC;IACI,SAAS,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgH7E,QAAQ,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAwnBlF,OAAO,CAAC,oBAAoB;IAgD5B,OAAO,CAAC,qBAAqB;IA6H7B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,4BAA4B;IA+CpC,OAAO,CAAC,uBAAuB;IA+F/B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,iBAAiB;IAwCzB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA2W/B,OAAO,CAAC,iBAAiB;IAsNzB,OAAO,CAAC,4BAA4B;IAqEpC,OAAO,CAAC,2BAA2B;CAmMpC;AA+ED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,kBAAkB,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAY/F;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,MAAM,CAyCR"}
1
+ {"version":3,"file":"workflow-project-plugin.d.ts","sourceRoot":"","sources":["../../src/workflow-project-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,WAAW,EAGX,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAoGnC,eAAO,MAAM,yBAAyB,mBAEhC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,MAAM;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;CAAE,GACxE,SAAS,KACZ,MAAM,GAAG,SA6BX,CAAA;AA4DD,eAAO,MAAM,sBAAsB,SAAU,WAAW,KAAG,IAyB1D,CAAA;AAED,qBAAa,yBAA0B,YAAW,aAAa;IAC7D,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAKtC;IACI,SAAS,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgH7E,QAAQ,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAynBlF,OAAO,CAAC,oBAAoB;IAgD5B,OAAO,CAAC,qBAAqB;IA6H7B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,4BAA4B;IA+CpC,OAAO,CAAC,uBAAuB;IA+F/B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,iBAAiB;IAwCzB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA2W/B,OAAO,CAAC,iBAAiB;IAuNzB,OAAO,CAAC,4BAA4B;IAqEpC,OAAO,CAAC,2BAA2B;CAmMpC;AA+ED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,kBAAkB,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAY/F;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,MAAM,CAyCR"}
@@ -622,6 +622,7 @@ export class NextWorkflowProjectPlugin {
622
622
  authUsersTableName: resolveAuthUsersTableName(uidl.authentication),
623
623
  emailProvider,
624
624
  fromEmail: typeof deleteConfig.from === 'string' ? deleteConfig.from : '',
625
+ fromName: typeof deleteConfig.fromName === 'string' ? deleteConfig.fromName : '',
625
626
  emailSecretEnvName,
626
627
  emailSubject: typeof deleteConfig.subject === 'string' ? deleteConfig.subject : '',
627
628
  emailBodyHtml: typeof deleteConfig.body === 'string' ? deleteConfig.body : '',
@@ -1523,6 +1524,7 @@ module.exports = __customNodeRegistry;
1523
1524
  const signupRouteCode = generateSignupRouteFile(auth, {
1524
1525
  emailProvider: welcomeProvider,
1525
1526
  fromEmail: typeof signupConfig.from === 'string' ? signupConfig.from : '',
1527
+ fromName: typeof signupConfig.fromName === 'string' ? signupConfig.fromName : '',
1526
1528
  emailSecretEnvName: welcomeSecretEnvName,
1527
1529
  emailSubject: typeof signupConfig.subject === 'string' ? signupConfig.subject : '',
1528
1530
  emailBodyHtml: typeof signupConfig.body === 'string' ? signupConfig.body : '',
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-project-plugin.js","sourceRoot":"","sources":["../../src/workflow-project-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-project-plugin.js","sourceRoot":"","sources":["../../src/workflow-project-plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teleporthq/teleport-plugin-next-workflows",
3
- "version": "0.44.0",
3
+ "version": "0.44.1",
4
4
  "description": "A plugin for workflow code generation in Next.js projects.",
5
5
  "author": "teleportHQ",
6
6
  "license": "MIT",
@@ -66,8 +66,8 @@
66
66
  },
67
67
  "dependencies": {
68
68
  "@babel/types": "^7.5.5",
69
- "@teleporthq/teleport-shared": "^0.44.0",
69
+ "@teleporthq/teleport-shared": "^0.44.1",
70
70
  "@teleporthq/teleport-types": "^0.44.0"
71
71
  },
72
- "gitHead": "3f8ab44ace8163b154799b7ea68ece45b3cf9022"
72
+ "gitHead": "f17c2064dd4ed978d9a022e98777a7ebf14d3e63"
73
73
  }
@@ -36,6 +36,7 @@ export interface AccountDeleteRouteOptions {
36
36
  // var the credential lives under (resolved from the node's secret reference).
37
37
  emailProvider?: string | null
38
38
  fromEmail?: string
39
+ fromName?: string
39
40
  emailSecretEnvName?: string | null
40
41
  emailSubject?: string
41
42
  emailBodyHtml?: string
@@ -68,6 +69,7 @@ const SITE_NAME = ${JSON.stringify(options.siteName || '')};
68
69
  const DELETED_EMAIL_PATTERN = ${JSON.stringify(deletedEmailPattern)};
69
70
  const EMAIL_PROVIDER = ${JSON.stringify(provider)};
70
71
  const EMAIL_FROM = ${JSON.stringify(options.fromEmail || '')};
72
+ const EMAIL_FROM_NAME = ${JSON.stringify(options.fromName || '')};
71
73
  const EMAIL_SECRET_ENV_NAME = ${JSON.stringify(options.emailSecretEnvName || '')};
72
74
  const EMAIL_SUBJECT = ${JSON.stringify(options.emailSubject || 'Your account has been deleted')};
73
75
  const EMAIL_BODY_HTML = ${JSON.stringify(options.emailBodyHtml || '')};
@@ -194,7 +196,7 @@ async function sendFarewellEmail(toEmail, tokenValues, userId, locale) {
194
196
  var copy = resolveFarewellEmailCopy(locale);
195
197
  var subject = fillTemplate(copy.subject, tokenValues);
196
198
  var html = fillTemplate(copy.body, tokenValues);
197
- await __sendProviderEmail({ from: from, to: toEmail, subject: subject, html: html, apiKey: apiKey, tokenValues: tokenValues, userId: userId });
199
+ await __sendProviderEmail({ from: from, fromName: EMAIL_FROM_NAME, to: toEmail, subject: subject, html: html, apiKey: apiKey, tokenValues: tokenValues, userId: userId });
198
200
  }
199
201
 
200
202
  module.exports = async function handler(req, res) {
@@ -1118,6 +1118,7 @@ module.exports = function nextAuthRoute(req, res) {
1118
1118
  export interface WelcomeEmailOptions {
1119
1119
  emailProvider?: string | null
1120
1120
  fromEmail?: string
1121
+ fromName?: string
1121
1122
  emailSecretEnvName?: string | null
1122
1123
  emailSubject?: string
1123
1124
  emailBodyHtml?: string
@@ -1166,6 +1167,7 @@ const sanitizeUser = authUtils.sanitizeUser;`
1166
1167
  welcomeHelpers = `
1167
1168
  const WELCOME_EMAIL_PROVIDER = ${JSON.stringify(welcomeProvider)};
1168
1169
  const WELCOME_EMAIL_FROM = ${JSON.stringify(welcome.fromEmail || '')};
1170
+ const WELCOME_EMAIL_FROM_NAME = ${JSON.stringify(welcome.fromName || '')};
1169
1171
  const WELCOME_EMAIL_SECRET_ENV_NAME = ${JSON.stringify(welcome.emailSecretEnvName || '')};
1170
1172
  const WELCOME_EMAIL_SUBJECT = ${JSON.stringify(welcome.emailSubject || 'Welcome')};
1171
1173
  const WELCOME_EMAIL_BODY_HTML = ${JSON.stringify(welcome.emailBodyHtml || '')};
@@ -1201,7 +1203,7 @@ async function sendWelcomeEmail(toEmail, tokenValues, userId, locale) {
1201
1203
  var copy = resolveWelcomeEmailCopy(locale);
1202
1204
  var subject = fillTemplate(copy.subject, tokenValues);
1203
1205
  var html = fillTemplate(copy.body, tokenValues);
1204
- await __sendProviderEmail({ from: from, to: toEmail, subject: subject, html: html, apiKey: apiKey, tokenValues: tokenValues, userId: userId });
1206
+ await __sendProviderEmail({ from: from, fromName: WELCOME_EMAIL_FROM_NAME, to: toEmail, subject: subject, html: html, apiKey: apiKey, tokenValues: tokenValues, userId: userId });
1205
1207
  }
1206
1208
  `
1207
1209
 
@@ -1849,25 +1849,19 @@ function findStreamingAINodes(allNodes, allEdges) {
1849
1849
  const n = allNodes[ni];
1850
1850
  if (aiTypes.indexOf(n.type) >= 0 && n.config && n.config.streaming) {
1851
1851
  let onStreamEdge = null;
1852
- let onEndEdge = null;
1853
1852
  for (let ei = 0; ei < allEdges.length; ei++) {
1854
- if (allEdges[ei].source === n.id) {
1855
- if (allEdges[ei].sourceHandle === 'on-stream') onStreamEdge = allEdges[ei];
1856
- if (allEdges[ei].sourceHandle === 'on-end') onEndEdge = allEdges[ei];
1857
- }
1853
+ if (allEdges[ei].source === n.id && allEdges[ei].sourceHandle === 'on-stream') onStreamEdge = allEdges[ei];
1858
1854
  }
1859
1855
  const onStreamNodes = onStreamEdge ? utils.collectBranchNodes(onStreamEdge.target, allNodes, allEdges, n.id) : [];
1860
- const onEndNodes = onEndEdge ? utils.collectBranchNodes(onEndEdge.target, allNodes, allEdges, n.id) : [];
1861
- map[n.id] = { node: n, onStreamNodes: onStreamNodes, onEndNodes: onEndNodes };
1856
+ map[n.id] = { node: n, onStreamNodes: onStreamNodes };
1862
1857
  }
1863
1858
  }
1864
1859
  return map;
1865
1860
  }
1866
1861
 
1867
- // A streaming AI node's on-stream / on-end branches are collected from the
1868
- // FULL workflow node list, so they may contain server nodes (e.g. the SQL
1869
- // insert persisting a chat answer). Those already execute inside their own
1870
- // server segments with full configs; the browser bundle only ships their
1862
+ // A streaming AI node's on-stream branch is collected from the FULL workflow
1863
+ // node list, so it may contain server nodes. Those already execute inside their
1864
+ // own server segments with full configs; the browser bundle only ships their
1871
1865
  // config redacted down to the client-safe whitelist (segment-splitter's
1872
1866
  // redactServerNodeConfig), so executing them here with CLIENT handlers both
1873
1867
  // double-executes them and crashes on the missing config. Emitted nodes carry
@@ -1880,7 +1874,6 @@ function clientExecutableBranchNodes(branchNodes) {
1880
1874
  async function callStreamingServerSegment(segmentUrl, context, streamingInfo, allNodes, allEdges, clientHandlers, workflowConfig, executionId, stateKeys) {
1881
1875
  const prunedContext = pruneContext(context, stateKeys);
1882
1876
  const handledNodeIds = {};
1883
- const streamedNodeIds = {};
1884
1877
  // Same relative-URL problem as callServerSegment above — required even
1885
1878
  // for streaming segments because a server-side caller (e.g. an AI
1886
1879
  // chat webhook) would otherwise fail to parse the URL.
@@ -1927,7 +1920,6 @@ async function callStreamingServerSegment(segmentUrl, context, streamingInfo, al
1927
1920
  try { data = JSON.parse(jsonStr); } catch(e) { continue; }
1928
1921
 
1929
1922
  if (data.type === 'chunk' && data.nodeId) {
1930
- streamedNodeIds[data.nodeId] = true;
1931
1923
  context[data.nodeId] = { chunk: data.chunk, fullResponse: data.fullResponse };
1932
1924
  const info = streamingInfo[data.nodeId];
1933
1925
  if (info && info.onStreamNodes.length > 0) {
@@ -1942,22 +1934,13 @@ async function callStreamingServerSegment(segmentUrl, context, streamingInfo, al
1942
1934
  } else if (data.type === 'node-result' && data.nodeId) {
1943
1935
  context[data.nodeId] = data.result;
1944
1936
  } else if (data.type === 'done') {
1937
+ // The on-end branch is not run here: its steps sit in the segments after
1938
+ // this one, and the caller runs those in graph order, so a browser step
1939
+ // waits for the server steps before it (the chat's "Bump Conversation
1940
+ // After Reply" -> "Get Chat Messages for Final Update").
1945
1941
  if (data.results) {
1946
1942
  mergeServerResults(context, data.results, workflowConfig && workflowConfig.triggerNodeId);
1947
1943
  }
1948
- const streamedKeys = Object.keys(streamedNodeIds);
1949
- for (let sk = 0; sk < streamedKeys.length; sk++) {
1950
- const endInfo = streamingInfo[streamedKeys[sk]];
1951
- if (endInfo && endInfo.onEndNodes.length > 0) {
1952
- const runnableEndNodes = clientExecutableBranchNodes(endInfo.onEndNodes);
1953
- if (runnableEndNodes.length > 0) {
1954
- await utils.executeNodes(runnableEndNodes, allEdges, context, clientHandlers, workflowConfig, null, executionId);
1955
- }
1956
- for (let eni = 0; eni < endInfo.onEndNodes.length; eni++) {
1957
- handledNodeIds[endInfo.onEndNodes[eni].id] = true;
1958
- }
1959
- }
1960
- }
1961
1944
  } else if (data.type === 'error') {
1962
1945
  throw new Error(data.error || 'Streaming workflow segment failed');
1963
1946
  }
@@ -44,24 +44,40 @@ export const collectWorkflowContextNodeIds = (value: unknown, out: Set<string>):
44
44
  Object.values(record).forEach((child) => collectWorkflowContextNodeIds(child, out))
45
45
  }
46
46
 
47
- export const getTopologicalOrder = (
47
+ /**
48
+ * The edge that sends a loop body back to its loop for the next item. The loop
49
+ * does not wait for it: counted as a dependency it left the loop, and every
50
+ * node after it, waiting forever.
51
+ */
52
+ const isLoopBackEdge = (edge: UIDLWorkflowEdge): boolean => edge.targetHandle === 'loop-back'
53
+
54
+ /**
55
+ * Where a node runs once the segment splitter places it, or `null` for a node
56
+ * that runs wherever the node before it ran (an if-statement), so it never
57
+ * forces a switch between browser and server.
58
+ */
59
+ export type ExecutionSide = 'client' | 'server'
60
+ export type ExecutionSideOf = (node: UIDLWorkflowNode) => ExecutionSide | null
61
+
62
+ /**
63
+ * Every dependency each node waits for: the source of each edge into it (but a
64
+ * loop's back edge) and every node whose output it reads through a
65
+ * `workflowContext` reference. Listed per SOURCE, in edge order then reference
66
+ * order — the order the topological sort below releases them in.
67
+ */
68
+ export const getDependents = (
48
69
  nodes: UIDLWorkflowNode[],
49
70
  edges: UIDLWorkflowEdge[]
50
- ): string[] => {
71
+ ): Record<string, string[]> => {
51
72
  const nodeIds = new Set(nodes.map((n) => n.id))
52
- const inDegree: Record<string, number> = {}
53
73
  const adjacency: Record<string, string[]> = {}
54
-
55
- const nodeIdArr = Array.from(nodeIds)
56
- nodeIdArr.forEach((id) => {
57
- inDegree[id] = 0
74
+ nodeIds.forEach((id) => {
58
75
  adjacency[id] = []
59
76
  })
60
77
 
61
78
  edges.forEach((edge) => {
62
- if (nodeIds.has(edge.source) && nodeIds.has(edge.target)) {
79
+ if (nodeIds.has(edge.source) && nodeIds.has(edge.target) && !isLoopBackEdge(edge)) {
63
80
  adjacency[edge.source].push(edge.target)
64
- inDegree[edge.target]++
65
81
  }
66
82
  })
67
83
 
@@ -92,10 +108,105 @@ export const getTopologicalOrder = (
92
108
  return
93
109
  }
94
110
  adjacency[refId].push(node.id)
95
- inDegree[node.id]++
96
111
  })
97
112
  })
98
113
 
114
+ return adjacency
115
+ }
116
+
117
+ /**
118
+ * Every node reachable from `startId` without passing through `parentId` or a
119
+ * loop's back edge: what the runtime skips when `parentId` does not take the
120
+ * branch starting at `startId`.
121
+ */
122
+ const collectBranchNodeIds = (
123
+ startId: string,
124
+ targetsBySource: Map<string, string[]>,
125
+ parentId: string
126
+ ): Set<string> => {
127
+ const reached = new Set<string>()
128
+ const queue = [startId]
129
+ while (queue.length > 0) {
130
+ const current = queue.shift()!
131
+ if (reached.has(current) || current === parentId) {
132
+ continue
133
+ }
134
+ reached.add(current)
135
+ queue.push(...(targetsBySource.get(current) || []))
136
+ }
137
+ return reached
138
+ }
139
+
140
+ /**
141
+ * Whether two nodes can never both run: they lie on different branches of the
142
+ * same if-statement or switch, and the runtime skips everything reachable from
143
+ * the branch it did not take.
144
+ */
145
+ export const getNeverRunTogether = (
146
+ nodes: UIDLWorkflowNode[],
147
+ edges: UIDLWorkflowEdge[]
148
+ ): ((a: string, b: string) => boolean) => {
149
+ const targetsBySource = new Map<string, string[]>()
150
+ edges.forEach((edge) => {
151
+ if (!isLoopBackEdge(edge)) {
152
+ targetsBySource.set(edge.source, [...(targetsBySource.get(edge.source) || []), edge.target])
153
+ }
154
+ })
155
+ const branchesByNodeId = new Map<string, Array<{ gateId: string; branch: string }>>()
156
+ nodes.forEach((gate) => {
157
+ const branchTargets =
158
+ gate.type === 'general-if-statement'
159
+ ? Object.entries(getIfBranches(gate.id, edges))
160
+ : gate.type === 'general-switch'
161
+ ? getSwitchCases(gate.id, edges).map(({ caseId, targetId }) => [caseId, targetId])
162
+ : []
163
+ branchTargets.forEach(([branch, targetId]) => {
164
+ if (!targetId) {
165
+ return
166
+ }
167
+ collectBranchNodeIds(targetId, targetsBySource, gate.id).forEach((id) => {
168
+ const branches = branchesByNodeId.get(id) || []
169
+ branches.push({ gateId: gate.id, branch })
170
+ branchesByNodeId.set(id, branches)
171
+ })
172
+ })
173
+ })
174
+ return (a, b) => {
175
+ const branchesOfB = branchesByNodeId.get(b) || []
176
+ return (branchesByNodeId.get(a) || []).some((x) =>
177
+ branchesOfB.some((y) => x.gateId === y.gateId && x.branch !== y.branch)
178
+ )
179
+ }
180
+ }
181
+
182
+ /**
183
+ * Kahn's order, the lowest `stepNumber` first among the nodes ready to run.
184
+ *
185
+ * With `sideOf` (the segment splitter), a ready node that stays on the side
186
+ * the previous node ran on may go ahead of lower-step nodes on the other side —
187
+ * one client/server switch fewer, so one server round trip fewer — but only of
188
+ * nodes it never runs together with. A refusal branch's toast waits for the
189
+ * main chain's server steps; two steps that both run keep their order, which
190
+ * custom JavaScript reads `params` by.
191
+ */
192
+ export const getTopologicalOrder = (
193
+ nodes: UIDLWorkflowNode[],
194
+ edges: UIDLWorkflowEdge[],
195
+ sideOf?: ExecutionSideOf
196
+ ): string[] => {
197
+ const nodeIds = new Set(nodes.map((n) => n.id))
198
+ const adjacency = getDependents(nodes, edges)
199
+ const inDegree: Record<string, number> = {}
200
+ const nodeIdArr = Array.from(nodeIds)
201
+ nodeIdArr.forEach((id) => {
202
+ inDegree[id] = 0
203
+ })
204
+ nodeIdArr.forEach((id) =>
205
+ adjacency[id].forEach((dependent) => {
206
+ inDegree[dependent]++
207
+ })
208
+ )
209
+
99
210
  const queue: string[] = []
100
211
  nodeIdArr.forEach((id) => {
101
212
  if (inDegree[id] === 0) {
@@ -103,6 +214,26 @@ export const getTopologicalOrder = (
103
214
  }
104
215
  })
105
216
 
217
+ const nodeById = new Map(nodes.map((n) => [n.id, n]))
218
+ const neverRunTogether = sideOf ? getNeverRunTogether(nodes, edges) : null
219
+ let currentSide: ExecutionSide | null = null
220
+ const staysOnCurrentSide = (id: string): boolean => {
221
+ const side = sideOf(nodeById.get(id))
222
+ return side === null || side === currentSide
223
+ }
224
+ const nextIndex = (): number => {
225
+ if (!sideOf || currentSide === null || staysOnCurrentSide(queue[0])) {
226
+ return 0
227
+ }
228
+ const index = queue.findIndex(
229
+ (id, i) =>
230
+ i > 0 &&
231
+ staysOnCurrentSide(id) &&
232
+ queue.slice(0, i).every((ahead) => neverRunTogether(id, ahead))
233
+ )
234
+ return Math.max(index, 0)
235
+ }
236
+
106
237
  const order: string[] = []
107
238
  while (queue.length > 0) {
108
239
  queue.sort((a, b) => {
@@ -110,7 +241,8 @@ export const getTopologicalOrder = (
110
241
  const nodeB = nodes.find((n) => n.id === b)
111
242
  return (nodeA?.stepNumber || 0) - (nodeB?.stepNumber || 0)
112
243
  })
113
- const current = queue.shift()!
244
+ const [current] = queue.splice(nextIndex(), 1)
245
+ currentSide = (sideOf && sideOf(nodeById.get(current))) || currentSide
114
246
  order.push(current)
115
247
 
116
248
  for (const neighbor of adjacency[current] || []) {