@adaptic/backend-legacy 0.0.960 → 0.0.962

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 (269) 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/client.cjs +131 -9
  66. package/client.d.ts +32 -0
  67. package/esm/ABTest.d.ts.map +1 -1
  68. package/esm/ABTest.js.map +1 -1
  69. package/esm/ABTest.mjs +180 -66
  70. package/esm/Account.d.ts.map +1 -1
  71. package/esm/Account.js.map +1 -1
  72. package/esm/Account.mjs +180 -66
  73. package/esm/AccountDecisionRecord.d.ts.map +1 -1
  74. package/esm/AccountDecisionRecord.js.map +1 -1
  75. package/esm/AccountDecisionRecord.mjs +180 -66
  76. package/esm/AccountLinkingRequest.d.ts.map +1 -1
  77. package/esm/AccountLinkingRequest.js.map +1 -1
  78. package/esm/AccountLinkingRequest.mjs +180 -66
  79. package/esm/Action.d.ts.map +1 -1
  80. package/esm/Action.js.map +1 -1
  81. package/esm/Action.mjs +180 -66
  82. package/esm/Alert.d.ts.map +1 -1
  83. package/esm/Alert.js.map +1 -1
  84. package/esm/Alert.mjs +180 -66
  85. package/esm/Allocation.d.ts.map +1 -1
  86. package/esm/Allocation.js.map +1 -1
  87. package/esm/Allocation.mjs +180 -66
  88. package/esm/AlpacaAccount.d.ts.map +1 -1
  89. package/esm/AlpacaAccount.js.map +1 -1
  90. package/esm/AlpacaAccount.mjs +180 -66
  91. package/esm/AnalyticsConfiguration.d.ts.map +1 -1
  92. package/esm/AnalyticsConfiguration.js.map +1 -1
  93. package/esm/AnalyticsConfiguration.mjs +180 -66
  94. package/esm/AnalyticsSnapshot.d.ts.map +1 -1
  95. package/esm/AnalyticsSnapshot.js.map +1 -1
  96. package/esm/AnalyticsSnapshot.mjs +180 -66
  97. package/esm/Asset.d.ts.map +1 -1
  98. package/esm/Asset.js.map +1 -1
  99. package/esm/Asset.mjs +180 -66
  100. package/esm/AuditLog.d.ts.map +1 -1
  101. package/esm/AuditLog.js.map +1 -1
  102. package/esm/AuditLog.mjs +180 -66
  103. package/esm/Authenticator.d.ts.map +1 -1
  104. package/esm/Authenticator.js.map +1 -1
  105. package/esm/Authenticator.mjs +180 -66
  106. package/esm/Configuration.d.ts.map +1 -1
  107. package/esm/Configuration.js.map +1 -1
  108. package/esm/Configuration.mjs +180 -66
  109. package/esm/ConflictEvent.d.ts.map +1 -1
  110. package/esm/ConflictEvent.js.map +1 -1
  111. package/esm/ConflictEvent.mjs +180 -66
  112. package/esm/ConnectionHealthSnapshot.d.ts.map +1 -1
  113. package/esm/ConnectionHealthSnapshot.js.map +1 -1
  114. package/esm/ConnectionHealthSnapshot.mjs +180 -66
  115. package/esm/Customer.d.ts.map +1 -1
  116. package/esm/Customer.js.map +1 -1
  117. package/esm/Customer.mjs +180 -66
  118. package/esm/DeadLetterMessage.d.ts.map +1 -1
  119. package/esm/DeadLetterMessage.js.map +1 -1
  120. package/esm/DeadLetterMessage.mjs +180 -66
  121. package/esm/DecisionMemorySummary.d.ts.map +1 -1
  122. package/esm/DecisionMemorySummary.js.map +1 -1
  123. package/esm/DecisionMemorySummary.mjs +180 -66
  124. package/esm/EconomicEvent.d.ts.map +1 -1
  125. package/esm/EconomicEvent.js.map +1 -1
  126. package/esm/EconomicEvent.mjs +180 -66
  127. package/esm/EquityBar.d.ts.map +1 -1
  128. package/esm/EquityBar.js.map +1 -1
  129. package/esm/EquityBar.mjs +180 -66
  130. package/esm/Event.d.ts.map +1 -1
  131. package/esm/Event.js.map +1 -1
  132. package/esm/Event.mjs +180 -66
  133. package/esm/EventSnapshot.d.ts.map +1 -1
  134. package/esm/EventSnapshot.js.map +1 -1
  135. package/esm/EventSnapshot.mjs +180 -66
  136. package/esm/FeatureImportanceAnalysis.d.ts.map +1 -1
  137. package/esm/FeatureImportanceAnalysis.js.map +1 -1
  138. package/esm/FeatureImportanceAnalysis.mjs +180 -66
  139. package/esm/InstitutionalFlowSignal.d.ts.map +1 -1
  140. package/esm/InstitutionalFlowSignal.js.map +1 -1
  141. package/esm/InstitutionalFlowSignal.mjs +180 -66
  142. package/esm/InstitutionalHolding.d.ts.map +1 -1
  143. package/esm/InstitutionalHolding.js.map +1 -1
  144. package/esm/InstitutionalHolding.mjs +180 -66
  145. package/esm/InstitutionalSentimentAlerts.d.ts.map +1 -1
  146. package/esm/InstitutionalSentimentAlerts.js.map +1 -1
  147. package/esm/InstitutionalSentimentAlerts.mjs +180 -66
  148. package/esm/InstitutionalSentimentErrors.d.ts.map +1 -1
  149. package/esm/InstitutionalSentimentErrors.js.map +1 -1
  150. package/esm/InstitutionalSentimentErrors.mjs +180 -66
  151. package/esm/InstitutionalSentimentHistory.d.ts.map +1 -1
  152. package/esm/InstitutionalSentimentHistory.js.map +1 -1
  153. package/esm/InstitutionalSentimentHistory.mjs +180 -66
  154. package/esm/InstitutionalSentimentMetrics.d.ts.map +1 -1
  155. package/esm/InstitutionalSentimentMetrics.js.map +1 -1
  156. package/esm/InstitutionalSentimentMetrics.mjs +180 -66
  157. package/esm/InviteToken.d.ts.map +1 -1
  158. package/esm/InviteToken.js.map +1 -1
  159. package/esm/InviteToken.mjs +180 -66
  160. package/esm/LinkedProvider.d.ts.map +1 -1
  161. package/esm/LinkedProvider.js.map +1 -1
  162. package/esm/LinkedProvider.mjs +180 -66
  163. package/esm/LlmConfiguration.d.ts.map +1 -1
  164. package/esm/LlmConfiguration.js.map +1 -1
  165. package/esm/LlmConfiguration.mjs +180 -66
  166. package/esm/MLModelVersion.d.ts.map +1 -1
  167. package/esm/MLModelVersion.js.map +1 -1
  168. package/esm/MLModelVersion.mjs +180 -66
  169. package/esm/MLTrainingData.d.ts.map +1 -1
  170. package/esm/MLTrainingData.js.map +1 -1
  171. package/esm/MLTrainingData.mjs +180 -66
  172. package/esm/MarketSentiment.d.ts.map +1 -1
  173. package/esm/MarketSentiment.js.map +1 -1
  174. package/esm/MarketSentiment.mjs +180 -66
  175. package/esm/ModelArtifact.d.ts.map +1 -1
  176. package/esm/ModelArtifact.js.map +1 -1
  177. package/esm/ModelArtifact.mjs +180 -66
  178. package/esm/ModelVersion.d.ts.map +1 -1
  179. package/esm/ModelVersion.js.map +1 -1
  180. package/esm/ModelVersion.mjs +180 -66
  181. package/esm/ModelVersionArtifact.d.ts.map +1 -1
  182. package/esm/ModelVersionArtifact.js.map +1 -1
  183. package/esm/ModelVersionArtifact.mjs +180 -66
  184. package/esm/NewsArticle.d.ts.map +1 -1
  185. package/esm/NewsArticle.js.map +1 -1
  186. package/esm/NewsArticle.mjs +180 -66
  187. package/esm/NewsArticleAssetSentiment.d.ts.map +1 -1
  188. package/esm/NewsArticleAssetSentiment.js.map +1 -1
  189. package/esm/NewsArticleAssetSentiment.mjs +180 -66
  190. package/esm/OptionsContract.d.ts.map +1 -1
  191. package/esm/OptionsContract.js.map +1 -1
  192. package/esm/OptionsContract.mjs +180 -66
  193. package/esm/OptionsGreeksHistory.d.ts.map +1 -1
  194. package/esm/OptionsGreeksHistory.js.map +1 -1
  195. package/esm/OptionsGreeksHistory.mjs +180 -66
  196. package/esm/OptionsPosition.d.ts.map +1 -1
  197. package/esm/OptionsPosition.js.map +1 -1
  198. package/esm/OptionsPosition.mjs +180 -66
  199. package/esm/OptionsPositionEvent.d.ts.map +1 -1
  200. package/esm/OptionsPositionEvent.js.map +1 -1
  201. package/esm/OptionsPositionEvent.mjs +180 -66
  202. package/esm/OptionsTradeExecution.d.ts.map +1 -1
  203. package/esm/OptionsTradeExecution.js.map +1 -1
  204. package/esm/OptionsTradeExecution.mjs +180 -66
  205. package/esm/PolicyOverlay.d.ts.map +1 -1
  206. package/esm/PolicyOverlay.js.map +1 -1
  207. package/esm/PolicyOverlay.mjs +180 -66
  208. package/esm/PortfolioGreeksHistory.d.ts.map +1 -1
  209. package/esm/PortfolioGreeksHistory.js.map +1 -1
  210. package/esm/PortfolioGreeksHistory.mjs +180 -66
  211. package/esm/ScheduledOptionOrder.d.ts.map +1 -1
  212. package/esm/ScheduledOptionOrder.js.map +1 -1
  213. package/esm/ScheduledOptionOrder.mjs +180 -66
  214. package/esm/Session.d.ts.map +1 -1
  215. package/esm/Session.js.map +1 -1
  216. package/esm/Session.mjs +180 -66
  217. package/esm/SignalGeneratorMetrics.d.ts.map +1 -1
  218. package/esm/SignalGeneratorMetrics.js.map +1 -1
  219. package/esm/SignalGeneratorMetrics.mjs +180 -66
  220. package/esm/SignalLineage.d.ts.map +1 -1
  221. package/esm/SignalLineage.js.map +1 -1
  222. package/esm/SignalLineage.mjs +180 -66
  223. package/esm/SignalOutcome.d.ts.map +1 -1
  224. package/esm/SignalOutcome.js.map +1 -1
  225. package/esm/SignalOutcome.mjs +180 -66
  226. package/esm/SignalPriorityQueue.d.ts.map +1 -1
  227. package/esm/SignalPriorityQueue.js.map +1 -1
  228. package/esm/SignalPriorityQueue.mjs +180 -66
  229. package/esm/SyncEvent.d.ts.map +1 -1
  230. package/esm/SyncEvent.js.map +1 -1
  231. package/esm/SyncEvent.mjs +180 -66
  232. package/esm/SystemAlert.d.ts.map +1 -1
  233. package/esm/SystemAlert.js.map +1 -1
  234. package/esm/SystemAlert.mjs +180 -66
  235. package/esm/Trade.d.ts.map +1 -1
  236. package/esm/Trade.js.map +1 -1
  237. package/esm/Trade.mjs +180 -66
  238. package/esm/TradeAuditEvent.d.ts.map +1 -1
  239. package/esm/TradeAuditEvent.js.map +1 -1
  240. package/esm/TradeAuditEvent.mjs +180 -66
  241. package/esm/TradeExecutionHistory.d.ts.map +1 -1
  242. package/esm/TradeExecutionHistory.js.map +1 -1
  243. package/esm/TradeExecutionHistory.mjs +180 -66
  244. package/esm/TradeOutcome.d.ts.map +1 -1
  245. package/esm/TradeOutcome.js.map +1 -1
  246. package/esm/TradeOutcome.mjs +180 -66
  247. package/esm/TradingPolicy.d.ts.map +1 -1
  248. package/esm/TradingPolicy.js.map +1 -1
  249. package/esm/TradingPolicy.mjs +180 -66
  250. package/esm/User.d.ts.map +1 -1
  251. package/esm/User.js.map +1 -1
  252. package/esm/User.mjs +180 -66
  253. package/esm/VerificationToken.d.ts.map +1 -1
  254. package/esm/VerificationToken.js.map +1 -1
  255. package/esm/VerificationToken.mjs +180 -66
  256. package/esm/WaitlistEntry.d.ts.map +1 -1
  257. package/esm/WaitlistEntry.js.map +1 -1
  258. package/esm/WaitlistEntry.mjs +180 -66
  259. package/esm/client.d.ts +32 -0
  260. package/esm/client.d.ts.map +1 -1
  261. package/esm/client.js.map +1 -1
  262. package/esm/client.mjs +130 -9
  263. package/esm/index.d.ts +2 -2
  264. package/esm/index.d.ts.map +1 -1
  265. package/esm/index.js.map +1 -1
  266. package/esm/index.mjs +1 -1
  267. package/index.cjs +2 -1
  268. package/index.d.ts +2 -2
  269. package/package.json +1 -1
package/InviteToken.cjs CHANGED
@@ -443,13 +443,28 @@ exports.InviteToken = {
443
443
  await new Promise(resolve => setTimeout(resolve, delay));
444
444
  continue;
445
445
  }
446
- // Log structured error details and rethrow
447
- logger_1.logger.error("Database create operation failed", {
448
- operation: 'createOneInviteToken',
449
- model: 'InviteToken',
450
- error: String(error),
451
- isRetryable: isConnectionError,
452
- });
446
+ // Log structured error details and rethrow.
447
+ // Demote transient failures to WARN with explicit transient+recoveryHint
448
+ // metadata so log analytics can distinguish recoverable upstream retries
449
+ // from true defects.
450
+ if (isConnectionError) {
451
+ logger_1.logger.warn("Database create operation failed (transient after retries)", {
452
+ operation: 'createOneInviteToken',
453
+ model: 'InviteToken',
454
+ error: String(error),
455
+ isRetryable: true,
456
+ transient: true,
457
+ recoveryHint: "Upstream caller should retry on next cycle",
458
+ });
459
+ }
460
+ else {
461
+ logger_1.logger.error("Database create operation failed", {
462
+ operation: 'createOneInviteToken',
463
+ model: 'InviteToken',
464
+ error: String(error),
465
+ isRetryable: false,
466
+ });
467
+ }
453
468
  throw error;
454
469
  }
455
470
  }
@@ -573,13 +588,25 @@ exports.InviteToken = {
573
588
  await new Promise(resolve => setTimeout(resolve, delay));
574
589
  continue;
575
590
  }
576
- // Log structured error details and rethrow
577
- logger_1.logger.error("Database createMany operation failed", {
578
- operation: 'createManyInviteToken',
579
- model: 'InviteToken',
580
- error: String(error),
581
- isRetryable: isConnectionError,
582
- });
591
+ // Log structured error details and rethrow (transient -> WARN).
592
+ if (isConnectionError) {
593
+ logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
594
+ operation: 'createManyInviteToken',
595
+ model: 'InviteToken',
596
+ error: String(error),
597
+ isRetryable: true,
598
+ transient: true,
599
+ recoveryHint: "Upstream caller should retry on next cycle",
600
+ });
601
+ }
602
+ else {
603
+ logger_1.logger.error("Database createMany operation failed", {
604
+ operation: 'createManyInviteToken',
605
+ model: 'InviteToken',
606
+ error: String(error),
607
+ isRetryable: false,
608
+ });
609
+ }
583
610
  throw error;
584
611
  }
585
612
  }
@@ -1901,14 +1928,27 @@ exports.InviteToken = {
1901
1928
  await new Promise(resolve => setTimeout(resolve, delay));
1902
1929
  continue;
1903
1930
  }
1904
- // Log structured error details and rethrow
1905
- logger_1.logger.error("Database update operation failed", {
1906
- operation: 'updateOneInviteToken',
1907
- model: 'InviteToken',
1908
- error: String(error),
1909
- recordId: props.id,
1910
- isRetryable: isConnectionError,
1911
- });
1931
+ // Log structured error details and rethrow (transient -> WARN).
1932
+ if (isConnectionError) {
1933
+ logger_1.logger.warn("Database update operation failed (transient after retries)", {
1934
+ operation: 'updateOneInviteToken',
1935
+ model: 'InviteToken',
1936
+ error: String(error),
1937
+ recordId: props.id,
1938
+ isRetryable: true,
1939
+ transient: true,
1940
+ recoveryHint: "Upstream caller should retry on next cycle",
1941
+ });
1942
+ }
1943
+ else {
1944
+ logger_1.logger.error("Database update operation failed", {
1945
+ operation: 'updateOneInviteToken',
1946
+ model: 'InviteToken',
1947
+ error: String(error),
1948
+ recordId: props.id,
1949
+ isRetryable: false,
1950
+ });
1951
+ }
1912
1952
  throw error;
1913
1953
  }
1914
1954
  }
@@ -3536,14 +3576,27 @@ exports.InviteToken = {
3536
3576
  await new Promise(resolve => setTimeout(resolve, delay));
3537
3577
  continue;
3538
3578
  }
3539
- // Log structured error details and rethrow
3540
- logger_1.logger.error("Database upsert operation failed", {
3541
- operation: 'upsertOneInviteToken',
3542
- model: 'InviteToken',
3543
- error: String(error),
3544
- recordId: props.id,
3545
- isRetryable: isConnectionError,
3546
- });
3579
+ // Log structured error details and rethrow (transient -> WARN).
3580
+ if (isConnectionError) {
3581
+ logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
3582
+ operation: 'upsertOneInviteToken',
3583
+ model: 'InviteToken',
3584
+ error: String(error),
3585
+ recordId: props.id,
3586
+ isRetryable: true,
3587
+ transient: true,
3588
+ recoveryHint: "Upstream caller should retry on next cycle",
3589
+ });
3590
+ }
3591
+ else {
3592
+ logger_1.logger.error("Database upsert operation failed", {
3593
+ operation: 'upsertOneInviteToken',
3594
+ model: 'InviteToken',
3595
+ error: String(error),
3596
+ recordId: props.id,
3597
+ isRetryable: false,
3598
+ });
3599
+ }
3547
3600
  throw error;
3548
3601
  }
3549
3602
  }
@@ -4863,13 +4916,25 @@ exports.InviteToken = {
4863
4916
  await new Promise(resolve => setTimeout(resolve, delay));
4864
4917
  continue;
4865
4918
  }
4866
- // Log structured error details and rethrow
4867
- logger_1.logger.error("Database updateMany operation failed", {
4868
- operation: 'updateManyInviteToken',
4869
- model: 'InviteToken',
4870
- error: String(error),
4871
- isRetryable: isConnectionError,
4872
- });
4919
+ // Log structured error details and rethrow (transient -> WARN).
4920
+ if (isConnectionError) {
4921
+ logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
4922
+ operation: 'updateManyInviteToken',
4923
+ model: 'InviteToken',
4924
+ error: String(error),
4925
+ isRetryable: true,
4926
+ transient: true,
4927
+ recoveryHint: "Upstream caller should retry on next cycle",
4928
+ });
4929
+ }
4930
+ else {
4931
+ logger_1.logger.error("Database updateMany operation failed", {
4932
+ operation: 'updateManyInviteToken',
4933
+ model: 'InviteToken',
4934
+ error: String(error),
4935
+ isRetryable: false,
4936
+ });
4937
+ }
4873
4938
  throw error;
4874
4939
  }
4875
4940
  }
@@ -4992,14 +5057,27 @@ exports.InviteToken = {
4992
5057
  await new Promise(resolve => setTimeout(resolve, delay));
4993
5058
  continue;
4994
5059
  }
4995
- // Log structured error details and rethrow
4996
- logger_1.logger.error("Database delete operation failed", {
4997
- operation: 'deleteOneInviteToken',
4998
- model: 'InviteToken',
4999
- error: String(error),
5000
- recordId: props.id,
5001
- isRetryable: isConnectionError,
5002
- });
5060
+ // Log structured error details and rethrow (transient -> WARN).
5061
+ if (isConnectionError) {
5062
+ logger_1.logger.warn("Database delete operation failed (transient after retries)", {
5063
+ operation: 'deleteOneInviteToken',
5064
+ model: 'InviteToken',
5065
+ error: String(error),
5066
+ recordId: props.id,
5067
+ isRetryable: true,
5068
+ transient: true,
5069
+ recoveryHint: "Upstream caller should retry on next cycle",
5070
+ });
5071
+ }
5072
+ else {
5073
+ logger_1.logger.error("Database delete operation failed", {
5074
+ operation: 'deleteOneInviteToken',
5075
+ model: 'InviteToken',
5076
+ error: String(error),
5077
+ recordId: props.id,
5078
+ isRetryable: false,
5079
+ });
5080
+ }
5003
5081
  throw error;
5004
5082
  }
5005
5083
  }
@@ -5099,13 +5177,25 @@ exports.InviteToken = {
5099
5177
  await new Promise(resolve => setTimeout(resolve, delay));
5100
5178
  continue;
5101
5179
  }
5102
- // Log structured error details and rethrow
5103
- logger_1.logger.error("Database get operation failed", {
5104
- operation: 'getInviteToken',
5105
- model: 'InviteToken',
5106
- error: String(error),
5107
- isRetryable: isConnectionError,
5108
- });
5180
+ // Log structured error details and rethrow (transient -> WARN).
5181
+ if (isConnectionError) {
5182
+ logger_1.logger.warn("Database get operation failed (transient after retries)", {
5183
+ operation: 'getInviteToken',
5184
+ model: 'InviteToken',
5185
+ error: String(error),
5186
+ isRetryable: true,
5187
+ transient: true,
5188
+ recoveryHint: "Upstream caller should retry on next cycle",
5189
+ });
5190
+ }
5191
+ else {
5192
+ logger_1.logger.error("Database get operation failed", {
5193
+ operation: 'getInviteToken',
5194
+ model: 'InviteToken',
5195
+ error: String(error),
5196
+ isRetryable: false,
5197
+ });
5198
+ }
5109
5199
  throw error;
5110
5200
  }
5111
5201
  }
@@ -5192,13 +5282,25 @@ exports.InviteToken = {
5192
5282
  await new Promise(resolve => setTimeout(resolve, delay));
5193
5283
  continue;
5194
5284
  }
5195
- // Log structured error details and rethrow
5196
- logger_1.logger.error("Database getAll operation failed", {
5197
- operation: 'getAllInviteToken',
5198
- model: 'InviteToken',
5199
- error: String(error),
5200
- isRetryable: isConnectionError,
5201
- });
5285
+ // Log structured error details and rethrow (transient -> WARN).
5286
+ if (isConnectionError) {
5287
+ logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
5288
+ operation: 'getAllInviteToken',
5289
+ model: 'InviteToken',
5290
+ error: String(error),
5291
+ isRetryable: true,
5292
+ transient: true,
5293
+ recoveryHint: "Upstream caller should retry on next cycle",
5294
+ });
5295
+ }
5296
+ else {
5297
+ logger_1.logger.error("Database getAll operation failed", {
5298
+ operation: 'getAllInviteToken',
5299
+ model: 'InviteToken',
5300
+ error: String(error),
5301
+ isRetryable: false,
5302
+ });
5303
+ }
5202
5304
  throw error;
5203
5305
  }
5204
5306
  }
@@ -5309,13 +5411,25 @@ exports.InviteToken = {
5309
5411
  await new Promise(resolve => setTimeout(resolve, delay));
5310
5412
  continue;
5311
5413
  }
5312
- // Log structured error details and rethrow
5313
- logger_1.logger.error("Database findMany operation failed", {
5314
- operation: 'findManyInviteToken',
5315
- model: 'InviteToken',
5316
- error: String(error),
5317
- isRetryable: isConnectionError,
5318
- });
5414
+ // Log structured error details and rethrow (transient -> WARN).
5415
+ if (isConnectionError) {
5416
+ logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
5417
+ operation: 'findManyInviteToken',
5418
+ model: 'InviteToken',
5419
+ error: String(error),
5420
+ isRetryable: true,
5421
+ transient: true,
5422
+ recoveryHint: "Upstream caller should retry on next cycle",
5423
+ });
5424
+ }
5425
+ else {
5426
+ logger_1.logger.error("Database findMany operation failed", {
5427
+ operation: 'findManyInviteToken',
5428
+ model: 'InviteToken',
5429
+ error: String(error),
5430
+ isRetryable: false,
5431
+ });
5432
+ }
5319
5433
  throw error;
5320
5434
  }
5321
5435
  }
@@ -588,13 +588,28 @@ exports.LinkedProvider = {
588
588
  await new Promise(resolve => setTimeout(resolve, delay));
589
589
  continue;
590
590
  }
591
- // Log structured error details and rethrow
592
- logger_1.logger.error("Database create operation failed", {
593
- operation: 'createOneLinkedProvider',
594
- model: 'LinkedProvider',
595
- error: String(error),
596
- isRetryable: isConnectionError,
597
- });
591
+ // Log structured error details and rethrow.
592
+ // Demote transient failures to WARN with explicit transient+recoveryHint
593
+ // metadata so log analytics can distinguish recoverable upstream retries
594
+ // from true defects.
595
+ if (isConnectionError) {
596
+ logger_1.logger.warn("Database create operation failed (transient after retries)", {
597
+ operation: 'createOneLinkedProvider',
598
+ model: 'LinkedProvider',
599
+ error: String(error),
600
+ isRetryable: true,
601
+ transient: true,
602
+ recoveryHint: "Upstream caller should retry on next cycle",
603
+ });
604
+ }
605
+ else {
606
+ logger_1.logger.error("Database create operation failed", {
607
+ operation: 'createOneLinkedProvider',
608
+ model: 'LinkedProvider',
609
+ error: String(error),
610
+ isRetryable: false,
611
+ });
612
+ }
598
613
  throw error;
599
614
  }
600
615
  }
@@ -720,13 +735,25 @@ exports.LinkedProvider = {
720
735
  await new Promise(resolve => setTimeout(resolve, delay));
721
736
  continue;
722
737
  }
723
- // Log structured error details and rethrow
724
- logger_1.logger.error("Database createMany operation failed", {
725
- operation: 'createManyLinkedProvider',
726
- model: 'LinkedProvider',
727
- error: String(error),
728
- isRetryable: isConnectionError,
729
- });
738
+ // Log structured error details and rethrow (transient -> WARN).
739
+ if (isConnectionError) {
740
+ logger_1.logger.warn("Database createMany operation failed (transient after retries)", {
741
+ operation: 'createManyLinkedProvider',
742
+ model: 'LinkedProvider',
743
+ error: String(error),
744
+ isRetryable: true,
745
+ transient: true,
746
+ recoveryHint: "Upstream caller should retry on next cycle",
747
+ });
748
+ }
749
+ else {
750
+ logger_1.logger.error("Database createMany operation failed", {
751
+ operation: 'createManyLinkedProvider',
752
+ model: 'LinkedProvider',
753
+ error: String(error),
754
+ isRetryable: false,
755
+ });
756
+ }
730
757
  throw error;
731
758
  }
732
759
  }
@@ -2503,14 +2530,27 @@ exports.LinkedProvider = {
2503
2530
  await new Promise(resolve => setTimeout(resolve, delay));
2504
2531
  continue;
2505
2532
  }
2506
- // Log structured error details and rethrow
2507
- logger_1.logger.error("Database update operation failed", {
2508
- operation: 'updateOneLinkedProvider',
2509
- model: 'LinkedProvider',
2510
- error: String(error),
2511
- recordId: props.id,
2512
- isRetryable: isConnectionError,
2513
- });
2533
+ // Log structured error details and rethrow (transient -> WARN).
2534
+ if (isConnectionError) {
2535
+ logger_1.logger.warn("Database update operation failed (transient after retries)", {
2536
+ operation: 'updateOneLinkedProvider',
2537
+ model: 'LinkedProvider',
2538
+ error: String(error),
2539
+ recordId: props.id,
2540
+ isRetryable: true,
2541
+ transient: true,
2542
+ recoveryHint: "Upstream caller should retry on next cycle",
2543
+ });
2544
+ }
2545
+ else {
2546
+ logger_1.logger.error("Database update operation failed", {
2547
+ operation: 'updateOneLinkedProvider',
2548
+ model: 'LinkedProvider',
2549
+ error: String(error),
2550
+ recordId: props.id,
2551
+ isRetryable: false,
2552
+ });
2553
+ }
2514
2554
  throw error;
2515
2555
  }
2516
2556
  }
@@ -4741,14 +4781,27 @@ exports.LinkedProvider = {
4741
4781
  await new Promise(resolve => setTimeout(resolve, delay));
4742
4782
  continue;
4743
4783
  }
4744
- // Log structured error details and rethrow
4745
- logger_1.logger.error("Database upsert operation failed", {
4746
- operation: 'upsertOneLinkedProvider',
4747
- model: 'LinkedProvider',
4748
- error: String(error),
4749
- recordId: props.id,
4750
- isRetryable: isConnectionError,
4751
- });
4784
+ // Log structured error details and rethrow (transient -> WARN).
4785
+ if (isConnectionError) {
4786
+ logger_1.logger.warn("Database upsert operation failed (transient after retries)", {
4787
+ operation: 'upsertOneLinkedProvider',
4788
+ model: 'LinkedProvider',
4789
+ error: String(error),
4790
+ recordId: props.id,
4791
+ isRetryable: true,
4792
+ transient: true,
4793
+ recoveryHint: "Upstream caller should retry on next cycle",
4794
+ });
4795
+ }
4796
+ else {
4797
+ logger_1.logger.error("Database upsert operation failed", {
4798
+ operation: 'upsertOneLinkedProvider',
4799
+ model: 'LinkedProvider',
4800
+ error: String(error),
4801
+ recordId: props.id,
4802
+ isRetryable: false,
4803
+ });
4804
+ }
4752
4805
  throw error;
4753
4806
  }
4754
4807
  }
@@ -6523,13 +6576,25 @@ exports.LinkedProvider = {
6523
6576
  await new Promise(resolve => setTimeout(resolve, delay));
6524
6577
  continue;
6525
6578
  }
6526
- // Log structured error details and rethrow
6527
- logger_1.logger.error("Database updateMany operation failed", {
6528
- operation: 'updateManyLinkedProvider',
6529
- model: 'LinkedProvider',
6530
- error: String(error),
6531
- isRetryable: isConnectionError,
6532
- });
6579
+ // Log structured error details and rethrow (transient -> WARN).
6580
+ if (isConnectionError) {
6581
+ logger_1.logger.warn("Database updateMany operation failed (transient after retries)", {
6582
+ operation: 'updateManyLinkedProvider',
6583
+ model: 'LinkedProvider',
6584
+ error: String(error),
6585
+ isRetryable: true,
6586
+ transient: true,
6587
+ recoveryHint: "Upstream caller should retry on next cycle",
6588
+ });
6589
+ }
6590
+ else {
6591
+ logger_1.logger.error("Database updateMany operation failed", {
6592
+ operation: 'updateManyLinkedProvider',
6593
+ model: 'LinkedProvider',
6594
+ error: String(error),
6595
+ isRetryable: false,
6596
+ });
6597
+ }
6533
6598
  throw error;
6534
6599
  }
6535
6600
  }
@@ -6652,14 +6717,27 @@ exports.LinkedProvider = {
6652
6717
  await new Promise(resolve => setTimeout(resolve, delay));
6653
6718
  continue;
6654
6719
  }
6655
- // Log structured error details and rethrow
6656
- logger_1.logger.error("Database delete operation failed", {
6657
- operation: 'deleteOneLinkedProvider',
6658
- model: 'LinkedProvider',
6659
- error: String(error),
6660
- recordId: props.id,
6661
- isRetryable: isConnectionError,
6662
- });
6720
+ // Log structured error details and rethrow (transient -> WARN).
6721
+ if (isConnectionError) {
6722
+ logger_1.logger.warn("Database delete operation failed (transient after retries)", {
6723
+ operation: 'deleteOneLinkedProvider',
6724
+ model: 'LinkedProvider',
6725
+ error: String(error),
6726
+ recordId: props.id,
6727
+ isRetryable: true,
6728
+ transient: true,
6729
+ recoveryHint: "Upstream caller should retry on next cycle",
6730
+ });
6731
+ }
6732
+ else {
6733
+ logger_1.logger.error("Database delete operation failed", {
6734
+ operation: 'deleteOneLinkedProvider',
6735
+ model: 'LinkedProvider',
6736
+ error: String(error),
6737
+ recordId: props.id,
6738
+ isRetryable: false,
6739
+ });
6740
+ }
6663
6741
  throw error;
6664
6742
  }
6665
6743
  }
@@ -6764,13 +6842,25 @@ exports.LinkedProvider = {
6764
6842
  await new Promise(resolve => setTimeout(resolve, delay));
6765
6843
  continue;
6766
6844
  }
6767
- // Log structured error details and rethrow
6768
- logger_1.logger.error("Database get operation failed", {
6769
- operation: 'getLinkedProvider',
6770
- model: 'LinkedProvider',
6771
- error: String(error),
6772
- isRetryable: isConnectionError,
6773
- });
6845
+ // Log structured error details and rethrow (transient -> WARN).
6846
+ if (isConnectionError) {
6847
+ logger_1.logger.warn("Database get operation failed (transient after retries)", {
6848
+ operation: 'getLinkedProvider',
6849
+ model: 'LinkedProvider',
6850
+ error: String(error),
6851
+ isRetryable: true,
6852
+ transient: true,
6853
+ recoveryHint: "Upstream caller should retry on next cycle",
6854
+ });
6855
+ }
6856
+ else {
6857
+ logger_1.logger.error("Database get operation failed", {
6858
+ operation: 'getLinkedProvider',
6859
+ model: 'LinkedProvider',
6860
+ error: String(error),
6861
+ isRetryable: false,
6862
+ });
6863
+ }
6774
6864
  throw error;
6775
6865
  }
6776
6866
  }
@@ -6857,13 +6947,25 @@ exports.LinkedProvider = {
6857
6947
  await new Promise(resolve => setTimeout(resolve, delay));
6858
6948
  continue;
6859
6949
  }
6860
- // Log structured error details and rethrow
6861
- logger_1.logger.error("Database getAll operation failed", {
6862
- operation: 'getAllLinkedProvider',
6863
- model: 'LinkedProvider',
6864
- error: String(error),
6865
- isRetryable: isConnectionError,
6866
- });
6950
+ // Log structured error details and rethrow (transient -> WARN).
6951
+ if (isConnectionError) {
6952
+ logger_1.logger.warn("Database getAll operation failed (transient after retries)", {
6953
+ operation: 'getAllLinkedProvider',
6954
+ model: 'LinkedProvider',
6955
+ error: String(error),
6956
+ isRetryable: true,
6957
+ transient: true,
6958
+ recoveryHint: "Upstream caller should retry on next cycle",
6959
+ });
6960
+ }
6961
+ else {
6962
+ logger_1.logger.error("Database getAll operation failed", {
6963
+ operation: 'getAllLinkedProvider',
6964
+ model: 'LinkedProvider',
6965
+ error: String(error),
6966
+ isRetryable: false,
6967
+ });
6968
+ }
6867
6969
  throw error;
6868
6970
  }
6869
6971
  }
@@ -6980,13 +7082,25 @@ exports.LinkedProvider = {
6980
7082
  await new Promise(resolve => setTimeout(resolve, delay));
6981
7083
  continue;
6982
7084
  }
6983
- // Log structured error details and rethrow
6984
- logger_1.logger.error("Database findMany operation failed", {
6985
- operation: 'findManyLinkedProvider',
6986
- model: 'LinkedProvider',
6987
- error: String(error),
6988
- isRetryable: isConnectionError,
6989
- });
7085
+ // Log structured error details and rethrow (transient -> WARN).
7086
+ if (isConnectionError) {
7087
+ logger_1.logger.warn("Database findMany operation failed (transient after retries)", {
7088
+ operation: 'findManyLinkedProvider',
7089
+ model: 'LinkedProvider',
7090
+ error: String(error),
7091
+ isRetryable: true,
7092
+ transient: true,
7093
+ recoveryHint: "Upstream caller should retry on next cycle",
7094
+ });
7095
+ }
7096
+ else {
7097
+ logger_1.logger.error("Database findMany operation failed", {
7098
+ operation: 'findManyLinkedProvider',
7099
+ model: 'LinkedProvider',
7100
+ error: String(error),
7101
+ isRetryable: false,
7102
+ });
7103
+ }
6990
7104
  throw error;
6991
7105
  }
6992
7106
  }