@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/Customer.cjs
CHANGED
|
@@ -761,13 +761,28 @@ exports.Customer = {
|
|
|
761
761
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
762
762
|
continue;
|
|
763
763
|
}
|
|
764
|
-
// Log structured error details and rethrow
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
764
|
+
// Log structured error details and rethrow.
|
|
765
|
+
// Demote transient failures to WARN with explicit transient+recoveryHint
|
|
766
|
+
// metadata so log analytics can distinguish recoverable upstream retries
|
|
767
|
+
// from true defects.
|
|
768
|
+
if (isConnectionError) {
|
|
769
|
+
logger_1.logger.warn("Database create operation failed (transient after retries)", {
|
|
770
|
+
operation: 'createOneCustomer',
|
|
771
|
+
model: 'Customer',
|
|
772
|
+
error: String(error),
|
|
773
|
+
isRetryable: true,
|
|
774
|
+
transient: true,
|
|
775
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
else {
|
|
779
|
+
logger_1.logger.error("Database create operation failed", {
|
|
780
|
+
operation: 'createOneCustomer',
|
|
781
|
+
model: 'Customer',
|
|
782
|
+
error: String(error),
|
|
783
|
+
isRetryable: false,
|
|
784
|
+
});
|
|
785
|
+
}
|
|
771
786
|
throw error;
|
|
772
787
|
}
|
|
773
788
|
}
|
|
@@ -892,13 +907,25 @@ exports.Customer = {
|
|
|
892
907
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
893
908
|
continue;
|
|
894
909
|
}
|
|
895
|
-
// Log structured error details and rethrow
|
|
896
|
-
|
|
897
|
-
operation
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
910
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
911
|
+
if (isConnectionError) {
|
|
912
|
+
logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
|
|
913
|
+
operation: 'createManyCustomer',
|
|
914
|
+
model: 'Customer',
|
|
915
|
+
error: String(error),
|
|
916
|
+
isRetryable: true,
|
|
917
|
+
transient: true,
|
|
918
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
919
|
+
});
|
|
920
|
+
}
|
|
921
|
+
else {
|
|
922
|
+
logger_1.logger.error("Database createMany operation failed", {
|
|
923
|
+
operation: 'createManyCustomer',
|
|
924
|
+
model: 'Customer',
|
|
925
|
+
error: String(error),
|
|
926
|
+
isRetryable: false,
|
|
927
|
+
});
|
|
928
|
+
}
|
|
902
929
|
throw error;
|
|
903
930
|
}
|
|
904
931
|
}
|
|
@@ -2662,14 +2689,27 @@ exports.Customer = {
|
|
|
2662
2689
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
2663
2690
|
continue;
|
|
2664
2691
|
}
|
|
2665
|
-
// Log structured error details and rethrow
|
|
2666
|
-
|
|
2667
|
-
operation
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2692
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
2693
|
+
if (isConnectionError) {
|
|
2694
|
+
logger_1.logger.warn("Database update operation failed (transient after retries)", {
|
|
2695
|
+
operation: 'updateOneCustomer',
|
|
2696
|
+
model: 'Customer',
|
|
2697
|
+
error: String(error),
|
|
2698
|
+
recordId: props.id,
|
|
2699
|
+
isRetryable: true,
|
|
2700
|
+
transient: true,
|
|
2701
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
2702
|
+
});
|
|
2703
|
+
}
|
|
2704
|
+
else {
|
|
2705
|
+
logger_1.logger.error("Database update operation failed", {
|
|
2706
|
+
operation: 'updateOneCustomer',
|
|
2707
|
+
model: 'Customer',
|
|
2708
|
+
error: String(error),
|
|
2709
|
+
recordId: props.id,
|
|
2710
|
+
isRetryable: false,
|
|
2711
|
+
});
|
|
2712
|
+
}
|
|
2673
2713
|
throw error;
|
|
2674
2714
|
}
|
|
2675
2715
|
}
|
|
@@ -4887,14 +4927,27 @@ exports.Customer = {
|
|
|
4887
4927
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
4888
4928
|
continue;
|
|
4889
4929
|
}
|
|
4890
|
-
// Log structured error details and rethrow
|
|
4891
|
-
|
|
4892
|
-
operation
|
|
4893
|
-
|
|
4894
|
-
|
|
4895
|
-
|
|
4896
|
-
|
|
4897
|
-
|
|
4930
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
4931
|
+
if (isConnectionError) {
|
|
4932
|
+
logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
|
|
4933
|
+
operation: 'upsertOneCustomer',
|
|
4934
|
+
model: 'Customer',
|
|
4935
|
+
error: String(error),
|
|
4936
|
+
recordId: props.id,
|
|
4937
|
+
isRetryable: true,
|
|
4938
|
+
transient: true,
|
|
4939
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
4940
|
+
});
|
|
4941
|
+
}
|
|
4942
|
+
else {
|
|
4943
|
+
logger_1.logger.error("Database upsert operation failed", {
|
|
4944
|
+
operation: 'upsertOneCustomer',
|
|
4945
|
+
model: 'Customer',
|
|
4946
|
+
error: String(error),
|
|
4947
|
+
recordId: props.id,
|
|
4948
|
+
isRetryable: false,
|
|
4949
|
+
});
|
|
4950
|
+
}
|
|
4898
4951
|
throw error;
|
|
4899
4952
|
}
|
|
4900
4953
|
}
|
|
@@ -6656,13 +6709,25 @@ exports.Customer = {
|
|
|
6656
6709
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
6657
6710
|
continue;
|
|
6658
6711
|
}
|
|
6659
|
-
// Log structured error details and rethrow
|
|
6660
|
-
|
|
6661
|
-
operation
|
|
6662
|
-
|
|
6663
|
-
|
|
6664
|
-
|
|
6665
|
-
|
|
6712
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
6713
|
+
if (isConnectionError) {
|
|
6714
|
+
logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
|
|
6715
|
+
operation: 'updateManyCustomer',
|
|
6716
|
+
model: 'Customer',
|
|
6717
|
+
error: String(error),
|
|
6718
|
+
isRetryable: true,
|
|
6719
|
+
transient: true,
|
|
6720
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
6721
|
+
});
|
|
6722
|
+
}
|
|
6723
|
+
else {
|
|
6724
|
+
logger_1.logger.error("Database updateMany operation failed", {
|
|
6725
|
+
operation: 'updateManyCustomer',
|
|
6726
|
+
model: 'Customer',
|
|
6727
|
+
error: String(error),
|
|
6728
|
+
isRetryable: false,
|
|
6729
|
+
});
|
|
6730
|
+
}
|
|
6666
6731
|
throw error;
|
|
6667
6732
|
}
|
|
6668
6733
|
}
|
|
@@ -6785,14 +6850,27 @@ exports.Customer = {
|
|
|
6785
6850
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
6786
6851
|
continue;
|
|
6787
6852
|
}
|
|
6788
|
-
// Log structured error details and rethrow
|
|
6789
|
-
|
|
6790
|
-
operation
|
|
6791
|
-
|
|
6792
|
-
|
|
6793
|
-
|
|
6794
|
-
|
|
6795
|
-
|
|
6853
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
6854
|
+
if (isConnectionError) {
|
|
6855
|
+
logger_1.logger.warn("Database delete operation failed (transient after retries)", {
|
|
6856
|
+
operation: 'deleteOneCustomer',
|
|
6857
|
+
model: 'Customer',
|
|
6858
|
+
error: String(error),
|
|
6859
|
+
recordId: props.id,
|
|
6860
|
+
isRetryable: true,
|
|
6861
|
+
transient: true,
|
|
6862
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
6863
|
+
});
|
|
6864
|
+
}
|
|
6865
|
+
else {
|
|
6866
|
+
logger_1.logger.error("Database delete operation failed", {
|
|
6867
|
+
operation: 'deleteOneCustomer',
|
|
6868
|
+
model: 'Customer',
|
|
6869
|
+
error: String(error),
|
|
6870
|
+
recordId: props.id,
|
|
6871
|
+
isRetryable: false,
|
|
6872
|
+
});
|
|
6873
|
+
}
|
|
6796
6874
|
throw error;
|
|
6797
6875
|
}
|
|
6798
6876
|
}
|
|
@@ -6899,13 +6977,25 @@ exports.Customer = {
|
|
|
6899
6977
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
6900
6978
|
continue;
|
|
6901
6979
|
}
|
|
6902
|
-
// Log structured error details and rethrow
|
|
6903
|
-
|
|
6904
|
-
operation
|
|
6905
|
-
|
|
6906
|
-
|
|
6907
|
-
|
|
6908
|
-
|
|
6980
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
6981
|
+
if (isConnectionError) {
|
|
6982
|
+
logger_1.logger.warn("Database get operation failed (transient after retries)", {
|
|
6983
|
+
operation: 'getCustomer',
|
|
6984
|
+
model: 'Customer',
|
|
6985
|
+
error: String(error),
|
|
6986
|
+
isRetryable: true,
|
|
6987
|
+
transient: true,
|
|
6988
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
6989
|
+
});
|
|
6990
|
+
}
|
|
6991
|
+
else {
|
|
6992
|
+
logger_1.logger.error("Database get operation failed", {
|
|
6993
|
+
operation: 'getCustomer',
|
|
6994
|
+
model: 'Customer',
|
|
6995
|
+
error: String(error),
|
|
6996
|
+
isRetryable: false,
|
|
6997
|
+
});
|
|
6998
|
+
}
|
|
6909
6999
|
throw error;
|
|
6910
7000
|
}
|
|
6911
7001
|
}
|
|
@@ -6992,13 +7082,25 @@ exports.Customer = {
|
|
|
6992
7082
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
6993
7083
|
continue;
|
|
6994
7084
|
}
|
|
6995
|
-
// Log structured error details and rethrow
|
|
6996
|
-
|
|
6997
|
-
operation
|
|
6998
|
-
|
|
6999
|
-
|
|
7000
|
-
|
|
7001
|
-
|
|
7085
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
7086
|
+
if (isConnectionError) {
|
|
7087
|
+
logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
|
|
7088
|
+
operation: 'getAllCustomer',
|
|
7089
|
+
model: 'Customer',
|
|
7090
|
+
error: String(error),
|
|
7091
|
+
isRetryable: true,
|
|
7092
|
+
transient: true,
|
|
7093
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
7094
|
+
});
|
|
7095
|
+
}
|
|
7096
|
+
else {
|
|
7097
|
+
logger_1.logger.error("Database getAll operation failed", {
|
|
7098
|
+
operation: 'getAllCustomer',
|
|
7099
|
+
model: 'Customer',
|
|
7100
|
+
error: String(error),
|
|
7101
|
+
isRetryable: false,
|
|
7102
|
+
});
|
|
7103
|
+
}
|
|
7002
7104
|
throw error;
|
|
7003
7105
|
}
|
|
7004
7106
|
}
|
|
@@ -7121,13 +7223,25 @@ exports.Customer = {
|
|
|
7121
7223
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
7122
7224
|
continue;
|
|
7123
7225
|
}
|
|
7124
|
-
// Log structured error details and rethrow
|
|
7125
|
-
|
|
7126
|
-
operation
|
|
7127
|
-
|
|
7128
|
-
|
|
7129
|
-
|
|
7130
|
-
|
|
7226
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
7227
|
+
if (isConnectionError) {
|
|
7228
|
+
logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
|
|
7229
|
+
operation: 'findManyCustomer',
|
|
7230
|
+
model: 'Customer',
|
|
7231
|
+
error: String(error),
|
|
7232
|
+
isRetryable: true,
|
|
7233
|
+
transient: true,
|
|
7234
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
7235
|
+
});
|
|
7236
|
+
}
|
|
7237
|
+
else {
|
|
7238
|
+
logger_1.logger.error("Database findMany operation failed", {
|
|
7239
|
+
operation: 'findManyCustomer',
|
|
7240
|
+
model: 'Customer',
|
|
7241
|
+
error: String(error),
|
|
7242
|
+
isRetryable: false,
|
|
7243
|
+
});
|
|
7244
|
+
}
|
|
7131
7245
|
throw error;
|
|
7132
7246
|
}
|
|
7133
7247
|
}
|
package/DeadLetterMessage.cjs
CHANGED
|
@@ -195,13 +195,28 @@ exports.DeadLetterMessage = {
|
|
|
195
195
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
196
196
|
continue;
|
|
197
197
|
}
|
|
198
|
-
// Log structured error details and rethrow
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
198
|
+
// Log structured error details and rethrow.
|
|
199
|
+
// Demote transient failures to WARN with explicit transient+recoveryHint
|
|
200
|
+
// metadata so log analytics can distinguish recoverable upstream retries
|
|
201
|
+
// from true defects.
|
|
202
|
+
if (isConnectionError) {
|
|
203
|
+
logger_1.logger.warn("Database create operation failed (transient after retries)", {
|
|
204
|
+
operation: 'createOneDeadLetterMessage',
|
|
205
|
+
model: 'DeadLetterMessage',
|
|
206
|
+
error: String(error),
|
|
207
|
+
isRetryable: true,
|
|
208
|
+
transient: true,
|
|
209
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
logger_1.logger.error("Database create operation failed", {
|
|
214
|
+
operation: 'createOneDeadLetterMessage',
|
|
215
|
+
model: 'DeadLetterMessage',
|
|
216
|
+
error: String(error),
|
|
217
|
+
isRetryable: false,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
205
220
|
throw error;
|
|
206
221
|
}
|
|
207
222
|
}
|
|
@@ -351,13 +366,25 @@ exports.DeadLetterMessage = {
|
|
|
351
366
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
352
367
|
continue;
|
|
353
368
|
}
|
|
354
|
-
// Log structured error details and rethrow
|
|
355
|
-
|
|
356
|
-
operation
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
369
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
370
|
+
if (isConnectionError) {
|
|
371
|
+
logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
|
|
372
|
+
operation: 'createManyDeadLetterMessage',
|
|
373
|
+
model: 'DeadLetterMessage',
|
|
374
|
+
error: String(error),
|
|
375
|
+
isRetryable: true,
|
|
376
|
+
transient: true,
|
|
377
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
logger_1.logger.error("Database createMany operation failed", {
|
|
382
|
+
operation: 'createManyDeadLetterMessage',
|
|
383
|
+
model: 'DeadLetterMessage',
|
|
384
|
+
error: String(error),
|
|
385
|
+
isRetryable: false,
|
|
386
|
+
});
|
|
387
|
+
}
|
|
361
388
|
throw error;
|
|
362
389
|
}
|
|
363
390
|
}
|
|
@@ -571,14 +598,27 @@ exports.DeadLetterMessage = {
|
|
|
571
598
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
572
599
|
continue;
|
|
573
600
|
}
|
|
574
|
-
// Log structured error details and rethrow
|
|
575
|
-
|
|
576
|
-
operation
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
601
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
602
|
+
if (isConnectionError) {
|
|
603
|
+
logger_1.logger.warn("Database update operation failed (transient after retries)", {
|
|
604
|
+
operation: 'updateOneDeadLetterMessage',
|
|
605
|
+
model: 'DeadLetterMessage',
|
|
606
|
+
error: String(error),
|
|
607
|
+
recordId: props.id,
|
|
608
|
+
isRetryable: true,
|
|
609
|
+
transient: true,
|
|
610
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
else {
|
|
614
|
+
logger_1.logger.error("Database update operation failed", {
|
|
615
|
+
operation: 'updateOneDeadLetterMessage',
|
|
616
|
+
model: 'DeadLetterMessage',
|
|
617
|
+
error: String(error),
|
|
618
|
+
recordId: props.id,
|
|
619
|
+
isRetryable: false,
|
|
620
|
+
});
|
|
621
|
+
}
|
|
582
622
|
throw error;
|
|
583
623
|
}
|
|
584
624
|
}
|
|
@@ -826,14 +866,27 @@ exports.DeadLetterMessage = {
|
|
|
826
866
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
827
867
|
continue;
|
|
828
868
|
}
|
|
829
|
-
// Log structured error details and rethrow
|
|
830
|
-
|
|
831
|
-
operation
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
869
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
870
|
+
if (isConnectionError) {
|
|
871
|
+
logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
|
|
872
|
+
operation: 'upsertOneDeadLetterMessage',
|
|
873
|
+
model: 'DeadLetterMessage',
|
|
874
|
+
error: String(error),
|
|
875
|
+
recordId: props.id,
|
|
876
|
+
isRetryable: true,
|
|
877
|
+
transient: true,
|
|
878
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
879
|
+
});
|
|
880
|
+
}
|
|
881
|
+
else {
|
|
882
|
+
logger_1.logger.error("Database upsert operation failed", {
|
|
883
|
+
operation: 'upsertOneDeadLetterMessage',
|
|
884
|
+
model: 'DeadLetterMessage',
|
|
885
|
+
error: String(error),
|
|
886
|
+
recordId: props.id,
|
|
887
|
+
isRetryable: false,
|
|
888
|
+
});
|
|
889
|
+
}
|
|
837
890
|
throw error;
|
|
838
891
|
}
|
|
839
892
|
}
|
|
@@ -1045,13 +1098,25 @@ exports.DeadLetterMessage = {
|
|
|
1045
1098
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1046
1099
|
continue;
|
|
1047
1100
|
}
|
|
1048
|
-
// Log structured error details and rethrow
|
|
1049
|
-
|
|
1050
|
-
operation
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1101
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
1102
|
+
if (isConnectionError) {
|
|
1103
|
+
logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
|
|
1104
|
+
operation: 'updateManyDeadLetterMessage',
|
|
1105
|
+
model: 'DeadLetterMessage',
|
|
1106
|
+
error: String(error),
|
|
1107
|
+
isRetryable: true,
|
|
1108
|
+
transient: true,
|
|
1109
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1110
|
+
});
|
|
1111
|
+
}
|
|
1112
|
+
else {
|
|
1113
|
+
logger_1.logger.error("Database updateMany operation failed", {
|
|
1114
|
+
operation: 'updateManyDeadLetterMessage',
|
|
1115
|
+
model: 'DeadLetterMessage',
|
|
1116
|
+
error: String(error),
|
|
1117
|
+
isRetryable: false,
|
|
1118
|
+
});
|
|
1119
|
+
}
|
|
1055
1120
|
throw error;
|
|
1056
1121
|
}
|
|
1057
1122
|
}
|
|
@@ -1174,14 +1239,27 @@ exports.DeadLetterMessage = {
|
|
|
1174
1239
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1175
1240
|
continue;
|
|
1176
1241
|
}
|
|
1177
|
-
// Log structured error details and rethrow
|
|
1178
|
-
|
|
1179
|
-
operation
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1242
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
1243
|
+
if (isConnectionError) {
|
|
1244
|
+
logger_1.logger.warn("Database delete operation failed (transient after retries)", {
|
|
1245
|
+
operation: 'deleteOneDeadLetterMessage',
|
|
1246
|
+
model: 'DeadLetterMessage',
|
|
1247
|
+
error: String(error),
|
|
1248
|
+
recordId: props.id,
|
|
1249
|
+
isRetryable: true,
|
|
1250
|
+
transient: true,
|
|
1251
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1252
|
+
});
|
|
1253
|
+
}
|
|
1254
|
+
else {
|
|
1255
|
+
logger_1.logger.error("Database delete operation failed", {
|
|
1256
|
+
operation: 'deleteOneDeadLetterMessage',
|
|
1257
|
+
model: 'DeadLetterMessage',
|
|
1258
|
+
error: String(error),
|
|
1259
|
+
recordId: props.id,
|
|
1260
|
+
isRetryable: false,
|
|
1261
|
+
});
|
|
1262
|
+
}
|
|
1185
1263
|
throw error;
|
|
1186
1264
|
}
|
|
1187
1265
|
}
|
|
@@ -1283,13 +1361,25 @@ exports.DeadLetterMessage = {
|
|
|
1283
1361
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1284
1362
|
continue;
|
|
1285
1363
|
}
|
|
1286
|
-
// Log structured error details and rethrow
|
|
1287
|
-
|
|
1288
|
-
operation
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1364
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
1365
|
+
if (isConnectionError) {
|
|
1366
|
+
logger_1.logger.warn("Database get operation failed (transient after retries)", {
|
|
1367
|
+
operation: 'getDeadLetterMessage',
|
|
1368
|
+
model: 'DeadLetterMessage',
|
|
1369
|
+
error: String(error),
|
|
1370
|
+
isRetryable: true,
|
|
1371
|
+
transient: true,
|
|
1372
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1373
|
+
});
|
|
1374
|
+
}
|
|
1375
|
+
else {
|
|
1376
|
+
logger_1.logger.error("Database get operation failed", {
|
|
1377
|
+
operation: 'getDeadLetterMessage',
|
|
1378
|
+
model: 'DeadLetterMessage',
|
|
1379
|
+
error: String(error),
|
|
1380
|
+
isRetryable: false,
|
|
1381
|
+
});
|
|
1382
|
+
}
|
|
1293
1383
|
throw error;
|
|
1294
1384
|
}
|
|
1295
1385
|
}
|
|
@@ -1376,13 +1466,25 @@ exports.DeadLetterMessage = {
|
|
|
1376
1466
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1377
1467
|
continue;
|
|
1378
1468
|
}
|
|
1379
|
-
// Log structured error details and rethrow
|
|
1380
|
-
|
|
1381
|
-
operation
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1469
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
1470
|
+
if (isConnectionError) {
|
|
1471
|
+
logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
|
|
1472
|
+
operation: 'getAllDeadLetterMessage',
|
|
1473
|
+
model: 'DeadLetterMessage',
|
|
1474
|
+
error: String(error),
|
|
1475
|
+
isRetryable: true,
|
|
1476
|
+
transient: true,
|
|
1477
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1478
|
+
});
|
|
1479
|
+
}
|
|
1480
|
+
else {
|
|
1481
|
+
logger_1.logger.error("Database getAll operation failed", {
|
|
1482
|
+
operation: 'getAllDeadLetterMessage',
|
|
1483
|
+
model: 'DeadLetterMessage',
|
|
1484
|
+
error: String(error),
|
|
1485
|
+
isRetryable: false,
|
|
1486
|
+
});
|
|
1487
|
+
}
|
|
1386
1488
|
throw error;
|
|
1387
1489
|
}
|
|
1388
1490
|
}
|
|
@@ -1496,13 +1598,25 @@ exports.DeadLetterMessage = {
|
|
|
1496
1598
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1497
1599
|
continue;
|
|
1498
1600
|
}
|
|
1499
|
-
// Log structured error details and rethrow
|
|
1500
|
-
|
|
1501
|
-
operation
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1601
|
+
// Log structured error details and rethrow (transient -> WARN).
|
|
1602
|
+
if (isConnectionError) {
|
|
1603
|
+
logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
|
|
1604
|
+
operation: 'findManyDeadLetterMessage',
|
|
1605
|
+
model: 'DeadLetterMessage',
|
|
1606
|
+
error: String(error),
|
|
1607
|
+
isRetryable: true,
|
|
1608
|
+
transient: true,
|
|
1609
|
+
recoveryHint: "Upstream caller should retry on next cycle",
|
|
1610
|
+
});
|
|
1611
|
+
}
|
|
1612
|
+
else {
|
|
1613
|
+
logger_1.logger.error("Database findMany operation failed", {
|
|
1614
|
+
operation: 'findManyDeadLetterMessage',
|
|
1615
|
+
model: 'DeadLetterMessage',
|
|
1616
|
+
error: String(error),
|
|
1617
|
+
isRetryable: false,
|
|
1618
|
+
});
|
|
1619
|
+
}
|
|
1506
1620
|
throw error;
|
|
1507
1621
|
}
|
|
1508
1622
|
}
|