@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
@@ -265,12 +265,31 @@ export const NewsArticle = {
265
265
  });
266
266
  throw error;
267
267
  }
268
- // Check if this is a database connection error that we should retry
268
+ // Check if this is a database connection error that we should retry.
269
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
270
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
271
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
269
272
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
270
273
  error.message?.includes('Cannot reach database server') ||
271
274
  error.message?.includes('Connection timed out') ||
275
+ error.message?.includes('aborted due to timeout') ||
276
+ error.message?.includes('TimeoutError') ||
277
+ error.message?.includes('fetch failed') ||
278
+ error.message?.includes('socket hang up') ||
279
+ error.message?.includes('ECONNRESET') ||
280
+ error.message?.includes('ECONNREFUSED') ||
281
+ error.message?.includes('ETIMEDOUT') ||
282
+ error.message?.includes('Connection pool timeout') ||
283
+ error.message?.includes('P2024') ||
284
+ error.message?.includes('status code 408') ||
285
+ error.message?.includes('status code 502') ||
286
+ error.message?.includes('status code 503') ||
287
+ error.message?.includes('status code 504') ||
272
288
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
273
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
289
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
290
+ error.networkError.message?.includes('fetch failed') ||
291
+ error.networkError.message?.includes('aborted due to timeout') ||
292
+ error.networkError.message?.includes('TimeoutError')));
274
293
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
275
294
  retryCount++;
276
295
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -385,12 +404,31 @@ export const NewsArticle = {
385
404
  });
386
405
  throw error;
387
406
  }
388
- // Check if this is a database connection error that we should retry
407
+ // Check if this is a database connection error that we should retry.
408
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
409
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
410
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
389
411
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
390
412
  error.message?.includes('Cannot reach database server') ||
391
413
  error.message?.includes('Connection timed out') ||
414
+ error.message?.includes('aborted due to timeout') ||
415
+ error.message?.includes('TimeoutError') ||
416
+ error.message?.includes('fetch failed') ||
417
+ error.message?.includes('socket hang up') ||
418
+ error.message?.includes('ECONNRESET') ||
419
+ error.message?.includes('ECONNREFUSED') ||
420
+ error.message?.includes('ETIMEDOUT') ||
421
+ error.message?.includes('Connection pool timeout') ||
422
+ error.message?.includes('P2024') ||
423
+ error.message?.includes('status code 408') ||
424
+ error.message?.includes('status code 502') ||
425
+ error.message?.includes('status code 503') ||
426
+ error.message?.includes('status code 504') ||
392
427
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
393
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
428
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
429
+ error.networkError.message?.includes('fetch failed') ||
430
+ error.networkError.message?.includes('aborted due to timeout') ||
431
+ error.networkError.message?.includes('TimeoutError')));
394
432
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
395
433
  retryCount++;
396
434
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -1100,12 +1138,31 @@ export const NewsArticle = {
1100
1138
  });
1101
1139
  throw error;
1102
1140
  }
1103
- // Check if this is a database connection error that we should retry
1141
+ // Check if this is a database connection error that we should retry.
1142
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
1143
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
1144
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
1104
1145
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
1105
1146
  error.message?.includes('Cannot reach database server') ||
1106
1147
  error.message?.includes('Connection timed out') ||
1148
+ error.message?.includes('aborted due to timeout') ||
1149
+ error.message?.includes('TimeoutError') ||
1150
+ error.message?.includes('fetch failed') ||
1151
+ error.message?.includes('socket hang up') ||
1152
+ error.message?.includes('ECONNRESET') ||
1153
+ error.message?.includes('ECONNREFUSED') ||
1154
+ error.message?.includes('ETIMEDOUT') ||
1155
+ error.message?.includes('Connection pool timeout') ||
1156
+ error.message?.includes('P2024') ||
1157
+ error.message?.includes('status code 408') ||
1158
+ error.message?.includes('status code 502') ||
1159
+ error.message?.includes('status code 503') ||
1160
+ error.message?.includes('status code 504') ||
1107
1161
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
1108
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
1162
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
1163
+ error.networkError.message?.includes('fetch failed') ||
1164
+ error.networkError.message?.includes('aborted due to timeout') ||
1165
+ error.networkError.message?.includes('TimeoutError')));
1109
1166
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
1110
1167
  retryCount++;
1111
1168
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -1976,12 +2033,31 @@ export const NewsArticle = {
1976
2033
  });
1977
2034
  throw error;
1978
2035
  }
1979
- // Check if this is a database connection error that we should retry
2036
+ // Check if this is a database connection error that we should retry.
2037
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
2038
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
2039
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
1980
2040
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
1981
2041
  error.message?.includes('Cannot reach database server') ||
1982
2042
  error.message?.includes('Connection timed out') ||
2043
+ error.message?.includes('aborted due to timeout') ||
2044
+ error.message?.includes('TimeoutError') ||
2045
+ error.message?.includes('fetch failed') ||
2046
+ error.message?.includes('socket hang up') ||
2047
+ error.message?.includes('ECONNRESET') ||
2048
+ error.message?.includes('ECONNREFUSED') ||
2049
+ error.message?.includes('ETIMEDOUT') ||
2050
+ error.message?.includes('Connection pool timeout') ||
2051
+ error.message?.includes('P2024') ||
2052
+ error.message?.includes('status code 408') ||
2053
+ error.message?.includes('status code 502') ||
2054
+ error.message?.includes('status code 503') ||
2055
+ error.message?.includes('status code 504') ||
1983
2056
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
1984
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
2057
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
2058
+ error.networkError.message?.includes('fetch failed') ||
2059
+ error.networkError.message?.includes('aborted due to timeout') ||
2060
+ error.networkError.message?.includes('TimeoutError')));
1985
2061
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
1986
2062
  retryCount++;
1987
2063
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -2692,12 +2768,31 @@ export const NewsArticle = {
2692
2768
  });
2693
2769
  throw error;
2694
2770
  }
2695
- // Check if this is a database connection error that we should retry
2771
+ // Check if this is a database connection error that we should retry.
2772
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
2773
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
2774
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
2696
2775
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
2697
2776
  error.message?.includes('Cannot reach database server') ||
2698
2777
  error.message?.includes('Connection timed out') ||
2778
+ error.message?.includes('aborted due to timeout') ||
2779
+ error.message?.includes('TimeoutError') ||
2780
+ error.message?.includes('fetch failed') ||
2781
+ error.message?.includes('socket hang up') ||
2782
+ error.message?.includes('ECONNRESET') ||
2783
+ error.message?.includes('ECONNREFUSED') ||
2784
+ error.message?.includes('ETIMEDOUT') ||
2785
+ error.message?.includes('Connection pool timeout') ||
2786
+ error.message?.includes('P2024') ||
2787
+ error.message?.includes('status code 408') ||
2788
+ error.message?.includes('status code 502') ||
2789
+ error.message?.includes('status code 503') ||
2790
+ error.message?.includes('status code 504') ||
2699
2791
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
2700
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
2792
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
2793
+ error.networkError.message?.includes('fetch failed') ||
2794
+ error.networkError.message?.includes('aborted due to timeout') ||
2795
+ error.networkError.message?.includes('TimeoutError')));
2701
2796
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
2702
2797
  retryCount++;
2703
2798
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -2799,12 +2894,31 @@ export const NewsArticle = {
2799
2894
  });
2800
2895
  throw error;
2801
2896
  }
2802
- // Check if this is a database connection error that we should retry
2897
+ // Check if this is a database connection error that we should retry.
2898
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
2899
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
2900
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
2803
2901
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
2804
2902
  error.message?.includes('Cannot reach database server') ||
2805
2903
  error.message?.includes('Connection timed out') ||
2904
+ error.message?.includes('aborted due to timeout') ||
2905
+ error.message?.includes('TimeoutError') ||
2906
+ error.message?.includes('fetch failed') ||
2907
+ error.message?.includes('socket hang up') ||
2908
+ error.message?.includes('ECONNRESET') ||
2909
+ error.message?.includes('ECONNREFUSED') ||
2910
+ error.message?.includes('ETIMEDOUT') ||
2911
+ error.message?.includes('Connection pool timeout') ||
2912
+ error.message?.includes('P2024') ||
2913
+ error.message?.includes('status code 408') ||
2914
+ error.message?.includes('status code 502') ||
2915
+ error.message?.includes('status code 503') ||
2916
+ error.message?.includes('status code 504') ||
2806
2917
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
2807
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
2918
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
2919
+ error.networkError.message?.includes('fetch failed') ||
2920
+ error.networkError.message?.includes('aborted due to timeout') ||
2921
+ error.networkError.message?.includes('TimeoutError')));
2808
2922
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
2809
2923
  retryCount++;
2810
2924
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -2886,12 +3000,31 @@ export const NewsArticle = {
2886
3000
  if (error.message === 'No NewsArticle found') {
2887
3001
  return null;
2888
3002
  }
2889
- // Check if this is a database connection error that we should retry
3003
+ // Check if this is a database connection error that we should retry.
3004
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
3005
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
3006
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
2890
3007
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
2891
3008
  error.message?.includes('Cannot reach database server') ||
2892
3009
  error.message?.includes('Connection timed out') ||
3010
+ error.message?.includes('aborted due to timeout') ||
3011
+ error.message?.includes('TimeoutError') ||
3012
+ error.message?.includes('fetch failed') ||
3013
+ error.message?.includes('socket hang up') ||
3014
+ error.message?.includes('ECONNRESET') ||
3015
+ error.message?.includes('ECONNREFUSED') ||
3016
+ error.message?.includes('ETIMEDOUT') ||
3017
+ error.message?.includes('Connection pool timeout') ||
3018
+ error.message?.includes('P2024') ||
3019
+ error.message?.includes('status code 408') ||
3020
+ error.message?.includes('status code 502') ||
3021
+ error.message?.includes('status code 503') ||
3022
+ error.message?.includes('status code 504') ||
2893
3023
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
2894
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
3024
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
3025
+ error.networkError.message?.includes('fetch failed') ||
3026
+ error.networkError.message?.includes('aborted due to timeout') ||
3027
+ error.networkError.message?.includes('TimeoutError')));
2895
3028
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
2896
3029
  retryCount++;
2897
3030
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -2958,12 +3091,31 @@ export const NewsArticle = {
2958
3091
  if (error.message === 'No NewsArticle found') {
2959
3092
  return null;
2960
3093
  }
2961
- // Check if this is a database connection error that we should retry
3094
+ // Check if this is a database connection error that we should retry.
3095
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
3096
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
3097
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
2962
3098
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
2963
3099
  error.message?.includes('Cannot reach database server') ||
2964
3100
  error.message?.includes('Connection timed out') ||
3101
+ error.message?.includes('aborted due to timeout') ||
3102
+ error.message?.includes('TimeoutError') ||
3103
+ error.message?.includes('fetch failed') ||
3104
+ error.message?.includes('socket hang up') ||
3105
+ error.message?.includes('ECONNRESET') ||
3106
+ error.message?.includes('ECONNREFUSED') ||
3107
+ error.message?.includes('ETIMEDOUT') ||
3108
+ error.message?.includes('Connection pool timeout') ||
3109
+ error.message?.includes('P2024') ||
3110
+ error.message?.includes('status code 408') ||
3111
+ error.message?.includes('status code 502') ||
3112
+ error.message?.includes('status code 503') ||
3113
+ error.message?.includes('status code 504') ||
2965
3114
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
2966
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
3115
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
3116
+ error.networkError.message?.includes('fetch failed') ||
3117
+ error.networkError.message?.includes('aborted due to timeout') ||
3118
+ error.networkError.message?.includes('TimeoutError')));
2967
3119
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
2968
3120
  retryCount++;
2969
3121
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -3057,12 +3209,31 @@ export const NewsArticle = {
3057
3209
  if (error.message === 'No NewsArticle found') {
3058
3210
  return null;
3059
3211
  }
3060
- // Check if this is a database connection error that we should retry
3212
+ // Check if this is a database connection error that we should retry.
3213
+ // Covers undici/fetch timeouts, Prisma Accelerate transients, connection
3214
+ // pool exhaustion, and transient gateway statuses. Must stay consistent
3215
+ // with the transient classifier in client.ts (onError link + enqueueOperation).
3061
3216
  const isConnectionError = error.message?.includes('Server has closed the connection') ||
3062
3217
  error.message?.includes('Cannot reach database server') ||
3063
3218
  error.message?.includes('Connection timed out') ||
3219
+ error.message?.includes('aborted due to timeout') ||
3220
+ error.message?.includes('TimeoutError') ||
3221
+ error.message?.includes('fetch failed') ||
3222
+ error.message?.includes('socket hang up') ||
3223
+ error.message?.includes('ECONNRESET') ||
3224
+ error.message?.includes('ECONNREFUSED') ||
3225
+ error.message?.includes('ETIMEDOUT') ||
3226
+ error.message?.includes('Connection pool timeout') ||
3227
+ error.message?.includes('P2024') ||
3228
+ error.message?.includes('status code 408') ||
3229
+ error.message?.includes('status code 502') ||
3230
+ error.message?.includes('status code 503') ||
3231
+ error.message?.includes('status code 504') ||
3064
3232
  error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
3065
- (error.networkError && error.networkError.message?.includes('Failed to fetch'));
3233
+ (error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
3234
+ error.networkError.message?.includes('fetch failed') ||
3235
+ error.networkError.message?.includes('aborted due to timeout') ||
3236
+ error.networkError.message?.includes('TimeoutError')));
3066
3237
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
3067
3238
  retryCount++;
3068
3239
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
@@ -1 +1 @@
1
- {"version":3,"file":"NewsArticleAssetSentiment.d.ts","sourceRoot":"","sources":["../../src/NewsArticleAssetSentiment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,IAAI,6BAA6B,EAAE,MAAM,iEAAiE,CAAC;AAC7I,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAoBpG,eAAO,MAAM,yBAAyB;IAEpC;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAgRpJ;;;;;;;OAOG;sBACqB,6BAA6B,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;IAkH3L;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAimBlJ;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAswBlJ;;;;;;OAMG;sBACqB,6BAA6B,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAgmBnJ;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAmHlJ;;;;;;;OAOG;eACc,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAwFxK;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC;IA4ErH;;;;;;;OAOG;oBACmB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC;CAsGhL,CAAC"}
1
+ {"version":3,"file":"NewsArticleAssetSentiment.d.ts","sourceRoot":"","sources":["../../src/NewsArticleAssetSentiment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,IAAI,6BAA6B,EAAE,MAAM,iEAAiE,CAAC;AAC7I,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAoBpG,eAAO,MAAM,yBAAyB;IAEpC;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAqSpJ;;;;;;;OAOG;sBACqB,6BAA6B,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;IAuI3L;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAsnBlJ;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IA2xBlJ;;;;;;OAMG;sBACqB,6BAA6B,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAqnBnJ;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAwIlJ;;;;;;;OAOG;eACc,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC;IA6GxK;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC;IAiGrH;;;;;;;OAOG;oBACmB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,GAAG,GAAG,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC;CA2HhL,CAAC"}