@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
@@ -303,13 +303,28 @@ export const NewsArticle = {
303
303
  await new Promise(resolve => setTimeout(resolve, delay));
304
304
  continue;
305
305
  }
306
- // Log structured error details and rethrow
307
- logger.error("Database create operation failed", {
308
- operation: 'createOneNewsArticle',
309
- model: 'NewsArticle',
310
- error: String(error),
311
- isRetryable: isConnectionError,
312
- });
306
+ // Log structured error details and rethrow.
307
+ // Demote transient failures to WARN with explicit transient+recoveryHint
308
+ // metadata so log analytics can distinguish recoverable upstream retries
309
+ // from true defects.
310
+ if (isConnectionError) {
311
+ logger.warn("Database create operation failed (transient after retries)", {
312
+ operation: 'createOneNewsArticle',
313
+ model: 'NewsArticle',
314
+ error: String(error),
315
+ isRetryable: true,
316
+ transient: true,
317
+ recoveryHint: "Upstream caller should retry on next cycle",
318
+ });
319
+ }
320
+ else {
321
+ logger.error("Database create operation failed", {
322
+ operation: 'createOneNewsArticle',
323
+ model: 'NewsArticle',
324
+ error: String(error),
325
+ isRetryable: false,
326
+ });
327
+ }
313
328
  throw error;
314
329
  }
315
330
  }
@@ -443,13 +458,25 @@ export const NewsArticle = {
443
458
  await new Promise(resolve => setTimeout(resolve, delay));
444
459
  continue;
445
460
  }
446
- // Log structured error details and rethrow
447
- logger.error("Database createMany operation failed", {
448
- operation: 'createManyNewsArticle',
449
- model: 'NewsArticle',
450
- error: String(error),
451
- isRetryable: isConnectionError,
452
- });
461
+ // Log structured error details and rethrow (transient -> WARN).
462
+ if (isConnectionError) {
463
+ logger.warn("Database createMany operation failed (transient after retries)", {
464
+ operation: 'createManyNewsArticle',
465
+ model: 'NewsArticle',
466
+ error: String(error),
467
+ isRetryable: true,
468
+ transient: true,
469
+ recoveryHint: "Upstream caller should retry on next cycle",
470
+ });
471
+ }
472
+ else {
473
+ logger.error("Database createMany operation failed", {
474
+ operation: 'createManyNewsArticle',
475
+ model: 'NewsArticle',
476
+ error: String(error),
477
+ isRetryable: false,
478
+ });
479
+ }
453
480
  throw error;
454
481
  }
455
482
  }
@@ -1179,14 +1206,27 @@ export const NewsArticle = {
1179
1206
  await new Promise(resolve => setTimeout(resolve, delay));
1180
1207
  continue;
1181
1208
  }
1182
- // Log structured error details and rethrow
1183
- logger.error("Database update operation failed", {
1184
- operation: 'updateOneNewsArticle',
1185
- model: 'NewsArticle',
1186
- error: String(error),
1187
- recordId: props.id,
1188
- isRetryable: isConnectionError,
1189
- });
1209
+ // Log structured error details and rethrow (transient -> WARN).
1210
+ if (isConnectionError) {
1211
+ logger.warn("Database update operation failed (transient after retries)", {
1212
+ operation: 'updateOneNewsArticle',
1213
+ model: 'NewsArticle',
1214
+ error: String(error),
1215
+ recordId: props.id,
1216
+ isRetryable: true,
1217
+ transient: true,
1218
+ recoveryHint: "Upstream caller should retry on next cycle",
1219
+ });
1220
+ }
1221
+ else {
1222
+ logger.error("Database update operation failed", {
1223
+ operation: 'updateOneNewsArticle',
1224
+ model: 'NewsArticle',
1225
+ error: String(error),
1226
+ recordId: props.id,
1227
+ isRetryable: false,
1228
+ });
1229
+ }
1190
1230
  throw error;
1191
1231
  }
1192
1232
  }
@@ -2075,14 +2115,27 @@ export const NewsArticle = {
2075
2115
  await new Promise(resolve => setTimeout(resolve, delay));
2076
2116
  continue;
2077
2117
  }
2078
- // Log structured error details and rethrow
2079
- logger.error("Database upsert operation failed", {
2080
- operation: 'upsertOneNewsArticle',
2081
- model: 'NewsArticle',
2082
- error: String(error),
2083
- recordId: props.id,
2084
- isRetryable: isConnectionError,
2085
- });
2118
+ // Log structured error details and rethrow (transient -> WARN).
2119
+ if (isConnectionError) {
2120
+ logger.warn("Database upsert operation failed (transient after retries)", {
2121
+ operation: 'upsertOneNewsArticle',
2122
+ model: 'NewsArticle',
2123
+ error: String(error),
2124
+ recordId: props.id,
2125
+ isRetryable: true,
2126
+ transient: true,
2127
+ recoveryHint: "Upstream caller should retry on next cycle",
2128
+ });
2129
+ }
2130
+ else {
2131
+ logger.error("Database upsert operation failed", {
2132
+ operation: 'upsertOneNewsArticle',
2133
+ model: 'NewsArticle',
2134
+ error: String(error),
2135
+ recordId: props.id,
2136
+ isRetryable: false,
2137
+ });
2138
+ }
2086
2139
  throw error;
2087
2140
  }
2088
2141
  }
@@ -2810,13 +2863,25 @@ export const NewsArticle = {
2810
2863
  await new Promise(resolve => setTimeout(resolve, delay));
2811
2864
  continue;
2812
2865
  }
2813
- // Log structured error details and rethrow
2814
- logger.error("Database updateMany operation failed", {
2815
- operation: 'updateManyNewsArticle',
2816
- model: 'NewsArticle',
2817
- error: String(error),
2818
- isRetryable: isConnectionError,
2819
- });
2866
+ // Log structured error details and rethrow (transient -> WARN).
2867
+ if (isConnectionError) {
2868
+ logger.warn("Database updateMany operation failed (transient after retries)", {
2869
+ operation: 'updateManyNewsArticle',
2870
+ model: 'NewsArticle',
2871
+ error: String(error),
2872
+ isRetryable: true,
2873
+ transient: true,
2874
+ recoveryHint: "Upstream caller should retry on next cycle",
2875
+ });
2876
+ }
2877
+ else {
2878
+ logger.error("Database updateMany operation failed", {
2879
+ operation: 'updateManyNewsArticle',
2880
+ model: 'NewsArticle',
2881
+ error: String(error),
2882
+ isRetryable: false,
2883
+ });
2884
+ }
2820
2885
  throw error;
2821
2886
  }
2822
2887
  }
@@ -2938,14 +3003,27 @@ export const NewsArticle = {
2938
3003
  await new Promise(resolve => setTimeout(resolve, delay));
2939
3004
  continue;
2940
3005
  }
2941
- // Log structured error details and rethrow
2942
- logger.error("Database delete operation failed", {
2943
- operation: 'deleteOneNewsArticle',
2944
- model: 'NewsArticle',
2945
- error: String(error),
2946
- recordId: props.id,
2947
- isRetryable: isConnectionError,
2948
- });
3006
+ // Log structured error details and rethrow (transient -> WARN).
3007
+ if (isConnectionError) {
3008
+ logger.warn("Database delete operation failed (transient after retries)", {
3009
+ operation: 'deleteOneNewsArticle',
3010
+ model: 'NewsArticle',
3011
+ error: String(error),
3012
+ recordId: props.id,
3013
+ isRetryable: true,
3014
+ transient: true,
3015
+ recoveryHint: "Upstream caller should retry on next cycle",
3016
+ });
3017
+ }
3018
+ else {
3019
+ logger.error("Database delete operation failed", {
3020
+ operation: 'deleteOneNewsArticle',
3021
+ model: 'NewsArticle',
3022
+ error: String(error),
3023
+ recordId: props.id,
3024
+ isRetryable: false,
3025
+ });
3026
+ }
2949
3027
  throw error;
2950
3028
  }
2951
3029
  }
@@ -3044,13 +3122,25 @@ export const NewsArticle = {
3044
3122
  await new Promise(resolve => setTimeout(resolve, delay));
3045
3123
  continue;
3046
3124
  }
3047
- // Log structured error details and rethrow
3048
- logger.error("Database get operation failed", {
3049
- operation: 'getNewsArticle',
3050
- model: 'NewsArticle',
3051
- error: String(error),
3052
- isRetryable: isConnectionError,
3053
- });
3125
+ // Log structured error details and rethrow (transient -> WARN).
3126
+ if (isConnectionError) {
3127
+ logger.warn("Database get operation failed (transient after retries)", {
3128
+ operation: 'getNewsArticle',
3129
+ model: 'NewsArticle',
3130
+ error: String(error),
3131
+ isRetryable: true,
3132
+ transient: true,
3133
+ recoveryHint: "Upstream caller should retry on next cycle",
3134
+ });
3135
+ }
3136
+ else {
3137
+ logger.error("Database get operation failed", {
3138
+ operation: 'getNewsArticle',
3139
+ model: 'NewsArticle',
3140
+ error: String(error),
3141
+ isRetryable: false,
3142
+ });
3143
+ }
3054
3144
  throw error;
3055
3145
  }
3056
3146
  }
@@ -3136,13 +3226,25 @@ export const NewsArticle = {
3136
3226
  await new Promise(resolve => setTimeout(resolve, delay));
3137
3227
  continue;
3138
3228
  }
3139
- // Log structured error details and rethrow
3140
- logger.error("Database getAll operation failed", {
3141
- operation: 'getAllNewsArticle',
3142
- model: 'NewsArticle',
3143
- error: String(error),
3144
- isRetryable: isConnectionError,
3145
- });
3229
+ // Log structured error details and rethrow (transient -> WARN).
3230
+ if (isConnectionError) {
3231
+ logger.warn("Database getAll operation failed (transient after retries)", {
3232
+ operation: 'getAllNewsArticle',
3233
+ model: 'NewsArticle',
3234
+ error: String(error),
3235
+ isRetryable: true,
3236
+ transient: true,
3237
+ recoveryHint: "Upstream caller should retry on next cycle",
3238
+ });
3239
+ }
3240
+ else {
3241
+ logger.error("Database getAll operation failed", {
3242
+ operation: 'getAllNewsArticle',
3243
+ model: 'NewsArticle',
3244
+ error: String(error),
3245
+ isRetryable: false,
3246
+ });
3247
+ }
3146
3248
  throw error;
3147
3249
  }
3148
3250
  }
@@ -3255,13 +3357,25 @@ export const NewsArticle = {
3255
3357
  await new Promise(resolve => setTimeout(resolve, delay));
3256
3358
  continue;
3257
3359
  }
3258
- // Log structured error details and rethrow
3259
- logger.error("Database findMany operation failed", {
3260
- operation: 'findManyNewsArticle',
3261
- model: 'NewsArticle',
3262
- error: String(error),
3263
- isRetryable: isConnectionError,
3264
- });
3360
+ // Log structured error details and rethrow (transient -> WARN).
3361
+ if (isConnectionError) {
3362
+ logger.warn("Database findMany operation failed (transient after retries)", {
3363
+ operation: 'findManyNewsArticle',
3364
+ model: 'NewsArticle',
3365
+ error: String(error),
3366
+ isRetryable: true,
3367
+ transient: true,
3368
+ recoveryHint: "Upstream caller should retry on next cycle",
3369
+ });
3370
+ }
3371
+ else {
3372
+ logger.error("Database findMany operation failed", {
3373
+ operation: 'findManyNewsArticle',
3374
+ model: 'NewsArticle',
3375
+ error: String(error),
3376
+ isRetryable: false,
3377
+ });
3378
+ }
3265
3379
  throw error;
3266
3380
  }
3267
3381
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NewsArticleAssetSentiment.d.ts","sourceRoot":"","sources":["../../src/NewsArticleAssetSentiment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,IAAI,6BAA6B,EAAE,MAAM,iEAAiE,CAAC;AAC7I,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAoBpG,eAAO,MAAM,yBAAyB;IAEpC;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAsSpJ;;;;;;;OAOG;sBACqB,6BAA6B,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,YAAY;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAwI3L;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAunBlJ;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IA4xBlJ;;;;;;OAMG;sBACqB,6BAA6B,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAsnBnJ;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAyIlJ;;;;;;;OAOG;eACc,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC;IA8G5L;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC;IAkGrH;;;;;;;OAOG;oBACmB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC;CA4HpM,CAAC"}
1
+ {"version":3,"file":"NewsArticleAssetSentiment.d.ts","sourceRoot":"","sources":["../../src/NewsArticleAssetSentiment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,IAAI,6BAA6B,EAAE,MAAM,iEAAiE,CAAC;AAC7I,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAoBpG,eAAO,MAAM,yBAAyB;IAEpC;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAoTpJ;;;;;;;OAOG;sBACqB,6BAA6B,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,YAAY;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAmJ3L;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAmoBlJ;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAwyBlJ;;;;;;OAMG;sBACqB,6BAA6B,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAioBnJ;;;;;;OAMG;kBACiB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAqJlJ;;;;;;;OAOG;eACc,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAyH5L;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC;IA6GrH;;;;;;;OAOG;oBACmB,6BAA6B,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,6BAA6B,EAAE,GAAG,IAAI,CAAC;CAuIpM,CAAC"}