@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
@@ -447,13 +447,28 @@ export const OptionsPositionEvent = {
447
447
  await new Promise(resolve => setTimeout(resolve, delay));
448
448
  continue;
449
449
  }
450
- // Log structured error details and rethrow
451
- logger.error("Database create operation failed", {
452
- operation: 'createOneOptionsPositionEvent',
453
- model: 'OptionsPositionEvent',
454
- error: String(error),
455
- isRetryable: isConnectionError,
456
- });
450
+ // Log structured error details and rethrow.
451
+ // Demote transient failures to WARN with explicit transient+recoveryHint
452
+ // metadata so log analytics can distinguish recoverable upstream retries
453
+ // from true defects.
454
+ if (isConnectionError) {
455
+ logger.warn("Database create operation failed (transient after retries)", {
456
+ operation: 'createOneOptionsPositionEvent',
457
+ model: 'OptionsPositionEvent',
458
+ error: String(error),
459
+ isRetryable: true,
460
+ transient: true,
461
+ recoveryHint: "Upstream caller should retry on next cycle",
462
+ });
463
+ }
464
+ else {
465
+ logger.error("Database create operation failed", {
466
+ operation: 'createOneOptionsPositionEvent',
467
+ model: 'OptionsPositionEvent',
468
+ error: String(error),
469
+ isRetryable: false,
470
+ });
471
+ }
457
472
  throw error;
458
473
  }
459
474
  }
@@ -575,13 +590,25 @@ export const OptionsPositionEvent = {
575
590
  await new Promise(resolve => setTimeout(resolve, delay));
576
591
  continue;
577
592
  }
578
- // Log structured error details and rethrow
579
- logger.error("Database createMany operation failed", {
580
- operation: 'createManyOptionsPositionEvent',
581
- model: 'OptionsPositionEvent',
582
- error: String(error),
583
- isRetryable: isConnectionError,
584
- });
593
+ // Log structured error details and rethrow (transient -> WARN).
594
+ if (isConnectionError) {
595
+ logger.warn("Database createMany operation failed (transient after retries)", {
596
+ operation: 'createManyOptionsPositionEvent',
597
+ model: 'OptionsPositionEvent',
598
+ error: String(error),
599
+ isRetryable: true,
600
+ transient: true,
601
+ recoveryHint: "Upstream caller should retry on next cycle",
602
+ });
603
+ }
604
+ else {
605
+ logger.error("Database createMany operation failed", {
606
+ operation: 'createManyOptionsPositionEvent',
607
+ model: 'OptionsPositionEvent',
608
+ error: String(error),
609
+ isRetryable: false,
610
+ });
611
+ }
585
612
  throw error;
586
613
  }
587
614
  }
@@ -1808,14 +1835,27 @@ export const OptionsPositionEvent = {
1808
1835
  await new Promise(resolve => setTimeout(resolve, delay));
1809
1836
  continue;
1810
1837
  }
1811
- // Log structured error details and rethrow
1812
- logger.error("Database update operation failed", {
1813
- operation: 'updateOneOptionsPositionEvent',
1814
- model: 'OptionsPositionEvent',
1815
- error: String(error),
1816
- recordId: props.id,
1817
- isRetryable: isConnectionError,
1818
- });
1838
+ // Log structured error details and rethrow (transient -> WARN).
1839
+ if (isConnectionError) {
1840
+ logger.warn("Database update operation failed (transient after retries)", {
1841
+ operation: 'updateOneOptionsPositionEvent',
1842
+ model: 'OptionsPositionEvent',
1843
+ error: String(error),
1844
+ recordId: props.id,
1845
+ isRetryable: true,
1846
+ transient: true,
1847
+ recoveryHint: "Upstream caller should retry on next cycle",
1848
+ });
1849
+ }
1850
+ else {
1851
+ logger.error("Database update operation failed", {
1852
+ operation: 'updateOneOptionsPositionEvent',
1853
+ model: 'OptionsPositionEvent',
1854
+ error: String(error),
1855
+ recordId: props.id,
1856
+ isRetryable: false,
1857
+ });
1858
+ }
1819
1859
  throw error;
1820
1860
  }
1821
1861
  }
@@ -3319,14 +3359,27 @@ export const OptionsPositionEvent = {
3319
3359
  await new Promise(resolve => setTimeout(resolve, delay));
3320
3360
  continue;
3321
3361
  }
3322
- // Log structured error details and rethrow
3323
- logger.error("Database upsert operation failed", {
3324
- operation: 'upsertOneOptionsPositionEvent',
3325
- model: 'OptionsPositionEvent',
3326
- error: String(error),
3327
- recordId: props.id,
3328
- isRetryable: isConnectionError,
3329
- });
3362
+ // Log structured error details and rethrow (transient -> WARN).
3363
+ if (isConnectionError) {
3364
+ logger.warn("Database upsert operation failed (transient after retries)", {
3365
+ operation: 'upsertOneOptionsPositionEvent',
3366
+ model: 'OptionsPositionEvent',
3367
+ error: String(error),
3368
+ recordId: props.id,
3369
+ isRetryable: true,
3370
+ transient: true,
3371
+ recoveryHint: "Upstream caller should retry on next cycle",
3372
+ });
3373
+ }
3374
+ else {
3375
+ logger.error("Database upsert operation failed", {
3376
+ operation: 'upsertOneOptionsPositionEvent',
3377
+ model: 'OptionsPositionEvent',
3378
+ error: String(error),
3379
+ recordId: props.id,
3380
+ isRetryable: false,
3381
+ });
3382
+ }
3330
3383
  throw error;
3331
3384
  }
3332
3385
  }
@@ -4551,13 +4604,25 @@ export const OptionsPositionEvent = {
4551
4604
  await new Promise(resolve => setTimeout(resolve, delay));
4552
4605
  continue;
4553
4606
  }
4554
- // Log structured error details and rethrow
4555
- logger.error("Database updateMany operation failed", {
4556
- operation: 'updateManyOptionsPositionEvent',
4557
- model: 'OptionsPositionEvent',
4558
- error: String(error),
4559
- isRetryable: isConnectionError,
4560
- });
4607
+ // Log structured error details and rethrow (transient -> WARN).
4608
+ if (isConnectionError) {
4609
+ logger.warn("Database updateMany operation failed (transient after retries)", {
4610
+ operation: 'updateManyOptionsPositionEvent',
4611
+ model: 'OptionsPositionEvent',
4612
+ error: String(error),
4613
+ isRetryable: true,
4614
+ transient: true,
4615
+ recoveryHint: "Upstream caller should retry on next cycle",
4616
+ });
4617
+ }
4618
+ else {
4619
+ logger.error("Database updateMany operation failed", {
4620
+ operation: 'updateManyOptionsPositionEvent',
4621
+ model: 'OptionsPositionEvent',
4622
+ error: String(error),
4623
+ isRetryable: false,
4624
+ });
4625
+ }
4561
4626
  throw error;
4562
4627
  }
4563
4628
  }
@@ -4679,14 +4744,27 @@ export const OptionsPositionEvent = {
4679
4744
  await new Promise(resolve => setTimeout(resolve, delay));
4680
4745
  continue;
4681
4746
  }
4682
- // Log structured error details and rethrow
4683
- logger.error("Database delete operation failed", {
4684
- operation: 'deleteOneOptionsPositionEvent',
4685
- model: 'OptionsPositionEvent',
4686
- error: String(error),
4687
- recordId: props.id,
4688
- isRetryable: isConnectionError,
4689
- });
4747
+ // Log structured error details and rethrow (transient -> WARN).
4748
+ if (isConnectionError) {
4749
+ logger.warn("Database delete operation failed (transient after retries)", {
4750
+ operation: 'deleteOneOptionsPositionEvent',
4751
+ model: 'OptionsPositionEvent',
4752
+ error: String(error),
4753
+ recordId: props.id,
4754
+ isRetryable: true,
4755
+ transient: true,
4756
+ recoveryHint: "Upstream caller should retry on next cycle",
4757
+ });
4758
+ }
4759
+ else {
4760
+ logger.error("Database delete operation failed", {
4761
+ operation: 'deleteOneOptionsPositionEvent',
4762
+ model: 'OptionsPositionEvent',
4763
+ error: String(error),
4764
+ recordId: props.id,
4765
+ isRetryable: false,
4766
+ });
4767
+ }
4690
4768
  throw error;
4691
4769
  }
4692
4770
  }
@@ -4784,13 +4862,25 @@ export const OptionsPositionEvent = {
4784
4862
  await new Promise(resolve => setTimeout(resolve, delay));
4785
4863
  continue;
4786
4864
  }
4787
- // Log structured error details and rethrow
4788
- logger.error("Database get operation failed", {
4789
- operation: 'getOptionsPositionEvent',
4790
- model: 'OptionsPositionEvent',
4791
- error: String(error),
4792
- isRetryable: isConnectionError,
4793
- });
4865
+ // Log structured error details and rethrow (transient -> WARN).
4866
+ if (isConnectionError) {
4867
+ logger.warn("Database get operation failed (transient after retries)", {
4868
+ operation: 'getOptionsPositionEvent',
4869
+ model: 'OptionsPositionEvent',
4870
+ error: String(error),
4871
+ isRetryable: true,
4872
+ transient: true,
4873
+ recoveryHint: "Upstream caller should retry on next cycle",
4874
+ });
4875
+ }
4876
+ else {
4877
+ logger.error("Database get operation failed", {
4878
+ operation: 'getOptionsPositionEvent',
4879
+ model: 'OptionsPositionEvent',
4880
+ error: String(error),
4881
+ isRetryable: false,
4882
+ });
4883
+ }
4794
4884
  throw error;
4795
4885
  }
4796
4886
  }
@@ -4876,13 +4966,25 @@ export const OptionsPositionEvent = {
4876
4966
  await new Promise(resolve => setTimeout(resolve, delay));
4877
4967
  continue;
4878
4968
  }
4879
- // Log structured error details and rethrow
4880
- logger.error("Database getAll operation failed", {
4881
- operation: 'getAllOptionsPositionEvent',
4882
- model: 'OptionsPositionEvent',
4883
- error: String(error),
4884
- isRetryable: isConnectionError,
4885
- });
4969
+ // Log structured error details and rethrow (transient -> WARN).
4970
+ if (isConnectionError) {
4971
+ logger.warn("Database getAll operation failed (transient after retries)", {
4972
+ operation: 'getAllOptionsPositionEvent',
4973
+ model: 'OptionsPositionEvent',
4974
+ error: String(error),
4975
+ isRetryable: true,
4976
+ transient: true,
4977
+ recoveryHint: "Upstream caller should retry on next cycle",
4978
+ });
4979
+ }
4980
+ else {
4981
+ logger.error("Database getAll operation failed", {
4982
+ operation: 'getAllOptionsPositionEvent',
4983
+ model: 'OptionsPositionEvent',
4984
+ error: String(error),
4985
+ isRetryable: false,
4986
+ });
4987
+ }
4886
4988
  throw error;
4887
4989
  }
4888
4990
  }
@@ -4992,13 +5094,25 @@ export const OptionsPositionEvent = {
4992
5094
  await new Promise(resolve => setTimeout(resolve, delay));
4993
5095
  continue;
4994
5096
  }
4995
- // Log structured error details and rethrow
4996
- logger.error("Database findMany operation failed", {
4997
- operation: 'findManyOptionsPositionEvent',
4998
- model: 'OptionsPositionEvent',
4999
- error: String(error),
5000
- isRetryable: isConnectionError,
5001
- });
5097
+ // Log structured error details and rethrow (transient -> WARN).
5098
+ if (isConnectionError) {
5099
+ logger.warn("Database findMany operation failed (transient after retries)", {
5100
+ operation: 'findManyOptionsPositionEvent',
5101
+ model: 'OptionsPositionEvent',
5102
+ error: String(error),
5103
+ isRetryable: true,
5104
+ transient: true,
5105
+ recoveryHint: "Upstream caller should retry on next cycle",
5106
+ });
5107
+ }
5108
+ else {
5109
+ logger.error("Database findMany operation failed", {
5110
+ operation: 'findManyOptionsPositionEvent',
5111
+ model: 'OptionsPositionEvent',
5112
+ error: String(error),
5113
+ isRetryable: false,
5114
+ });
5115
+ }
5002
5116
  throw error;
5003
5117
  }
5004
5118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsTradeExecution.d.ts","sourceRoot":"","sources":["../../src/OptionsTradeExecution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,IAAI,yBAAyB,EAAE,MAAM,6DAA6D,CAAC;AACjI,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAuHpG,eAAO,MAAM,qBAAqB;IAEhC;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA+iB5I;;;;;;;OAOG;sBACqB,yBAAyB,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;IA2JvL;;;;;;OAMG;kBACiB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4rD1I;;;;;;OAMG;kBACiB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4mE1I;;;;;;OAMG;sBACqB,yBAAyB,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IA2rD/I;;;;;;OAMG;kBACiB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAyI1I;;;;;;;OAOG;eACc,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAsHpL;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC;IAkGjH;;;;;;;OAOG;oBACmB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC;CAkI5L,CAAC"}
1
+ {"version":3,"file":"OptionsTradeExecution.d.ts","sourceRoot":"","sources":["../../src/OptionsTradeExecution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,IAAI,yBAAyB,EAAE,MAAM,6DAA6D,CAAC;AACjI,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAuHpG,eAAO,MAAM,qBAAqB;IAEhC;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA6jB5I;;;;;;;OAOG;sBACqB,yBAAyB,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;IAsKvL;;;;;;OAMG;kBACiB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAwsD1I;;;;;;OAMG;kBACiB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAwnE1I;;;;;;OAMG;sBACqB,yBAAyB,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAssD/I;;;;;;OAMG;kBACiB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAqJ1I;;;;;;;OAOG;eACc,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAiIpL;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC;IA6GjH;;;;;;;OAOG;oBACmB,yBAAyB,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC;CA6I5L,CAAC"}