@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
@@ -136,13 +136,28 @@ exports.VerificationToken = {
136
136
  await new Promise(resolve => setTimeout(resolve, delay));
137
137
  continue;
138
138
  }
139
- // Log structured error details and rethrow
140
- logger_1.logger.error("Database create operation failed", {
141
- operation: 'createOneVerificationToken',
142
- model: 'VerificationToken',
143
- error: String(error),
144
- isRetryable: isConnectionError,
145
- });
139
+ // Log structured error details and rethrow.
140
+ // Demote transient failures to WARN with explicit transient+recoveryHint
141
+ // metadata so log analytics can distinguish recoverable upstream retries
142
+ // from true defects.
143
+ if (isConnectionError) {
144
+ logger_1.logger.warn("Database create operation failed (transient after retries)", {
145
+ operation: 'createOneVerificationToken',
146
+ model: 'VerificationToken',
147
+ error: String(error),
148
+ isRetryable: true,
149
+ transient: true,
150
+ recoveryHint: "Upstream caller should retry on next cycle",
151
+ });
152
+ }
153
+ else {
154
+ logger_1.logger.error("Database create operation failed", {
155
+ operation: 'createOneVerificationToken',
156
+ model: 'VerificationToken',
157
+ error: String(error),
158
+ isRetryable: false,
159
+ });
160
+ }
146
161
  throw error;
147
162
  }
148
163
  }
@@ -263,13 +278,25 @@ exports.VerificationToken = {
263
278
  await new Promise(resolve => setTimeout(resolve, delay));
264
279
  continue;
265
280
  }
266
- // Log structured error details and rethrow
267
- logger_1.logger.error("Database createMany operation failed", {
268
- operation: 'createManyVerificationToken',
269
- model: 'VerificationToken',
270
- error: String(error),
271
- isRetryable: isConnectionError,
272
- });
281
+ // Log structured error details and rethrow (transient -> WARN).
282
+ if (isConnectionError) {
283
+ logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
284
+ operation: 'createManyVerificationToken',
285
+ model: 'VerificationToken',
286
+ error: String(error),
287
+ isRetryable: true,
288
+ transient: true,
289
+ recoveryHint: "Upstream caller should retry on next cycle",
290
+ });
291
+ }
292
+ else {
293
+ logger_1.logger.error("Database createMany operation failed", {
294
+ operation: 'createManyVerificationToken',
295
+ model: 'VerificationToken',
296
+ error: String(error),
297
+ isRetryable: false,
298
+ });
299
+ }
273
300
  throw error;
274
301
  }
275
302
  }
@@ -403,14 +430,27 @@ exports.VerificationToken = {
403
430
  await new Promise(resolve => setTimeout(resolve, delay));
404
431
  continue;
405
432
  }
406
- // Log structured error details and rethrow
407
- logger_1.logger.error("Database update operation failed", {
408
- operation: 'updateOneVerificationToken',
409
- model: 'VerificationToken',
410
- error: String(error),
411
- recordId: props.id,
412
- isRetryable: isConnectionError,
413
- });
433
+ // Log structured error details and rethrow (transient -> WARN).
434
+ if (isConnectionError) {
435
+ logger_1.logger.warn("Database update operation failed (transient after retries)", {
436
+ operation: 'updateOneVerificationToken',
437
+ model: 'VerificationToken',
438
+ error: String(error),
439
+ recordId: props.id,
440
+ isRetryable: true,
441
+ transient: true,
442
+ recoveryHint: "Upstream caller should retry on next cycle",
443
+ });
444
+ }
445
+ else {
446
+ logger_1.logger.error("Database update operation failed", {
447
+ operation: 'updateOneVerificationToken',
448
+ model: 'VerificationToken',
449
+ error: String(error),
450
+ recordId: props.id,
451
+ isRetryable: false,
452
+ });
453
+ }
414
454
  throw error;
415
455
  }
416
456
  }
@@ -546,14 +586,27 @@ exports.VerificationToken = {
546
586
  await new Promise(resolve => setTimeout(resolve, delay));
547
587
  continue;
548
588
  }
549
- // Log structured error details and rethrow
550
- logger_1.logger.error("Database upsert operation failed", {
551
- operation: 'upsertOneVerificationToken',
552
- model: 'VerificationToken',
553
- error: String(error),
554
- recordId: props.id,
555
- isRetryable: isConnectionError,
556
- });
589
+ // Log structured error details and rethrow (transient -> WARN).
590
+ if (isConnectionError) {
591
+ logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
592
+ operation: 'upsertOneVerificationToken',
593
+ model: 'VerificationToken',
594
+ error: String(error),
595
+ recordId: props.id,
596
+ isRetryable: true,
597
+ transient: true,
598
+ recoveryHint: "Upstream caller should retry on next cycle",
599
+ });
600
+ }
601
+ else {
602
+ logger_1.logger.error("Database upsert operation failed", {
603
+ operation: 'upsertOneVerificationToken',
604
+ model: 'VerificationToken',
605
+ error: String(error),
606
+ recordId: props.id,
607
+ isRetryable: false,
608
+ });
609
+ }
557
610
  throw error;
558
611
  }
559
612
  }
@@ -685,13 +738,25 @@ exports.VerificationToken = {
685
738
  await new Promise(resolve => setTimeout(resolve, delay));
686
739
  continue;
687
740
  }
688
- // Log structured error details and rethrow
689
- logger_1.logger.error("Database updateMany operation failed", {
690
- operation: 'updateManyVerificationToken',
691
- model: 'VerificationToken',
692
- error: String(error),
693
- isRetryable: isConnectionError,
694
- });
741
+ // Log structured error details and rethrow (transient -> WARN).
742
+ if (isConnectionError) {
743
+ logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
744
+ operation: 'updateManyVerificationToken',
745
+ model: 'VerificationToken',
746
+ error: String(error),
747
+ isRetryable: true,
748
+ transient: true,
749
+ recoveryHint: "Upstream caller should retry on next cycle",
750
+ });
751
+ }
752
+ else {
753
+ logger_1.logger.error("Database updateMany operation failed", {
754
+ operation: 'updateManyVerificationToken',
755
+ model: 'VerificationToken',
756
+ error: String(error),
757
+ isRetryable: false,
758
+ });
759
+ }
695
760
  throw error;
696
761
  }
697
762
  }
@@ -814,14 +879,27 @@ exports.VerificationToken = {
814
879
  await new Promise(resolve => setTimeout(resolve, delay));
815
880
  continue;
816
881
  }
817
- // Log structured error details and rethrow
818
- logger_1.logger.error("Database delete operation failed", {
819
- operation: 'deleteOneVerificationToken',
820
- model: 'VerificationToken',
821
- error: String(error),
822
- recordId: props.id,
823
- isRetryable: isConnectionError,
824
- });
882
+ // Log structured error details and rethrow (transient -> WARN).
883
+ if (isConnectionError) {
884
+ logger_1.logger.warn("Database delete operation failed (transient after retries)", {
885
+ operation: 'deleteOneVerificationToken',
886
+ model: 'VerificationToken',
887
+ error: String(error),
888
+ recordId: props.id,
889
+ isRetryable: true,
890
+ transient: true,
891
+ recoveryHint: "Upstream caller should retry on next cycle",
892
+ });
893
+ }
894
+ else {
895
+ logger_1.logger.error("Database delete operation failed", {
896
+ operation: 'deleteOneVerificationToken',
897
+ model: 'VerificationToken',
898
+ error: String(error),
899
+ recordId: props.id,
900
+ isRetryable: false,
901
+ });
902
+ }
825
903
  throw error;
826
904
  }
827
905
  }
@@ -917,13 +995,25 @@ exports.VerificationToken = {
917
995
  await new Promise(resolve => setTimeout(resolve, delay));
918
996
  continue;
919
997
  }
920
- // Log structured error details and rethrow
921
- logger_1.logger.error("Database get operation failed", {
922
- operation: 'getVerificationToken',
923
- model: 'VerificationToken',
924
- error: String(error),
925
- isRetryable: isConnectionError,
926
- });
998
+ // Log structured error details and rethrow (transient -> WARN).
999
+ if (isConnectionError) {
1000
+ logger_1.logger.warn("Database get operation failed (transient after retries)", {
1001
+ operation: 'getVerificationToken',
1002
+ model: 'VerificationToken',
1003
+ error: String(error),
1004
+ isRetryable: true,
1005
+ transient: true,
1006
+ recoveryHint: "Upstream caller should retry on next cycle",
1007
+ });
1008
+ }
1009
+ else {
1010
+ logger_1.logger.error("Database get operation failed", {
1011
+ operation: 'getVerificationToken',
1012
+ model: 'VerificationToken',
1013
+ error: String(error),
1014
+ isRetryable: false,
1015
+ });
1016
+ }
927
1017
  throw error;
928
1018
  }
929
1019
  }
@@ -1010,13 +1100,25 @@ exports.VerificationToken = {
1010
1100
  await new Promise(resolve => setTimeout(resolve, delay));
1011
1101
  continue;
1012
1102
  }
1013
- // Log structured error details and rethrow
1014
- logger_1.logger.error("Database getAll operation failed", {
1015
- operation: 'getAllVerificationToken',
1016
- model: 'VerificationToken',
1017
- error: String(error),
1018
- isRetryable: isConnectionError,
1019
- });
1103
+ // Log structured error details and rethrow (transient -> WARN).
1104
+ if (isConnectionError) {
1105
+ logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
1106
+ operation: 'getAllVerificationToken',
1107
+ model: 'VerificationToken',
1108
+ error: String(error),
1109
+ isRetryable: true,
1110
+ transient: true,
1111
+ recoveryHint: "Upstream caller should retry on next cycle",
1112
+ });
1113
+ }
1114
+ else {
1115
+ logger_1.logger.error("Database getAll operation failed", {
1116
+ operation: 'getAllVerificationToken',
1117
+ model: 'VerificationToken',
1118
+ error: String(error),
1119
+ isRetryable: false,
1120
+ });
1121
+ }
1020
1122
  throw error;
1021
1123
  }
1022
1124
  }
@@ -1124,13 +1226,25 @@ exports.VerificationToken = {
1124
1226
  await new Promise(resolve => setTimeout(resolve, delay));
1125
1227
  continue;
1126
1228
  }
1127
- // Log structured error details and rethrow
1128
- logger_1.logger.error("Database findMany operation failed", {
1129
- operation: 'findManyVerificationToken',
1130
- model: 'VerificationToken',
1131
- error: String(error),
1132
- isRetryable: isConnectionError,
1133
- });
1229
+ // Log structured error details and rethrow (transient -> WARN).
1230
+ if (isConnectionError) {
1231
+ logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
1232
+ operation: 'findManyVerificationToken',
1233
+ model: 'VerificationToken',
1234
+ error: String(error),
1235
+ isRetryable: true,
1236
+ transient: true,
1237
+ recoveryHint: "Upstream caller should retry on next cycle",
1238
+ });
1239
+ }
1240
+ else {
1241
+ logger_1.logger.error("Database findMany operation failed", {
1242
+ operation: 'findManyVerificationToken',
1243
+ model: 'VerificationToken',
1244
+ error: String(error),
1245
+ isRetryable: false,
1246
+ });
1247
+ }
1134
1248
  throw error;
1135
1249
  }
1136
1250
  }
package/WaitlistEntry.cjs CHANGED
@@ -606,13 +606,28 @@ exports.WaitlistEntry = {
606
606
  await new Promise(resolve => setTimeout(resolve, delay));
607
607
  continue;
608
608
  }
609
- // Log structured error details and rethrow
610
- logger_1.logger.error("Database create operation failed", {
611
- operation: 'createOneWaitlistEntry',
612
- model: 'WaitlistEntry',
613
- error: String(error),
614
- isRetryable: isConnectionError,
615
- });
609
+ // Log structured error details and rethrow.
610
+ // Demote transient failures to WARN with explicit transient+recoveryHint
611
+ // metadata so log analytics can distinguish recoverable upstream retries
612
+ // from true defects.
613
+ if (isConnectionError) {
614
+ logger_1.logger.warn("Database create operation failed (transient after retries)", {
615
+ operation: 'createOneWaitlistEntry',
616
+ model: 'WaitlistEntry',
617
+ error: String(error),
618
+ isRetryable: true,
619
+ transient: true,
620
+ recoveryHint: "Upstream caller should retry on next cycle",
621
+ });
622
+ }
623
+ else {
624
+ logger_1.logger.error("Database create operation failed", {
625
+ operation: 'createOneWaitlistEntry',
626
+ model: 'WaitlistEntry',
627
+ error: String(error),
628
+ isRetryable: false,
629
+ });
630
+ }
616
631
  throw error;
617
632
  }
618
633
  }
@@ -740,13 +755,25 @@ exports.WaitlistEntry = {
740
755
  await new Promise(resolve => setTimeout(resolve, delay));
741
756
  continue;
742
757
  }
743
- // Log structured error details and rethrow
744
- logger_1.logger.error("Database createMany operation failed", {
745
- operation: 'createManyWaitlistEntry',
746
- model: 'WaitlistEntry',
747
- error: String(error),
748
- isRetryable: isConnectionError,
749
- });
758
+ // Log structured error details and rethrow (transient -> WARN).
759
+ if (isConnectionError) {
760
+ logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
761
+ operation: 'createManyWaitlistEntry',
762
+ model: 'WaitlistEntry',
763
+ error: String(error),
764
+ isRetryable: true,
765
+ transient: true,
766
+ recoveryHint: "Upstream caller should retry on next cycle",
767
+ });
768
+ }
769
+ else {
770
+ logger_1.logger.error("Database createMany operation failed", {
771
+ operation: 'createManyWaitlistEntry',
772
+ model: 'WaitlistEntry',
773
+ error: String(error),
774
+ isRetryable: false,
775
+ });
776
+ }
750
777
  throw error;
751
778
  }
752
779
  }
@@ -2483,14 +2510,27 @@ exports.WaitlistEntry = {
2483
2510
  await new Promise(resolve => setTimeout(resolve, delay));
2484
2511
  continue;
2485
2512
  }
2486
- // Log structured error details and rethrow
2487
- logger_1.logger.error("Database update operation failed", {
2488
- operation: 'updateOneWaitlistEntry',
2489
- model: 'WaitlistEntry',
2490
- error: String(error),
2491
- recordId: props.id,
2492
- isRetryable: isConnectionError,
2493
- });
2513
+ // Log structured error details and rethrow (transient -> WARN).
2514
+ if (isConnectionError) {
2515
+ logger_1.logger.warn("Database update operation failed (transient after retries)", {
2516
+ operation: 'updateOneWaitlistEntry',
2517
+ model: 'WaitlistEntry',
2518
+ error: String(error),
2519
+ recordId: props.id,
2520
+ isRetryable: true,
2521
+ transient: true,
2522
+ recoveryHint: "Upstream caller should retry on next cycle",
2523
+ });
2524
+ }
2525
+ else {
2526
+ logger_1.logger.error("Database update operation failed", {
2527
+ operation: 'updateOneWaitlistEntry',
2528
+ model: 'WaitlistEntry',
2529
+ error: String(error),
2530
+ recordId: props.id,
2531
+ isRetryable: false,
2532
+ });
2533
+ }
2494
2534
  throw error;
2495
2535
  }
2496
2536
  }
@@ -4678,14 +4718,27 @@ exports.WaitlistEntry = {
4678
4718
  await new Promise(resolve => setTimeout(resolve, delay));
4679
4719
  continue;
4680
4720
  }
4681
- // Log structured error details and rethrow
4682
- logger_1.logger.error("Database upsert operation failed", {
4683
- operation: 'upsertOneWaitlistEntry',
4684
- model: 'WaitlistEntry',
4685
- error: String(error),
4686
- recordId: props.id,
4687
- isRetryable: isConnectionError,
4688
- });
4721
+ // Log structured error details and rethrow (transient -> WARN).
4722
+ if (isConnectionError) {
4723
+ logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
4724
+ operation: 'upsertOneWaitlistEntry',
4725
+ model: 'WaitlistEntry',
4726
+ error: String(error),
4727
+ recordId: props.id,
4728
+ isRetryable: true,
4729
+ transient: true,
4730
+ recoveryHint: "Upstream caller should retry on next cycle",
4731
+ });
4732
+ }
4733
+ else {
4734
+ logger_1.logger.error("Database upsert operation failed", {
4735
+ operation: 'upsertOneWaitlistEntry',
4736
+ model: 'WaitlistEntry',
4737
+ error: String(error),
4738
+ recordId: props.id,
4739
+ isRetryable: false,
4740
+ });
4741
+ }
4689
4742
  throw error;
4690
4743
  }
4691
4744
  }
@@ -6420,13 +6473,25 @@ exports.WaitlistEntry = {
6420
6473
  await new Promise(resolve => setTimeout(resolve, delay));
6421
6474
  continue;
6422
6475
  }
6423
- // Log structured error details and rethrow
6424
- logger_1.logger.error("Database updateMany operation failed", {
6425
- operation: 'updateManyWaitlistEntry',
6426
- model: 'WaitlistEntry',
6427
- error: String(error),
6428
- isRetryable: isConnectionError,
6429
- });
6476
+ // Log structured error details and rethrow (transient -> WARN).
6477
+ if (isConnectionError) {
6478
+ logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
6479
+ operation: 'updateManyWaitlistEntry',
6480
+ model: 'WaitlistEntry',
6481
+ error: String(error),
6482
+ isRetryable: true,
6483
+ transient: true,
6484
+ recoveryHint: "Upstream caller should retry on next cycle",
6485
+ });
6486
+ }
6487
+ else {
6488
+ logger_1.logger.error("Database updateMany operation failed", {
6489
+ operation: 'updateManyWaitlistEntry',
6490
+ model: 'WaitlistEntry',
6491
+ error: String(error),
6492
+ isRetryable: false,
6493
+ });
6494
+ }
6430
6495
  throw error;
6431
6496
  }
6432
6497
  }
@@ -6549,14 +6614,27 @@ exports.WaitlistEntry = {
6549
6614
  await new Promise(resolve => setTimeout(resolve, delay));
6550
6615
  continue;
6551
6616
  }
6552
- // Log structured error details and rethrow
6553
- logger_1.logger.error("Database delete operation failed", {
6554
- operation: 'deleteOneWaitlistEntry',
6555
- model: 'WaitlistEntry',
6556
- error: String(error),
6557
- recordId: props.id,
6558
- isRetryable: isConnectionError,
6559
- });
6617
+ // Log structured error details and rethrow (transient -> WARN).
6618
+ if (isConnectionError) {
6619
+ logger_1.logger.warn("Database delete operation failed (transient after retries)", {
6620
+ operation: 'deleteOneWaitlistEntry',
6621
+ model: 'WaitlistEntry',
6622
+ error: String(error),
6623
+ recordId: props.id,
6624
+ isRetryable: true,
6625
+ transient: true,
6626
+ recoveryHint: "Upstream caller should retry on next cycle",
6627
+ });
6628
+ }
6629
+ else {
6630
+ logger_1.logger.error("Database delete operation failed", {
6631
+ operation: 'deleteOneWaitlistEntry',
6632
+ model: 'WaitlistEntry',
6633
+ error: String(error),
6634
+ recordId: props.id,
6635
+ isRetryable: false,
6636
+ });
6637
+ }
6560
6638
  throw error;
6561
6639
  }
6562
6640
  }
@@ -6656,13 +6734,25 @@ exports.WaitlistEntry = {
6656
6734
  await new Promise(resolve => setTimeout(resolve, delay));
6657
6735
  continue;
6658
6736
  }
6659
- // Log structured error details and rethrow
6660
- logger_1.logger.error("Database get operation failed", {
6661
- operation: 'getWaitlistEntry',
6662
- model: 'WaitlistEntry',
6663
- error: String(error),
6664
- isRetryable: isConnectionError,
6665
- });
6737
+ // Log structured error details and rethrow (transient -> WARN).
6738
+ if (isConnectionError) {
6739
+ logger_1.logger.warn("Database get operation failed (transient after retries)", {
6740
+ operation: 'getWaitlistEntry',
6741
+ model: 'WaitlistEntry',
6742
+ error: String(error),
6743
+ isRetryable: true,
6744
+ transient: true,
6745
+ recoveryHint: "Upstream caller should retry on next cycle",
6746
+ });
6747
+ }
6748
+ else {
6749
+ logger_1.logger.error("Database get operation failed", {
6750
+ operation: 'getWaitlistEntry',
6751
+ model: 'WaitlistEntry',
6752
+ error: String(error),
6753
+ isRetryable: false,
6754
+ });
6755
+ }
6666
6756
  throw error;
6667
6757
  }
6668
6758
  }
@@ -6749,13 +6839,25 @@ exports.WaitlistEntry = {
6749
6839
  await new Promise(resolve => setTimeout(resolve, delay));
6750
6840
  continue;
6751
6841
  }
6752
- // Log structured error details and rethrow
6753
- logger_1.logger.error("Database getAll operation failed", {
6754
- operation: 'getAllWaitlistEntry',
6755
- model: 'WaitlistEntry',
6756
- error: String(error),
6757
- isRetryable: isConnectionError,
6758
- });
6842
+ // Log structured error details and rethrow (transient -> WARN).
6843
+ if (isConnectionError) {
6844
+ logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
6845
+ operation: 'getAllWaitlistEntry',
6846
+ model: 'WaitlistEntry',
6847
+ error: String(error),
6848
+ isRetryable: true,
6849
+ transient: true,
6850
+ recoveryHint: "Upstream caller should retry on next cycle",
6851
+ });
6852
+ }
6853
+ else {
6854
+ logger_1.logger.error("Database getAll operation failed", {
6855
+ operation: 'getAllWaitlistEntry',
6856
+ model: 'WaitlistEntry',
6857
+ error: String(error),
6858
+ isRetryable: false,
6859
+ });
6860
+ }
6759
6861
  throw error;
6760
6862
  }
6761
6863
  }
@@ -6869,13 +6971,25 @@ exports.WaitlistEntry = {
6869
6971
  await new Promise(resolve => setTimeout(resolve, delay));
6870
6972
  continue;
6871
6973
  }
6872
- // Log structured error details and rethrow
6873
- logger_1.logger.error("Database findMany operation failed", {
6874
- operation: 'findManyWaitlistEntry',
6875
- model: 'WaitlistEntry',
6876
- error: String(error),
6877
- isRetryable: isConnectionError,
6878
- });
6974
+ // Log structured error details and rethrow (transient -> WARN).
6975
+ if (isConnectionError) {
6976
+ logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
6977
+ operation: 'findManyWaitlistEntry',
6978
+ model: 'WaitlistEntry',
6979
+ error: String(error),
6980
+ isRetryable: true,
6981
+ transient: true,
6982
+ recoveryHint: "Upstream caller should retry on next cycle",
6983
+ });
6984
+ }
6985
+ else {
6986
+ logger_1.logger.error("Database findMany operation failed", {
6987
+ operation: 'findManyWaitlistEntry',
6988
+ model: 'WaitlistEntry',
6989
+ error: String(error),
6990
+ isRetryable: false,
6991
+ });
6992
+ }
6879
6993
  throw error;
6880
6994
  }
6881
6995
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ABTest.d.ts","sourceRoot":"","sources":["../../src/ABTest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAsLpG,eAAO,MAAM,MAAM;IAEjB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAklD9G;;;;;;;OAOG;sBACqB,UAAU,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;IA4JxK;;;;;;OAMG;kBACiB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAy3L5G;;;;;;OAMG;kBACiB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IA40O5G;;;;;;OAMG;sBACqB,UAAU,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAw3LhI;;;;;;OAMG;kBACiB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAyI5G;;;;;;;OAOG;eACc,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAsHtJ;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;IAkGlG;;;;;;;OAOG;oBACmB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;CAkI9J,CAAC"}
1
+ {"version":3,"file":"ABTest.d.ts","sourceRoot":"","sources":["../../src/ABTest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAmB,gBAAgB,EAAE,qBAAqB,EAAoB,MAAM,UAAU,CAAC;AAsLpG,eAAO,MAAM,MAAM;IAEjB;;;;;OAKG;IAEH;;;;;;OAMG;kBACiB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAgmD9G;;;;;;;OAOG;sBACqB,UAAU,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;IAuKxK;;;;;;OAMG;kBACiB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAq4L5G;;;;;;OAMG;kBACiB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAw1O5G;;;;;;OAMG;sBACqB,UAAU,EAAE,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAm4LhI;;;;;;OAMG;kBACiB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAqJ5G;;;;;;;OAOG;eACc,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAiItJ;;;;;OAKG;0BACyB,gBAAgB,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;IA6GlG;;;;;;;OAOG;oBACmB,UAAU,iBAAiB,gBAAgB,CAAC,qBAAqB,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;CA6I9J,CAAC"}