@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.
- package/ABTest.cjs +207 -36
- package/Account.cjs +207 -36
- package/AccountDecisionRecord.cjs +207 -36
- package/AccountLinkingRequest.cjs +207 -36
- package/Action.cjs +207 -36
- package/Alert.cjs +207 -36
- package/Allocation.cjs +207 -36
- package/AlpacaAccount.cjs +207 -36
- package/AnalyticsConfiguration.cjs +207 -36
- package/AnalyticsSnapshot.cjs +207 -36
- package/Asset.cjs +207 -36
- package/AuditLog.cjs +207 -36
- package/Authenticator.cjs +207 -36
- package/Configuration.cjs +207 -36
- package/ConflictEvent.cjs +207 -36
- package/ConnectionHealthSnapshot.cjs +207 -36
- package/Customer.cjs +207 -36
- package/DeadLetterMessage.cjs +207 -36
- package/DecisionMemorySummary.cjs +207 -36
- package/EconomicEvent.cjs +207 -36
- package/EquityBar.cjs +207 -36
- package/Event.cjs +207 -36
- package/EventSnapshot.cjs +207 -36
- package/FeatureImportanceAnalysis.cjs +207 -36
- package/InstitutionalFlowSignal.cjs +207 -36
- package/InstitutionalHolding.cjs +207 -36
- package/InstitutionalSentimentAlerts.cjs +207 -36
- package/InstitutionalSentimentErrors.cjs +207 -36
- package/InstitutionalSentimentHistory.cjs +207 -36
- package/InstitutionalSentimentMetrics.cjs +207 -36
- package/InviteToken.cjs +207 -36
- package/LinkedProvider.cjs +207 -36
- package/LlmConfiguration.cjs +207 -36
- package/MLModelVersion.cjs +207 -36
- package/MLTrainingData.cjs +207 -36
- package/MarketSentiment.cjs +207 -36
- package/ModelArtifact.cjs +207 -36
- package/ModelVersion.cjs +207 -36
- package/ModelVersionArtifact.cjs +207 -36
- package/NewsArticle.cjs +207 -36
- package/NewsArticleAssetSentiment.cjs +207 -36
- package/OptionsContract.cjs +207 -36
- package/OptionsGreeksHistory.cjs +207 -36
- package/OptionsPosition.cjs +207 -36
- package/OptionsPositionEvent.cjs +207 -36
- package/OptionsTradeExecution.cjs +207 -36
- package/PolicyOverlay.cjs +207 -36
- package/PortfolioGreeksHistory.cjs +207 -36
- package/ScheduledOptionOrder.cjs +207 -36
- package/Session.cjs +207 -36
- package/SignalGeneratorMetrics.cjs +207 -36
- package/SignalLineage.cjs +207 -36
- package/SignalOutcome.cjs +207 -36
- package/SignalPriorityQueue.cjs +207 -36
- package/SyncEvent.cjs +207 -36
- package/SystemAlert.cjs +207 -36
- package/Trade.cjs +207 -36
- package/TradeAuditEvent.cjs +207 -36
- package/TradeExecutionHistory.cjs +207 -36
- package/TradeOutcome.cjs +207 -36
- package/TradingPolicy.cjs +207 -36
- package/User.cjs +207 -36
- package/VerificationToken.cjs +207 -36
- package/WaitlistEntry.cjs +207 -36
- package/client.cjs +2 -0
- package/esm/ABTest.d.ts.map +1 -1
- package/esm/ABTest.js.map +1 -1
- package/esm/ABTest.mjs +189 -18
- package/esm/Account.d.ts.map +1 -1
- package/esm/Account.js.map +1 -1
- package/esm/Account.mjs +189 -18
- package/esm/AccountDecisionRecord.d.ts.map +1 -1
- package/esm/AccountDecisionRecord.js.map +1 -1
- package/esm/AccountDecisionRecord.mjs +189 -18
- package/esm/AccountLinkingRequest.d.ts.map +1 -1
- package/esm/AccountLinkingRequest.js.map +1 -1
- package/esm/AccountLinkingRequest.mjs +189 -18
- package/esm/Action.d.ts.map +1 -1
- package/esm/Action.js.map +1 -1
- package/esm/Action.mjs +189 -18
- package/esm/Alert.d.ts.map +1 -1
- package/esm/Alert.js.map +1 -1
- package/esm/Alert.mjs +189 -18
- package/esm/Allocation.d.ts.map +1 -1
- package/esm/Allocation.js.map +1 -1
- package/esm/Allocation.mjs +189 -18
- package/esm/AlpacaAccount.d.ts.map +1 -1
- package/esm/AlpacaAccount.js.map +1 -1
- package/esm/AlpacaAccount.mjs +189 -18
- package/esm/AnalyticsConfiguration.d.ts.map +1 -1
- package/esm/AnalyticsConfiguration.js.map +1 -1
- package/esm/AnalyticsConfiguration.mjs +189 -18
- package/esm/AnalyticsSnapshot.d.ts.map +1 -1
- package/esm/AnalyticsSnapshot.js.map +1 -1
- package/esm/AnalyticsSnapshot.mjs +189 -18
- package/esm/Asset.d.ts.map +1 -1
- package/esm/Asset.js.map +1 -1
- package/esm/Asset.mjs +189 -18
- package/esm/AuditLog.d.ts.map +1 -1
- package/esm/AuditLog.js.map +1 -1
- package/esm/AuditLog.mjs +189 -18
- package/esm/Authenticator.d.ts.map +1 -1
- package/esm/Authenticator.js.map +1 -1
- package/esm/Authenticator.mjs +189 -18
- package/esm/Configuration.d.ts.map +1 -1
- package/esm/Configuration.js.map +1 -1
- package/esm/Configuration.mjs +189 -18
- package/esm/ConflictEvent.d.ts.map +1 -1
- package/esm/ConflictEvent.js.map +1 -1
- package/esm/ConflictEvent.mjs +189 -18
- package/esm/ConnectionHealthSnapshot.d.ts.map +1 -1
- package/esm/ConnectionHealthSnapshot.js.map +1 -1
- package/esm/ConnectionHealthSnapshot.mjs +189 -18
- package/esm/Customer.d.ts.map +1 -1
- package/esm/Customer.js.map +1 -1
- package/esm/Customer.mjs +189 -18
- package/esm/DeadLetterMessage.d.ts.map +1 -1
- package/esm/DeadLetterMessage.js.map +1 -1
- package/esm/DeadLetterMessage.mjs +189 -18
- package/esm/DecisionMemorySummary.d.ts.map +1 -1
- package/esm/DecisionMemorySummary.js.map +1 -1
- package/esm/DecisionMemorySummary.mjs +189 -18
- package/esm/EconomicEvent.d.ts.map +1 -1
- package/esm/EconomicEvent.js.map +1 -1
- package/esm/EconomicEvent.mjs +189 -18
- package/esm/EquityBar.d.ts.map +1 -1
- package/esm/EquityBar.js.map +1 -1
- package/esm/EquityBar.mjs +189 -18
- package/esm/Event.d.ts.map +1 -1
- package/esm/Event.js.map +1 -1
- package/esm/Event.mjs +189 -18
- package/esm/EventSnapshot.d.ts.map +1 -1
- package/esm/EventSnapshot.js.map +1 -1
- package/esm/EventSnapshot.mjs +189 -18
- package/esm/FeatureImportanceAnalysis.d.ts.map +1 -1
- package/esm/FeatureImportanceAnalysis.js.map +1 -1
- package/esm/FeatureImportanceAnalysis.mjs +189 -18
- package/esm/InstitutionalFlowSignal.d.ts.map +1 -1
- package/esm/InstitutionalFlowSignal.js.map +1 -1
- package/esm/InstitutionalFlowSignal.mjs +189 -18
- package/esm/InstitutionalHolding.d.ts.map +1 -1
- package/esm/InstitutionalHolding.js.map +1 -1
- package/esm/InstitutionalHolding.mjs +189 -18
- package/esm/InstitutionalSentimentAlerts.d.ts.map +1 -1
- package/esm/InstitutionalSentimentAlerts.js.map +1 -1
- package/esm/InstitutionalSentimentAlerts.mjs +189 -18
- package/esm/InstitutionalSentimentErrors.d.ts.map +1 -1
- package/esm/InstitutionalSentimentErrors.js.map +1 -1
- package/esm/InstitutionalSentimentErrors.mjs +189 -18
- package/esm/InstitutionalSentimentHistory.d.ts.map +1 -1
- package/esm/InstitutionalSentimentHistory.js.map +1 -1
- package/esm/InstitutionalSentimentHistory.mjs +189 -18
- package/esm/InstitutionalSentimentMetrics.d.ts.map +1 -1
- package/esm/InstitutionalSentimentMetrics.js.map +1 -1
- package/esm/InstitutionalSentimentMetrics.mjs +189 -18
- package/esm/InviteToken.d.ts.map +1 -1
- package/esm/InviteToken.js.map +1 -1
- package/esm/InviteToken.mjs +189 -18
- package/esm/LinkedProvider.d.ts.map +1 -1
- package/esm/LinkedProvider.js.map +1 -1
- package/esm/LinkedProvider.mjs +189 -18
- package/esm/LlmConfiguration.d.ts.map +1 -1
- package/esm/LlmConfiguration.js.map +1 -1
- package/esm/LlmConfiguration.mjs +189 -18
- package/esm/MLModelVersion.d.ts.map +1 -1
- package/esm/MLModelVersion.js.map +1 -1
- package/esm/MLModelVersion.mjs +189 -18
- package/esm/MLTrainingData.d.ts.map +1 -1
- package/esm/MLTrainingData.js.map +1 -1
- package/esm/MLTrainingData.mjs +189 -18
- package/esm/MarketSentiment.d.ts.map +1 -1
- package/esm/MarketSentiment.js.map +1 -1
- package/esm/MarketSentiment.mjs +189 -18
- package/esm/ModelArtifact.d.ts.map +1 -1
- package/esm/ModelArtifact.js.map +1 -1
- package/esm/ModelArtifact.mjs +189 -18
- package/esm/ModelVersion.d.ts.map +1 -1
- package/esm/ModelVersion.js.map +1 -1
- package/esm/ModelVersion.mjs +189 -18
- package/esm/ModelVersionArtifact.d.ts.map +1 -1
- package/esm/ModelVersionArtifact.js.map +1 -1
- package/esm/ModelVersionArtifact.mjs +189 -18
- package/esm/NewsArticle.d.ts.map +1 -1
- package/esm/NewsArticle.js.map +1 -1
- package/esm/NewsArticle.mjs +189 -18
- package/esm/NewsArticleAssetSentiment.d.ts.map +1 -1
- package/esm/NewsArticleAssetSentiment.js.map +1 -1
- package/esm/NewsArticleAssetSentiment.mjs +189 -18
- package/esm/OptionsContract.d.ts.map +1 -1
- package/esm/OptionsContract.js.map +1 -1
- package/esm/OptionsContract.mjs +189 -18
- package/esm/OptionsGreeksHistory.d.ts.map +1 -1
- package/esm/OptionsGreeksHistory.js.map +1 -1
- package/esm/OptionsGreeksHistory.mjs +189 -18
- package/esm/OptionsPosition.d.ts.map +1 -1
- package/esm/OptionsPosition.js.map +1 -1
- package/esm/OptionsPosition.mjs +189 -18
- package/esm/OptionsPositionEvent.d.ts.map +1 -1
- package/esm/OptionsPositionEvent.js.map +1 -1
- package/esm/OptionsPositionEvent.mjs +189 -18
- package/esm/OptionsTradeExecution.d.ts.map +1 -1
- package/esm/OptionsTradeExecution.js.map +1 -1
- package/esm/OptionsTradeExecution.mjs +189 -18
- package/esm/PolicyOverlay.d.ts.map +1 -1
- package/esm/PolicyOverlay.js.map +1 -1
- package/esm/PolicyOverlay.mjs +189 -18
- package/esm/PortfolioGreeksHistory.d.ts.map +1 -1
- package/esm/PortfolioGreeksHistory.js.map +1 -1
- package/esm/PortfolioGreeksHistory.mjs +189 -18
- package/esm/ScheduledOptionOrder.d.ts.map +1 -1
- package/esm/ScheduledOptionOrder.js.map +1 -1
- package/esm/ScheduledOptionOrder.mjs +189 -18
- package/esm/Session.d.ts.map +1 -1
- package/esm/Session.js.map +1 -1
- package/esm/Session.mjs +189 -18
- package/esm/SignalGeneratorMetrics.d.ts.map +1 -1
- package/esm/SignalGeneratorMetrics.js.map +1 -1
- package/esm/SignalGeneratorMetrics.mjs +189 -18
- package/esm/SignalLineage.d.ts.map +1 -1
- package/esm/SignalLineage.js.map +1 -1
- package/esm/SignalLineage.mjs +189 -18
- package/esm/SignalOutcome.d.ts.map +1 -1
- package/esm/SignalOutcome.js.map +1 -1
- package/esm/SignalOutcome.mjs +189 -18
- package/esm/SignalPriorityQueue.d.ts.map +1 -1
- package/esm/SignalPriorityQueue.js.map +1 -1
- package/esm/SignalPriorityQueue.mjs +189 -18
- package/esm/SyncEvent.d.ts.map +1 -1
- package/esm/SyncEvent.js.map +1 -1
- package/esm/SyncEvent.mjs +189 -18
- package/esm/SystemAlert.d.ts.map +1 -1
- package/esm/SystemAlert.js.map +1 -1
- package/esm/SystemAlert.mjs +189 -18
- package/esm/Trade.d.ts.map +1 -1
- package/esm/Trade.js.map +1 -1
- package/esm/Trade.mjs +189 -18
- package/esm/TradeAuditEvent.d.ts.map +1 -1
- package/esm/TradeAuditEvent.js.map +1 -1
- package/esm/TradeAuditEvent.mjs +189 -18
- package/esm/TradeExecutionHistory.d.ts.map +1 -1
- package/esm/TradeExecutionHistory.js.map +1 -1
- package/esm/TradeExecutionHistory.mjs +189 -18
- package/esm/TradeOutcome.d.ts.map +1 -1
- package/esm/TradeOutcome.js.map +1 -1
- package/esm/TradeOutcome.mjs +189 -18
- package/esm/TradingPolicy.d.ts.map +1 -1
- package/esm/TradingPolicy.js.map +1 -1
- package/esm/TradingPolicy.mjs +189 -18
- package/esm/User.d.ts.map +1 -1
- package/esm/User.js.map +1 -1
- package/esm/User.mjs +189 -18
- package/esm/VerificationToken.d.ts.map +1 -1
- package/esm/VerificationToken.js.map +1 -1
- package/esm/VerificationToken.mjs +189 -18
- package/esm/WaitlistEntry.d.ts.map +1 -1
- package/esm/WaitlistEntry.js.map +1 -1
- package/esm/WaitlistEntry.mjs +189 -18
- package/esm/client.d.ts.map +1 -1
- package/esm/client.js.map +1 -1
- package/esm/client.mjs +2 -0
- package/esm/index.d.ts.map +1 -1
- package/package.json +1 -1
package/esm/MarketSentiment.mjs
CHANGED
|
@@ -96,12 +96,31 @@ export const MarketSentiment = {
|
|
|
96
96
|
});
|
|
97
97
|
throw error;
|
|
98
98
|
}
|
|
99
|
-
// Check if this is a database connection error that we should retry
|
|
99
|
+
// Check if this is a database connection error that we should retry.
|
|
100
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
101
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
102
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
100
103
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
101
104
|
error.message?.includes('Cannot reach database server') ||
|
|
102
105
|
error.message?.includes('Connection timed out') ||
|
|
106
|
+
error.message?.includes('aborted due to timeout') ||
|
|
107
|
+
error.message?.includes('TimeoutError') ||
|
|
108
|
+
error.message?.includes('fetch failed') ||
|
|
109
|
+
error.message?.includes('socket hang up') ||
|
|
110
|
+
error.message?.includes('ECONNRESET') ||
|
|
111
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
112
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
113
|
+
error.message?.includes('Connection pool timeout') ||
|
|
114
|
+
error.message?.includes('P2024') ||
|
|
115
|
+
error.message?.includes('status code 408') ||
|
|
116
|
+
error.message?.includes('status code 502') ||
|
|
117
|
+
error.message?.includes('status code 503') ||
|
|
118
|
+
error.message?.includes('status code 504') ||
|
|
103
119
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
104
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
120
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
121
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
122
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
123
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
105
124
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
106
125
|
retryCount++;
|
|
107
126
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -202,12 +221,31 @@ export const MarketSentiment = {
|
|
|
202
221
|
});
|
|
203
222
|
throw error;
|
|
204
223
|
}
|
|
205
|
-
// Check if this is a database connection error that we should retry
|
|
224
|
+
// Check if this is a database connection error that we should retry.
|
|
225
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
226
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
227
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
206
228
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
207
229
|
error.message?.includes('Cannot reach database server') ||
|
|
208
230
|
error.message?.includes('Connection timed out') ||
|
|
231
|
+
error.message?.includes('aborted due to timeout') ||
|
|
232
|
+
error.message?.includes('TimeoutError') ||
|
|
233
|
+
error.message?.includes('fetch failed') ||
|
|
234
|
+
error.message?.includes('socket hang up') ||
|
|
235
|
+
error.message?.includes('ECONNRESET') ||
|
|
236
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
237
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
238
|
+
error.message?.includes('Connection pool timeout') ||
|
|
239
|
+
error.message?.includes('P2024') ||
|
|
240
|
+
error.message?.includes('status code 408') ||
|
|
241
|
+
error.message?.includes('status code 502') ||
|
|
242
|
+
error.message?.includes('status code 503') ||
|
|
243
|
+
error.message?.includes('status code 504') ||
|
|
209
244
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
210
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
245
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
246
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
247
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
248
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
211
249
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
212
250
|
retryCount++;
|
|
213
251
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -326,12 +364,31 @@ export const MarketSentiment = {
|
|
|
326
364
|
});
|
|
327
365
|
throw error;
|
|
328
366
|
}
|
|
329
|
-
// Check if this is a database connection error that we should retry
|
|
367
|
+
// Check if this is a database connection error that we should retry.
|
|
368
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
369
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
370
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
330
371
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
331
372
|
error.message?.includes('Cannot reach database server') ||
|
|
332
373
|
error.message?.includes('Connection timed out') ||
|
|
374
|
+
error.message?.includes('aborted due to timeout') ||
|
|
375
|
+
error.message?.includes('TimeoutError') ||
|
|
376
|
+
error.message?.includes('fetch failed') ||
|
|
377
|
+
error.message?.includes('socket hang up') ||
|
|
378
|
+
error.message?.includes('ECONNRESET') ||
|
|
379
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
380
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
381
|
+
error.message?.includes('Connection pool timeout') ||
|
|
382
|
+
error.message?.includes('P2024') ||
|
|
383
|
+
error.message?.includes('status code 408') ||
|
|
384
|
+
error.message?.includes('status code 502') ||
|
|
385
|
+
error.message?.includes('status code 503') ||
|
|
386
|
+
error.message?.includes('status code 504') ||
|
|
333
387
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
334
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
388
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
389
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
390
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
391
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
335
392
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
336
393
|
retryCount++;
|
|
337
394
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -448,12 +505,31 @@ export const MarketSentiment = {
|
|
|
448
505
|
});
|
|
449
506
|
throw error;
|
|
450
507
|
}
|
|
451
|
-
// Check if this is a database connection error that we should retry
|
|
508
|
+
// Check if this is a database connection error that we should retry.
|
|
509
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
510
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
511
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
452
512
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
453
513
|
error.message?.includes('Cannot reach database server') ||
|
|
454
514
|
error.message?.includes('Connection timed out') ||
|
|
515
|
+
error.message?.includes('aborted due to timeout') ||
|
|
516
|
+
error.message?.includes('TimeoutError') ||
|
|
517
|
+
error.message?.includes('fetch failed') ||
|
|
518
|
+
error.message?.includes('socket hang up') ||
|
|
519
|
+
error.message?.includes('ECONNRESET') ||
|
|
520
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
521
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
522
|
+
error.message?.includes('Connection pool timeout') ||
|
|
523
|
+
error.message?.includes('P2024') ||
|
|
524
|
+
error.message?.includes('status code 408') ||
|
|
525
|
+
error.message?.includes('status code 502') ||
|
|
526
|
+
error.message?.includes('status code 503') ||
|
|
527
|
+
error.message?.includes('status code 504') ||
|
|
455
528
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
456
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
529
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
530
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
531
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
532
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
457
533
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
458
534
|
retryCount++;
|
|
459
535
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -573,12 +649,31 @@ export const MarketSentiment = {
|
|
|
573
649
|
});
|
|
574
650
|
throw error;
|
|
575
651
|
}
|
|
576
|
-
// Check if this is a database connection error that we should retry
|
|
652
|
+
// Check if this is a database connection error that we should retry.
|
|
653
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
654
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
655
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
577
656
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
578
657
|
error.message?.includes('Cannot reach database server') ||
|
|
579
658
|
error.message?.includes('Connection timed out') ||
|
|
659
|
+
error.message?.includes('aborted due to timeout') ||
|
|
660
|
+
error.message?.includes('TimeoutError') ||
|
|
661
|
+
error.message?.includes('fetch failed') ||
|
|
662
|
+
error.message?.includes('socket hang up') ||
|
|
663
|
+
error.message?.includes('ECONNRESET') ||
|
|
664
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
665
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
666
|
+
error.message?.includes('Connection pool timeout') ||
|
|
667
|
+
error.message?.includes('P2024') ||
|
|
668
|
+
error.message?.includes('status code 408') ||
|
|
669
|
+
error.message?.includes('status code 502') ||
|
|
670
|
+
error.message?.includes('status code 503') ||
|
|
671
|
+
error.message?.includes('status code 504') ||
|
|
580
672
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
581
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
673
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
674
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
675
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
676
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
582
677
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
583
678
|
retryCount++;
|
|
584
679
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -680,12 +775,31 @@ export const MarketSentiment = {
|
|
|
680
775
|
});
|
|
681
776
|
throw error;
|
|
682
777
|
}
|
|
683
|
-
// Check if this is a database connection error that we should retry
|
|
778
|
+
// Check if this is a database connection error that we should retry.
|
|
779
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
780
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
781
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
684
782
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
685
783
|
error.message?.includes('Cannot reach database server') ||
|
|
686
784
|
error.message?.includes('Connection timed out') ||
|
|
785
|
+
error.message?.includes('aborted due to timeout') ||
|
|
786
|
+
error.message?.includes('TimeoutError') ||
|
|
787
|
+
error.message?.includes('fetch failed') ||
|
|
788
|
+
error.message?.includes('socket hang up') ||
|
|
789
|
+
error.message?.includes('ECONNRESET') ||
|
|
790
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
791
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
792
|
+
error.message?.includes('Connection pool timeout') ||
|
|
793
|
+
error.message?.includes('P2024') ||
|
|
794
|
+
error.message?.includes('status code 408') ||
|
|
795
|
+
error.message?.includes('status code 502') ||
|
|
796
|
+
error.message?.includes('status code 503') ||
|
|
797
|
+
error.message?.includes('status code 504') ||
|
|
687
798
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
688
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
799
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
800
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
801
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
802
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
689
803
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
690
804
|
retryCount++;
|
|
691
805
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -763,12 +877,31 @@ export const MarketSentiment = {
|
|
|
763
877
|
if (error.message === 'No MarketSentiment found') {
|
|
764
878
|
return null;
|
|
765
879
|
}
|
|
766
|
-
// Check if this is a database connection error that we should retry
|
|
880
|
+
// Check if this is a database connection error that we should retry.
|
|
881
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
882
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
883
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
767
884
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
768
885
|
error.message?.includes('Cannot reach database server') ||
|
|
769
886
|
error.message?.includes('Connection timed out') ||
|
|
887
|
+
error.message?.includes('aborted due to timeout') ||
|
|
888
|
+
error.message?.includes('TimeoutError') ||
|
|
889
|
+
error.message?.includes('fetch failed') ||
|
|
890
|
+
error.message?.includes('socket hang up') ||
|
|
891
|
+
error.message?.includes('ECONNRESET') ||
|
|
892
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
893
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
894
|
+
error.message?.includes('Connection pool timeout') ||
|
|
895
|
+
error.message?.includes('P2024') ||
|
|
896
|
+
error.message?.includes('status code 408') ||
|
|
897
|
+
error.message?.includes('status code 502') ||
|
|
898
|
+
error.message?.includes('status code 503') ||
|
|
899
|
+
error.message?.includes('status code 504') ||
|
|
770
900
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
771
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
901
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
902
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
903
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
904
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
772
905
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
773
906
|
retryCount++;
|
|
774
907
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -835,12 +968,31 @@ export const MarketSentiment = {
|
|
|
835
968
|
if (error.message === 'No MarketSentiment found') {
|
|
836
969
|
return null;
|
|
837
970
|
}
|
|
838
|
-
// Check if this is a database connection error that we should retry
|
|
971
|
+
// Check if this is a database connection error that we should retry.
|
|
972
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
973
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
974
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
839
975
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
840
976
|
error.message?.includes('Cannot reach database server') ||
|
|
841
977
|
error.message?.includes('Connection timed out') ||
|
|
978
|
+
error.message?.includes('aborted due to timeout') ||
|
|
979
|
+
error.message?.includes('TimeoutError') ||
|
|
980
|
+
error.message?.includes('fetch failed') ||
|
|
981
|
+
error.message?.includes('socket hang up') ||
|
|
982
|
+
error.message?.includes('ECONNRESET') ||
|
|
983
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
984
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
985
|
+
error.message?.includes('Connection pool timeout') ||
|
|
986
|
+
error.message?.includes('P2024') ||
|
|
987
|
+
error.message?.includes('status code 408') ||
|
|
988
|
+
error.message?.includes('status code 502') ||
|
|
989
|
+
error.message?.includes('status code 503') ||
|
|
990
|
+
error.message?.includes('status code 504') ||
|
|
842
991
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
843
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
992
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
993
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
994
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
995
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
844
996
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
845
997
|
retryCount++;
|
|
846
998
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -928,12 +1080,31 @@ export const MarketSentiment = {
|
|
|
928
1080
|
if (error.message === 'No MarketSentiment found') {
|
|
929
1081
|
return null;
|
|
930
1082
|
}
|
|
931
|
-
// Check if this is a database connection error that we should retry
|
|
1083
|
+
// Check if this is a database connection error that we should retry.
|
|
1084
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
1085
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
1086
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
932
1087
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
933
1088
|
error.message?.includes('Cannot reach database server') ||
|
|
934
1089
|
error.message?.includes('Connection timed out') ||
|
|
1090
|
+
error.message?.includes('aborted due to timeout') ||
|
|
1091
|
+
error.message?.includes('TimeoutError') ||
|
|
1092
|
+
error.message?.includes('fetch failed') ||
|
|
1093
|
+
error.message?.includes('socket hang up') ||
|
|
1094
|
+
error.message?.includes('ECONNRESET') ||
|
|
1095
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
1096
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
1097
|
+
error.message?.includes('Connection pool timeout') ||
|
|
1098
|
+
error.message?.includes('P2024') ||
|
|
1099
|
+
error.message?.includes('status code 408') ||
|
|
1100
|
+
error.message?.includes('status code 502') ||
|
|
1101
|
+
error.message?.includes('status code 503') ||
|
|
1102
|
+
error.message?.includes('status code 504') ||
|
|
935
1103
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
936
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
1104
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
1105
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
1106
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
1107
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
937
1108
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
938
1109
|
retryCount++;
|
|
939
1110
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelArtifact.d.ts","sourceRoot":"","sources":["../../src/ModelArtifact.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAoFpG,eAAO,MAAM,aAAa;IAExB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelArtifact.d.ts","sourceRoot":"","sources":["../../src/ModelArtifact.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAoFpG,eAAO,MAAM,aAAa;IAExB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8b5H;;;;;;;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;IA+I/K;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAy5C1H;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6sD1H;;;;;;OAMG;sBACqB,iBAAiB,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAw5CvI;;;;;;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;IAyGhJ;;;;;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;CAqHxJ,CAAC"}
|