@adaptic/backend-legacy 0.0.960 → 0.0.961
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 +180 -66
- package/Account.cjs +180 -66
- package/AccountDecisionRecord.cjs +180 -66
- package/AccountLinkingRequest.cjs +180 -66
- package/Action.cjs +180 -66
- package/Alert.cjs +180 -66
- package/Allocation.cjs +180 -66
- package/AlpacaAccount.cjs +180 -66
- package/AnalyticsConfiguration.cjs +180 -66
- package/AnalyticsSnapshot.cjs +180 -66
- package/Asset.cjs +180 -66
- package/AuditLog.cjs +180 -66
- package/Authenticator.cjs +180 -66
- package/Configuration.cjs +180 -66
- package/ConflictEvent.cjs +180 -66
- package/ConnectionHealthSnapshot.cjs +180 -66
- package/Customer.cjs +180 -66
- package/DeadLetterMessage.cjs +180 -66
- package/DecisionMemorySummary.cjs +180 -66
- package/EconomicEvent.cjs +180 -66
- package/EquityBar.cjs +180 -66
- package/Event.cjs +180 -66
- package/EventSnapshot.cjs +180 -66
- package/FeatureImportanceAnalysis.cjs +180 -66
- package/InstitutionalFlowSignal.cjs +180 -66
- package/InstitutionalHolding.cjs +180 -66
- package/InstitutionalSentimentAlerts.cjs +180 -66
- package/InstitutionalSentimentErrors.cjs +180 -66
- package/InstitutionalSentimentHistory.cjs +180 -66
- package/InstitutionalSentimentMetrics.cjs +180 -66
- package/InviteToken.cjs +180 -66
- package/LinkedProvider.cjs +180 -66
- package/LlmConfiguration.cjs +180 -66
- package/MLModelVersion.cjs +180 -66
- package/MLTrainingData.cjs +180 -66
- package/MarketSentiment.cjs +180 -66
- package/ModelArtifact.cjs +180 -66
- package/ModelVersion.cjs +180 -66
- package/ModelVersionArtifact.cjs +180 -66
- package/NewsArticle.cjs +180 -66
- package/NewsArticleAssetSentiment.cjs +180 -66
- package/OptionsContract.cjs +180 -66
- package/OptionsGreeksHistory.cjs +180 -66
- package/OptionsPosition.cjs +180 -66
- package/OptionsPositionEvent.cjs +180 -66
- package/OptionsTradeExecution.cjs +180 -66
- package/PolicyOverlay.cjs +180 -66
- package/PortfolioGreeksHistory.cjs +180 -66
- package/ScheduledOptionOrder.cjs +180 -66
- package/Session.cjs +180 -66
- package/SignalGeneratorMetrics.cjs +180 -66
- package/SignalLineage.cjs +180 -66
- package/SignalOutcome.cjs +180 -66
- package/SignalPriorityQueue.cjs +180 -66
- package/SyncEvent.cjs +180 -66
- package/SystemAlert.cjs +180 -66
- package/Trade.cjs +180 -66
- package/TradeAuditEvent.cjs +180 -66
- package/TradeExecutionHistory.cjs +180 -66
- package/TradeOutcome.cjs +180 -66
- package/TradingPolicy.cjs +180 -66
- package/User.cjs +180 -66
- package/VerificationToken.cjs +180 -66
- package/WaitlistEntry.cjs +180 -66
- package/esm/ABTest.d.ts.map +1 -1
- package/esm/ABTest.js.map +1 -1
- package/esm/ABTest.mjs +180 -66
- package/esm/Account.d.ts.map +1 -1
- package/esm/Account.js.map +1 -1
- package/esm/Account.mjs +180 -66
- package/esm/AccountDecisionRecord.d.ts.map +1 -1
- package/esm/AccountDecisionRecord.js.map +1 -1
- package/esm/AccountDecisionRecord.mjs +180 -66
- package/esm/AccountLinkingRequest.d.ts.map +1 -1
- package/esm/AccountLinkingRequest.js.map +1 -1
- package/esm/AccountLinkingRequest.mjs +180 -66
- package/esm/Action.d.ts.map +1 -1
- package/esm/Action.js.map +1 -1
- package/esm/Action.mjs +180 -66
- package/esm/Alert.d.ts.map +1 -1
- package/esm/Alert.js.map +1 -1
- package/esm/Alert.mjs +180 -66
- package/esm/Allocation.d.ts.map +1 -1
- package/esm/Allocation.js.map +1 -1
- package/esm/Allocation.mjs +180 -66
- package/esm/AlpacaAccount.d.ts.map +1 -1
- package/esm/AlpacaAccount.js.map +1 -1
- package/esm/AlpacaAccount.mjs +180 -66
- package/esm/AnalyticsConfiguration.d.ts.map +1 -1
- package/esm/AnalyticsConfiguration.js.map +1 -1
- package/esm/AnalyticsConfiguration.mjs +180 -66
- package/esm/AnalyticsSnapshot.d.ts.map +1 -1
- package/esm/AnalyticsSnapshot.js.map +1 -1
- package/esm/AnalyticsSnapshot.mjs +180 -66
- package/esm/Asset.d.ts.map +1 -1
- package/esm/Asset.js.map +1 -1
- package/esm/Asset.mjs +180 -66
- package/esm/AuditLog.d.ts.map +1 -1
- package/esm/AuditLog.js.map +1 -1
- package/esm/AuditLog.mjs +180 -66
- package/esm/Authenticator.d.ts.map +1 -1
- package/esm/Authenticator.js.map +1 -1
- package/esm/Authenticator.mjs +180 -66
- package/esm/Configuration.d.ts.map +1 -1
- package/esm/Configuration.js.map +1 -1
- package/esm/Configuration.mjs +180 -66
- package/esm/ConflictEvent.d.ts.map +1 -1
- package/esm/ConflictEvent.js.map +1 -1
- package/esm/ConflictEvent.mjs +180 -66
- package/esm/ConnectionHealthSnapshot.d.ts.map +1 -1
- package/esm/ConnectionHealthSnapshot.js.map +1 -1
- package/esm/ConnectionHealthSnapshot.mjs +180 -66
- package/esm/Customer.d.ts.map +1 -1
- package/esm/Customer.js.map +1 -1
- package/esm/Customer.mjs +180 -66
- package/esm/DeadLetterMessage.d.ts.map +1 -1
- package/esm/DeadLetterMessage.js.map +1 -1
- package/esm/DeadLetterMessage.mjs +180 -66
- package/esm/DecisionMemorySummary.d.ts.map +1 -1
- package/esm/DecisionMemorySummary.js.map +1 -1
- package/esm/DecisionMemorySummary.mjs +180 -66
- package/esm/EconomicEvent.d.ts.map +1 -1
- package/esm/EconomicEvent.js.map +1 -1
- package/esm/EconomicEvent.mjs +180 -66
- package/esm/EquityBar.d.ts.map +1 -1
- package/esm/EquityBar.js.map +1 -1
- package/esm/EquityBar.mjs +180 -66
- package/esm/Event.d.ts.map +1 -1
- package/esm/Event.js.map +1 -1
- package/esm/Event.mjs +180 -66
- package/esm/EventSnapshot.d.ts.map +1 -1
- package/esm/EventSnapshot.js.map +1 -1
- package/esm/EventSnapshot.mjs +180 -66
- package/esm/FeatureImportanceAnalysis.d.ts.map +1 -1
- package/esm/FeatureImportanceAnalysis.js.map +1 -1
- package/esm/FeatureImportanceAnalysis.mjs +180 -66
- package/esm/InstitutionalFlowSignal.d.ts.map +1 -1
- package/esm/InstitutionalFlowSignal.js.map +1 -1
- package/esm/InstitutionalFlowSignal.mjs +180 -66
- package/esm/InstitutionalHolding.d.ts.map +1 -1
- package/esm/InstitutionalHolding.js.map +1 -1
- package/esm/InstitutionalHolding.mjs +180 -66
- package/esm/InstitutionalSentimentAlerts.d.ts.map +1 -1
- package/esm/InstitutionalSentimentAlerts.js.map +1 -1
- package/esm/InstitutionalSentimentAlerts.mjs +180 -66
- package/esm/InstitutionalSentimentErrors.d.ts.map +1 -1
- package/esm/InstitutionalSentimentErrors.js.map +1 -1
- package/esm/InstitutionalSentimentErrors.mjs +180 -66
- package/esm/InstitutionalSentimentHistory.d.ts.map +1 -1
- package/esm/InstitutionalSentimentHistory.js.map +1 -1
- package/esm/InstitutionalSentimentHistory.mjs +180 -66
- package/esm/InstitutionalSentimentMetrics.d.ts.map +1 -1
- package/esm/InstitutionalSentimentMetrics.js.map +1 -1
- package/esm/InstitutionalSentimentMetrics.mjs +180 -66
- package/esm/InviteToken.d.ts.map +1 -1
- package/esm/InviteToken.js.map +1 -1
- package/esm/InviteToken.mjs +180 -66
- package/esm/LinkedProvider.d.ts.map +1 -1
- package/esm/LinkedProvider.js.map +1 -1
- package/esm/LinkedProvider.mjs +180 -66
- package/esm/LlmConfiguration.d.ts.map +1 -1
- package/esm/LlmConfiguration.js.map +1 -1
- package/esm/LlmConfiguration.mjs +180 -66
- package/esm/MLModelVersion.d.ts.map +1 -1
- package/esm/MLModelVersion.js.map +1 -1
- package/esm/MLModelVersion.mjs +180 -66
- package/esm/MLTrainingData.d.ts.map +1 -1
- package/esm/MLTrainingData.js.map +1 -1
- package/esm/MLTrainingData.mjs +180 -66
- package/esm/MarketSentiment.d.ts.map +1 -1
- package/esm/MarketSentiment.js.map +1 -1
- package/esm/MarketSentiment.mjs +180 -66
- package/esm/ModelArtifact.d.ts.map +1 -1
- package/esm/ModelArtifact.js.map +1 -1
- package/esm/ModelArtifact.mjs +180 -66
- package/esm/ModelVersion.d.ts.map +1 -1
- package/esm/ModelVersion.js.map +1 -1
- package/esm/ModelVersion.mjs +180 -66
- package/esm/ModelVersionArtifact.d.ts.map +1 -1
- package/esm/ModelVersionArtifact.js.map +1 -1
- package/esm/ModelVersionArtifact.mjs +180 -66
- package/esm/NewsArticle.d.ts.map +1 -1
- package/esm/NewsArticle.js.map +1 -1
- package/esm/NewsArticle.mjs +180 -66
- package/esm/NewsArticleAssetSentiment.d.ts.map +1 -1
- package/esm/NewsArticleAssetSentiment.js.map +1 -1
- package/esm/NewsArticleAssetSentiment.mjs +180 -66
- package/esm/OptionsContract.d.ts.map +1 -1
- package/esm/OptionsContract.js.map +1 -1
- package/esm/OptionsContract.mjs +180 -66
- package/esm/OptionsGreeksHistory.d.ts.map +1 -1
- package/esm/OptionsGreeksHistory.js.map +1 -1
- package/esm/OptionsGreeksHistory.mjs +180 -66
- package/esm/OptionsPosition.d.ts.map +1 -1
- package/esm/OptionsPosition.js.map +1 -1
- package/esm/OptionsPosition.mjs +180 -66
- package/esm/OptionsPositionEvent.d.ts.map +1 -1
- package/esm/OptionsPositionEvent.js.map +1 -1
- package/esm/OptionsPositionEvent.mjs +180 -66
- package/esm/OptionsTradeExecution.d.ts.map +1 -1
- package/esm/OptionsTradeExecution.js.map +1 -1
- package/esm/OptionsTradeExecution.mjs +180 -66
- package/esm/PolicyOverlay.d.ts.map +1 -1
- package/esm/PolicyOverlay.js.map +1 -1
- package/esm/PolicyOverlay.mjs +180 -66
- package/esm/PortfolioGreeksHistory.d.ts.map +1 -1
- package/esm/PortfolioGreeksHistory.js.map +1 -1
- package/esm/PortfolioGreeksHistory.mjs +180 -66
- package/esm/ScheduledOptionOrder.d.ts.map +1 -1
- package/esm/ScheduledOptionOrder.js.map +1 -1
- package/esm/ScheduledOptionOrder.mjs +180 -66
- package/esm/Session.d.ts.map +1 -1
- package/esm/Session.js.map +1 -1
- package/esm/Session.mjs +180 -66
- package/esm/SignalGeneratorMetrics.d.ts.map +1 -1
- package/esm/SignalGeneratorMetrics.js.map +1 -1
- package/esm/SignalGeneratorMetrics.mjs +180 -66
- package/esm/SignalLineage.d.ts.map +1 -1
- package/esm/SignalLineage.js.map +1 -1
- package/esm/SignalLineage.mjs +180 -66
- package/esm/SignalOutcome.d.ts.map +1 -1
- package/esm/SignalOutcome.js.map +1 -1
- package/esm/SignalOutcome.mjs +180 -66
- package/esm/SignalPriorityQueue.d.ts.map +1 -1
- package/esm/SignalPriorityQueue.js.map +1 -1
- package/esm/SignalPriorityQueue.mjs +180 -66
- package/esm/SyncEvent.d.ts.map +1 -1
- package/esm/SyncEvent.js.map +1 -1
- package/esm/SyncEvent.mjs +180 -66
- package/esm/SystemAlert.d.ts.map +1 -1
- package/esm/SystemAlert.js.map +1 -1
- package/esm/SystemAlert.mjs +180 -66
- package/esm/Trade.d.ts.map +1 -1
- package/esm/Trade.js.map +1 -1
- package/esm/Trade.mjs +180 -66
- package/esm/TradeAuditEvent.d.ts.map +1 -1
- package/esm/TradeAuditEvent.js.map +1 -1
- package/esm/TradeAuditEvent.mjs +180 -66
- package/esm/TradeExecutionHistory.d.ts.map +1 -1
- package/esm/TradeExecutionHistory.js.map +1 -1
- package/esm/TradeExecutionHistory.mjs +180 -66
- package/esm/TradeOutcome.d.ts.map +1 -1
- package/esm/TradeOutcome.js.map +1 -1
- package/esm/TradeOutcome.mjs +180 -66
- package/esm/TradingPolicy.d.ts.map +1 -1
- package/esm/TradingPolicy.js.map +1 -1
- package/esm/TradingPolicy.mjs +180 -66
- package/esm/User.d.ts.map +1 -1
- package/esm/User.js.map +1 -1
- package/esm/User.mjs +180 -66
- package/esm/VerificationToken.d.ts.map +1 -1
- package/esm/VerificationToken.js.map +1 -1
- package/esm/VerificationToken.mjs +180 -66
- package/esm/WaitlistEntry.d.ts.map +1 -1
- package/esm/WaitlistEntry.js.map +1 -1
- package/esm/WaitlistEntry.mjs +180 -66
- package/esm/index.d.ts.map +1 -1
- package/package.json +1 -1
package/EventSnapshot.cjs
CHANGED
|
@@ -142,13 +142,28 @@ exports.EventSnapshot = {
|
|
|
142
142
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
143
143
|
continue;
|
|
144
144
|
}
|
|
145
|
-
// Log structured error details and rethrow
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
145
|
+
// Log structured error details and rethrow.
|
|
146
|
+
// Demote transient failures to WARN with explicit transient+recoveryHint
|
|
147
|
+
// metadata so log analytics can distinguish recoverable upstream retries
|
|
148
|
+
// from true defects.
|
|
149
|
+
if (isConnectionError) {
|
|
150
|
+
logger_1.logger.warn("Database create operation failed (transient after retries)", {
|
|
151
|
+
operation: 'createOneEventSnapshot',
|
|
152
|
+
model: 'EventSnapshot',
|
|
153
|
+
error: String(error),
|
|
154
|
+
isRetryable: true,
|
|
155
|
+
transient: true,
|
|
156
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
logger_1.logger.error("Database create operation failed", {
|
|
161
|
+
operation: 'createOneEventSnapshot',
|
|
162
|
+
model: 'EventSnapshot',
|
|
163
|
+
error: String(error),
|
|
164
|
+
isRetryable: false,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
152
167
|
throw error;
|
|
153
168
|
}
|
|
154
169
|
}
|
|
@@ -271,13 +286,25 @@ exports.EventSnapshot = {
|
|
|
271
286
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
272
287
|
continue;
|
|
273
288
|
}
|
|
274
|
-
// Log structured error details and rethrow
|
|
275
|
-
|
|
276
|
-
operation
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
289
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
290
|
+
if (isConnectionError) {
|
|
291
|
+
logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
|
|
292
|
+
operation: 'createManyEventSnapshot',
|
|
293
|
+
model: 'EventSnapshot',
|
|
294
|
+
error: String(error),
|
|
295
|
+
isRetryable: true,
|
|
296
|
+
transient: true,
|
|
297
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
logger_1.logger.error("Database createMany operation failed", {
|
|
302
|
+
operation: 'createManyEventSnapshot',
|
|
303
|
+
model: 'EventSnapshot',
|
|
304
|
+
error: String(error),
|
|
305
|
+
isRetryable: false,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
281
308
|
throw error;
|
|
282
309
|
}
|
|
283
310
|
}
|
|
@@ -421,14 +448,27 @@ exports.EventSnapshot = {
|
|
|
421
448
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
422
449
|
continue;
|
|
423
450
|
}
|
|
424
|
-
// Log structured error details and rethrow
|
|
425
|
-
|
|
426
|
-
operation
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
451
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
452
|
+
if (isConnectionError) {
|
|
453
|
+
logger_1.logger.warn("Database update operation failed (transient after retries)", {
|
|
454
|
+
operation: 'updateOneEventSnapshot',
|
|
455
|
+
model: 'EventSnapshot',
|
|
456
|
+
error: String(error),
|
|
457
|
+
recordId: props.id,
|
|
458
|
+
isRetryable: true,
|
|
459
|
+
transient: true,
|
|
460
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
else {
|
|
464
|
+
logger_1.logger.error("Database update operation failed", {
|
|
465
|
+
operation: 'updateOneEventSnapshot',
|
|
466
|
+
model: 'EventSnapshot',
|
|
467
|
+
error: String(error),
|
|
468
|
+
recordId: props.id,
|
|
469
|
+
isRetryable: false,
|
|
470
|
+
});
|
|
471
|
+
}
|
|
432
472
|
throw error;
|
|
433
473
|
}
|
|
434
474
|
}
|
|
@@ -573,14 +613,27 @@ exports.EventSnapshot = {
|
|
|
573
613
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
574
614
|
continue;
|
|
575
615
|
}
|
|
576
|
-
// Log structured error details and rethrow
|
|
577
|
-
|
|
578
|
-
operation
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
616
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
617
|
+
if (isConnectionError) {
|
|
618
|
+
logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
|
|
619
|
+
operation: 'upsertOneEventSnapshot',
|
|
620
|
+
model: 'EventSnapshot',
|
|
621
|
+
error: String(error),
|
|
622
|
+
recordId: props.id,
|
|
623
|
+
isRetryable: true,
|
|
624
|
+
transient: true,
|
|
625
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
logger_1.logger.error("Database upsert operation failed", {
|
|
630
|
+
operation: 'upsertOneEventSnapshot',
|
|
631
|
+
model: 'EventSnapshot',
|
|
632
|
+
error: String(error),
|
|
633
|
+
recordId: props.id,
|
|
634
|
+
isRetryable: false,
|
|
635
|
+
});
|
|
636
|
+
}
|
|
584
637
|
throw error;
|
|
585
638
|
}
|
|
586
639
|
}
|
|
@@ -722,13 +775,25 @@ exports.EventSnapshot = {
|
|
|
722
775
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
723
776
|
continue;
|
|
724
777
|
}
|
|
725
|
-
// Log structured error details and rethrow
|
|
726
|
-
|
|
727
|
-
operation
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
778
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
779
|
+
if (isConnectionError) {
|
|
780
|
+
logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
|
|
781
|
+
operation: 'updateManyEventSnapshot',
|
|
782
|
+
model: 'EventSnapshot',
|
|
783
|
+
error: String(error),
|
|
784
|
+
isRetryable: true,
|
|
785
|
+
transient: true,
|
|
786
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
787
|
+
});
|
|
788
|
+
}
|
|
789
|
+
else {
|
|
790
|
+
logger_1.logger.error("Database updateMany operation failed", {
|
|
791
|
+
operation: 'updateManyEventSnapshot',
|
|
792
|
+
model: 'EventSnapshot',
|
|
793
|
+
error: String(error),
|
|
794
|
+
isRetryable: false,
|
|
795
|
+
});
|
|
796
|
+
}
|
|
732
797
|
throw error;
|
|
733
798
|
}
|
|
734
799
|
}
|
|
@@ -851,14 +916,27 @@ exports.EventSnapshot = {
|
|
|
851
916
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
852
917
|
continue;
|
|
853
918
|
}
|
|
854
|
-
// Log structured error details and rethrow
|
|
855
|
-
|
|
856
|
-
operation
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
919
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
920
|
+
if (isConnectionError) {
|
|
921
|
+
logger_1.logger.warn("Database delete operation failed (transient after retries)", {
|
|
922
|
+
operation: 'deleteOneEventSnapshot',
|
|
923
|
+
model: 'EventSnapshot',
|
|
924
|
+
error: String(error),
|
|
925
|
+
recordId: props.id,
|
|
926
|
+
isRetryable: true,
|
|
927
|
+
transient: true,
|
|
928
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
929
|
+
});
|
|
930
|
+
}
|
|
931
|
+
else {
|
|
932
|
+
logger_1.logger.error("Database delete operation failed", {
|
|
933
|
+
operation: 'deleteOneEventSnapshot',
|
|
934
|
+
model: 'EventSnapshot',
|
|
935
|
+
error: String(error),
|
|
936
|
+
recordId: props.id,
|
|
937
|
+
isRetryable: false,
|
|
938
|
+
});
|
|
939
|
+
}
|
|
862
940
|
throw error;
|
|
863
941
|
}
|
|
864
942
|
}
|
|
@@ -957,13 +1035,25 @@ exports.EventSnapshot = {
|
|
|
957
1035
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
958
1036
|
continue;
|
|
959
1037
|
}
|
|
960
|
-
// Log structured error details and rethrow
|
|
961
|
-
|
|
962
|
-
operation
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
1038
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
1039
|
+
if (isConnectionError) {
|
|
1040
|
+
logger_1.logger.warn("Database get operation failed (transient after retries)", {
|
|
1041
|
+
operation: 'getEventSnapshot',
|
|
1042
|
+
model: 'EventSnapshot',
|
|
1043
|
+
error: String(error),
|
|
1044
|
+
isRetryable: true,
|
|
1045
|
+
transient: true,
|
|
1046
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1047
|
+
});
|
|
1048
|
+
}
|
|
1049
|
+
else {
|
|
1050
|
+
logger_1.logger.error("Database get operation failed", {
|
|
1051
|
+
operation: 'getEventSnapshot',
|
|
1052
|
+
model: 'EventSnapshot',
|
|
1053
|
+
error: String(error),
|
|
1054
|
+
isRetryable: false,
|
|
1055
|
+
});
|
|
1056
|
+
}
|
|
967
1057
|
throw error;
|
|
968
1058
|
}
|
|
969
1059
|
}
|
|
@@ -1050,13 +1140,25 @@ exports.EventSnapshot = {
|
|
|
1050
1140
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1051
1141
|
continue;
|
|
1052
1142
|
}
|
|
1053
|
-
// Log structured error details and rethrow
|
|
1054
|
-
|
|
1055
|
-
operation
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1143
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
1144
|
+
if (isConnectionError) {
|
|
1145
|
+
logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
|
|
1146
|
+
operation: 'getAllEventSnapshot',
|
|
1147
|
+
model: 'EventSnapshot',
|
|
1148
|
+
error: String(error),
|
|
1149
|
+
isRetryable: true,
|
|
1150
|
+
transient: true,
|
|
1151
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1152
|
+
});
|
|
1153
|
+
}
|
|
1154
|
+
else {
|
|
1155
|
+
logger_1.logger.error("Database getAll operation failed", {
|
|
1156
|
+
operation: 'getAllEventSnapshot',
|
|
1157
|
+
model: 'EventSnapshot',
|
|
1158
|
+
error: String(error),
|
|
1159
|
+
isRetryable: false,
|
|
1160
|
+
});
|
|
1161
|
+
}
|
|
1060
1162
|
throw error;
|
|
1061
1163
|
}
|
|
1062
1164
|
}
|
|
@@ -1167,13 +1269,25 @@ exports.EventSnapshot = {
|
|
|
1167
1269
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1168
1270
|
continue;
|
|
1169
1271
|
}
|
|
1170
|
-
// Log structured error details and rethrow
|
|
1171
|
-
|
|
1172
|
-
operation
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1272
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
1273
|
+
if (isConnectionError) {
|
|
1274
|
+
logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
|
|
1275
|
+
operation: 'findManyEventSnapshot',
|
|
1276
|
+
model: 'EventSnapshot',
|
|
1277
|
+
error: String(error),
|
|
1278
|
+
isRetryable: true,
|
|
1279
|
+
transient: true,
|
|
1280
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1281
|
+
});
|
|
1282
|
+
}
|
|
1283
|
+
else {
|
|
1284
|
+
logger_1.logger.error("Database findMany operation failed", {
|
|
1285
|
+
operation: 'findManyEventSnapshot',
|
|
1286
|
+
model: 'EventSnapshot',
|
|
1287
|
+
error: String(error),
|
|
1288
|
+
isRetryable: false,
|
|
1289
|
+
});
|
|
1290
|
+
}
|
|
1177
1291
|
throw error;
|
|
1178
1292
|
}
|
|
1179
1293
|
}
|
|
@@ -1029,13 +1029,28 @@ exports.FeatureImportanceAnalysis = {
|
|
|
1029
1029
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1030
1030
|
continue;
|
|
1031
1031
|
}
|
|
1032
|
-
// Log structured error details and rethrow
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1032
|
+
// Log structured error details and rethrow.
|
|
1033
|
+
// Demote transient failures to WARN with explicit transient+recoveryHint
|
|
1034
|
+
// metadata so log analytics can distinguish recoverable upstream retries
|
|
1035
|
+
// from true defects.
|
|
1036
|
+
if (isConnectionError) {
|
|
1037
|
+
logger_1.logger.warn("Database create operation failed (transient after retries)", {
|
|
1038
|
+
operation: 'createOneFeatureImportanceAnalysis',
|
|
1039
|
+
model: 'FeatureImportanceAnalysis',
|
|
1040
|
+
error: String(error),
|
|
1041
|
+
isRetryable: true,
|
|
1042
|
+
transient: true,
|
|
1043
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1044
|
+
});
|
|
1045
|
+
}
|
|
1046
|
+
else {
|
|
1047
|
+
logger_1.logger.error("Database create operation failed", {
|
|
1048
|
+
operation: 'createOneFeatureImportanceAnalysis',
|
|
1049
|
+
model: 'FeatureImportanceAnalysis',
|
|
1050
|
+
error: String(error),
|
|
1051
|
+
isRetryable: false,
|
|
1052
|
+
});
|
|
1053
|
+
}
|
|
1039
1054
|
throw error;
|
|
1040
1055
|
}
|
|
1041
1056
|
}
|
|
@@ -1168,13 +1183,25 @@ exports.FeatureImportanceAnalysis = {
|
|
|
1168
1183
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1169
1184
|
continue;
|
|
1170
1185
|
}
|
|
1171
|
-
// Log structured error details and rethrow
|
|
1172
|
-
|
|
1173
|
-
operation
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1186
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
1187
|
+
if (isConnectionError) {
|
|
1188
|
+
logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
|
|
1189
|
+
operation: 'createManyFeatureImportanceAnalysis',
|
|
1190
|
+
model: 'FeatureImportanceAnalysis',
|
|
1191
|
+
error: String(error),
|
|
1192
|
+
isRetryable: true,
|
|
1193
|
+
transient: true,
|
|
1194
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1195
|
+
});
|
|
1196
|
+
}
|
|
1197
|
+
else {
|
|
1198
|
+
logger_1.logger.error("Database createMany operation failed", {
|
|
1199
|
+
operation: 'createManyFeatureImportanceAnalysis',
|
|
1200
|
+
model: 'FeatureImportanceAnalysis',
|
|
1201
|
+
error: String(error),
|
|
1202
|
+
isRetryable: false,
|
|
1203
|
+
});
|
|
1204
|
+
}
|
|
1178
1205
|
throw error;
|
|
1179
1206
|
}
|
|
1180
1207
|
}
|
|
@@ -4543,14 +4570,27 @@ exports.FeatureImportanceAnalysis = {
|
|
|
4543
4570
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
4544
4571
|
continue;
|
|
4545
4572
|
}
|
|
4546
|
-
// Log structured error details and rethrow
|
|
4547
|
-
|
|
4548
|
-
operation
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4573
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
4574
|
+
if (isConnectionError) {
|
|
4575
|
+
logger_1.logger.warn("Database update operation failed (transient after retries)", {
|
|
4576
|
+
operation: 'updateOneFeatureImportanceAnalysis',
|
|
4577
|
+
model: 'FeatureImportanceAnalysis',
|
|
4578
|
+
error: String(error),
|
|
4579
|
+
recordId: props.id,
|
|
4580
|
+
isRetryable: true,
|
|
4581
|
+
transient: true,
|
|
4582
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
4583
|
+
});
|
|
4584
|
+
}
|
|
4585
|
+
else {
|
|
4586
|
+
logger_1.logger.error("Database update operation failed", {
|
|
4587
|
+
operation: 'updateOneFeatureImportanceAnalysis',
|
|
4588
|
+
model: 'FeatureImportanceAnalysis',
|
|
4589
|
+
error: String(error),
|
|
4590
|
+
recordId: props.id,
|
|
4591
|
+
isRetryable: false,
|
|
4592
|
+
});
|
|
4593
|
+
}
|
|
4554
4594
|
throw error;
|
|
4555
4595
|
}
|
|
4556
4596
|
}
|
|
@@ -8727,14 +8767,27 @@ exports.FeatureImportanceAnalysis = {
|
|
|
8727
8767
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
8728
8768
|
continue;
|
|
8729
8769
|
}
|
|
8730
|
-
// Log structured error details and rethrow
|
|
8731
|
-
|
|
8732
|
-
operation
|
|
8733
|
-
|
|
8734
|
-
|
|
8735
|
-
|
|
8736
|
-
|
|
8737
|
-
|
|
8770
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
8771
|
+
if (isConnectionError) {
|
|
8772
|
+
logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
|
|
8773
|
+
operation: 'upsertOneFeatureImportanceAnalysis',
|
|
8774
|
+
model: 'FeatureImportanceAnalysis',
|
|
8775
|
+
error: String(error),
|
|
8776
|
+
recordId: props.id,
|
|
8777
|
+
isRetryable: true,
|
|
8778
|
+
transient: true,
|
|
8779
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
8780
|
+
});
|
|
8781
|
+
}
|
|
8782
|
+
else {
|
|
8783
|
+
logger_1.logger.error("Database upsert operation failed", {
|
|
8784
|
+
operation: 'upsertOneFeatureImportanceAnalysis',
|
|
8785
|
+
model: 'FeatureImportanceAnalysis',
|
|
8786
|
+
error: String(error),
|
|
8787
|
+
recordId: props.id,
|
|
8788
|
+
isRetryable: false,
|
|
8789
|
+
});
|
|
8790
|
+
}
|
|
8738
8791
|
throw error;
|
|
8739
8792
|
}
|
|
8740
8793
|
}
|
|
@@ -12101,13 +12154,25 @@ exports.FeatureImportanceAnalysis = {
|
|
|
12101
12154
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
12102
12155
|
continue;
|
|
12103
12156
|
}
|
|
12104
|
-
// Log structured error details and rethrow
|
|
12105
|
-
|
|
12106
|
-
operation
|
|
12107
|
-
|
|
12108
|
-
|
|
12109
|
-
|
|
12110
|
-
|
|
12157
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
12158
|
+
if (isConnectionError) {
|
|
12159
|
+
logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
|
|
12160
|
+
operation: 'updateManyFeatureImportanceAnalysis',
|
|
12161
|
+
model: 'FeatureImportanceAnalysis',
|
|
12162
|
+
error: String(error),
|
|
12163
|
+
isRetryable: true,
|
|
12164
|
+
transient: true,
|
|
12165
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
12166
|
+
});
|
|
12167
|
+
}
|
|
12168
|
+
else {
|
|
12169
|
+
logger_1.logger.error("Database updateMany operation failed", {
|
|
12170
|
+
operation: 'updateManyFeatureImportanceAnalysis',
|
|
12171
|
+
model: 'FeatureImportanceAnalysis',
|
|
12172
|
+
error: String(error),
|
|
12173
|
+
isRetryable: false,
|
|
12174
|
+
});
|
|
12175
|
+
}
|
|
12111
12176
|
throw error;
|
|
12112
12177
|
}
|
|
12113
12178
|
}
|
|
@@ -12230,14 +12295,27 @@ exports.FeatureImportanceAnalysis = {
|
|
|
12230
12295
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
12231
12296
|
continue;
|
|
12232
12297
|
}
|
|
12233
|
-
// Log structured error details and rethrow
|
|
12234
|
-
|
|
12235
|
-
operation
|
|
12236
|
-
|
|
12237
|
-
|
|
12238
|
-
|
|
12239
|
-
|
|
12240
|
-
|
|
12298
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
12299
|
+
if (isConnectionError) {
|
|
12300
|
+
logger_1.logger.warn("Database delete operation failed (transient after retries)", {
|
|
12301
|
+
operation: 'deleteOneFeatureImportanceAnalysis',
|
|
12302
|
+
model: 'FeatureImportanceAnalysis',
|
|
12303
|
+
error: String(error),
|
|
12304
|
+
recordId: props.id,
|
|
12305
|
+
isRetryable: true,
|
|
12306
|
+
transient: true,
|
|
12307
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
12308
|
+
});
|
|
12309
|
+
}
|
|
12310
|
+
else {
|
|
12311
|
+
logger_1.logger.error("Database delete operation failed", {
|
|
12312
|
+
operation: 'deleteOneFeatureImportanceAnalysis',
|
|
12313
|
+
model: 'FeatureImportanceAnalysis',
|
|
12314
|
+
error: String(error),
|
|
12315
|
+
recordId: props.id,
|
|
12316
|
+
isRetryable: false,
|
|
12317
|
+
});
|
|
12318
|
+
}
|
|
12241
12319
|
throw error;
|
|
12242
12320
|
}
|
|
12243
12321
|
}
|
|
@@ -12336,13 +12414,25 @@ exports.FeatureImportanceAnalysis = {
|
|
|
12336
12414
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
12337
12415
|
continue;
|
|
12338
12416
|
}
|
|
12339
|
-
// Log structured error details and rethrow
|
|
12340
|
-
|
|
12341
|
-
operation
|
|
12342
|
-
|
|
12343
|
-
|
|
12344
|
-
|
|
12345
|
-
|
|
12417
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
12418
|
+
if (isConnectionError) {
|
|
12419
|
+
logger_1.logger.warn("Database get operation failed (transient after retries)", {
|
|
12420
|
+
operation: 'getFeatureImportanceAnalysis',
|
|
12421
|
+
model: 'FeatureImportanceAnalysis',
|
|
12422
|
+
error: String(error),
|
|
12423
|
+
isRetryable: true,
|
|
12424
|
+
transient: true,
|
|
12425
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
12426
|
+
});
|
|
12427
|
+
}
|
|
12428
|
+
else {
|
|
12429
|
+
logger_1.logger.error("Database get operation failed", {
|
|
12430
|
+
operation: 'getFeatureImportanceAnalysis',
|
|
12431
|
+
model: 'FeatureImportanceAnalysis',
|
|
12432
|
+
error: String(error),
|
|
12433
|
+
isRetryable: false,
|
|
12434
|
+
});
|
|
12435
|
+
}
|
|
12346
12436
|
throw error;
|
|
12347
12437
|
}
|
|
12348
12438
|
}
|
|
@@ -12429,13 +12519,25 @@ exports.FeatureImportanceAnalysis = {
|
|
|
12429
12519
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
12430
12520
|
continue;
|
|
12431
12521
|
}
|
|
12432
|
-
// Log structured error details and rethrow
|
|
12433
|
-
|
|
12434
|
-
operation
|
|
12435
|
-
|
|
12436
|
-
|
|
12437
|
-
|
|
12438
|
-
|
|
12522
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
12523
|
+
if (isConnectionError) {
|
|
12524
|
+
logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
|
|
12525
|
+
operation: 'getAllFeatureImportanceAnalysis',
|
|
12526
|
+
model: 'FeatureImportanceAnalysis',
|
|
12527
|
+
error: String(error),
|
|
12528
|
+
isRetryable: true,
|
|
12529
|
+
transient: true,
|
|
12530
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
12531
|
+
});
|
|
12532
|
+
}
|
|
12533
|
+
else {
|
|
12534
|
+
logger_1.logger.error("Database getAll operation failed", {
|
|
12535
|
+
operation: 'getAllFeatureImportanceAnalysis',
|
|
12536
|
+
model: 'FeatureImportanceAnalysis',
|
|
12537
|
+
error: String(error),
|
|
12538
|
+
isRetryable: false,
|
|
12539
|
+
});
|
|
12540
|
+
}
|
|
12439
12541
|
throw error;
|
|
12440
12542
|
}
|
|
12441
12543
|
}
|
|
@@ -12546,13 +12648,25 @@ exports.FeatureImportanceAnalysis = {
|
|
|
12546
12648
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
12547
12649
|
continue;
|
|
12548
12650
|
}
|
|
12549
|
-
// Log structured error details and rethrow
|
|
12550
|
-
|
|
12551
|
-
operation
|
|
12552
|
-
|
|
12553
|
-
|
|
12554
|
-
|
|
12555
|
-
|
|
12651
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
12652
|
+
if (isConnectionError) {
|
|
12653
|
+
logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
|
|
12654
|
+
operation: 'findManyFeatureImportanceAnalysis',
|
|
12655
|
+
model: 'FeatureImportanceAnalysis',
|
|
12656
|
+
error: String(error),
|
|
12657
|
+
isRetryable: true,
|
|
12658
|
+
transient: true,
|
|
12659
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
12660
|
+
});
|
|
12661
|
+
}
|
|
12662
|
+
else {
|
|
12663
|
+
logger_1.logger.error("Database findMany operation failed", {
|
|
12664
|
+
operation: 'findManyFeatureImportanceAnalysis',
|
|
12665
|
+
model: 'FeatureImportanceAnalysis',
|
|
12666
|
+
error: String(error),
|
|
12667
|
+
isRetryable: false,
|
|
12668
|
+
});
|
|
12669
|
+
}
|
|
12556
12670
|
throw error;
|
|
12557
12671
|
}
|
|
12558
12672
|
}
|