@adaptic/backend-legacy 0.0.1009 → 0.0.1011

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 (543) hide show
  1. package/Asset.cjs +67 -0
  2. package/EconomicEvent.cjs +91 -0
  3. package/InstitutionalFlowSignal.cjs +82 -0
  4. package/InstitutionalHolding.cjs +82 -0
  5. package/NewsArticle.cjs +45 -0
  6. package/NewsArticleAssetSentiment.cjs +52 -0
  7. package/esm/Asset.d.ts.map +1 -1
  8. package/esm/Asset.js.map +1 -1
  9. package/esm/Asset.mjs +67 -0
  10. package/esm/EconomicEvent.d.ts.map +1 -1
  11. package/esm/EconomicEvent.js.map +1 -1
  12. package/esm/EconomicEvent.mjs +91 -0
  13. package/esm/InstitutionalFlowSignal.d.ts.map +1 -1
  14. package/esm/InstitutionalFlowSignal.js.map +1 -1
  15. package/esm/InstitutionalFlowSignal.mjs +82 -0
  16. package/esm/InstitutionalHolding.d.ts.map +1 -1
  17. package/esm/InstitutionalHolding.js.map +1 -1
  18. package/esm/InstitutionalHolding.mjs +82 -0
  19. package/esm/NewsArticle.d.ts.map +1 -1
  20. package/esm/NewsArticle.js.map +1 -1
  21. package/esm/NewsArticle.mjs +45 -0
  22. package/esm/NewsArticleAssetSentiment.d.ts.map +1 -1
  23. package/esm/NewsArticleAssetSentiment.js.map +1 -1
  24. package/esm/NewsArticleAssetSentiment.mjs +52 -0
  25. package/esm/auth/graphql-auth-shadow.d.ts +194 -0
  26. package/esm/auth/graphql-auth-shadow.d.ts.map +1 -0
  27. package/esm/auth/graphql-auth-shadow.js.map +1 -0
  28. package/esm/auth/graphql-auth-shadow.mjs +305 -0
  29. package/esm/generated/selectionSets/EconomicEvent.d.ts +1 -1
  30. package/esm/generated/selectionSets/EconomicEvent.d.ts.map +1 -1
  31. package/esm/generated/selectionSets/EconomicEvent.js.map +1 -1
  32. package/esm/generated/selectionSets/EconomicEvent.mjs +7 -0
  33. package/esm/generated/selectionSets/NewsArticle.d.ts +1 -1
  34. package/esm/generated/selectionSets/NewsArticle.d.ts.map +1 -1
  35. package/esm/generated/selectionSets/NewsArticle.js.map +1 -1
  36. package/esm/generated/selectionSets/NewsArticle.mjs +3 -0
  37. package/esm/generated/typeStrings/EconomicEvent.d.ts +1 -1
  38. package/esm/generated/typeStrings/EconomicEvent.d.ts.map +1 -1
  39. package/esm/generated/typeStrings/EconomicEvent.js.map +1 -1
  40. package/esm/generated/typeStrings/EconomicEvent.mjs +14 -0
  41. package/esm/generated/typeStrings/NewsArticle.d.ts +1 -1
  42. package/esm/generated/typeStrings/NewsArticle.d.ts.map +1 -1
  43. package/esm/generated/typeStrings/NewsArticle.js.map +1 -1
  44. package/esm/generated/typeStrings/NewsArticle.mjs +6 -0
  45. package/esm/generated/typeStrings/index.d.ts +2 -2
  46. package/esm/generated/typegraphql-prisma/enhance.d.ts.map +1 -1
  47. package/esm/generated/typegraphql-prisma/enhance.js.map +1 -1
  48. package/esm/generated/typegraphql-prisma/enhance.mjs +50 -40
  49. package/esm/generated/typegraphql-prisma/enums/EconomicEventScalarFieldEnum.d.ts +7 -0
  50. package/esm/generated/typegraphql-prisma/enums/EconomicEventScalarFieldEnum.d.ts.map +1 -1
  51. package/esm/generated/typegraphql-prisma/enums/EconomicEventScalarFieldEnum.js.map +1 -1
  52. package/esm/generated/typegraphql-prisma/enums/EconomicEventScalarFieldEnum.mjs +7 -0
  53. package/esm/generated/typegraphql-prisma/enums/NewsArticleScalarFieldEnum.d.ts +3 -0
  54. package/esm/generated/typegraphql-prisma/enums/NewsArticleScalarFieldEnum.d.ts.map +1 -1
  55. package/esm/generated/typegraphql-prisma/enums/NewsArticleScalarFieldEnum.js.map +1 -1
  56. package/esm/generated/typegraphql-prisma/enums/NewsArticleScalarFieldEnum.mjs +3 -0
  57. package/esm/generated/typegraphql-prisma/models/EconomicEvent.d.ts +28 -0
  58. package/esm/generated/typegraphql-prisma/models/EconomicEvent.d.ts.map +1 -1
  59. package/esm/generated/typegraphql-prisma/models/EconomicEvent.js.map +1 -1
  60. package/esm/generated/typegraphql-prisma/models/EconomicEvent.mjs +77 -0
  61. package/esm/generated/typegraphql-prisma/models/NewsArticle.d.ts +12 -0
  62. package/esm/generated/typegraphql-prisma/models/NewsArticle.d.ts.map +1 -1
  63. package/esm/generated/typegraphql-prisma/models/NewsArticle.js.map +1 -1
  64. package/esm/generated/typegraphql-prisma/models/NewsArticle.mjs +33 -0
  65. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventArgs.d.ts +1 -1
  66. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventArgs.d.ts.map +1 -1
  67. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventArgs.js.map +1 -1
  68. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventOrThrowArgs.d.ts +1 -1
  69. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventOrThrowArgs.d.ts.map +1 -1
  70. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventOrThrowArgs.js.map +1 -1
  71. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindManyEconomicEventArgs.d.ts +1 -1
  72. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindManyEconomicEventArgs.d.ts.map +1 -1
  73. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindManyEconomicEventArgs.js.map +1 -1
  74. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/GroupByEconomicEventArgs.d.ts +1 -1
  75. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/GroupByEconomicEventArgs.d.ts.map +1 -1
  76. package/esm/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/GroupByEconomicEventArgs.js.map +1 -1
  77. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleArgs.d.ts +1 -1
  78. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleArgs.d.ts.map +1 -1
  79. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleArgs.js.map +1 -1
  80. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleOrThrowArgs.d.ts +1 -1
  81. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleOrThrowArgs.d.ts.map +1 -1
  82. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleOrThrowArgs.js.map +1 -1
  83. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindManyNewsArticleArgs.d.ts +1 -1
  84. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindManyNewsArticleArgs.d.ts.map +1 -1
  85. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindManyNewsArticleArgs.js.map +1 -1
  86. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/GroupByNewsArticleArgs.d.ts +1 -1
  87. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/GroupByNewsArticleArgs.d.ts.map +1 -1
  88. package/esm/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/GroupByNewsArticleArgs.js.map +1 -1
  89. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventAvgOrderByAggregateInput.d.ts +6 -0
  90. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventAvgOrderByAggregateInput.d.ts.map +1 -0
  91. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventAvgOrderByAggregateInput.js.map +1 -0
  92. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventAvgOrderByAggregateInput.mjs +39 -0
  93. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCountOrderByAggregateInput.d.ts +7 -0
  94. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCountOrderByAggregateInput.d.ts.map +1 -1
  95. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCountOrderByAggregateInput.js.map +1 -1
  96. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCountOrderByAggregateInput.mjs +49 -0
  97. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateInput.d.ts +7 -0
  98. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateInput.d.ts.map +1 -1
  99. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateInput.js.map +1 -1
  100. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateInput.mjs +49 -0
  101. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateManyInput.d.ts +7 -0
  102. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateManyInput.d.ts.map +1 -1
  103. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateManyInput.js.map +1 -1
  104. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateManyInput.mjs +49 -0
  105. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMaxOrderByAggregateInput.d.ts +7 -0
  106. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMaxOrderByAggregateInput.d.ts.map +1 -1
  107. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMaxOrderByAggregateInput.js.map +1 -1
  108. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMaxOrderByAggregateInput.mjs +49 -0
  109. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMinOrderByAggregateInput.d.ts +7 -0
  110. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMinOrderByAggregateInput.d.ts.map +1 -1
  111. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMinOrderByAggregateInput.js.map +1 -1
  112. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMinOrderByAggregateInput.mjs +49 -0
  113. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithAggregationInput.d.ts +11 -0
  114. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithAggregationInput.d.ts.map +1 -1
  115. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithAggregationInput.js.map +1 -1
  116. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithAggregationInput.mjs +65 -0
  117. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithRelationInput.d.ts +7 -0
  118. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithRelationInput.d.ts.map +1 -1
  119. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithRelationInput.js.map +1 -1
  120. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithRelationInput.mjs +49 -0
  121. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventScalarWhereWithAggregatesInput.d.ts +9 -0
  122. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventScalarWhereWithAggregatesInput.d.ts.map +1 -1
  123. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventScalarWhereWithAggregatesInput.js.map +1 -1
  124. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventScalarWhereWithAggregatesInput.mjs +51 -0
  125. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventSumOrderByAggregateInput.d.ts +6 -0
  126. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventSumOrderByAggregateInput.d.ts.map +1 -0
  127. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventSumOrderByAggregateInput.js.map +1 -0
  128. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventSumOrderByAggregateInput.mjs +39 -0
  129. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateInput.d.ts +9 -0
  130. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateInput.d.ts.map +1 -1
  131. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateInput.js.map +1 -1
  132. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateInput.mjs +51 -0
  133. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateManyMutationInput.d.ts +9 -0
  134. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateManyMutationInput.d.ts.map +1 -1
  135. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateManyMutationInput.js.map +1 -1
  136. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateManyMutationInput.mjs +51 -0
  137. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereInput.d.ts +9 -0
  138. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereInput.d.ts.map +1 -1
  139. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereInput.js.map +1 -1
  140. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereInput.mjs +51 -0
  141. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereUniqueInput.d.ts +9 -0
  142. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereUniqueInput.d.ts.map +1 -1
  143. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereUniqueInput.js.map +1 -1
  144. package/esm/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereUniqueInput.mjs +51 -0
  145. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleAvgOrderByAggregateInput.d.ts +4 -0
  146. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleAvgOrderByAggregateInput.d.ts.map +1 -0
  147. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleAvgOrderByAggregateInput.js.map +1 -0
  148. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleAvgOrderByAggregateInput.mjs +25 -0
  149. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCountOrderByAggregateInput.d.ts +3 -0
  150. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCountOrderByAggregateInput.d.ts.map +1 -1
  151. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCountOrderByAggregateInput.js.map +1 -1
  152. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCountOrderByAggregateInput.mjs +21 -0
  153. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateInput.d.ts +4 -0
  154. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateInput.d.ts.map +1 -1
  155. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateInput.js.map +1 -1
  156. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateInput.mjs +22 -0
  157. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateManyInput.d.ts +4 -0
  158. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateManyInput.d.ts.map +1 -1
  159. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateManyInput.js.map +1 -1
  160. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateManyInput.mjs +22 -0
  161. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateWithoutAssetsInput.d.ts +4 -0
  162. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateWithoutAssetsInput.d.ts.map +1 -1
  163. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateWithoutAssetsInput.js.map +1 -1
  164. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateWithoutAssetsInput.mjs +22 -0
  165. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreatesymbolsInput.d.ts +4 -0
  166. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreatesymbolsInput.d.ts.map +1 -0
  167. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreatesymbolsInput.js.map +1 -0
  168. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreatesymbolsInput.mjs +24 -0
  169. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMaxOrderByAggregateInput.d.ts +2 -0
  170. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMaxOrderByAggregateInput.d.ts.map +1 -1
  171. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMaxOrderByAggregateInput.js.map +1 -1
  172. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMaxOrderByAggregateInput.mjs +14 -0
  173. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMinOrderByAggregateInput.d.ts +2 -0
  174. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMinOrderByAggregateInput.d.ts.map +1 -1
  175. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMinOrderByAggregateInput.js.map +1 -1
  176. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMinOrderByAggregateInput.mjs +14 -0
  177. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithAggregationInput.d.ts +7 -0
  178. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithAggregationInput.d.ts.map +1 -1
  179. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithAggregationInput.js.map +1 -1
  180. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithAggregationInput.mjs +37 -0
  181. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithRelationInput.d.ts +3 -0
  182. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithRelationInput.d.ts.map +1 -1
  183. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithRelationInput.js.map +1 -1
  184. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithRelationInput.mjs +21 -0
  185. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleScalarWhereWithAggregatesInput.d.ts +5 -0
  186. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleScalarWhereWithAggregatesInput.d.ts.map +1 -1
  187. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleScalarWhereWithAggregatesInput.js.map +1 -1
  188. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleScalarWhereWithAggregatesInput.mjs +23 -0
  189. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleSumOrderByAggregateInput.d.ts +4 -0
  190. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleSumOrderByAggregateInput.d.ts.map +1 -0
  191. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleSumOrderByAggregateInput.js.map +1 -0
  192. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleSumOrderByAggregateInput.mjs +25 -0
  193. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateInput.d.ts +6 -0
  194. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateInput.d.ts.map +1 -1
  195. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateInput.js.map +1 -1
  196. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateInput.mjs +24 -0
  197. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateManyMutationInput.d.ts +6 -0
  198. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateManyMutationInput.d.ts.map +1 -1
  199. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateManyMutationInput.js.map +1 -1
  200. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateManyMutationInput.mjs +24 -0
  201. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateWithoutAssetsInput.d.ts +6 -0
  202. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateWithoutAssetsInput.d.ts.map +1 -1
  203. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateWithoutAssetsInput.js.map +1 -1
  204. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateWithoutAssetsInput.mjs +24 -0
  205. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdatesymbolsInput.d.ts +5 -0
  206. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdatesymbolsInput.d.ts.map +1 -0
  207. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdatesymbolsInput.js.map +1 -0
  208. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdatesymbolsInput.mjs +31 -0
  209. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereInput.d.ts +5 -0
  210. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereInput.d.ts.map +1 -1
  211. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereInput.js.map +1 -1
  212. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereInput.mjs +23 -0
  213. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereUniqueInput.d.ts +5 -0
  214. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereUniqueInput.d.ts.map +1 -1
  215. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereUniqueInput.js.map +1 -1
  216. package/esm/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereUniqueInput.mjs +23 -0
  217. package/esm/generated/typegraphql-prisma/resolvers/inputs/index.d.ts +6 -0
  218. package/esm/generated/typegraphql-prisma/resolvers/inputs/index.d.ts.map +1 -1
  219. package/esm/generated/typegraphql-prisma/resolvers/inputs/index.js.map +1 -1
  220. package/esm/generated/typegraphql-prisma/resolvers/inputs/index.mjs +6 -0
  221. package/esm/generated/typegraphql-prisma/resolvers/outputs/AggregateEconomicEvent.d.ts +4 -0
  222. package/esm/generated/typegraphql-prisma/resolvers/outputs/AggregateEconomicEvent.d.ts.map +1 -1
  223. package/esm/generated/typegraphql-prisma/resolvers/outputs/AggregateEconomicEvent.js.map +1 -1
  224. package/esm/generated/typegraphql-prisma/resolvers/outputs/AggregateEconomicEvent.mjs +16 -0
  225. package/esm/generated/typegraphql-prisma/resolvers/outputs/AggregateNewsArticle.d.ts +4 -0
  226. package/esm/generated/typegraphql-prisma/resolvers/outputs/AggregateNewsArticle.d.ts.map +1 -1
  227. package/esm/generated/typegraphql-prisma/resolvers/outputs/AggregateNewsArticle.js.map +1 -1
  228. package/esm/generated/typegraphql-prisma/resolvers/outputs/AggregateNewsArticle.mjs +16 -0
  229. package/esm/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnEconomicEvent.d.ts +7 -0
  230. package/esm/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnEconomicEvent.d.ts.map +1 -1
  231. package/esm/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnEconomicEvent.js.map +1 -1
  232. package/esm/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnEconomicEvent.mjs +49 -0
  233. package/esm/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnNewsArticle.d.ts +3 -0
  234. package/esm/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnNewsArticle.d.ts.map +1 -1
  235. package/esm/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnNewsArticle.js.map +1 -1
  236. package/esm/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnNewsArticle.mjs +21 -0
  237. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventAvgAggregate.d.ts +6 -0
  238. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventAvgAggregate.d.ts.map +1 -0
  239. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventAvgAggregate.js.map +1 -0
  240. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventAvgAggregate.mjs +38 -0
  241. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventCountAggregate.d.ts +7 -0
  242. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventCountAggregate.d.ts.map +1 -1
  243. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventCountAggregate.js.map +1 -1
  244. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventCountAggregate.mjs +49 -0
  245. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventGroupBy.d.ts +11 -0
  246. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventGroupBy.d.ts.map +1 -1
  247. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventGroupBy.js.map +1 -1
  248. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventGroupBy.mjs +65 -0
  249. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMaxAggregate.d.ts +7 -0
  250. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMaxAggregate.d.ts.map +1 -1
  251. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMaxAggregate.js.map +1 -1
  252. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMaxAggregate.mjs +49 -0
  253. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMinAggregate.d.ts +7 -0
  254. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMinAggregate.d.ts.map +1 -1
  255. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMinAggregate.js.map +1 -1
  256. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMinAggregate.mjs +49 -0
  257. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventSumAggregate.d.ts +6 -0
  258. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventSumAggregate.d.ts.map +1 -0
  259. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventSumAggregate.js.map +1 -0
  260. package/esm/generated/typegraphql-prisma/resolvers/outputs/EconomicEventSumAggregate.mjs +38 -0
  261. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleAvgAggregate.d.ts +4 -0
  262. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleAvgAggregate.d.ts.map +1 -0
  263. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleAvgAggregate.js.map +1 -0
  264. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleAvgAggregate.mjs +24 -0
  265. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleCountAggregate.d.ts +3 -0
  266. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleCountAggregate.d.ts.map +1 -1
  267. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleCountAggregate.js.map +1 -1
  268. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleCountAggregate.mjs +21 -0
  269. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleGroupBy.d.ts +7 -0
  270. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleGroupBy.d.ts.map +1 -1
  271. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleGroupBy.js.map +1 -1
  272. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleGroupBy.mjs +37 -0
  273. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMaxAggregate.d.ts +2 -0
  274. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMaxAggregate.d.ts.map +1 -1
  275. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMaxAggregate.js.map +1 -1
  276. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMaxAggregate.mjs +14 -0
  277. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMinAggregate.d.ts +2 -0
  278. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMinAggregate.d.ts.map +1 -1
  279. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMinAggregate.js.map +1 -1
  280. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMinAggregate.mjs +14 -0
  281. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleSumAggregate.d.ts +4 -0
  282. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleSumAggregate.d.ts.map +1 -0
  283. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleSumAggregate.js.map +1 -0
  284. package/esm/generated/typegraphql-prisma/resolvers/outputs/NewsArticleSumAggregate.mjs +24 -0
  285. package/esm/generated/typegraphql-prisma/resolvers/outputs/index.d.ts +4 -0
  286. package/esm/generated/typegraphql-prisma/resolvers/outputs/index.d.ts.map +1 -1
  287. package/esm/generated/typegraphql-prisma/resolvers/outputs/index.js.map +1 -1
  288. package/esm/generated/typegraphql-prisma/resolvers/outputs/index.mjs +4 -0
  289. package/esm/index.d.ts.map +1 -1
  290. package/generated/typeStrings/EconomicEvent.cjs +14 -0
  291. package/generated/typeStrings/EconomicEvent.d.ts +1 -1
  292. package/generated/typeStrings/EconomicEvent.d.ts.map +1 -1
  293. package/generated/typeStrings/EconomicEvent.js.map +1 -1
  294. package/generated/typeStrings/NewsArticle.cjs +6 -0
  295. package/generated/typeStrings/NewsArticle.d.ts +1 -1
  296. package/generated/typeStrings/NewsArticle.d.ts.map +1 -1
  297. package/generated/typeStrings/NewsArticle.js.map +1 -1
  298. package/generated/typeStrings/index.d.ts +2 -2
  299. package/generated/typegraphql-prisma/enhance.cjs +50 -40
  300. package/generated/typegraphql-prisma/enhance.d.ts.map +1 -1
  301. package/generated/typegraphql-prisma/enhance.js.map +1 -1
  302. package/generated/typegraphql-prisma/enums/EconomicEventScalarFieldEnum.cjs +7 -0
  303. package/generated/typegraphql-prisma/enums/EconomicEventScalarFieldEnum.d.ts +7 -0
  304. package/generated/typegraphql-prisma/enums/EconomicEventScalarFieldEnum.d.ts.map +1 -1
  305. package/generated/typegraphql-prisma/enums/EconomicEventScalarFieldEnum.js.map +1 -1
  306. package/generated/typegraphql-prisma/enums/NewsArticleScalarFieldEnum.cjs +3 -0
  307. package/generated/typegraphql-prisma/enums/NewsArticleScalarFieldEnum.d.ts +3 -0
  308. package/generated/typegraphql-prisma/enums/NewsArticleScalarFieldEnum.d.ts.map +1 -1
  309. package/generated/typegraphql-prisma/enums/NewsArticleScalarFieldEnum.js.map +1 -1
  310. package/generated/typegraphql-prisma/models/EconomicEvent.cjs +49 -0
  311. package/generated/typegraphql-prisma/models/EconomicEvent.d.ts +28 -0
  312. package/generated/typegraphql-prisma/models/EconomicEvent.d.ts.map +1 -1
  313. package/generated/typegraphql-prisma/models/EconomicEvent.js.map +1 -1
  314. package/generated/typegraphql-prisma/models/NewsArticle.cjs +21 -0
  315. package/generated/typegraphql-prisma/models/NewsArticle.d.ts +12 -0
  316. package/generated/typegraphql-prisma/models/NewsArticle.d.ts.map +1 -1
  317. package/generated/typegraphql-prisma/models/NewsArticle.js.map +1 -1
  318. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventArgs.d.ts +1 -1
  319. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventArgs.d.ts.map +1 -1
  320. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventArgs.js.map +1 -1
  321. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventOrThrowArgs.d.ts +1 -1
  322. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventOrThrowArgs.d.ts.map +1 -1
  323. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindFirstEconomicEventOrThrowArgs.js.map +1 -1
  324. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindManyEconomicEventArgs.d.ts +1 -1
  325. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindManyEconomicEventArgs.d.ts.map +1 -1
  326. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/FindManyEconomicEventArgs.js.map +1 -1
  327. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/GroupByEconomicEventArgs.d.ts +1 -1
  328. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/GroupByEconomicEventArgs.d.ts.map +1 -1
  329. package/generated/typegraphql-prisma/resolvers/crud/EconomicEvent/args/GroupByEconomicEventArgs.js.map +1 -1
  330. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleArgs.d.ts +1 -1
  331. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleArgs.d.ts.map +1 -1
  332. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleArgs.js.map +1 -1
  333. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleOrThrowArgs.d.ts +1 -1
  334. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleOrThrowArgs.d.ts.map +1 -1
  335. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindFirstNewsArticleOrThrowArgs.js.map +1 -1
  336. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindManyNewsArticleArgs.d.ts +1 -1
  337. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindManyNewsArticleArgs.d.ts.map +1 -1
  338. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/FindManyNewsArticleArgs.js.map +1 -1
  339. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/GroupByNewsArticleArgs.d.ts +1 -1
  340. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/GroupByNewsArticleArgs.d.ts.map +1 -1
  341. package/generated/typegraphql-prisma/resolvers/crud/NewsArticle/args/GroupByNewsArticleArgs.js.map +1 -1
  342. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventAvgOrderByAggregateInput.cjs +72 -0
  343. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventAvgOrderByAggregateInput.d.ts +6 -0
  344. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventAvgOrderByAggregateInput.d.ts.map +1 -0
  345. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventAvgOrderByAggregateInput.js.map +1 -0
  346. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCountOrderByAggregateInput.cjs +42 -0
  347. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCountOrderByAggregateInput.d.ts +7 -0
  348. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCountOrderByAggregateInput.d.ts.map +1 -1
  349. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCountOrderByAggregateInput.js.map +1 -1
  350. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateInput.cjs +42 -0
  351. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateInput.d.ts +7 -0
  352. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateInput.d.ts.map +1 -1
  353. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateInput.js.map +1 -1
  354. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateManyInput.cjs +42 -0
  355. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateManyInput.d.ts +7 -0
  356. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateManyInput.d.ts.map +1 -1
  357. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventCreateManyInput.js.map +1 -1
  358. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMaxOrderByAggregateInput.cjs +42 -0
  359. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMaxOrderByAggregateInput.d.ts +7 -0
  360. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMaxOrderByAggregateInput.d.ts.map +1 -1
  361. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMaxOrderByAggregateInput.js.map +1 -1
  362. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMinOrderByAggregateInput.cjs +42 -0
  363. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMinOrderByAggregateInput.d.ts +7 -0
  364. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMinOrderByAggregateInput.d.ts.map +1 -1
  365. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventMinOrderByAggregateInput.js.map +1 -1
  366. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithAggregationInput.cjs +56 -0
  367. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithAggregationInput.d.ts +11 -0
  368. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithAggregationInput.d.ts.map +1 -1
  369. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithAggregationInput.js.map +1 -1
  370. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithRelationInput.cjs +42 -0
  371. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithRelationInput.d.ts +7 -0
  372. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithRelationInput.d.ts.map +1 -1
  373. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventOrderByWithRelationInput.js.map +1 -1
  374. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventScalarWhereWithAggregatesInput.cjs +44 -0
  375. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventScalarWhereWithAggregatesInput.d.ts +9 -0
  376. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventScalarWhereWithAggregatesInput.d.ts.map +1 -1
  377. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventScalarWhereWithAggregatesInput.js.map +1 -1
  378. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventSumOrderByAggregateInput.cjs +72 -0
  379. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventSumOrderByAggregateInput.d.ts +6 -0
  380. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventSumOrderByAggregateInput.d.ts.map +1 -0
  381. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventSumOrderByAggregateInput.js.map +1 -0
  382. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateInput.cjs +44 -0
  383. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateInput.d.ts +9 -0
  384. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateInput.d.ts.map +1 -1
  385. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateInput.js.map +1 -1
  386. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateManyMutationInput.cjs +44 -0
  387. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateManyMutationInput.d.ts +9 -0
  388. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateManyMutationInput.d.ts.map +1 -1
  389. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventUpdateManyMutationInput.js.map +1 -1
  390. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereInput.cjs +44 -0
  391. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereInput.d.ts +9 -0
  392. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereInput.d.ts.map +1 -1
  393. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereInput.js.map +1 -1
  394. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereUniqueInput.cjs +44 -0
  395. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereUniqueInput.d.ts +9 -0
  396. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereUniqueInput.d.ts.map +1 -1
  397. package/generated/typegraphql-prisma/resolvers/inputs/EconomicEventWhereUniqueInput.js.map +1 -1
  398. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleAvgOrderByAggregateInput.cjs +60 -0
  399. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleAvgOrderByAggregateInput.d.ts +4 -0
  400. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleAvgOrderByAggregateInput.d.ts.map +1 -0
  401. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleAvgOrderByAggregateInput.js.map +1 -0
  402. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCountOrderByAggregateInput.cjs +18 -0
  403. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCountOrderByAggregateInput.d.ts +3 -0
  404. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCountOrderByAggregateInput.d.ts.map +1 -1
  405. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCountOrderByAggregateInput.js.map +1 -1
  406. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateInput.cjs +19 -0
  407. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateInput.d.ts +4 -0
  408. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateInput.d.ts.map +1 -1
  409. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateInput.js.map +1 -1
  410. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateManyInput.cjs +19 -0
  411. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateManyInput.d.ts +4 -0
  412. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateManyInput.d.ts.map +1 -1
  413. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateManyInput.js.map +1 -1
  414. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateWithoutAssetsInput.cjs +19 -0
  415. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateWithoutAssetsInput.d.ts +4 -0
  416. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateWithoutAssetsInput.d.ts.map +1 -1
  417. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreateWithoutAssetsInput.js.map +1 -1
  418. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreatesymbolsInput.cjs +59 -0
  419. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreatesymbolsInput.d.ts +4 -0
  420. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreatesymbolsInput.d.ts.map +1 -0
  421. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleCreatesymbolsInput.js.map +1 -0
  422. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMaxOrderByAggregateInput.cjs +12 -0
  423. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMaxOrderByAggregateInput.d.ts +2 -0
  424. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMaxOrderByAggregateInput.d.ts.map +1 -1
  425. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMaxOrderByAggregateInput.js.map +1 -1
  426. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMinOrderByAggregateInput.cjs +12 -0
  427. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMinOrderByAggregateInput.d.ts +2 -0
  428. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMinOrderByAggregateInput.d.ts.map +1 -1
  429. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleMinOrderByAggregateInput.js.map +1 -1
  430. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithAggregationInput.cjs +32 -0
  431. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithAggregationInput.d.ts +7 -0
  432. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithAggregationInput.d.ts.map +1 -1
  433. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithAggregationInput.js.map +1 -1
  434. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithRelationInput.cjs +18 -0
  435. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithRelationInput.d.ts +3 -0
  436. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithRelationInput.d.ts.map +1 -1
  437. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleOrderByWithRelationInput.js.map +1 -1
  438. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleScalarWhereWithAggregatesInput.cjs +20 -0
  439. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleScalarWhereWithAggregatesInput.d.ts +5 -0
  440. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleScalarWhereWithAggregatesInput.d.ts.map +1 -1
  441. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleScalarWhereWithAggregatesInput.js.map +1 -1
  442. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleSumOrderByAggregateInput.cjs +60 -0
  443. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleSumOrderByAggregateInput.d.ts +4 -0
  444. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleSumOrderByAggregateInput.d.ts.map +1 -0
  445. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleSumOrderByAggregateInput.js.map +1 -0
  446. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateInput.cjs +21 -0
  447. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateInput.d.ts +6 -0
  448. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateInput.d.ts.map +1 -1
  449. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateInput.js.map +1 -1
  450. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateManyMutationInput.cjs +21 -0
  451. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateManyMutationInput.d.ts +6 -0
  452. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateManyMutationInput.d.ts.map +1 -1
  453. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateManyMutationInput.js.map +1 -1
  454. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateWithoutAssetsInput.cjs +21 -0
  455. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateWithoutAssetsInput.d.ts +6 -0
  456. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateWithoutAssetsInput.d.ts.map +1 -1
  457. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdateWithoutAssetsInput.js.map +1 -1
  458. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdatesymbolsInput.cjs +65 -0
  459. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdatesymbolsInput.d.ts +5 -0
  460. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdatesymbolsInput.d.ts.map +1 -0
  461. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleUpdatesymbolsInput.js.map +1 -0
  462. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereInput.cjs +20 -0
  463. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereInput.d.ts +5 -0
  464. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereInput.d.ts.map +1 -1
  465. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereInput.js.map +1 -1
  466. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereUniqueInput.cjs +20 -0
  467. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereUniqueInput.d.ts +5 -0
  468. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereUniqueInput.d.ts.map +1 -1
  469. package/generated/typegraphql-prisma/resolvers/inputs/NewsArticleWhereUniqueInput.js.map +1 -1
  470. package/generated/typegraphql-prisma/resolvers/inputs/index.cjs +59 -47
  471. package/generated/typegraphql-prisma/resolvers/inputs/index.d.ts +6 -0
  472. package/generated/typegraphql-prisma/resolvers/inputs/index.d.ts.map +1 -1
  473. package/generated/typegraphql-prisma/resolvers/inputs/index.js.map +1 -1
  474. package/generated/typegraphql-prisma/resolvers/outputs/AggregateEconomicEvent.cjs +14 -0
  475. package/generated/typegraphql-prisma/resolvers/outputs/AggregateEconomicEvent.d.ts +4 -0
  476. package/generated/typegraphql-prisma/resolvers/outputs/AggregateEconomicEvent.d.ts.map +1 -1
  477. package/generated/typegraphql-prisma/resolvers/outputs/AggregateEconomicEvent.js.map +1 -1
  478. package/generated/typegraphql-prisma/resolvers/outputs/AggregateNewsArticle.cjs +14 -0
  479. package/generated/typegraphql-prisma/resolvers/outputs/AggregateNewsArticle.d.ts +4 -0
  480. package/generated/typegraphql-prisma/resolvers/outputs/AggregateNewsArticle.d.ts.map +1 -1
  481. package/generated/typegraphql-prisma/resolvers/outputs/AggregateNewsArticle.js.map +1 -1
  482. package/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnEconomicEvent.cjs +42 -0
  483. package/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnEconomicEvent.d.ts +7 -0
  484. package/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnEconomicEvent.d.ts.map +1 -1
  485. package/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnEconomicEvent.js.map +1 -1
  486. package/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnNewsArticle.cjs +18 -0
  487. package/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnNewsArticle.d.ts +3 -0
  488. package/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnNewsArticle.d.ts.map +1 -1
  489. package/generated/typegraphql-prisma/resolvers/outputs/CreateManyAndReturnNewsArticle.js.map +1 -1
  490. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventAvgAggregate.cjs +71 -0
  491. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventAvgAggregate.d.ts +6 -0
  492. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventAvgAggregate.d.ts.map +1 -0
  493. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventAvgAggregate.js.map +1 -0
  494. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventCountAggregate.cjs +42 -0
  495. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventCountAggregate.d.ts +7 -0
  496. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventCountAggregate.d.ts.map +1 -1
  497. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventCountAggregate.js.map +1 -1
  498. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventGroupBy.cjs +56 -0
  499. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventGroupBy.d.ts +11 -0
  500. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventGroupBy.d.ts.map +1 -1
  501. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventGroupBy.js.map +1 -1
  502. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMaxAggregate.cjs +42 -0
  503. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMaxAggregate.d.ts +7 -0
  504. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMaxAggregate.d.ts.map +1 -1
  505. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMaxAggregate.js.map +1 -1
  506. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMinAggregate.cjs +42 -0
  507. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMinAggregate.d.ts +7 -0
  508. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMinAggregate.d.ts.map +1 -1
  509. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventMinAggregate.js.map +1 -1
  510. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventSumAggregate.cjs +71 -0
  511. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventSumAggregate.d.ts +6 -0
  512. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventSumAggregate.d.ts.map +1 -0
  513. package/generated/typegraphql-prisma/resolvers/outputs/EconomicEventSumAggregate.js.map +1 -0
  514. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleAvgAggregate.cjs +59 -0
  515. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleAvgAggregate.d.ts +4 -0
  516. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleAvgAggregate.d.ts.map +1 -0
  517. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleAvgAggregate.js.map +1 -0
  518. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleCountAggregate.cjs +18 -0
  519. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleCountAggregate.d.ts +3 -0
  520. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleCountAggregate.d.ts.map +1 -1
  521. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleCountAggregate.js.map +1 -1
  522. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleGroupBy.cjs +32 -0
  523. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleGroupBy.d.ts +7 -0
  524. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleGroupBy.d.ts.map +1 -1
  525. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleGroupBy.js.map +1 -1
  526. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMaxAggregate.cjs +12 -0
  527. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMaxAggregate.d.ts +2 -0
  528. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMaxAggregate.d.ts.map +1 -1
  529. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMaxAggregate.js.map +1 -1
  530. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMinAggregate.cjs +12 -0
  531. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMinAggregate.d.ts +2 -0
  532. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMinAggregate.d.ts.map +1 -1
  533. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleMinAggregate.js.map +1 -1
  534. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleSumAggregate.cjs +59 -0
  535. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleSumAggregate.d.ts +4 -0
  536. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleSumAggregate.d.ts.map +1 -0
  537. package/generated/typegraphql-prisma/resolvers/outputs/NewsArticleSumAggregate.js.map +1 -0
  538. package/generated/typegraphql-prisma/resolvers/outputs/index.cjs +16 -8
  539. package/generated/typegraphql-prisma/resolvers/outputs/index.d.ts +4 -0
  540. package/generated/typegraphql-prisma/resolvers/outputs/index.d.ts.map +1 -1
  541. package/generated/typegraphql-prisma/resolvers/outputs/index.js.map +1 -1
  542. package/package.json +1 -1
  543. package/server.cjs +41 -2
@@ -89,6 +89,11 @@ export const NewsArticleAssetSentiment = {
89
89
  set: props.news.topics
90
90
  } : undefined,
91
91
  logo: props.news.logo !== undefined ? props.news.logo : undefined,
92
+ symbols: props.news.symbols !== undefined ? {
93
+ set: props.news.symbols
94
+ } : undefined,
95
+ relevance: props.news.relevance !== undefined ? props.news.relevance : undefined,
96
+ publishedAt: props.news.publishedAt !== undefined ? props.news.publishedAt : undefined,
92
97
  },
93
98
  }
94
99
  } : undefined,
@@ -572,6 +577,15 @@ export const NewsArticleAssetSentiment = {
572
577
  logo: props.news.logo !== undefined ? {
573
578
  set: props.news.logo
574
579
  } : undefined,
580
+ symbols: props.news.symbols !== undefined ? {
581
+ set: props.news.symbols
582
+ } : undefined,
583
+ relevance: props.news.relevance !== undefined ? {
584
+ set: props.news.relevance
585
+ } : undefined,
586
+ publishedAt: props.news.publishedAt !== undefined ? {
587
+ set: props.news.publishedAt
588
+ } : undefined,
575
589
  },
576
590
  create: {
577
591
  title: props.news.title !== undefined ? props.news.title : undefined,
@@ -591,6 +605,11 @@ export const NewsArticleAssetSentiment = {
591
605
  set: props.news.topics
592
606
  } : undefined,
593
607
  logo: props.news.logo !== undefined ? props.news.logo : undefined,
608
+ symbols: props.news.symbols !== undefined ? {
609
+ set: props.news.symbols
610
+ } : undefined,
611
+ relevance: props.news.relevance !== undefined ? props.news.relevance : undefined,
612
+ publishedAt: props.news.publishedAt !== undefined ? props.news.publishedAt : undefined,
594
613
  },
595
614
  }
596
615
  } : undefined,
@@ -1172,6 +1191,11 @@ export const NewsArticleAssetSentiment = {
1172
1191
  set: props.news.topics
1173
1192
  } : undefined,
1174
1193
  logo: props.news.logo !== undefined ? props.news.logo : undefined,
1194
+ symbols: props.news.symbols !== undefined ? {
1195
+ set: props.news.symbols
1196
+ } : undefined,
1197
+ relevance: props.news.relevance !== undefined ? props.news.relevance : undefined,
1198
+ publishedAt: props.news.publishedAt !== undefined ? props.news.publishedAt : undefined,
1175
1199
  },
1176
1200
  }
1177
1201
  } : undefined,
@@ -1373,6 +1397,15 @@ export const NewsArticleAssetSentiment = {
1373
1397
  logo: props.news.logo !== undefined ? {
1374
1398
  set: props.news.logo
1375
1399
  } : undefined,
1400
+ symbols: props.news.symbols !== undefined ? {
1401
+ set: props.news.symbols
1402
+ } : undefined,
1403
+ relevance: props.news.relevance !== undefined ? {
1404
+ set: props.news.relevance
1405
+ } : undefined,
1406
+ publishedAt: props.news.publishedAt !== undefined ? {
1407
+ set: props.news.publishedAt
1408
+ } : undefined,
1376
1409
  },
1377
1410
  create: {
1378
1411
  title: props.news.title !== undefined ? props.news.title : undefined,
@@ -1392,6 +1425,11 @@ export const NewsArticleAssetSentiment = {
1392
1425
  set: props.news.topics
1393
1426
  } : undefined,
1394
1427
  logo: props.news.logo !== undefined ? props.news.logo : undefined,
1428
+ symbols: props.news.symbols !== undefined ? {
1429
+ set: props.news.symbols
1430
+ } : undefined,
1431
+ relevance: props.news.relevance !== undefined ? props.news.relevance : undefined,
1432
+ publishedAt: props.news.publishedAt !== undefined ? props.news.publishedAt : undefined,
1395
1433
  },
1396
1434
  }
1397
1435
  } : undefined,
@@ -2009,6 +2047,15 @@ export const NewsArticleAssetSentiment = {
2009
2047
  logo: prop.news.logo !== undefined ? {
2010
2048
  set: prop.news.logo
2011
2049
  } : undefined,
2050
+ symbols: prop.news.symbols !== undefined ? {
2051
+ set: prop.news.symbols
2052
+ } : undefined,
2053
+ relevance: prop.news.relevance !== undefined ? {
2054
+ set: prop.news.relevance
2055
+ } : undefined,
2056
+ publishedAt: prop.news.publishedAt !== undefined ? {
2057
+ set: prop.news.publishedAt
2058
+ } : undefined,
2012
2059
  },
2013
2060
  create: {
2014
2061
  title: prop.news.title !== undefined ? prop.news.title : undefined,
@@ -2028,6 +2075,11 @@ export const NewsArticleAssetSentiment = {
2028
2075
  set: prop.news.topics
2029
2076
  } : undefined,
2030
2077
  logo: prop.news.logo !== undefined ? prop.news.logo : undefined,
2078
+ symbols: prop.news.symbols !== undefined ? {
2079
+ set: prop.news.symbols
2080
+ } : undefined,
2081
+ relevance: prop.news.relevance !== undefined ? prop.news.relevance : undefined,
2082
+ publishedAt: prop.news.publishedAt !== undefined ? prop.news.publishedAt : undefined,
2031
2083
  },
2032
2084
  }
2033
2085
  } : undefined,
@@ -0,0 +1,194 @@
1
+ /**
2
+ * GraphQL context-layer authentication SHADOW observer.
3
+ *
4
+ * This is the transport/context-level counterpart to the resolver-level
5
+ * {@link ../auth/cortex-auth-checker.cortexAuthChecker}. The two observe DIFFERENT
6
+ * populations and are complementary:
7
+ *
8
+ * - `cortexAuthChecker` runs ONLY for `@Authorized()`-decorated fields (today:
9
+ * the 5 investor-relations models + delete mutations). It cannot see an
10
+ * unauthenticated request to any of the hundreds of auto-generated,
11
+ * undecorated CRUD fields — which is the overwhelming majority of live
12
+ * traffic (the platform, the account-audit scripts, and the engine all reach
13
+ * undecorated resolvers).
14
+ * - THIS observer runs in the `/graphql` HTTP + WebSocket `context()` callback,
15
+ * BEFORE any resolver, on EVERY request. It records whether a request arrived
16
+ * with a verified principal, with no principal, or with an invalid token —
17
+ * the true, complete denominator+numerator the enforcement decision needs.
18
+ *
19
+ * WHY (audit context): the `/graphql` `context()` currently lets a request with
20
+ * NO bearer token fall through as `{ principal: null }` and ALLOWS it. Requiring
21
+ * a principal at this layer (rejecting `null`) is the change that would break the
22
+ * entire product today (cookie-authenticated platform, token-less audit scripts,
23
+ * the engine's `SERVER_AUTH_TOKEN` gate). Before that enforcement can ever be
24
+ * flipped, we must first MEASURE, in production, exactly who reaches `/graphql`
25
+ * without a verified principal. This module provides that measurement WITHOUT
26
+ * changing behaviour: it counts and (throttled) logs would-denies and always
27
+ * returns control to the caller.
28
+ *
29
+ * SAFETY CONTRACT — observe-only, never blocks:
30
+ * - The Prometheus counter {@link graphqlAuthContextEvaluationsTotal} increments
31
+ * on every context evaluation, labelled by transport + outcome. It is the
32
+ * primary quantitative signal and carries only BOUNDED labels (never the
33
+ * attacker-controllable operation name / origin / IP).
34
+ * - For the `no_principal` outcome — the would-deny — a structured identity log
35
+ * is emitted, THROTTLED to the first occurrence of each
36
+ * `(transport, operationName, origin)` per dedup window. Unthrottled logging
37
+ * of every unauthenticated request would flood Cloud Logging and bury real
38
+ * warnings (audit B01-backend-legacy-10); the counter carries the per-request
39
+ * cardinality instead.
40
+ * - The dedup store is capped and rotates novel keys into a shared overflow
41
+ * bucket so an attacker rotating spoofed origins/operation names cannot grow
42
+ * memory without bound (audit B01-backend-legacy-12).
43
+ *
44
+ * @see src/auth/cortex-auth-checker.ts for the resolver-level shadow checker.
45
+ * @see docs/security/2026-08-23-graphql-auth-enforcement-runbook.md for the
46
+ * staged enforcement plan this observer feeds.
47
+ */
48
+ import { Counter, Gauge } from 'prom-client';
49
+ /** The GraphQL transport a context evaluation ran on. */
50
+ export type GraphqlTransport = 'http' | 'ws';
51
+ /**
52
+ * Outcome of a `/graphql` `context()` evaluation.
53
+ *
54
+ * - `authenticated` — a verified {@link ../auth/token-verifier.BackendPrincipal}
55
+ * was attached.
56
+ * - `no_principal` — no bearer token was presented; the request falls through
57
+ * with `principal: null`. This is the WOULD-DENY case under principal-required
58
+ * enforcement — the sole behaviour the enforcement flip changes.
59
+ * - `invalid_token` — a token was presented but failed verification. This is
60
+ * ALREADY rejected today (HTTP 401 / WS close); recorded here only to complete
61
+ * the denominator.
62
+ */
63
+ export type AuthContextOutcome = 'authenticated' | 'no_principal' | 'invalid_token';
64
+ /**
65
+ * Caller identity captured for a would-deny (`no_principal`) request. Every field
66
+ * is best-effort and may be absent (server-to-server callers send no `origin`;
67
+ * the WS operation name is not always known at context time). Nothing here is
68
+ * ever used as a Prometheus label — only in the throttled structured log.
69
+ */
70
+ export interface ShadowAuthIdentity {
71
+ /** Transport the request arrived on. */
72
+ transport: GraphqlTransport;
73
+ /** GraphQL operation name, when resolvable from the request body / args. */
74
+ operationName?: string;
75
+ /** `Origin` header — distinguishes browser callers (platform) from scripts. */
76
+ origin?: string;
77
+ /** Client IP, as resolved by the caller (Express `req.ip` honours trust-proxy). */
78
+ ip?: string;
79
+ /** `User-Agent` header, when present. */
80
+ userAgent?: string;
81
+ /**
82
+ * Whether an `Authorization` header was present at all. `true` here with a
83
+ * `no_principal` outcome means the header was present but not a `Bearer <token>`
84
+ * (or an empty bearer) — a distinct, actionable misconfiguration.
85
+ */
86
+ authHeaderPresent: boolean;
87
+ }
88
+ /**
89
+ * Counts EVERY `/graphql` context evaluation, labelled by {@link GraphqlTransport}
90
+ * and {@link AuthContextOutcome}. This single series is both the denominator
91
+ * (total requests seen) and the numerator (`outcome="no_principal"` = would-denies).
92
+ *
93
+ * Graduation rule for the runbook: the enforcement flip is safe to consider only
94
+ * once `outcome="no_principal"` has been driven to (effectively) zero for the
95
+ * transport being enforced, sustained across a full trading week — i.e. every
96
+ * legitimate caller has been migrated to presenting a verified principal.
97
+ *
98
+ * Labels are deliberately BOUNDED (2 transports x 3 outcomes = 6 series). The
99
+ * high-cardinality identity (operation name, origin, IP) lives only in the
100
+ * throttled log, never as a metric label — an unauthenticated caller controls
101
+ * those strings and could otherwise explode metric cardinality.
102
+ */
103
+ export declare const graphqlAuthContextEvaluationsTotal: Counter<"outcome" | "transport">;
104
+ /**
105
+ * Current tracked-key cardinality of the throttled-log dedup store. Bounds
106
+ * visibility into the store ahead of the {@link MAX_TRACKED_SHADOW_KEYS} cap
107
+ * (audit B01-backend-legacy-12).
108
+ */
109
+ export declare const graphqlAuthShadowTrackedKeys: Gauge<string>;
110
+ /**
111
+ * Environment variable that DISABLES the throttled identity log. Absent (the
112
+ * default) keeps logging ON. Set to `true`/`1` to silence the per-caller log
113
+ * lines if they ever become operationally noisy — the {@link
114
+ * graphqlAuthContextEvaluationsTotal} counter continues unaffected, so the
115
+ * quantitative signal is never lost.
116
+ */
117
+ export declare const GRAPHQL_AUTH_SHADOW_LOG_DISABLED_ENV = "GRAPHQL_AUTH_SHADOW_LOG_DISABLED";
118
+ /**
119
+ * Whether the throttled identity log is disabled. Read fresh each call (a cheap
120
+ * env read) so it can be toggled operationally without a restart — matching the
121
+ * shadow-flag convention used by the AuthChecker and rate limiter.
122
+ *
123
+ * @param env - Environment source (defaults to `process.env`); injectable for tests.
124
+ * @returns `true` only when the flag is explicitly `true`/`1`.
125
+ */
126
+ export declare function isShadowAuthLoggingDisabled(env?: Record<string, string | undefined>): boolean;
127
+ /**
128
+ * Dedup window for the identity log: at most one line per distinct
129
+ * `(transport, operationName, origin)` key per window. Sized long (10 min) so a
130
+ * high-volume unauthenticated caller (e.g. the whole platform) contributes ~one
131
+ * line per window rather than one per request.
132
+ */
133
+ export declare const SHADOW_LOG_DEDUP_WINDOW_MS: number;
134
+ /**
135
+ * Normalise a raw header value (`string | string[] | undefined`, arriving typed
136
+ * as `unknown`) to a single string. Node folds repeated headers into an array;
137
+ * we keep the first value.
138
+ *
139
+ * @param value - Raw header value.
140
+ * @returns The string value, or `undefined` when absent/unusable.
141
+ */
142
+ export declare function headerToString(value: unknown): string | undefined;
143
+ /**
144
+ * Extract a GraphQL operation name from a parsed HTTP request body.
145
+ *
146
+ * @param body - The JSON-parsed `/graphql` POST body (typed `unknown`).
147
+ * @returns The `operationName`, or `undefined` when absent/empty.
148
+ */
149
+ export declare function extractOperationName(body: unknown): string | undefined;
150
+ /**
151
+ * Extract a GraphQL operation name from graphql-ws `ExecutionArgs`.
152
+ *
153
+ * @param args - The third argument to the graphql-ws `context` callback (typed `unknown`).
154
+ * @returns The `operationName`, or `undefined` when absent/empty.
155
+ */
156
+ export declare function extractOperationNameFromArgs(args: unknown): string | undefined;
157
+ /**
158
+ * Extract `origin` / `userAgent` / `ip` from the graphql-ws `ctx.extra` object
159
+ * (`{ request, socket }` for the `ws` integration), tolerating any shape.
160
+ *
161
+ * @param extra - The graphql-ws context `extra` (typed `unknown`).
162
+ * @returns Best-effort header identity for the WebSocket upgrade request.
163
+ */
164
+ export declare function extractHeaderIdentityFromWsExtra(extra: unknown): {
165
+ origin?: string;
166
+ userAgent?: string;
167
+ ip?: string;
168
+ };
169
+ /**
170
+ * Record a context evaluation outcome on {@link graphqlAuthContextEvaluationsTotal}.
171
+ * Use for the `authenticated` and `invalid_token` outcomes; the `no_principal`
172
+ * outcome is recorded (with identity logging) by {@link recordShadowAuthMiss}.
173
+ *
174
+ * @param transport - The transport the evaluation ran on.
175
+ * @param outcome - The evaluation outcome.
176
+ */
177
+ export declare function recordAuthContextOutcome(transport: GraphqlTransport, outcome: AuthContextOutcome): void;
178
+ /**
179
+ * Record a would-deny (`no_principal`) request: increment the counter and, unless
180
+ * logging is disabled, emit a throttled structured identity log. NEVER blocks and
181
+ * NEVER throws — safe to call on the hot path of the `context()` callback.
182
+ *
183
+ * @param identity - Best-effort caller identity for the unauthenticated request.
184
+ */
185
+ export declare function recordShadowAuthMiss(identity: ShadowAuthIdentity): void;
186
+ /**
187
+ * Test-only reset of the throttled-log dedup store. Mirrors the token-verifier's
188
+ * `_resetGoogleAudienceCacheForTests` convention so tests can assert first-in-window
189
+ * emission deterministically without waiting out a real window.
190
+ *
191
+ * @internal
192
+ */
193
+ export declare function _resetShadowAuthStateForTests(): void;
194
+ //# sourceMappingURL=graphql-auth-shadow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-auth-shadow.d.ts","sourceRoot":"","sources":["../../../src/auth/graphql-auth-shadow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAQ7C,yDAAyD;AACzD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,cAAc,GACd,eAAe,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAMD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kCAAkC,kCAK7C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,eAIvC,CAAC;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,qCACb,CAAC;AAErC;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,OAAO,CAKT;AAMD;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AA+EzD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIjE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAItE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,OAAO,GACZ,MAAM,GAAG,SAAS,CAIpB;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAqBA;AAaD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,kBAAkB,GAC1B,IAAI,CAEN;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CA4BvE;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-auth-shadow.js","sourceRoot":"","sources":["../../../src/auth/graphql-auth-shadow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,305 @@
1
+ /**
2
+ * GraphQL context-layer authentication SHADOW observer.
3
+ *
4
+ * This is the transport/context-level counterpart to the resolver-level
5
+ * {@link ../auth/cortex-auth-checker.cortexAuthChecker}. The two observe DIFFERENT
6
+ * populations and are complementary:
7
+ *
8
+ * - `cortexAuthChecker` runs ONLY for `@Authorized()`-decorated fields (today:
9
+ * the 5 investor-relations models + delete mutations). It cannot see an
10
+ * unauthenticated request to any of the hundreds of auto-generated,
11
+ * undecorated CRUD fields — which is the overwhelming majority of live
12
+ * traffic (the platform, the account-audit scripts, and the engine all reach
13
+ * undecorated resolvers).
14
+ * - THIS observer runs in the `/graphql` HTTP + WebSocket `context()` callback,
15
+ * BEFORE any resolver, on EVERY request. It records whether a request arrived
16
+ * with a verified principal, with no principal, or with an invalid token —
17
+ * the true, complete denominator+numerator the enforcement decision needs.
18
+ *
19
+ * WHY (audit context): the `/graphql` `context()` currently lets a request with
20
+ * NO bearer token fall through as `{ principal: null }` and ALLOWS it. Requiring
21
+ * a principal at this layer (rejecting `null`) is the change that would break the
22
+ * entire product today (cookie-authenticated platform, token-less audit scripts,
23
+ * the engine's `SERVER_AUTH_TOKEN` gate). Before that enforcement can ever be
24
+ * flipped, we must first MEASURE, in production, exactly who reaches `/graphql`
25
+ * without a verified principal. This module provides that measurement WITHOUT
26
+ * changing behaviour: it counts and (throttled) logs would-denies and always
27
+ * returns control to the caller.
28
+ *
29
+ * SAFETY CONTRACT — observe-only, never blocks:
30
+ * - The Prometheus counter {@link graphqlAuthContextEvaluationsTotal} increments
31
+ * on every context evaluation, labelled by transport + outcome. It is the
32
+ * primary quantitative signal and carries only BOUNDED labels (never the
33
+ * attacker-controllable operation name / origin / IP).
34
+ * - For the `no_principal` outcome — the would-deny — a structured identity log
35
+ * is emitted, THROTTLED to the first occurrence of each
36
+ * `(transport, operationName, origin)` per dedup window. Unthrottled logging
37
+ * of every unauthenticated request would flood Cloud Logging and bury real
38
+ * warnings (audit B01-backend-legacy-10); the counter carries the per-request
39
+ * cardinality instead.
40
+ * - The dedup store is capped and rotates novel keys into a shared overflow
41
+ * bucket so an attacker rotating spoofed origins/operation names cannot grow
42
+ * memory without bound (audit B01-backend-legacy-12).
43
+ *
44
+ * @see src/auth/cortex-auth-checker.ts for the resolver-level shadow checker.
45
+ * @see docs/security/2026-08-23-graphql-auth-enforcement-runbook.md for the
46
+ * staged enforcement plan this observer feeds.
47
+ */
48
+ import { Counter, Gauge } from 'prom-client';
49
+ import { metricsRegistry } from '../config/metrics.mjs';
50
+ import { logger } from '../utils/logger.mjs';
51
+ // -----------------------------------------------------------------------------
52
+ // Metrics
53
+ // -----------------------------------------------------------------------------
54
+ /**
55
+ * Counts EVERY `/graphql` context evaluation, labelled by {@link GraphqlTransport}
56
+ * and {@link AuthContextOutcome}. This single series is both the denominator
57
+ * (total requests seen) and the numerator (`outcome="no_principal"` = would-denies).
58
+ *
59
+ * Graduation rule for the runbook: the enforcement flip is safe to consider only
60
+ * once `outcome="no_principal"` has been driven to (effectively) zero for the
61
+ * transport being enforced, sustained across a full trading week — i.e. every
62
+ * legitimate caller has been migrated to presenting a verified principal.
63
+ *
64
+ * Labels are deliberately BOUNDED (2 transports x 3 outcomes = 6 series). The
65
+ * high-cardinality identity (operation name, origin, IP) lives only in the
66
+ * throttled log, never as a metric label — an unauthenticated caller controls
67
+ * those strings and could otherwise explode metric cardinality.
68
+ */
69
+ export const graphqlAuthContextEvaluationsTotal = new Counter({
70
+ name: 'graphql_auth_context_evaluations_total',
71
+ help: 'GraphQL /graphql context evaluations by transport and outcome (outcome="no_principal" is the shadow would-deny; observe-only, never blocks)',
72
+ labelNames: ['transport', 'outcome'],
73
+ registers: [metricsRegistry],
74
+ });
75
+ /**
76
+ * Current tracked-key cardinality of the throttled-log dedup store. Bounds
77
+ * visibility into the store ahead of the {@link MAX_TRACKED_SHADOW_KEYS} cap
78
+ * (audit B01-backend-legacy-12).
79
+ */
80
+ export const graphqlAuthShadowTrackedKeys = new Gauge({
81
+ name: 'graphql_auth_shadow_tracked_keys',
82
+ help: 'Current distinct (transport, operationName, origin) keys tracked by the shadow-auth log throttle',
83
+ registers: [metricsRegistry],
84
+ });
85
+ // -----------------------------------------------------------------------------
86
+ // Logging-enable flag (counter is always on; this only gates the detail log)
87
+ // -----------------------------------------------------------------------------
88
+ /**
89
+ * Environment variable that DISABLES the throttled identity log. Absent (the
90
+ * default) keeps logging ON. Set to `true`/`1` to silence the per-caller log
91
+ * lines if they ever become operationally noisy — the {@link
92
+ * graphqlAuthContextEvaluationsTotal} counter continues unaffected, so the
93
+ * quantitative signal is never lost.
94
+ */
95
+ export const GRAPHQL_AUTH_SHADOW_LOG_DISABLED_ENV = 'GRAPHQL_AUTH_SHADOW_LOG_DISABLED';
96
+ /**
97
+ * Whether the throttled identity log is disabled. Read fresh each call (a cheap
98
+ * env read) so it can be toggled operationally without a restart — matching the
99
+ * shadow-flag convention used by the AuthChecker and rate limiter.
100
+ *
101
+ * @param env - Environment source (defaults to `process.env`); injectable for tests.
102
+ * @returns `true` only when the flag is explicitly `true`/`1`.
103
+ */
104
+ export function isShadowAuthLoggingDisabled(env = process.env) {
105
+ const raw = (env[GRAPHQL_AUTH_SHADOW_LOG_DISABLED_ENV] ?? '')
106
+ .trim()
107
+ .toLowerCase();
108
+ return raw === 'true' || raw === '1';
109
+ }
110
+ // -----------------------------------------------------------------------------
111
+ // Throttled-log dedup store (mirrors the rate-limiter's capped store pattern)
112
+ // -----------------------------------------------------------------------------
113
+ /**
114
+ * Dedup window for the identity log: at most one line per distinct
115
+ * `(transport, operationName, origin)` key per window. Sized long (10 min) so a
116
+ * high-volume unauthenticated caller (e.g. the whole platform) contributes ~one
117
+ * line per window rather than one per request.
118
+ */
119
+ export const SHADOW_LOG_DEDUP_WINDOW_MS = 10 * 60 * 1000;
120
+ /** Sweep cadence for expired dedup windows. */
121
+ const STORE_SWEEP_INTERVAL_MS = 60_000;
122
+ /**
123
+ * Cap on distinct dedup keys. Past the cap, novel keys aggregate into a single
124
+ * shared overflow bucket instead of allocating — bounding memory under an
125
+ * attacker rotating spoofed origins / operation names (audit B01-backend-legacy-12).
126
+ */
127
+ const MAX_TRACKED_SHADOW_KEYS = 10_000;
128
+ /** Dedup key used once the store cardinality cap is reached. */
129
+ const OVERFLOW_KEY = 'overflow';
130
+ /** Max characters retained from a caller-supplied string used in a dedup key. */
131
+ const MAX_KEY_SEGMENT_LEN = 120;
132
+ /** Max characters retained from a `User-Agent` in the log body. */
133
+ const MAX_UA_LEN = 200;
134
+ const shadowLogStore = new Map();
135
+ // Sweep expired windows every minute. `unref()` so importing this module (tests,
136
+ // one-off scripts) never keeps the process alive on account of the sweeper.
137
+ setInterval(() => {
138
+ const now = Date.now();
139
+ for (const [key, entry] of shadowLogStore) {
140
+ if (entry.windowResetAt < now) {
141
+ shadowLogStore.delete(key);
142
+ }
143
+ }
144
+ graphqlAuthShadowTrackedKeys.set(shadowLogStore.size);
145
+ }, STORE_SWEEP_INTERVAL_MS).unref();
146
+ /**
147
+ * Decide whether to emit an identity log line for `key` now: emit on the first
148
+ * occurrence within the current dedup window, then suppress until the window
149
+ * rolls over. Applies the cardinality cap + overflow bucket.
150
+ *
151
+ * @param key - The `(transport, operationName, origin)` dedup key.
152
+ * @returns `true` when this is the first sighting of the key in the window.
153
+ */
154
+ function shouldEmitIdentityLog(key) {
155
+ const now = Date.now();
156
+ let storeKey = key;
157
+ // Cardinality cap: fold novel keys into the shared overflow bucket rather than
158
+ // growing without bound.
159
+ if (!shadowLogStore.has(storeKey) &&
160
+ shadowLogStore.size >= MAX_TRACKED_SHADOW_KEYS) {
161
+ storeKey = OVERFLOW_KEY;
162
+ }
163
+ const existing = shadowLogStore.get(storeKey);
164
+ if (!existing || existing.windowResetAt < now) {
165
+ shadowLogStore.set(storeKey, {
166
+ count: 1,
167
+ windowResetAt: now + SHADOW_LOG_DEDUP_WINDOW_MS,
168
+ });
169
+ return true;
170
+ }
171
+ existing.count += 1;
172
+ return false;
173
+ }
174
+ // -----------------------------------------------------------------------------
175
+ // Extraction helpers (accept `unknown` so callers pass framework objects without
176
+ // leaking `any` or coupling this module to Express / graphql-ws types)
177
+ // -----------------------------------------------------------------------------
178
+ /**
179
+ * Normalise a raw header value (`string | string[] | undefined`, arriving typed
180
+ * as `unknown`) to a single string. Node folds repeated headers into an array;
181
+ * we keep the first value.
182
+ *
183
+ * @param value - Raw header value.
184
+ * @returns The string value, or `undefined` when absent/unusable.
185
+ */
186
+ export function headerToString(value) {
187
+ if (typeof value === 'string')
188
+ return value;
189
+ if (Array.isArray(value) && typeof value[0] === 'string')
190
+ return value[0];
191
+ return undefined;
192
+ }
193
+ /**
194
+ * Extract a GraphQL operation name from a parsed HTTP request body.
195
+ *
196
+ * @param body - The JSON-parsed `/graphql` POST body (typed `unknown`).
197
+ * @returns The `operationName`, or `undefined` when absent/empty.
198
+ */
199
+ export function extractOperationName(body) {
200
+ if (typeof body !== 'object' || body === null)
201
+ return undefined;
202
+ const op = body.operationName;
203
+ return typeof op === 'string' && op.length > 0 ? op : undefined;
204
+ }
205
+ /**
206
+ * Extract a GraphQL operation name from graphql-ws `ExecutionArgs`.
207
+ *
208
+ * @param args - The third argument to the graphql-ws `context` callback (typed `unknown`).
209
+ * @returns The `operationName`, or `undefined` when absent/empty.
210
+ */
211
+ export function extractOperationNameFromArgs(args) {
212
+ if (typeof args !== 'object' || args === null)
213
+ return undefined;
214
+ const op = args.operationName;
215
+ return typeof op === 'string' && op.length > 0 ? op : undefined;
216
+ }
217
+ /**
218
+ * Extract `origin` / `userAgent` / `ip` from the graphql-ws `ctx.extra` object
219
+ * (`{ request, socket }` for the `ws` integration), tolerating any shape.
220
+ *
221
+ * @param extra - The graphql-ws context `extra` (typed `unknown`).
222
+ * @returns Best-effort header identity for the WebSocket upgrade request.
223
+ */
224
+ export function extractHeaderIdentityFromWsExtra(extra) {
225
+ if (typeof extra !== 'object' || extra === null)
226
+ return {};
227
+ const request = extra.request;
228
+ if (typeof request !== 'object' || request === null)
229
+ return {};
230
+ const headers = request.headers;
231
+ const socket = request.socket;
232
+ const headerBag = typeof headers === 'object' && headers !== null
233
+ ? headers
234
+ : {};
235
+ const remoteAddress = typeof socket === 'object' && socket !== null
236
+ ? socket.remoteAddress
237
+ : undefined;
238
+ return {
239
+ origin: headerToString(headerBag['origin']),
240
+ userAgent: headerToString(headerBag['user-agent']),
241
+ ip: typeof remoteAddress === 'string' ? remoteAddress : undefined,
242
+ };
243
+ }
244
+ /** Trim + length-cap a caller-supplied string for safe use in a dedup key. */
245
+ function capSegment(value, max) {
246
+ if (!value)
247
+ return '';
248
+ const trimmed = value.trim();
249
+ return trimmed.length > max ? trimmed.slice(0, max) : trimmed;
250
+ }
251
+ // -----------------------------------------------------------------------------
252
+ // Recording entry points (called from server.ts context callbacks)
253
+ // -----------------------------------------------------------------------------
254
+ /**
255
+ * Record a context evaluation outcome on {@link graphqlAuthContextEvaluationsTotal}.
256
+ * Use for the `authenticated` and `invalid_token` outcomes; the `no_principal`
257
+ * outcome is recorded (with identity logging) by {@link recordShadowAuthMiss}.
258
+ *
259
+ * @param transport - The transport the evaluation ran on.
260
+ * @param outcome - The evaluation outcome.
261
+ */
262
+ export function recordAuthContextOutcome(transport, outcome) {
263
+ graphqlAuthContextEvaluationsTotal.inc({ transport, outcome });
264
+ }
265
+ /**
266
+ * Record a would-deny (`no_principal`) request: increment the counter and, unless
267
+ * logging is disabled, emit a throttled structured identity log. NEVER blocks and
268
+ * NEVER throws — safe to call on the hot path of the `context()` callback.
269
+ *
270
+ * @param identity - Best-effort caller identity for the unauthenticated request.
271
+ */
272
+ export function recordShadowAuthMiss(identity) {
273
+ graphqlAuthContextEvaluationsTotal.inc({
274
+ transport: identity.transport,
275
+ outcome: 'no_principal',
276
+ });
277
+ if (isShadowAuthLoggingDisabled())
278
+ return;
279
+ const operationName = capSegment(identity.operationName, MAX_KEY_SEGMENT_LEN) || '<unnamed>';
280
+ const origin = capSegment(identity.origin, MAX_KEY_SEGMENT_LEN) || '<none>';
281
+ const key = `${identity.transport}|${operationName}|${origin}`;
282
+ if (!shouldEmitIdentityLog(key))
283
+ return;
284
+ logger.warn('[graphql-auth-shadow] would-deny: unauthenticated /graphql request (allowing — no verified principal)', {
285
+ transport: identity.transport,
286
+ operationName,
287
+ origin,
288
+ ip: identity.ip,
289
+ userAgent: capSegment(identity.userAgent, MAX_UA_LEN) || undefined,
290
+ authHeaderPresent: identity.authHeaderPresent,
291
+ dedupWindowMs: SHADOW_LOG_DEDUP_WINDOW_MS,
292
+ note: 'First occurrence of this (transport, operationName, origin) in the current dedup window. Every occurrence is counted on graphql_auth_context_evaluations_total{outcome="no_principal"}.',
293
+ });
294
+ }
295
+ /**
296
+ * Test-only reset of the throttled-log dedup store. Mirrors the token-verifier's
297
+ * `_resetGoogleAudienceCacheForTests` convention so tests can assert first-in-window
298
+ * emission deterministically without waiting out a real window.
299
+ *
300
+ * @internal
301
+ */
302
+ export function _resetShadowAuthStateForTests() {
303
+ shadowLogStore.clear();
304
+ }
305
+ //# sourceMappingURL=graphql-auth-shadow.js.map
@@ -1,2 +1,2 @@
1
- export declare const EconomicEvent = "\n id\n title\n description\n date\n importance\n createdAt\n updatedAt\n";
1
+ export declare const EconomicEvent = "\n id\n title\n description\n date\n importance\n country\n eventTime\n actual\n forecast\n previous\n unit\n source\n createdAt\n updatedAt\n";
2
2
  //# sourceMappingURL=EconomicEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EconomicEvent.d.ts","sourceRoot":"","sources":["../../../../src/generated/selectionSets/EconomicEvent.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,qFAQzB,CAAC"}
1
+ {"version":3,"file":"EconomicEvent.d.ts","sourceRoot":"","sources":["../../../../src/generated/selectionSets/EconomicEvent.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,iKAezB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EconomicEvent.js","sourceRoot":"","sources":["../../../../src/generated/selectionSets/EconomicEvent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;CAQ5B,CAAC"}
1
+ {"version":3,"file":"EconomicEvent.js","sourceRoot":"","sources":["../../../../src/generated/selectionSets/EconomicEvent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;CAe5B,CAAC"}
@@ -4,6 +4,13 @@ export const EconomicEvent = `
4
4
  description
5
5
  date
6
6
  importance
7
+ country
8
+ eventTime
9
+ actual
10
+ forecast
11
+ previous
12
+ unit
13
+ source
7
14
  createdAt
8
15
  updatedAt
9
16
  `;
@@ -1,2 +1,2 @@
1
- export declare const NewsArticle = "\n id\n title\n content\n source\n sourceDomain\n url\n sentiment\n authors\n summary\n bannerImage\n timePublished\n category\n topics\n logo\n createdAt\n updatedAt\n";
1
+ export declare const NewsArticle = "\n id\n title\n content\n source\n sourceDomain\n url\n sentiment\n authors\n summary\n bannerImage\n timePublished\n category\n topics\n logo\n symbols\n relevance\n publishedAt\n createdAt\n updatedAt\n";
2
2
  //# sourceMappingURL=NewsArticle.d.ts.map