@vtex/api 6.48.1-beta → 6.48.1-beta.3

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 (430) hide show
  1. package/gen/manifest.schema +5 -3
  2. package/lib/HttpClient/GraphQLClient.d.ts +2 -1
  3. package/lib/HttpClient/GraphQLClient.js +5 -1
  4. package/lib/HttpClient/HttpClient.d.ts +6 -5
  5. package/lib/HttpClient/HttpClient.js +64 -21
  6. package/lib/HttpClient/agents.d.ts +3 -0
  7. package/lib/HttpClient/agents.js +37 -0
  8. package/lib/HttpClient/index.d.ts +1 -7
  9. package/lib/HttpClient/index.js +17 -16
  10. package/lib/HttpClient/middlewares/cache.d.ts +8 -2
  11. package/lib/HttpClient/middlewares/cache.js +126 -33
  12. package/lib/HttpClient/middlewares/cancellationToken.d.ts +1 -1
  13. package/lib/HttpClient/middlewares/cancellationToken.js +3 -1
  14. package/lib/HttpClient/middlewares/inflight.js +1 -0
  15. package/lib/HttpClient/middlewares/memoization.js +9 -1
  16. package/lib/HttpClient/middlewares/metrics.js +17 -31
  17. package/lib/HttpClient/middlewares/notFound.js +1 -0
  18. package/lib/HttpClient/middlewares/recorder.d.ts +1 -1
  19. package/lib/HttpClient/middlewares/recorder.js +20 -12
  20. package/lib/HttpClient/middlewares/request/HttpAgentSingleton.d.ts +11 -0
  21. package/lib/HttpClient/middlewares/request/HttpAgentSingleton.js +31 -0
  22. package/lib/HttpClient/middlewares/request/index.d.ts +18 -0
  23. package/lib/HttpClient/middlewares/request/index.js +85 -0
  24. package/lib/HttpClient/middlewares/request/setupAxios/index.d.ts +2 -0
  25. package/lib/HttpClient/middlewares/request/setupAxios/index.js +21 -0
  26. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/exponentialBackoff.d.ts +2 -0
  27. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/exponentialBackoff.js +54 -0
  28. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/index.d.ts +2 -0
  29. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/index.js +7 -0
  30. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/index.d.ts +8 -0
  31. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/index.js +56 -0
  32. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/spanSetup.d.ts +4 -0
  33. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/spanSetup.js +30 -0
  34. package/lib/HttpClient/middlewares/tracing.d.ts +15 -0
  35. package/lib/HttpClient/middlewares/tracing.js +61 -0
  36. package/lib/HttpClient/typings.d.ts +44 -10
  37. package/lib/HttpClient/typings.js +1 -0
  38. package/lib/caches/DiskCache.d.ts +1 -1
  39. package/lib/caches/DiskCache.js +1 -0
  40. package/lib/caches/LRUCache.d.ts +2 -2
  41. package/lib/caches/LRUCache.js +6 -1
  42. package/lib/caches/LRUDiskCache.d.ts +1 -1
  43. package/lib/caches/LRUDiskCache.js +6 -1
  44. package/lib/caches/MultilayeredCache.d.ts +1 -1
  45. package/lib/caches/MultilayeredCache.js +2 -1
  46. package/lib/caches/index.js +16 -7
  47. package/lib/{HttpClient → clients}/IOClient.d.ts +4 -4
  48. package/lib/clients/IOClient.js +20 -0
  49. package/lib/clients/IOClients.d.ts +28 -24
  50. package/lib/clients/IOClients.js +36 -28
  51. package/lib/{HttpClient → clients}/IOGraphQLClient.d.ts +4 -4
  52. package/lib/{HttpClient → clients}/IOGraphQLClient.js +3 -2
  53. package/lib/{HttpClient → clients/apps}/AppClient.d.ts +3 -3
  54. package/lib/{HttpClient → clients/apps}/AppClient.js +11 -5
  55. package/lib/{HttpClient → clients/apps}/AppGraphQLClient.d.ts +3 -3
  56. package/lib/{HttpClient → clients/apps}/AppGraphQLClient.js +11 -5
  57. package/lib/clients/apps/Billing.d.ts +12 -0
  58. package/lib/clients/{Billing.js → apps/Billing.js} +9 -3
  59. package/lib/clients/{Builder.d.ts → apps/Builder.d.ts} +12 -11
  60. package/lib/clients/{Builder.js → apps/Builder.js} +50 -22
  61. package/lib/clients/apps/MessagesGraphQL.d.ts +61 -0
  62. package/lib/clients/apps/MessagesGraphQL.js +122 -0
  63. package/lib/clients/{Settings.d.ts → apps/Settings.d.ts} +5 -4
  64. package/lib/clients/{Settings.js → apps/Settings.js} +15 -20
  65. package/lib/clients/apps/catalogGraphQL/brand.d.ts +13 -0
  66. package/lib/clients/apps/catalogGraphQL/brand.js +19 -0
  67. package/lib/clients/apps/catalogGraphQL/category.d.ts +11 -0
  68. package/lib/clients/apps/catalogGraphQL/category.js +17 -0
  69. package/lib/clients/apps/catalogGraphQL/index.d.ts +22 -0
  70. package/lib/clients/apps/catalogGraphQL/index.js +89 -0
  71. package/lib/clients/apps/catalogGraphQL/product.d.ts +25 -0
  72. package/lib/clients/apps/catalogGraphQL/product.js +31 -0
  73. package/lib/clients/apps/catalogGraphQL/sku.d.ts +26 -0
  74. package/lib/clients/apps/catalogGraphQL/sku.js +31 -0
  75. package/lib/clients/apps/index.d.ts +7 -0
  76. package/lib/clients/apps/index.js +19 -0
  77. package/lib/{HttpClient → clients/external}/ExternalClient.d.ts +3 -3
  78. package/lib/{HttpClient → clients/external}/ExternalClient.js +10 -2
  79. package/lib/clients/external/ID.d.ts +23 -0
  80. package/lib/clients/external/ID.js +61 -0
  81. package/lib/clients/external/Masterdata.d.ts +94 -0
  82. package/lib/clients/external/Masterdata.js +225 -0
  83. package/lib/clients/external/PaymentProvider.d.ts +31 -0
  84. package/lib/clients/external/PaymentProvider.js +43 -0
  85. package/lib/clients/external/index.d.ts +4 -0
  86. package/lib/clients/external/index.js +16 -0
  87. package/lib/clients/index.d.ts +9 -21
  88. package/lib/clients/index.js +23 -24
  89. package/lib/clients/infra/Apps.d.ts +88 -0
  90. package/lib/clients/infra/Apps.js +511 -0
  91. package/lib/clients/infra/Assets.d.ts +34 -0
  92. package/lib/clients/{Assets.js → infra/Assets.js} +75 -19
  93. package/lib/clients/infra/BillingMetrics.d.ts +13 -0
  94. package/lib/clients/infra/BillingMetrics.js +16 -0
  95. package/lib/clients/infra/Events.d.ts +12 -0
  96. package/lib/clients/infra/Events.js +34 -0
  97. package/lib/clients/infra/Housekeeper.d.ts +10 -0
  98. package/lib/clients/infra/Housekeeper.js +31 -0
  99. package/lib/{HttpClient → clients/infra}/InfraClient.d.ts +3 -3
  100. package/lib/{HttpClient → clients/infra}/InfraClient.js +10 -4
  101. package/lib/clients/infra/Registry.d.ts +59 -0
  102. package/lib/clients/{Registry.js → infra/Registry.js} +95 -33
  103. package/lib/clients/infra/Router.d.ts +34 -0
  104. package/lib/clients/infra/Router.js +82 -0
  105. package/lib/clients/infra/Sphinx.d.ts +13 -0
  106. package/lib/clients/infra/Sphinx.js +30 -0
  107. package/lib/clients/infra/VBase.d.ts +60 -0
  108. package/lib/clients/infra/VBase.js +197 -0
  109. package/lib/clients/infra/Workspaces.d.ts +18 -0
  110. package/lib/clients/infra/Workspaces.js +66 -0
  111. package/lib/clients/infra/index.d.ts +11 -0
  112. package/lib/clients/infra/index.js +23 -0
  113. package/lib/{HttpClient → clients/janus}/JanusClient.d.ts +3 -3
  114. package/lib/{HttpClient → clients/janus}/JanusClient.js +8 -3
  115. package/lib/clients/janus/LicenseManager.d.ts +7 -0
  116. package/lib/clients/{LicenseManager.js → janus/LicenseManager.js} +24 -8
  117. package/lib/clients/{Segment.d.ts → janus/Segment.d.ts} +7 -11
  118. package/lib/clients/janus/Segment.js +89 -0
  119. package/lib/clients/{Session.d.ts → janus/Session.d.ts} +4 -4
  120. package/lib/clients/{Session.js → janus/Session.js} +25 -13
  121. package/lib/clients/{Tenant.d.ts → janus/Tenant.d.ts} +6 -7
  122. package/lib/clients/janus/Tenant.js +29 -0
  123. package/lib/clients/janus/index.d.ts +5 -0
  124. package/lib/clients/janus/index.js +17 -0
  125. package/lib/constants.d.ts +49 -1
  126. package/lib/constants.js +55 -1
  127. package/lib/errors/AuthenticationError.js +1 -0
  128. package/lib/errors/ForbiddenError.js +1 -0
  129. package/lib/errors/NotFoundError.js +1 -0
  130. package/lib/errors/RequestCancelledError.js +1 -0
  131. package/lib/errors/ResolverError.d.ts +1 -1
  132. package/lib/errors/ResolverError.js +3 -2
  133. package/lib/errors/ResolverWarning.d.ts +1 -1
  134. package/lib/errors/ResolverWarning.js +3 -2
  135. package/lib/errors/TooManyRequestsError.js +1 -0
  136. package/lib/errors/UserInputError.js +1 -0
  137. package/lib/errors/index.js +18 -11
  138. package/lib/index.d.ts +9 -7
  139. package/lib/index.js +27 -16
  140. package/lib/metrics/MetricsAccumulator.d.ts +1 -18
  141. package/lib/metrics/MetricsAccumulator.js +39 -22
  142. package/lib/responses.d.ts +3 -44
  143. package/lib/service/index.d.ts +2 -0
  144. package/lib/service/index.js +34 -0
  145. package/lib/service/loaders.d.ts +8 -0
  146. package/lib/service/loaders.js +55 -0
  147. package/lib/service/logger/console.d.ts +10 -0
  148. package/lib/service/logger/console.js +37 -0
  149. package/lib/service/logger/index.d.ts +2 -28
  150. package/lib/service/logger/index.js +12 -68
  151. package/lib/service/logger/logger.d.ts +29 -0
  152. package/lib/service/logger/logger.js +62 -0
  153. package/lib/service/logger/metricsLogger.d.ts +40 -0
  154. package/lib/service/logger/metricsLogger.js +150 -0
  155. package/lib/service/master.d.ts +2 -0
  156. package/lib/service/master.js +88 -0
  157. package/lib/service/metrics/requestMetricsMiddleware.d.ts +2 -0
  158. package/lib/service/metrics/requestMetricsMiddleware.js +45 -0
  159. package/lib/service/tracing/TracerSingleton.d.ts +7 -0
  160. package/lib/service/tracing/TracerSingleton.js +49 -0
  161. package/lib/service/tracing/metrics/MetricNames.d.ts +60 -0
  162. package/lib/service/tracing/metrics/MetricNames.js +45 -0
  163. package/lib/service/tracing/metrics/instruments.d.ts +9 -0
  164. package/lib/service/tracing/metrics/instruments.js +12 -0
  165. package/lib/service/tracing/metrics/measurers/EventLoopLagMeasurer.d.ts +9 -0
  166. package/lib/service/tracing/metrics/measurers/EventLoopLagMeasurer.js +26 -0
  167. package/lib/service/tracing/tracingMiddlewares.d.ts +5 -0
  168. package/lib/service/tracing/tracingMiddlewares.js +114 -0
  169. package/lib/service/worker/index.d.ts +11 -0
  170. package/lib/service/worker/index.js +196 -0
  171. package/lib/service/worker/listeners.d.ts +3 -0
  172. package/lib/{utils/unhandled.js → service/worker/listeners.js} +10 -15
  173. package/lib/service/{Service.d.ts → worker/runtime/Service.d.ts} +5 -5
  174. package/lib/service/{Service.js → worker/runtime/Service.js} +3 -1
  175. package/lib/service/worker/runtime/builtIn/handlers.d.ts +4 -0
  176. package/lib/service/worker/runtime/builtIn/handlers.js +31 -0
  177. package/lib/service/worker/runtime/builtIn/middlewares.d.ts +4 -0
  178. package/lib/service/worker/runtime/builtIn/middlewares.js +41 -0
  179. package/lib/service/worker/runtime/events/index.d.ts +4 -0
  180. package/lib/service/worker/runtime/events/index.js +47 -0
  181. package/lib/service/worker/runtime/events/middlewares/body.d.ts +3 -0
  182. package/lib/service/worker/runtime/events/middlewares/body.js +26 -0
  183. package/lib/service/worker/runtime/events/middlewares/context.d.ts +3 -0
  184. package/lib/service/worker/runtime/events/middlewares/context.js +23 -0
  185. package/lib/service/worker/runtime/events/router.d.ts +2 -0
  186. package/lib/service/worker/runtime/events/router.js +28 -0
  187. package/lib/service/worker/runtime/graphql/index.d.ts +6 -0
  188. package/lib/service/worker/runtime/graphql/index.js +28 -0
  189. package/lib/service/worker/runtime/graphql/middlewares/context.d.ts +2 -0
  190. package/lib/service/worker/runtime/graphql/middlewares/context.js +17 -0
  191. package/lib/service/worker/runtime/graphql/middlewares/error.js +97 -0
  192. package/lib/service/worker/runtime/graphql/middlewares/query.d.ts +3 -0
  193. package/lib/service/worker/runtime/graphql/middlewares/query.js +53 -0
  194. package/lib/service/worker/runtime/graphql/middlewares/response.js +39 -0
  195. package/lib/service/worker/runtime/graphql/middlewares/run.d.ts +2 -0
  196. package/lib/service/worker/runtime/graphql/middlewares/run.js +20 -0
  197. package/lib/service/worker/runtime/graphql/middlewares/updateSchema.d.ts +5 -0
  198. package/lib/service/worker/runtime/graphql/middlewares/updateSchema.js +29 -0
  199. package/lib/service/worker/runtime/graphql/middlewares/upload.d.ts +4 -0
  200. package/lib/service/{graphql → worker/runtime/graphql}/middlewares/upload.js +1 -0
  201. package/lib/service/worker/runtime/graphql/schema/index.d.ts +7 -0
  202. package/lib/service/worker/runtime/graphql/schema/index.js +32 -0
  203. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.d.ts +6 -0
  204. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.js +80 -0
  205. package/lib/service/{graphql → worker/runtime/graphql}/schema/schemaDirectives/Auth.d.ts +1 -0
  206. package/lib/service/{graphql → worker/runtime/graphql}/schema/schemaDirectives/Auth.js +17 -10
  207. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/CacheControl.d.ts +7 -0
  208. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/CacheControl.js +38 -0
  209. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Deprecated.d.ts +11 -0
  210. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Deprecated.js +62 -0
  211. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Metric.d.ts +7 -0
  212. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Metric.js +41 -0
  213. package/lib/service/{graphql → worker/runtime/graphql}/schema/schemaDirectives/Sanitize.d.ts +1 -0
  214. package/lib/service/{graphql → worker/runtime/graphql}/schema/schemaDirectives/Sanitize.js +7 -0
  215. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Settings.d.ts +6 -0
  216. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Settings.js +35 -0
  217. package/lib/service/{graphql → worker/runtime/graphql}/schema/schemaDirectives/SmartCacheDirective.d.ts +1 -0
  218. package/lib/service/{graphql → worker/runtime/graphql}/schema/schemaDirectives/SmartCacheDirective.js +9 -3
  219. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslatableV2.d.ts +7 -0
  220. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslatableV2.js +40 -0
  221. package/lib/service/{graphql/schema/schemaDirectives/Translatable.d.ts → worker/runtime/graphql/schema/schemaDirectives/TranslateTo.d.ts} +2 -1
  222. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslateTo.js +34 -0
  223. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/index.d.ts +22 -0
  224. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/index.js +37 -0
  225. package/lib/service/worker/runtime/graphql/schema/typeDefs/index.d.ts +8 -0
  226. package/lib/service/worker/runtime/graphql/schema/typeDefs/index.js +13 -0
  227. package/lib/service/{graphql → worker/runtime/graphql}/schema/typeDefs/ioUpload.js +1 -0
  228. package/lib/service/{graphql → worker/runtime/graphql}/schema/typeDefs/sanitizedString.js +6 -1
  229. package/lib/service/worker/runtime/graphql/typings.d.ts +31 -0
  230. package/lib/service/worker/runtime/graphql/utils/cacheControl.d.ts +2 -0
  231. package/lib/service/worker/runtime/graphql/utils/cacheControl.js +33 -0
  232. package/lib/service/worker/runtime/graphql/utils/error.d.ts +2 -0
  233. package/lib/service/worker/runtime/graphql/utils/error.js +77 -0
  234. package/lib/service/{graphql → worker/runtime/graphql}/utils/pathname.js +1 -0
  235. package/lib/service/worker/runtime/graphql/utils/translations.d.ts +14 -0
  236. package/lib/service/worker/runtime/graphql/utils/translations.js +39 -0
  237. package/lib/service/worker/runtime/http/index.d.ts +5 -0
  238. package/lib/service/worker/runtime/http/index.js +59 -0
  239. package/lib/service/worker/runtime/http/middlewares/authTokens.d.ts +3 -0
  240. package/lib/service/{http → worker/runtime/http}/middlewares/authTokens.js +1 -0
  241. package/lib/service/worker/runtime/http/middlewares/cancellationToken.d.ts +3 -0
  242. package/lib/service/{http → worker/runtime/http}/middlewares/cancellationToken.js +3 -1
  243. package/lib/service/worker/runtime/http/middlewares/clients.d.ts +4 -0
  244. package/lib/service/{http → worker/runtime/http}/middlewares/clients.js +1 -0
  245. package/lib/service/worker/runtime/http/middlewares/context.d.ts +4 -0
  246. package/lib/service/worker/runtime/http/middlewares/context.js +37 -0
  247. package/lib/service/worker/runtime/http/middlewares/error.d.ts +2 -0
  248. package/lib/service/{http → worker/runtime/http}/middlewares/error.js +28 -15
  249. package/lib/service/worker/runtime/http/middlewares/rateLimit.d.ts +6 -0
  250. package/lib/service/worker/runtime/http/middlewares/rateLimit.js +43 -0
  251. package/lib/service/{http → worker/runtime/http}/middlewares/requestStats.d.ts +3 -3
  252. package/lib/service/{http → worker/runtime/http}/middlewares/requestStats.js +1 -0
  253. package/lib/service/worker/runtime/http/middlewares/setCookie.d.ts +3 -0
  254. package/lib/service/{http → worker/runtime/http}/middlewares/setCookie.js +1 -0
  255. package/lib/service/worker/runtime/http/middlewares/settings.d.ts +9 -0
  256. package/lib/service/worker/runtime/http/middlewares/settings.js +45 -0
  257. package/lib/service/worker/runtime/http/middlewares/timings.d.ts +3 -0
  258. package/lib/service/{http → worker/runtime/http}/middlewares/timings.js +22 -8
  259. package/lib/service/worker/runtime/http/middlewares/vary.d.ts +3 -0
  260. package/lib/service/{http → worker/runtime/http}/middlewares/vary.js +4 -3
  261. package/lib/service/worker/runtime/http/router.d.ts +2 -0
  262. package/lib/service/worker/runtime/http/router.js +24 -0
  263. package/lib/service/worker/runtime/http/routes.d.ts +19 -0
  264. package/lib/service/worker/runtime/http/routes.js +13 -0
  265. package/lib/service/worker/runtime/method.d.ts +9 -0
  266. package/lib/service/{method.js → worker/runtime/method.js} +1 -0
  267. package/lib/service/worker/runtime/statusTrack.d.ts +14 -0
  268. package/lib/service/worker/runtime/statusTrack.js +38 -0
  269. package/lib/service/{typings.d.ts → worker/runtime/typings.d.ts} +70 -36
  270. package/lib/service/worker/runtime/utils/compose.d.ts +5 -0
  271. package/lib/service/{utils → worker/runtime/utils}/compose.js +3 -2
  272. package/lib/service/worker/runtime/utils/context.d.ts +5 -0
  273. package/lib/service/worker/runtime/utils/context.js +41 -0
  274. package/lib/service/worker/runtime/utils/diff.d.ts +12 -0
  275. package/lib/service/worker/runtime/utils/diff.js +22 -0
  276. package/lib/service/worker/runtime/utils/recorder.d.ts +8 -0
  277. package/lib/service/worker/runtime/utils/recorder.js +38 -0
  278. package/lib/service/{graphql/utils/array.js → worker/runtime/utils/toArray.js} +1 -0
  279. package/lib/service/worker/runtime/utils/tokenBucket.d.ts +2 -0
  280. package/lib/service/worker/runtime/utils/tokenBucket.js +17 -0
  281. package/lib/tracing/LogEvents.d.ts +31 -0
  282. package/lib/tracing/LogEvents.js +3 -0
  283. package/lib/tracing/LogFields.d.ts +66 -0
  284. package/lib/tracing/LogFields.js +3 -0
  285. package/lib/tracing/Tags.d.ts +81 -0
  286. package/lib/tracing/Tags.js +8 -0
  287. package/lib/tracing/UserLandTracer.d.ts +27 -0
  288. package/lib/tracing/UserLandTracer.js +57 -0
  289. package/lib/tracing/errorReporting/ErrorReport.d.ts +31 -0
  290. package/lib/tracing/errorReporting/ErrorReport.js +71 -0
  291. package/lib/tracing/index.d.ts +9 -0
  292. package/lib/tracing/index.js +20 -0
  293. package/lib/tracing/spanReference/SpanReferenceTypes.d.ts +4 -0
  294. package/lib/tracing/spanReference/SpanReferenceTypes.js +8 -0
  295. package/lib/tracing/spanReference/createSpanReference.d.ts +3 -0
  296. package/lib/tracing/spanReference/createSpanReference.js +9 -0
  297. package/lib/tracing/utils.d.ts +13 -0
  298. package/lib/tracing/utils.js +41 -0
  299. package/lib/utils/MineWinsConflictsResolver.d.ts +6 -4
  300. package/lib/utils/MineWinsConflictsResolver.js +35 -17
  301. package/lib/utils/app.d.ts +3 -1
  302. package/lib/utils/app.js +4 -1
  303. package/lib/utils/appsStaleIfError.d.ts +1 -1
  304. package/lib/utils/appsStaleIfError.js +20 -7
  305. package/lib/utils/billingOptions.d.ts +36 -3
  306. package/lib/utils/billingOptions.js +8 -3
  307. package/lib/utils/binding.d.ts +3 -3
  308. package/lib/utils/binding.js +1 -0
  309. package/lib/utils/buildFullPath.d.ts +11 -0
  310. package/lib/utils/buildFullPath.js +54 -0
  311. package/lib/utils/cancel.d.ts +2 -2
  312. package/lib/utils/cancel.js +3 -1
  313. package/lib/utils/conflicts.mock.d.ts +17 -0
  314. package/lib/utils/conflicts.mock.js +28 -0
  315. package/lib/utils/domain.js +1 -0
  316. package/lib/utils/error.js +1 -0
  317. package/lib/utils/index.js +19 -12
  318. package/lib/utils/json.js +1 -0
  319. package/lib/utils/log.d.ts +1 -3
  320. package/lib/utils/log.js +3 -2
  321. package/lib/utils/message.js +5 -1
  322. package/lib/utils/renameBy.js +1 -0
  323. package/lib/utils/retry.js +3 -2
  324. package/lib/utils/status.js +1 -0
  325. package/lib/utils/tenant.d.ts +3 -3
  326. package/lib/utils/tenant.js +1 -0
  327. package/lib/utils/throwOnGraphQLErrors.js +1 -0
  328. package/lib/utils/time.d.ts +7 -7
  329. package/lib/utils/time.js +10 -2
  330. package/package.json +3 -3
  331. package/lib/HttpClient/IOClient.js +0 -14
  332. package/lib/HttpClient/factories/index.d.ts +0 -8
  333. package/lib/HttpClient/factories/index.js +0 -31
  334. package/lib/HttpClient/middlewares/request.d.ts +0 -10
  335. package/lib/HttpClient/middlewares/request.js +0 -87
  336. package/lib/IODataSource.d.ts +0 -27
  337. package/lib/IODataSource.js +0 -46
  338. package/lib/clients/Apps.d.ts +0 -84
  339. package/lib/clients/Apps.js +0 -326
  340. package/lib/clients/Assets.d.ts +0 -21
  341. package/lib/clients/Billing.d.ts +0 -11
  342. package/lib/clients/BillingMetrics.d.ts +0 -12
  343. package/lib/clients/BillingMetrics.js +0 -10
  344. package/lib/clients/Events.d.ts +0 -6
  345. package/lib/clients/Events.js +0 -19
  346. package/lib/clients/Housekeeper.d.ts +0 -11
  347. package/lib/clients/Housekeeper.js +0 -24
  348. package/lib/clients/ID.d.ts +0 -22
  349. package/lib/clients/ID.js +0 -48
  350. package/lib/clients/LicenseManager.d.ts +0 -6
  351. package/lib/clients/Logger.d.ts +0 -27
  352. package/lib/clients/Logger.js +0 -32
  353. package/lib/clients/Messages.d.ts +0 -18
  354. package/lib/clients/Messages.js +0 -20
  355. package/lib/clients/MessagesGraphQL.d.ts +0 -63
  356. package/lib/clients/MessagesGraphQL.js +0 -50
  357. package/lib/clients/Metadata.d.ts +0 -25
  358. package/lib/clients/Metadata.js +0 -53
  359. package/lib/clients/Registry.d.ts +0 -61
  360. package/lib/clients/Router.d.ts +0 -33
  361. package/lib/clients/Router.js +0 -50
  362. package/lib/clients/Segment.js +0 -69
  363. package/lib/clients/Sphinx.d.ts +0 -12
  364. package/lib/clients/Sphinx.js +0 -19
  365. package/lib/clients/Tenant.js +0 -13
  366. package/lib/clients/VBase.d.ts +0 -57
  367. package/lib/clients/VBase.js +0 -116
  368. package/lib/clients/Workspaces.d.ts +0 -17
  369. package/lib/clients/Workspaces.js +0 -38
  370. package/lib/service/Runtime.d.ts +0 -18
  371. package/lib/service/Runtime.js +0 -57
  372. package/lib/service/events/index.d.ts +0 -3
  373. package/lib/service/events/index.js +0 -21
  374. package/lib/service/graphql/index.d.ts +0 -7
  375. package/lib/service/graphql/index.js +0 -33
  376. package/lib/service/graphql/middlewares/error.js +0 -107
  377. package/lib/service/graphql/middlewares/formatters.d.ts +0 -2
  378. package/lib/service/graphql/middlewares/formatters.js +0 -64
  379. package/lib/service/graphql/middlewares/query.d.ts +0 -2
  380. package/lib/service/graphql/middlewares/query.js +0 -32
  381. package/lib/service/graphql/middlewares/response.js +0 -36
  382. package/lib/service/graphql/middlewares/run.d.ts +0 -4
  383. package/lib/service/graphql/middlewares/run.js +0 -55
  384. package/lib/service/graphql/middlewares/schema.d.ts +0 -2
  385. package/lib/service/graphql/middlewares/schema.js +0 -8
  386. package/lib/service/graphql/middlewares/timings.d.ts +0 -2
  387. package/lib/service/graphql/middlewares/timings.js +0 -10
  388. package/lib/service/graphql/middlewares/upload.d.ts +0 -7
  389. package/lib/service/graphql/schema/index.d.ts +0 -3
  390. package/lib/service/graphql/schema/index.js +0 -66
  391. package/lib/service/graphql/schema/messagesLoader.d.ts +0 -4
  392. package/lib/service/graphql/schema/messagesLoader.js +0 -41
  393. package/lib/service/graphql/schema/messagesLoaderV2.d.ts +0 -5
  394. package/lib/service/graphql/schema/messagesLoaderV2.js +0 -44
  395. package/lib/service/graphql/schema/schemaDirectives/Translatable.js +0 -54
  396. package/lib/service/graphql/schema/schemaDirectives/TranslatableV2.d.ts +0 -13
  397. package/lib/service/graphql/schema/schemaDirectives/TranslatableV2.js +0 -67
  398. package/lib/service/graphql/schema/schemaDirectives/index.d.ts +0 -13
  399. package/lib/service/graphql/schema/schemaDirectives/index.js +0 -17
  400. package/lib/service/graphql/schema/typeDefs/index.d.ts +0 -16
  401. package/lib/service/graphql/schema/typeDefs/index.js +0 -21
  402. package/lib/service/graphql/schema/typeDefs/ioMessage.d.ts +0 -8
  403. package/lib/service/graphql/schema/typeDefs/ioMessage.js +0 -33
  404. package/lib/service/graphql/typings.d.ts +0 -21
  405. package/lib/service/graphql/utils/cacheControl.d.ts +0 -6
  406. package/lib/service/graphql/utils/cacheControl.js +0 -38
  407. package/lib/service/graphql/utils/maxAgeEnum.d.ts +0 -6
  408. package/lib/service/graphql/utils/maxAgeEnum.js +0 -17
  409. package/lib/service/http/index.d.ts +0 -3
  410. package/lib/service/http/index.js +0 -18
  411. package/lib/service/http/middlewares/authTokens.d.ts +0 -3
  412. package/lib/service/http/middlewares/cancellationToken.d.ts +0 -3
  413. package/lib/service/http/middlewares/clients.d.ts +0 -4
  414. package/lib/service/http/middlewares/error.d.ts +0 -3
  415. package/lib/service/http/middlewares/setCookie.d.ts +0 -3
  416. package/lib/service/http/middlewares/timings.d.ts +0 -3
  417. package/lib/service/http/middlewares/vary.d.ts +0 -3
  418. package/lib/service/method.d.ts +0 -9
  419. package/lib/service/utils/compose.d.ts +0 -4
  420. package/lib/utils/MineWinsConflictsResolver.test.d.ts +0 -1
  421. package/lib/utils/MineWinsConflictsResolver.test.js +0 -134
  422. package/lib/utils/unhandled.d.ts +0 -1
  423. /package/lib/service/{graphql → worker/runtime/graphql}/middlewares/error.d.ts +0 -0
  424. /package/lib/service/{graphql → worker/runtime/graphql}/middlewares/response.d.ts +0 -0
  425. /package/lib/service/{graphql → worker/runtime/graphql}/schema/typeDefs/ioUpload.d.ts +0 -0
  426. /package/lib/service/{graphql → worker/runtime/graphql}/schema/typeDefs/sanitizedString.d.ts +0 -0
  427. /package/lib/service/{graphql → worker/runtime/graphql}/typings.js +0 -0
  428. /package/lib/service/{graphql → worker/runtime/graphql}/utils/pathname.d.ts +0 -0
  429. /package/lib/service/{typings.js → worker/runtime/typings.js} +0 -0
  430. /package/lib/service/{graphql/utils/array.d.ts → worker/runtime/utils/toArray.d.ts} +0 -0
package/lib/index.js CHANGED
@@ -1,19 +1,30 @@
1
1
  "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
5
12
  Object.defineProperty(exports, "__esModule", { value: true });
6
13
  process.env.FORCE_COLOR = '1';
7
- __export(require("./caches"));
8
- __export(require("./clients"));
9
- __export(require("./clients/IOClients"));
10
- __export(require("./errors"));
11
- __export(require("./HttpClient"));
12
- __export(require("./IODataSource"));
13
- __export(require("./metrics/MetricsAccumulator"));
14
- __export(require("./service/Runtime"));
15
- __export(require("./service/Service"));
16
- __export(require("./service/method"));
17
- __export(require("./service/graphql/schema/schemaDirectives"));
18
- __export(require("./utils"));
19
- __export(require("./constants"));
14
+ __exportStar(require("./caches"), exports);
15
+ __exportStar(require("./clients"), exports);
16
+ __exportStar(require("./errors"), exports);
17
+ __exportStar(require("./HttpClient"), exports);
18
+ __exportStar(require("./metrics/MetricsAccumulator"), exports);
19
+ __exportStar(require("./responses"), exports);
20
+ __exportStar(require("./service/worker/runtime/Service"), exports);
21
+ __exportStar(require("./service/worker/runtime/method"), exports);
22
+ __exportStar(require("./service/worker/runtime/typings"), exports);
23
+ __exportStar(require("./service/worker/runtime/graphql/schema/schemaDirectives"), exports);
24
+ __exportStar(require("./service/worker/runtime/graphql/schema/messagesLoaderV2"), exports);
25
+ __exportStar(require("./service/worker/runtime/utils/recorder"), exports);
26
+ __exportStar(require("./service"), exports);
27
+ __exportStar(require("./service/logger"), exports);
28
+ __exportStar(require("./utils"), exports);
29
+ __exportStar(require("./constants"), exports);
30
+ __exportStar(require("./tracing"), exports);
@@ -1,36 +1,19 @@
1
+ import { EnvMetric } from '../service/worker/runtime/statusTrack';
1
2
  export interface Metric {
2
3
  name: string;
3
4
  [key: string]: number | string | null;
4
5
  }
5
- interface NamedMetric {
6
- name: string;
7
- [key: string]: any;
8
- }
9
- export interface EnvMetric extends NamedMetric {
10
- production: boolean;
11
- }
12
6
  interface GetStats {
13
7
  getStats(): {
14
8
  [key: string]: number | boolean | string | undefined;
15
9
  };
16
10
  }
17
- export declare type StatusTrack = () => EnvMetric[];
18
11
  export declare class MetricsAccumulator {
19
12
  private metricsMillis;
20
13
  private extensions;
21
14
  private cacheMap;
22
15
  private onFlushMetrics;
23
16
  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;
34
17
  batchMetric: (name: string, timeMillis?: number | undefined, extensions?: Record<string, string | number> | undefined) => void;
35
18
  /**
36
19
  * Batches a named metric which took `diffNs`.
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetricsAccumulator = void 0;
3
4
  const ramda_1 = require("ramda");
4
5
  const stats_lite_1 = require("stats-lite");
5
- const request_1 = require("../HttpClient/middlewares/request");
6
- const requestStats_1 = require("../service/http/middlewares/requestStats");
6
+ const HttpAgentSingleton_1 = require("../HttpClient/middlewares/request/HttpAgentSingleton");
7
+ const requestStats_1 = require("../service/worker/runtime/http/middlewares/requestStats");
7
8
  const time_1 = require("../utils/time");
8
9
  // Production pods never handle development workspaces and vice-versa.
9
10
  const production = process.env.VTEX_PRODUCTION === 'true';
@@ -23,20 +24,6 @@ function getIncomingRequestStats() {
23
24
  }
24
25
  class MetricsAccumulator {
25
26
  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
- };
40
27
  this.batchMetric = (name, timeMillis, extensions) => {
41
28
  if (!this.metricsMillis[name]) {
42
29
  this.metricsMillis[name] = [];
@@ -81,19 +68,49 @@ class MetricsAccumulator {
81
68
  return this.flushMetrics();
82
69
  };
83
70
  this.metricToAggregate = (value, key) => {
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]);
71
+ const aggregate = {
72
+ name: key,
73
+ count: value.length,
74
+ max: Math.max(...value),
75
+ mean: stats_lite_1.mean(value),
76
+ median: stats_lite_1.median(value),
77
+ percentile95: stats_lite_1.percentile(value, 0.95),
78
+ percentile99: stats_lite_1.percentile(value, 0.99),
79
+ production,
80
+ ...this.extensions[key],
81
+ };
85
82
  delete this.metricsMillis[key];
86
83
  delete this.extensions[key];
87
84
  return aggregate;
88
85
  };
89
- this.cacheToMetric = (value, key) => (Object.assign({}, value.getStats(), { name: `${key}-cache`, production }));
86
+ this.cacheToMetric = (value, key) => ({
87
+ ...value.getStats(),
88
+ name: `${key}-cache`,
89
+ production,
90
+ });
90
91
  this.flushMetrics = () => {
91
92
  const aggregateMetrics = ramda_1.values(ramda_1.mapObjIndexed(this.metricToAggregate, this.metricsMillis));
92
93
  const systemMetrics = [
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 }),
94
+ {
95
+ ...cpuUsage(),
96
+ name: 'cpu',
97
+ production,
98
+ },
99
+ {
100
+ ...process.memoryUsage(),
101
+ name: 'memory',
102
+ production,
103
+ },
104
+ {
105
+ ...HttpAgentSingleton_1.HttpAgentSingleton.httpAgentStats(),
106
+ name: 'httpAgent',
107
+ production,
108
+ },
109
+ {
110
+ ...getIncomingRequestStats(),
111
+ name: 'incomingRequest',
112
+ production,
113
+ },
97
114
  ];
98
115
  const onFlushMetrics = ramda_1.flatten(ramda_1.map(getMetric => getMetric(), this.onFlushMetrics));
99
116
  const envFlushMetric = ramda_1.map(ramda_1.assoc('production', production), onFlushMetrics);
@@ -1,3 +1,4 @@
1
+ import { BillingOptions } from './utils/billingOptions';
1
2
  export interface Policy {
2
3
  name: string;
3
4
  attrs?: {
@@ -45,50 +46,6 @@ export interface BucketMetadata {
45
46
  lastModified: string;
46
47
  hash: string;
47
48
  }
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
- }
92
49
  export interface AppBundleResponse {
93
50
  message: string;
94
51
  id: string;
@@ -99,6 +56,7 @@ export declare type AppBundlePublished = AppBundleResponse & {
99
56
  export declare type AppBundleLinked = AppBundleResponse & {
100
57
  bundleSize?: number;
101
58
  };
59
+ export declare type AppState = 'stable' | 'releaseCandidate';
102
60
  export interface HouseKeeperState {
103
61
  infra: string[];
104
62
  edition: string[];
@@ -118,4 +76,5 @@ export interface HousekeeperStatesAndUpdates {
118
76
  state: HouseKeeperState;
119
77
  updates: HouseKeeperUpdates;
120
78
  }
79
+ export declare type VBaseSaveResponse = FileListItem[];
121
80
  export {};
@@ -0,0 +1,2 @@
1
+ export declare const startApp: () => void;
2
+ export { appPath } from './loaders';
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.startApp = void 0;
7
+ const cluster_1 = __importDefault(require("cluster"));
8
+ const constants_1 = require("../constants");
9
+ const loaders_1 = require("./loaders");
10
+ const logger_1 = require("./logger");
11
+ const master_1 = require("./master");
12
+ const worker_1 = require("./worker");
13
+ exports.startApp = () => {
14
+ const serviceJSON = loaders_1.getServiceJSON();
15
+ try {
16
+ // if it is a master process then call setting up worker process
17
+ if (cluster_1.default.isMaster) {
18
+ master_1.startMaster(serviceJSON);
19
+ }
20
+ else {
21
+ // to setup server configurations and share port address for incoming requests
22
+ worker_1.startWorker(serviceJSON).listen(constants_1.HTTP_SERVER_PORT);
23
+ }
24
+ }
25
+ catch (err) {
26
+ if (!(err instanceof Error)) {
27
+ throw err;
28
+ }
29
+ logger_1.logOnceToDevConsole(err.stack || err.message, logger_1.LogLevel.Error);
30
+ process.exit(2);
31
+ }
32
+ };
33
+ var loaders_2 = require("./loaders");
34
+ Object.defineProperty(exports, "appPath", { enumerable: true, get: function () { return loaders_2.appPath; } });
@@ -0,0 +1,8 @@
1
+ import { IOClients } from '../clients/IOClients';
2
+ import { Service } from './worker/runtime/Service';
3
+ import { ParamsContext, RecorderState, ServiceJSON } from './worker/runtime/typings';
4
+ export declare const appPath: string;
5
+ export declare const bundlePath: string;
6
+ export declare const serviceJsonPath: string;
7
+ export declare const getServiceJSON: () => ServiceJSON;
8
+ export declare const getService: () => Service<IOClients, RecorderState, ParamsContext>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getService = exports.getServiceJSON = exports.serviceJsonPath = exports.bundlePath = exports.appPath = void 0;
4
+ const os_1 = require("os");
5
+ const path_1 = require("path");
6
+ const IOClients_1 = require("../clients/IOClients");
7
+ const constants_1 = require("../constants");
8
+ exports.appPath = path_1.join(process.cwd(), './service/src/node/');
9
+ exports.bundlePath = path_1.join(exports.appPath, 'index');
10
+ exports.serviceJsonPath = path_1.join(process.cwd(), './service/service.json');
11
+ const getWorkers = (workers) => {
12
+ // We need to have only one worker while linking so the debugger
13
+ // works properly
14
+ if (constants_1.LINKED) {
15
+ return 1;
16
+ }
17
+ // If user didn't set workers property, let's use the cpu count
18
+ const workersFromUser = workers && Number.isInteger(workers) ? workers : os_1.cpus().length;
19
+ // never spawns more than MAX_WORKERS
20
+ return Math.min(workersFromUser, constants_1.MAX_WORKERS);
21
+ };
22
+ exports.getServiceJSON = () => {
23
+ const service = require(exports.serviceJsonPath);
24
+ return {
25
+ ...service,
26
+ workers: getWorkers(service.workers),
27
+ };
28
+ };
29
+ const defaultClients = {
30
+ options: {
31
+ messages: {
32
+ concurrency: 10,
33
+ retries: 2,
34
+ timeout: 1000,
35
+ },
36
+ messagesGraphQL: {
37
+ concurrency: 12,
38
+ retries: 2,
39
+ timeout: 2000,
40
+ },
41
+ },
42
+ };
43
+ exports.getService = () => {
44
+ var _a;
45
+ const { default: service } = require(exports.bundlePath);
46
+ const { config: { clients } } = service;
47
+ service.config.clients = {
48
+ implementation: (_a = clients === null || clients === void 0 ? void 0 : clients.implementation) !== null && _a !== void 0 ? _a : IOClients_1.IOClients,
49
+ options: {
50
+ ...defaultClients.options,
51
+ ...clients === null || clients === void 0 ? void 0 : clients.options,
52
+ },
53
+ };
54
+ return service;
55
+ };
@@ -0,0 +1,10 @@
1
+ import { LogLevel } from './logger';
2
+ export interface LogMessage {
3
+ cmd: typeof LOG_ONCE;
4
+ message: string;
5
+ level: LogLevel;
6
+ }
7
+ export declare const LOG_ONCE = "logOnce";
8
+ export declare const isLog: (message: any) => message is LogMessage;
9
+ export declare const log: (message: any, level: LogLevel) => void;
10
+ export declare const logOnceToDevConsole: (message: any, level: LogLevel) => void;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logOnceToDevConsole = exports.log = exports.isLog = exports.LOG_ONCE = void 0;
4
+ const cluster_1 = require("cluster");
5
+ const caches_1 = require("../../caches");
6
+ const history = new caches_1.LRUCache({
7
+ max: 42,
8
+ });
9
+ exports.LOG_ONCE = 'logOnce';
10
+ exports.isLog = (message) => (message === null || message === void 0 ? void 0 : message.cmd) === exports.LOG_ONCE;
11
+ exports.log = (message, level) => {
12
+ const logger = console[level];
13
+ if (typeof logger === 'function') {
14
+ logger(message);
15
+ }
16
+ };
17
+ // Since we are now using clusters, if we simply console.log something,
18
+ // it may overwhelm the programmer's console with lots of repeated info.
19
+ // This function should be used when you want to warn about something
20
+ // only once
21
+ exports.logOnceToDevConsole = (message, level) => {
22
+ const strigified = JSON.stringify(message);
23
+ if (!history.has(strigified)) {
24
+ history.set(strigified, true);
25
+ if (cluster_1.isMaster) {
26
+ exports.log(message, level);
27
+ }
28
+ else if (cluster_1.isWorker && process.send) {
29
+ const logMessage = {
30
+ cmd: exports.LOG_ONCE,
31
+ level,
32
+ message,
33
+ };
34
+ process.send(logMessage);
35
+ }
36
+ }
37
+ };
@@ -1,28 +1,2 @@
1
- import { IOContext } from '../../service/typings';
2
- export declare enum LogLevel {
3
- Debug = "debug",
4
- Info = "info",
5
- Warn = "warn",
6
- Error = "error"
7
- }
8
- export declare class Logger {
9
- private account;
10
- private workspace;
11
- private operationId;
12
- private requestId;
13
- private production;
14
- private executed;
15
- constructor(ctx: Pick<IOContext, 'account' | 'workspace' | 'requestId' | 'operationId' | 'production'>);
16
- debug: (message: any) => void;
17
- info: (message: any) => void;
18
- warn: (warning: any) => void;
19
- error: (error: any) => void;
20
- log: (message: any, level: LogLevel) => void;
21
- private isThirdPartyApp;
22
- /**
23
- * Logs splunk query so the developer can search for the errors in splunk.
24
- * This function runs only once in the lifetime of the Logger class so we
25
- * don't mess up with the developer's terminal
26
- */
27
- private logSplunkQuery;
28
- }
1
+ export * from './console';
2
+ export * from './logger';
@@ -1,70 +1,14 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const error_1 = require("../../utils/error");
4
- const log_1 = require("../../utils/log");
5
- const linked = !!process.env.VTEX_APP_LINK;
6
- const app = process.env.VTEX_APP_ID;
7
- const EMPTY_MESSAGE = 'Logger.log was called with null or undefined message';
8
- const appName = process.env.VTEX_APP_NAME;
9
- const vendor = process.env.VTEX_APP_VENDOR;
10
- var LogLevel;
11
- (function (LogLevel) {
12
- LogLevel["Debug"] = "debug";
13
- LogLevel["Info"] = "info";
14
- LogLevel["Warn"] = "warn";
15
- LogLevel["Error"] = "error";
16
- })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
17
- class Logger {
18
- constructor(ctx) {
19
- this.executed = false;
20
- this.debug = (message) => this.log(message, LogLevel.Debug);
21
- this.info = (message) => this.log(message, LogLevel.Info);
22
- this.warn = (warning) => this.log(warning, LogLevel.Warn);
23
- this.error = (error) => this.log(error, LogLevel.Error);
24
- this.log = (message, level) => {
25
- const data = message ? error_1.cleanError(message) : EMPTY_MESSAGE;
26
- log_1.cleanLog(data);
27
- /* tslint:disable:object-literal-sort-keys */
28
- const inflatedLog = {
29
- __VTEX_IO_LOG: true,
30
- level,
31
- app,
32
- account: this.account,
33
- workspace: this.workspace,
34
- production: this.production,
35
- data,
36
- operationId: this.operationId,
37
- requestId: this.requestId,
38
- };
39
- if (this.isThirdPartyApp()) {
40
- Object.assign(inflatedLog, {
41
- __SKIDDER_TOPIC_1: `skidder.vendor.${vendor}`,
42
- __SKIDDER_TOPIC_2: `skidder.app.${vendor}.${appName}`,
43
- });
44
- }
45
- console.log(JSON.stringify(inflatedLog));
46
- // Warn the developer how to retrieve the error in splunk
47
- this.logSplunkQuery();
48
- };
49
- /**
50
- * Logs splunk query so the developer can search for the errors in splunk.
51
- * This function runs only once in the lifetime of the Logger class so we
52
- * don't mess up with the developer's terminal
53
- */
54
- this.logSplunkQuery = () => {
55
- if (!this.executed && linked) {
56
- console.log(`Try this query at Splunk to retrieve error log: 'index=io_vtex_logs app="${app}" account=${this.account} workspace=${this.workspace} level=error OR level=warn'`);
57
- this.executed = true;
58
- }
59
- };
60
- this.account = ctx.account;
61
- this.workspace = ctx.workspace;
62
- this.requestId = ctx.requestId;
63
- this.operationId = ctx.operationId;
64
- this.production = ctx.production;
65
- }
66
- isThirdPartyApp() {
67
- return 'vtex' !== vendor && 'gocommerce' !== vendor;
68
- }
69
- }
70
- exports.Logger = Logger;
13
+ __exportStar(require("./console"), exports);
14
+ __exportStar(require("./logger"), exports);
@@ -0,0 +1,29 @@
1
+ import { IUserLandTracer } from '../../tracing';
2
+ import { IOContext } from '../worker/runtime/typings';
3
+ export interface LoggerTracingContext {
4
+ requestTracer: IUserLandTracer;
5
+ }
6
+ export declare enum LogLevel {
7
+ Debug = "debug",
8
+ Info = "info",
9
+ Warn = "warn",
10
+ Error = "error"
11
+ }
12
+ interface LoggerContext extends Pick<IOContext, 'account' | 'workspace' | 'requestId' | 'operationId' | 'production'> {
13
+ tracer?: IOContext['tracer'];
14
+ }
15
+ export declare class Logger {
16
+ private account;
17
+ private workspace;
18
+ private operationId;
19
+ private requestId;
20
+ private production;
21
+ private tracingState?;
22
+ constructor(ctx: LoggerContext);
23
+ debug: (message: any) => void;
24
+ info: (message: any) => void;
25
+ warn: (warning: any) => void;
26
+ error: (error: any) => void;
27
+ log: (message: any, level: LogLevel) => void;
28
+ }
29
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = exports.LogLevel = void 0;
4
+ const constants_1 = require("../../constants");
5
+ const error_1 = require("../../utils/error");
6
+ const log_1 = require("../../utils/log");
7
+ const linked = !!process.env.VTEX_APP_LINK;
8
+ const app = constants_1.APP.ID;
9
+ const EMPTY_MESSAGE = 'Logger.log was called with null or undefined message';
10
+ var LogLevel;
11
+ (function (LogLevel) {
12
+ LogLevel["Debug"] = "debug";
13
+ LogLevel["Info"] = "info";
14
+ LogLevel["Warn"] = "warn";
15
+ LogLevel["Error"] = "error";
16
+ })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
17
+ class Logger {
18
+ constructor(ctx) {
19
+ this.debug = (message) => this.log(message, LogLevel.Debug);
20
+ this.info = (message) => this.log(message, LogLevel.Info);
21
+ this.warn = (warning) => this.log(warning, LogLevel.Warn);
22
+ this.error = (error) => this.log(error, LogLevel.Error);
23
+ this.log = (message, level) => {
24
+ var _a;
25
+ const data = message ? error_1.cleanError(message) : EMPTY_MESSAGE;
26
+ log_1.cleanLog(data);
27
+ /* tslint:disable:object-literal-sort-keys */
28
+ const inflatedLog = {
29
+ __VTEX_IO_LOG: true,
30
+ level,
31
+ app,
32
+ account: this.account,
33
+ workspace: this.workspace,
34
+ production: this.production,
35
+ data,
36
+ operationId: this.operationId,
37
+ requestId: this.requestId,
38
+ ...(((_a = this.tracingState) === null || _a === void 0 ? void 0 : _a.isTraceSampled) ? { traceId: this.tracingState.traceId } : null),
39
+ };
40
+ // Mark third-party apps logs to send to skidder
41
+ if (constants_1.APP.IS_THIRD_PARTY()) {
42
+ Object.assign(inflatedLog, {
43
+ __SKIDDER_TOPIC_1: `skidder.vendor.${constants_1.APP.VENDOR}`,
44
+ __SKIDDER_TOPIC_2: `skidder.app.${constants_1.APP.VENDOR}.${constants_1.APP.NAME}`,
45
+ });
46
+ }
47
+ console.log(JSON.stringify(inflatedLog));
48
+ };
49
+ this.account = ctx.account;
50
+ this.workspace = ctx.workspace;
51
+ this.requestId = ctx.requestId;
52
+ this.operationId = ctx.operationId;
53
+ this.production = ctx.production;
54
+ if (ctx.tracer) {
55
+ this.tracingState = {
56
+ isTraceSampled: ctx.tracer.isTraceSampled,
57
+ traceId: ctx.tracer.traceId,
58
+ };
59
+ }
60
+ }
61
+ }
62
+ exports.Logger = Logger;
@@ -0,0 +1,40 @@
1
+ /// <reference types="node" />
2
+ interface ProcessEnv {
3
+ appName: string;
4
+ appVersion: string;
5
+ region: string;
6
+ vendor: string;
7
+ production: boolean;
8
+ }
9
+ interface Key {
10
+ name: string;
11
+ }
12
+ interface Metric {
13
+ Count: number;
14
+ Data: {
15
+ key: Key;
16
+ processEnv: ProcessEnv;
17
+ summary: NumericSummary | NodeJS.MemoryUsage | NodeJS.CpuUsage;
18
+ };
19
+ Max: number;
20
+ Min: number;
21
+ Name: string;
22
+ Sum: number;
23
+ Timestamp: number;
24
+ Unit: string;
25
+ }
26
+ interface NumericSummary {
27
+ count: number;
28
+ max: number;
29
+ median: number;
30
+ min: number;
31
+ percentile95: number;
32
+ percentile99: number;
33
+ sum: number;
34
+ }
35
+ export declare class MetricsLogger {
36
+ add: (key: Key, value: number) => void;
37
+ getSummaries: () => Metric[];
38
+ constructor();
39
+ }
40
+ export {};