@adaptic/backend-legacy 0.0.953 → 0.0.954

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 (262) hide show
  1. package/ABTest.cjs +207 -36
  2. package/Account.cjs +207 -36
  3. package/AccountDecisionRecord.cjs +207 -36
  4. package/AccountLinkingRequest.cjs +207 -36
  5. package/Action.cjs +207 -36
  6. package/Alert.cjs +207 -36
  7. package/Allocation.cjs +207 -36
  8. package/AlpacaAccount.cjs +207 -36
  9. package/AnalyticsConfiguration.cjs +207 -36
  10. package/AnalyticsSnapshot.cjs +207 -36
  11. package/Asset.cjs +207 -36
  12. package/AuditLog.cjs +207 -36
  13. package/Authenticator.cjs +207 -36
  14. package/Configuration.cjs +207 -36
  15. package/ConflictEvent.cjs +207 -36
  16. package/ConnectionHealthSnapshot.cjs +207 -36
  17. package/Customer.cjs +207 -36
  18. package/DeadLetterMessage.cjs +207 -36
  19. package/DecisionMemorySummary.cjs +207 -36
  20. package/EconomicEvent.cjs +207 -36
  21. package/EquityBar.cjs +207 -36
  22. package/Event.cjs +207 -36
  23. package/EventSnapshot.cjs +207 -36
  24. package/FeatureImportanceAnalysis.cjs +207 -36
  25. package/InstitutionalFlowSignal.cjs +207 -36
  26. package/InstitutionalHolding.cjs +207 -36
  27. package/InstitutionalSentimentAlerts.cjs +207 -36
  28. package/InstitutionalSentimentErrors.cjs +207 -36
  29. package/InstitutionalSentimentHistory.cjs +207 -36
  30. package/InstitutionalSentimentMetrics.cjs +207 -36
  31. package/InviteToken.cjs +207 -36
  32. package/LinkedProvider.cjs +207 -36
  33. package/LlmConfiguration.cjs +207 -36
  34. package/MLModelVersion.cjs +207 -36
  35. package/MLTrainingData.cjs +207 -36
  36. package/MarketSentiment.cjs +207 -36
  37. package/ModelArtifact.cjs +207 -36
  38. package/ModelVersion.cjs +207 -36
  39. package/ModelVersionArtifact.cjs +207 -36
  40. package/NewsArticle.cjs +207 -36
  41. package/NewsArticleAssetSentiment.cjs +207 -36
  42. package/OptionsContract.cjs +207 -36
  43. package/OptionsGreeksHistory.cjs +207 -36
  44. package/OptionsPosition.cjs +207 -36
  45. package/OptionsPositionEvent.cjs +207 -36
  46. package/OptionsTradeExecution.cjs +207 -36
  47. package/PolicyOverlay.cjs +207 -36
  48. package/PortfolioGreeksHistory.cjs +207 -36
  49. package/ScheduledOptionOrder.cjs +207 -36
  50. package/Session.cjs +207 -36
  51. package/SignalGeneratorMetrics.cjs +207 -36
  52. package/SignalLineage.cjs +207 -36
  53. package/SignalOutcome.cjs +207 -36
  54. package/SignalPriorityQueue.cjs +207 -36
  55. package/SyncEvent.cjs +207 -36
  56. package/SystemAlert.cjs +207 -36
  57. package/Trade.cjs +207 -36
  58. package/TradeAuditEvent.cjs +207 -36
  59. package/TradeExecutionHistory.cjs +207 -36
  60. package/TradeOutcome.cjs +207 -36
  61. package/TradingPolicy.cjs +207 -36
  62. package/User.cjs +207 -36
  63. package/VerificationToken.cjs +207 -36
  64. package/WaitlistEntry.cjs +207 -36
  65. package/client.cjs +2 -0
  66. package/esm/ABTest.d.ts.map +1 -1
  67. package/esm/ABTest.js.map +1 -1
  68. package/esm/ABTest.mjs +189 -18
  69. package/esm/Account.d.ts.map +1 -1
  70. package/esm/Account.js.map +1 -1
  71. package/esm/Account.mjs +189 -18
  72. package/esm/AccountDecisionRecord.d.ts.map +1 -1
  73. package/esm/AccountDecisionRecord.js.map +1 -1
  74. package/esm/AccountDecisionRecord.mjs +189 -18
  75. package/esm/AccountLinkingRequest.d.ts.map +1 -1
  76. package/esm/AccountLinkingRequest.js.map +1 -1
  77. package/esm/AccountLinkingRequest.mjs +189 -18
  78. package/esm/Action.d.ts.map +1 -1
  79. package/esm/Action.js.map +1 -1
  80. package/esm/Action.mjs +189 -18
  81. package/esm/Alert.d.ts.map +1 -1
  82. package/esm/Alert.js.map +1 -1
  83. package/esm/Alert.mjs +189 -18
  84. package/esm/Allocation.d.ts.map +1 -1
  85. package/esm/Allocation.js.map +1 -1
  86. package/esm/Allocation.mjs +189 -18
  87. package/esm/AlpacaAccount.d.ts.map +1 -1
  88. package/esm/AlpacaAccount.js.map +1 -1
  89. package/esm/AlpacaAccount.mjs +189 -18
  90. package/esm/AnalyticsConfiguration.d.ts.map +1 -1
  91. package/esm/AnalyticsConfiguration.js.map +1 -1
  92. package/esm/AnalyticsConfiguration.mjs +189 -18
  93. package/esm/AnalyticsSnapshot.d.ts.map +1 -1
  94. package/esm/AnalyticsSnapshot.js.map +1 -1
  95. package/esm/AnalyticsSnapshot.mjs +189 -18
  96. package/esm/Asset.d.ts.map +1 -1
  97. package/esm/Asset.js.map +1 -1
  98. package/esm/Asset.mjs +189 -18
  99. package/esm/AuditLog.d.ts.map +1 -1
  100. package/esm/AuditLog.js.map +1 -1
  101. package/esm/AuditLog.mjs +189 -18
  102. package/esm/Authenticator.d.ts.map +1 -1
  103. package/esm/Authenticator.js.map +1 -1
  104. package/esm/Authenticator.mjs +189 -18
  105. package/esm/Configuration.d.ts.map +1 -1
  106. package/esm/Configuration.js.map +1 -1
  107. package/esm/Configuration.mjs +189 -18
  108. package/esm/ConflictEvent.d.ts.map +1 -1
  109. package/esm/ConflictEvent.js.map +1 -1
  110. package/esm/ConflictEvent.mjs +189 -18
  111. package/esm/ConnectionHealthSnapshot.d.ts.map +1 -1
  112. package/esm/ConnectionHealthSnapshot.js.map +1 -1
  113. package/esm/ConnectionHealthSnapshot.mjs +189 -18
  114. package/esm/Customer.d.ts.map +1 -1
  115. package/esm/Customer.js.map +1 -1
  116. package/esm/Customer.mjs +189 -18
  117. package/esm/DeadLetterMessage.d.ts.map +1 -1
  118. package/esm/DeadLetterMessage.js.map +1 -1
  119. package/esm/DeadLetterMessage.mjs +189 -18
  120. package/esm/DecisionMemorySummary.d.ts.map +1 -1
  121. package/esm/DecisionMemorySummary.js.map +1 -1
  122. package/esm/DecisionMemorySummary.mjs +189 -18
  123. package/esm/EconomicEvent.d.ts.map +1 -1
  124. package/esm/EconomicEvent.js.map +1 -1
  125. package/esm/EconomicEvent.mjs +189 -18
  126. package/esm/EquityBar.d.ts.map +1 -1
  127. package/esm/EquityBar.js.map +1 -1
  128. package/esm/EquityBar.mjs +189 -18
  129. package/esm/Event.d.ts.map +1 -1
  130. package/esm/Event.js.map +1 -1
  131. package/esm/Event.mjs +189 -18
  132. package/esm/EventSnapshot.d.ts.map +1 -1
  133. package/esm/EventSnapshot.js.map +1 -1
  134. package/esm/EventSnapshot.mjs +189 -18
  135. package/esm/FeatureImportanceAnalysis.d.ts.map +1 -1
  136. package/esm/FeatureImportanceAnalysis.js.map +1 -1
  137. package/esm/FeatureImportanceAnalysis.mjs +189 -18
  138. package/esm/InstitutionalFlowSignal.d.ts.map +1 -1
  139. package/esm/InstitutionalFlowSignal.js.map +1 -1
  140. package/esm/InstitutionalFlowSignal.mjs +189 -18
  141. package/esm/InstitutionalHolding.d.ts.map +1 -1
  142. package/esm/InstitutionalHolding.js.map +1 -1
  143. package/esm/InstitutionalHolding.mjs +189 -18
  144. package/esm/InstitutionalSentimentAlerts.d.ts.map +1 -1
  145. package/esm/InstitutionalSentimentAlerts.js.map +1 -1
  146. package/esm/InstitutionalSentimentAlerts.mjs +189 -18
  147. package/esm/InstitutionalSentimentErrors.d.ts.map +1 -1
  148. package/esm/InstitutionalSentimentErrors.js.map +1 -1
  149. package/esm/InstitutionalSentimentErrors.mjs +189 -18
  150. package/esm/InstitutionalSentimentHistory.d.ts.map +1 -1
  151. package/esm/InstitutionalSentimentHistory.js.map +1 -1
  152. package/esm/InstitutionalSentimentHistory.mjs +189 -18
  153. package/esm/InstitutionalSentimentMetrics.d.ts.map +1 -1
  154. package/esm/InstitutionalSentimentMetrics.js.map +1 -1
  155. package/esm/InstitutionalSentimentMetrics.mjs +189 -18
  156. package/esm/InviteToken.d.ts.map +1 -1
  157. package/esm/InviteToken.js.map +1 -1
  158. package/esm/InviteToken.mjs +189 -18
  159. package/esm/LinkedProvider.d.ts.map +1 -1
  160. package/esm/LinkedProvider.js.map +1 -1
  161. package/esm/LinkedProvider.mjs +189 -18
  162. package/esm/LlmConfiguration.d.ts.map +1 -1
  163. package/esm/LlmConfiguration.js.map +1 -1
  164. package/esm/LlmConfiguration.mjs +189 -18
  165. package/esm/MLModelVersion.d.ts.map +1 -1
  166. package/esm/MLModelVersion.js.map +1 -1
  167. package/esm/MLModelVersion.mjs +189 -18
  168. package/esm/MLTrainingData.d.ts.map +1 -1
  169. package/esm/MLTrainingData.js.map +1 -1
  170. package/esm/MLTrainingData.mjs +189 -18
  171. package/esm/MarketSentiment.d.ts.map +1 -1
  172. package/esm/MarketSentiment.js.map +1 -1
  173. package/esm/MarketSentiment.mjs +189 -18
  174. package/esm/ModelArtifact.d.ts.map +1 -1
  175. package/esm/ModelArtifact.js.map +1 -1
  176. package/esm/ModelArtifact.mjs +189 -18
  177. package/esm/ModelVersion.d.ts.map +1 -1
  178. package/esm/ModelVersion.js.map +1 -1
  179. package/esm/ModelVersion.mjs +189 -18
  180. package/esm/ModelVersionArtifact.d.ts.map +1 -1
  181. package/esm/ModelVersionArtifact.js.map +1 -1
  182. package/esm/ModelVersionArtifact.mjs +189 -18
  183. package/esm/NewsArticle.d.ts.map +1 -1
  184. package/esm/NewsArticle.js.map +1 -1
  185. package/esm/NewsArticle.mjs +189 -18
  186. package/esm/NewsArticleAssetSentiment.d.ts.map +1 -1
  187. package/esm/NewsArticleAssetSentiment.js.map +1 -1
  188. package/esm/NewsArticleAssetSentiment.mjs +189 -18
  189. package/esm/OptionsContract.d.ts.map +1 -1
  190. package/esm/OptionsContract.js.map +1 -1
  191. package/esm/OptionsContract.mjs +189 -18
  192. package/esm/OptionsGreeksHistory.d.ts.map +1 -1
  193. package/esm/OptionsGreeksHistory.js.map +1 -1
  194. package/esm/OptionsGreeksHistory.mjs +189 -18
  195. package/esm/OptionsPosition.d.ts.map +1 -1
  196. package/esm/OptionsPosition.js.map +1 -1
  197. package/esm/OptionsPosition.mjs +189 -18
  198. package/esm/OptionsPositionEvent.d.ts.map +1 -1
  199. package/esm/OptionsPositionEvent.js.map +1 -1
  200. package/esm/OptionsPositionEvent.mjs +189 -18
  201. package/esm/OptionsTradeExecution.d.ts.map +1 -1
  202. package/esm/OptionsTradeExecution.js.map +1 -1
  203. package/esm/OptionsTradeExecution.mjs +189 -18
  204. package/esm/PolicyOverlay.d.ts.map +1 -1
  205. package/esm/PolicyOverlay.js.map +1 -1
  206. package/esm/PolicyOverlay.mjs +189 -18
  207. package/esm/PortfolioGreeksHistory.d.ts.map +1 -1
  208. package/esm/PortfolioGreeksHistory.js.map +1 -1
  209. package/esm/PortfolioGreeksHistory.mjs +189 -18
  210. package/esm/ScheduledOptionOrder.d.ts.map +1 -1
  211. package/esm/ScheduledOptionOrder.js.map +1 -1
  212. package/esm/ScheduledOptionOrder.mjs +189 -18
  213. package/esm/Session.d.ts.map +1 -1
  214. package/esm/Session.js.map +1 -1
  215. package/esm/Session.mjs +189 -18
  216. package/esm/SignalGeneratorMetrics.d.ts.map +1 -1
  217. package/esm/SignalGeneratorMetrics.js.map +1 -1
  218. package/esm/SignalGeneratorMetrics.mjs +189 -18
  219. package/esm/SignalLineage.d.ts.map +1 -1
  220. package/esm/SignalLineage.js.map +1 -1
  221. package/esm/SignalLineage.mjs +189 -18
  222. package/esm/SignalOutcome.d.ts.map +1 -1
  223. package/esm/SignalOutcome.js.map +1 -1
  224. package/esm/SignalOutcome.mjs +189 -18
  225. package/esm/SignalPriorityQueue.d.ts.map +1 -1
  226. package/esm/SignalPriorityQueue.js.map +1 -1
  227. package/esm/SignalPriorityQueue.mjs +189 -18
  228. package/esm/SyncEvent.d.ts.map +1 -1
  229. package/esm/SyncEvent.js.map +1 -1
  230. package/esm/SyncEvent.mjs +189 -18
  231. package/esm/SystemAlert.d.ts.map +1 -1
  232. package/esm/SystemAlert.js.map +1 -1
  233. package/esm/SystemAlert.mjs +189 -18
  234. package/esm/Trade.d.ts.map +1 -1
  235. package/esm/Trade.js.map +1 -1
  236. package/esm/Trade.mjs +189 -18
  237. package/esm/TradeAuditEvent.d.ts.map +1 -1
  238. package/esm/TradeAuditEvent.js.map +1 -1
  239. package/esm/TradeAuditEvent.mjs +189 -18
  240. package/esm/TradeExecutionHistory.d.ts.map +1 -1
  241. package/esm/TradeExecutionHistory.js.map +1 -1
  242. package/esm/TradeExecutionHistory.mjs +189 -18
  243. package/esm/TradeOutcome.d.ts.map +1 -1
  244. package/esm/TradeOutcome.js.map +1 -1
  245. package/esm/TradeOutcome.mjs +189 -18
  246. package/esm/TradingPolicy.d.ts.map +1 -1
  247. package/esm/TradingPolicy.js.map +1 -1
  248. package/esm/TradingPolicy.mjs +189 -18
  249. package/esm/User.d.ts.map +1 -1
  250. package/esm/User.js.map +1 -1
  251. package/esm/User.mjs +189 -18
  252. package/esm/VerificationToken.d.ts.map +1 -1
  253. package/esm/VerificationToken.js.map +1 -1
  254. package/esm/VerificationToken.mjs +189 -18
  255. package/esm/WaitlistEntry.d.ts.map +1 -1
  256. package/esm/WaitlistEntry.js.map +1 -1
  257. package/esm/WaitlistEntry.mjs +189 -18
  258. package/esm/client.d.ts.map +1 -1
  259. package/esm/client.js.map +1 -1
  260. package/esm/client.mjs +2 -0
  261. package/esm/index.d.ts.map +1 -1
  262. package/package.json +1 -1
@@ -94,12 +94,31 @@ export const VerificationToken = {
94
94
  });
95
95
  throw error;
96
96
  }
97
- // Check if this is a database connection error that we should retry
97
+ // Check if this is a database connection error that we should retry.
98
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
99
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
100
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
98
101
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
99
102
  error.message?.includes('Cannot reach database server') ||
100
103
  error.message?.includes('Connection timed out') ||
104
+ error.message?.includes('aborted due to timeout') ||
105
+ error.message?.includes('TimeoutError') ||
106
+ error.message?.includes('fetch failed') ||
107
+ error.message?.includes('socket hang up') ||
108
+ error.message?.includes('ECONNRESET') ||
109
+ error.message?.includes('ECONNREFUSED') ||
110
+ error.message?.includes('ETIMEDOUT') ||
111
+ error.message?.includes('Connection pool timeout') ||
112
+ error.message?.includes('P2024') ||
113
+ error.message?.includes('status code 408') ||
114
+ error.message?.includes('status code 502') ||
115
+ error.message?.includes('status code 503') ||
116
+ error.message?.includes('status code 504') ||
101
117
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
102
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
118
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
119
+ error.networkError.message?.includes('fetch failed') ||
120
+ error.networkError.message?.includes('aborted due to timeout') ||
121
+ error.networkError.message?.includes('TimeoutError')));
103
122
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
104
123
  retryCount++;
105
124
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -200,12 +219,31 @@ export const VerificationToken = {
200
219
  });
201
220
  throw error;
202
221
  }
203
- // Check if this is a database connection error that we should retry
222
+ // Check if this is a database connection error that we should retry.
223
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
224
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
225
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
204
226
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
205
227
  error.message?.includes('Cannot reach database server') ||
206
228
  error.message?.includes('Connection timed out') ||
229
+ error.message?.includes('aborted due to timeout') ||
230
+ error.message?.includes('TimeoutError') ||
231
+ error.message?.includes('fetch failed') ||
232
+ error.message?.includes('socket hang up') ||
233
+ error.message?.includes('ECONNRESET') ||
234
+ error.message?.includes('ECONNREFUSED') ||
235
+ error.message?.includes('ETIMEDOUT') ||
236
+ error.message?.includes('Connection pool timeout') ||
237
+ error.message?.includes('P2024') ||
238
+ error.message?.includes('status code 408') ||
239
+ error.message?.includes('status code 502') ||
240
+ error.message?.includes('status code 503') ||
241
+ error.message?.includes('status code 504') ||
207
242
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
208
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
243
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
244
+ error.networkError.message?.includes('fetch failed') ||
245
+ error.networkError.message?.includes('aborted due to timeout') ||
246
+ error.networkError.message?.includes('TimeoutError')));
209
247
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
210
248
  retryCount++;
211
249
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -318,12 +356,31 @@ export const VerificationToken = {
318
356
  });
319
357
  throw error;
320
358
  }
321
- // Check if this is a database connection error that we should retry
359
+ // Check if this is a database connection error that we should retry.
360
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
361
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
362
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
322
363
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
323
364
  error.message?.includes('Cannot reach database server') ||
324
365
  error.message?.includes('Connection timed out') ||
366
+ error.message?.includes('aborted due to timeout') ||
367
+ error.message?.includes('TimeoutError') ||
368
+ error.message?.includes('fetch failed') ||
369
+ error.message?.includes('socket hang up') ||
370
+ error.message?.includes('ECONNRESET') ||
371
+ error.message?.includes('ECONNREFUSED') ||
372
+ error.message?.includes('ETIMEDOUT') ||
373
+ error.message?.includes('Connection pool timeout') ||
374
+ error.message?.includes('P2024') ||
375
+ error.message?.includes('status code 408') ||
376
+ error.message?.includes('status code 502') ||
377
+ error.message?.includes('status code 503') ||
378
+ error.message?.includes('status code 504') ||
325
379
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
326
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
380
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
381
+ error.networkError.message?.includes('fetch failed') ||
382
+ error.networkError.message?.includes('aborted due to timeout') ||
383
+ error.networkError.message?.includes('TimeoutError')));
327
384
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
328
385
  retryCount++;
329
386
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -440,12 +497,31 @@ export const VerificationToken = {
440
497
  });
441
498
  throw error;
442
499
  }
443
- // Check if this is a database connection error that we should retry
500
+ // Check if this is a database connection error that we should retry.
501
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
502
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
503
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
444
504
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
445
505
  error.message?.includes('Cannot reach database server') ||
446
506
  error.message?.includes('Connection timed out') ||
507
+ error.message?.includes('aborted due to timeout') ||
508
+ error.message?.includes('TimeoutError') ||
509
+ error.message?.includes('fetch failed') ||
510
+ error.message?.includes('socket hang up') ||
511
+ error.message?.includes('ECONNRESET') ||
512
+ error.message?.includes('ECONNREFUSED') ||
513
+ error.message?.includes('ETIMEDOUT') ||
514
+ error.message?.includes('Connection pool timeout') ||
515
+ error.message?.includes('P2024') ||
516
+ error.message?.includes('status code 408') ||
517
+ error.message?.includes('status code 502') ||
518
+ error.message?.includes('status code 503') ||
519
+ error.message?.includes('status code 504') ||
447
520
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
448
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
521
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
522
+ error.networkError.message?.includes('fetch failed') ||
523
+ error.networkError.message?.includes('aborted due to timeout') ||
524
+ error.networkError.message?.includes('TimeoutError')));
449
525
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
450
526
  retryCount++;
451
527
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -559,12 +635,31 @@ export const VerificationToken = {
559
635
  });
560
636
  throw error;
561
637
  }
562
- // Check if this is a database connection error that we should retry
638
+ // Check if this is a database connection error that we should retry.
639
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
640
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
641
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
563
642
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
564
643
  error.message?.includes('Cannot reach database server') ||
565
644
  error.message?.includes('Connection timed out') ||
645
+ error.message?.includes('aborted due to timeout') ||
646
+ error.message?.includes('TimeoutError') ||
647
+ error.message?.includes('fetch failed') ||
648
+ error.message?.includes('socket hang up') ||
649
+ error.message?.includes('ECONNRESET') ||
650
+ error.message?.includes('ECONNREFUSED') ||
651
+ error.message?.includes('ETIMEDOUT') ||
652
+ error.message?.includes('Connection pool timeout') ||
653
+ error.message?.includes('P2024') ||
654
+ error.message?.includes('status code 408') ||
655
+ error.message?.includes('status code 502') ||
656
+ error.message?.includes('status code 503') ||
657
+ error.message?.includes('status code 504') ||
566
658
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
567
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
659
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
660
+ error.networkError.message?.includes('fetch failed') ||
661
+ error.networkError.message?.includes('aborted due to timeout') ||
662
+ error.networkError.message?.includes('TimeoutError')));
568
663
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
569
664
  retryCount++;
570
665
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -666,12 +761,31 @@ export const VerificationToken = {
666
761
  });
667
762
  throw error;
668
763
  }
669
- // Check if this is a database connection error that we should retry
764
+ // Check if this is a database connection error that we should retry.
765
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
766
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
767
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
670
768
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
671
769
  error.message?.includes('Cannot reach database server') ||
672
770
  error.message?.includes('Connection timed out') ||
771
+ error.message?.includes('aborted due to timeout') ||
772
+ error.message?.includes('TimeoutError') ||
773
+ error.message?.includes('fetch failed') ||
774
+ error.message?.includes('socket hang up') ||
775
+ error.message?.includes('ECONNRESET') ||
776
+ error.message?.includes('ECONNREFUSED') ||
777
+ error.message?.includes('ETIMEDOUT') ||
778
+ error.message?.includes('Connection pool timeout') ||
779
+ error.message?.includes('P2024') ||
780
+ error.message?.includes('status code 408') ||
781
+ error.message?.includes('status code 502') ||
782
+ error.message?.includes('status code 503') ||
783
+ error.message?.includes('status code 504') ||
673
784
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
674
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
785
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
786
+ error.networkError.message?.includes('fetch failed') ||
787
+ error.networkError.message?.includes('aborted due to timeout') ||
788
+ error.networkError.message?.includes('TimeoutError')));
675
789
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
676
790
  retryCount++;
677
791
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -749,12 +863,31 @@ export const VerificationToken = {
749
863
  if (error.message === 'No VerificationToken found') {
750
864
  return null;
751
865
  }
752
- // Check if this is a database connection error that we should retry
866
+ // Check if this is a database connection error that we should retry.
867
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
868
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
869
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
753
870
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
754
871
  error.message?.includes('Cannot reach database server') ||
755
872
  error.message?.includes('Connection timed out') ||
873
+ error.message?.includes('aborted due to timeout') ||
874
+ error.message?.includes('TimeoutError') ||
875
+ error.message?.includes('fetch failed') ||
876
+ error.message?.includes('socket hang up') ||
877
+ error.message?.includes('ECONNRESET') ||
878
+ error.message?.includes('ECONNREFUSED') ||
879
+ error.message?.includes('ETIMEDOUT') ||
880
+ error.message?.includes('Connection pool timeout') ||
881
+ error.message?.includes('P2024') ||
882
+ error.message?.includes('status code 408') ||
883
+ error.message?.includes('status code 502') ||
884
+ error.message?.includes('status code 503') ||
885
+ error.message?.includes('status code 504') ||
756
886
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
757
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
887
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
888
+ error.networkError.message?.includes('fetch failed') ||
889
+ error.networkError.message?.includes('aborted due to timeout') ||
890
+ error.networkError.message?.includes('TimeoutError')));
758
891
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
759
892
  retryCount++;
760
893
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -821,12 +954,31 @@ export const VerificationToken = {
821
954
  if (error.message === 'No VerificationToken found') {
822
955
  return null;
823
956
  }
824
- // Check if this is a database connection error that we should retry
957
+ // Check if this is a database connection error that we should retry.
958
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
959
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
960
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
825
961
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
826
962
  error.message?.includes('Cannot reach database server') ||
827
963
  error.message?.includes('Connection timed out') ||
964
+ error.message?.includes('aborted due to timeout') ||
965
+ error.message?.includes('TimeoutError') ||
966
+ error.message?.includes('fetch failed') ||
967
+ error.message?.includes('socket hang up') ||
968
+ error.message?.includes('ECONNRESET') ||
969
+ error.message?.includes('ECONNREFUSED') ||
970
+ error.message?.includes('ETIMEDOUT') ||
971
+ error.message?.includes('Connection pool timeout') ||
972
+ error.message?.includes('P2024') ||
973
+ error.message?.includes('status code 408') ||
974
+ error.message?.includes('status code 502') ||
975
+ error.message?.includes('status code 503') ||
976
+ error.message?.includes('status code 504') ||
828
977
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
829
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
978
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
979
+ error.networkError.message?.includes('fetch failed') ||
980
+ error.networkError.message?.includes('aborted due to timeout') ||
981
+ error.networkError.message?.includes('TimeoutError')));
830
982
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
831
983
  retryCount++;
832
984
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -914,12 +1066,31 @@ export const VerificationToken = {
914
1066
  if (error.message === 'No VerificationToken found') {
915
1067
  return null;
916
1068
  }
917
- // Check if this is a database connection error that we should retry
1069
+ // Check if this is a database connection error that we should retry.
1070
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
1071
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
1072
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
918
1073
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
919
1074
  error.message?.includes('Cannot reach database server') ||
920
1075
  error.message?.includes('Connection timed out') ||
1076
+ error.message?.includes('aborted due to timeout') ||
1077
+ error.message?.includes('TimeoutError') ||
1078
+ error.message?.includes('fetch failed') ||
1079
+ error.message?.includes('socket hang up') ||
1080
+ error.message?.includes('ECONNRESET') ||
1081
+ error.message?.includes('ECONNREFUSED') ||
1082
+ error.message?.includes('ETIMEDOUT') ||
1083
+ error.message?.includes('Connection pool timeout') ||
1084
+ error.message?.includes('P2024') ||
1085
+ error.message?.includes('status code 408') ||
1086
+ error.message?.includes('status code 502') ||
1087
+ error.message?.includes('status code 503') ||
1088
+ error.message?.includes('status code 504') ||
921
1089
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
922
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
1090
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
1091
+ error.networkError.message?.includes('fetch failed') ||
1092
+ error.networkError.message?.includes('aborted due to timeout') ||
1093
+ error.networkError.message?.includes('TimeoutError')));
923
1094
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
924
1095
  retryCount++;
925
1096
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -1 +1 @@
1
- {"version":3,"file":"WaitlistEntry.d.ts","sourceRoot":"","sources":["../../src/WaitlistEntry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAoCpG,eAAO,MAAM,aAAa;IAExB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0iB5H;;;;;;;OAOG;sBACqB,iBAAiB,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,YAAY;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAsH/K;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqoD1H;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8jE1H;;;;;;OAMG;sBACqB,iBAAiB,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAooDvI;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmH1H;;;;;;;OAOG;eACc,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAwFhJ;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;IA4EzG;;;;;;;OAOG;oBACmB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;CAsGxJ,CAAC"}
1
+ {"version":3,"file":"WaitlistEntry.d.ts","sourceRoot":"","sources":["../../src/WaitlistEntry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAoCpG,eAAO,MAAM,aAAa;IAExB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+jB5H;;;;;;;OAOG;sBACqB,iBAAiB,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,YAAY;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IA2I/K;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0pD1H;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmlE1H;;;;;;OAMG;sBACqB,iBAAiB,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAypDvI;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwI1H;;;;;;;OAOG;eACc,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IA6GhJ;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAiGzG;;;;;;;OAOG;oBACmB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC;CA2HxJ,CAAC"}