@vtex/api 6.48.0 → 6.48.1-beta

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 (402) hide show
  1. package/gen/manifest.schema +0 -3
  2. package/lib/{clients/apps → HttpClient}/AppClient.d.ts +3 -3
  3. package/lib/{clients/apps → HttpClient}/AppClient.js +5 -10
  4. package/lib/{clients/apps → HttpClient}/AppGraphQLClient.d.ts +3 -3
  5. package/lib/{clients/apps → HttpClient}/AppGraphQLClient.js +5 -10
  6. package/lib/{clients/external → HttpClient}/ExternalClient.d.ts +3 -3
  7. package/lib/{clients/external → HttpClient}/ExternalClient.js +2 -9
  8. package/lib/HttpClient/GraphQLClient.d.ts +1 -2
  9. package/lib/HttpClient/GraphQLClient.js +1 -4
  10. package/lib/HttpClient/HttpClient.d.ts +5 -6
  11. package/lib/HttpClient/HttpClient.js +21 -63
  12. package/lib/{clients → HttpClient}/IOClient.d.ts +4 -4
  13. package/lib/HttpClient/IOClient.js +14 -0
  14. package/lib/{clients → HttpClient}/IOGraphQLClient.d.ts +4 -4
  15. package/lib/{clients → HttpClient}/IOGraphQLClient.js +2 -2
  16. package/lib/{clients/infra → HttpClient}/InfraClient.d.ts +3 -3
  17. package/lib/{clients/infra → HttpClient}/InfraClient.js +4 -9
  18. package/lib/{clients/janus → HttpClient}/JanusClient.d.ts +3 -3
  19. package/lib/{clients/janus → HttpClient}/JanusClient.js +3 -7
  20. package/lib/HttpClient/factories/index.d.ts +8 -0
  21. package/lib/HttpClient/factories/index.js +31 -0
  22. package/lib/HttpClient/index.d.ts +7 -1
  23. package/lib/HttpClient/index.js +7 -1
  24. package/lib/HttpClient/middlewares/cache.d.ts +2 -8
  25. package/lib/HttpClient/middlewares/cache.js +31 -120
  26. package/lib/HttpClient/middlewares/cancellationToken.d.ts +1 -1
  27. package/lib/HttpClient/middlewares/cancellationToken.js +1 -2
  28. package/lib/HttpClient/middlewares/memoization.js +1 -8
  29. package/lib/HttpClient/middlewares/metrics.js +31 -12
  30. package/lib/HttpClient/middlewares/recorder.d.ts +1 -1
  31. package/lib/HttpClient/middlewares/recorder.js +13 -16
  32. package/lib/HttpClient/middlewares/request.d.ts +10 -0
  33. package/lib/HttpClient/middlewares/request.js +87 -0
  34. package/lib/HttpClient/typings.d.ts +9 -43
  35. package/lib/IODataSource.d.ts +27 -0
  36. package/lib/IODataSource.js +46 -0
  37. package/lib/caches/LRUCache.js +1 -5
  38. package/lib/caches/LRUDiskCache.js +1 -5
  39. package/lib/clients/Apps.d.ts +84 -0
  40. package/lib/clients/Apps.js +326 -0
  41. package/lib/clients/Assets.d.ts +21 -0
  42. package/lib/clients/{infra/Assets.js → Assets.js} +19 -74
  43. package/lib/clients/Billing.d.ts +11 -0
  44. package/lib/clients/{apps/Billing.js → Billing.js} +3 -8
  45. package/lib/clients/BillingMetrics.d.ts +12 -0
  46. package/lib/clients/BillingMetrics.js +10 -0
  47. package/lib/clients/{apps/Builder.d.ts → Builder.d.ts} +11 -12
  48. package/lib/clients/{apps/Builder.js → Builder.js} +22 -49
  49. package/lib/clients/Events.d.ts +6 -0
  50. package/lib/clients/Events.js +19 -0
  51. package/lib/clients/Housekeeper.d.ts +11 -0
  52. package/lib/clients/Housekeeper.js +24 -0
  53. package/lib/clients/ID.d.ts +22 -0
  54. package/lib/clients/ID.js +48 -0
  55. package/lib/clients/IOClients.d.ts +24 -28
  56. package/lib/clients/IOClients.js +28 -35
  57. package/lib/clients/LicenseManager.d.ts +6 -0
  58. package/lib/clients/{janus/LicenseManager.js → LicenseManager.js} +8 -23
  59. package/lib/clients/Logger.d.ts +27 -0
  60. package/lib/clients/Logger.js +32 -0
  61. package/lib/clients/Messages.d.ts +18 -0
  62. package/lib/clients/Messages.js +20 -0
  63. package/lib/clients/MessagesGraphQL.d.ts +63 -0
  64. package/lib/clients/MessagesGraphQL.js +50 -0
  65. package/lib/clients/Metadata.d.ts +25 -0
  66. package/lib/clients/Metadata.js +53 -0
  67. package/lib/clients/Registry.d.ts +61 -0
  68. package/lib/clients/{infra/Registry.js → Registry.js} +33 -93
  69. package/lib/clients/Router.d.ts +33 -0
  70. package/lib/clients/Router.js +50 -0
  71. package/lib/clients/{janus/Segment.d.ts → Segment.d.ts} +11 -7
  72. package/lib/clients/Segment.js +69 -0
  73. package/lib/clients/{janus/Session.d.ts → Session.d.ts} +4 -4
  74. package/lib/clients/{janus/Session.js → Session.js} +13 -24
  75. package/lib/clients/{apps/Settings.d.ts → Settings.d.ts} +4 -5
  76. package/lib/clients/{apps/Settings.js → Settings.js} +20 -14
  77. package/lib/clients/Sphinx.d.ts +12 -0
  78. package/lib/clients/Sphinx.js +19 -0
  79. package/lib/clients/{janus/Tenant.d.ts → Tenant.d.ts} +7 -6
  80. package/lib/clients/Tenant.js +13 -0
  81. package/lib/clients/VBase.d.ts +57 -0
  82. package/lib/clients/VBase.js +116 -0
  83. package/lib/clients/Workspaces.d.ts +17 -0
  84. package/lib/clients/Workspaces.js +38 -0
  85. package/lib/clients/index.d.ts +21 -9
  86. package/lib/clients/index.js +21 -12
  87. package/lib/constants.d.ts +1 -49
  88. package/lib/constants.js +1 -54
  89. package/lib/errors/ResolverError.d.ts +1 -1
  90. package/lib/errors/ResolverError.js +2 -2
  91. package/lib/errors/ResolverWarning.d.ts +1 -1
  92. package/lib/errors/ResolverWarning.js +2 -2
  93. package/lib/index.d.ts +7 -9
  94. package/lib/index.js +6 -8
  95. package/lib/metrics/MetricsAccumulator.d.ts +18 -1
  96. package/lib/metrics/MetricsAccumulator.js +22 -38
  97. package/lib/responses.d.ts +44 -3
  98. package/lib/service/Runtime.d.ts +18 -0
  99. package/lib/service/Runtime.js +57 -0
  100. package/lib/service/{worker/runtime/Service.d.ts → Service.d.ts} +5 -5
  101. package/lib/service/{worker/runtime/Service.js → Service.js} +1 -2
  102. package/lib/service/events/index.d.ts +3 -0
  103. package/lib/service/events/index.js +21 -0
  104. package/lib/service/graphql/index.d.ts +7 -0
  105. package/lib/service/graphql/index.js +33 -0
  106. package/lib/service/graphql/middlewares/error.js +107 -0
  107. package/lib/service/graphql/middlewares/formatters.d.ts +2 -0
  108. package/lib/service/graphql/middlewares/formatters.js +64 -0
  109. package/lib/service/graphql/middlewares/query.d.ts +2 -0
  110. package/lib/service/graphql/middlewares/query.js +32 -0
  111. package/lib/service/graphql/middlewares/response.js +36 -0
  112. package/lib/service/graphql/middlewares/run.d.ts +4 -0
  113. package/lib/service/graphql/middlewares/run.js +55 -0
  114. package/lib/service/graphql/middlewares/schema.d.ts +2 -0
  115. package/lib/service/graphql/middlewares/schema.js +8 -0
  116. package/lib/service/graphql/middlewares/timings.d.ts +2 -0
  117. package/lib/service/graphql/middlewares/timings.js +10 -0
  118. package/lib/service/graphql/middlewares/upload.d.ts +7 -0
  119. package/lib/service/graphql/schema/index.d.ts +3 -0
  120. package/lib/service/graphql/schema/index.js +66 -0
  121. package/lib/service/graphql/schema/messagesLoader.d.ts +4 -0
  122. package/lib/service/graphql/schema/messagesLoader.js +41 -0
  123. package/lib/service/graphql/schema/messagesLoaderV2.d.ts +5 -0
  124. package/lib/service/graphql/schema/messagesLoaderV2.js +44 -0
  125. package/lib/service/{worker/runtime/graphql → graphql}/schema/schemaDirectives/Auth.d.ts +0 -1
  126. package/lib/service/{worker/runtime/graphql → graphql}/schema/schemaDirectives/Auth.js +10 -16
  127. package/lib/service/{worker/runtime/graphql → graphql}/schema/schemaDirectives/Sanitize.d.ts +0 -1
  128. package/lib/service/{worker/runtime/graphql → graphql}/schema/schemaDirectives/Sanitize.js +0 -6
  129. package/lib/service/{worker/runtime/graphql → graphql}/schema/schemaDirectives/SmartCacheDirective.d.ts +0 -1
  130. package/lib/service/{worker/runtime/graphql → graphql}/schema/schemaDirectives/SmartCacheDirective.js +3 -8
  131. package/lib/service/{worker/runtime/graphql/schema/schemaDirectives/TranslateTo.d.ts → graphql/schema/schemaDirectives/Translatable.d.ts} +1 -2
  132. package/lib/service/graphql/schema/schemaDirectives/Translatable.js +54 -0
  133. package/lib/service/graphql/schema/schemaDirectives/TranslatableV2.d.ts +13 -0
  134. package/lib/service/graphql/schema/schemaDirectives/TranslatableV2.js +67 -0
  135. package/lib/service/graphql/schema/schemaDirectives/index.d.ts +13 -0
  136. package/lib/service/graphql/schema/schemaDirectives/index.js +17 -0
  137. package/lib/service/graphql/schema/typeDefs/index.d.ts +16 -0
  138. package/lib/service/graphql/schema/typeDefs/index.js +21 -0
  139. package/lib/service/graphql/schema/typeDefs/ioMessage.d.ts +8 -0
  140. package/lib/service/graphql/schema/typeDefs/ioMessage.js +33 -0
  141. package/lib/service/{worker/runtime/graphql → graphql}/schema/typeDefs/sanitizedString.js +1 -5
  142. package/lib/service/graphql/typings.d.ts +21 -0
  143. package/lib/service/graphql/utils/cacheControl.d.ts +6 -0
  144. package/lib/service/graphql/utils/cacheControl.js +38 -0
  145. package/lib/service/graphql/utils/maxAgeEnum.d.ts +6 -0
  146. package/lib/service/graphql/utils/maxAgeEnum.js +17 -0
  147. package/lib/service/http/index.d.ts +3 -0
  148. package/lib/service/http/index.js +18 -0
  149. package/lib/service/http/middlewares/authTokens.d.ts +3 -0
  150. package/lib/service/http/middlewares/cancellationToken.d.ts +3 -0
  151. package/lib/service/{worker/runtime/http → http}/middlewares/cancellationToken.js +1 -2
  152. package/lib/service/http/middlewares/clients.d.ts +4 -0
  153. package/lib/service/http/middlewares/error.d.ts +3 -0
  154. package/lib/service/{worker/runtime/http → http}/middlewares/error.js +10 -19
  155. package/lib/service/{worker/runtime/http → http}/middlewares/requestStats.d.ts +3 -3
  156. package/lib/service/http/middlewares/setCookie.d.ts +3 -0
  157. package/lib/service/http/middlewares/timings.d.ts +3 -0
  158. package/lib/service/{worker/runtime/http → http}/middlewares/timings.js +8 -21
  159. package/lib/service/http/middlewares/vary.d.ts +3 -0
  160. package/lib/service/{worker/runtime/http → http}/middlewares/vary.js +3 -3
  161. package/lib/service/logger/index.d.ts +28 -2
  162. package/lib/service/logger/index.js +68 -5
  163. package/lib/service/method.d.ts +9 -0
  164. package/lib/service/{worker/runtime/typings.d.ts → typings.d.ts} +36 -70
  165. package/lib/service/utils/compose.d.ts +4 -0
  166. package/lib/service/{worker/runtime/utils → utils}/compose.js +2 -2
  167. package/lib/utils/MineWinsConflictsResolver.d.ts +4 -6
  168. package/lib/utils/MineWinsConflictsResolver.js +17 -34
  169. package/lib/utils/MineWinsConflictsResolver.test.d.ts +1 -0
  170. package/lib/utils/MineWinsConflictsResolver.test.js +134 -0
  171. package/lib/utils/app.d.ts +1 -3
  172. package/lib/utils/app.js +1 -3
  173. package/lib/utils/appsStaleIfError.d.ts +1 -1
  174. package/lib/utils/appsStaleIfError.js +2 -2
  175. package/lib/utils/billingOptions.d.ts +3 -36
  176. package/lib/utils/billingOptions.js +3 -7
  177. package/lib/utils/binding.d.ts +3 -3
  178. package/lib/utils/cancel.d.ts +2 -2
  179. package/lib/utils/cancel.js +1 -2
  180. package/lib/utils/log.d.ts +3 -1
  181. package/lib/utils/log.js +2 -2
  182. package/lib/utils/message.js +1 -4
  183. package/lib/utils/tenant.d.ts +3 -3
  184. package/lib/utils/time.d.ts +2 -4
  185. package/lib/utils/time.js +2 -9
  186. package/lib/utils/unhandled.d.ts +1 -0
  187. package/lib/{service/worker/listeners.js → utils/unhandled.js} +15 -9
  188. package/package.json +2 -2
  189. package/CHANGELOG.md +0 -1858
  190. package/lib/HttpClient/agents.d.ts +0 -3
  191. package/lib/HttpClient/agents.js +0 -24
  192. package/lib/HttpClient/middlewares/request/HttpAgentSingleton.d.ts +0 -11
  193. package/lib/HttpClient/middlewares/request/HttpAgentSingleton.js +0 -30
  194. package/lib/HttpClient/middlewares/request/index.d.ts +0 -18
  195. package/lib/HttpClient/middlewares/request/index.js +0 -84
  196. package/lib/HttpClient/middlewares/request/setupAxios/index.d.ts +0 -1
  197. package/lib/HttpClient/middlewares/request/setupAxios/index.js +0 -20
  198. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/exponentialBackoff.d.ts +0 -2
  199. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/exponentialBackoff.js +0 -53
  200. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/index.d.ts +0 -2
  201. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/index.js +0 -7
  202. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/index.d.ts +0 -8
  203. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/index.js +0 -53
  204. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/spanSetup.d.ts +0 -4
  205. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/spanSetup.js +0 -29
  206. package/lib/HttpClient/middlewares/tracing.d.ts +0 -15
  207. package/lib/HttpClient/middlewares/tracing.js +0 -56
  208. package/lib/clients/IOClient.js +0 -19
  209. package/lib/clients/apps/Billing.d.ts +0 -12
  210. package/lib/clients/apps/MessagesGraphQL.d.ts +0 -61
  211. package/lib/clients/apps/MessagesGraphQL.js +0 -121
  212. package/lib/clients/apps/catalogGraphQL/brand.d.ts +0 -13
  213. package/lib/clients/apps/catalogGraphQL/brand.js +0 -18
  214. package/lib/clients/apps/catalogGraphQL/category.d.ts +0 -11
  215. package/lib/clients/apps/catalogGraphQL/category.js +0 -16
  216. package/lib/clients/apps/catalogGraphQL/index.d.ts +0 -22
  217. package/lib/clients/apps/catalogGraphQL/index.js +0 -88
  218. package/lib/clients/apps/catalogGraphQL/product.d.ts +0 -25
  219. package/lib/clients/apps/catalogGraphQL/product.js +0 -30
  220. package/lib/clients/apps/catalogGraphQL/sku.d.ts +0 -26
  221. package/lib/clients/apps/catalogGraphQL/sku.js +0 -30
  222. package/lib/clients/apps/index.d.ts +0 -7
  223. package/lib/clients/apps/index.js +0 -12
  224. package/lib/clients/external/ID.d.ts +0 -23
  225. package/lib/clients/external/ID.js +0 -60
  226. package/lib/clients/external/Masterdata.d.ts +0 -94
  227. package/lib/clients/external/Masterdata.js +0 -224
  228. package/lib/clients/external/PaymentProvider.d.ts +0 -31
  229. package/lib/clients/external/PaymentProvider.js +0 -42
  230. package/lib/clients/external/index.d.ts +0 -4
  231. package/lib/clients/external/index.js +0 -9
  232. package/lib/clients/infra/Apps.d.ts +0 -88
  233. package/lib/clients/infra/Apps.js +0 -508
  234. package/lib/clients/infra/Assets.d.ts +0 -34
  235. package/lib/clients/infra/BillingMetrics.d.ts +0 -13
  236. package/lib/clients/infra/BillingMetrics.js +0 -15
  237. package/lib/clients/infra/Events.d.ts +0 -12
  238. package/lib/clients/infra/Events.js +0 -33
  239. package/lib/clients/infra/Housekeeper.d.ts +0 -10
  240. package/lib/clients/infra/Housekeeper.js +0 -30
  241. package/lib/clients/infra/Registry.d.ts +0 -59
  242. package/lib/clients/infra/Router.d.ts +0 -34
  243. package/lib/clients/infra/Router.js +0 -81
  244. package/lib/clients/infra/Sphinx.d.ts +0 -13
  245. package/lib/clients/infra/Sphinx.js +0 -29
  246. package/lib/clients/infra/VBase.d.ts +0 -60
  247. package/lib/clients/infra/VBase.js +0 -196
  248. package/lib/clients/infra/Workspaces.d.ts +0 -18
  249. package/lib/clients/infra/Workspaces.js +0 -65
  250. package/lib/clients/infra/index.d.ts +0 -11
  251. package/lib/clients/infra/index.js +0 -16
  252. package/lib/clients/janus/LicenseManager.d.ts +0 -7
  253. package/lib/clients/janus/Segment.js +0 -88
  254. package/lib/clients/janus/Tenant.js +0 -28
  255. package/lib/clients/janus/index.d.ts +0 -5
  256. package/lib/clients/janus/index.js +0 -10
  257. package/lib/service/index.d.ts +0 -2
  258. package/lib/service/index.js +0 -30
  259. package/lib/service/loaders.d.ts +0 -8
  260. package/lib/service/loaders.js +0 -54
  261. package/lib/service/logger/console.d.ts +0 -10
  262. package/lib/service/logger/console.js +0 -36
  263. package/lib/service/logger/logger.d.ts +0 -29
  264. package/lib/service/logger/logger.js +0 -61
  265. package/lib/service/logger/metricsLogger.d.ts +0 -40
  266. package/lib/service/logger/metricsLogger.js +0 -149
  267. package/lib/service/master.d.ts +0 -2
  268. package/lib/service/master.js +0 -87
  269. package/lib/service/metrics/requestMetricsMiddleware.d.ts +0 -2
  270. package/lib/service/metrics/requestMetricsMiddleware.js +0 -44
  271. package/lib/service/tracing/TracerSingleton.d.ts +0 -7
  272. package/lib/service/tracing/TracerSingleton.js +0 -48
  273. package/lib/service/tracing/metrics/MetricNames.d.ts +0 -60
  274. package/lib/service/tracing/metrics/MetricNames.js +0 -44
  275. package/lib/service/tracing/metrics/instruments.d.ts +0 -9
  276. package/lib/service/tracing/metrics/instruments.js +0 -11
  277. package/lib/service/tracing/metrics/measurers/EventLoopLagMeasurer.d.ts +0 -9
  278. package/lib/service/tracing/metrics/measurers/EventLoopLagMeasurer.js +0 -25
  279. package/lib/service/tracing/tracingMiddlewares.d.ts +0 -5
  280. package/lib/service/tracing/tracingMiddlewares.js +0 -107
  281. package/lib/service/worker/index.d.ts +0 -11
  282. package/lib/service/worker/index.js +0 -195
  283. package/lib/service/worker/listeners.d.ts +0 -3
  284. package/lib/service/worker/runtime/builtIn/handlers.d.ts +0 -4
  285. package/lib/service/worker/runtime/builtIn/handlers.js +0 -30
  286. package/lib/service/worker/runtime/builtIn/middlewares.d.ts +0 -4
  287. package/lib/service/worker/runtime/builtIn/middlewares.js +0 -40
  288. package/lib/service/worker/runtime/events/index.d.ts +0 -4
  289. package/lib/service/worker/runtime/events/index.js +0 -46
  290. package/lib/service/worker/runtime/events/middlewares/body.d.ts +0 -3
  291. package/lib/service/worker/runtime/events/middlewares/body.js +0 -22
  292. package/lib/service/worker/runtime/events/middlewares/context.d.ts +0 -3
  293. package/lib/service/worker/runtime/events/middlewares/context.js +0 -22
  294. package/lib/service/worker/runtime/events/router.d.ts +0 -2
  295. package/lib/service/worker/runtime/events/router.js +0 -27
  296. package/lib/service/worker/runtime/graphql/index.d.ts +0 -6
  297. package/lib/service/worker/runtime/graphql/index.js +0 -27
  298. package/lib/service/worker/runtime/graphql/middlewares/context.d.ts +0 -2
  299. package/lib/service/worker/runtime/graphql/middlewares/context.js +0 -16
  300. package/lib/service/worker/runtime/graphql/middlewares/error.js +0 -93
  301. package/lib/service/worker/runtime/graphql/middlewares/query.d.ts +0 -2
  302. package/lib/service/worker/runtime/graphql/middlewares/query.js +0 -52
  303. package/lib/service/worker/runtime/graphql/middlewares/response.js +0 -38
  304. package/lib/service/worker/runtime/graphql/middlewares/run.d.ts +0 -2
  305. package/lib/service/worker/runtime/graphql/middlewares/run.js +0 -19
  306. package/lib/service/worker/runtime/graphql/middlewares/updateSchema.d.ts +0 -4
  307. package/lib/service/worker/runtime/graphql/middlewares/updateSchema.js +0 -28
  308. package/lib/service/worker/runtime/graphql/middlewares/upload.d.ts +0 -4
  309. package/lib/service/worker/runtime/graphql/schema/index.d.ts +0 -7
  310. package/lib/service/worker/runtime/graphql/schema/index.js +0 -31
  311. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.d.ts +0 -6
  312. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.js +0 -79
  313. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/CacheControl.d.ts +0 -7
  314. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/CacheControl.js +0 -37
  315. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Deprecated.d.ts +0 -11
  316. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Deprecated.js +0 -61
  317. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Metric.d.ts +0 -7
  318. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Metric.js +0 -40
  319. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Settings.d.ts +0 -6
  320. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Settings.js +0 -34
  321. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslatableV2.d.ts +0 -7
  322. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslatableV2.js +0 -39
  323. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslateTo.js +0 -33
  324. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/index.d.ts +0 -22
  325. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/index.js +0 -36
  326. package/lib/service/worker/runtime/graphql/schema/typeDefs/index.d.ts +0 -7
  327. package/lib/service/worker/runtime/graphql/schema/typeDefs/index.js +0 -12
  328. package/lib/service/worker/runtime/graphql/typings.d.ts +0 -31
  329. package/lib/service/worker/runtime/graphql/utils/cacheControl.d.ts +0 -1
  330. package/lib/service/worker/runtime/graphql/utils/cacheControl.js +0 -32
  331. package/lib/service/worker/runtime/graphql/utils/error.d.ts +0 -1
  332. package/lib/service/worker/runtime/graphql/utils/error.js +0 -76
  333. package/lib/service/worker/runtime/graphql/utils/translations.d.ts +0 -14
  334. package/lib/service/worker/runtime/graphql/utils/translations.js +0 -38
  335. package/lib/service/worker/runtime/http/index.d.ts +0 -5
  336. package/lib/service/worker/runtime/http/index.js +0 -58
  337. package/lib/service/worker/runtime/http/middlewares/authTokens.d.ts +0 -3
  338. package/lib/service/worker/runtime/http/middlewares/cancellationToken.d.ts +0 -3
  339. package/lib/service/worker/runtime/http/middlewares/clients.d.ts +0 -4
  340. package/lib/service/worker/runtime/http/middlewares/context.d.ts +0 -4
  341. package/lib/service/worker/runtime/http/middlewares/context.js +0 -36
  342. package/lib/service/worker/runtime/http/middlewares/error.d.ts +0 -2
  343. package/lib/service/worker/runtime/http/middlewares/rateLimit.d.ts +0 -6
  344. package/lib/service/worker/runtime/http/middlewares/rateLimit.js +0 -42
  345. package/lib/service/worker/runtime/http/middlewares/setCookie.d.ts +0 -3
  346. package/lib/service/worker/runtime/http/middlewares/settings.d.ts +0 -9
  347. package/lib/service/worker/runtime/http/middlewares/settings.js +0 -44
  348. package/lib/service/worker/runtime/http/middlewares/timings.d.ts +0 -3
  349. package/lib/service/worker/runtime/http/middlewares/vary.d.ts +0 -3
  350. package/lib/service/worker/runtime/http/router.d.ts +0 -2
  351. package/lib/service/worker/runtime/http/router.js +0 -23
  352. package/lib/service/worker/runtime/http/routes.d.ts +0 -19
  353. package/lib/service/worker/runtime/http/routes.js +0 -12
  354. package/lib/service/worker/runtime/method.d.ts +0 -9
  355. package/lib/service/worker/runtime/statusTrack.d.ts +0 -14
  356. package/lib/service/worker/runtime/statusTrack.js +0 -37
  357. package/lib/service/worker/runtime/utils/compose.d.ts +0 -5
  358. package/lib/service/worker/runtime/utils/context.d.ts +0 -2
  359. package/lib/service/worker/runtime/utils/context.js +0 -40
  360. package/lib/service/worker/runtime/utils/diff.d.ts +0 -12
  361. package/lib/service/worker/runtime/utils/diff.js +0 -21
  362. package/lib/service/worker/runtime/utils/recorder.d.ts +0 -8
  363. package/lib/service/worker/runtime/utils/recorder.js +0 -37
  364. package/lib/service/worker/runtime/utils/tokenBucket.d.ts +0 -2
  365. package/lib/service/worker/runtime/utils/tokenBucket.js +0 -16
  366. package/lib/tracing/LogEvents.d.ts +0 -31
  367. package/lib/tracing/LogEvents.js +0 -3
  368. package/lib/tracing/LogFields.d.ts +0 -66
  369. package/lib/tracing/LogFields.js +0 -3
  370. package/lib/tracing/Tags.d.ts +0 -81
  371. package/lib/tracing/Tags.js +0 -7
  372. package/lib/tracing/UserLandTracer.d.ts +0 -27
  373. package/lib/tracing/UserLandTracer.js +0 -56
  374. package/lib/tracing/errorReporting/ErrorReport.d.ts +0 -31
  375. package/lib/tracing/errorReporting/ErrorReport.js +0 -70
  376. package/lib/tracing/index.d.ts +0 -9
  377. package/lib/tracing/index.js +0 -19
  378. package/lib/tracing/spanReference/SpanReferenceTypes.d.ts +0 -4
  379. package/lib/tracing/spanReference/SpanReferenceTypes.js +0 -7
  380. package/lib/tracing/spanReference/createSpanReference.d.ts +0 -3
  381. package/lib/tracing/spanReference/createSpanReference.js +0 -8
  382. package/lib/tracing/utils.d.ts +0 -13
  383. package/lib/tracing/utils.js +0 -40
  384. package/lib/utils/conflicts.mock.d.ts +0 -17
  385. package/lib/utils/conflicts.mock.js +0 -27
  386. /package/lib/service/{worker/runtime/graphql → graphql}/middlewares/error.d.ts +0 -0
  387. /package/lib/service/{worker/runtime/graphql → graphql}/middlewares/response.d.ts +0 -0
  388. /package/lib/service/{worker/runtime/graphql → graphql}/middlewares/upload.js +0 -0
  389. /package/lib/service/{worker/runtime/graphql → graphql}/schema/typeDefs/ioUpload.d.ts +0 -0
  390. /package/lib/service/{worker/runtime/graphql → graphql}/schema/typeDefs/ioUpload.js +0 -0
  391. /package/lib/service/{worker/runtime/graphql → graphql}/schema/typeDefs/sanitizedString.d.ts +0 -0
  392. /package/lib/service/{worker/runtime/graphql → graphql}/typings.js +0 -0
  393. /package/lib/service/{worker/runtime/utils/toArray.d.ts → graphql/utils/array.d.ts} +0 -0
  394. /package/lib/service/{worker/runtime/utils/toArray.js → graphql/utils/array.js} +0 -0
  395. /package/lib/service/{worker/runtime/graphql → graphql}/utils/pathname.d.ts +0 -0
  396. /package/lib/service/{worker/runtime/graphql → graphql}/utils/pathname.js +0 -0
  397. /package/lib/service/{worker/runtime/http → http}/middlewares/authTokens.js +0 -0
  398. /package/lib/service/{worker/runtime/http → http}/middlewares/clients.js +0 -0
  399. /package/lib/service/{worker/runtime/http → http}/middlewares/requestStats.js +0 -0
  400. /package/lib/service/{worker/runtime/http → http}/middlewares/setCookie.js +0 -0
  401. /package/lib/service/{worker/runtime/method.js → method.js} +0 -0
  402. /package/lib/service/{worker/runtime/typings.js → typings.js} +0 -0
@@ -2,16 +2,25 @@
2
2
  function __export(m) {
3
3
  for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
4
  }
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
5
  Object.defineProperty(exports, "__esModule", { value: true });
9
- __export(require("./apps"));
10
- __export(require("./external"));
11
- __export(require("./infra"));
12
- __export(require("./janus"));
13
- __export(require("./IOClient"));
14
- __export(require("./IOClients"));
15
- __export(require("./IOGraphQLClient"));
16
- const prom_client_1 = __importDefault(require("prom-client"));
17
- exports.promclient = prom_client_1.default;
6
+ __export(require("./Apps"));
7
+ __export(require("./Assets"));
8
+ __export(require("./Billing"));
9
+ __export(require("./BillingMetrics"));
10
+ __export(require("./Builder"));
11
+ __export(require("./Events"));
12
+ __export(require("./Housekeeper"));
13
+ __export(require("./ID"));
14
+ __export(require("./LicenseManager"));
15
+ __export(require("./Logger"));
16
+ __export(require("./Messages"));
17
+ __export(require("./MessagesGraphQL"));
18
+ __export(require("./Metadata"));
19
+ __export(require("./Registry"));
20
+ __export(require("./Router"));
21
+ __export(require("./Segment"));
22
+ __export(require("./Settings"));
23
+ __export(require("./Session"));
24
+ __export(require("./Sphinx"));
25
+ __export(require("./VBase"));
26
+ __export(require("./Workspaces"));
@@ -1,8 +1,4 @@
1
- export declare const NODE_VTEX_API_VERSION: any;
2
1
  export declare const DEFAULT_WORKSPACE = "master";
3
- export declare const IS_IO: string | undefined;
4
- export declare const PID: number;
5
- export declare const CACHE_CONTROL_HEADER = "cache-control";
6
2
  export declare const SEGMENT_HEADER = "x-vtex-segment";
7
3
  export declare const SESSION_HEADER = "x-vtex-session";
8
4
  export declare const PRODUCT_HEADER = "x-vtex-product";
@@ -10,50 +6,6 @@ export declare const LOCALE_HEADER = "x-vtex-locale";
10
6
  export declare const FORWARDED_HOST_HEADER = "x-forwarded-host";
11
7
  export declare const TENANT_HEADER = "x-vtex-tenant";
12
8
  export declare const BINDING_HEADER = "x-vtex-binding";
13
- export declare const META_HEADER = "x-vtex-meta";
14
- export declare const META_HEADER_BUCKET = "x-vtex-meta-bucket";
15
- export declare const ETAG_HEADER = "etag";
16
- export declare const ACCOUNT_HEADER = "x-vtex-account";
17
- export declare const CREDENTIAL_HEADER = "x-vtex-credential";
18
- export declare const REQUEST_ID_HEADER = "x-request-id";
19
- export declare const ROUTER_CACHE_HEADER = "x-router-cache";
20
- export declare const OPERATION_ID_HEADER = "x-vtex-operation-id";
21
- export declare const PLATFORM_HEADER = "x-vtex-platform";
22
- export declare const WORKSPACE_IS_PRODUCTION_HEADER = "x-vtex-workspace-is-production";
23
- export declare const WORKSPACE_HEADER = "x-vtex-workspace";
24
- export declare const EVENT_KEY_HEADER = "x-event-key";
25
- export declare const EVENT_SENDER_HEADER = "x-event-sender";
26
- export declare const EVENT_SUBJECT_HEADER = "x-event-subject";
27
- export declare const EVENT_HANDLER_ID_HEADER = "x-event-handler-id";
28
- export declare const COLOSSUS_ROUTE_DECLARER_HEADER = "x-colossus-route-declarer";
29
- export declare const COLOSSUS_ROUTE_ID_HEADER = "x-colossus-route-id";
30
- export declare const COLOSSUS_PARAMS_HEADER = "x-colossus-params";
31
- export declare const TRACE_ID_HEADER = "x-trace-id";
32
- export declare const PROVIDER_HEADER = "x-vtex-provider";
9
+ export declare const LINKED: boolean;
33
10
  export declare type VaryHeaders = typeof SEGMENT_HEADER | typeof SESSION_HEADER | typeof PRODUCT_HEADER | typeof LOCALE_HEADER;
34
11
  export declare const BODY_HASH = "__graphqlBodyHash";
35
- export declare const UP_SIGNAL = "UP";
36
- export declare const MAX_AGE: {
37
- LONG: number;
38
- MEDIUM: number;
39
- SHORT: number;
40
- };
41
- export declare const HTTP_SERVER_PORT = 5050;
42
- export declare const MAX_WORKERS = 4;
43
- export declare const LINKED: boolean;
44
- export declare const REGION: string;
45
- export declare const PUBLIC_ENDPOINT: string;
46
- export declare const APP: {
47
- ID: string;
48
- MAJOR: string;
49
- NAME: string;
50
- VENDOR: string;
51
- VERSION: string;
52
- IS_THIRD_PARTY(): boolean;
53
- };
54
- export declare const NODE_ENV: string;
55
- export declare const ACCOUNT: string;
56
- export declare const WORKSPACE: string;
57
- export declare const PRODUCTION: boolean;
58
- export declare const INSPECT_DEBUGGER_PORT = 5858;
59
- export declare const cancellableMethods: Set<string>;
package/lib/constants.js CHANGED
@@ -1,13 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const app_1 = require("./utils/app");
4
- // tslint:disable-next-line
5
- const pkg = require('../package.json');
6
- exports.NODE_VTEX_API_VERSION = pkg.version;
7
3
  exports.DEFAULT_WORKSPACE = 'master';
8
- exports.IS_IO = process.env.VTEX_IO;
9
- exports.PID = process.pid;
10
- exports.CACHE_CONTROL_HEADER = 'cache-control';
11
4
  exports.SEGMENT_HEADER = 'x-vtex-segment';
12
5
  exports.SESSION_HEADER = 'x-vtex-session';
13
6
  exports.PRODUCT_HEADER = 'x-vtex-product';
@@ -15,51 +8,5 @@ exports.LOCALE_HEADER = 'x-vtex-locale';
15
8
  exports.FORWARDED_HOST_HEADER = 'x-forwarded-host';
16
9
  exports.TENANT_HEADER = 'x-vtex-tenant';
17
10
  exports.BINDING_HEADER = 'x-vtex-binding';
18
- exports.META_HEADER = 'x-vtex-meta';
19
- exports.META_HEADER_BUCKET = 'x-vtex-meta-bucket';
20
- exports.ETAG_HEADER = 'etag';
21
- exports.ACCOUNT_HEADER = 'x-vtex-account';
22
- exports.CREDENTIAL_HEADER = 'x-vtex-credential';
23
- exports.REQUEST_ID_HEADER = 'x-request-id';
24
- exports.ROUTER_CACHE_HEADER = 'x-router-cache';
25
- exports.OPERATION_ID_HEADER = 'x-vtex-operation-id';
26
- exports.PLATFORM_HEADER = 'x-vtex-platform';
27
- exports.WORKSPACE_IS_PRODUCTION_HEADER = 'x-vtex-workspace-is-production';
28
- exports.WORKSPACE_HEADER = 'x-vtex-workspace';
29
- exports.EVENT_KEY_HEADER = 'x-event-key';
30
- exports.EVENT_SENDER_HEADER = 'x-event-sender';
31
- exports.EVENT_SUBJECT_HEADER = 'x-event-subject';
32
- exports.EVENT_HANDLER_ID_HEADER = 'x-event-handler-id';
33
- exports.COLOSSUS_ROUTE_DECLARER_HEADER = 'x-colossus-route-declarer';
34
- exports.COLOSSUS_ROUTE_ID_HEADER = 'x-colossus-route-id';
35
- exports.COLOSSUS_PARAMS_HEADER = 'x-colossus-params';
36
- exports.TRACE_ID_HEADER = 'x-trace-id';
37
- exports.PROVIDER_HEADER = 'x-vtex-provider';
38
- exports.BODY_HASH = '__graphqlBodyHash';
39
- exports.UP_SIGNAL = 'UP';
40
- exports.MAX_AGE = {
41
- LONG: 86400,
42
- MEDIUM: 3600,
43
- SHORT: 120,
44
- };
45
- exports.HTTP_SERVER_PORT = 5050;
46
- exports.MAX_WORKERS = 4;
47
11
  exports.LINKED = !!process.env.VTEX_APP_LINK;
48
- exports.REGION = process.env.VTEX_REGION;
49
- exports.PUBLIC_ENDPOINT = process.env.VTEX_PUBLIC_ENDPOINT || 'myvtex.com';
50
- exports.APP = {
51
- ID: process.env.VTEX_APP_ID,
52
- MAJOR: process.env.VTEX_APP_VERSION ? app_1.versionToMajor(process.env.VTEX_APP_VERSION) : '',
53
- NAME: process.env.VTEX_APP_NAME,
54
- VENDOR: process.env.VTEX_APP_VENDOR,
55
- VERSION: process.env.VTEX_APP_VERSION,
56
- IS_THIRD_PARTY() {
57
- return 'vtex' !== this.VENDOR && 'gocommerce' !== this.VENDOR;
58
- },
59
- };
60
- exports.NODE_ENV = process.env.NODE_ENV;
61
- exports.ACCOUNT = process.env.VTEX_ACCOUNT;
62
- exports.WORKSPACE = process.env.VTEX_WORKSPACE;
63
- exports.PRODUCTION = process.env.VTEX_PRODUCTION === 'true';
64
- exports.INSPECT_DEBUGGER_PORT = 5858;
65
- exports.cancellableMethods = new Set(['GET', 'OPTIONS', 'HEAD']);
12
+ exports.BODY_HASH = '__graphqlBodyHash';
@@ -1,5 +1,5 @@
1
1
  import { AxiosError } from 'axios';
2
- import { LogLevel } from '../service/logger';
2
+ import { LogLevel } from '../clients/Logger';
3
3
  export interface ErrorLike {
4
4
  name?: string;
5
5
  message: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const logger_1 = require("../service/logger");
3
+ const Logger_1 = require("../clients/Logger");
4
4
  const error_1 = require("../utils/error");
5
5
  /**
6
6
  * The generic Error class to be thrown for caught errors inside resolvers.
@@ -22,7 +22,7 @@ class ResolverError extends Error {
22
22
  this.status = status;
23
23
  this.code = code;
24
24
  this.name = 'ResolverError';
25
- this.level = logger_1.LogLevel.Error;
25
+ this.level = Logger_1.LogLevel.Error;
26
26
  if (typeof messageOrError === 'object') {
27
27
  // Copy original error properties without circular references
28
28
  Object.assign(this, error_1.cleanError(messageOrError));
@@ -1,5 +1,5 @@
1
1
  import { AxiosError } from 'axios';
2
- import { LogLevel } from '../service/logger';
2
+ import { LogLevel } from '../clients/Logger';
3
3
  import { ErrorLike, ResolverError } from './ResolverError';
4
4
  /**
5
5
  * Indicates a non-fatal error occurred and was handled.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const logger_1 = require("../service/logger");
3
+ const Logger_1 = require("../clients/Logger");
4
4
  const ResolverError_1 = require("./ResolverError");
5
5
  /**
6
6
  * Indicates a non-fatal error occurred and was handled.
@@ -19,7 +19,7 @@ class ResolverWarning extends ResolverError_1.ResolverError {
19
19
  this.status = status;
20
20
  this.code = code;
21
21
  this.name = 'ResolverWarning';
22
- this.level = logger_1.LogLevel.Warn;
22
+ this.level = Logger_1.LogLevel.Warn;
23
23
  if (typeof messageOrError === 'string' || !messageOrError.stack) {
24
24
  Error.captureStackTrace(this, ResolverWarning);
25
25
  }
package/lib/index.d.ts CHANGED
@@ -1,17 +1,15 @@
1
1
  export * from './caches';
2
2
  export * from './clients';
3
+ export * from './clients/IOClients';
3
4
  export * from './errors';
4
5
  export * from './HttpClient';
6
+ export * from './IODataSource';
5
7
  export * from './metrics/MetricsAccumulator';
6
8
  export * from './responses';
7
- export * from './service/worker/runtime/Service';
8
- export * from './service/worker/runtime/method';
9
- export * from './service/worker/runtime/typings';
10
- export * from './service/worker/runtime/graphql/schema/schemaDirectives';
11
- export * from './service/worker/runtime/graphql/schema/messagesLoaderV2';
12
- export * from './service/worker/runtime/utils/recorder';
13
- export * from './service';
14
- export * from './service/logger';
9
+ export * from './service/Runtime';
10
+ export * from './service/Service';
11
+ export * from './service/method';
12
+ export * from './service/typings';
13
+ export * from './service/graphql/schema/schemaDirectives';
15
14
  export * from './utils';
16
15
  export * from './constants';
17
- export * from './tracing';
package/lib/index.js CHANGED
@@ -6,16 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  process.env.FORCE_COLOR = '1';
7
7
  __export(require("./caches"));
8
8
  __export(require("./clients"));
9
+ __export(require("./clients/IOClients"));
9
10
  __export(require("./errors"));
10
11
  __export(require("./HttpClient"));
12
+ __export(require("./IODataSource"));
11
13
  __export(require("./metrics/MetricsAccumulator"));
12
- __export(require("./service/worker/runtime/Service"));
13
- __export(require("./service/worker/runtime/method"));
14
- __export(require("./service/worker/runtime/graphql/schema/schemaDirectives"));
15
- __export(require("./service/worker/runtime/graphql/schema/messagesLoaderV2"));
16
- __export(require("./service/worker/runtime/utils/recorder"));
17
- __export(require("./service"));
18
- __export(require("./service/logger"));
14
+ __export(require("./service/Runtime"));
15
+ __export(require("./service/Service"));
16
+ __export(require("./service/method"));
17
+ __export(require("./service/graphql/schema/schemaDirectives"));
19
18
  __export(require("./utils"));
20
19
  __export(require("./constants"));
21
- __export(require("./tracing"));
@@ -1,19 +1,36 @@
1
- import { EnvMetric } from '../service/worker/runtime/statusTrack';
2
1
  export interface Metric {
3
2
  name: string;
4
3
  [key: string]: number | string | null;
5
4
  }
5
+ interface NamedMetric {
6
+ name: string;
7
+ [key: string]: any;
8
+ }
9
+ export interface EnvMetric extends NamedMetric {
10
+ production: boolean;
11
+ }
6
12
  interface GetStats {
7
13
  getStats(): {
8
14
  [key: string]: number | boolean | string | undefined;
9
15
  };
10
16
  }
17
+ export declare type StatusTrack = () => EnvMetric[];
11
18
  export declare class MetricsAccumulator {
12
19
  private metricsMillis;
13
20
  private extensions;
14
21
  private cacheMap;
15
22
  private onFlushMetrics;
16
23
  constructor();
24
+ /**
25
+ * @deprecated in favor of MetricsAccumulator.batch(name, diffNs, cacheHit)
26
+ * @see batch
27
+ */
28
+ batchHrTimeMetricFromEnd: (name: string, end?: [number, number] | undefined) => void;
29
+ /**
30
+ * @deprecated in favor of MetricsAccumulator.batch(name, diffNs, cacheHit)
31
+ * @see batch
32
+ */
33
+ batchHrTimeMetric: (name: string, start: [number, number]) => void;
17
34
  batchMetric: (name: string, timeMillis?: number | undefined, extensions?: Record<string, string | number> | undefined) => void;
18
35
  /**
19
36
  * Batches a named metric which took `diffNs`.
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const ramda_1 = require("ramda");
4
4
  const stats_lite_1 = require("stats-lite");
5
- const HttpAgentSingleton_1 = require("../HttpClient/middlewares/request/HttpAgentSingleton");
6
- const requestStats_1 = require("../service/worker/runtime/http/middlewares/requestStats");
5
+ const request_1 = require("../HttpClient/middlewares/request");
6
+ const requestStats_1 = require("../service/http/middlewares/requestStats");
7
7
  const time_1 = require("../utils/time");
8
8
  // Production pods never handle development workspaces and vice-versa.
9
9
  const production = process.env.VTEX_PRODUCTION === 'true';
@@ -23,6 +23,20 @@ function getIncomingRequestStats() {
23
23
  }
24
24
  class MetricsAccumulator {
25
25
  constructor() {
26
+ /**
27
+ * @deprecated in favor of MetricsAccumulator.batch(name, diffNs, cacheHit)
28
+ * @see batch
29
+ */
30
+ this.batchHrTimeMetricFromEnd = (name, end) => {
31
+ this.batchMetric(name, end ? time_1.hrToMillis(end) : undefined);
32
+ };
33
+ /**
34
+ * @deprecated in favor of MetricsAccumulator.batch(name, diffNs, cacheHit)
35
+ * @see batch
36
+ */
37
+ this.batchHrTimeMetric = (name, start) => {
38
+ this.batchMetric(name, time_1.hrToMillis(process.hrtime(start)));
39
+ };
26
40
  this.batchMetric = (name, timeMillis, extensions) => {
27
41
  if (!this.metricsMillis[name]) {
28
42
  this.metricsMillis[name] = [];
@@ -67,49 +81,19 @@ class MetricsAccumulator {
67
81
  return this.flushMetrics();
68
82
  };
69
83
  this.metricToAggregate = (value, key) => {
70
- const aggregate = {
71
- name: key,
72
- count: value.length,
73
- max: Math.max(...value),
74
- mean: stats_lite_1.mean(value),
75
- median: stats_lite_1.median(value),
76
- percentile95: stats_lite_1.percentile(value, 0.95),
77
- percentile99: stats_lite_1.percentile(value, 0.99),
78
- production,
79
- ...this.extensions[key],
80
- };
84
+ const aggregate = Object.assign({ name: key, count: value.length, max: Math.max(...value), mean: stats_lite_1.mean(value), median: stats_lite_1.median(value), percentile95: stats_lite_1.percentile(value, 0.95), percentile99: stats_lite_1.percentile(value, 0.99), production }, this.extensions[key]);
81
85
  delete this.metricsMillis[key];
82
86
  delete this.extensions[key];
83
87
  return aggregate;
84
88
  };
85
- this.cacheToMetric = (value, key) => ({
86
- ...value.getStats(),
87
- name: `${key}-cache`,
88
- production,
89
- });
89
+ this.cacheToMetric = (value, key) => (Object.assign({}, value.getStats(), { name: `${key}-cache`, production }));
90
90
  this.flushMetrics = () => {
91
91
  const aggregateMetrics = ramda_1.values(ramda_1.mapObjIndexed(this.metricToAggregate, this.metricsMillis));
92
92
  const systemMetrics = [
93
- {
94
- ...cpuUsage(),
95
- name: 'cpu',
96
- production,
97
- },
98
- {
99
- ...process.memoryUsage(),
100
- name: 'memory',
101
- production,
102
- },
103
- {
104
- ...HttpAgentSingleton_1.HttpAgentSingleton.httpAgentStats(),
105
- name: 'httpAgent',
106
- production,
107
- },
108
- {
109
- ...getIncomingRequestStats(),
110
- name: 'incomingRequest',
111
- production,
112
- },
93
+ Object.assign({}, cpuUsage(), { name: 'cpu', production }),
94
+ Object.assign({}, process.memoryUsage(), { name: 'memory', production }),
95
+ Object.assign({}, request_1.httpAgentStats(), { name: 'httpAgent', production }),
96
+ Object.assign({}, getIncomingRequestStats(), { name: 'incomingRequest', production }),
113
97
  ];
114
98
  const onFlushMetrics = ramda_1.flatten(ramda_1.map(getMetric => getMetric(), this.onFlushMetrics));
115
99
  const envFlushMetric = ramda_1.map(ramda_1.assoc('production', production), onFlushMetrics);
@@ -1,4 +1,3 @@
1
- import { BillingOptions } from './utils/billingOptions';
2
1
  export interface Policy {
3
2
  name: string;
4
3
  attrs?: {
@@ -46,6 +45,50 @@ export interface BucketMetadata {
46
45
  lastModified: string;
47
46
  hash: string;
48
47
  }
48
+ export interface RootBillingOptions {
49
+ termsURL: string;
50
+ support: Support;
51
+ }
52
+ export interface FreeBillingOptions extends RootBillingOptions {
53
+ free: boolean;
54
+ }
55
+ export interface ChargeableBillingOptions extends RootBillingOptions {
56
+ policies: BillingPolicy[];
57
+ }
58
+ export interface Support {
59
+ url: string;
60
+ email: string;
61
+ }
62
+ export declare type BillingOptions = FreeBillingOptions | ChargeableBillingOptions;
63
+ export interface BillingPolicy {
64
+ currency: string;
65
+ billing: BillingChargeElements;
66
+ }
67
+ export interface BillingChargeElements {
68
+ taxClassification: string;
69
+ items: CalculationItem[];
70
+ }
71
+ export interface RootCalculationItem {
72
+ itemCurrency: string;
73
+ }
74
+ export interface FixedCalculationItem extends RootCalculationItem {
75
+ fixed: number;
76
+ }
77
+ export interface MetricBasedCalculationItem extends RootCalculationItem {
78
+ calculatedByMetricUnit: CalculatedByMetricUnit;
79
+ }
80
+ export declare type CalculationItem = FixedCalculationItem | MetricBasedCalculationItem;
81
+ export interface CalculatedByMetricUnit {
82
+ metricId: string;
83
+ metricName: string;
84
+ ranges: Range[];
85
+ route?: string;
86
+ }
87
+ export interface Range {
88
+ exclusiveFrom: number;
89
+ inclusiveTo?: number;
90
+ multiplier: number;
91
+ }
49
92
  export interface AppBundleResponse {
50
93
  message: string;
51
94
  id: string;
@@ -56,7 +99,6 @@ export declare type AppBundlePublished = AppBundleResponse & {
56
99
  export declare type AppBundleLinked = AppBundleResponse & {
57
100
  bundleSize?: number;
58
101
  };
59
- export declare type AppState = 'stable' | 'releaseCandidate';
60
102
  export interface HouseKeeperState {
61
103
  infra: string[];
62
104
  edition: string[];
@@ -76,5 +118,4 @@ export interface HousekeeperStatesAndUpdates {
76
118
  state: HouseKeeperState;
77
119
  updates: HouseKeeperUpdates;
78
120
  }
79
- export declare type VBaseSaveResponse = FileListItem[];
80
121
  export {};
@@ -0,0 +1,18 @@
1
+ import { IOClients } from '../clients/IOClients';
2
+ import { EnvMetric, MetricsAccumulator } from '../metrics/MetricsAccumulator';
3
+ import { Service } from './Service';
4
+ import { RouteHandler, ServiceDescriptor } from './typings';
5
+ export declare class Runtime<ClientsT extends IOClients = IOClients, StateT = void, CustomT = void> {
6
+ routes: Record<string, RouteHandler<ClientsT, StateT, CustomT>>;
7
+ events: any;
8
+ statusTrack?: () => EnvMetric[];
9
+ __is_service: true;
10
+ constructor(service: Service<ClientsT, StateT, CustomT>, descriptor: ServiceDescriptor);
11
+ }
12
+ declare global {
13
+ namespace NodeJS {
14
+ interface Global {
15
+ metrics: MetricsAccumulator;
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ramda_1 = require("ramda");
4
+ const IOClients_1 = require("../clients/IOClients");
5
+ const MetricsAccumulator_1 = require("../metrics/MetricsAccumulator");
6
+ const unhandled_1 = require("../utils/unhandled");
7
+ const events_1 = require("./events");
8
+ const graphql_1 = require("./graphql");
9
+ const http_1 = require("./http");
10
+ const linked = !!process.env.VTEX_APP_LINK;
11
+ const noop = () => [];
12
+ const defaultClients = {
13
+ options: {
14
+ messages: {
15
+ concurrency: 10,
16
+ retries: 2,
17
+ timeout: 1000,
18
+ },
19
+ messagesGraphQL: {
20
+ concurrency: 10,
21
+ retries: 2,
22
+ timeout: 1000,
23
+ },
24
+ },
25
+ };
26
+ class Runtime {
27
+ constructor(service,
28
+ // tslint:disable-next-line
29
+ descriptor) {
30
+ this.__is_service = true; // tslint:disable-line
31
+ const { config } = service;
32
+ const clients = {
33
+ implementation: config.clients && config.clients.implementation || IOClients_1.IOClients,
34
+ options: Object.assign({}, defaultClients.options, config.clients ? config.clients.options : null),
35
+ };
36
+ const Clients = clients.implementation;
37
+ this.routes = config.routes
38
+ ? ramda_1.map(http_1.createHttpRoute(Clients, clients.options), config.routes)
39
+ : {};
40
+ if (config.graphql) {
41
+ let graphqlRoute = graphql_1.GRAPHQL_ROUTE;
42
+ if (descriptor.routes && descriptor.routes[graphql_1.GRAPHQL_ROUTE_LEGACY]) {
43
+ console.warn('Using legacy graphql route id', graphql_1.GRAPHQL_ROUTE_LEGACY);
44
+ graphqlRoute = graphql_1.GRAPHQL_ROUTE_LEGACY;
45
+ }
46
+ this.routes[graphqlRoute] = graphql_1.createGraphQLRoute(config.graphql, Clients, clients.options);
47
+ }
48
+ this.events = config.events
49
+ ? ramda_1.map(events_1.createEventHandler(Clients, clients.options), config.events)
50
+ : {};
51
+ this.statusTrack = linked ? noop : global.metrics.statusTrack;
52
+ unhandled_1.addProcessListeners();
53
+ }
54
+ }
55
+ exports.Runtime = Runtime;
56
+ global.metrics = new MetricsAccumulator_1.MetricsAccumulator();
57
+ metrics.trackCache('graphql-runtime', graphql_1.graphqlRuntimeCacheStorage);
@@ -1,5 +1,5 @@
1
- import { IOClients } from '../../../clients/IOClients';
2
- import { ParamsContext, RecorderState, ServiceConfig } from './typings';
1
+ import { IOClients } from '../clients/IOClients';
2
+ import { ServiceConfig } from './typings';
3
3
  /**
4
4
  * This is the client definition to allow type checking on code editors.
5
5
  * In you `index.ts`, you must `export default new Service({...})` with your
@@ -11,7 +11,7 @@ import { ParamsContext, RecorderState, ServiceConfig } from './typings';
11
11
  * @template StateT The state bag in `ctx.state`
12
12
  * @template CustomT Any custom fields in `ctx`. THIS IS NOT RECOMMENDED. Use StateT instead.
13
13
  */
14
- export declare class Service<T extends IOClients, U extends RecorderState, V extends ParamsContext> {
15
- config: ServiceConfig<T, U, V>;
16
- constructor(config: ServiceConfig<T, U, V>);
14
+ export declare class Service<ClientsT extends IOClients = IOClients, StateT = void, CustomT = void> {
15
+ config: ServiceConfig<ClientsT, StateT, CustomT>;
16
+ constructor(config: ServiceConfig<ClientsT, StateT, CustomT>);
17
17
  }
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const logger_1 = require("../../logger");
4
3
  /**
5
4
  * This is the client definition to allow type checking on code editors.
6
5
  * In you `index.ts`, you must `export default new Service({...})` with your
@@ -16,7 +15,7 @@ class Service {
16
15
  constructor(config) {
17
16
  this.config = config;
18
17
  if (config.routes && config.routes.graphql) {
19
- logger_1.logOnceToDevConsole(`Route id "graphql" is reserved and apps containing this routes will stop working in the near future. To create a GraphQL app, export a "graphql" key with {resolvers}.`, logger_1.LogLevel.Warn);
18
+ console.warn('Route id "graphql" is reserved and apps containing this routes will stop working in the near future. To create a GraphQL app, export a "graphql" key with {resolvers}.');
20
19
  }
21
20
  }
22
21
  }
@@ -0,0 +1,3 @@
1
+ import { ClientsImplementation, IOClients } from '../../clients/IOClients';
2
+ import { InstanceOptions } from '../../HttpClient';
3
+ export declare const createEventHandler: <ClientsT extends IOClients, StateT, CustomT>(Clients: ClientsImplementation<ClientsT>, options: Record<string, InstanceOptions>) => (handler: import("koa-compose").Middleware<import("../typings").EventContext<ClientsT, StateT>> | import("koa-compose").Middleware<import("../typings").EventContext<ClientsT, StateT>>[]) => import("koa-compose").ComposedMiddleware<import("../typings").EventContext<IOClients, {}>>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ramda_1 = require("ramda");
4
+ const clients_1 = require("../http/middlewares/clients");
5
+ const error_1 = require("../http/middlewares/error");
6
+ const timings_1 = require("../http/middlewares/timings");
7
+ const compose_1 = require("../utils/compose");
8
+ exports.createEventHandler = (Clients, options) => {
9
+ return (handler) => {
10
+ const middlewares = Array.isArray(handler) ? handler : [handler];
11
+ const pipeline = [clients_1.clients(Clients, options), timings_1.timings, error_1.error, contextAdapter(middlewares)];
12
+ return compose_1.composeForEvents(pipeline);
13
+ };
14
+ };
15
+ function contextAdapter(middlewares) {
16
+ return async function middlewareCascade(ctx) {
17
+ const ctxEvent = ramda_1.merge(ramda_1.pick(['clients', 'state', 'vtex', 'timings', 'metrics'], ctx), Object.assign({}, ctx.vtex, { body: ctx.state.body, key: ctx.vtex.eventInfo ? ctx.vtex.eventInfo.key : '', sender: ctx.vtex.eventInfo ? ctx.vtex.eventInfo.sender : '', subject: ctx.vtex.eventInfo ? ctx.vtex.eventInfo.subject : '' }));
18
+ await compose_1.composeForEvents(middlewares)(ctxEvent);
19
+ ctx.status = 204;
20
+ };
21
+ }
@@ -0,0 +1,7 @@
1
+ import { ClientsImplementation, IOClients } from '../../clients/IOClients';
2
+ import { InstanceOptions } from '../../HttpClient';
3
+ import { GraphQLOptions } from '../typings';
4
+ export declare const GRAPHQL_ROUTE_LEGACY = "__graphql";
5
+ export declare const GRAPHQL_ROUTE = "graphql";
6
+ export declare const createGraphQLRoute: <ClientsT extends IOClients, StateT, CustomT>(graphql: GraphQLOptions<ClientsT, StateT, CustomT>, Clients: ClientsImplementation<ClientsT>, options: Record<string, InstanceOptions>) => import("koa-compose").Middleware<import("../typings").ServiceContext<ClientsT, StateT, CustomT>>;
7
+ export { graphqlRuntimeCacheStorage } from './middlewares/run';
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const http_1 = require("../http");
4
+ const error_1 = require("./middlewares/error");
5
+ const formatters_1 = require("./middlewares/formatters");
6
+ const query_1 = require("./middlewares/query");
7
+ const response_1 = require("./middlewares/response");
8
+ const run_1 = require("./middlewares/run");
9
+ const schema_1 = require("./middlewares/schema");
10
+ const timings_1 = require("./middlewares/timings");
11
+ const upload_1 = require("./middlewares/upload");
12
+ exports.GRAPHQL_ROUTE_LEGACY = '__graphql';
13
+ exports.GRAPHQL_ROUTE = 'graphql';
14
+ exports.createGraphQLRoute = (graphql, Clients, options) => {
15
+ const injectGraphql = async (ctx, next) => {
16
+ ctx.graphql = Object.assign({}, graphql);
17
+ await next();
18
+ delete ctx.graphql;
19
+ };
20
+ return http_1.createHttpRoute(Clients, options)([
21
+ injectGraphql,
22
+ timings_1.graphqlTimings,
23
+ error_1.graphqlError,
24
+ upload_1.upload,
25
+ query_1.parseQuery,
26
+ formatters_1.createFormatters,
27
+ schema_1.injectSchema,
28
+ run_1.run,
29
+ response_1.response,
30
+ ]);
31
+ };
32
+ var run_2 = require("./middlewares/run");
33
+ exports.graphqlRuntimeCacheStorage = run_2.graphqlRuntimeCacheStorage;