@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
@@ -141,13 +141,28 @@ export const InstitutionalSentimentMetrics = {
141
141
  await new Promise(resolve => setTimeout(resolve, delay));
142
142
  continue;
143
143
  }
144
- // Log structured error details and rethrow
145
- logger.error("Database create operation failed", {
146
- operation: 'createOneInstitutionalSentimentMetrics',
147
- model: 'InstitutionalSentimentMetrics',
148
- error: String(error),
149
- isRetryable: isConnectionError,
150
- });
144
+ // Log structured error details and rethrow.
145
+ // Demote transient failures to WARN with explicit transient+recoveryHint
146
+ // metadata so log analytics can distinguish recoverable upstream retries
147
+ // from true defects.
148
+ if (isConnectionError) {
149
+ logger.warn("Database create operation failed (transient after retries)", {
150
+ operation: 'createOneInstitutionalSentimentMetrics',
151
+ model: 'InstitutionalSentimentMetrics',
152
+ error: String(error),
153
+ isRetryable: true,
154
+ transient: true,
155
+ recoveryHint: "Upstream caller should retry on next cycle",
156
+ });
157
+ }
158
+ else {
159
+ logger.error("Database create operation failed", {
160
+ operation: 'createOneInstitutionalSentimentMetrics',
161
+ model: 'InstitutionalSentimentMetrics',
162
+ error: String(error),
163
+ isRetryable: false,
164
+ });
165
+ }
151
166
  throw error;
152
167
  }
153
168
  }
@@ -271,13 +286,25 @@ export const InstitutionalSentimentMetrics = {
271
286
  await new Promise(resolve => setTimeout(resolve, delay));
272
287
  continue;
273
288
  }
274
- // Log structured error details and rethrow
275
- logger.error("Database createMany operation failed", {
276
- operation: 'createManyInstitutionalSentimentMetrics',
277
- model: 'InstitutionalSentimentMetrics',
278
- error: String(error),
279
- isRetryable: isConnectionError,
280
- });
289
+ // Log structured error details and rethrow (transient -> WARN).
290
+ if (isConnectionError) {
291
+ logger.warn("Database createMany operation failed (transient after retries)", {
292
+ operation: 'createManyInstitutionalSentimentMetrics',
293
+ model: 'InstitutionalSentimentMetrics',
294
+ error: String(error),
295
+ isRetryable: true,
296
+ transient: true,
297
+ recoveryHint: "Upstream caller should retry on next cycle",
298
+ });
299
+ }
300
+ else {
301
+ logger.error("Database createMany operation failed", {
302
+ operation: 'createManyInstitutionalSentimentMetrics',
303
+ model: 'InstitutionalSentimentMetrics',
304
+ error: String(error),
305
+ isRetryable: false,
306
+ });
307
+ }
281
308
  throw error;
282
309
  }
283
310
  }
@@ -425,14 +452,27 @@ export const InstitutionalSentimentMetrics = {
425
452
  await new Promise(resolve => setTimeout(resolve, delay));
426
453
  continue;
427
454
  }
428
- // Log structured error details and rethrow
429
- logger.error("Database update operation failed", {
430
- operation: 'updateOneInstitutionalSentimentMetrics',
431
- model: 'InstitutionalSentimentMetrics',
432
- error: String(error),
433
- recordId: props.id,
434
- isRetryable: isConnectionError,
435
- });
455
+ // Log structured error details and rethrow (transient -> WARN).
456
+ if (isConnectionError) {
457
+ logger.warn("Database update operation failed (transient after retries)", {
458
+ operation: 'updateOneInstitutionalSentimentMetrics',
459
+ model: 'InstitutionalSentimentMetrics',
460
+ error: String(error),
461
+ recordId: props.id,
462
+ isRetryable: true,
463
+ transient: true,
464
+ recoveryHint: "Upstream caller should retry on next cycle",
465
+ });
466
+ }
467
+ else {
468
+ logger.error("Database update operation failed", {
469
+ operation: 'updateOneInstitutionalSentimentMetrics',
470
+ model: 'InstitutionalSentimentMetrics',
471
+ error: String(error),
472
+ recordId: props.id,
473
+ isRetryable: false,
474
+ });
475
+ }
436
476
  throw error;
437
477
  }
438
478
  }
@@ -583,14 +623,27 @@ export const InstitutionalSentimentMetrics = {
583
623
  await new Promise(resolve => setTimeout(resolve, delay));
584
624
  continue;
585
625
  }
586
- // Log structured error details and rethrow
587
- logger.error("Database upsert operation failed", {
588
- operation: 'upsertOneInstitutionalSentimentMetrics',
589
- model: 'InstitutionalSentimentMetrics',
590
- error: String(error),
591
- recordId: props.id,
592
- isRetryable: isConnectionError,
593
- });
626
+ // Log structured error details and rethrow (transient -> WARN).
627
+ if (isConnectionError) {
628
+ logger.warn("Database upsert operation failed (transient after retries)", {
629
+ operation: 'upsertOneInstitutionalSentimentMetrics',
630
+ model: 'InstitutionalSentimentMetrics',
631
+ error: String(error),
632
+ recordId: props.id,
633
+ isRetryable: true,
634
+ transient: true,
635
+ recoveryHint: "Upstream caller should retry on next cycle",
636
+ });
637
+ }
638
+ else {
639
+ logger.error("Database upsert operation failed", {
640
+ operation: 'upsertOneInstitutionalSentimentMetrics',
641
+ model: 'InstitutionalSentimentMetrics',
642
+ error: String(error),
643
+ recordId: props.id,
644
+ isRetryable: false,
645
+ });
646
+ }
594
647
  throw error;
595
648
  }
596
649
  }
@@ -736,13 +789,25 @@ export const InstitutionalSentimentMetrics = {
736
789
  await new Promise(resolve => setTimeout(resolve, delay));
737
790
  continue;
738
791
  }
739
- // Log structured error details and rethrow
740
- logger.error("Database updateMany operation failed", {
741
- operation: 'updateManyInstitutionalSentimentMetrics',
742
- model: 'InstitutionalSentimentMetrics',
743
- error: String(error),
744
- isRetryable: isConnectionError,
745
- });
792
+ // Log structured error details and rethrow (transient -> WARN).
793
+ if (isConnectionError) {
794
+ logger.warn("Database updateMany operation failed (transient after retries)", {
795
+ operation: 'updateManyInstitutionalSentimentMetrics',
796
+ model: 'InstitutionalSentimentMetrics',
797
+ error: String(error),
798
+ isRetryable: true,
799
+ transient: true,
800
+ recoveryHint: "Upstream caller should retry on next cycle",
801
+ });
802
+ }
803
+ else {
804
+ logger.error("Database updateMany operation failed", {
805
+ operation: 'updateManyInstitutionalSentimentMetrics',
806
+ model: 'InstitutionalSentimentMetrics',
807
+ error: String(error),
808
+ isRetryable: false,
809
+ });
810
+ }
746
811
  throw error;
747
812
  }
748
813
  }
@@ -864,14 +929,27 @@ export const InstitutionalSentimentMetrics = {
864
929
  await new Promise(resolve => setTimeout(resolve, delay));
865
930
  continue;
866
931
  }
867
- // Log structured error details and rethrow
868
- logger.error("Database delete operation failed", {
869
- operation: 'deleteOneInstitutionalSentimentMetrics',
870
- model: 'InstitutionalSentimentMetrics',
871
- error: String(error),
872
- recordId: props.id,
873
- isRetryable: isConnectionError,
874
- });
932
+ // Log structured error details and rethrow (transient -> WARN).
933
+ if (isConnectionError) {
934
+ logger.warn("Database delete operation failed (transient after retries)", {
935
+ operation: 'deleteOneInstitutionalSentimentMetrics',
936
+ model: 'InstitutionalSentimentMetrics',
937
+ error: String(error),
938
+ recordId: props.id,
939
+ isRetryable: true,
940
+ transient: true,
941
+ recoveryHint: "Upstream caller should retry on next cycle",
942
+ });
943
+ }
944
+ else {
945
+ logger.error("Database delete operation failed", {
946
+ operation: 'deleteOneInstitutionalSentimentMetrics',
947
+ model: 'InstitutionalSentimentMetrics',
948
+ error: String(error),
949
+ recordId: props.id,
950
+ isRetryable: false,
951
+ });
952
+ }
875
953
  throw error;
876
954
  }
877
955
  }
@@ -966,13 +1044,25 @@ export const InstitutionalSentimentMetrics = {
966
1044
  await new Promise(resolve => setTimeout(resolve, delay));
967
1045
  continue;
968
1046
  }
969
- // Log structured error details and rethrow
970
- logger.error("Database get operation failed", {
971
- operation: 'getInstitutionalSentimentMetrics',
972
- model: 'InstitutionalSentimentMetrics',
973
- error: String(error),
974
- isRetryable: isConnectionError,
975
- });
1047
+ // Log structured error details and rethrow (transient -> WARN).
1048
+ if (isConnectionError) {
1049
+ logger.warn("Database get operation failed (transient after retries)", {
1050
+ operation: 'getInstitutionalSentimentMetrics',
1051
+ model: 'InstitutionalSentimentMetrics',
1052
+ error: String(error),
1053
+ isRetryable: true,
1054
+ transient: true,
1055
+ recoveryHint: "Upstream caller should retry on next cycle",
1056
+ });
1057
+ }
1058
+ else {
1059
+ logger.error("Database get operation failed", {
1060
+ operation: 'getInstitutionalSentimentMetrics',
1061
+ model: 'InstitutionalSentimentMetrics',
1062
+ error: String(error),
1063
+ isRetryable: false,
1064
+ });
1065
+ }
976
1066
  throw error;
977
1067
  }
978
1068
  }
@@ -1058,13 +1148,25 @@ export const InstitutionalSentimentMetrics = {
1058
1148
  await new Promise(resolve => setTimeout(resolve, delay));
1059
1149
  continue;
1060
1150
  }
1061
- // Log structured error details and rethrow
1062
- logger.error("Database getAll operation failed", {
1063
- operation: 'getAllInstitutionalSentimentMetrics',
1064
- model: 'InstitutionalSentimentMetrics',
1065
- error: String(error),
1066
- isRetryable: isConnectionError,
1067
- });
1151
+ // Log structured error details and rethrow (transient -> WARN).
1152
+ if (isConnectionError) {
1153
+ logger.warn("Database getAll operation failed (transient after retries)", {
1154
+ operation: 'getAllInstitutionalSentimentMetrics',
1155
+ model: 'InstitutionalSentimentMetrics',
1156
+ error: String(error),
1157
+ isRetryable: true,
1158
+ transient: true,
1159
+ recoveryHint: "Upstream caller should retry on next cycle",
1160
+ });
1161
+ }
1162
+ else {
1163
+ logger.error("Database getAll operation failed", {
1164
+ operation: 'getAllInstitutionalSentimentMetrics',
1165
+ model: 'InstitutionalSentimentMetrics',
1166
+ error: String(error),
1167
+ isRetryable: false,
1168
+ });
1169
+ }
1068
1170
  throw error;
1069
1171
  }
1070
1172
  }
@@ -1171,13 +1273,25 @@ export const InstitutionalSentimentMetrics = {
1171
1273
  await new Promise(resolve => setTimeout(resolve, delay));
1172
1274
  continue;
1173
1275
  }
1174
- // Log structured error details and rethrow
1175
- logger.error("Database findMany operation failed", {
1176
- operation: 'findManyInstitutionalSentimentMetrics',
1177
- model: 'InstitutionalSentimentMetrics',
1178
- error: String(error),
1179
- isRetryable: isConnectionError,
1180
- });
1276
+ // Log structured error details and rethrow (transient -> WARN).
1277
+ if (isConnectionError) {
1278
+ logger.warn("Database findMany operation failed (transient after retries)", {
1279
+ operation: 'findManyInstitutionalSentimentMetrics',
1280
+ model: 'InstitutionalSentimentMetrics',
1281
+ error: String(error),
1282
+ isRetryable: true,
1283
+ transient: true,
1284
+ recoveryHint: "Upstream caller should retry on next cycle",
1285
+ });
1286
+ }
1287
+ else {
1288
+ logger.error("Database findMany operation failed", {
1289
+ operation: 'findManyInstitutionalSentimentMetrics',
1290
+ model: 'InstitutionalSentimentMetrics',
1291
+ error: String(error),
1292
+ isRetryable: false,
1293
+ });
1294
+ }
1181
1295
  throw error;
1182
1296
  }
1183
1297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InviteToken.d.ts","sourceRoot":"","sources":["../../src/InviteToken.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAqBpG,eAAO,MAAM,WAAW;IAEtB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAsbxH;;;;;;;OAOG;sBACqB,eAAe,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;IAwI7K;;;;;;OAMG;kBACiB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAwzCtH;;;;;;OAMG;kBACiB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IA0mDtH;;;;;;OAMG;sBACqB,eAAe,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAuzCrI;;;;;;OAMG;kBACiB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAyItH;;;;;;;OAOG;eACc,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA8GhK;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC;IAkGvG;;;;;;;OAOG;oBACmB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC;CAyHxK,CAAC"}
1
+ {"version":3,"file":"InviteToken.d.ts","sourceRoot":"","sources":["../../src/InviteToken.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAqBpG,eAAO,MAAM,WAAW;IAEtB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAocxH;;;;;;;OAOG;sBACqB,eAAe,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;IAmJ7K;;;;;;OAMG;kBACiB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAo0CtH;;;;;;OAMG;kBACiB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAsnDtH;;;;;;OAMG;sBACqB,eAAe,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAk0CrI;;;;;;OAMG;kBACiB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAqJtH;;;;;;;OAOG;eACc,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAyHhK;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC;IA6GvG;;;;;;;OAOG;oBACmB,eAAe,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC;CAoIxK,CAAC"}