@adaptic/backend-legacy 0.0.959 → 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.
Files changed (258) hide show
  1. package/ABTest.cjs +180 -66
  2. package/Account.cjs +180 -66
  3. package/AccountDecisionRecord.cjs +180 -66
  4. package/AccountLinkingRequest.cjs +180 -66
  5. package/Action.cjs +180 -66
  6. package/Alert.cjs +180 -66
  7. package/Allocation.cjs +180 -66
  8. package/AlpacaAccount.cjs +180 -66
  9. package/AnalyticsConfiguration.cjs +180 -66
  10. package/AnalyticsSnapshot.cjs +180 -66
  11. package/Asset.cjs +180 -66
  12. package/AuditLog.cjs +180 -66
  13. package/Authenticator.cjs +180 -66
  14. package/Configuration.cjs +180 -66
  15. package/ConflictEvent.cjs +180 -66
  16. package/ConnectionHealthSnapshot.cjs +180 -66
  17. package/Customer.cjs +180 -66
  18. package/DeadLetterMessage.cjs +180 -66
  19. package/DecisionMemorySummary.cjs +180 -66
  20. package/EconomicEvent.cjs +180 -66
  21. package/EquityBar.cjs +180 -66
  22. package/Event.cjs +180 -66
  23. package/EventSnapshot.cjs +180 -66
  24. package/FeatureImportanceAnalysis.cjs +180 -66
  25. package/InstitutionalFlowSignal.cjs +180 -66
  26. package/InstitutionalHolding.cjs +180 -66
  27. package/InstitutionalSentimentAlerts.cjs +180 -66
  28. package/InstitutionalSentimentErrors.cjs +180 -66
  29. package/InstitutionalSentimentHistory.cjs +180 -66
  30. package/InstitutionalSentimentMetrics.cjs +180 -66
  31. package/InviteToken.cjs +180 -66
  32. package/LinkedProvider.cjs +180 -66
  33. package/LlmConfiguration.cjs +180 -66
  34. package/MLModelVersion.cjs +180 -66
  35. package/MLTrainingData.cjs +180 -66
  36. package/MarketSentiment.cjs +180 -66
  37. package/ModelArtifact.cjs +180 -66
  38. package/ModelVersion.cjs +180 -66
  39. package/ModelVersionArtifact.cjs +180 -66
  40. package/NewsArticle.cjs +180 -66
  41. package/NewsArticleAssetSentiment.cjs +180 -66
  42. package/OptionsContract.cjs +180 -66
  43. package/OptionsGreeksHistory.cjs +180 -66
  44. package/OptionsPosition.cjs +180 -66
  45. package/OptionsPositionEvent.cjs +180 -66
  46. package/OptionsTradeExecution.cjs +180 -66
  47. package/PolicyOverlay.cjs +180 -66
  48. package/PortfolioGreeksHistory.cjs +180 -66
  49. package/ScheduledOptionOrder.cjs +180 -66
  50. package/Session.cjs +180 -66
  51. package/SignalGeneratorMetrics.cjs +180 -66
  52. package/SignalLineage.cjs +180 -66
  53. package/SignalOutcome.cjs +180 -66
  54. package/SignalPriorityQueue.cjs +180 -66
  55. package/SyncEvent.cjs +180 -66
  56. package/SystemAlert.cjs +180 -66
  57. package/Trade.cjs +180 -66
  58. package/TradeAuditEvent.cjs +180 -66
  59. package/TradeExecutionHistory.cjs +180 -66
  60. package/TradeOutcome.cjs +180 -66
  61. package/TradingPolicy.cjs +180 -66
  62. package/User.cjs +180 -66
  63. package/VerificationToken.cjs +180 -66
  64. package/WaitlistEntry.cjs +180 -66
  65. package/esm/ABTest.d.ts.map +1 -1
  66. package/esm/ABTest.js.map +1 -1
  67. package/esm/ABTest.mjs +180 -66
  68. package/esm/Account.d.ts.map +1 -1
  69. package/esm/Account.js.map +1 -1
  70. package/esm/Account.mjs +180 -66
  71. package/esm/AccountDecisionRecord.d.ts.map +1 -1
  72. package/esm/AccountDecisionRecord.js.map +1 -1
  73. package/esm/AccountDecisionRecord.mjs +180 -66
  74. package/esm/AccountLinkingRequest.d.ts.map +1 -1
  75. package/esm/AccountLinkingRequest.js.map +1 -1
  76. package/esm/AccountLinkingRequest.mjs +180 -66
  77. package/esm/Action.d.ts.map +1 -1
  78. package/esm/Action.js.map +1 -1
  79. package/esm/Action.mjs +180 -66
  80. package/esm/Alert.d.ts.map +1 -1
  81. package/esm/Alert.js.map +1 -1
  82. package/esm/Alert.mjs +180 -66
  83. package/esm/Allocation.d.ts.map +1 -1
  84. package/esm/Allocation.js.map +1 -1
  85. package/esm/Allocation.mjs +180 -66
  86. package/esm/AlpacaAccount.d.ts.map +1 -1
  87. package/esm/AlpacaAccount.js.map +1 -1
  88. package/esm/AlpacaAccount.mjs +180 -66
  89. package/esm/AnalyticsConfiguration.d.ts.map +1 -1
  90. package/esm/AnalyticsConfiguration.js.map +1 -1
  91. package/esm/AnalyticsConfiguration.mjs +180 -66
  92. package/esm/AnalyticsSnapshot.d.ts.map +1 -1
  93. package/esm/AnalyticsSnapshot.js.map +1 -1
  94. package/esm/AnalyticsSnapshot.mjs +180 -66
  95. package/esm/Asset.d.ts.map +1 -1
  96. package/esm/Asset.js.map +1 -1
  97. package/esm/Asset.mjs +180 -66
  98. package/esm/AuditLog.d.ts.map +1 -1
  99. package/esm/AuditLog.js.map +1 -1
  100. package/esm/AuditLog.mjs +180 -66
  101. package/esm/Authenticator.d.ts.map +1 -1
  102. package/esm/Authenticator.js.map +1 -1
  103. package/esm/Authenticator.mjs +180 -66
  104. package/esm/Configuration.d.ts.map +1 -1
  105. package/esm/Configuration.js.map +1 -1
  106. package/esm/Configuration.mjs +180 -66
  107. package/esm/ConflictEvent.d.ts.map +1 -1
  108. package/esm/ConflictEvent.js.map +1 -1
  109. package/esm/ConflictEvent.mjs +180 -66
  110. package/esm/ConnectionHealthSnapshot.d.ts.map +1 -1
  111. package/esm/ConnectionHealthSnapshot.js.map +1 -1
  112. package/esm/ConnectionHealthSnapshot.mjs +180 -66
  113. package/esm/Customer.d.ts.map +1 -1
  114. package/esm/Customer.js.map +1 -1
  115. package/esm/Customer.mjs +180 -66
  116. package/esm/DeadLetterMessage.d.ts.map +1 -1
  117. package/esm/DeadLetterMessage.js.map +1 -1
  118. package/esm/DeadLetterMessage.mjs +180 -66
  119. package/esm/DecisionMemorySummary.d.ts.map +1 -1
  120. package/esm/DecisionMemorySummary.js.map +1 -1
  121. package/esm/DecisionMemorySummary.mjs +180 -66
  122. package/esm/EconomicEvent.d.ts.map +1 -1
  123. package/esm/EconomicEvent.js.map +1 -1
  124. package/esm/EconomicEvent.mjs +180 -66
  125. package/esm/EquityBar.d.ts.map +1 -1
  126. package/esm/EquityBar.js.map +1 -1
  127. package/esm/EquityBar.mjs +180 -66
  128. package/esm/Event.d.ts.map +1 -1
  129. package/esm/Event.js.map +1 -1
  130. package/esm/Event.mjs +180 -66
  131. package/esm/EventSnapshot.d.ts.map +1 -1
  132. package/esm/EventSnapshot.js.map +1 -1
  133. package/esm/EventSnapshot.mjs +180 -66
  134. package/esm/FeatureImportanceAnalysis.d.ts.map +1 -1
  135. package/esm/FeatureImportanceAnalysis.js.map +1 -1
  136. package/esm/FeatureImportanceAnalysis.mjs +180 -66
  137. package/esm/InstitutionalFlowSignal.d.ts.map +1 -1
  138. package/esm/InstitutionalFlowSignal.js.map +1 -1
  139. package/esm/InstitutionalFlowSignal.mjs +180 -66
  140. package/esm/InstitutionalHolding.d.ts.map +1 -1
  141. package/esm/InstitutionalHolding.js.map +1 -1
  142. package/esm/InstitutionalHolding.mjs +180 -66
  143. package/esm/InstitutionalSentimentAlerts.d.ts.map +1 -1
  144. package/esm/InstitutionalSentimentAlerts.js.map +1 -1
  145. package/esm/InstitutionalSentimentAlerts.mjs +180 -66
  146. package/esm/InstitutionalSentimentErrors.d.ts.map +1 -1
  147. package/esm/InstitutionalSentimentErrors.js.map +1 -1
  148. package/esm/InstitutionalSentimentErrors.mjs +180 -66
  149. package/esm/InstitutionalSentimentHistory.d.ts.map +1 -1
  150. package/esm/InstitutionalSentimentHistory.js.map +1 -1
  151. package/esm/InstitutionalSentimentHistory.mjs +180 -66
  152. package/esm/InstitutionalSentimentMetrics.d.ts.map +1 -1
  153. package/esm/InstitutionalSentimentMetrics.js.map +1 -1
  154. package/esm/InstitutionalSentimentMetrics.mjs +180 -66
  155. package/esm/InviteToken.d.ts.map +1 -1
  156. package/esm/InviteToken.js.map +1 -1
  157. package/esm/InviteToken.mjs +180 -66
  158. package/esm/LinkedProvider.d.ts.map +1 -1
  159. package/esm/LinkedProvider.js.map +1 -1
  160. package/esm/LinkedProvider.mjs +180 -66
  161. package/esm/LlmConfiguration.d.ts.map +1 -1
  162. package/esm/LlmConfiguration.js.map +1 -1
  163. package/esm/LlmConfiguration.mjs +180 -66
  164. package/esm/MLModelVersion.d.ts.map +1 -1
  165. package/esm/MLModelVersion.js.map +1 -1
  166. package/esm/MLModelVersion.mjs +180 -66
  167. package/esm/MLTrainingData.d.ts.map +1 -1
  168. package/esm/MLTrainingData.js.map +1 -1
  169. package/esm/MLTrainingData.mjs +180 -66
  170. package/esm/MarketSentiment.d.ts.map +1 -1
  171. package/esm/MarketSentiment.js.map +1 -1
  172. package/esm/MarketSentiment.mjs +180 -66
  173. package/esm/ModelArtifact.d.ts.map +1 -1
  174. package/esm/ModelArtifact.js.map +1 -1
  175. package/esm/ModelArtifact.mjs +180 -66
  176. package/esm/ModelVersion.d.ts.map +1 -1
  177. package/esm/ModelVersion.js.map +1 -1
  178. package/esm/ModelVersion.mjs +180 -66
  179. package/esm/ModelVersionArtifact.d.ts.map +1 -1
  180. package/esm/ModelVersionArtifact.js.map +1 -1
  181. package/esm/ModelVersionArtifact.mjs +180 -66
  182. package/esm/NewsArticle.d.ts.map +1 -1
  183. package/esm/NewsArticle.js.map +1 -1
  184. package/esm/NewsArticle.mjs +180 -66
  185. package/esm/NewsArticleAssetSentiment.d.ts.map +1 -1
  186. package/esm/NewsArticleAssetSentiment.js.map +1 -1
  187. package/esm/NewsArticleAssetSentiment.mjs +180 -66
  188. package/esm/OptionsContract.d.ts.map +1 -1
  189. package/esm/OptionsContract.js.map +1 -1
  190. package/esm/OptionsContract.mjs +180 -66
  191. package/esm/OptionsGreeksHistory.d.ts.map +1 -1
  192. package/esm/OptionsGreeksHistory.js.map +1 -1
  193. package/esm/OptionsGreeksHistory.mjs +180 -66
  194. package/esm/OptionsPosition.d.ts.map +1 -1
  195. package/esm/OptionsPosition.js.map +1 -1
  196. package/esm/OptionsPosition.mjs +180 -66
  197. package/esm/OptionsPositionEvent.d.ts.map +1 -1
  198. package/esm/OptionsPositionEvent.js.map +1 -1
  199. package/esm/OptionsPositionEvent.mjs +180 -66
  200. package/esm/OptionsTradeExecution.d.ts.map +1 -1
  201. package/esm/OptionsTradeExecution.js.map +1 -1
  202. package/esm/OptionsTradeExecution.mjs +180 -66
  203. package/esm/PolicyOverlay.d.ts.map +1 -1
  204. package/esm/PolicyOverlay.js.map +1 -1
  205. package/esm/PolicyOverlay.mjs +180 -66
  206. package/esm/PortfolioGreeksHistory.d.ts.map +1 -1
  207. package/esm/PortfolioGreeksHistory.js.map +1 -1
  208. package/esm/PortfolioGreeksHistory.mjs +180 -66
  209. package/esm/ScheduledOptionOrder.d.ts.map +1 -1
  210. package/esm/ScheduledOptionOrder.js.map +1 -1
  211. package/esm/ScheduledOptionOrder.mjs +180 -66
  212. package/esm/Session.d.ts.map +1 -1
  213. package/esm/Session.js.map +1 -1
  214. package/esm/Session.mjs +180 -66
  215. package/esm/SignalGeneratorMetrics.d.ts.map +1 -1
  216. package/esm/SignalGeneratorMetrics.js.map +1 -1
  217. package/esm/SignalGeneratorMetrics.mjs +180 -66
  218. package/esm/SignalLineage.d.ts.map +1 -1
  219. package/esm/SignalLineage.js.map +1 -1
  220. package/esm/SignalLineage.mjs +180 -66
  221. package/esm/SignalOutcome.d.ts.map +1 -1
  222. package/esm/SignalOutcome.js.map +1 -1
  223. package/esm/SignalOutcome.mjs +180 -66
  224. package/esm/SignalPriorityQueue.d.ts.map +1 -1
  225. package/esm/SignalPriorityQueue.js.map +1 -1
  226. package/esm/SignalPriorityQueue.mjs +180 -66
  227. package/esm/SyncEvent.d.ts.map +1 -1
  228. package/esm/SyncEvent.js.map +1 -1
  229. package/esm/SyncEvent.mjs +180 -66
  230. package/esm/SystemAlert.d.ts.map +1 -1
  231. package/esm/SystemAlert.js.map +1 -1
  232. package/esm/SystemAlert.mjs +180 -66
  233. package/esm/Trade.d.ts.map +1 -1
  234. package/esm/Trade.js.map +1 -1
  235. package/esm/Trade.mjs +180 -66
  236. package/esm/TradeAuditEvent.d.ts.map +1 -1
  237. package/esm/TradeAuditEvent.js.map +1 -1
  238. package/esm/TradeAuditEvent.mjs +180 -66
  239. package/esm/TradeExecutionHistory.d.ts.map +1 -1
  240. package/esm/TradeExecutionHistory.js.map +1 -1
  241. package/esm/TradeExecutionHistory.mjs +180 -66
  242. package/esm/TradeOutcome.d.ts.map +1 -1
  243. package/esm/TradeOutcome.js.map +1 -1
  244. package/esm/TradeOutcome.mjs +180 -66
  245. package/esm/TradingPolicy.d.ts.map +1 -1
  246. package/esm/TradingPolicy.js.map +1 -1
  247. package/esm/TradingPolicy.mjs +180 -66
  248. package/esm/User.d.ts.map +1 -1
  249. package/esm/User.js.map +1 -1
  250. package/esm/User.mjs +180 -66
  251. package/esm/VerificationToken.d.ts.map +1 -1
  252. package/esm/VerificationToken.js.map +1 -1
  253. package/esm/VerificationToken.mjs +180 -66
  254. package/esm/WaitlistEntry.d.ts.map +1 -1
  255. package/esm/WaitlistEntry.js.map +1 -1
  256. package/esm/WaitlistEntry.mjs +180 -66
  257. package/esm/index.d.ts.map +1 -1
  258. package/package.json +1 -1
package/Trade.cjs CHANGED
@@ -236,13 +236,28 @@ exports.Trade = {
236
236
  await new Promise(resolve => setTimeout(resolve, delay));
237
237
  continue;
238
238
  }
239
- // Log structured error details and rethrow
240
- logger_1.logger.error("Database create operation failed", {
241
- operation: 'createOneTrade',
242
- model: 'Trade',
243
- error: String(error),
244
- isRetryable: isConnectionError,
245
- });
239
+ // Log structured error details and rethrow.
240
+ // Demote transient failures to WARN with explicit transient+recoveryHint
241
+ // metadata so log analytics can distinguish recoverable upstream retries
242
+ // from true defects.
243
+ if (isConnectionError) {
244
+ logger_1.logger.warn("Database create operation failed (transient after retries)", {
245
+ operation: 'createOneTrade',
246
+ model: 'Trade',
247
+ error: String(error),
248
+ isRetryable: true,
249
+ transient: true,
250
+ recoveryHint: "Upstream caller should retry on next cycle",
251
+ });
252
+ }
253
+ else {
254
+ logger_1.logger.error("Database create operation failed", {
255
+ operation: 'createOneTrade',
256
+ model: 'Trade',
257
+ error: String(error),
258
+ isRetryable: false,
259
+ });
260
+ }
246
261
  throw error;
247
262
  }
248
263
  }
@@ -388,13 +403,25 @@ exports.Trade = {
388
403
  await new Promise(resolve => setTimeout(resolve, delay));
389
404
  continue;
390
405
  }
391
- // Log structured error details and rethrow
392
- logger_1.logger.error("Database createMany operation failed", {
393
- operation: 'createManyTrade',
394
- model: 'Trade',
395
- error: String(error),
396
- isRetryable: isConnectionError,
397
- });
406
+ // Log structured error details and rethrow (transient -> WARN).
407
+ if (isConnectionError) {
408
+ logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
409
+ operation: 'createManyTrade',
410
+ model: 'Trade',
411
+ error: String(error),
412
+ isRetryable: true,
413
+ transient: true,
414
+ recoveryHint: "Upstream caller should retry on next cycle",
415
+ });
416
+ }
417
+ else {
418
+ logger_1.logger.error("Database createMany operation failed", {
419
+ operation: 'createManyTrade',
420
+ model: 'Trade',
421
+ error: String(error),
422
+ isRetryable: false,
423
+ });
424
+ }
398
425
  throw error;
399
426
  }
400
427
  }
@@ -676,14 +703,27 @@ exports.Trade = {
676
703
  await new Promise(resolve => setTimeout(resolve, delay));
677
704
  continue;
678
705
  }
679
- // Log structured error details and rethrow
680
- logger_1.logger.error("Database update operation failed", {
681
- operation: 'updateOneTrade',
682
- model: 'Trade',
683
- error: String(error),
684
- recordId: props.id,
685
- isRetryable: isConnectionError,
686
- });
706
+ // Log structured error details and rethrow (transient -> WARN).
707
+ if (isConnectionError) {
708
+ logger_1.logger.warn("Database update operation failed (transient after retries)", {
709
+ operation: 'updateOneTrade',
710
+ model: 'Trade',
711
+ error: String(error),
712
+ recordId: props.id,
713
+ isRetryable: true,
714
+ transient: true,
715
+ recoveryHint: "Upstream caller should retry on next cycle",
716
+ });
717
+ }
718
+ else {
719
+ logger_1.logger.error("Database update operation failed", {
720
+ operation: 'updateOneTrade',
721
+ model: 'Trade',
722
+ error: String(error),
723
+ recordId: props.id,
724
+ isRetryable: false,
725
+ });
726
+ }
687
727
  throw error;
688
728
  }
689
729
  }
@@ -1028,14 +1068,27 @@ exports.Trade = {
1028
1068
  await new Promise(resolve => setTimeout(resolve, delay));
1029
1069
  continue;
1030
1070
  }
1031
- // Log structured error details and rethrow
1032
- logger_1.logger.error("Database upsert operation failed", {
1033
- operation: 'upsertOneTrade',
1034
- model: 'Trade',
1035
- error: String(error),
1036
- recordId: props.id,
1037
- isRetryable: isConnectionError,
1038
- });
1071
+ // Log structured error details and rethrow (transient -> WARN).
1072
+ if (isConnectionError) {
1073
+ logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
1074
+ operation: 'upsertOneTrade',
1075
+ model: 'Trade',
1076
+ error: String(error),
1077
+ recordId: props.id,
1078
+ isRetryable: true,
1079
+ transient: true,
1080
+ recoveryHint: "Upstream caller should retry on next cycle",
1081
+ });
1082
+ }
1083
+ else {
1084
+ logger_1.logger.error("Database upsert operation failed", {
1085
+ operation: 'upsertOneTrade',
1086
+ model: 'Trade',
1087
+ error: String(error),
1088
+ recordId: props.id,
1089
+ isRetryable: false,
1090
+ });
1091
+ }
1039
1092
  throw error;
1040
1093
  }
1041
1094
  }
@@ -1315,13 +1368,25 @@ exports.Trade = {
1315
1368
  await new Promise(resolve => setTimeout(resolve, delay));
1316
1369
  continue;
1317
1370
  }
1318
- // Log structured error details and rethrow
1319
- logger_1.logger.error("Database updateMany operation failed", {
1320
- operation: 'updateManyTrade',
1321
- model: 'Trade',
1322
- error: String(error),
1323
- isRetryable: isConnectionError,
1324
- });
1371
+ // Log structured error details and rethrow (transient -> WARN).
1372
+ if (isConnectionError) {
1373
+ logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
1374
+ operation: 'updateManyTrade',
1375
+ model: 'Trade',
1376
+ error: String(error),
1377
+ isRetryable: true,
1378
+ transient: true,
1379
+ recoveryHint: "Upstream caller should retry on next cycle",
1380
+ });
1381
+ }
1382
+ else {
1383
+ logger_1.logger.error("Database updateMany operation failed", {
1384
+ operation: 'updateManyTrade',
1385
+ model: 'Trade',
1386
+ error: String(error),
1387
+ isRetryable: false,
1388
+ });
1389
+ }
1325
1390
  throw error;
1326
1391
  }
1327
1392
  }
@@ -1444,14 +1509,27 @@ exports.Trade = {
1444
1509
  await new Promise(resolve => setTimeout(resolve, delay));
1445
1510
  continue;
1446
1511
  }
1447
- // Log structured error details and rethrow
1448
- logger_1.logger.error("Database delete operation failed", {
1449
- operation: 'deleteOneTrade',
1450
- model: 'Trade',
1451
- error: String(error),
1452
- recordId: props.id,
1453
- isRetryable: isConnectionError,
1454
- });
1512
+ // Log structured error details and rethrow (transient -> WARN).
1513
+ if (isConnectionError) {
1514
+ logger_1.logger.warn("Database delete operation failed (transient after retries)", {
1515
+ operation: 'deleteOneTrade',
1516
+ model: 'Trade',
1517
+ error: String(error),
1518
+ recordId: props.id,
1519
+ isRetryable: true,
1520
+ transient: true,
1521
+ recoveryHint: "Upstream caller should retry on next cycle",
1522
+ });
1523
+ }
1524
+ else {
1525
+ logger_1.logger.error("Database delete operation failed", {
1526
+ operation: 'deleteOneTrade',
1527
+ model: 'Trade',
1528
+ error: String(error),
1529
+ recordId: props.id,
1530
+ isRetryable: false,
1531
+ });
1532
+ }
1455
1533
  throw error;
1456
1534
  }
1457
1535
  }
@@ -1556,13 +1634,25 @@ exports.Trade = {
1556
1634
  await new Promise(resolve => setTimeout(resolve, delay));
1557
1635
  continue;
1558
1636
  }
1559
- // Log structured error details and rethrow
1560
- logger_1.logger.error("Database get operation failed", {
1561
- operation: 'getTrade',
1562
- model: 'Trade',
1563
- error: String(error),
1564
- isRetryable: isConnectionError,
1565
- });
1637
+ // Log structured error details and rethrow (transient -> WARN).
1638
+ if (isConnectionError) {
1639
+ logger_1.logger.warn("Database get operation failed (transient after retries)", {
1640
+ operation: 'getTrade',
1641
+ model: 'Trade',
1642
+ error: String(error),
1643
+ isRetryable: true,
1644
+ transient: true,
1645
+ recoveryHint: "Upstream caller should retry on next cycle",
1646
+ });
1647
+ }
1648
+ else {
1649
+ logger_1.logger.error("Database get operation failed", {
1650
+ operation: 'getTrade',
1651
+ model: 'Trade',
1652
+ error: String(error),
1653
+ isRetryable: false,
1654
+ });
1655
+ }
1566
1656
  throw error;
1567
1657
  }
1568
1658
  }
@@ -1649,13 +1739,25 @@ exports.Trade = {
1649
1739
  await new Promise(resolve => setTimeout(resolve, delay));
1650
1740
  continue;
1651
1741
  }
1652
- // Log structured error details and rethrow
1653
- logger_1.logger.error("Database getAll operation failed", {
1654
- operation: 'getAllTrade',
1655
- model: 'Trade',
1656
- error: String(error),
1657
- isRetryable: isConnectionError,
1658
- });
1742
+ // Log structured error details and rethrow (transient -> WARN).
1743
+ if (isConnectionError) {
1744
+ logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
1745
+ operation: 'getAllTrade',
1746
+ model: 'Trade',
1747
+ error: String(error),
1748
+ isRetryable: true,
1749
+ transient: true,
1750
+ recoveryHint: "Upstream caller should retry on next cycle",
1751
+ });
1752
+ }
1753
+ else {
1754
+ logger_1.logger.error("Database getAll operation failed", {
1755
+ operation: 'getAllTrade',
1756
+ model: 'Trade',
1757
+ error: String(error),
1758
+ isRetryable: false,
1759
+ });
1760
+ }
1659
1761
  throw error;
1660
1762
  }
1661
1763
  }
@@ -1772,13 +1874,25 @@ exports.Trade = {
1772
1874
  await new Promise(resolve => setTimeout(resolve, delay));
1773
1875
  continue;
1774
1876
  }
1775
- // Log structured error details and rethrow
1776
- logger_1.logger.error("Database findMany operation failed", {
1777
- operation: 'findManyTrade',
1778
- model: 'Trade',
1779
- error: String(error),
1780
- isRetryable: isConnectionError,
1781
- });
1877
+ // Log structured error details and rethrow (transient -> WARN).
1878
+ if (isConnectionError) {
1879
+ logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
1880
+ operation: 'findManyTrade',
1881
+ model: 'Trade',
1882
+ error: String(error),
1883
+ isRetryable: true,
1884
+ transient: true,
1885
+ recoveryHint: "Upstream caller should retry on next cycle",
1886
+ });
1887
+ }
1888
+ else {
1889
+ logger_1.logger.error("Database findMany operation failed", {
1890
+ operation: 'findManyTrade',
1891
+ model: 'Trade',
1892
+ error: String(error),
1893
+ isRetryable: false,
1894
+ });
1895
+ }
1782
1896
  throw error;
1783
1897
  }
1784
1898
  }
@@ -175,13 +175,28 @@ exports.TradeAuditEvent = {
175
175
  await new Promise(resolve => setTimeout(resolve, delay));
176
176
  continue;
177
177
  }
178
- // Log structured error details and rethrow
179
- logger_1.logger.error("Database create operation failed", {
180
- operation: 'createOneTradeAuditEvent',
181
- model: 'TradeAuditEvent',
182
- error: String(error),
183
- isRetryable: isConnectionError,
184
- });
178
+ // Log structured error details and rethrow.
179
+ // Demote transient failures to WARN with explicit transient+recoveryHint
180
+ // metadata so log analytics can distinguish recoverable upstream retries
181
+ // from true defects.
182
+ if (isConnectionError) {
183
+ logger_1.logger.warn("Database create operation failed (transient after retries)", {
184
+ operation: 'createOneTradeAuditEvent',
185
+ model: 'TradeAuditEvent',
186
+ error: String(error),
187
+ isRetryable: true,
188
+ transient: true,
189
+ recoveryHint: "Upstream caller should retry on next cycle",
190
+ });
191
+ }
192
+ else {
193
+ logger_1.logger.error("Database create operation failed", {
194
+ operation: 'createOneTradeAuditEvent',
195
+ model: 'TradeAuditEvent',
196
+ error: String(error),
197
+ isRetryable: false,
198
+ });
199
+ }
185
200
  throw error;
186
201
  }
187
202
  }
@@ -321,13 +336,25 @@ exports.TradeAuditEvent = {
321
336
  await new Promise(resolve => setTimeout(resolve, delay));
322
337
  continue;
323
338
  }
324
- // Log structured error details and rethrow
325
- logger_1.logger.error("Database createMany operation failed", {
326
- operation: 'createManyTradeAuditEvent',
327
- model: 'TradeAuditEvent',
328
- error: String(error),
329
- isRetryable: isConnectionError,
330
- });
339
+ // Log structured error details and rethrow (transient -> WARN).
340
+ if (isConnectionError) {
341
+ logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
342
+ operation: 'createManyTradeAuditEvent',
343
+ model: 'TradeAuditEvent',
344
+ error: String(error),
345
+ isRetryable: true,
346
+ transient: true,
347
+ recoveryHint: "Upstream caller should retry on next cycle",
348
+ });
349
+ }
350
+ else {
351
+ logger_1.logger.error("Database createMany operation failed", {
352
+ operation: 'createManyTradeAuditEvent',
353
+ model: 'TradeAuditEvent',
354
+ error: String(error),
355
+ isRetryable: false,
356
+ });
357
+ }
331
358
  throw error;
332
359
  }
333
360
  }
@@ -511,14 +538,27 @@ exports.TradeAuditEvent = {
511
538
  await new Promise(resolve => setTimeout(resolve, delay));
512
539
  continue;
513
540
  }
514
- // Log structured error details and rethrow
515
- logger_1.logger.error("Database update operation failed", {
516
- operation: 'updateOneTradeAuditEvent',
517
- model: 'TradeAuditEvent',
518
- error: String(error),
519
- recordId: props.id,
520
- isRetryable: isConnectionError,
521
- });
541
+ // Log structured error details and rethrow (transient -> WARN).
542
+ if (isConnectionError) {
543
+ logger_1.logger.warn("Database update operation failed (transient after retries)", {
544
+ operation: 'updateOneTradeAuditEvent',
545
+ model: 'TradeAuditEvent',
546
+ error: String(error),
547
+ recordId: props.id,
548
+ isRetryable: true,
549
+ transient: true,
550
+ recoveryHint: "Upstream caller should retry on next cycle",
551
+ });
552
+ }
553
+ else {
554
+ logger_1.logger.error("Database update operation failed", {
555
+ operation: 'updateOneTradeAuditEvent',
556
+ model: 'TradeAuditEvent',
557
+ error: String(error),
558
+ recordId: props.id,
559
+ isRetryable: false,
560
+ });
561
+ }
522
562
  throw error;
523
563
  }
524
564
  }
@@ -745,14 +785,27 @@ exports.TradeAuditEvent = {
745
785
  await new Promise(resolve => setTimeout(resolve, delay));
746
786
  continue;
747
787
  }
748
- // Log structured error details and rethrow
749
- logger_1.logger.error("Database upsert operation failed", {
750
- operation: 'upsertOneTradeAuditEvent',
751
- model: 'TradeAuditEvent',
752
- error: String(error),
753
- recordId: props.id,
754
- isRetryable: isConnectionError,
755
- });
788
+ // Log structured error details and rethrow (transient -> WARN).
789
+ if (isConnectionError) {
790
+ logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
791
+ operation: 'upsertOneTradeAuditEvent',
792
+ model: 'TradeAuditEvent',
793
+ error: String(error),
794
+ recordId: props.id,
795
+ isRetryable: true,
796
+ transient: true,
797
+ recoveryHint: "Upstream caller should retry on next cycle",
798
+ });
799
+ }
800
+ else {
801
+ logger_1.logger.error("Database upsert operation failed", {
802
+ operation: 'upsertOneTradeAuditEvent',
803
+ model: 'TradeAuditEvent',
804
+ error: String(error),
805
+ recordId: props.id,
806
+ isRetryable: false,
807
+ });
808
+ }
756
809
  throw error;
757
810
  }
758
811
  }
@@ -934,13 +987,25 @@ exports.TradeAuditEvent = {
934
987
  await new Promise(resolve => setTimeout(resolve, delay));
935
988
  continue;
936
989
  }
937
- // Log structured error details and rethrow
938
- logger_1.logger.error("Database updateMany operation failed", {
939
- operation: 'updateManyTradeAuditEvent',
940
- model: 'TradeAuditEvent',
941
- error: String(error),
942
- isRetryable: isConnectionError,
943
- });
990
+ // Log structured error details and rethrow (transient -> WARN).
991
+ if (isConnectionError) {
992
+ logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
993
+ operation: 'updateManyTradeAuditEvent',
994
+ model: 'TradeAuditEvent',
995
+ error: String(error),
996
+ isRetryable: true,
997
+ transient: true,
998
+ recoveryHint: "Upstream caller should retry on next cycle",
999
+ });
1000
+ }
1001
+ else {
1002
+ logger_1.logger.error("Database updateMany operation failed", {
1003
+ operation: 'updateManyTradeAuditEvent',
1004
+ model: 'TradeAuditEvent',
1005
+ error: String(error),
1006
+ isRetryable: false,
1007
+ });
1008
+ }
944
1009
  throw error;
945
1010
  }
946
1011
  }
@@ -1063,14 +1128,27 @@ exports.TradeAuditEvent = {
1063
1128
  await new Promise(resolve => setTimeout(resolve, delay));
1064
1129
  continue;
1065
1130
  }
1066
- // Log structured error details and rethrow
1067
- logger_1.logger.error("Database delete operation failed", {
1068
- operation: 'deleteOneTradeAuditEvent',
1069
- model: 'TradeAuditEvent',
1070
- error: String(error),
1071
- recordId: props.id,
1072
- isRetryable: isConnectionError,
1073
- });
1131
+ // Log structured error details and rethrow (transient -> WARN).
1132
+ if (isConnectionError) {
1133
+ logger_1.logger.warn("Database delete operation failed (transient after retries)", {
1134
+ operation: 'deleteOneTradeAuditEvent',
1135
+ model: 'TradeAuditEvent',
1136
+ error: String(error),
1137
+ recordId: props.id,
1138
+ isRetryable: true,
1139
+ transient: true,
1140
+ recoveryHint: "Upstream caller should retry on next cycle",
1141
+ });
1142
+ }
1143
+ else {
1144
+ logger_1.logger.error("Database delete operation failed", {
1145
+ operation: 'deleteOneTradeAuditEvent',
1146
+ model: 'TradeAuditEvent',
1147
+ error: String(error),
1148
+ recordId: props.id,
1149
+ isRetryable: false,
1150
+ });
1151
+ }
1074
1152
  throw error;
1075
1153
  }
1076
1154
  }
@@ -1191,13 +1269,25 @@ exports.TradeAuditEvent = {
1191
1269
  await new Promise(resolve => setTimeout(resolve, delay));
1192
1270
  continue;
1193
1271
  }
1194
- // Log structured error details and rethrow
1195
- logger_1.logger.error("Database get operation failed", {
1196
- operation: 'getTradeAuditEvent',
1197
- model: 'TradeAuditEvent',
1198
- error: String(error),
1199
- isRetryable: isConnectionError,
1200
- });
1272
+ // Log structured error details and rethrow (transient -> WARN).
1273
+ if (isConnectionError) {
1274
+ logger_1.logger.warn("Database get operation failed (transient after retries)", {
1275
+ operation: 'getTradeAuditEvent',
1276
+ model: 'TradeAuditEvent',
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 get operation failed", {
1285
+ operation: 'getTradeAuditEvent',
1286
+ model: 'TradeAuditEvent',
1287
+ error: String(error),
1288
+ isRetryable: false,
1289
+ });
1290
+ }
1201
1291
  throw error;
1202
1292
  }
1203
1293
  }
@@ -1284,13 +1374,25 @@ exports.TradeAuditEvent = {
1284
1374
  await new Promise(resolve => setTimeout(resolve, delay));
1285
1375
  continue;
1286
1376
  }
1287
- // Log structured error details and rethrow
1288
- logger_1.logger.error("Database getAll operation failed", {
1289
- operation: 'getAllTradeAuditEvent',
1290
- model: 'TradeAuditEvent',
1291
- error: String(error),
1292
- isRetryable: isConnectionError,
1293
- });
1377
+ // Log structured error details and rethrow (transient -> WARN).
1378
+ if (isConnectionError) {
1379
+ logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
1380
+ operation: 'getAllTradeAuditEvent',
1381
+ model: 'TradeAuditEvent',
1382
+ error: String(error),
1383
+ isRetryable: true,
1384
+ transient: true,
1385
+ recoveryHint: "Upstream caller should retry on next cycle",
1386
+ });
1387
+ }
1388
+ else {
1389
+ logger_1.logger.error("Database getAll operation failed", {
1390
+ operation: 'getAllTradeAuditEvent',
1391
+ model: 'TradeAuditEvent',
1392
+ error: String(error),
1393
+ isRetryable: false,
1394
+ });
1395
+ }
1294
1396
  throw error;
1295
1397
  }
1296
1398
  }
@@ -1425,13 +1527,25 @@ exports.TradeAuditEvent = {
1425
1527
  await new Promise(resolve => setTimeout(resolve, delay));
1426
1528
  continue;
1427
1529
  }
1428
- // Log structured error details and rethrow
1429
- logger_1.logger.error("Database findMany operation failed", {
1430
- operation: 'findManyTradeAuditEvent',
1431
- model: 'TradeAuditEvent',
1432
- error: String(error),
1433
- isRetryable: isConnectionError,
1434
- });
1530
+ // Log structured error details and rethrow (transient -> WARN).
1531
+ if (isConnectionError) {
1532
+ logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
1533
+ operation: 'findManyTradeAuditEvent',
1534
+ model: 'TradeAuditEvent',
1535
+ error: String(error),
1536
+ isRetryable: true,
1537
+ transient: true,
1538
+ recoveryHint: "Upstream caller should retry on next cycle",
1539
+ });
1540
+ }
1541
+ else {
1542
+ logger_1.logger.error("Database findMany operation failed", {
1543
+ operation: 'findManyTradeAuditEvent',
1544
+ model: 'TradeAuditEvent',
1545
+ error: String(error),
1546
+ isRetryable: false,
1547
+ });
1548
+ }
1435
1549
  throw error;
1436
1550
  }
1437
1551
  }