@vtex/api 6.48.0 → 6.48.1-beta.2

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 (243) hide show
  1. package/gen/manifest.schema +2 -3
  2. package/lib/HttpClient/GraphQLClient.d.ts +1 -1
  3. package/lib/HttpClient/GraphQLClient.js +1 -0
  4. package/lib/HttpClient/HttpClient.d.ts +4 -3
  5. package/lib/HttpClient/HttpClient.js +15 -14
  6. package/lib/HttpClient/agents.d.ts +5 -2
  7. package/lib/HttpClient/agents.js +23 -4
  8. package/lib/HttpClient/index.js +22 -10
  9. package/lib/HttpClient/middlewares/cache.d.ts +1 -1
  10. package/lib/HttpClient/middlewares/cache.js +48 -42
  11. package/lib/HttpClient/middlewares/cancellationToken.d.ts +1 -1
  12. package/lib/HttpClient/middlewares/cancellationToken.js +3 -1
  13. package/lib/HttpClient/middlewares/inflight.d.ts +1 -1
  14. package/lib/HttpClient/middlewares/inflight.js +7 -3
  15. package/lib/HttpClient/middlewares/memoization.d.ts +1 -1
  16. package/lib/HttpClient/middlewares/memoization.js +10 -8
  17. package/lib/HttpClient/middlewares/metrics.js +13 -7
  18. package/lib/HttpClient/middlewares/notFound.d.ts +1 -1
  19. package/lib/HttpClient/middlewares/notFound.js +5 -2
  20. package/lib/HttpClient/middlewares/recorder.js +7 -1
  21. package/lib/HttpClient/middlewares/request/HttpAgentSingleton.js +2 -1
  22. package/lib/HttpClient/middlewares/request/index.d.ts +1 -1
  23. package/lib/HttpClient/middlewares/request/index.js +13 -9
  24. package/lib/HttpClient/middlewares/request/setupAxios/index.js +6 -4
  25. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/exponentialBackoff.js +7 -5
  26. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/index.js +4 -3
  27. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/index.js +9 -6
  28. package/lib/HttpClient/middlewares/request/setupAxios/interceptors/tracing/spanSetup.js +10 -7
  29. package/lib/HttpClient/middlewares/tracing.js +16 -10
  30. package/lib/HttpClient/typings.d.ts +3 -3
  31. package/lib/HttpClient/typings.js +1 -0
  32. package/lib/caches/DiskCache.d.ts +1 -1
  33. package/lib/caches/DiskCache.js +3 -2
  34. package/lib/caches/LRUCache.d.ts +3 -3
  35. package/lib/caches/LRUCache.js +1 -0
  36. package/lib/caches/LRUDiskCache.d.ts +2 -2
  37. package/lib/caches/LRUDiskCache.js +3 -2
  38. package/lib/caches/MultilayeredCache.d.ts +2 -2
  39. package/lib/caches/MultilayeredCache.js +8 -7
  40. package/lib/caches/index.js +20 -7
  41. package/lib/caches/typings.d.ts +5 -5
  42. package/lib/clients/IOClient.d.ts +1 -1
  43. package/lib/clients/IOClient.js +1 -0
  44. package/lib/clients/IOClients.d.ts +1 -1
  45. package/lib/clients/IOClients.js +1 -0
  46. package/lib/clients/IOGraphQLClient.js +1 -0
  47. package/lib/clients/apps/AppClient.js +2 -1
  48. package/lib/clients/apps/AppGraphQLClient.js +2 -1
  49. package/lib/clients/apps/Billing.d.ts +1 -1
  50. package/lib/clients/apps/Billing.js +1 -0
  51. package/lib/clients/apps/Builder.d.ts +7 -7
  52. package/lib/clients/apps/Builder.js +2 -1
  53. package/lib/clients/apps/MessagesGraphQL.d.ts +1 -1
  54. package/lib/clients/apps/MessagesGraphQL.js +4 -3
  55. package/lib/clients/apps/Settings.js +4 -3
  56. package/lib/clients/apps/catalogGraphQL/brand.js +1 -0
  57. package/lib/clients/apps/catalogGraphQL/category.js +1 -0
  58. package/lib/clients/apps/catalogGraphQL/index.d.ts +4 -4
  59. package/lib/clients/apps/catalogGraphQL/index.js +5 -4
  60. package/lib/clients/apps/catalogGraphQL/product.js +1 -0
  61. package/lib/clients/apps/catalogGraphQL/sku.js +1 -0
  62. package/lib/clients/apps/index.js +21 -10
  63. package/lib/clients/external/ExternalClient.js +1 -0
  64. package/lib/clients/external/ID.d.ts +4 -4
  65. package/lib/clients/external/ID.js +1 -0
  66. package/lib/clients/external/Masterdata.js +1 -0
  67. package/lib/clients/external/PaymentProvider.d.ts +2 -2
  68. package/lib/clients/external/PaymentProvider.js +1 -0
  69. package/lib/clients/external/index.js +18 -7
  70. package/lib/clients/index.js +22 -10
  71. package/lib/clients/infra/Apps.d.ts +32 -27
  72. package/lib/clients/infra/Apps.js +19 -16
  73. package/lib/clients/infra/Assets.d.ts +6 -5
  74. package/lib/clients/infra/Assets.js +12 -11
  75. package/lib/clients/infra/BillingMetrics.d.ts +1 -1
  76. package/lib/clients/infra/BillingMetrics.js +1 -0
  77. package/lib/clients/infra/Events.d.ts +1 -1
  78. package/lib/clients/infra/Events.js +2 -1
  79. package/lib/clients/infra/Housekeeper.d.ts +3 -3
  80. package/lib/clients/infra/Housekeeper.js +1 -0
  81. package/lib/clients/infra/InfraClient.js +1 -0
  82. package/lib/clients/infra/Registry.d.ts +23 -17
  83. package/lib/clients/infra/Registry.js +5 -3
  84. package/lib/clients/infra/Router.d.ts +8 -8
  85. package/lib/clients/infra/Router.js +1 -0
  86. package/lib/clients/infra/Sphinx.d.ts +2 -2
  87. package/lib/clients/infra/Sphinx.js +1 -0
  88. package/lib/clients/infra/VBase.d.ts +15 -14
  89. package/lib/clients/infra/VBase.js +4 -3
  90. package/lib/clients/infra/Workspaces.d.ts +7 -7
  91. package/lib/clients/infra/Workspaces.js +1 -0
  92. package/lib/clients/infra/index.js +25 -14
  93. package/lib/clients/janus/JanusClient.d.ts +1 -1
  94. package/lib/clients/janus/JanusClient.js +1 -0
  95. package/lib/clients/janus/LicenseManager.js +2 -1
  96. package/lib/clients/janus/Segment.d.ts +3 -3
  97. package/lib/clients/janus/Segment.js +3 -2
  98. package/lib/clients/janus/Session.d.ts +2 -2
  99. package/lib/clients/janus/Session.js +1 -0
  100. package/lib/clients/janus/Tenant.d.ts +1 -1
  101. package/lib/clients/janus/Tenant.js +1 -0
  102. package/lib/clients/janus/index.js +19 -8
  103. package/lib/constants.d.ts +1 -1
  104. package/lib/constants.js +2 -1
  105. package/lib/errors/AuthenticationError.js +1 -0
  106. package/lib/errors/ForbiddenError.js +1 -0
  107. package/lib/errors/NotFoundError.js +1 -0
  108. package/lib/errors/RequestCancelledError.js +1 -0
  109. package/lib/errors/ResolverError.js +2 -1
  110. package/lib/errors/ResolverWarning.js +1 -0
  111. package/lib/errors/TooManyRequestsError.js +1 -0
  112. package/lib/errors/UserInputError.js +1 -0
  113. package/lib/errors/index.js +22 -11
  114. package/lib/index.js +31 -18
  115. package/lib/metrics/MetricsAccumulator.d.ts +2 -2
  116. package/lib/metrics/MetricsAccumulator.js +10 -9
  117. package/lib/responses.d.ts +4 -4
  118. package/lib/service/index.js +11 -6
  119. package/lib/service/loaders.js +9 -6
  120. package/lib/service/logger/console.js +8 -4
  121. package/lib/service/logger/index.js +16 -5
  122. package/lib/service/logger/logger.js +3 -2
  123. package/lib/service/logger/metricsLogger.js +11 -10
  124. package/lib/service/master.js +8 -6
  125. package/lib/service/metrics/requestMetricsMiddleware.d.ts +1 -1
  126. package/lib/service/metrics/requestMetricsMiddleware.js +15 -13
  127. package/lib/service/tracing/TracerSingleton.js +10 -9
  128. package/lib/service/tracing/metrics/MetricNames.js +13 -12
  129. package/lib/service/tracing/metrics/instruments.js +15 -7
  130. package/lib/service/tracing/metrics/measurers/EventLoopLagMeasurer.js +6 -5
  131. package/lib/service/tracing/tracingMiddlewares.d.ts +3 -3
  132. package/lib/service/tracing/tracingMiddlewares.js +25 -15
  133. package/lib/service/worker/index.js +25 -23
  134. package/lib/service/worker/listeners.js +3 -1
  135. package/lib/service/worker/runtime/Service.js +2 -1
  136. package/lib/service/worker/runtime/builtIn/handlers.d.ts +3 -3
  137. package/lib/service/worker/runtime/builtIn/handlers.js +7 -3
  138. package/lib/service/worker/runtime/builtIn/middlewares.d.ts +2 -2
  139. package/lib/service/worker/runtime/builtIn/middlewares.js +6 -3
  140. package/lib/service/worker/runtime/events/index.d.ts +2 -2
  141. package/lib/service/worker/runtime/events/index.js +12 -10
  142. package/lib/service/worker/runtime/events/middlewares/body.js +6 -2
  143. package/lib/service/worker/runtime/events/middlewares/context.js +2 -1
  144. package/lib/service/worker/runtime/events/router.d.ts +2 -2
  145. package/lib/service/worker/runtime/events/router.js +4 -2
  146. package/lib/service/worker/runtime/graphql/index.js +9 -7
  147. package/lib/service/worker/runtime/graphql/middlewares/context.js +1 -0
  148. package/lib/service/worker/runtime/graphql/middlewares/error.js +9 -5
  149. package/lib/service/worker/runtime/graphql/middlewares/query.d.ts +2 -1
  150. package/lib/service/worker/runtime/graphql/middlewares/query.js +8 -6
  151. package/lib/service/worker/runtime/graphql/middlewares/response.js +2 -1
  152. package/lib/service/worker/runtime/graphql/middlewares/run.d.ts +2 -2
  153. package/lib/service/worker/runtime/graphql/middlewares/run.js +4 -2
  154. package/lib/service/worker/runtime/graphql/middlewares/updateSchema.d.ts +2 -1
  155. package/lib/service/worker/runtime/graphql/middlewares/updateSchema.js +5 -3
  156. package/lib/service/worker/runtime/graphql/middlewares/upload.js +2 -1
  157. package/lib/service/worker/runtime/graphql/schema/index.d.ts +1 -1
  158. package/lib/service/worker/runtime/graphql/schema/index.js +9 -7
  159. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.d.ts +2 -2
  160. package/lib/service/worker/runtime/graphql/schema/messagesLoaderV2.js +5 -3
  161. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Auth.js +2 -1
  162. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/CacheControl.js +1 -0
  163. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Deprecated.js +2 -1
  164. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Metric.js +1 -0
  165. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Sanitize.js +1 -0
  166. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/Settings.js +2 -1
  167. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/SmartCacheDirective.js +1 -0
  168. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslatableV2.js +3 -2
  169. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/TranslateTo.js +3 -2
  170. package/lib/service/worker/runtime/graphql/schema/schemaDirectives/index.js +3 -2
  171. package/lib/service/worker/runtime/graphql/schema/typeDefs/index.d.ts +2 -1
  172. package/lib/service/worker/runtime/graphql/schema/typeDefs/index.js +3 -1
  173. package/lib/service/worker/runtime/graphql/schema/typeDefs/ioUpload.js +1 -0
  174. package/lib/service/worker/runtime/graphql/schema/typeDefs/sanitizedString.js +3 -2
  175. package/lib/service/worker/runtime/graphql/typings.d.ts +3 -3
  176. package/lib/service/worker/runtime/graphql/utils/cacheControl.d.ts +2 -1
  177. package/lib/service/worker/runtime/graphql/utils/cacheControl.js +3 -1
  178. package/lib/service/worker/runtime/graphql/utils/error.d.ts +2 -1
  179. package/lib/service/worker/runtime/graphql/utils/error.js +11 -9
  180. package/lib/service/worker/runtime/graphql/utils/pathname.js +4 -2
  181. package/lib/service/worker/runtime/graphql/utils/translations.d.ts +1 -1
  182. package/lib/service/worker/runtime/graphql/utils/translations.js +8 -4
  183. package/lib/service/worker/runtime/http/index.d.ts +3 -3
  184. package/lib/service/worker/runtime/http/index.js +23 -20
  185. package/lib/service/worker/runtime/http/middlewares/authTokens.js +1 -0
  186. package/lib/service/worker/runtime/http/middlewares/cancellationToken.js +1 -0
  187. package/lib/service/worker/runtime/http/middlewares/clients.js +1 -0
  188. package/lib/service/worker/runtime/http/middlewares/context.js +8 -5
  189. package/lib/service/worker/runtime/http/middlewares/error.js +10 -6
  190. package/lib/service/worker/runtime/http/middlewares/rateLimit.js +2 -1
  191. package/lib/service/worker/runtime/http/middlewares/requestStats.js +1 -0
  192. package/lib/service/worker/runtime/http/middlewares/setCookie.js +6 -5
  193. package/lib/service/worker/runtime/http/middlewares/settings.d.ts +1 -1
  194. package/lib/service/worker/runtime/http/middlewares/settings.js +14 -9
  195. package/lib/service/worker/runtime/http/middlewares/timings.js +4 -3
  196. package/lib/service/worker/runtime/http/middlewares/vary.js +1 -0
  197. package/lib/service/worker/runtime/http/router.d.ts +1 -1
  198. package/lib/service/worker/runtime/http/router.js +4 -2
  199. package/lib/service/worker/runtime/http/routes.js +9 -5
  200. package/lib/service/worker/runtime/method.d.ts +2 -2
  201. package/lib/service/worker/runtime/method.js +2 -1
  202. package/lib/service/worker/runtime/statusTrack.d.ts +2 -2
  203. package/lib/service/worker/runtime/statusTrack.js +11 -5
  204. package/lib/service/worker/runtime/typings.d.ts +10 -10
  205. package/lib/service/worker/runtime/utils/compose.d.ts +3 -3
  206. package/lib/service/worker/runtime/utils/compose.js +5 -2
  207. package/lib/service/worker/runtime/utils/context.d.ts +4 -1
  208. package/lib/service/worker/runtime/utils/context.js +6 -4
  209. package/lib/service/worker/runtime/utils/diff.js +1 -0
  210. package/lib/service/worker/runtime/utils/recorder.js +2 -1
  211. package/lib/service/worker/runtime/utils/toArray.js +3 -1
  212. package/lib/service/worker/runtime/utils/tokenBucket.js +1 -0
  213. package/lib/tracing/Tags.js +2 -1
  214. package/lib/tracing/UserLandTracer.js +4 -2
  215. package/lib/tracing/errorReporting/ErrorReport.js +14 -13
  216. package/lib/tracing/index.js +10 -9
  217. package/lib/tracing/spanReference/SpanReferenceTypes.js +1 -0
  218. package/lib/tracing/spanReference/createSpanReference.js +1 -0
  219. package/lib/tracing/utils.js +6 -4
  220. package/lib/utils/MineWinsConflictsResolver.d.ts +4 -4
  221. package/lib/utils/MineWinsConflictsResolver.js +11 -10
  222. package/lib/utils/app.js +40 -23
  223. package/lib/utils/appsStaleIfError.d.ts +1 -0
  224. package/lib/utils/appsStaleIfError.js +33 -12
  225. package/lib/utils/billingOptions.js +3 -1
  226. package/lib/utils/binding.js +5 -2
  227. package/lib/utils/cancel.js +1 -0
  228. package/lib/utils/conflicts.mock.js +1 -0
  229. package/lib/utils/domain.js +2 -1
  230. package/lib/utils/error.js +6 -4
  231. package/lib/utils/index.js +23 -12
  232. package/lib/utils/json.js +1 -0
  233. package/lib/utils/log.js +4 -2
  234. package/lib/utils/message.js +9 -5
  235. package/lib/utils/renameBy.js +3 -1
  236. package/lib/utils/retry.js +10 -7
  237. package/lib/utils/status.js +3 -1
  238. package/lib/utils/tenant.js +5 -2
  239. package/lib/utils/throwOnGraphQLErrors.js +1 -0
  240. package/lib/utils/time.d.ts +3 -5
  241. package/lib/utils/time.js +24 -14
  242. package/package.json +4 -4
  243. package/CHANGELOG.md +0 -1858
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPubContextMiddleware = exports.createPvtContextMiddleware = void 0;
3
4
  const querystring_1 = require("querystring");
4
5
  const constants_1 = require("../../../../../constants");
5
6
  const context_1 = require("../../utils/context");
6
- exports.createPvtContextMiddleware = (routeId, { smartcache }) => {
7
+ const createPvtContextMiddleware = (routeId, { smartcache }) => {
7
8
  return async function pvtContext(ctx, next) {
8
9
  const { params, request: { header }, } = ctx;
9
10
  ctx.vtex = {
10
- ...context_1.prepareHandlerCtx(header, ctx.tracing),
11
+ ...(0, context_1.prepareHandlerCtx)(header, ctx.tracing),
11
12
  ...(smartcache && { recorder: ctx.state.recorder }),
12
13
  route: {
13
14
  id: routeId,
@@ -18,19 +19,21 @@ exports.createPvtContextMiddleware = (routeId, { smartcache }) => {
18
19
  await next();
19
20
  };
20
21
  };
21
- exports.createPubContextMiddleware = (routeId, { smartcache }) => {
22
+ exports.createPvtContextMiddleware = createPvtContextMiddleware;
23
+ const createPubContextMiddleware = (routeId, { smartcache }) => {
22
24
  return async function pubContext(ctx, next) {
23
25
  const { request: { header }, } = ctx;
24
26
  ctx.vtex = {
25
- ...context_1.prepareHandlerCtx(header, ctx.tracing),
27
+ ...(0, context_1.prepareHandlerCtx)(header, ctx.tracing),
26
28
  ...(smartcache && { recorder: ctx.state.recorder }),
27
29
  route: {
28
30
  declarer: header[constants_1.COLOSSUS_ROUTE_DECLARER_HEADER],
29
31
  id: routeId,
30
- params: querystring_1.parse(header[constants_1.COLOSSUS_PARAMS_HEADER]),
32
+ params: (0, querystring_1.parse)(header[constants_1.COLOSSUS_PARAMS_HEADER]),
31
33
  type: 'public',
32
34
  },
33
35
  };
34
36
  await next();
35
37
  };
36
38
  };
39
+ exports.createPubContextMiddleware = createPubContextMiddleware;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.error = void 0;
4
+ const axios_1 = require("axios");
3
5
  const constants_1 = require("../../../../../constants");
4
6
  const RequestCancelledError_1 = require("../../../../../errors/RequestCancelledError");
5
7
  const TooManyRequestsError_1 = require("../../../../../errors/TooManyRequestsError");
@@ -59,13 +61,15 @@ async function error(ctx, next) {
59
61
  return;
60
62
  }
61
63
  console.error('[node-vtex-api error]', e);
62
- const err = error_1.cleanError(e);
64
+ const err = (0, error_1.cleanError)(e);
63
65
  // Add response
64
- ctx.status = e && e.status >= 400 && e.status <= 599
65
- ? e.status
66
- : ctx.status >= 500 && ctx.status <= 599
67
- ? ctx.status
68
- : 500;
66
+ if (e instanceof axios_1.AxiosError) {
67
+ ctx.status = (e === null || e === void 0 ? void 0 : e.status) && e.status >= 400 && e.status <= 599
68
+ ? e.status
69
+ : ctx.status >= 500 && ctx.status <= 599
70
+ ? ctx.status
71
+ : 500;
72
+ }
69
73
  // Do not generate etag for errors
70
74
  ctx.remove(META_HEADER);
71
75
  ctx.remove(ETAG_HEADER);
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.concurrentRateLimiter = exports.perMinuteRateLimiter = void 0;
3
4
  const errors_1 = require("../../../../../errors");
4
5
  const tokenBucket_1 = require("../../utils/tokenBucket");
5
6
  const responseMessageConcurrent = 'Rate Exceeded: Too many requests in execution';
@@ -11,7 +12,7 @@ function perMinuteRateLimiter(rateLimit, globalLimiter) {
11
12
  if (!rateLimit && !globalLimiter) {
12
13
  return noopMiddleware;
13
14
  }
14
- const tokenBucket = tokenBucket_1.createTokenBucket(rateLimit, globalLimiter);
15
+ const tokenBucket = (0, tokenBucket_1.createTokenBucket)(rateLimit, globalLimiter);
15
16
  return function perMinuteRateMiddleware(ctx, next) {
16
17
  if (!tokenBucket.removeTokensSync(1)) {
17
18
  throw new errors_1.TooManyRequestsError(responseMessagePerMinute);
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.trackIncomingRequestStats = exports.incomingRequestStats = exports.cancelMessage = void 0;
3
4
  exports.cancelMessage = 'Request cancelled';
4
5
  class IncomingRequestStats {
5
6
  constructor() {
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeSetCookie = void 0;
3
4
  const ramda_1 = require("ramda");
4
5
  const BLACKLISTED_COOKIES = new Set(['checkout.vtex.com']);
5
6
  const warnMessage = (keys) => `Removing set-cookie from response since cache-control has as public scope.
@@ -8,26 +9,26 @@ Cookies dropped:
8
9
 
9
10
  ${keys.join('\n\t')}
10
11
  `;
11
- const findStr = (target, set) => ramda_1.find((a) => a.toLocaleLowerCase() === target, set);
12
+ const findStr = (target, set) => (0, ramda_1.find)((a) => a.toLocaleLowerCase() === target, set);
12
13
  const findScopeInCacheControl = (cacheControl) => {
13
14
  const splitted = cacheControl && cacheControl.split(/\s*,\s*/g);
14
15
  const scopePublic = splitted && findStr('public', splitted);
15
16
  return scopePublic;
16
17
  };
17
- const cookieKey = (cookie) => ramda_1.compose(ramda_1.head, ramda_1.split('='))(cookie);
18
- const indexCookieByKeys = (setCookie) => ramda_1.map((cookie) => [cookieKey(cookie), cookie], setCookie);
18
+ const cookieKey = (cookie) => (0, ramda_1.compose)(ramda_1.head, (0, ramda_1.split)('='))(cookie);
19
+ const indexCookieByKeys = (setCookie) => (0, ramda_1.map)((cookie) => [cookieKey(cookie), cookie], setCookie);
19
20
  async function removeSetCookie(ctx, next) {
20
21
  const { vtex: { logger } } = ctx;
21
22
  await next();
22
23
  const setCookie = ctx.response.headers['set-cookie'];
23
- if (!setCookie || ramda_1.isEmpty(setCookie)) {
24
+ if (!setCookie || (0, ramda_1.isEmpty)(setCookie)) {
24
25
  return;
25
26
  }
26
27
  const cacheControl = ctx.response.headers['cache-control'];
27
28
  const scope = findScopeInCacheControl(cacheControl);
28
29
  if (scope === 'public') {
29
30
  const indexedCookies = indexCookieByKeys(setCookie);
30
- const cookies = ramda_1.reduce((acc, [key, payload]) => {
31
+ const cookies = (0, ramda_1.reduce)((acc, [key, payload]) => {
31
32
  if (BLACKLISTED_COOKIES.has(key)) {
32
33
  acc.droppedKeys.push(key);
33
34
  }
@@ -5,5 +5,5 @@ import { Assets } from './../../../../../clients/infra/Assets';
5
5
  import { ParamsContext, RecorderState, ServiceContext } from './../../typings';
6
6
  export declare const getFilteredDependencies: (appAtMajor: string, dependencies: AppMetaInfo[]) => AppMetaInfo[];
7
7
  export declare const getDependenciesHash: (dependencies: AppMetaInfo[]) => string;
8
- export declare const getDependenciesSettings: (apps: Apps, assets: Assets, tracingConfig?: RequestTracingConfig | undefined) => Promise<Record<string, any>[]>;
8
+ export declare const getDependenciesSettings: (apps: Apps, assets: Assets, tracingConfig?: RequestTracingConfig) => Promise<Record<string, any>[]>;
9
9
  export declare const getServiceSettings: () => <T extends IOClients, U extends RecorderState, V extends ParamsContext>(ctx: ServiceContext<T, U, V>, next: () => Promise<void>) => Promise<void>;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getServiceSettings = exports.getDependenciesSettings = exports.getDependenciesHash = exports.getFilteredDependencies = void 0;
3
4
  const crypto_1 = require("crypto");
4
5
  const ramda_1 = require("ramda");
5
6
  const constants_1 = require("../../../../../constants");
6
7
  const app_1 = require("./../../../../../utils/app");
7
- const joinIds = ramda_1.join('');
8
+ const joinIds = (0, ramda_1.join)('');
8
9
  const dependsOnApp = (appAtMajor) => (a) => {
9
10
  const [name, major] = appAtMajor.split('@');
10
11
  const majorInt = major.includes('.') ? major.split('.')[0] : major;
@@ -15,30 +16,34 @@ const dependsOnApp = (appAtMajor) => (a) => {
15
16
  const [depMajor] = version.split('.');
16
17
  return majorInt === depMajor;
17
18
  };
18
- exports.getFilteredDependencies = (appAtMajor, dependencies) => {
19
+ const getFilteredDependencies = (appAtMajor, dependencies) => {
19
20
  const depends = dependsOnApp(appAtMajor);
20
21
  return dependencies.filter(depends);
21
22
  };
22
- exports.getDependenciesHash = (dependencies) => {
23
- const dependingApps = ramda_1.pluck('id', dependencies);
24
- return crypto_1.createHash('md5')
23
+ exports.getFilteredDependencies = getFilteredDependencies;
24
+ const getDependenciesHash = (dependencies) => {
25
+ const dependingApps = (0, ramda_1.pluck)('id', dependencies);
26
+ return (0, crypto_1.createHash)('md5')
25
27
  .update(joinIds(dependingApps))
26
28
  .digest('hex');
27
29
  };
28
- exports.getDependenciesSettings = async (apps, assets, tracingConfig) => {
30
+ exports.getDependenciesHash = getDependenciesHash;
31
+ const getDependenciesSettings = async (apps, assets, tracingConfig) => {
29
32
  const appId = constants_1.APP.ID;
30
33
  const metaInfos = await apps.getAppsMetaInfos(undefined, undefined, tracingConfig);
31
- const appAtMajor = app_1.appIdToAppAtMajor(appId);
34
+ const appAtMajor = (0, app_1.appIdToAppAtMajor)(appId);
32
35
  return await assets.getSettings(metaInfos, appAtMajor, undefined, tracingConfig);
33
36
  };
34
- exports.getServiceSettings = () => {
37
+ exports.getDependenciesSettings = getDependenciesSettings;
38
+ const getServiceSettings = () => {
35
39
  return async function settingsContext(ctx, next) {
36
40
  var _a;
37
41
  const { clients: { apps, assets }, } = ctx;
38
42
  const rootSpan = (_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.currentSpan;
39
- const dependenciesSettings = await exports.getDependenciesSettings(apps, assets, { tracing: { rootSpan } });
43
+ const dependenciesSettings = await (0, exports.getDependenciesSettings)(apps, assets, { tracing: { rootSpan } });
40
44
  // TODO: for now returning all settings, but the ideia is to do merge
41
45
  ctx.vtex.settings = dependenciesSettings;
42
46
  await next();
43
47
  };
44
48
  };
49
+ exports.getServiceSettings = getServiceSettings;
@@ -3,11 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.timings = void 0;
6
7
  const chalk_1 = __importDefault(require("chalk"));
7
8
  const constants_1 = require("../../../../../constants");
8
9
  const status_1 = require("../../../../../utils/status");
9
10
  const time_1 = require("../../../../../utils/time");
10
- const APP_ELAPSED_TIME_LOCATOR = time_1.shrinkTimings(time_1.formatTimingName({
11
+ const APP_ELAPSED_TIME_LOCATOR = (0, time_1.shrinkTimings)((0, time_1.formatTimingName)({
11
12
  hopNumber: 0,
12
13
  source: process.env.VTEX_APP_NAME,
13
14
  target: '',
@@ -35,10 +36,10 @@ async function timings(ctx, next) {
35
36
  // Errors will be caught by the next middleware so we don't have to catch.
36
37
  await next();
37
38
  const { status: statusCode, vtex: { route: { id } }, timings: { total }, vtex } = ctx;
38
- const totalMillis = time_1.hrToMillis(total);
39
+ const totalMillis = (0, time_1.hrToMillis)(total);
39
40
  console.log(log(ctx, totalMillis));
40
41
  console.log(logBillingInfo(vtex, totalMillis));
41
- const status = status_1.statusLabel(statusCode);
42
+ const status = (0, status_1.statusLabel)(statusCode);
42
43
  // Only batch successful responses so metrics don't consider errors
43
44
  metrics.batch(`http-handler-${id}`, status === 'success' ? total : undefined, { [status]: 1 });
44
45
  }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vary = void 0;
3
4
  const constants_1 = require("../../../../../constants");
4
5
  const cachingStrategies = [
5
6
  {
@@ -1,2 +1,2 @@
1
1
  import { HttpRoute, ServiceContext } from '../typings';
2
- export declare const routerFromPublicHttpHandlers: (routes: Record<string, HttpRoute>) => (ctx: ServiceContext<import("../../../..").IOClients, import("../typings").RecorderState, import("../typings").ParamsContext>, next: () => Promise<void>) => Promise<void>;
2
+ export declare const routerFromPublicHttpHandlers: (routes: Record<string, HttpRoute>) => (ctx: ServiceContext, next: () => Promise<void>) => Promise<void>;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.routerFromPublicHttpHandlers = void 0;
3
4
  const constants_1 = require("../../../../constants");
4
5
  const logger_1 = require("../../../logger");
5
6
  const console_1 = require("./../../../logger/console");
6
- exports.routerFromPublicHttpHandlers = (routes) => {
7
+ const routerFromPublicHttpHandlers = (routes) => {
7
8
  return async (ctx, next) => {
8
9
  var _a;
9
10
  const routeId = ctx.get(constants_1.COLOSSUS_ROUTE_ID_HEADER);
@@ -15,9 +16,10 @@ exports.routerFromPublicHttpHandlers = (routes) => {
15
16
  const msg = `Handler with id '${routeId}' not implemented.`;
16
17
  ctx.status = 501;
17
18
  ctx.body = msg;
18
- console_1.logOnceToDevConsole(msg, logger_1.LogLevel.Error);
19
+ (0, console_1.logOnceToDevConsole)(msg, logger_1.LogLevel.Error);
19
20
  return;
20
21
  }
21
22
  await handler(ctx, next);
22
23
  };
23
24
  };
25
+ exports.routerFromPublicHttpHandlers = routerFromPublicHttpHandlers;
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logAvailableRoutes = exports.formatPublicRoute = exports.formatPrivateRoute = void 0;
3
4
  const constants_1 = require("../../../../constants");
4
- exports.formatPrivateRoute = ({ protocol = 'https', vendor, name, major, account, workspace, path }) => `${protocol}://app.io.vtex.com/${vendor}.${name}/v${major}/${account}/${workspace}${path || ''}`;
5
- exports.formatPublicRoute = ({ workspace, account, endpoint, path }) => `https://${workspace}--${account}.${endpoint}${path}`;
5
+ const formatPrivateRoute = ({ protocol = 'https', vendor, name, major, account, workspace, path }) => `${protocol}://app.io.vtex.com/${vendor}.${name}/v${major}/${account}/${workspace}${path || ''}`;
6
+ exports.formatPrivateRoute = formatPrivateRoute;
7
+ const formatPublicRoute = ({ workspace, account, endpoint, path }) => `https://${workspace}--${account}.${endpoint}${path}`;
8
+ exports.formatPublicRoute = formatPublicRoute;
6
9
  const getPath = ({ public: publicRoute, path }) => publicRoute
7
- ? exports.formatPublicRoute({ workspace: constants_1.WORKSPACE, account: constants_1.ACCOUNT, endpoint: constants_1.PUBLIC_ENDPOINT, path })
8
- : exports.formatPrivateRoute({ protocol: 'https', vendor: constants_1.APP.VENDOR, name: constants_1.APP.NAME, major: constants_1.APP.MAJOR, account: constants_1.ACCOUNT, workspace: constants_1.WORKSPACE, path });
9
- exports.logAvailableRoutes = (service) => {
10
+ ? (0, exports.formatPublicRoute)({ workspace: constants_1.WORKSPACE, account: constants_1.ACCOUNT, endpoint: constants_1.PUBLIC_ENDPOINT, path })
11
+ : (0, exports.formatPrivateRoute)({ protocol: 'https', vendor: constants_1.APP.VENDOR, name: constants_1.APP.NAME, major: constants_1.APP.MAJOR, account: constants_1.ACCOUNT, workspace: constants_1.WORKSPACE, path });
12
+ const logAvailableRoutes = (service) => {
10
13
  const available = Object.values(service.routes || {}).reduce((acc, route) => `${acc}\n${getPath(route)}`, 'Available service routes:');
11
14
  console.info(available);
12
15
  };
16
+ exports.logAvailableRoutes = logAvailableRoutes;
@@ -1,7 +1,7 @@
1
1
  import { IOClients } from '../../../clients/IOClients';
2
2
  import { ParamsContext, RecorderState, RouteHandler, ServiceContext } from './typings';
3
- declare type HTTPMethods = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH' | 'DEFAULT';
4
- declare type MethodOptions<ClientsT extends IOClients = IOClients, StateT extends RecorderState = RecorderState, CustomT extends ParamsContext = ParamsContext> = Partial<Record<HTTPMethods, RouteHandler<ClientsT, StateT, CustomT> | Array<RouteHandler<ClientsT, StateT, CustomT>>>>;
3
+ type HTTPMethods = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH' | 'DEFAULT';
4
+ type MethodOptions<ClientsT extends IOClients = IOClients, StateT extends RecorderState = RecorderState, CustomT extends ParamsContext = ParamsContext> = Partial<Record<HTTPMethods, RouteHandler<ClientsT, StateT, CustomT> | Array<RouteHandler<ClientsT, StateT, CustomT>>>>;
5
5
  export declare function method<T extends IOClients, U extends RecorderState, V extends ParamsContext>(options: MethodOptions<T, U, V>): {
6
6
  (ctx: ServiceContext<T, U, V>, next: () => Promise<void>): Promise<void>;
7
7
  skipTimer: boolean;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.method = void 0;
3
4
  const ramda_1 = require("ramda");
4
5
  const compose_1 = require("./utils/compose");
5
6
  const TEN_SECONDS_S = 10;
@@ -8,7 +9,7 @@ function methodNotAllowed(ctx) {
8
9
  ctx.set('cache-control', `public, max-age=${TEN_SECONDS_S}`);
9
10
  }
10
11
  function method(options) {
11
- const handlers = ramda_1.mapObjIndexed(handler => compose_1.compose(Array.isArray(handler) ? handler : [handler]), options);
12
+ const handlers = (0, ramda_1.mapObjIndexed)(handler => (0, compose_1.compose)(Array.isArray(handler) ? handler : [handler]), options);
12
13
  const inner = async function forMethod(ctx, next) {
13
14
  const verb = ctx.method.toUpperCase();
14
15
  const handler = handlers[verb] || handlers.DEFAULT || methodNotAllowed;
@@ -1,5 +1,5 @@
1
1
  import { ServiceContext } from './typings';
2
- export declare type StatusTrack = () => EnvMetric[];
2
+ export type StatusTrack = () => EnvMetric[];
3
3
  export interface NamedMetric {
4
4
  name: string;
5
5
  [key: string]: any;
@@ -9,6 +9,6 @@ export interface EnvMetric extends NamedMetric {
9
9
  }
10
10
  export declare const isStatusTrack: (message: any) => message is "statusTrack";
11
11
  export declare const isStatusTrackBroadcast: (message: any) => message is "broadcastStatusTrack";
12
- export declare const statusTrackHandler: (ctx: ServiceContext<import("../../..").IOClients, import("./typings").RecorderState, import("./typings").ParamsContext>) => Promise<void>;
12
+ export declare const statusTrackHandler: (ctx: ServiceContext) => Promise<void>;
13
13
  export declare const trackStatus: () => void;
14
14
  export declare const broadcastStatusTrack: () => void;
@@ -3,13 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.broadcastStatusTrack = exports.trackStatus = exports.statusTrackHandler = exports.isStatusTrackBroadcast = exports.isStatusTrack = void 0;
6
7
  const cluster_1 = __importDefault(require("cluster"));
7
8
  const constants_1 = require("../../../constants");
8
9
  const BROADCAST_STATUS_TRACK = 'broadcastStatusTrack';
9
10
  const STATUS_TRACK = 'statusTrack';
10
- exports.isStatusTrack = (message) => message === STATUS_TRACK;
11
- exports.isStatusTrackBroadcast = (message) => message === BROADCAST_STATUS_TRACK;
12
- exports.statusTrackHandler = async (ctx) => {
11
+ const isStatusTrack = (message) => message === STATUS_TRACK;
12
+ exports.isStatusTrack = isStatusTrack;
13
+ const isStatusTrackBroadcast = (message) => message === BROADCAST_STATUS_TRACK;
14
+ exports.isStatusTrackBroadcast = isStatusTrackBroadcast;
15
+ const statusTrackHandler = async (ctx) => {
13
16
  var _a, _b, _c;
14
17
  (_b = (_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.currentSpan) === null || _b === void 0 ? void 0 : _b.setOperationName('builtin:status-track');
15
18
  if (!constants_1.LINKED) {
@@ -18,12 +21,15 @@ exports.statusTrackHandler = async (ctx) => {
18
21
  ctx.body = [];
19
22
  return;
20
23
  };
21
- exports.trackStatus = () => {
24
+ exports.statusTrackHandler = statusTrackHandler;
25
+ const trackStatus = () => {
22
26
  global.metrics.statusTrack().forEach(status => {
23
27
  logStatus(status);
24
28
  });
25
29
  };
26
- exports.broadcastStatusTrack = () => Object.values(cluster_1.default.workers).forEach(worker => worker === null || worker === void 0 ? void 0 : worker.send(STATUS_TRACK));
30
+ exports.trackStatus = trackStatus;
31
+ const broadcastStatusTrack = () => Object.values(cluster_1.default.workers).forEach(worker => worker === null || worker === void 0 ? void 0 : worker.send(STATUS_TRACK));
32
+ exports.broadcastStatusTrack = broadcastStatusTrack;
27
33
  const logStatus = (status) => console.log(JSON.stringify({
28
34
  __VTEX_IO_LOG: true,
29
35
  account: constants_1.ACCOUNT,
@@ -17,8 +17,8 @@ import { Logger } from '../../logger';
17
17
  import { MetricsLogger } from '../../logger/metricsLogger';
18
18
  import { MessagesLoaderV2 } from './graphql/schema/messagesLoaderV2';
19
19
  import { Recorder } from './utils/recorder';
20
- declare type ServerTiming = Record<string, string>;
21
- export declare type Maybe<T> = T | null | undefined;
20
+ type ServerTiming = Record<string, string>;
21
+ export type Maybe<T> = T | null | undefined;
22
22
  export interface TracingContext {
23
23
  tracer: Tracer;
24
24
  currentSpan: Span | undefined;
@@ -44,7 +44,7 @@ export interface EventContext<T extends IOClients, StateT = any> {
44
44
  sender: string;
45
45
  subject: string;
46
46
  }
47
- declare type KnownKeys<T> = {
47
+ type KnownKeys<T> = {
48
48
  [K in keyof T]: string extends K ? never : number extends K ? never : K;
49
49
  } extends {
50
50
  [_ in keyof T]: infer U;
@@ -54,13 +54,13 @@ interface Loaders {
54
54
  messagesV2?: MessagesLoaderV2;
55
55
  immutableMessagesV2?: MessagesLoaderV2;
56
56
  }
57
- export declare type ServiceContext<ClientsT extends IOClients = IOClients, StateT extends RecorderState = RecorderState, CustomT extends ParamsContext = ParamsContext> = Pick<ParameterizedContext<StateT, Context<ClientsT>>, KnownKeys<ParameterizedContext<StateT, Context<ClientsT>>>> & CustomT & {
57
+ export type ServiceContext<ClientsT extends IOClients = IOClients, StateT extends RecorderState = RecorderState, CustomT extends ParamsContext = ParamsContext> = Pick<ParameterizedContext<StateT, Context<ClientsT>>, KnownKeys<ParameterizedContext<StateT, Context<ClientsT>>>> & CustomT & {
58
58
  loaders?: Loaders;
59
59
  };
60
- export declare type RouteHandler<ClientsT extends IOClients = IOClients, StateT extends RecorderState = RecorderState, CustomT extends ParamsContext = ParamsContext> = Middleware<ServiceContext<ClientsT, StateT, CustomT>>;
61
- export declare type EventHandler<ClientsT extends IOClients = IOClients, StateT = void> = Middleware<EventContext<ClientsT, StateT>>;
62
- export declare type Resolver<ClientsT extends IOClients = IOClients, StateT extends RecorderState = RecorderState, CustomT extends ParamsContext = ParamsContext> = GraphQLFieldResolver<any, ServiceContext<ClientsT, StateT, CustomT>, any> | GraphQLFieldConfig<any, ServiceContext<ClientsT, StateT, CustomT>, any>;
63
- export declare type Handler = RouteHandler<IOClients, RecorderState, ParamsContext>;
60
+ export type RouteHandler<ClientsT extends IOClients = IOClients, StateT extends RecorderState = RecorderState, CustomT extends ParamsContext = ParamsContext> = Middleware<ServiceContext<ClientsT, StateT, CustomT>>;
61
+ export type EventHandler<ClientsT extends IOClients = IOClients, StateT = void> = Middleware<EventContext<ClientsT, StateT>>;
62
+ export type Resolver<ClientsT extends IOClients = IOClients, StateT extends RecorderState = RecorderState, CustomT extends ParamsContext = ParamsContext> = GraphQLFieldResolver<any, ServiceContext<ClientsT, StateT, CustomT>, any> | GraphQLFieldConfig<any, ServiceContext<ClientsT, StateT, CustomT>, any>;
63
+ export type Handler = RouteHandler<IOClients, RecorderState, ParamsContext>;
64
64
  export interface HttpRoute {
65
65
  handler: RouteHandler;
66
66
  path: string;
@@ -132,7 +132,7 @@ export interface EventBody {
132
132
  subject: string;
133
133
  key: string;
134
134
  }
135
- export declare type RouteSettingsType = 'pure' | 'workspace' | 'userAndWorkspace';
135
+ export type RouteSettingsType = 'pure' | 'workspace' | 'userAndWorkspace';
136
136
  export interface ServiceRoute {
137
137
  path: string;
138
138
  public?: boolean;
@@ -169,5 +169,5 @@ export interface RawServiceJSON {
169
169
  export interface ServiceJSON extends RawServiceJSON {
170
170
  workers: number;
171
171
  }
172
- export declare type JanusEnv = string;
172
+ export type JanusEnv = string;
173
173
  export {};
@@ -1,5 +1,5 @@
1
1
  import koaCompose from 'koa-compose';
2
2
  import { IOClients } from '../../../../clients/IOClients';
3
- import { ParamsContext, RecorderState } from '../typings';
4
- export declare const compose: <ClientsT extends IOClients, StateT extends RecorderState, CustomT extends ParamsContext>(middlewares: koaCompose.Middleware<import("../typings").ServiceContext<ClientsT, StateT, CustomT>>[]) => koaCompose.ComposedMiddleware<import("../typings").ServiceContext<ClientsT, StateT, CustomT>>;
5
- export declare const composeForEvents: <ClientsT extends IOClients, StateT extends RecorderState>(middlewares: koaCompose.Middleware<import("../typings").EventContext<ClientsT, StateT>>[]) => koaCompose.ComposedMiddleware<import("../typings").EventContext<ClientsT, StateT>>;
3
+ import { EventHandler, ParamsContext, RecorderState, RouteHandler } from '../typings';
4
+ export declare const compose: <ClientsT extends IOClients, StateT extends RecorderState, CustomT extends ParamsContext>(middlewares: RouteHandler<ClientsT, StateT, CustomT>[]) => koaCompose.ComposedMiddleware<import("../typings").ServiceContext<ClientsT, StateT, CustomT>>;
5
+ export declare const composeForEvents: <ClientsT extends IOClients, StateT extends RecorderState>(middlewares: EventHandler<ClientsT, StateT>[]) => koaCompose.ComposedMiddleware<import("../typings").EventContext<ClientsT, StateT>>;
@@ -3,9 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.composeForEvents = exports.compose = void 0;
6
7
  const koa_compose_1 = __importDefault(require("koa-compose"));
7
8
  const ramda_1 = require("ramda");
8
9
  const cancel_1 = require("../../../../utils/cancel");
9
10
  const time_1 = require("../../../../utils/time");
10
- exports.compose = (middlewares) => koa_compose_1.default(middlewares.map(ramda_1.pipe(time_1.timer, cancel_1.cancel)));
11
- exports.composeForEvents = (middlewares) => koa_compose_1.default(middlewares.map(time_1.timerForEvents));
11
+ const compose = (middlewares) => (0, koa_compose_1.default)(middlewares.map((0, ramda_1.pipe)(time_1.timer, cancel_1.cancel)));
12
+ exports.compose = compose;
13
+ const composeForEvents = (middlewares) => (0, koa_compose_1.default)(middlewares.map(time_1.timerForEvents));
14
+ exports.composeForEvents = composeForEvents;
@@ -1,2 +1,5 @@
1
+ import { Context } from 'koa';
1
2
  import { IOContext, TracingContext } from '../typings';
2
- export declare const prepareHandlerCtx: (header: any, tracingContext?: TracingContext | undefined) => Pick<IOContext, "host" | "serverTiming" | "locale" | "account" | "workspace" | "region" | "logger" | "requestId" | "operationId" | "production" | "platform" | "authToken" | "adminUserAuthToken" | "storeUserAuthToken" | "product" | "recorder" | "userAgent" | "segmentToken" | "sessionToken" | "janusEnv" | "eventInfo" | "tenant" | "binding" | "cancellation" | "settings" | "tracer">;
3
+ type HandlerContext = Omit<IOContext, 'route'>;
4
+ export declare const prepareHandlerCtx: (header: Context['request']['header'], tracingContext?: TracingContext) => HandlerContext;
5
+ export {};
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.prepareHandlerCtx = void 0;
6
7
  const v4_1 = __importDefault(require("uuid/v4"));
7
8
  const constants_1 = require("../../../../constants");
8
9
  const UserLandTracer_1 = require("../../../../tracing/UserLandTracer");
@@ -12,15 +13,15 @@ const binding_1 = require("./../../../../utils/binding");
12
13
  const getPlatform = (account) => {
13
14
  return account.startsWith('gc-') ? 'gocommerce' : 'vtex';
14
15
  };
15
- exports.prepareHandlerCtx = (header, tracingContext) => {
16
+ const prepareHandlerCtx = (header, tracingContext) => {
16
17
  var _a;
17
18
  const partialContext = {
18
19
  account: header[constants_1.ACCOUNT_HEADER],
19
20
  authToken: header[constants_1.CREDENTIAL_HEADER],
20
- binding: header[constants_1.BINDING_HEADER] ? binding_1.parseBindingHeaderValue(header[constants_1.BINDING_HEADER]) : undefined,
21
+ binding: header[constants_1.BINDING_HEADER] ? (0, binding_1.parseBindingHeaderValue)(header[constants_1.BINDING_HEADER]) : undefined,
21
22
  host: header[constants_1.FORWARDED_HOST_HEADER],
22
23
  locale: header[constants_1.LOCALE_HEADER],
23
- operationId: header[constants_1.OPERATION_ID_HEADER] || v4_1.default(),
24
+ operationId: header[constants_1.OPERATION_ID_HEADER] || (0, v4_1.default)(),
24
25
  platform: header[constants_1.PLATFORM_HEADER] || getPlatform(header[constants_1.ACCOUNT_HEADER]),
25
26
  product: header[constants_1.PRODUCT_HEADER],
26
27
  production: ((_a = header[constants_1.WORKSPACE_IS_PRODUCTION_HEADER]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'true' || false,
@@ -28,7 +29,7 @@ exports.prepareHandlerCtx = (header, tracingContext) => {
28
29
  requestId: header[constants_1.REQUEST_ID_HEADER],
29
30
  segmentToken: header[constants_1.SEGMENT_HEADER],
30
31
  sessionToken: header[constants_1.SESSION_HEADER],
31
- tenant: header[constants_1.TENANT_HEADER] ? tenant_1.parseTenantHeaderValue(header[constants_1.TENANT_HEADER]) : undefined,
32
+ tenant: header[constants_1.TENANT_HEADER] ? (0, tenant_1.parseTenantHeaderValue)(header[constants_1.TENANT_HEADER]) : undefined,
32
33
  tracer: new UserLandTracer_1.UserLandTracer(tracingContext === null || tracingContext === void 0 ? void 0 : tracingContext.tracer, tracingContext === null || tracingContext === void 0 ? void 0 : tracingContext.currentSpan),
33
34
  userAgent: process.env.VTEX_APP_ID || '',
34
35
  workspace: header[constants_1.WORKSPACE_HEADER],
@@ -38,3 +39,4 @@ exports.prepareHandlerCtx = (header, tracingContext) => {
38
39
  logger: new logger_1.Logger(partialContext),
39
40
  };
40
41
  };
42
+ exports.prepareHandlerCtx = prepareHandlerCtx;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.snapshotDiff = exports.cpuSnapshot = void 0;
3
4
  function cpuSnapshot() {
4
5
  return {
5
6
  time: microtime(),
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Recorder = void 0;
3
4
  const ramda_1 = require("ramda");
4
5
  const constants_1 = require("./../../../../constants");
5
6
  const HEADERS = [constants_1.META_HEADER, constants_1.META_HEADER_BUCKET];
@@ -26,7 +27,7 @@ class Recorder {
26
27
  const newValueSet = new Set(this._record[headerName]);
27
28
  const currentValue = ctx.response.get(headerName);
28
29
  const parsedCurrentValue = typeof currentValue === 'string' ? currentValue.split(',') : currentValue;
29
- parsedCurrentValue.forEach(cur => newValueSet.add(ramda_1.trim(cur)));
30
+ parsedCurrentValue.forEach(cur => newValueSet.add((0, ramda_1.trim)(cur)));
30
31
  const deduped = Array.from(newValueSet).filter(x => !!x);
31
32
  if (deduped.length > 0) {
32
33
  ctx.set(headerName, deduped);
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toArray = (x) => Array.isArray(x) ? x : [x];
3
+ exports.toArray = void 0;
4
+ const toArray = (x) => Array.isArray(x) ? x : [x];
5
+ exports.toArray = toArray;
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createTokenBucket = void 0;
6
7
  const tokenbucket_1 = __importDefault(require("tokenbucket"));
7
8
  function createTokenBucket(rateLimit, globalRateTokenBucket) {
8
9
  return rateLimit ? new tokenbucket_1.default({
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserlandTags = exports.OpentracingTags = void 0;
3
4
  const opentracing_1 = require("opentracing");
4
- exports.OpentracingTags = opentracing_1.Tags;
5
+ Object.defineProperty(exports, "OpentracingTags", { enumerable: true, get: function () { return opentracing_1.Tags; } });
5
6
  exports.UserlandTags = {
6
7
  ...opentracing_1.Tags,
7
8
  };
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserLandTracer = exports.createTracingContextFromCarrier = void 0;
3
4
  const opentracing_1 = require("opentracing");
4
5
  const TracerSingleton_1 = require("../service/tracing/TracerSingleton");
5
6
  const utils_1 = require("./utils");
6
- exports.createTracingContextFromCarrier = (newSpanName, carrier) => {
7
+ const createTracingContextFromCarrier = (newSpanName, carrier) => {
7
8
  const tracer = TracerSingleton_1.TracerSingleton.getTracer();
8
9
  const rootSpan = tracer.extract(opentracing_1.FORMAT_HTTP_HEADERS, carrier);
9
10
  if (rootSpan == null) {
@@ -14,12 +15,13 @@ exports.createTracingContextFromCarrier = (newSpanName, carrier) => {
14
15
  userlandTracer.lockFallbackSpan();
15
16
  return { span, tracer: userlandTracer };
16
17
  };
18
+ exports.createTracingContextFromCarrier = createTracingContextFromCarrier;
17
19
  class UserLandTracer {
18
20
  constructor(tracer, fallbackSpan) {
19
21
  this.tracer = tracer;
20
22
  this.fallbackSpan = fallbackSpan;
21
23
  this.fallbackSpanLock = false;
22
- const { traceId, isSampled } = utils_1.getTraceInfo(fallbackSpan);
24
+ const { traceId, isSampled } = (0, utils_1.getTraceInfo)(fallbackSpan);
23
25
  this._traceId = traceId;
24
26
  this._isSampled = isSampled;
25
27
  }