@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
@@ -298,13 +298,28 @@ exports.NewsArticleAssetSentiment = {
298
298
  await new Promise(resolve => setTimeout(resolve, delay));
299
299
  continue;
300
300
  }
301
- // Log structured error details and rethrow
302
- logger_1.logger.error("Database create operation failed", {
303
- operation: 'createOneNewsArticleAssetSentiment',
304
- model: 'NewsArticleAssetSentiment',
305
- error: String(error),
306
- isRetryable: isConnectionError,
307
- });
301
+ // Log structured error details and rethrow.
302
+ // Demote transient failures to WARN with explicit transient+recoveryHint
303
+ // metadata so log analytics can distinguish recoverable upstream retries
304
+ // from true defects.
305
+ if (isConnectionError) {
306
+ logger_1.logger.warn("Database create operation failed (transient after retries)", {
307
+ operation: 'createOneNewsArticleAssetSentiment',
308
+ model: 'NewsArticleAssetSentiment',
309
+ error: String(error),
310
+ isRetryable: true,
311
+ transient: true,
312
+ recoveryHint: "Upstream caller should retry on next cycle",
313
+ });
314
+ }
315
+ else {
316
+ logger_1.logger.error("Database create operation failed", {
317
+ operation: 'createOneNewsArticleAssetSentiment',
318
+ model: 'NewsArticleAssetSentiment',
319
+ error: String(error),
320
+ isRetryable: false,
321
+ });
322
+ }
308
323
  throw error;
309
324
  }
310
325
  }
@@ -428,13 +443,25 @@ exports.NewsArticleAssetSentiment = {
428
443
  await new Promise(resolve => setTimeout(resolve, delay));
429
444
  continue;
430
445
  }
431
- // Log structured error details and rethrow
432
- logger_1.logger.error("Database createMany operation failed", {
433
- operation: 'createManyNewsArticleAssetSentiment',
434
- model: 'NewsArticleAssetSentiment',
435
- error: String(error),
436
- isRetryable: isConnectionError,
437
- });
446
+ // Log structured error details and rethrow (transient -> WARN).
447
+ if (isConnectionError) {
448
+ logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
449
+ operation: 'createManyNewsArticleAssetSentiment',
450
+ model: 'NewsArticleAssetSentiment',
451
+ error: String(error),
452
+ isRetryable: true,
453
+ transient: true,
454
+ recoveryHint: "Upstream caller should retry on next cycle",
455
+ });
456
+ }
457
+ else {
458
+ logger_1.logger.error("Database createMany operation failed", {
459
+ operation: 'createManyNewsArticleAssetSentiment',
460
+ model: 'NewsArticleAssetSentiment',
461
+ error: String(error),
462
+ isRetryable: false,
463
+ });
464
+ }
438
465
  throw error;
439
466
  }
440
467
  }
@@ -1051,14 +1078,27 @@ exports.NewsArticleAssetSentiment = {
1051
1078
  await new Promise(resolve => setTimeout(resolve, delay));
1052
1079
  continue;
1053
1080
  }
1054
- // Log structured error details and rethrow
1055
- logger_1.logger.error("Database update operation failed", {
1056
- operation: 'updateOneNewsArticleAssetSentiment',
1057
- model: 'NewsArticleAssetSentiment',
1058
- error: String(error),
1059
- recordId: props.id,
1060
- isRetryable: isConnectionError,
1061
- });
1081
+ // Log structured error details and rethrow (transient -> WARN).
1082
+ if (isConnectionError) {
1083
+ logger_1.logger.warn("Database update operation failed (transient after retries)", {
1084
+ operation: 'updateOneNewsArticleAssetSentiment',
1085
+ model: 'NewsArticleAssetSentiment',
1086
+ error: String(error),
1087
+ recordId: props.id,
1088
+ isRetryable: true,
1089
+ transient: true,
1090
+ recoveryHint: "Upstream caller should retry on next cycle",
1091
+ });
1092
+ }
1093
+ else {
1094
+ logger_1.logger.error("Database update operation failed", {
1095
+ operation: 'updateOneNewsArticleAssetSentiment',
1096
+ model: 'NewsArticleAssetSentiment',
1097
+ error: String(error),
1098
+ recordId: props.id,
1099
+ isRetryable: false,
1100
+ });
1101
+ }
1062
1102
  throw error;
1063
1103
  }
1064
1104
  }
@@ -1840,14 +1880,27 @@ exports.NewsArticleAssetSentiment = {
1840
1880
  await new Promise(resolve => setTimeout(resolve, delay));
1841
1881
  continue;
1842
1882
  }
1843
- // Log structured error details and rethrow
1844
- logger_1.logger.error("Database upsert operation failed", {
1845
- operation: 'upsertOneNewsArticleAssetSentiment',
1846
- model: 'NewsArticleAssetSentiment',
1847
- error: String(error),
1848
- recordId: props.id,
1849
- isRetryable: isConnectionError,
1850
- });
1883
+ // Log structured error details and rethrow (transient -> WARN).
1884
+ if (isConnectionError) {
1885
+ logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
1886
+ operation: 'upsertOneNewsArticleAssetSentiment',
1887
+ model: 'NewsArticleAssetSentiment',
1888
+ error: String(error),
1889
+ recordId: props.id,
1890
+ isRetryable: true,
1891
+ transient: true,
1892
+ recoveryHint: "Upstream caller should retry on next cycle",
1893
+ });
1894
+ }
1895
+ else {
1896
+ logger_1.logger.error("Database upsert operation failed", {
1897
+ operation: 'upsertOneNewsArticleAssetSentiment',
1898
+ model: 'NewsArticleAssetSentiment',
1899
+ error: String(error),
1900
+ recordId: props.id,
1901
+ isRetryable: false,
1902
+ });
1903
+ }
1851
1904
  throw error;
1852
1905
  }
1853
1906
  }
@@ -2462,13 +2515,25 @@ exports.NewsArticleAssetSentiment = {
2462
2515
  await new Promise(resolve => setTimeout(resolve, delay));
2463
2516
  continue;
2464
2517
  }
2465
- // Log structured error details and rethrow
2466
- logger_1.logger.error("Database updateMany operation failed", {
2467
- operation: 'updateManyNewsArticleAssetSentiment',
2468
- model: 'NewsArticleAssetSentiment',
2469
- error: String(error),
2470
- isRetryable: isConnectionError,
2471
- });
2518
+ // Log structured error details and rethrow (transient -> WARN).
2519
+ if (isConnectionError) {
2520
+ logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
2521
+ operation: 'updateManyNewsArticleAssetSentiment',
2522
+ model: 'NewsArticleAssetSentiment',
2523
+ error: String(error),
2524
+ isRetryable: true,
2525
+ transient: true,
2526
+ recoveryHint: "Upstream caller should retry on next cycle",
2527
+ });
2528
+ }
2529
+ else {
2530
+ logger_1.logger.error("Database updateMany operation failed", {
2531
+ operation: 'updateManyNewsArticleAssetSentiment',
2532
+ model: 'NewsArticleAssetSentiment',
2533
+ error: String(error),
2534
+ isRetryable: false,
2535
+ });
2536
+ }
2472
2537
  throw error;
2473
2538
  }
2474
2539
  }
@@ -2591,14 +2656,27 @@ exports.NewsArticleAssetSentiment = {
2591
2656
  await new Promise(resolve => setTimeout(resolve, delay));
2592
2657
  continue;
2593
2658
  }
2594
- // Log structured error details and rethrow
2595
- logger_1.logger.error("Database delete operation failed", {
2596
- operation: 'deleteOneNewsArticleAssetSentiment',
2597
- model: 'NewsArticleAssetSentiment',
2598
- error: String(error),
2599
- recordId: props.id,
2600
- isRetryable: isConnectionError,
2601
- });
2659
+ // Log structured error details and rethrow (transient -> WARN).
2660
+ if (isConnectionError) {
2661
+ logger_1.logger.warn("Database delete operation failed (transient after retries)", {
2662
+ operation: 'deleteOneNewsArticleAssetSentiment',
2663
+ model: 'NewsArticleAssetSentiment',
2664
+ error: String(error),
2665
+ recordId: props.id,
2666
+ isRetryable: true,
2667
+ transient: true,
2668
+ recoveryHint: "Upstream caller should retry on next cycle",
2669
+ });
2670
+ }
2671
+ else {
2672
+ logger_1.logger.error("Database delete operation failed", {
2673
+ operation: 'deleteOneNewsArticleAssetSentiment',
2674
+ model: 'NewsArticleAssetSentiment',
2675
+ error: String(error),
2676
+ recordId: props.id,
2677
+ isRetryable: false,
2678
+ });
2679
+ }
2602
2680
  throw error;
2603
2681
  }
2604
2682
  }
@@ -2698,13 +2776,25 @@ exports.NewsArticleAssetSentiment = {
2698
2776
  await new Promise(resolve => setTimeout(resolve, delay));
2699
2777
  continue;
2700
2778
  }
2701
- // Log structured error details and rethrow
2702
- logger_1.logger.error("Database get operation failed", {
2703
- operation: 'getNewsArticleAssetSentiment',
2704
- model: 'NewsArticleAssetSentiment',
2705
- error: String(error),
2706
- isRetryable: isConnectionError,
2707
- });
2779
+ // Log structured error details and rethrow (transient -> WARN).
2780
+ if (isConnectionError) {
2781
+ logger_1.logger.warn("Database get operation failed (transient after retries)", {
2782
+ operation: 'getNewsArticleAssetSentiment',
2783
+ model: 'NewsArticleAssetSentiment',
2784
+ error: String(error),
2785
+ isRetryable: true,
2786
+ transient: true,
2787
+ recoveryHint: "Upstream caller should retry on next cycle",
2788
+ });
2789
+ }
2790
+ else {
2791
+ logger_1.logger.error("Database get operation failed", {
2792
+ operation: 'getNewsArticleAssetSentiment',
2793
+ model: 'NewsArticleAssetSentiment',
2794
+ error: String(error),
2795
+ isRetryable: false,
2796
+ });
2797
+ }
2708
2798
  throw error;
2709
2799
  }
2710
2800
  }
@@ -2791,13 +2881,25 @@ exports.NewsArticleAssetSentiment = {
2791
2881
  await new Promise(resolve => setTimeout(resolve, delay));
2792
2882
  continue;
2793
2883
  }
2794
- // Log structured error details and rethrow
2795
- logger_1.logger.error("Database getAll operation failed", {
2796
- operation: 'getAllNewsArticleAssetSentiment',
2797
- model: 'NewsArticleAssetSentiment',
2798
- error: String(error),
2799
- isRetryable: isConnectionError,
2800
- });
2884
+ // Log structured error details and rethrow (transient -> WARN).
2885
+ if (isConnectionError) {
2886
+ logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
2887
+ operation: 'getAllNewsArticleAssetSentiment',
2888
+ model: 'NewsArticleAssetSentiment',
2889
+ error: String(error),
2890
+ isRetryable: true,
2891
+ transient: true,
2892
+ recoveryHint: "Upstream caller should retry on next cycle",
2893
+ });
2894
+ }
2895
+ else {
2896
+ logger_1.logger.error("Database getAll operation failed", {
2897
+ operation: 'getAllNewsArticleAssetSentiment',
2898
+ model: 'NewsArticleAssetSentiment',
2899
+ error: String(error),
2900
+ isRetryable: false,
2901
+ });
2902
+ }
2801
2903
  throw error;
2802
2904
  }
2803
2905
  }
@@ -2911,13 +3013,25 @@ exports.NewsArticleAssetSentiment = {
2911
3013
  await new Promise(resolve => setTimeout(resolve, delay));
2912
3014
  continue;
2913
3015
  }
2914
- // Log structured error details and rethrow
2915
- logger_1.logger.error("Database findMany operation failed", {
2916
- operation: 'findManyNewsArticleAssetSentiment',
2917
- model: 'NewsArticleAssetSentiment',
2918
- error: String(error),
2919
- isRetryable: isConnectionError,
2920
- });
3016
+ // Log structured error details and rethrow (transient -> WARN).
3017
+ if (isConnectionError) {
3018
+ logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
3019
+ operation: 'findManyNewsArticleAssetSentiment',
3020
+ model: 'NewsArticleAssetSentiment',
3021
+ error: String(error),
3022
+ isRetryable: true,
3023
+ transient: true,
3024
+ recoveryHint: "Upstream caller should retry on next cycle",
3025
+ });
3026
+ }
3027
+ else {
3028
+ logger_1.logger.error("Database findMany operation failed", {
3029
+ operation: 'findManyNewsArticleAssetSentiment',
3030
+ model: 'NewsArticleAssetSentiment',
3031
+ error: String(error),
3032
+ isRetryable: false,
3033
+ });
3034
+ }
2921
3035
  throw error;
2922
3036
  }
2923
3037
  }
@@ -654,13 +654,28 @@ exports.OptionsContract = {
654
654
  await new Promise(resolve => setTimeout(resolve, delay));
655
655
  continue;
656
656
  }
657
- // Log structured error details and rethrow
658
- logger_1.logger.error("Database create operation failed", {
659
- operation: 'createOneOptionsContract',
660
- model: 'OptionsContract',
661
- error: String(error),
662
- isRetryable: isConnectionError,
663
- });
657
+ // Log structured error details and rethrow.
658
+ // Demote transient failures to WARN with explicit transient+recoveryHint
659
+ // metadata so log analytics can distinguish recoverable upstream retries
660
+ // from true defects.
661
+ if (isConnectionError) {
662
+ logger_1.logger.warn("Database create operation failed (transient after retries)", {
663
+ operation: 'createOneOptionsContract',
664
+ model: 'OptionsContract',
665
+ error: String(error),
666
+ isRetryable: true,
667
+ transient: true,
668
+ recoveryHint: "Upstream caller should retry on next cycle",
669
+ });
670
+ }
671
+ else {
672
+ logger_1.logger.error("Database create operation failed", {
673
+ operation: 'createOneOptionsContract',
674
+ model: 'OptionsContract',
675
+ error: String(error),
676
+ isRetryable: false,
677
+ });
678
+ }
664
679
  throw error;
665
680
  }
666
681
  }
@@ -805,13 +820,25 @@ exports.OptionsContract = {
805
820
  await new Promise(resolve => setTimeout(resolve, delay));
806
821
  continue;
807
822
  }
808
- // Log structured error details and rethrow
809
- logger_1.logger.error("Database createMany operation failed", {
810
- operation: 'createManyOptionsContract',
811
- model: 'OptionsContract',
812
- error: String(error),
813
- isRetryable: isConnectionError,
814
- });
823
+ // Log structured error details and rethrow (transient -> WARN).
824
+ if (isConnectionError) {
825
+ logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
826
+ operation: 'createManyOptionsContract',
827
+ model: 'OptionsContract',
828
+ error: String(error),
829
+ isRetryable: true,
830
+ transient: true,
831
+ recoveryHint: "Upstream caller should retry on next cycle",
832
+ });
833
+ }
834
+ else {
835
+ logger_1.logger.error("Database createMany operation failed", {
836
+ operation: 'createManyOptionsContract',
837
+ model: 'OptionsContract',
838
+ error: String(error),
839
+ isRetryable: false,
840
+ });
841
+ }
815
842
  throw error;
816
843
  }
817
844
  }
@@ -2329,14 +2356,27 @@ exports.OptionsContract = {
2329
2356
  await new Promise(resolve => setTimeout(resolve, delay));
2330
2357
  continue;
2331
2358
  }
2332
- // Log structured error details and rethrow
2333
- logger_1.logger.error("Database update operation failed", {
2334
- operation: 'updateOneOptionsContract',
2335
- model: 'OptionsContract',
2336
- error: String(error),
2337
- recordId: props.id,
2338
- isRetryable: isConnectionError,
2339
- });
2359
+ // Log structured error details and rethrow (transient -> WARN).
2360
+ if (isConnectionError) {
2361
+ logger_1.logger.warn("Database update operation failed (transient after retries)", {
2362
+ operation: 'updateOneOptionsContract',
2363
+ model: 'OptionsContract',
2364
+ error: String(error),
2365
+ recordId: props.id,
2366
+ isRetryable: true,
2367
+ transient: true,
2368
+ recoveryHint: "Upstream caller should retry on next cycle",
2369
+ });
2370
+ }
2371
+ else {
2372
+ logger_1.logger.error("Database update operation failed", {
2373
+ operation: 'updateOneOptionsContract',
2374
+ model: 'OptionsContract',
2375
+ error: String(error),
2376
+ recordId: props.id,
2377
+ isRetryable: false,
2378
+ });
2379
+ }
2340
2380
  throw error;
2341
2381
  }
2342
2382
  }
@@ -4247,14 +4287,27 @@ exports.OptionsContract = {
4247
4287
  await new Promise(resolve => setTimeout(resolve, delay));
4248
4288
  continue;
4249
4289
  }
4250
- // Log structured error details and rethrow
4251
- logger_1.logger.error("Database upsert operation failed", {
4252
- operation: 'upsertOneOptionsContract',
4253
- model: 'OptionsContract',
4254
- error: String(error),
4255
- recordId: props.id,
4256
- isRetryable: isConnectionError,
4257
- });
4290
+ // Log structured error details and rethrow (transient -> WARN).
4291
+ if (isConnectionError) {
4292
+ logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
4293
+ operation: 'upsertOneOptionsContract',
4294
+ model: 'OptionsContract',
4295
+ error: String(error),
4296
+ recordId: props.id,
4297
+ isRetryable: true,
4298
+ transient: true,
4299
+ recoveryHint: "Upstream caller should retry on next cycle",
4300
+ });
4301
+ }
4302
+ else {
4303
+ logger_1.logger.error("Database upsert operation failed", {
4304
+ operation: 'upsertOneOptionsContract',
4305
+ model: 'OptionsContract',
4306
+ error: String(error),
4307
+ recordId: props.id,
4308
+ isRetryable: false,
4309
+ });
4310
+ }
4258
4311
  throw error;
4259
4312
  }
4260
4313
  }
@@ -5770,13 +5823,25 @@ exports.OptionsContract = {
5770
5823
  await new Promise(resolve => setTimeout(resolve, delay));
5771
5824
  continue;
5772
5825
  }
5773
- // Log structured error details and rethrow
5774
- logger_1.logger.error("Database updateMany operation failed", {
5775
- operation: 'updateManyOptionsContract',
5776
- model: 'OptionsContract',
5777
- error: String(error),
5778
- isRetryable: isConnectionError,
5779
- });
5826
+ // Log structured error details and rethrow (transient -> WARN).
5827
+ if (isConnectionError) {
5828
+ logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
5829
+ operation: 'updateManyOptionsContract',
5830
+ model: 'OptionsContract',
5831
+ error: String(error),
5832
+ isRetryable: true,
5833
+ transient: true,
5834
+ recoveryHint: "Upstream caller should retry on next cycle",
5835
+ });
5836
+ }
5837
+ else {
5838
+ logger_1.logger.error("Database updateMany operation failed", {
5839
+ operation: 'updateManyOptionsContract',
5840
+ model: 'OptionsContract',
5841
+ error: String(error),
5842
+ isRetryable: false,
5843
+ });
5844
+ }
5780
5845
  throw error;
5781
5846
  }
5782
5847
  }
@@ -5899,14 +5964,27 @@ exports.OptionsContract = {
5899
5964
  await new Promise(resolve => setTimeout(resolve, delay));
5900
5965
  continue;
5901
5966
  }
5902
- // Log structured error details and rethrow
5903
- logger_1.logger.error("Database delete operation failed", {
5904
- operation: 'deleteOneOptionsContract',
5905
- model: 'OptionsContract',
5906
- error: String(error),
5907
- recordId: props.id,
5908
- isRetryable: isConnectionError,
5909
- });
5967
+ // Log structured error details and rethrow (transient -> WARN).
5968
+ if (isConnectionError) {
5969
+ logger_1.logger.warn("Database delete operation failed (transient after retries)", {
5970
+ operation: 'deleteOneOptionsContract',
5971
+ model: 'OptionsContract',
5972
+ error: String(error),
5973
+ recordId: props.id,
5974
+ isRetryable: true,
5975
+ transient: true,
5976
+ recoveryHint: "Upstream caller should retry on next cycle",
5977
+ });
5978
+ }
5979
+ else {
5980
+ logger_1.logger.error("Database delete operation failed", {
5981
+ operation: 'deleteOneOptionsContract',
5982
+ model: 'OptionsContract',
5983
+ error: String(error),
5984
+ recordId: props.id,
5985
+ isRetryable: false,
5986
+ });
5987
+ }
5910
5988
  throw error;
5911
5989
  }
5912
5990
  }
@@ -6005,13 +6083,25 @@ exports.OptionsContract = {
6005
6083
  await new Promise(resolve => setTimeout(resolve, delay));
6006
6084
  continue;
6007
6085
  }
6008
- // Log structured error details and rethrow
6009
- logger_1.logger.error("Database get operation failed", {
6010
- operation: 'getOptionsContract',
6011
- model: 'OptionsContract',
6012
- error: String(error),
6013
- isRetryable: isConnectionError,
6014
- });
6086
+ // Log structured error details and rethrow (transient -> WARN).
6087
+ if (isConnectionError) {
6088
+ logger_1.logger.warn("Database get operation failed (transient after retries)", {
6089
+ operation: 'getOptionsContract',
6090
+ model: 'OptionsContract',
6091
+ error: String(error),
6092
+ isRetryable: true,
6093
+ transient: true,
6094
+ recoveryHint: "Upstream caller should retry on next cycle",
6095
+ });
6096
+ }
6097
+ else {
6098
+ logger_1.logger.error("Database get operation failed", {
6099
+ operation: 'getOptionsContract',
6100
+ model: 'OptionsContract',
6101
+ error: String(error),
6102
+ isRetryable: false,
6103
+ });
6104
+ }
6015
6105
  throw error;
6016
6106
  }
6017
6107
  }
@@ -6098,13 +6188,25 @@ exports.OptionsContract = {
6098
6188
  await new Promise(resolve => setTimeout(resolve, delay));
6099
6189
  continue;
6100
6190
  }
6101
- // Log structured error details and rethrow
6102
- logger_1.logger.error("Database getAll operation failed", {
6103
- operation: 'getAllOptionsContract',
6104
- model: 'OptionsContract',
6105
- error: String(error),
6106
- isRetryable: isConnectionError,
6107
- });
6191
+ // Log structured error details and rethrow (transient -> WARN).
6192
+ if (isConnectionError) {
6193
+ logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
6194
+ operation: 'getAllOptionsContract',
6195
+ model: 'OptionsContract',
6196
+ error: String(error),
6197
+ isRetryable: true,
6198
+ transient: true,
6199
+ recoveryHint: "Upstream caller should retry on next cycle",
6200
+ });
6201
+ }
6202
+ else {
6203
+ logger_1.logger.error("Database getAll operation failed", {
6204
+ operation: 'getAllOptionsContract',
6205
+ model: 'OptionsContract',
6206
+ error: String(error),
6207
+ isRetryable: false,
6208
+ });
6209
+ }
6108
6210
  throw error;
6109
6211
  }
6110
6212
  }
@@ -6215,13 +6317,25 @@ exports.OptionsContract = {
6215
6317
  await new Promise(resolve => setTimeout(resolve, delay));
6216
6318
  continue;
6217
6319
  }
6218
- // Log structured error details and rethrow
6219
- logger_1.logger.error("Database findMany operation failed", {
6220
- operation: 'findManyOptionsContract',
6221
- model: 'OptionsContract',
6222
- error: String(error),
6223
- isRetryable: isConnectionError,
6224
- });
6320
+ // Log structured error details and rethrow (transient -> WARN).
6321
+ if (isConnectionError) {
6322
+ logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
6323
+ operation: 'findManyOptionsContract',
6324
+ model: 'OptionsContract',
6325
+ error: String(error),
6326
+ isRetryable: true,
6327
+ transient: true,
6328
+ recoveryHint: "Upstream caller should retry on next cycle",
6329
+ });
6330
+ }
6331
+ else {
6332
+ logger_1.logger.error("Database findMany operation failed", {
6333
+ operation: 'findManyOptionsContract',
6334
+ model: 'OptionsContract',
6335
+ error: String(error),
6336
+ isRetryable: false,
6337
+ });
6338
+ }
6225
6339
  throw error;
6226
6340
  }
6227
6341
  }