@teleporthq/teleport-plugin-next-workflows 0.44.7 → 0.44.9

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 (141) hide show
  1. package/__tests__/_helpers/load-server-runtime.ts +6 -2
  2. package/__tests__/_helpers/run-account-delete-route.ts +140 -0
  3. package/__tests__/account-delete-current-password.test.ts +73 -0
  4. package/__tests__/account-delete-password-check.test.ts +113 -0
  5. package/__tests__/account-delete-visitor-details.test.ts +206 -0
  6. package/__tests__/auth-password-change-ends-sessions.test.ts +178 -0
  7. package/__tests__/credential-result-reply.test.ts +509 -0
  8. package/__tests__/data-api-invalid-body.test.ts +110 -0
  9. package/__tests__/data-node-not-awaited.test.ts +7 -6
  10. package/__tests__/invoice-payment-line.test.ts +68 -0
  11. package/__tests__/invoice-tender.test.ts +116 -0
  12. package/__tests__/pending-work-after-reply.test.ts +294 -0
  13. package/__tests__/runtime-condition-operands.test.ts +86 -0
  14. package/__tests__/webhook-delivery-lease.test.ts +68 -6
  15. package/dist/cjs/account-delete-route-generator.d.ts +7 -2
  16. package/dist/cjs/account-delete-route-generator.d.ts.map +1 -1
  17. package/dist/cjs/account-delete-route-generator.js +90 -43
  18. package/dist/cjs/account-delete-route-generator.js.map +1 -1
  19. package/dist/cjs/api-route-generator.d.ts.map +1 -1
  20. package/dist/cjs/api-route-generator.js +17 -15
  21. package/dist/cjs/api-route-generator.js.map +1 -1
  22. package/dist/cjs/auth-generator.d.ts.map +1 -1
  23. package/dist/cjs/auth-generator.js +34 -1
  24. package/dist/cjs/auth-generator.js.map +1 -1
  25. package/dist/cjs/await-result.d.ts +13 -5
  26. package/dist/cjs/await-result.d.ts.map +1 -1
  27. package/dist/cjs/await-result.js +19 -8
  28. package/dist/cjs/await-result.js.map +1 -1
  29. package/dist/cjs/credential-results.d.ts +18 -0
  30. package/dist/cjs/credential-results.d.ts.map +1 -0
  31. package/dist/cjs/credential-results.js +72 -0
  32. package/dist/cjs/credential-results.js.map +1 -0
  33. package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
  34. package/dist/cjs/data-api-route-generator.js +9 -1
  35. package/dist/cjs/data-api-route-generator.js.map +1 -1
  36. package/dist/cjs/executor-generator.d.ts.map +1 -1
  37. package/dist/cjs/executor-generator.js +26 -7
  38. package/dist/cjs/executor-generator.js.map +1 -1
  39. package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
  40. package/dist/cjs/invoice/invoice-html-code.js +96 -5
  41. package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
  42. package/dist/cjs/nodes/account/account-delete-current.d.ts.map +1 -1
  43. package/dist/cjs/nodes/account/account-delete-current.js +4 -1
  44. package/dist/cjs/nodes/account/account-delete-current.js.map +1 -1
  45. package/dist/cjs/nodes/account/account-hash-password.d.ts.map +1 -1
  46. package/dist/cjs/nodes/account/account-hash-password.js +1 -0
  47. package/dist/cjs/nodes/account/account-hash-password.js.map +1 -1
  48. package/dist/cjs/nodes/types.d.ts +6 -0
  49. package/dist/cjs/nodes/types.d.ts.map +1 -1
  50. package/dist/cjs/server-runtime-code.d.ts +8 -0
  51. package/dist/cjs/server-runtime-code.d.ts.map +1 -1
  52. package/dist/cjs/server-runtime-code.js +127 -0
  53. package/dist/cjs/server-runtime-code.js.map +1 -1
  54. package/dist/cjs/transactional-email-code.d.ts +7 -0
  55. package/dist/cjs/transactional-email-code.d.ts.map +1 -1
  56. package/dist/cjs/transactional-email-code.js +5 -5
  57. package/dist/cjs/transactional-email-code.js.map +1 -1
  58. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  59. package/dist/cjs/vercel-functions.d.ts +34 -0
  60. package/dist/cjs/vercel-functions.d.ts.map +1 -0
  61. package/dist/cjs/vercel-functions.js +62 -0
  62. package/dist/cjs/vercel-functions.js.map +1 -0
  63. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +6 -0
  64. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -1
  65. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js +26 -11
  66. package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -1
  67. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  68. package/dist/cjs/workflow-project-plugin.js +3 -0
  69. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  70. package/dist/esm/account-delete-route-generator.d.ts +7 -2
  71. package/dist/esm/account-delete-route-generator.d.ts.map +1 -1
  72. package/dist/esm/account-delete-route-generator.js +90 -43
  73. package/dist/esm/account-delete-route-generator.js.map +1 -1
  74. package/dist/esm/api-route-generator.d.ts.map +1 -1
  75. package/dist/esm/api-route-generator.js +17 -15
  76. package/dist/esm/api-route-generator.js.map +1 -1
  77. package/dist/esm/auth-generator.d.ts.map +1 -1
  78. package/dist/esm/auth-generator.js +34 -1
  79. package/dist/esm/auth-generator.js.map +1 -1
  80. package/dist/esm/await-result.d.ts +13 -5
  81. package/dist/esm/await-result.d.ts.map +1 -1
  82. package/dist/esm/await-result.js +18 -7
  83. package/dist/esm/await-result.js.map +1 -1
  84. package/dist/esm/credential-results.d.ts +18 -0
  85. package/dist/esm/credential-results.d.ts.map +1 -0
  86. package/dist/esm/credential-results.js +68 -0
  87. package/dist/esm/credential-results.js.map +1 -0
  88. package/dist/esm/data-api-route-generator.d.ts.map +1 -1
  89. package/dist/esm/data-api-route-generator.js +9 -1
  90. package/dist/esm/data-api-route-generator.js.map +1 -1
  91. package/dist/esm/executor-generator.d.ts.map +1 -1
  92. package/dist/esm/executor-generator.js +26 -7
  93. package/dist/esm/executor-generator.js.map +1 -1
  94. package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
  95. package/dist/esm/invoice/invoice-html-code.js +96 -5
  96. package/dist/esm/invoice/invoice-html-code.js.map +1 -1
  97. package/dist/esm/nodes/account/account-delete-current.d.ts.map +1 -1
  98. package/dist/esm/nodes/account/account-delete-current.js +4 -1
  99. package/dist/esm/nodes/account/account-delete-current.js.map +1 -1
  100. package/dist/esm/nodes/account/account-hash-password.d.ts.map +1 -1
  101. package/dist/esm/nodes/account/account-hash-password.js +1 -0
  102. package/dist/esm/nodes/account/account-hash-password.js.map +1 -1
  103. package/dist/esm/nodes/types.d.ts +6 -0
  104. package/dist/esm/nodes/types.d.ts.map +1 -1
  105. package/dist/esm/server-runtime-code.d.ts +8 -0
  106. package/dist/esm/server-runtime-code.d.ts.map +1 -1
  107. package/dist/esm/server-runtime-code.js +127 -0
  108. package/dist/esm/server-runtime-code.js.map +1 -1
  109. package/dist/esm/transactional-email-code.d.ts +7 -0
  110. package/dist/esm/transactional-email-code.d.ts.map +1 -1
  111. package/dist/esm/transactional-email-code.js +5 -5
  112. package/dist/esm/transactional-email-code.js.map +1 -1
  113. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  114. package/dist/esm/vercel-functions.d.ts +34 -0
  115. package/dist/esm/vercel-functions.d.ts.map +1 -0
  116. package/dist/esm/vercel-functions.js +57 -0
  117. package/dist/esm/vercel-functions.js.map +1 -0
  118. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +6 -0
  119. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -1
  120. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js +26 -11
  121. package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -1
  122. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  123. package/dist/esm/workflow-project-plugin.js +3 -0
  124. package/dist/esm/workflow-project-plugin.js.map +1 -1
  125. package/package.json +2 -2
  126. package/src/account-delete-route-generator.ts +97 -45
  127. package/src/api-route-generator.ts +17 -15
  128. package/src/auth-generator.ts +34 -1
  129. package/src/await-result.ts +19 -7
  130. package/src/credential-results.ts +71 -0
  131. package/src/data-api-route-generator.ts +9 -1
  132. package/src/executor-generator.ts +26 -7
  133. package/src/invoice/invoice-html-code.ts +96 -5
  134. package/src/nodes/account/account-delete-current.ts +4 -1
  135. package/src/nodes/account/account-hash-password.ts +1 -0
  136. package/src/nodes/types.ts +6 -0
  137. package/src/server-runtime-code.ts +128 -0
  138. package/src/transactional-email-code.ts +12 -5
  139. package/src/vercel-functions.ts +67 -0
  140. package/src/webhook-delivery-lease/webhook-delivery-lease-code.ts +26 -11
  141. package/src/workflow-project-plugin.ts +3 -0
@@ -0,0 +1,86 @@
1
+ import { generateSharedRuntimeUtilsCode } from '../src'
2
+
3
+ /**
4
+ * The editor's workflow templates (delete account, password reset request,
5
+ * bookings, reviews, social, loyalty) write an if-statement's sides as
6
+ * `leftOperand` / `rightOperand` with the operator `'='`. The runtime read only
7
+ * `leftValue` / `rightValue`, so each of those checks compared undefined with
8
+ * undefined and always took its "true" branch. Both spellings are read now,
9
+ * and `'='` is equality.
10
+ */
11
+
12
+ type SharedUtils = {
13
+ resolveConfig: (cfg: unknown, ctx: Record<string, unknown>) => Record<string, unknown>
14
+ evaluateCondition: (cfg: unknown, ctx: Record<string, unknown>) => boolean
15
+ }
16
+
17
+ function loadSharedRuntime(): SharedUtils {
18
+ const wrapper: { exports: Record<string, unknown> } = { exports: {} }
19
+ // tslint:disable-next-line:function-constructor
20
+ new Function('module', 'exports', generateSharedRuntimeUtilsCode())(wrapper, wrapper.exports)
21
+ return wrapper.exports as unknown as SharedUtils
22
+ }
23
+
24
+ const ref = (nodeId: string, ...path: string[]) => ({
25
+ type: 'workflowContext',
26
+ nodeId,
27
+ path: [nodeId, ...path],
28
+ })
29
+
30
+ // The "Is Password Correct?" step of the editor's delete-account template.
31
+ const isPasswordCorrect = {
32
+ conditionType: 'simple-comparison',
33
+ leftOperand: ref('verify-password', 'isMatch'),
34
+ operator: '=',
35
+ rightOperand: true,
36
+ }
37
+
38
+ describe('an if-statement written with leftOperand / rightOperand', () => {
39
+ const utils = loadSharedRuntime()
40
+ // What every route does with an if-statement node: resolve, then evaluate.
41
+ const evaluate = (config: unknown, context: Record<string, unknown>) =>
42
+ utils.evaluateCondition(utils.resolveConfig(config, context), context)
43
+
44
+ it('takes the branch its operands choose', () => {
45
+ expect(evaluate(isPasswordCorrect, { 'verify-password': { isMatch: true } })).toBe(true)
46
+ expect(evaluate(isPasswordCorrect, { 'verify-password': { isMatch: false } })).toBe(false)
47
+ })
48
+
49
+ it('reads a missing operand as missing, not as equal to the other side', () => {
50
+ expect(evaluate(isPasswordCorrect, {})).toBe(false)
51
+ })
52
+
53
+ it("treats '=' as equality without warning about the operator", () => {
54
+ const warn = jest.spyOn(console, 'warn').mockImplementation(() => undefined)
55
+ try {
56
+ expect(evaluate({ leftOperand: 'a', operator: '=', rightOperand: 'a' }, {})).toBe(true)
57
+ expect(evaluate({ leftOperand: 'a', operator: '=', rightOperand: 'b' }, {})).toBe(false)
58
+ expect(evaluate({ leftValue: 3, operator: '=', rightValue: '3' }, {})).toBe(true)
59
+ expect(warn).not.toHaveBeenCalled()
60
+ } finally {
61
+ warn.mockRestore()
62
+ }
63
+ })
64
+
65
+ it('applies inside multiple conditions', () => {
66
+ const both = {
67
+ conditionType: 'multiple-conditions',
68
+ logicOperator: 'AND',
69
+ conditions: [
70
+ { leftOperand: ref('form', 'agreed'), operator: '=', rightOperand: true },
71
+ { leftOperand: ref('form', 'email'), operator: 'is-not-empty' },
72
+ ],
73
+ }
74
+ expect(evaluate(both, { form: { agreed: true, email: 'a@b.c' } })).toBe(true)
75
+ expect(evaluate(both, { form: { agreed: false, email: 'a@b.c' } })).toBe(false)
76
+ })
77
+
78
+ it('keeps leftValue / rightValue first when a config carries both', () => {
79
+ expect(
80
+ evaluate(
81
+ { leftValue: 'x', leftOperand: 'y', operator: '===', rightValue: 'x', rightOperand: 'z' },
82
+ {}
83
+ )
84
+ ).toBe(true)
85
+ })
86
+ })
@@ -76,30 +76,92 @@ const loadLease = (options: {
76
76
  }
77
77
 
78
78
  describe('webhook delivery lease module', () => {
79
- it('creates its table once, claims with a fresh token and releases only its own claim', async () => {
79
+ it('creates a missing table once, claims with a fresh token and releases only its own claim', async () => {
80
80
  const lease = loadLease({})
81
81
  try {
82
82
  const first = await lease.claim('webhooks/stripe-payment', Buffer.from('{"id":"evt_1"}'), {
83
83
  id: 'evt_1',
84
84
  })
85
85
  expect(first.claimed).toBe(true)
86
- expect(lease.queries[0].sql).toMatch(
86
+ expect(lease.queries[0]).toEqual({
87
+ sql: 'SELECT to_regclass($1) IS NOT NULL AS present',
88
+ values: ['teleport_webhook_deliveries'],
89
+ })
90
+ expect(lease.queries[1].sql).toMatch(
87
91
  /^CREATE TABLE IF NOT EXISTS "teleport_webhook_deliveries"/
88
92
  )
89
- const claim = lease.queries[1]
93
+ const claim = lease.queries[2]
90
94
  expect(claim.sql).toContain('ON CONFLICT (delivery_key) DO UPDATE')
91
95
  expect(claim.sql).toContain('WHERE d.claimed_at < NOW() - make_interval(secs => $3::int)')
92
96
  expect(claim.values[0]).toMatch(/^[0-9a-f]{64}$/)
93
97
  expect(claim.values[2]).toBe(300)
94
98
  await first.release()
95
- const release = lease.queries[2]
99
+ const release = lease.queries[3]
96
100
  expect(release.sql).toMatch(
97
101
  /^DELETE FROM "teleport_webhook_deliveries" WHERE \(delivery_key = \$1 AND claim_token = \$2\)/
98
102
  )
99
103
  expect(release.values).toEqual([claim.values[0], claim.values[1]])
100
- // The table is not created again by the next delivery.
104
+ // The table is neither looked up nor created again by the next delivery.
101
105
  await lease.claim('webhooks/stripe-payment', Buffer.from('{"id":"evt_2"}'), { id: 'evt_2' })
102
- expect(lease.queries[3].sql).toMatch(/^INSERT INTO/)
106
+ expect(lease.queries[4].sql).toMatch(/^INSERT INTO/)
107
+ } finally {
108
+ lease.restore()
109
+ }
110
+ })
111
+
112
+ it('uses a table that exists without trying to create it', async () => {
113
+ // The site's role may write the table the editor made, not create one.
114
+ const lease = loadLease({
115
+ queryImpl: async (sql: string, values: unknown[]) => {
116
+ if (sql.startsWith('SELECT to_regclass')) {
117
+ return { rows: [{ present: true }] }
118
+ }
119
+ if (sql.startsWith('CREATE')) {
120
+ throw Object.assign(new Error('permission denied for schema public'), { code: '42501' })
121
+ }
122
+ return sql.startsWith('INSERT') ? { rows: [{ claim_token: values[1] }] } : { rows: [] }
123
+ },
124
+ })
125
+ try {
126
+ const first = await lease.claim('webhooks/stripe-payment', Buffer.from('{"id":"evt_1"}'), {
127
+ id: 'evt_1',
128
+ })
129
+ expect(first.claimed).toBe(true)
130
+ expect(lease.queries.map((query) => query.sql.split(' ')[0])).toEqual(['SELECT', 'INSERT'])
131
+
132
+ // A twin of a held delivery is turned away: the lease is in force.
133
+ const twin = loadLease({
134
+ queryImpl: async (sql: string) =>
135
+ sql.startsWith('SELECT to_regclass') ? { rows: [{ present: true }] } : { rows: [] },
136
+ })
137
+ try {
138
+ expect((await twin.claim('w', Buffer.from('{}'), {})).claimed).toBe(false)
139
+ expect(twin.queries.some((query) => query.sql.startsWith('CREATE'))).toBe(false)
140
+ } finally {
141
+ twin.restore()
142
+ }
143
+ } finally {
144
+ lease.restore()
145
+ }
146
+ })
147
+
148
+ it('lets every delivery run when the table is missing and cannot be created', async () => {
149
+ const lease = loadLease({
150
+ queryImpl: async (sql: string) => {
151
+ if (sql.startsWith('SELECT to_regclass')) {
152
+ return { rows: [{ present: false }] }
153
+ }
154
+ if (sql.startsWith('CREATE')) {
155
+ throw Object.assign(new Error('permission denied for schema public'), { code: '42501' })
156
+ }
157
+ return { rows: [] }
158
+ },
159
+ })
160
+ try {
161
+ expect((await lease.claim('w', Buffer.from('{}'), {})).claimed).toBe(true)
162
+ const tried = lease.queries.length
163
+ expect((await lease.claim('w', Buffer.from('{}'), {})).claimed).toBe(true)
164
+ expect(lease.queries).toHaveLength(tried)
103
165
  } finally {
104
166
  lease.restore()
105
167
  }
@@ -4,9 +4,14 @@
4
4
  *
5
5
  * The client node calls this route, which:
6
6
  * 1. resolves the current user from the NextAuth session (never trusting a
7
- * client-supplied id),
7
+ * client-supplied id) and, when the request carries a password, goes on
8
+ * only if it is the account's own,
8
9
  * 2. runs a single DB transaction that detaches + anonymises business/legal
9
- * records (orders, withdrawal requests, bookings) so tracking survives,
10
+ * records (orders, withdrawal requests, bookings, downloads, gift cards
11
+ * the user bought or received) so tracking survives, takes the user's
12
+ * email out of the activity log and the sent-email ledger, leaves the
13
+ * invoices already issued as they are (an invoice must keep naming its
14
+ * buyer),
10
15
  * deletes the user's personal data (reviews, cart, favourites, chat
11
16
  * history), deletes the rows the user owns in the project's own tables —
12
17
  * the ones the AI made for the site, each through the one column the
@@ -1 +1 @@
1
- {"version":3,"file":"account-delete-route-generator.d.ts","sourceRoot":"","sources":["../../src/account-delete-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAaxE,MAAM,WAAW,yBAAyB;IAExC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAI3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAEhD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAID,eAAO,MAAM,8BAA8B,+CAAiC,CAAA;AAE5E,eAAO,MAAM,0BAA0B,aAAa,yBAAyB,KAAQ,MAqXpF,CAAA"}
1
+ {"version":3,"file":"account-delete-route-generator.d.ts","sourceRoot":"","sources":["../../src/account-delete-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAaxE,MAAM,WAAW,yBAAyB;IAExC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAI3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAEhD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAID,eAAO,MAAM,8BAA8B,+CAAiC,CAAA;AAE5E,eAAO,MAAM,0BAA0B,aAAa,yBAAyB,KAAQ,MAoapF,CAAA"}
@@ -48,10 +48,29 @@ const ANONYMIZE_TABLES = [
48
48
  'teleport_subscriptions',
49
49
  'teleport_abandoned_carts',
50
50
  'teleport_voucher_redemptions',
51
+ 'teleport_downloads',
51
52
  ];
52
53
  const EMAIL_COLUMNS = ['billing_email', 'shipping_email', 'customer_email', 'email'];
53
54
  // A booking also names the customer and carries their phone; both are cleared.
54
- const CLEARED_COLUMNS = { teleport_bookings: ['customer_name', 'customer_phone'] };
55
+ // A download keeps its count against the order's limit, without who fetched it
56
+ // from where.
57
+ const CLEARED_COLUMNS = {
58
+ teleport_bookings: ['customer_name', 'customer_phone'],
59
+ teleport_downloads: ['ip_address'],
60
+ };
61
+ // Tables that name the user only by their email: each column holding it takes
62
+ // the anonymised address (a gift card stays redeemable by its code) or a blank
63
+ // (an activity-log line keeps what happened, not who did it).
64
+ const EMAIL_REFERENCES = [
65
+ { table: 'teleport_gift_cards', column: 'purchaser_email', replacement: 'anonymised' },
66
+ { table: 'teleport_gift_cards', column: 'recipient_email', replacement: 'anonymised' },
67
+ { table: 'teleport_events', column: 'actor', replacement: 'blank' },
68
+ ];
69
+ const SENT_EMAILS_TABLE = 'teleport_sent_emails';
70
+
71
+ function anonymisedEmailOf(userId) {
72
+ return String(DELETED_EMAIL_PATTERN).split('{{userId}}').join(String(userId));
73
+ }
55
74
 
56
75
  async function tableColumns(client, table) {
57
76
  var r = await client.query(
@@ -94,6 +113,36 @@ async function deleteRowsByEmail(client, table, column, email) {
94
113
  await client.query('DELETE FROM ' + table + ' WHERE ' + column + ' = $1', [email]);
95
114
  }
96
115
 
116
+ async function replaceEmailReferences(client, email, anonymisedEmail) {
117
+ if (!email) { return; }
118
+ for (var i = 0; i < EMAIL_REFERENCES.length; i++) {
119
+ var ref = EMAIL_REFERENCES[i];
120
+ var cols = await tableColumns(client, ref.table);
121
+ if (cols.indexOf(ref.column) === -1) { continue; }
122
+ await client.query(
123
+ 'UPDATE ' + ref.table + ' SET ' + ref.column + ' = $1 WHERE lower(' + ref.column + ') = lower($2)',
124
+ [ref.replacement === 'anonymised' ? anonymisedEmail : '', email]
125
+ );
126
+ }
127
+ }
128
+
129
+ // The emails the site sent the user stay on record (which email, when, through
130
+ // which provider), without the address, the body or the values it was filled
131
+ // with.
132
+ async function blankSentEmailsTo(client, email) {
133
+ if (!email) { return; }
134
+ var cols = await tableColumns(client, SENT_EMAILS_TABLE);
135
+ if (cols.indexOf('recipient_email') === -1) { return; }
136
+ var sets = ["recipient_email = ''"];
137
+ if (cols.indexOf('recipients') !== -1) { sets.push('recipients = NULL'); }
138
+ if (cols.indexOf('body_html') !== -1) { sets.push("body_html = ''"); }
139
+ if (cols.indexOf('payload') !== -1) { sets.push('payload = NULL'); }
140
+ await client.query(
141
+ 'UPDATE ' + SENT_EMAILS_TABLE + ' SET ' + sets.join(', ') + ' WHERE lower(recipient_email) = lower($1)',
142
+ [email]
143
+ );
144
+ }
145
+
97
146
  // Rows the user owns in the project's OWN tables — the ones the AI made for
98
147
  // this site (saved items, requests, reviews …). Their link to the user is
99
148
  // ON DELETE SET NULL, so they outlived the account with a blank owner, and the
@@ -207,44 +256,34 @@ async function deleteOwnedRows(client, userId) {
207
256
  }
208
257
  }
209
258
 
210
- // Invoices are a financial/tax record that must survive, but they store the
211
- // customer's PII denormalised and link to the user only through order_id (no
212
- // user_id). Scrub the PII in place, matching invoices whose order belongs to the
213
- // user. MUST run BEFORE the orders row is anonymised (its user_id is still set).
214
- var INVOICE_PII_NULL_COLUMNS = [
215
- 'customer_name',
216
- 'customer_address',
217
- 'customer_city',
218
- 'customer_state',
219
- 'customer_zip',
220
- 'customer_country',
221
- 'customer_vat',
222
- 'customer_phone',
223
- ];
224
-
225
- async function anonymizeInvoices(client, ordersTable, invoicesTable, userId, syntheticEmail) {
226
- var invCols = await tableColumns(client, invoicesTable);
227
- if (invCols.indexOf('order_id') === -1) { return; }
228
- var orderCols = await tableColumns(client, ordersTable);
229
- if (orderCols.indexOf('user_id') === -1) { return; }
230
- var sets = [];
231
- var params = [];
232
- if (invCols.indexOf('customer_email') !== -1) {
233
- params.push(syntheticEmail);
234
- sets.push('customer_email = $' + params.length);
259
+ // The password a request confirms the deletion with, or null when it names
260
+ // none. A request without one deletes as before; one with a password deletes
261
+ // only when it is the account's own (the editor's delete-account form asks for
262
+ // it).
263
+ function readRequestPassword(req) {
264
+ var body = req.body;
265
+ if (typeof body === 'string') {
266
+ try { body = JSON.parse(body); } catch (e) { body = null; }
235
267
  }
236
- for (var i = 0; i < INVOICE_PII_NULL_COLUMNS.length; i++) {
237
- if (invCols.indexOf(INVOICE_PII_NULL_COLUMNS[i]) !== -1) {
238
- sets.push(INVOICE_PII_NULL_COLUMNS[i] + ' = NULL');
239
- }
268
+ if (!body || typeof body !== 'object' || body.password === undefined || body.password === null) {
269
+ return null;
270
+ }
271
+ return String(body.password);
272
+ }
273
+
274
+ // The sign-in check (utils/auth/hash-password.js verifyPassword): bcrypt over
275
+ // the SHA-256 of the password and AUTH_PEPPER. An account without a stored
276
+ // password (a social sign-in) matches no password.
277
+ function passwordMatches(password, storedHash) {
278
+ if (!storedHash || password.length > 1000) { return false; }
279
+ var bcrypt = require('bcryptjs');
280
+ var crypto = require('crypto');
281
+ var prepared = crypto.createHash('sha256').update(password + (process.env.AUTH_PEPPER || '')).digest('base64');
282
+ try {
283
+ return bcrypt.compareSync(prepared, String(storedHash));
284
+ } catch (e) {
285
+ return false;
240
286
  }
241
- if (sets.length === 0) { return; }
242
- params.push(userId);
243
- await client.query(
244
- 'UPDATE ' + invoicesTable + ' SET ' + sets.join(', ') +
245
- ' WHERE order_id IN (SELECT id FROM ' + ordersTable + ' WHERE user_id = $' + params.length + ')',
246
- params
247
- );
248
287
  }
249
288
 
250
289
  ${(0, transactional_email_code_1.generateFillTemplateFn)()}
@@ -261,6 +300,7 @@ ${(0, transactional_email_code_1.generateProviderSendFunction)(provider, {
261
300
  source: 'account-delete',
262
301
  sourceRef: 'api/account/delete-current',
263
302
  relativePrefix: '../../..',
303
+ withoutRecipientDetails: true,
264
304
  })}
265
305
 
266
306
  // \`locale\` is the language of the page the deletion was requested from
@@ -276,7 +316,7 @@ async function sendFarewellEmail(toEmail, tokenValues, userId, locale) {
276
316
  var copy = resolveFarewellEmailCopy(locale);
277
317
  var subject = fillTemplate(copy.subject, tokenValues);
278
318
  var html = fillTemplate(copy.body, tokenValues);
279
- await __sendProviderEmail({ from: from, fromName: EMAIL_FROM_NAME, to: toEmail, subject: subject, html: html, apiKey: apiKey, tokenValues: tokenValues, userId: userId });
319
+ await __sendProviderEmail({ from: from, fromName: EMAIL_FROM_NAME, to: toEmail, recordedTo: anonymisedEmailOf(userId), subject: subject, html: html, apiKey: apiKey, tokenValues: tokenValues, userId: userId });
280
320
  }
281
321
 
282
322
  module.exports = async function handler(req, res) {
@@ -296,10 +336,12 @@ module.exports = async function handler(req, res) {
296
336
  return res.status(401).json({ error: 'Unauthenticated' });
297
337
  }
298
338
 
339
+ var requestPassword = readRequestPassword(req);
299
340
  var client = getClient();
300
341
  var userEmail = '';
301
342
  var userName = '';
302
343
  var userFound = false;
344
+ var passwordRefused = false;
303
345
  var failed = false;
304
346
  // try/finally so the pg connection is ALWAYS closed — every early exit
305
347
  // (not-found, error) leaves via the finally, never leaking a connection.
@@ -312,14 +354,14 @@ module.exports = async function handler(req, res) {
312
354
  userFound = true;
313
355
  userEmail = userRes.rows[0].email || '';
314
356
  userName = userRes.rows[0].name || '';
315
-
316
- var syntheticEmail = String(DELETED_EMAIL_PATTERN).split('{{userId}}').join(String(userId));
357
+ passwordRefused =
358
+ requestPassword !== null && !passwordMatches(requestPassword, userRes.rows[0].password);
359
+ }
360
+ if (userFound && !passwordRefused) {
361
+ var syntheticEmail = anonymisedEmailOf(userId);
317
362
 
318
363
  await client.query('BEGIN');
319
364
  try {
320
- // Scrub invoice PII FIRST — invoices link to the user only through
321
- // order_id, so this must run while the orders row still carries user_id.
322
- await anonymizeInvoices(client, 'teleport_orders', 'teleport_invoices', userId, syntheticEmail);
323
365
  for (var a = 0; a < ANONYMIZE_TABLES.length; a++) {
324
366
  await anonymizeUserRows(client, ANONYMIZE_TABLES[a], userId, syntheticEmail);
325
367
  }
@@ -327,6 +369,8 @@ module.exports = async function handler(req, res) {
327
369
  await deleteUserRows(client, DELETE_TABLES[d], userId);
328
370
  }
329
371
  await deleteOwnedRows(client, userId);
372
+ await replaceEmailReferences(client, userEmail, syntheticEmail);
373
+ await blankSentEmailsTo(client, userEmail);
330
374
  // password_reset_tokens has no user_id — it is keyed by the email string.
331
375
  await deleteRowsByEmail(client, 'password_reset_tokens', 'email', userEmail);
332
376
  await client.query('DELETE FROM ' + AUTH_USERS_TABLE + ' WHERE id = $1', [userId]);
@@ -349,6 +393,9 @@ module.exports = async function handler(req, res) {
349
393
  if (!userFound) {
350
394
  return res.status(404).json({ error: 'Account not found' });
351
395
  }
396
+ if (passwordRefused) {
397
+ return res.status(403).json({ error: 'Incorrect password' });
398
+ }
352
399
 
353
400
  // Best-effort farewell email AFTER the successful commit (connection closed).
354
401
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"account-delete-route-generator.js","sourceRoot":"","sources":["../../src/account-delete-route-generator.ts"],"names":[],"mappings":";;;AAsBA,iEAA0D;AAC1D,qDAAuD;AACvD,uEAAoF;AACpF,yEAOmC;AAuBnC,+EAA+E;AAC/E,oFAAoF;AACvE,QAAA,8BAA8B,GAAG,yDAA8B,CAAA;AAErE,MAAM,0BAA0B,GAAG,CAAC,UAAqC,EAAE,EAAU,EAAE;IAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAA;IAC5D,MAAM,QAAQ,GACZ,OAAO,CAAC,aAAa,IAAI,oDAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAC3E,CAAC,CAAC,OAAO,CAAC,aAAa;QACvB,CAAC,CAAC,IAAI,CAAA;IACV,MAAM,mBAAmB,GACvB,OAAO,CAAC,mBAAmB,IAAI,yCAAyC,CAAA;IAE1E,OAAO,GAAG,IAAA,qCAAoB,GAAE;EAChC,IAAA,kEAAwC,GAAE;2BACjB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gCAC1B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;yBAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;qBAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;0BAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gCAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;wBACxD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,IAAI,+BAA+B,CAAC;0BACrE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;0BAC3C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;EACxE,IAAA,qDAA0B,EAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFtC,8BAAY,CAAC,+BAA+B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4I9C,IAAA,iDAAsB,GAAE;;EAExB,IAAA,uDAA4B,EAAC;QAC7B,MAAM,EAAE,0BAA0B;QAClC,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,iBAAiB;QAC5B,cAAc,EAAE,iBAAiB;KAClC,CAAC;;EAEA,IAAA,uDAA4B,EAAC,QAAQ,EAAE;QACvC,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,4BAA4B;QACvC,cAAc,EAAE,UAAU;KAC3B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4GA,QAAQ;QACN,CAAC,CAAC;;CAEL;QACG,CAAC,CAAC,EACN;;;CAGC,CAAA;AACD,CAAC,CAAA;AArXY,QAAA,0BAA0B,8BAqXtC"}
1
+ {"version":3,"file":"account-delete-route-generator.js","sourceRoot":"","sources":["../../src/account-delete-route-generator.ts"],"names":[],"mappings":";;;AA2BA,iEAA0D;AAC1D,qDAAuD;AACvD,uEAAoF;AACpF,yEAOmC;AAuBnC,+EAA+E;AAC/E,oFAAoF;AACvE,QAAA,8BAA8B,GAAG,yDAA8B,CAAA;AAErE,MAAM,0BAA0B,GAAG,CAAC,UAAqC,EAAE,EAAU,EAAE;IAC5F,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAA;IAC5D,MAAM,QAAQ,GACZ,OAAO,CAAC,aAAa,IAAI,oDAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAC3E,CAAC,CAAC,OAAO,CAAC,aAAa;QACvB,CAAC,CAAC,IAAI,CAAA;IACV,MAAM,mBAAmB,GACvB,OAAO,CAAC,mBAAmB,IAAI,yCAAyC,CAAA;IAE1E,OAAO,GAAG,IAAA,qCAAoB,GAAE;EAChC,IAAA,kEAAwC,GAAE;2BACjB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gCAC1B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;yBAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;qBAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;0BAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gCAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;wBACxD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,IAAI,+BAA+B,CAAC;0BACrE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;0BAC3C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;EACxE,IAAA,qDAA0B,EAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkItC,8BAAY,CAAC,+BAA+B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkI9C,IAAA,iDAAsB,GAAE;;EAExB,IAAA,uDAA4B,EAAC;QAC7B,MAAM,EAAE,0BAA0B;QAClC,YAAY,EAAE,eAAe;QAC7B,SAAS,EAAE,iBAAiB;QAC5B,cAAc,EAAE,iBAAiB;KAClC,CAAC;;EAEA,IAAA,uDAA4B,EAAC,QAAQ,EAAE;QACvC,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,4BAA4B;QACvC,cAAc,EAAE,UAAU;QAC1B,uBAAuB,EAAE,IAAI;KAC9B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmHA,QAAQ;QACN,CAAC,CAAC;;CAEL;QACG,CAAC,CAAC,EACN;;;CAGC,CAAA;AACD,CAAC,CAAA;AApaY,QAAA,0BAA0B,8BAoatC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-route-generator.d.ts","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EAIb,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAuD9C,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AA4BD,eAAO,MAAM,6BAA6B,YAC/B,eAAe,iBACT,MAAM,eACR,sBAAsB,YAC1B,yBAAyB,KACjC,MAiXF,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAa,eAAe,KAAG,OAE7D,CAAA;AAED,eAAO,MAAM,sCAAsC,YACxC,eAAe,iBACT,MAAM,eACR,sBAAsB,YAC1B,yBAAyB,KACjC,MA8bF,CAAA;AA4JD,eAAO,MAAM,oBAAoB,aACrB,YAAY,gBACR,OAAO,MAAM,EAAE,sBAAsB,CAAC,KACnD,MAsHF,CAAA;AAED,eAAO,MAAM,mBAAmB,eAClB,MAAM,aACP,MAAM,iBACF,MAAM,KACpB,MA4BF,CAAA;AAED,eAAO,MAAM,oBAAoB,aAAc,YAAY,KAAG,MAa7D,CAAA;AA+RD,eAAO,MAAM,+BAA+B,aAChC,YAAY,gBACR,OAAO,MAAM,EAAE,sBAAsB,CAAC,KACnD,MA0OF,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAc,YAAY,KAAG,MAiBhE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,cAC1B,aAAa,GAAG,SAAS,cACxB,MAAM,KACjB,MAAM,GAAG,IAYX,CAAA;AAED,eAAO,MAAM,mBAAmB,aAAc,YAAY,KAAG,MAAM,EAqBlE,CAAA"}
1
+ {"version":3,"file":"api-route-generator.d.ts","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EAIb,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAuD9C,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AA4BD,eAAO,MAAM,6BAA6B,YAC/B,eAAe,iBACT,MAAM,eACR,sBAAsB,YAC1B,yBAAyB,KACjC,MAiXF,CAAA;AAED,eAAO,MAAM,kBAAkB,YAAa,eAAe,KAAG,OAE7D,CAAA;AAED,eAAO,MAAM,sCAAsC,YACxC,eAAe,iBACT,MAAM,eACR,sBAAsB,YAC1B,yBAAyB,KACjC,MAgcF,CAAA;AA4JD,eAAO,MAAM,oBAAoB,aACrB,YAAY,gBACR,OAAO,MAAM,EAAE,sBAAsB,CAAC,KACnD,MAsHF,CAAA;AAED,eAAO,MAAM,mBAAmB,eAClB,MAAM,aACP,MAAM,iBACF,MAAM,KACpB,MA4BF,CAAA;AAED,eAAO,MAAM,oBAAoB,aAAc,YAAY,KAAG,MAa7D,CAAA;AA+RD,eAAO,MAAM,+BAA+B,aAChC,YAAY,gBACR,OAAO,MAAM,EAAE,sBAAsB,CAAC,KACnD,MA0OF,CAAA;AAED,eAAO,MAAM,uBAAuB,aAAc,YAAY,KAAG,MAiBhE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,cAC1B,aAAa,GAAG,SAAS,cACxB,MAAM,KACjB,MAAM,GAAG,IAYX,CAAA;AAED,eAAO,MAAM,mBAAmB,aAAc,YAAY,KAAG,MAAM,EAqBlE,CAAA"}
@@ -381,7 +381,7 @@ module.exports = async function handler(req, res) {
381
381
  for (var h = 0; h < hKeys.length; h++) {
382
382
  res.setHeader(hKeys[h], earlyRes.headers[hKeys[h]]);
383
383
  }
384
- await utils.settlePendingNodePromises(context);
384
+ await utils.handOffPendingNodePromises(context);
385
385
  res.status(earlyRes.status || 500).json(earlyRes.body || {});
386
386
  return;
387
387
  }
@@ -392,11 +392,11 @@ module.exports = async function handler(req, res) {
392
392
  if (result && result.__terminal) break;
393
393
  }
394
394
 
395
- // Land every fire-and-forget query BEFORE replying: the platform may freeze
396
- // this function the moment the response is sent, which would drop the write.
397
- // The visitor does not pay for this — the client dispatched this segment
398
- // without awaiting it (see seg.fireAndForget in the client runtime).
399
- await utils.settlePendingNodePromises(context);
395
+ // Every not-awaited step must still land: the platform may freeze this
396
+ // function the moment the response is sent, which would drop the work. On
397
+ // Vercel it finishes after the reply (waitUntil); elsewhere the reply waits
398
+ // for it (see handOffPendingNodePromises in the server runtime).
399
+ await utils.handOffPendingNodePromises(context);
400
400
  delete context.__request;
401
401
  delete context.__pendingNodePromises;
402
402
  // MUST be stripped before replying: the results payload below IS this
@@ -408,7 +408,7 @@ module.exports = async function handler(req, res) {
408
408
  res.status(200).json({ success: true, results: utils.segmentReply(SEGMENT_CONFIG, context, __incomingSnapshot) });
409
409
  } catch (error) {
410
410
  console.error('Workflow segment error:', error);
411
- if (__wfContext) { await utils.settlePendingNodePromises(__wfContext); }
411
+ if (__wfContext) { await utils.handOffPendingNodePromises(__wfContext); }
412
412
  res.status(500).json({ success: false, error: error.message || 'Internal server error' });
413
413
  }
414
414
  };
@@ -449,9 +449,12 @@ function __isStreamingAI(node, config) {
449
449
  return config && config.streaming && __streamingAITypes.indexOf(node.type) >= 0;
450
450
  }
451
451
 
452
- // One node's result to the browser — never one kept on the server, and a data
453
- // node's rows without the users table's credentials (see segmentReply).
452
+ // One node's result to the browser — never one kept on the server nor a
453
+ // credential (the closing reply carries that one sealed), and a data node's
454
+ // rows without the users table's credentials (see segmentReply).
455
+ const __credentialResultIds = utils.credentialResultNodeIds(SEGMENT_CONFIG);
454
456
  function __streamNodeResult(res, nodeId, result) {
457
+ if (__credentialResultIds[nodeId]) return;
455
458
  const kept = SEGMENT_CONFIG.nodes.find(function(nd) { return nd.id === nodeId; });
456
459
  if (kept && kept.config && kept.config.keepResultOnServer === true && !utils.isBranchingNodeType(kept.type)) return;
457
460
  res.write('data: ' + JSON.stringify({ type: 'node-result', nodeId: nodeId, result: utils.withoutCredentialColumns(kept, result) }) + '\\n\\n');
@@ -795,7 +798,7 @@ module.exports = async function handler(req, res) {
795
798
  }
796
799
  const result = await nodeHandler(resolved, context);
797
800
  if (result && result.__earlyResponse) {
798
- await utils.settlePendingNodePromises(context);
801
+ await utils.handOffPendingNodePromises(context);
799
802
  if (streamStarted) {
800
803
  res.write('data: ' + JSON.stringify({ type: 'error', error: (result.__earlyResponse.body && result.__earlyResponse.body.message) || 'Request rejected' }) + '\\n\\n');
801
804
  res.end();
@@ -820,10 +823,9 @@ module.exports = async function handler(req, res) {
820
823
  }
821
824
  }
822
825
 
823
- // See the non-streaming segment route: land every fire-and-forget query
824
- // before the response completes, or the platform may freeze this function
825
- // with the write still in flight.
826
- await utils.settlePendingNodePromises(context);
826
+ // See the non-streaming segment route: every not-awaited step must still
827
+ // land, after the reply on Vercel, before it anywhere else.
828
+ await utils.handOffPendingNodePromises(context);
827
829
  delete context.__request;
828
830
  delete context.__pendingNodePromises;
829
831
  // MUST be stripped before replying: the results payload below IS this
@@ -841,7 +843,7 @@ module.exports = async function handler(req, res) {
841
843
  }
842
844
  } catch (error) {
843
845
  console.error('Streaming workflow segment error:', error);
844
- if (__wfContext) { await utils.settlePendingNodePromises(__wfContext); }
846
+ if (__wfContext) { await utils.handOffPendingNodePromises(__wfContext); }
845
847
  if (streamStarted) {
846
848
  try {
847
849
  res.write('data: ' + JSON.stringify({ type: 'error', error: error.message || 'Internal server error' }) + '\\n\\n');
@@ -1 +1 @@
1
- {"version":3,"file":"api-route-generator.js","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-route-generator.js","sourceRoot":"","sources":["../../src/api-route-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,EACf,MAAM,4BAA4B,CAAA;AAsBnC,eAAO,MAAM,6BAA6B,mBACxB,cAAc,GAAG,IAAI,KACpC,OAAO,MAAM,EAAE,MAAM,CA0BvB,CAAA;AAwID;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAA;AAE7C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAQrD,CAAA;AAKD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAalD,CAAA;AAWD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,WACzB,OAAO,MAAM,EAAE,mBAAmB,EAAE,CAAC,GAAG,SAAS,eAC5C,sBAAsB,EAAE,KACpC,MAAM,EAQR,CAAA;AAwbD,eAAO,MAAM,uBAAuB,SAC5B,kBAAkB,qBACL,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAChD,MAoIF,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,QAAO,MA6ChD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAkD3C,CAAA;AAED,eAAO,MAAM,wBAAwB,QAAO,MA4B3C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAwG5C,CAAA;AAMD,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,SAC5B,kBAAkB,YACf,mBAAmB,KAC3B,MAiLF,CAAA;AA2ED,MAAM,WAAW,iBAAiB;IAIhC,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC;AA4FD,eAAO,MAAM,sBAAsB,SAC3B,kBAAkB,YACf,iBAAiB,KACzB,MA2bF,CAAA;AAoBD,eAAO,MAAM,8BAA8B,QAAO,MA6BjD,CAAA;AAED,eAAO,MAAM,8BAA8B,QAAO,MAiHjD,CAAA"}
1
+ {"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,EACf,MAAM,4BAA4B,CAAA;AAsBnC,eAAO,MAAM,6BAA6B,mBACxB,cAAc,GAAG,IAAI,KACpC,OAAO,MAAM,EAAE,MAAM,CA0BvB,CAAA;AAwID;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAA;AAE7C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAQrD,CAAA;AAKD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAalD,CAAA;AAWD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,WACzB,OAAO,MAAM,EAAE,mBAAmB,EAAE,CAAC,GAAG,SAAS,eAC5C,sBAAsB,EAAE,KACpC,MAAM,EAQR,CAAA;AA0bD,eAAO,MAAM,uBAAuB,SAC5B,kBAAkB,qBACL,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAChD,MAmKF,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,QAAO,MA6ChD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAkD3C,CAAA;AAED,eAAO,MAAM,wBAAwB,QAAO,MA4B3C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAwG5C,CAAA;AAMD,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,SAC5B,kBAAkB,YACf,mBAAmB,KAC3B,MAiLF,CAAA;AA2ED,MAAM,WAAW,iBAAiB;IAIhC,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC;AA4FD,eAAO,MAAM,sBAAsB,SAC3B,kBAAkB,YACf,iBAAiB,KACzB,MA2bF,CAAA;AAoBD,eAAO,MAAM,8BAA8B,QAAO,MA6BjD,CAAA;AAED,eAAO,MAAM,8BAA8B,QAAO,MAiHjD,CAAA"}