@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/TradeOutcome.mjs
CHANGED
|
@@ -132,12 +132,31 @@ export const TradeOutcome = {
|
|
|
132
132
|
});
|
|
133
133
|
throw error;
|
|
134
134
|
}
|
|
135
|
-
// Check if this is a database connection error that we should retry
|
|
135
|
+
// Check if this is a database connection error that we should retry.
|
|
136
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
137
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
138
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
136
139
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
137
140
|
error.message?.includes('Cannot reach database server') ||
|
|
138
141
|
error.message?.includes('Connection timed out') ||
|
|
142
|
+
error.message?.includes('aborted due to timeout') ||
|
|
143
|
+
error.message?.includes('TimeoutError') ||
|
|
144
|
+
error.message?.includes('fetch failed') ||
|
|
145
|
+
error.message?.includes('socket hang up') ||
|
|
146
|
+
error.message?.includes('ECONNRESET') ||
|
|
147
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
148
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
149
|
+
error.message?.includes('Connection pool timeout') ||
|
|
150
|
+
error.message?.includes('P2024') ||
|
|
151
|
+
error.message?.includes('status code 408') ||
|
|
152
|
+
error.message?.includes('status code 502') ||
|
|
153
|
+
error.message?.includes('status code 503') ||
|
|
154
|
+
error.message?.includes('status code 504') ||
|
|
139
155
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
140
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
156
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
157
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
158
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
159
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
141
160
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
142
161
|
retryCount++;
|
|
143
162
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -256,12 +275,31 @@ export const TradeOutcome = {
|
|
|
256
275
|
});
|
|
257
276
|
throw error;
|
|
258
277
|
}
|
|
259
|
-
// Check if this is a database connection error that we should retry
|
|
278
|
+
// Check if this is a database connection error that we should retry.
|
|
279
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
280
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
281
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
260
282
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
261
283
|
error.message?.includes('Cannot reach database server') ||
|
|
262
284
|
error.message?.includes('Connection timed out') ||
|
|
285
|
+
error.message?.includes('aborted due to timeout') ||
|
|
286
|
+
error.message?.includes('TimeoutError') ||
|
|
287
|
+
error.message?.includes('fetch failed') ||
|
|
288
|
+
error.message?.includes('socket hang up') ||
|
|
289
|
+
error.message?.includes('ECONNRESET') ||
|
|
290
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
291
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
292
|
+
error.message?.includes('Connection pool timeout') ||
|
|
293
|
+
error.message?.includes('P2024') ||
|
|
294
|
+
error.message?.includes('status code 408') ||
|
|
295
|
+
error.message?.includes('status code 502') ||
|
|
296
|
+
error.message?.includes('status code 503') ||
|
|
297
|
+
error.message?.includes('status code 504') ||
|
|
263
298
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
264
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
299
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
300
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
301
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
302
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
265
303
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
266
304
|
retryCount++;
|
|
267
305
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -432,12 +470,31 @@ export const TradeOutcome = {
|
|
|
432
470
|
});
|
|
433
471
|
throw error;
|
|
434
472
|
}
|
|
435
|
-
// Check if this is a database connection error that we should retry
|
|
473
|
+
// Check if this is a database connection error that we should retry.
|
|
474
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
475
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
476
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
436
477
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
437
478
|
error.message?.includes('Cannot reach database server') ||
|
|
438
479
|
error.message?.includes('Connection timed out') ||
|
|
480
|
+
error.message?.includes('aborted due to timeout') ||
|
|
481
|
+
error.message?.includes('TimeoutError') ||
|
|
482
|
+
error.message?.includes('fetch failed') ||
|
|
483
|
+
error.message?.includes('socket hang up') ||
|
|
484
|
+
error.message?.includes('ECONNRESET') ||
|
|
485
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
486
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
487
|
+
error.message?.includes('Connection pool timeout') ||
|
|
488
|
+
error.message?.includes('P2024') ||
|
|
489
|
+
error.message?.includes('status code 408') ||
|
|
490
|
+
error.message?.includes('status code 502') ||
|
|
491
|
+
error.message?.includes('status code 503') ||
|
|
492
|
+
error.message?.includes('status code 504') ||
|
|
439
493
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
440
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
494
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
495
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
496
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
497
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
441
498
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
442
499
|
retryCount++;
|
|
443
500
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -633,12 +690,31 @@ export const TradeOutcome = {
|
|
|
633
690
|
});
|
|
634
691
|
throw error;
|
|
635
692
|
}
|
|
636
|
-
// Check if this is a database connection error that we should retry
|
|
693
|
+
// Check if this is a database connection error that we should retry.
|
|
694
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
695
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
696
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
637
697
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
638
698
|
error.message?.includes('Cannot reach database server') ||
|
|
639
699
|
error.message?.includes('Connection timed out') ||
|
|
700
|
+
error.message?.includes('aborted due to timeout') ||
|
|
701
|
+
error.message?.includes('TimeoutError') ||
|
|
702
|
+
error.message?.includes('fetch failed') ||
|
|
703
|
+
error.message?.includes('socket hang up') ||
|
|
704
|
+
error.message?.includes('ECONNRESET') ||
|
|
705
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
706
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
707
|
+
error.message?.includes('Connection pool timeout') ||
|
|
708
|
+
error.message?.includes('P2024') ||
|
|
709
|
+
error.message?.includes('status code 408') ||
|
|
710
|
+
error.message?.includes('status code 502') ||
|
|
711
|
+
error.message?.includes('status code 503') ||
|
|
712
|
+
error.message?.includes('status code 504') ||
|
|
640
713
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
641
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
714
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
715
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
716
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
717
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
642
718
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
643
719
|
retryCount++;
|
|
644
720
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -810,12 +886,31 @@ export const TradeOutcome = {
|
|
|
810
886
|
});
|
|
811
887
|
throw error;
|
|
812
888
|
}
|
|
813
|
-
// Check if this is a database connection error that we should retry
|
|
889
|
+
// Check if this is a database connection error that we should retry.
|
|
890
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
891
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
892
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
814
893
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
815
894
|
error.message?.includes('Cannot reach database server') ||
|
|
816
895
|
error.message?.includes('Connection timed out') ||
|
|
896
|
+
error.message?.includes('aborted due to timeout') ||
|
|
897
|
+
error.message?.includes('TimeoutError') ||
|
|
898
|
+
error.message?.includes('fetch failed') ||
|
|
899
|
+
error.message?.includes('socket hang up') ||
|
|
900
|
+
error.message?.includes('ECONNRESET') ||
|
|
901
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
902
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
903
|
+
error.message?.includes('Connection pool timeout') ||
|
|
904
|
+
error.message?.includes('P2024') ||
|
|
905
|
+
error.message?.includes('status code 408') ||
|
|
906
|
+
error.message?.includes('status code 502') ||
|
|
907
|
+
error.message?.includes('status code 503') ||
|
|
908
|
+
error.message?.includes('status code 504') ||
|
|
817
909
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
818
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
910
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
911
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
912
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
913
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
819
914
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
820
915
|
retryCount++;
|
|
821
916
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -917,12 +1012,31 @@ export const TradeOutcome = {
|
|
|
917
1012
|
});
|
|
918
1013
|
throw error;
|
|
919
1014
|
}
|
|
920
|
-
// Check if this is a database connection error that we should retry
|
|
1015
|
+
// Check if this is a database connection error that we should retry.
|
|
1016
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
1017
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
1018
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
921
1019
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
922
1020
|
error.message?.includes('Cannot reach database server') ||
|
|
923
1021
|
error.message?.includes('Connection timed out') ||
|
|
1022
|
+
error.message?.includes('aborted due to timeout') ||
|
|
1023
|
+
error.message?.includes('TimeoutError') ||
|
|
1024
|
+
error.message?.includes('fetch failed') ||
|
|
1025
|
+
error.message?.includes('socket hang up') ||
|
|
1026
|
+
error.message?.includes('ECONNRESET') ||
|
|
1027
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
1028
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
1029
|
+
error.message?.includes('Connection pool timeout') ||
|
|
1030
|
+
error.message?.includes('P2024') ||
|
|
1031
|
+
error.message?.includes('status code 408') ||
|
|
1032
|
+
error.message?.includes('status code 502') ||
|
|
1033
|
+
error.message?.includes('status code 503') ||
|
|
1034
|
+
error.message?.includes('status code 504') ||
|
|
924
1035
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
925
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
1036
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
1037
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
1038
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
1039
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
926
1040
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
927
1041
|
retryCount++;
|
|
928
1042
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -1009,12 +1123,31 @@ export const TradeOutcome = {
|
|
|
1009
1123
|
if (error.message === 'No TradeOutcome found') {
|
|
1010
1124
|
return null;
|
|
1011
1125
|
}
|
|
1012
|
-
// Check if this is a database connection error that we should retry
|
|
1126
|
+
// Check if this is a database connection error that we should retry.
|
|
1127
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
1128
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
1129
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
1013
1130
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
1014
1131
|
error.message?.includes('Cannot reach database server') ||
|
|
1015
1132
|
error.message?.includes('Connection timed out') ||
|
|
1133
|
+
error.message?.includes('aborted due to timeout') ||
|
|
1134
|
+
error.message?.includes('TimeoutError') ||
|
|
1135
|
+
error.message?.includes('fetch failed') ||
|
|
1136
|
+
error.message?.includes('socket hang up') ||
|
|
1137
|
+
error.message?.includes('ECONNRESET') ||
|
|
1138
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
1139
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
1140
|
+
error.message?.includes('Connection pool timeout') ||
|
|
1141
|
+
error.message?.includes('P2024') ||
|
|
1142
|
+
error.message?.includes('status code 408') ||
|
|
1143
|
+
error.message?.includes('status code 502') ||
|
|
1144
|
+
error.message?.includes('status code 503') ||
|
|
1145
|
+
error.message?.includes('status code 504') ||
|
|
1016
1146
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
1017
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
1147
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
1148
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
1149
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
1150
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
1018
1151
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
1019
1152
|
retryCount++;
|
|
1020
1153
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -1081,12 +1214,31 @@ export const TradeOutcome = {
|
|
|
1081
1214
|
if (error.message === 'No TradeOutcome found') {
|
|
1082
1215
|
return null;
|
|
1083
1216
|
}
|
|
1084
|
-
// Check if this is a database connection error that we should retry
|
|
1217
|
+
// Check if this is a database connection error that we should retry.
|
|
1218
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
1219
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
1220
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
1085
1221
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
1086
1222
|
error.message?.includes('Cannot reach database server') ||
|
|
1087
1223
|
error.message?.includes('Connection timed out') ||
|
|
1224
|
+
error.message?.includes('aborted due to timeout') ||
|
|
1225
|
+
error.message?.includes('TimeoutError') ||
|
|
1226
|
+
error.message?.includes('fetch failed') ||
|
|
1227
|
+
error.message?.includes('socket hang up') ||
|
|
1228
|
+
error.message?.includes('ECONNRESET') ||
|
|
1229
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
1230
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
1231
|
+
error.message?.includes('Connection pool timeout') ||
|
|
1232
|
+
error.message?.includes('P2024') ||
|
|
1233
|
+
error.message?.includes('status code 408') ||
|
|
1234
|
+
error.message?.includes('status code 502') ||
|
|
1235
|
+
error.message?.includes('status code 503') ||
|
|
1236
|
+
error.message?.includes('status code 504') ||
|
|
1088
1237
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
1089
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
1238
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
1239
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
1240
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
1241
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
1090
1242
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
1091
1243
|
retryCount++;
|
|
1092
1244
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -1183,12 +1335,31 @@ export const TradeOutcome = {
|
|
|
1183
1335
|
if (error.message === 'No TradeOutcome found') {
|
|
1184
1336
|
return null;
|
|
1185
1337
|
}
|
|
1186
|
-
// Check if this is a database connection error that we should retry
|
|
1338
|
+
// Check if this is a database connection error that we should retry.
|
|
1339
|
+
// Covers undici/fetch timeouts, Prisma Accelerate transients, connection
|
|
1340
|
+
// pool exhaustion, and transient gateway statuses. Must stay consistent
|
|
1341
|
+
// with the transient classifier in client.ts (onError link + enqueueOperation).
|
|
1187
1342
|
const isConnectionError = error.message?.includes('Server has closed the connection') ||
|
|
1188
1343
|
error.message?.includes('Cannot reach database server') ||
|
|
1189
1344
|
error.message?.includes('Connection timed out') ||
|
|
1345
|
+
error.message?.includes('aborted due to timeout') ||
|
|
1346
|
+
error.message?.includes('TimeoutError') ||
|
|
1347
|
+
error.message?.includes('fetch failed') ||
|
|
1348
|
+
error.message?.includes('socket hang up') ||
|
|
1349
|
+
error.message?.includes('ECONNRESET') ||
|
|
1350
|
+
error.message?.includes('ECONNREFUSED') ||
|
|
1351
|
+
error.message?.includes('ETIMEDOUT') ||
|
|
1352
|
+
error.message?.includes('Connection pool timeout') ||
|
|
1353
|
+
error.message?.includes('P2024') ||
|
|
1354
|
+
error.message?.includes('status code 408') ||
|
|
1355
|
+
error.message?.includes('status code 502') ||
|
|
1356
|
+
error.message?.includes('status code 503') ||
|
|
1357
|
+
error.message?.includes('status code 504') ||
|
|
1190
1358
|
error.message?.includes('Accelerate') || // Prisma Accelerate proxy errors
|
|
1191
|
-
(error.networkError && error.networkError.message?.includes('Failed to fetch')
|
|
1359
|
+
(error.networkError && (error.networkError.message?.includes('Failed to fetch') ||
|
|
1360
|
+
error.networkError.message?.includes('fetch failed') ||
|
|
1361
|
+
error.networkError.message?.includes('aborted due to timeout') ||
|
|
1362
|
+
error.networkError.message?.includes('TimeoutError')));
|
|
1192
1363
|
if (isConnectionError && retryCount < MAX_RETRIES - 1) {
|
|
1193
1364
|
retryCount++;
|
|
1194
1365
|
const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradingPolicy.d.ts","sourceRoot":"","sources":["../../src/TradingPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAsEpG,eAAO,MAAM,aAAa;IAExB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"TradingPolicy.d.ts","sourceRoot":"","sources":["../../src/TradingPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAsEpG,eAAO,MAAM,aAAa;IAExB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAykB5H;;;;;;;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;IAuL/K;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+pD1H;;;;;;OAMG;kBACiB,iBAAiB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwmE1H;;;;;;OAMG;sBACqB,iBAAiB,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IA8pDvI;;;;;;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;IAmHhJ;;;;;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;CAiIxJ,CAAC"}
|