@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
@@ -0,0 +1,34 @@
1
+ import { InstanceOptions, RequestTracingConfig } from '../../HttpClient';
2
+ import { IOContext } from '../../service/worker/runtime/typings';
3
+ import { InfraClient } from './InfraClient';
4
+ export declare class Router extends InfraClient {
5
+ constructor(ioContext: IOContext, opts?: InstanceOptions);
6
+ listAvailableIoVersions: (tracingConfig?: RequestTracingConfig | undefined) => Promise<AvaiableIO[]>;
7
+ getInstalledIoVersion: (tracingConfig?: RequestTracingConfig | undefined) => Promise<AvaiableIO>;
8
+ installIo: (version: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<void>;
9
+ listAvailableServices: (tracingConfig?: RequestTracingConfig | undefined) => Promise<AvailableServices>;
10
+ getAvailableVersions: (name: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<AvailableServiceVersions>;
11
+ listInstalledServices: (tracingConfig?: RequestTracingConfig | undefined) => Promise<InstalledService[]>;
12
+ installService: (name: string, version: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<void>;
13
+ }
14
+ export interface AvaiableIO {
15
+ version: string;
16
+ tested: boolean;
17
+ services: {
18
+ [service: string]: string;
19
+ };
20
+ }
21
+ export declare type InstalledIO = AvaiableIO;
22
+ export interface AvailableServiceVersions {
23
+ versions: {
24
+ [region: string]: string[];
25
+ };
26
+ }
27
+ export interface AvailableServices {
28
+ [service: string]: AvailableServiceVersions;
29
+ }
30
+ export interface InstalledService {
31
+ name: string;
32
+ version: string;
33
+ serviceIsolation: number;
34
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Router = void 0;
4
+ const InfraClient_1 = require("./InfraClient");
5
+ const routes = {
6
+ AvailableIoVersions: '/_io',
7
+ AvailableServiceVersions: (service) => `${routes.AvailableServices}/${service}`,
8
+ AvailableServices: '/_services',
9
+ InstalledIoVersion: (account, workspace) => `/${account}/${workspace}/io`,
10
+ InstalledService: (account, workspace, name) => `/${routes.InstalledServices(account, workspace)}/services/${name}`,
11
+ InstalledServices: (account, workspace) => `/${account}/${workspace}/services`,
12
+ };
13
+ class Router extends InfraClient_1.InfraClient {
14
+ constructor(ioContext, opts) {
15
+ super('router', ioContext, opts, true);
16
+ this.listAvailableIoVersions = (tracingConfig) => {
17
+ return this.http.get(routes.AvailableIoVersions, { tracing: {
18
+ requestSpanNameSuffix: 'list-io-versions',
19
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
20
+ } });
21
+ };
22
+ this.getInstalledIoVersion = (tracingConfig) => {
23
+ if (!this.context.account || !this.context.workspace) {
24
+ throw new Error('Missing client parameters: {account, workspace}');
25
+ }
26
+ return this.http.get(routes.InstalledIoVersion(this.context.account, this.context.workspace), {
27
+ tracing: {
28
+ requestSpanNameSuffix: 'get-installed-io-version',
29
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
30
+ },
31
+ });
32
+ };
33
+ this.installIo = (version, tracingConfig) => {
34
+ if (!this.context.account || !this.context.workspace) {
35
+ throw new Error('Missing client parameters: {account, workspace}');
36
+ }
37
+ return this.http.put(routes.InstalledIoVersion(this.context.account, this.context.workspace), { version }, { tracing: {
38
+ requestSpanNameSuffix: 'install-io',
39
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
40
+ } });
41
+ };
42
+ this.listAvailableServices = (tracingConfig) => {
43
+ return this.http.get(routes.AvailableServices, {
44
+ tracing: {
45
+ requestSpanNameSuffix: 'list-available-services',
46
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
47
+ },
48
+ });
49
+ };
50
+ this.getAvailableVersions = (name, tracingConfig) => {
51
+ return this.http.get(routes.AvailableServiceVersions(name), {
52
+ tracing: {
53
+ requestSpanNameSuffix: 'get-versions',
54
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
55
+ },
56
+ });
57
+ };
58
+ this.listInstalledServices = (tracingConfig) => {
59
+ if (!this.context.account || !this.context.workspace) {
60
+ throw new Error('Missing client parameters: {account, workspace}');
61
+ }
62
+ return this.http.get(routes.InstalledServices(this.context.account, this.context.workspace), {
63
+ tracing: {
64
+ requestSpanNameSuffix: 'list-installed-services',
65
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
66
+ },
67
+ });
68
+ };
69
+ this.installService = (name, version, tracingConfig) => {
70
+ if (!this.context.account || !this.context.workspace) {
71
+ throw new Error('Missing client parameters: {account, workspace}');
72
+ }
73
+ return this.http.post(routes.InstalledServices(this.context.account, this.context.workspace), { name, version }, {
74
+ tracing: {
75
+ requestSpanNameSuffix: 'install-service',
76
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
77
+ },
78
+ });
79
+ };
80
+ }
81
+ }
82
+ exports.Router = Router;
@@ -0,0 +1,13 @@
1
+ import { InstanceOptions, RequestTracingConfig } from '../../HttpClient/typings';
2
+ import { IOContext } from '../../service/worker/runtime/typings';
3
+ import { InfraClient } from './InfraClient';
4
+ export declare class Sphinx extends InfraClient {
5
+ constructor(ioContext: IOContext, opts?: InstanceOptions);
6
+ validatePolicies: (policies: PolicyRequest[], tracingConfig?: RequestTracingConfig | undefined) => Promise<void>;
7
+ isAdmin: (email: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<boolean>;
8
+ }
9
+ export interface PolicyRequest {
10
+ name: string;
11
+ reason: string;
12
+ attrs: Record<string, string>;
13
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Sphinx = void 0;
4
+ const InfraClient_1 = require("./InfraClient");
5
+ class Sphinx extends InfraClient_1.InfraClient {
6
+ constructor(ioContext, opts) {
7
+ super('sphinx@0.x', ioContext, opts, false);
8
+ this.validatePolicies = (policies, tracingConfig) => {
9
+ const metric = 'sphinx-validate-policy';
10
+ return this.http.post('/policies/validate', { policies }, {
11
+ metric,
12
+ tracing: {
13
+ requestSpanNameSuffix: metric,
14
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
15
+ },
16
+ });
17
+ };
18
+ this.isAdmin = (email, tracingConfig) => {
19
+ const metric = 'sphinx-is-admin';
20
+ return this.http.get(`/user/${email}/isAdmin`, {
21
+ metric,
22
+ tracing: {
23
+ requestSpanNameSuffix: metric,
24
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
25
+ },
26
+ });
27
+ };
28
+ }
29
+ }
30
+ exports.Sphinx = Sphinx;
@@ -0,0 +1,60 @@
1
+ /// <reference types="node" />
2
+ import { IncomingMessage } from 'http';
3
+ import { Readable } from 'stream';
4
+ import { Logger } from './../../service/logger/logger';
5
+ import { InstanceOptions, IOResponse, RequestTracingConfig } from '../../HttpClient';
6
+ import { BucketMetadata, FileListItem, VBaseSaveResponse } from '../../responses';
7
+ import { IOContext } from '../../service/worker/runtime/typings';
8
+ import { InfraClient } from './InfraClient';
9
+ export declare class VBase extends InfraClient {
10
+ constructor(context: IOContext, options?: InstanceOptions);
11
+ getBucket: (bucket: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<BucketMetadata>;
12
+ resetBucket: (bucket: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<IOResponse<void>>;
13
+ listFiles: (bucket: string, opts?: string | VBaseOptions | undefined, tracingConfig?: RequestTracingConfig | undefined) => Promise<BucketFileList>;
14
+ getFile: (bucket: string, path: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<{
15
+ data: Buffer;
16
+ headers: any;
17
+ }>;
18
+ getJSON: <T>(bucket: string, path: string, nullIfNotFound?: boolean | undefined, conflictsResolver?: ConflictsResolver<T> | undefined, tracingConfig?: RequestTracingConfig | undefined) => Promise<T>;
19
+ getRawJSON: <T>(bucket: string, path: string, nullIfNotFound?: boolean | undefined, conflictsResolver?: ConflictsResolver<T> | undefined, tracingConfig?: RequestTracingConfig | undefined) => Promise<IOResponse<T>>;
20
+ getFileStream: (bucket: string, path: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<IncomingMessage>;
21
+ saveFile: (bucket: string, path: string, stream: Readable, gzip?: boolean, ttl?: number | undefined, tracingConfig?: RequestTracingConfig | undefined, ifMatch?: string | undefined) => Promise<void>;
22
+ getFileMetadata: (bucket: string, path: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<IOResponse<void>>;
23
+ saveJSON: <T>(bucket: string, path: string, data: T, tracingConfig?: RequestTracingConfig | undefined, ifMatch?: string | undefined) => Promise<VBaseSaveResponse>;
24
+ saveZippedContent: (bucket: string, path: string, stream: Readable, tracingConfig?: RequestTracingConfig | undefined, ifMatch?: string | undefined) => Promise<void>;
25
+ deleteFile: (bucket: string, path: string, tracingConfig?: RequestTracingConfig | undefined, ifMatch?: string | undefined) => Promise<IOResponse<void>>;
26
+ getConflicts: <T>(bucket: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<T>;
27
+ resolveConflict: <T>(bucket: string, path: string, content: any, tracingConfig?: RequestTracingConfig | undefined) => Promise<T>;
28
+ private saveContent;
29
+ }
30
+ export interface BucketFileList {
31
+ data: FileListItem[];
32
+ next: string;
33
+ smartCacheHeaders: any;
34
+ }
35
+ export interface VBaseOptions {
36
+ prefix?: string;
37
+ next?: string;
38
+ limit?: number;
39
+ }
40
+ export interface VBaseSaveOptions {
41
+ gzip?: boolean;
42
+ unzip?: boolean;
43
+ ttl?: number;
44
+ }
45
+ export interface VBaseConflictData {
46
+ path: string;
47
+ base: VBaseConflict;
48
+ master: VBaseConflict;
49
+ mine: VBaseConflict;
50
+ }
51
+ export interface VBaseConflict {
52
+ contentOmitted: boolean;
53
+ deleted: boolean;
54
+ mimeType: string;
55
+ parsedContent?: any;
56
+ content: string;
57
+ }
58
+ export interface ConflictsResolver<T> {
59
+ resolve: (logger?: Logger) => T | Promise<T>;
60
+ }
@@ -0,0 +1,197 @@
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.VBase = void 0;
7
+ const mime_types_1 = __importDefault(require("mime-types"));
8
+ const path_1 = require("path");
9
+ const zlib_1 = require("zlib");
10
+ const HttpClient_1 = require("../../HttpClient");
11
+ const InfraClient_1 = require("./InfraClient");
12
+ const appId = process.env.VTEX_APP_ID;
13
+ const [runningAppName] = appId ? appId.split('@') : [''];
14
+ const routes = {
15
+ Bucket: (bucket) => `/buckets/${runningAppName}/${bucket}`,
16
+ Conflicts: (bucket) => `/buckets/${runningAppName}/${bucket}/conflicts`,
17
+ File: (bucket, path) => `${routes.Bucket(bucket)}/files/${path}`,
18
+ Files: (bucket) => `${routes.Bucket(bucket)}/files`,
19
+ };
20
+ const isVBaseOptions = (opts) => {
21
+ return typeof opts !== 'string' && !(opts instanceof String);
22
+ };
23
+ class VBase extends InfraClient_1.InfraClient {
24
+ constructor(context, options) {
25
+ super('vbase@2.x', context, options);
26
+ this.getBucket = (bucket, tracingConfig) => {
27
+ const inflightKey = HttpClient_1.inflightURL;
28
+ const metric = 'vbase-get-bucket';
29
+ return this.http.get(routes.Bucket(bucket), { inflightKey, metric, tracing: {
30
+ requestSpanNameSuffix: metric,
31
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
32
+ } });
33
+ };
34
+ this.resetBucket = (bucket, tracingConfig) => {
35
+ const metric = 'vbase-reset-bucket';
36
+ return this.http.delete(routes.Files(bucket), { metric, tracing: {
37
+ requestSpanNameSuffix: metric,
38
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
39
+ } });
40
+ };
41
+ this.listFiles = (bucket, opts, tracingConfig) => {
42
+ let params = {};
43
+ if (isVBaseOptions(opts)) {
44
+ params = opts;
45
+ }
46
+ else if (opts) {
47
+ params = { prefix: opts };
48
+ }
49
+ const metric = 'vbase-list';
50
+ const inflightKey = HttpClient_1.inflightUrlWithQuery;
51
+ return this.http.get(routes.Files(bucket), { inflightKey, metric, params, tracing: {
52
+ requestSpanNameSuffix: metric,
53
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
54
+ } });
55
+ };
56
+ this.getFile = (bucket, path, tracingConfig) => {
57
+ const inflightKey = HttpClient_1.inflightURL;
58
+ const metric = 'vbase-get-file';
59
+ return this.http.getBuffer(routes.File(bucket, path), { inflightKey, metric, tracing: {
60
+ requestSpanNameSuffix: metric,
61
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
62
+ } });
63
+ };
64
+ this.getJSON = (bucket, path, nullIfNotFound, conflictsResolver, tracingConfig) => {
65
+ return this.getRawJSON(bucket, path, nullIfNotFound, conflictsResolver, tracingConfig)
66
+ .then(response => response.data);
67
+ };
68
+ this.getRawJSON = (bucket, path, nullIfNotFound, conflictsResolver, tracingConfig) => {
69
+ const headers = conflictsResolver ? { 'X-Vtex-Detect-Conflicts': true } : {};
70
+ const inflightKey = HttpClient_1.inflightURL;
71
+ const metric = 'vbase-get-json';
72
+ return this.http
73
+ .getRaw(routes.File(bucket, path), {
74
+ headers,
75
+ inflightKey,
76
+ metric,
77
+ nullIfNotFound,
78
+ tracing: {
79
+ requestSpanNameSuffix: metric,
80
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
81
+ },
82
+ })
83
+ .catch(async (error) => {
84
+ const { response } = error;
85
+ if (response && response.status === 409 && conflictsResolver) {
86
+ try {
87
+ const conflictsMergedData = await conflictsResolver.resolve(this.context.logger);
88
+ return { ...response, data: conflictsMergedData };
89
+ }
90
+ catch (resolverError) {
91
+ const typedResolverError = resolverError;
92
+ if ((typedResolverError === null || typedResolverError === void 0 ? void 0 : typedResolverError.status) === 404) {
93
+ return this.http.getRaw(routes.File(bucket, path), {
94
+ 'X-Vtex-Detect-Conflicts': false,
95
+ inflightKey,
96
+ metric,
97
+ nullIfNotFound,
98
+ tracing: {
99
+ requestSpanNameSuffix: metric,
100
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
101
+ },
102
+ });
103
+ }
104
+ throw resolverError;
105
+ }
106
+ }
107
+ throw error;
108
+ });
109
+ };
110
+ this.getFileStream = (bucket, path, tracingConfig) => {
111
+ const metric = 'vbase-get-file-s';
112
+ return this.http.getStream(routes.File(bucket, path), { metric, tracing: {
113
+ requestSpanNameSuffix: metric,
114
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
115
+ } });
116
+ };
117
+ this.saveFile = (bucket, path, stream, gzip = true, ttl, tracingConfig, ifMatch) => {
118
+ return this.saveContent(bucket, path, stream, { gzip, ttl }, tracingConfig, ifMatch);
119
+ };
120
+ this.getFileMetadata = (bucket, path, tracingConfig) => {
121
+ const metric = 'vbase-get-file-metadata';
122
+ return this.http.head(routes.File(bucket, path), { metric, tracing: {
123
+ requestSpanNameSuffix: metric,
124
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
125
+ } });
126
+ };
127
+ this.saveJSON = (bucket, path, data, tracingConfig, ifMatch) => {
128
+ const headers = { 'Content-Type': 'application/json' };
129
+ if (ifMatch) {
130
+ headers['If-Match'] = ifMatch;
131
+ }
132
+ const metric = 'vbase-save-json';
133
+ return this.http.put(routes.File(bucket, path), data, { headers, metric, tracing: {
134
+ requestSpanNameSuffix: metric,
135
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
136
+ } });
137
+ };
138
+ this.saveZippedContent = (bucket, path, stream, tracingConfig, ifMatch) => {
139
+ return this.saveContent(bucket, path, stream, { unzip: true }, tracingConfig, ifMatch);
140
+ };
141
+ this.deleteFile = (bucket, path, tracingConfig, ifMatch) => {
142
+ const headers = ifMatch ? { 'If-Match': ifMatch } : {};
143
+ const metric = 'vbase-delete-file';
144
+ return this.http.delete(routes.File(bucket, path), { headers, metric, tracing: {
145
+ requestSpanNameSuffix: metric,
146
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
147
+ } });
148
+ };
149
+ this.getConflicts = (bucket, tracingConfig) => {
150
+ const metric = 'vbase-get-conflicts';
151
+ return this.http.get(routes.Conflicts(bucket), { metric, tracing: {
152
+ requestSpanNameSuffix: metric,
153
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
154
+ } });
155
+ };
156
+ this.resolveConflict = (bucket, path, content, tracingConfig) => {
157
+ const data = [{
158
+ op: 'replace',
159
+ path,
160
+ value: content,
161
+ }];
162
+ const metric = 'vbase-resolve-conflicts';
163
+ return this.http.patch(routes.Conflicts(bucket), data, { metric, tracing: {
164
+ requestSpanNameSuffix: metric,
165
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
166
+ } });
167
+ };
168
+ this.saveContent = (bucket, path, stream, opts = {}, tracingConfig, ifMatch) => {
169
+ if (!stream.pipe || !stream.on) {
170
+ throw new Error(`Argument stream must be a readable stream`);
171
+ }
172
+ const params = opts.unzip ? { unzip: opts.unzip } : {};
173
+ const headers = {};
174
+ let finalStream = stream;
175
+ headers['Content-Type'] = mime_types_1.default.contentType(path_1.basename(path)) || 'application/octet-stream';
176
+ if (opts.gzip) {
177
+ headers['Content-Encoding'] = 'gzip';
178
+ finalStream = stream.pipe(zlib_1.createGzip());
179
+ }
180
+ if (opts.ttl && Number.isInteger(opts.ttl)) {
181
+ headers['X-VTEX-TTL'] = opts.ttl;
182
+ }
183
+ if (ifMatch) {
184
+ headers['If-Match'] = ifMatch;
185
+ }
186
+ const metric = 'vbase-save-blob';
187
+ return this.http.put(routes.File(bucket, path), finalStream, { headers, metric, params, tracing: {
188
+ requestSpanNameSuffix: metric,
189
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
190
+ } });
191
+ };
192
+ if (runningAppName === '') {
193
+ throw new Error(`Invalid path to access VBase. Variable VTEX_APP_ID is not available.`);
194
+ }
195
+ }
196
+ }
197
+ exports.VBase = VBase;
@@ -0,0 +1,18 @@
1
+ import { InstanceOptions, RequestTracingConfig } from '../../HttpClient';
2
+ import { IOContext } from '../../service/worker/runtime/typings';
3
+ import { InfraClient } from './InfraClient';
4
+ export declare class Workspaces extends InfraClient {
5
+ constructor(context: IOContext, options?: InstanceOptions);
6
+ list: (account: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<WorkspaceMetadata[]>;
7
+ get: (account: string, workspace: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<WorkspaceMetadata>;
8
+ set: (account: string, workspace: string, metadata: Partial<WorkspaceMetadata>, tracingConfig?: RequestTracingConfig | undefined) => Promise<void>;
9
+ create: (account: string, workspace: string, production: boolean, tracingConfig?: RequestTracingConfig | undefined) => Promise<void>;
10
+ delete: (account: string, workspace: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<import("../../HttpClient").IOResponse<void>>;
11
+ reset: (account: string, workspace: string, metadata?: Partial<WorkspaceMetadata>, tracingConfig?: RequestTracingConfig | undefined) => Promise<void>;
12
+ promote: (account: string, workspace: string, tracingConfig?: RequestTracingConfig | undefined) => Promise<void>;
13
+ }
14
+ export interface WorkspaceMetadata {
15
+ name: string;
16
+ weight: number;
17
+ production: boolean;
18
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Workspaces = void 0;
4
+ const constants_1 = require("../../constants");
5
+ const InfraClient_1 = require("./InfraClient");
6
+ const routes = {
7
+ Account: (account) => `/${account}`,
8
+ Promote: (account) => `${routes.Workspace(account, constants_1.DEFAULT_WORKSPACE)}/_promote`,
9
+ Workspace: (account, workspace) => `${routes.Account(account)}/${workspace}`,
10
+ };
11
+ class Workspaces extends InfraClient_1.InfraClient {
12
+ constructor(context, options) {
13
+ super('router', context, options, true);
14
+ this.list = (account, tracingConfig) => {
15
+ const metric = 'workspaces-list';
16
+ return this.http.get(routes.Account(account), { metric, tracing: {
17
+ requestSpanNameSuffix: metric,
18
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
19
+ } });
20
+ };
21
+ this.get = (account, workspace, tracingConfig) => {
22
+ const metric = 'workspaces-get';
23
+ return this.http.get(routes.Workspace(account, workspace), { metric, tracing: {
24
+ requestSpanNameSuffix: metric,
25
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
26
+ } });
27
+ };
28
+ this.set = (account, workspace, metadata, tracingConfig) => {
29
+ const metric = 'workspaces-set';
30
+ return this.http.put(routes.Workspace(account, workspace), metadata, { metric, tracing: {
31
+ requestSpanNameSuffix: metric,
32
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
33
+ } });
34
+ };
35
+ this.create = (account, workspace, production, tracingConfig) => {
36
+ const metric = 'workspaces-create';
37
+ return this.http.post(routes.Account(account), { name: workspace, production }, { metric, tracing: {
38
+ requestSpanNameSuffix: metric,
39
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
40
+ } });
41
+ };
42
+ this.delete = (account, workspace, tracingConfig) => {
43
+ const metric = 'workspaces-delete';
44
+ return this.http.delete(routes.Workspace(account, workspace), { metric, tracing: {
45
+ requestSpanNameSuffix: metric,
46
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
47
+ } });
48
+ };
49
+ this.reset = (account, workspace, metadata = {}, tracingConfig) => {
50
+ const params = { reset: true };
51
+ const metric = 'workspaces-reset';
52
+ return this.http.put(routes.Workspace(account, workspace), metadata, { metric, params, tracing: {
53
+ requestSpanNameSuffix: metric,
54
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
55
+ } });
56
+ };
57
+ this.promote = (account, workspace, tracingConfig) => {
58
+ const metric = 'workspaces-promote';
59
+ return this.http.put(routes.Promote(account), { workspace }, { metric, tracing: {
60
+ requestSpanNameSuffix: metric,
61
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
62
+ } });
63
+ };
64
+ }
65
+ }
66
+ exports.Workspaces = Workspaces;
@@ -0,0 +1,11 @@
1
+ export * from './Apps';
2
+ export * from './Assets';
3
+ export * from './BillingMetrics';
4
+ export * from './Events';
5
+ export * from './Housekeeper';
6
+ export * from './InfraClient';
7
+ export * from './Registry';
8
+ export * from './Router';
9
+ export * from './VBase';
10
+ export * from './Workspaces';
11
+ export * from './Sphinx';
@@ -0,0 +1,23 @@
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
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./Apps"), exports);
14
+ __exportStar(require("./Assets"), exports);
15
+ __exportStar(require("./BillingMetrics"), exports);
16
+ __exportStar(require("./Events"), exports);
17
+ __exportStar(require("./Housekeeper"), exports);
18
+ __exportStar(require("./InfraClient"), exports);
19
+ __exportStar(require("./Registry"), exports);
20
+ __exportStar(require("./Router"), exports);
21
+ __exportStar(require("./VBase"), exports);
22
+ __exportStar(require("./Workspaces"), exports);
23
+ __exportStar(require("./Sphinx"), exports);
@@ -1,6 +1,6 @@
1
- import { IOContext } from '../service/typings';
2
- import { ExternalClient } from './ExternalClient';
3
- import { InstanceOptions } from './typings';
1
+ import { InstanceOptions } from '../../HttpClient/typings';
2
+ import { IOContext } from '../../service/worker/runtime/typings';
3
+ import { ExternalClient } from '../external/ExternalClient';
4
4
  declare type Environment = 'stable' | 'beta';
5
5
  /**
6
6
  * Used to perform calls on APIs in the VTEX Janus infrastructure, to which you must declare an outbound policy.
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const ExternalClient_1 = require("./ExternalClient");
3
+ exports.JanusClient = void 0;
4
+ const ExternalClient_1 = require("../external/ExternalClient");
4
5
  /**
5
6
  * Used to perform calls on APIs in the VTEX Janus infrastructure, to which you must declare an outbound policy.
6
7
  *
@@ -18,9 +19,13 @@ class JanusClient extends ExternalClient_1.ExternalClient {
18
19
  constructor(context, options, environment) {
19
20
  const { account } = context;
20
21
  const env = context.janusEnv === 'beta' || environment === 'beta' ? 'beta' : 'stable';
21
- super(`http://portal.vtexcommerce${env}.com.br`, context, Object.assign({}, options, { params: {
22
+ super(`http://portal.vtexcommerce${env}.com.br`, context, {
23
+ ...options,
24
+ params: {
22
25
  an: account,
23
- } }));
26
+ ...options === null || options === void 0 ? void 0 : options.params,
27
+ },
28
+ });
24
29
  }
25
30
  }
26
31
  exports.JanusClient = JanusClient;
@@ -0,0 +1,7 @@
1
+ import { RequestTracingConfig } from '../../HttpClient';
2
+ import { JanusClient } from './JanusClient';
3
+ export declare class LicenseManager extends JanusClient {
4
+ getAccountData(VtexIdclientAutCookie: string, tracingConfig?: RequestTracingConfig): Promise<any>;
5
+ getTopbarData(VtexIdclientAutCookie: string, tracingConfig?: RequestTracingConfig): Promise<any>;
6
+ canAccessResource(VtexIdclientAutCookie: string, resourceKey: string, tracingConfig?: RequestTracingConfig): Promise<boolean>;
7
+ }
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LicenseManager = void 0;
3
4
  const qs_1 = require("qs");
4
- const HttpClient_1 = require("../HttpClient");
5
+ const JanusClient_1 = require("./JanusClient");
5
6
  const TWO_MINUTES_S = 2 * 60;
6
7
  const BASE_URL = '/api/license-manager';
7
8
  const routes = {
@@ -12,31 +13,46 @@ const routes = {
12
13
  const inflightKey = ({ baseURL, url, params }) => {
13
14
  return baseURL + url + qs_1.stringify(params, { arrayFormat: 'repeat', addQueryPrefix: true });
14
15
  };
15
- class LicenseManager extends HttpClient_1.JanusClient {
16
- getAccountData(VtexIdclientAutCookie) {
16
+ class LicenseManager extends JanusClient_1.JanusClient {
17
+ getAccountData(VtexIdclientAutCookie, tracingConfig) {
18
+ const metric = 'lm-account-data';
17
19
  return this.http.get(routes.accountData, {
18
20
  forceMaxAge: TWO_MINUTES_S,
19
21
  headers: {
20
22
  VtexIdclientAutCookie,
21
23
  },
22
24
  inflightKey,
23
- metric: 'lm-account-data',
25
+ metric,
26
+ tracing: {
27
+ requestSpanNameSuffix: metric,
28
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
29
+ },
24
30
  });
25
31
  }
26
- getTopbarData(VtexIdclientAutCookie) {
32
+ getTopbarData(VtexIdclientAutCookie, tracingConfig) {
33
+ const metric = 'lm-topbar-data';
27
34
  return this.http.get(routes.topbarData, {
28
35
  headers: {
29
36
  VtexIdclientAutCookie,
30
37
  },
31
- metric: 'lm-topbar-data',
38
+ metric,
39
+ tracing: {
40
+ requestSpanNameSuffix: metric,
41
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
42
+ },
32
43
  });
33
44
  }
34
- canAccessResource(VtexIdclientAutCookie, resourceKey) {
45
+ canAccessResource(VtexIdclientAutCookie, resourceKey, tracingConfig) {
46
+ const metric = 'lm-resource-access';
35
47
  return this.http.get(`${routes.resourceAccess}/${resourceKey}/access`, {
36
48
  headers: {
37
49
  VtexIdclientAutCookie,
38
50
  },
39
- metric: 'lm-resource-access',
51
+ metric,
52
+ tracing: {
53
+ requestSpanNameSuffix: metric,
54
+ ...tracingConfig === null || tracingConfig === void 0 ? void 0 : tracingConfig.tracing,
55
+ },
40
56
  }).then(() => true, () => false);
41
57
  }
42
58
  }