@snap/camera-kit 0.16.2 → 0.18.0

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 (1220) hide show
  1. package/LICENSE.md +141 -3875
  2. package/README.md +1 -1
  3. package/dist/CameraKit.d.ts +334 -0
  4. package/dist/CameraKit.d.ts.map +1 -0
  5. package/dist/CameraKit.js +104 -0
  6. package/dist/CameraKit.js.map +1 -0
  7. package/dist/benchmark/benchmarkGflops.d.ts +17 -0
  8. package/dist/benchmark/benchmarkGflops.d.ts.map +1 -0
  9. package/dist/benchmark/benchmarkGflops.js +116 -0
  10. package/dist/benchmark/benchmarkGflops.js.map +1 -0
  11. package/dist/benchmark/estimateLensPerformanceCluster.d.ts +34 -0
  12. package/dist/benchmark/estimateLensPerformanceCluster.d.ts.map +1 -0
  13. package/dist/benchmark/estimateLensPerformanceCluster.js +34 -0
  14. package/dist/benchmark/estimateLensPerformanceCluster.js.map +1 -0
  15. package/dist/benchmark/webglUtils.d.ts +8 -0
  16. package/dist/benchmark/webglUtils.d.ts.map +1 -0
  17. package/dist/bootstrapCameraKit.d.ts +97 -0
  18. package/dist/bootstrapCameraKit.d.ts.map +1 -0
  19. package/dist/bootstrapCameraKit.js +117 -0
  20. package/dist/bootstrapCameraKit.js.map +1 -0
  21. package/dist/clients/createTsProtoClient.d.ts +41 -0
  22. package/dist/clients/createTsProtoClient.d.ts.map +1 -0
  23. package/dist/clients/createTsProtoClient.js +36 -0
  24. package/dist/clients/createTsProtoClient.js.map +1 -0
  25. package/dist/clients/grpcHandler.d.ts +27 -0
  26. package/dist/clients/grpcHandler.d.ts.map +1 -0
  27. package/dist/clients/grpcHandler.js +79 -0
  28. package/dist/clients/grpcHandler.js.map +1 -0
  29. package/dist/clients/lensesClient.d.ts +10 -0
  30. package/dist/clients/lensesClient.d.ts.map +1 -0
  31. package/dist/clients/lensesClient.js.map +1 -0
  32. package/dist/clients/metricsClient.d.ts +27 -0
  33. package/dist/clients/metricsClient.d.ts.map +1 -0
  34. package/dist/clients/metricsClient.js +96 -0
  35. package/dist/clients/metricsClient.js.map +1 -0
  36. package/dist/common/assertions.d.ts +28 -0
  37. package/dist/common/assertions.d.ts.map +1 -0
  38. package/dist/common/assertions.js +14 -0
  39. package/dist/common/assertions.js.map +1 -0
  40. package/dist/common/copyDefinedProperties.d.ts +14 -0
  41. package/dist/common/copyDefinedProperties.d.ts.map +1 -0
  42. package/dist/common/copyDefinedProperties.js +4 -0
  43. package/dist/common/copyDefinedProperties.js.map +1 -0
  44. package/dist/common/date.d.ts +4 -0
  45. package/dist/common/date.d.ts.map +1 -0
  46. package/dist/common/dialog.d.ts +60 -0
  47. package/dist/common/dialog.d.ts.map +1 -0
  48. package/dist/common/dialog.js +158 -0
  49. package/dist/common/dialog.js.map +1 -0
  50. package/dist/common/entries.d.ts +5 -0
  51. package/dist/common/entries.d.ts.map +1 -0
  52. package/dist/common/entries.js +3 -0
  53. package/dist/common/entries.js.map +1 -0
  54. package/dist/common/errorHelpers.d.ts +18 -0
  55. package/dist/common/errorHelpers.d.ts.map +1 -0
  56. package/dist/common/errorHelpers.js +20 -0
  57. package/dist/common/errorHelpers.js.map +1 -0
  58. package/dist/common/getFilename.d.ts +2 -0
  59. package/dist/common/getFilename.d.ts.map +1 -0
  60. package/dist/common/hash.d.ts +6 -0
  61. package/dist/common/hash.d.ts.map +1 -0
  62. package/dist/common/hash.js +13 -0
  63. package/dist/common/hash.js.map +1 -0
  64. package/dist/common/loadScript.d.ts +7 -0
  65. package/dist/common/loadScript.d.ts.map +1 -0
  66. package/dist/common/loadScript.js +13 -0
  67. package/dist/common/loadScript.js.map +1 -0
  68. package/dist/common/localization.d.ts +55 -0
  69. package/dist/common/localization.d.ts.map +1 -0
  70. package/dist/common/localization.js +622 -0
  71. package/dist/common/localization.js.map +1 -0
  72. package/dist/common/memoize.d.ts +9 -0
  73. package/dist/common/memoize.d.ts.map +1 -0
  74. package/dist/common/pageVisibility.d.ts +35 -0
  75. package/dist/common/pageVisibility.d.ts.map +1 -0
  76. package/dist/common/pageVisibility.js +52 -0
  77. package/dist/common/pageVisibility.js.map +1 -0
  78. package/dist/common/result.d.ts +37 -0
  79. package/dist/common/result.d.ts.map +1 -0
  80. package/dist/common/result.js +39 -0
  81. package/dist/common/result.js.map +1 -0
  82. package/dist/common/time.d.ts +3 -0
  83. package/dist/common/time.d.ts.map +1 -0
  84. package/dist/common/typeguards.d.ts +68 -0
  85. package/dist/common/typeguards.d.ts.map +1 -0
  86. package/dist/common/typeguards.js +68 -0
  87. package/dist/common/typeguards.js.map +1 -0
  88. package/dist/common/types.d.ts +38 -0
  89. package/dist/common/types.d.ts.map +1 -0
  90. package/dist/common/types.js.map +1 -0
  91. package/dist/common/unionBy.d.ts +29 -0
  92. package/dist/common/unionBy.d.ts.map +1 -0
  93. package/dist/common/unionBy.js +16 -0
  94. package/dist/common/unionBy.js.map +1 -0
  95. package/dist/common/validate.d.ts +16 -0
  96. package/dist/common/validate.d.ts.map +1 -0
  97. package/dist/common/validate.js +57 -0
  98. package/dist/common/validate.js.map +1 -0
  99. package/dist/configuration.d.ts +102 -0
  100. package/dist/configuration.d.ts.map +1 -0
  101. package/dist/configuration.js +30 -0
  102. package/dist/configuration.js.map +1 -0
  103. package/dist/configurationOverrides.d.ts +13 -0
  104. package/dist/configurationOverrides.d.ts.map +1 -0
  105. package/dist/configurationOverrides.js +38 -0
  106. package/dist/configurationOverrides.js.map +1 -0
  107. package/dist/dependency-injection/Container.d.ts +177 -0
  108. package/dist/dependency-injection/Container.d.ts.map +1 -0
  109. package/dist/dependency-injection/Container.js +72 -0
  110. package/dist/dependency-injection/Container.js.map +1 -0
  111. package/dist/dependency-injection/Injectable.d.ts +96 -0
  112. package/dist/dependency-injection/Injectable.d.ts.map +1 -0
  113. package/dist/dependency-injection/Injectable.js.map +1 -0
  114. package/dist/dependency-injection/PartialContainer.d.ts +86 -0
  115. package/dist/dependency-injection/PartialContainer.d.ts.map +1 -0
  116. package/dist/dependency-injection/PartialContainer.js +28 -0
  117. package/dist/dependency-injection/PartialContainer.js.map +1 -0
  118. package/dist/dependency-injection/RootServices.d.ts +74 -0
  119. package/dist/dependency-injection/RootServices.d.ts.map +1 -0
  120. package/dist/dependency-injection/RootServices.js +2 -0
  121. package/dist/dependency-injection/RootServices.js.map +1 -0
  122. package/dist/dependency-injection/types.d.ts +57 -0
  123. package/dist/dependency-injection/types.d.ts.map +1 -0
  124. package/dist/dependency-injection/types.js.map +1 -0
  125. package/dist/environment.d.ts +5 -0
  126. package/dist/environment.d.ts.map +1 -0
  127. package/dist/environment.js +2 -0
  128. package/dist/environment.js.map +1 -0
  129. package/dist/events/TypedCustomEvent.d.ts +11 -0
  130. package/dist/events/TypedCustomEvent.d.ts.map +1 -0
  131. package/dist/events/TypedCustomEvent.js +6 -0
  132. package/dist/events/TypedCustomEvent.js.map +1 -0
  133. package/dist/events/TypedEventTarget.d.ts +26 -0
  134. package/dist/events/TypedEventTarget.d.ts.map +1 -0
  135. package/dist/events/TypedEventTarget.js +42 -0
  136. package/dist/events/TypedEventTarget.js.map +1 -0
  137. package/dist/events/scan.d.ts +18 -0
  138. package/dist/events/scan.d.ts.map +1 -0
  139. package/dist/events/scan.js +29 -0
  140. package/dist/events/scan.js.map +1 -0
  141. package/dist/extensions/RemoteApiServices.d.ts +88 -0
  142. package/dist/extensions/RemoteApiServices.d.ts.map +1 -0
  143. package/dist/extensions/RemoteApiServices.js +155 -0
  144. package/dist/extensions/RemoteApiServices.js.map +1 -0
  145. package/dist/extensions/UriHandlers.d.ts +48 -0
  146. package/dist/extensions/UriHandlers.d.ts.map +1 -0
  147. package/dist/extensions/UriHandlers.js +34 -0
  148. package/dist/extensions/UriHandlers.js.map +1 -0
  149. package/dist/extensions/extensionRequestContext.d.ts +5 -0
  150. package/dist/extensions/extensionRequestContext.d.ts.map +1 -0
  151. package/dist/extensions/extensionRequestContext.js +11 -0
  152. package/dist/extensions/extensionRequestContext.js.map +1 -0
  153. package/dist/extensions/uriHandlersRegister.d.ts +22 -0
  154. package/dist/extensions/uriHandlersRegister.d.ts.map +1 -0
  155. package/dist/extensions/uriHandlersRegister.js +61 -0
  156. package/dist/extensions/uriHandlersRegister.js.map +1 -0
  157. package/dist/generated-proto/blizzard/cameraKitEvents.d.ts +9528 -0
  158. package/dist/generated-proto/blizzard/cameraKitEvents.d.ts.map +1 -0
  159. package/dist/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +80 -0
  160. package/dist/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts.map +1 -0
  161. package/dist/generated-proto/pb_schema/camera_kit/v3/export.d.ts +529 -0
  162. package/dist/generated-proto/pb_schema/camera_kit/v3/export.d.ts.map +1 -0
  163. package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +35 -0
  164. package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts.map +1 -0
  165. package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +42 -0
  166. package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +1 -0
  167. package/dist/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +30 -0
  168. package/dist/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts.map +1 -0
  169. package/dist/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +86 -0
  170. package/dist/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts.map +1 -0
  171. package/dist/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +385 -0
  172. package/dist/generated-proto/pb_schema/camera_kit/v3/lens.d.ts.map +1 -0
  173. package/dist/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +179 -0
  174. package/dist/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts.map +1 -0
  175. package/dist/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +57 -0
  176. package/dist/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts.map +1 -0
  177. package/dist/generated-proto/pb_schema/camera_kit/v3/service.d.ts +2512 -0
  178. package/dist/generated-proto/pb_schema/camera_kit/v3/service.d.ts.map +1 -0
  179. package/dist/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +79 -0
  180. package/dist/generated-proto/pb_schema/cdp/cof/benchmark.d.ts.map +1 -0
  181. package/dist/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +51 -0
  182. package/dist/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts.map +1 -0
  183. package/dist/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +25575 -0
  184. package/dist/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts.map +1 -0
  185. package/dist/generated-proto/pb_schema/cdp/cof/config_request.d.ts +280 -0
  186. package/dist/generated-proto/pb_schema/cdp/cof/config_request.d.ts.map +1 -0
  187. package/dist/generated-proto/pb_schema/cdp/cof/config_response.d.ts +3726 -0
  188. package/dist/generated-proto/pb_schema/cdp/cof/config_response.d.ts.map +1 -0
  189. package/dist/generated-proto/pb_schema/cdp/cof/config_result.d.ts +10224 -0
  190. package/dist/generated-proto/pb_schema/cdp/cof/config_result.d.ts.map +1 -0
  191. package/dist/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +94 -0
  192. package/dist/generated-proto/pb_schema/cdp/cof/debug_info.d.ts.map +1 -0
  193. package/dist/generated-proto/pb_schema/cdp/cof/namespace.d.ts +9 -0
  194. package/dist/generated-proto/pb_schema/cdp/cof/namespace.d.ts.map +1 -0
  195. package/dist/generated-proto/pb_schema/common/ruid.d.ts +52 -0
  196. package/dist/generated-proto/pb_schema/common/ruid.d.ts.map +1 -0
  197. package/dist/generated-proto/pb_schema/common/value.d.ts +145 -0
  198. package/dist/generated-proto/pb_schema/common/value.d.ts.map +1 -0
  199. package/dist/generated-proto/pb_schema/google/api/annotations.d.ts +2 -0
  200. package/dist/generated-proto/pb_schema/google/api/annotations.d.ts.map +1 -0
  201. package/dist/generated-proto/pb_schema/google/api/annotations.js +8 -0
  202. package/dist/generated-proto/pb_schema/google/api/annotations.js.map +1 -0
  203. package/dist/generated-proto/pb_schema/google/api/http.d.ts +3631 -0
  204. package/dist/generated-proto/pb_schema/google/api/http.d.ts.map +1 -0
  205. package/dist/generated-proto/pb_schema/google/api/http.js +193 -0
  206. package/dist/generated-proto/pb_schema/google/api/http.js.map +1 -0
  207. package/dist/generated-proto/pb_schema/google/protobuf/any.d.ts +33 -0
  208. package/dist/generated-proto/pb_schema/google/protobuf/any.d.ts.map +1 -0
  209. package/dist/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +50897 -0
  210. package/dist/generated-proto/pb_schema/google/protobuf/descriptor.d.ts.map +1 -0
  211. package/dist/generated-proto/pb_schema/google/protobuf/descriptor.js +1818 -0
  212. package/dist/generated-proto/pb_schema/google/protobuf/descriptor.js.map +1 -0
  213. package/dist/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +33 -0
  214. package/dist/generated-proto/pb_schema/google/protobuf/timestamp.d.ts.map +1 -0
  215. package/dist/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +120 -0
  216. package/dist/generated-proto/pb_schema/google/protobuf/wrappers.d.ts.map +1 -0
  217. package/dist/generated-proto/pb_schema/lenses/geocircle.d.ts +43 -0
  218. package/dist/generated-proto/pb_schema/lenses/geocircle.d.ts.map +1 -0
  219. package/dist/generated-proto/pb_schema/lenses/geopoint.d.ts +33 -0
  220. package/dist/generated-proto/pb_schema/lenses/geopoint.d.ts.map +1 -0
  221. package/dist/generated-proto/pb_schema/lenses/launch_params.d.ts +30 -0
  222. package/dist/generated-proto/pb_schema/lenses/launch_params.d.ts.map +1 -0
  223. package/dist/generated-proto/pb_schema/lenses/launchdata.d.ts +397 -0
  224. package/dist/generated-proto/pb_schema/lenses/launchdata.d.ts.map +1 -0
  225. package/dist/generated-proto/pb_schema/lenses/lures.d.ts +112 -0
  226. package/dist/generated-proto/pb_schema/lenses/lures.d.ts.map +1 -0
  227. package/dist/generated-proto/pb_schema/lenses/persistent_store.d.ts +30 -0
  228. package/dist/generated-proto/pb_schema/lenses/persistent_store.d.ts.map +1 -0
  229. package/dist/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +570 -0
  230. package/dist/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts.map +1 -0
  231. package/dist/generated-proto/pb_schema/lenses/snappable.d.ts +903 -0
  232. package/dist/generated-proto/pb_schema/lenses/snappable.d.ts.map +1 -0
  233. package/dist/generated-proto/pb_schema/lenses/user_data.d.ts +230 -0
  234. package/dist/generated-proto/pb_schema/lenses/user_data.d.ts.map +1 -0
  235. package/dist/handlers/HandlerChainBuilder.d.ts +111 -0
  236. package/dist/handlers/HandlerChainBuilder.d.ts.map +1 -0
  237. package/dist/handlers/HandlerChainBuilder.js +55 -0
  238. package/dist/handlers/HandlerChainBuilder.js.map +1 -0
  239. package/dist/handlers/arrayBufferParsingHandler.d.ts +11 -0
  240. package/dist/handlers/arrayBufferParsingHandler.d.ts.map +1 -0
  241. package/dist/handlers/arrayBufferParsingHandler.js +13 -0
  242. package/dist/handlers/arrayBufferParsingHandler.js.map +1 -0
  243. package/dist/handlers/batchingHandler.d.ts +32 -0
  244. package/dist/handlers/batchingHandler.d.ts.map +1 -0
  245. package/dist/handlers/batchingHandler.js +45 -0
  246. package/dist/handlers/batchingHandler.js.map +1 -0
  247. package/dist/handlers/cameraKitServiceFetchHandlerFactory.d.ts +13 -0
  248. package/dist/handlers/cameraKitServiceFetchHandlerFactory.d.ts.map +1 -0
  249. package/dist/handlers/cameraKitServiceFetchHandlerFactory.js +14 -0
  250. package/dist/handlers/cameraKitServiceFetchHandlerFactory.js.map +1 -0
  251. package/dist/handlers/debugHandler.d.ts +9 -0
  252. package/dist/handlers/debugHandler.d.ts.map +1 -0
  253. package/dist/handlers/debugHandler.js +18 -0
  254. package/dist/handlers/debugHandler.js.map +1 -0
  255. package/dist/handlers/defaultFetchHandler.d.ts +16 -0
  256. package/dist/handlers/defaultFetchHandler.d.ts.map +1 -0
  257. package/dist/handlers/defaultFetchHandler.js +25 -0
  258. package/dist/handlers/defaultFetchHandler.js.map +1 -0
  259. package/dist/handlers/headersModifyingFetchHandler.d.ts +9 -0
  260. package/dist/handlers/headersModifyingFetchHandler.d.ts.map +1 -0
  261. package/dist/handlers/headersModifyingFetchHandler.js +10 -0
  262. package/dist/handlers/headersModifyingFetchHandler.js.map +1 -0
  263. package/dist/handlers/mappingHandler.d.ts +20 -0
  264. package/dist/handlers/mappingHandler.d.ts.map +1 -0
  265. package/dist/handlers/mappingHandler.js +44 -0
  266. package/dist/handlers/mappingHandler.js.map +1 -0
  267. package/dist/handlers/noCorsRetryingFetchHandler.d.ts +49 -0
  268. package/dist/handlers/noCorsRetryingFetchHandler.d.ts.map +1 -0
  269. package/dist/handlers/noCorsRetryingFetchHandler.js +33 -0
  270. package/dist/handlers/noCorsRetryingFetchHandler.js.map +1 -0
  271. package/dist/handlers/persistingHandler.d.ts +15 -0
  272. package/dist/handlers/persistingHandler.d.ts.map +1 -0
  273. package/dist/handlers/persistingHandler.js +43 -0
  274. package/dist/handlers/persistingHandler.js.map +1 -0
  275. package/dist/handlers/rateLimitingHandler.d.ts +25 -0
  276. package/dist/handlers/rateLimitingHandler.d.ts.map +1 -0
  277. package/dist/handlers/rateLimitingHandler.js +21 -0
  278. package/dist/handlers/rateLimitingHandler.js.map +1 -0
  279. package/dist/handlers/requestStateEmittingHandler.d.ts +42 -0
  280. package/dist/handlers/requestStateEmittingHandler.d.ts.map +1 -0
  281. package/dist/handlers/requestStateEmittingHandler.js +42 -0
  282. package/dist/handlers/requestStateEmittingHandler.js.map +1 -0
  283. package/dist/handlers/responseCachingHandler.d.ts +35 -0
  284. package/dist/handlers/responseCachingHandler.d.ts.map +1 -0
  285. package/dist/handlers/responseCachingHandler.js +83 -0
  286. package/dist/handlers/responseCachingHandler.js.map +1 -0
  287. package/dist/handlers/retryingHandler.d.ts +49 -0
  288. package/dist/handlers/retryingHandler.d.ts.map +1 -0
  289. package/dist/handlers/retryingHandler.js +62 -0
  290. package/dist/handlers/retryingHandler.js.map +1 -0
  291. package/dist/handlers/timeoutHandler.d.ts +19 -0
  292. package/dist/handlers/timeoutHandler.d.ts.map +1 -0
  293. package/dist/handlers/timeoutHandler.js +20 -0
  294. package/dist/handlers/timeoutHandler.js.map +1 -0
  295. package/dist/handlers/utils.d.ts +13 -0
  296. package/dist/handlers/utils.d.ts.map +1 -0
  297. package/dist/handlers/utils.js +7 -0
  298. package/dist/handlers/utils.js.map +1 -0
  299. package/dist/index.d.ts +43 -0
  300. package/dist/index.d.ts.map +1 -0
  301. package/dist/index.js +35 -0
  302. package/dist/index.js.map +1 -0
  303. package/dist/legal/legalPrompt.d.ts +21 -0
  304. package/dist/legal/legalPrompt.d.ts.map +1 -0
  305. package/dist/legal/legalPrompt.js +130 -0
  306. package/dist/legal/legalPrompt.js.map +1 -0
  307. package/dist/legal/legalState.d.ts +51 -0
  308. package/dist/legal/legalState.d.ts.map +1 -0
  309. package/dist/legal/legalState.js +100 -0
  310. package/dist/legal/legalState.js.map +1 -0
  311. package/dist/lens/Lens.d.ts +117 -0
  312. package/dist/lens/Lens.d.ts.map +1 -0
  313. package/dist/lens/Lens.js +74 -0
  314. package/dist/lens/Lens.js.map +1 -0
  315. package/dist/lens/LensLaunchData.d.ts +45 -0
  316. package/dist/lens/LensLaunchData.d.ts.map +1 -0
  317. package/dist/lens/LensLaunchData.js +83 -0
  318. package/dist/lens/LensLaunchData.js.map +1 -0
  319. package/dist/lens/LensPersistenceStore.d.ts +8 -0
  320. package/dist/lens/LensPersistenceStore.d.ts.map +1 -0
  321. package/dist/lens/LensPersistenceStore.js.map +1 -0
  322. package/dist/lens/LensRepository.d.ts +133 -0
  323. package/dist/lens/LensRepository.d.ts.map +1 -0
  324. package/dist/lens/LensRepository.js +147 -0
  325. package/dist/lens/LensRepository.js.map +1 -0
  326. package/dist/lens/LensSource.d.ts +44 -0
  327. package/dist/lens/LensSource.d.ts.map +1 -0
  328. package/dist/lens/LensSource.js +18 -0
  329. package/dist/lens/LensSource.js.map +1 -0
  330. package/dist/lens/assets/LensAssetRepository.d.ts +101 -0
  331. package/dist/lens/assets/LensAssetRepository.d.ts.map +1 -0
  332. package/dist/lens/assets/LensAssetRepository.js +139 -0
  333. package/dist/lens/assets/LensAssetRepository.js.map +1 -0
  334. package/dist/lens/assets/LensAssetsProvider.d.ts +28 -0
  335. package/dist/lens/assets/LensAssetsProvider.d.ts.map +1 -0
  336. package/dist/lens/assets/LensAssetsProvider.js +52 -0
  337. package/dist/lens/assets/LensAssetsProvider.js.map +1 -0
  338. package/dist/lens/assets/deviceDependentAssetLoader.d.ts +12 -0
  339. package/dist/lens/assets/deviceDependentAssetLoader.d.ts.map +1 -0
  340. package/dist/lens/assets/deviceDependentAssetLoader.js +49 -0
  341. package/dist/lens/assets/deviceDependentAssetLoader.js.map +1 -0
  342. package/dist/lens/assets/remoteMediaAssetLoaderFactory.d.ts +11 -0
  343. package/dist/lens/assets/remoteMediaAssetLoaderFactory.d.ts.map +1 -0
  344. package/dist/lens/assets/remoteMediaAssetLoaderFactory.js +18 -0
  345. package/dist/lens/assets/remoteMediaAssetLoaderFactory.js.map +1 -0
  346. package/dist/lens/assets/staticAssetLoader.d.ts +11 -0
  347. package/dist/lens/assets/staticAssetLoader.d.ts.map +1 -0
  348. package/dist/lens/assets/staticAssetLoader.js +21 -0
  349. package/dist/lens/assets/staticAssetLoader.js.map +1 -0
  350. package/dist/lens/cameraKitLensSource.d.ts +18 -0
  351. package/dist/lens/cameraKitLensSource.d.ts.map +1 -0
  352. package/dist/lens/cameraKitLensSource.js +93 -0
  353. package/dist/lens/cameraKitLensSource.js.map +1 -0
  354. package/dist/lens/fetchWatermarkLens.d.ts +12 -0
  355. package/dist/lens/fetchWatermarkLens.d.ts.map +1 -0
  356. package/dist/lens/fetchWatermarkLens.js +23 -0
  357. package/dist/lens/fetchWatermarkLens.js.map +1 -0
  358. package/dist/lens-client-interface/exif.d.ts +21 -0
  359. package/dist/lens-client-interface/exif.d.ts.map +1 -0
  360. package/dist/lens-client-interface/exif.js +51 -0
  361. package/dist/lens-client-interface/exif.js.map +1 -0
  362. package/dist/lens-client-interface/imagePicker.d.ts +9 -0
  363. package/dist/lens-client-interface/imagePicker.d.ts.map +1 -0
  364. package/dist/lens-client-interface/imagePicker.js +113 -0
  365. package/dist/lens-client-interface/imagePicker.js.map +1 -0
  366. package/dist/lens-client-interface/lensClientInterface.d.ts +14 -0
  367. package/dist/lens-client-interface/lensClientInterface.d.ts.map +1 -0
  368. package/dist/lens-client-interface/lensClientInterface.js +22 -0
  369. package/dist/lens-client-interface/lensClientInterface.js.map +1 -0
  370. package/dist/lens-core-module/generated-types.d.ts +470 -0
  371. package/dist/lens-core-module/generated-types.d.ts.map +1 -0
  372. package/dist/lens-core-module/lensCore.d.ts +59 -0
  373. package/dist/lens-core-module/lensCore.d.ts.map +1 -0
  374. package/dist/lens-core-module/lensCore.js +95 -0
  375. package/dist/lens-core-module/lensCore.js.map +1 -0
  376. package/dist/lens-core-module/lensCoreError.d.ts +16 -0
  377. package/dist/lens-core-module/lensCoreError.d.ts.map +1 -0
  378. package/dist/lens-core-module/lensCoreError.js +35 -0
  379. package/dist/lens-core-module/lensCoreError.js.map +1 -0
  380. package/dist/lens-core-module/loader/bootstrapURLs.d.ts +13 -0
  381. package/dist/lens-core-module/loader/bootstrapURLs.d.ts.map +1 -0
  382. package/dist/lens-core-module/loader/bootstrapURLs.js +32 -0
  383. package/dist/lens-core-module/loader/bootstrapURLs.js.map +1 -0
  384. package/dist/lens-core-module/loader/lensCoreFactory.d.ts +18 -0
  385. package/dist/lens-core-module/loader/lensCoreFactory.d.ts.map +1 -0
  386. package/dist/lens-core-module/loader/lensCoreFactory.js +54 -0
  387. package/dist/lens-core-module/loader/lensCoreFactory.js.map +1 -0
  388. package/dist/lensCoreWasmVersions.d.ts +7 -0
  389. package/dist/lensCoreWasmVersions.d.ts.map +1 -0
  390. package/dist/lensCoreWasmVersions.js +6 -0
  391. package/dist/lensCoreWasmVersions.js.map +1 -0
  392. package/dist/logger/errorLoggingDecorator.d.ts +10 -0
  393. package/dist/logger/errorLoggingDecorator.d.ts.map +1 -0
  394. package/dist/logger/errorLoggingDecorator.js +19 -0
  395. package/dist/logger/errorLoggingDecorator.js.map +1 -0
  396. package/dist/logger/logEntries.d.ts +16 -0
  397. package/dist/logger/logEntries.d.ts.map +1 -0
  398. package/dist/logger/logEntries.js +4 -0
  399. package/dist/logger/logEntries.js.map +1 -0
  400. package/dist/logger/logger.d.ts +41 -0
  401. package/dist/logger/logger.d.ts.map +1 -0
  402. package/dist/logger/logger.js +27 -0
  403. package/dist/logger/logger.js.map +1 -0
  404. package/dist/logger/registerLogEntriesSubscriber.d.ts +15 -0
  405. package/dist/logger/registerLogEntriesSubscriber.d.ts.map +1 -0
  406. package/dist/logger/registerLogEntriesSubscriber.js +27 -0
  407. package/dist/logger/registerLogEntriesSubscriber.js.map +1 -0
  408. package/dist/media-sources/CameraKitSource.d.ts +130 -0
  409. package/dist/media-sources/CameraKitSource.d.ts.map +1 -0
  410. package/dist/media-sources/CameraKitSource.js +96 -0
  411. package/dist/media-sources/CameraKitSource.js.map +1 -0
  412. package/dist/media-sources/FunctionSource.d.ts +42 -0
  413. package/dist/media-sources/FunctionSource.d.ts.map +1 -0
  414. package/dist/media-sources/FunctionSource.js +105 -0
  415. package/dist/media-sources/FunctionSource.js.map +1 -0
  416. package/dist/media-sources/ImageSource.d.ts +13 -0
  417. package/dist/media-sources/ImageSource.d.ts.map +1 -0
  418. package/dist/media-sources/ImageSource.js +7 -0
  419. package/dist/media-sources/ImageSource.js.map +1 -0
  420. package/dist/media-sources/MediaStreamSource.d.ts +31 -0
  421. package/dist/media-sources/MediaStreamSource.d.ts.map +1 -0
  422. package/dist/media-sources/MediaStreamSource.js +140 -0
  423. package/dist/media-sources/MediaStreamSource.js.map +1 -0
  424. package/dist/media-sources/VideoSource.d.ts +27 -0
  425. package/dist/media-sources/VideoSource.d.ts.map +1 -0
  426. package/dist/media-sources/VideoSource.js +12 -0
  427. package/dist/media-sources/VideoSource.js.map +1 -0
  428. package/dist/metrics/businessEventsReporter.d.ts +40 -0
  429. package/dist/metrics/businessEventsReporter.d.ts.map +1 -0
  430. package/dist/metrics/businessEventsReporter.js +156 -0
  431. package/dist/metrics/businessEventsReporter.js.map +1 -0
  432. package/dist/metrics/metricsEventTarget.d.ts +42 -0
  433. package/dist/metrics/metricsEventTarget.d.ts.map +1 -0
  434. package/dist/metrics/metricsEventTarget.js +4 -0
  435. package/dist/metrics/metricsEventTarget.js.map +1 -0
  436. package/dist/metrics/operational/Count.d.ts +21 -0
  437. package/dist/metrics/operational/Count.d.ts.map +1 -0
  438. package/dist/metrics/operational/Count.js +31 -0
  439. package/dist/metrics/operational/Count.js.map +1 -0
  440. package/dist/metrics/operational/Histogram.d.ts +19 -0
  441. package/dist/metrics/operational/Histogram.d.ts.map +1 -0
  442. package/dist/metrics/operational/Histogram.js +26 -0
  443. package/dist/metrics/operational/Histogram.js.map +1 -0
  444. package/dist/metrics/operational/Metric.d.ts +21 -0
  445. package/dist/metrics/operational/Metric.d.ts.map +1 -0
  446. package/dist/metrics/operational/Metric.js +23 -0
  447. package/dist/metrics/operational/Metric.js.map +1 -0
  448. package/dist/metrics/operational/Timer.d.ts +96 -0
  449. package/dist/metrics/operational/Timer.d.ts.map +1 -0
  450. package/dist/metrics/operational/Timer.js +64 -0
  451. package/dist/metrics/operational/Timer.js.map +1 -0
  452. package/dist/metrics/reporters/reportBenchmarks.d.ts +11 -0
  453. package/dist/metrics/reporters/reportBenchmarks.d.ts.map +1 -0
  454. package/dist/metrics/reporters/reportBenchmarks.js +27 -0
  455. package/dist/metrics/reporters/reportBenchmarks.js.map +1 -0
  456. package/dist/metrics/reporters/reportGlobalException.d.ts +27 -0
  457. package/dist/metrics/reporters/reportGlobalException.d.ts.map +1 -0
  458. package/dist/metrics/reporters/reportGlobalException.js +82 -0
  459. package/dist/metrics/reporters/reportGlobalException.js.map +1 -0
  460. package/dist/metrics/reporters/reportHttpMetrics.d.ts +11 -0
  461. package/dist/metrics/reporters/reportHttpMetrics.d.ts.map +1 -0
  462. package/dist/metrics/reporters/reportHttpMetrics.js +107 -0
  463. package/dist/metrics/reporters/reportHttpMetrics.js.map +1 -0
  464. package/dist/metrics/reporters/reportLegalState.d.ts +16 -0
  465. package/dist/metrics/reporters/reportLegalState.d.ts.map +1 -0
  466. package/dist/metrics/reporters/reportLegalState.js +29 -0
  467. package/dist/metrics/reporters/reportLegalState.js.map +1 -0
  468. package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts +39 -0
  469. package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts.map +1 -0
  470. package/dist/metrics/reporters/reportLensAndAssetDownload.js +91 -0
  471. package/dist/metrics/reporters/reportLensAndAssetDownload.js.map +1 -0
  472. package/dist/metrics/reporters/reportLensValidationFailed.d.ts +21 -0
  473. package/dist/metrics/reporters/reportLensValidationFailed.d.ts.map +1 -0
  474. package/dist/metrics/reporters/reportLensValidationFailed.js +21 -0
  475. package/dist/metrics/reporters/reportLensValidationFailed.js.map +1 -0
  476. package/dist/metrics/reporters/reportLensView.d.ts +37 -0
  477. package/dist/metrics/reporters/reportLensView.d.ts.map +1 -0
  478. package/dist/metrics/reporters/reportLensView.js +102 -0
  479. package/dist/metrics/reporters/reportLensView.js.map +1 -0
  480. package/dist/metrics/reporters/reportLensWait.d.ts +33 -0
  481. package/dist/metrics/reporters/reportLensWait.d.ts.map +1 -0
  482. package/dist/metrics/reporters/reportLensWait.js +35 -0
  483. package/dist/metrics/reporters/reportLensWait.js.map +1 -0
  484. package/dist/metrics/reporters/reportPlatformCapabilities.d.ts +13 -0
  485. package/dist/metrics/reporters/reportPlatformCapabilities.d.ts.map +1 -0
  486. package/dist/metrics/reporters/reportPlatformCapabilities.js +13 -0
  487. package/dist/metrics/reporters/reportPlatformCapabilities.js.map +1 -0
  488. package/dist/metrics/reporters/reportSessionException.d.ts +18 -0
  489. package/dist/metrics/reporters/reportSessionException.d.ts.map +1 -0
  490. package/dist/metrics/reporters/reportSessionException.js +7 -0
  491. package/dist/metrics/reporters/reportSessionException.js.map +1 -0
  492. package/dist/metrics/reporters/reportUserSession.d.ts +15 -0
  493. package/dist/metrics/reporters/reportUserSession.d.ts.map +1 -0
  494. package/dist/metrics/reporters/reportUserSession.js +61 -0
  495. package/dist/metrics/reporters/reportUserSession.js.map +1 -0
  496. package/dist/metrics/reporters/reporters.d.ts +47 -0
  497. package/dist/metrics/reporters/reporters.d.ts.map +1 -0
  498. package/dist/metrics/reporters/reporters.js +24 -0
  499. package/dist/metrics/reporters/reporters.js.map +1 -0
  500. package/dist/namedErrors.d.ts +131 -0
  501. package/dist/namedErrors.d.ts.map +1 -0
  502. package/dist/namedErrors.js +29 -0
  503. package/dist/namedErrors.js.map +1 -0
  504. package/dist/observable-operators/debounceTimeAfter.d.ts +26 -0
  505. package/dist/observable-operators/debounceTimeAfter.d.ts.map +1 -0
  506. package/dist/observable-operators/debounceTimeAfter.js +22 -0
  507. package/dist/observable-operators/debounceTimeAfter.js.map +1 -0
  508. package/dist/observable-operators/unsubscribed.d.ts +13 -0
  509. package/dist/observable-operators/unsubscribed.d.ts.map +1 -0
  510. package/dist/observable-operators/unsubscribed.js +15 -0
  511. package/dist/observable-operators/unsubscribed.js.map +1 -0
  512. package/dist/persistence/ExpiringPersistence.d.ts +22 -0
  513. package/dist/persistence/ExpiringPersistence.d.ts.map +1 -0
  514. package/dist/persistence/ExpiringPersistence.js +64 -0
  515. package/dist/persistence/ExpiringPersistence.js.map +1 -0
  516. package/dist/persistence/IndexedDBPersistence.d.ts +48 -0
  517. package/dist/persistence/IndexedDBPersistence.d.ts.map +1 -0
  518. package/dist/persistence/IndexedDBPersistence.js +127 -0
  519. package/dist/persistence/IndexedDBPersistence.js.map +1 -0
  520. package/dist/persistence/Persistence.d.ts +26 -0
  521. package/dist/persistence/Persistence.d.ts.map +1 -0
  522. package/dist/persistence/Persistence.js +4 -0
  523. package/dist/persistence/Persistence.js.map +1 -0
  524. package/dist/platform/assertPlatformSupported.d.ts +5 -0
  525. package/dist/platform/assertPlatformSupported.d.ts.map +1 -0
  526. package/dist/platform/assertPlatformSupported.js +12 -0
  527. package/dist/platform/assertPlatformSupported.js.map +1 -0
  528. package/dist/platform/cameraKitUserAgent.d.ts +3 -0
  529. package/dist/platform/cameraKitUserAgent.d.ts.map +1 -0
  530. package/dist/platform/cameraKitUserAgent.js +13 -0
  531. package/dist/platform/cameraKitUserAgent.js.map +1 -0
  532. package/dist/platform/platformCapabilities.d.ts +58 -0
  533. package/dist/platform/platformCapabilities.d.ts.map +1 -0
  534. package/dist/platform/platformCapabilities.js +98 -0
  535. package/dist/platform/platformCapabilities.js.map +1 -0
  536. package/dist/platform/platformInfo.d.ts +44 -0
  537. package/dist/platform/platformInfo.d.ts.map +1 -0
  538. package/dist/platform/platformInfo.js +156 -0
  539. package/dist/platform/platformInfo.js.map +1 -0
  540. package/dist/remote-configuration/cofHandler.d.ts +30 -0
  541. package/dist/remote-configuration/cofHandler.d.ts.map +1 -0
  542. package/dist/remote-configuration/cofHandler.js +83 -0
  543. package/dist/remote-configuration/cofHandler.js.map +1 -0
  544. package/dist/remote-configuration/preloadConfiguration.d.ts +8 -0
  545. package/dist/remote-configuration/preloadConfiguration.d.ts.map +1 -0
  546. package/dist/remote-configuration/preloadConfiguration.js +20 -0
  547. package/dist/remote-configuration/preloadConfiguration.js.map +1 -0
  548. package/dist/remote-configuration/remoteConfiguration.d.ts +36 -0
  549. package/dist/remote-configuration/remoteConfiguration.d.ts.map +1 -0
  550. package/dist/remote-configuration/remoteConfiguration.js +59 -0
  551. package/dist/remote-configuration/remoteConfiguration.js.map +1 -0
  552. package/dist/session/CameraKitSession.d.ts +257 -0
  553. package/dist/session/CameraKitSession.d.ts.map +1 -0
  554. package/dist/session/CameraKitSession.js +242 -0
  555. package/dist/session/CameraKitSession.js.map +1 -0
  556. package/dist/session/CameraKitSessionEvents.d.ts +29 -0
  557. package/dist/session/CameraKitSessionEvents.d.ts.map +1 -0
  558. package/dist/session/CameraKitSessionEvents.js +15 -0
  559. package/dist/session/CameraKitSessionEvents.js.map +1 -0
  560. package/dist/session/LensKeyboard.d.ts +90 -0
  561. package/dist/session/LensKeyboard.d.ts.map +1 -0
  562. package/dist/session/LensKeyboard.js +89 -0
  563. package/dist/session/LensKeyboard.js.map +1 -0
  564. package/dist/session/LensPerformanceMeasurement.d.ts +58 -0
  565. package/dist/session/LensPerformanceMeasurement.d.ts.map +1 -0
  566. package/dist/session/LensPerformanceMeasurement.js +63 -0
  567. package/dist/session/LensPerformanceMeasurement.js.map +1 -0
  568. package/dist/session/LensPerformanceMetrics.d.ts +32 -0
  569. package/dist/session/LensPerformanceMetrics.d.ts.map +1 -0
  570. package/dist/session/LensPerformanceMetrics.js +39 -0
  571. package/dist/session/LensPerformanceMetrics.js.map +1 -0
  572. package/dist/session/lensState.d.ts +32 -0
  573. package/dist/session/lensState.d.ts.map +1 -0
  574. package/dist/session/lensState.js +194 -0
  575. package/dist/session/lensState.js.map +1 -0
  576. package/dist/session/sessionState.d.ts +11 -0
  577. package/dist/session/sessionState.d.ts.map +1 -0
  578. package/dist/session/sessionState.js.map +1 -0
  579. package/dist/transforms/Transform2D.d.ts +27 -0
  580. package/dist/transforms/Transform2D.d.ts.map +1 -0
  581. package/dist/transforms/Transform2D.js +13 -0
  582. package/dist/transforms/Transform2D.js.map +1 -0
  583. package/dist/utils.d.ts +4 -0
  584. package/dist/utils.d.ts.map +1 -0
  585. package/docs/html/assets/navigation.js +1 -1
  586. package/docs/html/assets/search.js +1 -1
  587. package/docs/html/classes/CameraKit.html +2 -2
  588. package/docs/html/classes/CameraKitSession.html +2 -2
  589. package/docs/html/classes/CameraKitSource.html +2 -2
  590. package/docs/html/classes/LensPerformanceMeasurement.html +2 -2
  591. package/docs/html/classes/LensPerformanceMetrics.html +2 -2
  592. package/docs/html/classes/LensRepository.html +3 -3
  593. package/docs/html/classes/Transform2D.html +2 -2
  594. package/docs/html/classes/TypedCustomEvent.html +2 -2
  595. package/docs/html/classes/TypedEventTarget.html +2 -2
  596. package/docs/html/enums/Lens_CameraFacing.html +2 -2
  597. package/docs/html/functions/ConcatInjectable.html +2 -2
  598. package/docs/html/functions/Injectable.html +2 -2
  599. package/docs/html/functions/bootstrapCameraKit.html +2 -2
  600. package/docs/html/functions/createExtension.html +2 -2
  601. package/docs/html/functions/createImageSource.html +2 -2
  602. package/docs/html/functions/createMediaStreamSource.html +2 -2
  603. package/docs/html/functions/createVideoSource.html +2 -2
  604. package/docs/html/functions/estimateLensPerformance.html +2 -2
  605. package/docs/html/functions/lensSourcesFactory.html +2 -2
  606. package/docs/html/functions/remoteApiServicesFactory.html +2 -2
  607. package/docs/html/hierarchy.html +1 -1
  608. package/docs/html/index.html +3 -3
  609. package/docs/html/interfaces/BitmojiUserInfo.html +3 -0
  610. package/docs/html/interfaces/CameraKitBootstrapConfiguration.html +2 -2
  611. package/docs/html/interfaces/CameraKitDeviceOptions.html +2 -2
  612. package/docs/html/interfaces/CameraKitSourceInfo.html +2 -2
  613. package/docs/html/interfaces/CameraKitSourceSubscriber.html +2 -2
  614. package/docs/html/interfaces/ComputedFrameMetrics.html +2 -2
  615. package/docs/html/interfaces/CreateSessionOptions.html +2 -2
  616. package/docs/html/interfaces/EstimatedLensPerformance.html +2 -2
  617. package/docs/html/interfaces/FriendUserInfo.html +4 -0
  618. package/docs/html/interfaces/FunctionSourceOptions.html +2 -2
  619. package/docs/html/interfaces/Lens.html +2 -2
  620. package/docs/html/interfaces/LensCreator.html +2 -2
  621. package/docs/html/interfaces/LensLaunchData.html +3 -3
  622. package/docs/html/interfaces/LensSource.html +2 -2
  623. package/docs/html/interfaces/LensUserData.html +10 -0
  624. package/docs/html/interfaces/LoadAssetRequest.html +2 -2
  625. package/docs/html/interfaces/MediaStreamSourceOptions.html +2 -2
  626. package/docs/html/interfaces/Preview.html +2 -2
  627. package/docs/html/interfaces/RemoteApiRequest.html +2 -2
  628. package/docs/html/interfaces/RemoteApiResponse.html +4 -4
  629. package/docs/html/interfaces/RemoteApiService.html +3 -3
  630. package/docs/html/interfaces/Snapcode.html +2 -2
  631. package/docs/html/interfaces/UriCancelRequest.html +2 -2
  632. package/docs/html/interfaces/UriRequest.html +2 -2
  633. package/docs/html/interfaces/UriResponse.html +2 -2
  634. package/docs/html/interfaces/VideoSourceOptions.html +2 -2
  635. package/docs/html/modules.html +7 -3
  636. package/docs/html/types/ArgumentValidationError.html +2 -0
  637. package/docs/html/types/AssetLoader.html +2 -2
  638. package/docs/html/types/AssetResponse.html +1 -1
  639. package/docs/html/types/AssetTiming.html +2 -2
  640. package/docs/html/types/BenchmarkError.html +1 -1
  641. package/docs/html/types/BootstrapError.html +2 -2
  642. package/docs/html/types/CacheKeyNotFoundError.html +1 -1
  643. package/docs/html/types/CameraKitSessionEventListener.html +2 -2
  644. package/docs/html/types/CameraKitSessionEvents.html +2 -2
  645. package/docs/html/types/CameraKitSourceError.html +1 -1
  646. package/docs/html/types/ConfigurationError.html +2 -2
  647. package/docs/html/types/FetchHandler.html +1 -1
  648. package/docs/html/types/Keyboard.html +2 -2
  649. package/docs/html/types/KeyboardEvents.html +2 -2
  650. package/docs/html/types/LegalError.html +1 -1
  651. package/docs/html/types/LensAbortError.html +2 -2
  652. package/docs/html/types/LensAssetError.html +2 -2
  653. package/docs/html/types/LensContentValidationError.html +1 -1
  654. package/docs/html/types/LensError.html +1 -1
  655. package/docs/html/types/LensExecutionError.html +2 -2
  656. package/docs/html/types/LensImagePickerError.html +2 -2
  657. package/docs/html/types/LensLaunchParams.html +2 -2
  658. package/docs/html/types/LensMetricsEvents.html +2 -2
  659. package/docs/html/types/LensPerformanceCluster.html +1 -1
  660. package/docs/html/types/LensView.html +2 -2
  661. package/docs/html/types/LensWait.html +2 -2
  662. package/docs/html/types/Matrix.html +2 -2
  663. package/docs/html/types/PersistentStoreError.html +2 -2
  664. package/docs/html/types/PlatformNotSupportedError.html +2 -2
  665. package/docs/html/types/PublicContainer.html +2 -2
  666. package/docs/html/types/PublicServices.html +2 -2
  667. package/docs/html/types/RemoteApiCancelRequestHandler.html +2 -2
  668. package/docs/html/types/RemoteApiRequestHandler.html +2 -2
  669. package/docs/html/types/RemoteApiServices.html +1 -1
  670. package/docs/html/types/RemoteApiStatus.html +2 -2
  671. package/docs/html/types/RenderTarget.html +2 -2
  672. package/docs/html/types/Uri.html +1 -1
  673. package/docs/html/types/WebGLError.html +1 -1
  674. package/docs/html/types/Zodiac.html +1 -0
  675. package/docs/html/variables/extensionRequestContext.html +2 -2
  676. package/docs/md/README.md +1 -1
  677. package/docs/md/classes/CameraKit.md +1 -1
  678. package/docs/md/classes/CameraKitSession.md +1 -1
  679. package/docs/md/classes/CameraKitSource.md +1 -1
  680. package/docs/md/classes/LensPerformanceMeasurement.md +1 -1
  681. package/docs/md/classes/LensPerformanceMetrics.md +1 -1
  682. package/docs/md/classes/LensRepository.md +2 -2
  683. package/docs/md/classes/Transform2D.md +1 -1
  684. package/docs/md/classes/TypedCustomEvent.md +1 -1
  685. package/docs/md/classes/TypedEventTarget.md +1 -1
  686. package/docs/md/enums/Lens_CameraFacing.md +1 -1
  687. package/docs/md/interfaces/BitmojiUserInfo.md +22 -0
  688. package/docs/md/interfaces/CameraKitBootstrapConfiguration.md +1 -1
  689. package/docs/md/interfaces/CameraKitDeviceOptions.md +1 -1
  690. package/docs/md/interfaces/CameraKitSourceInfo.md +1 -1
  691. package/docs/md/interfaces/CameraKitSourceSubscriber.md +1 -1
  692. package/docs/md/interfaces/ComputedFrameMetrics.md +1 -1
  693. package/docs/md/interfaces/CreateSessionOptions.md +1 -1
  694. package/docs/md/interfaces/EstimatedLensPerformance.md +1 -1
  695. package/docs/md/interfaces/FriendUserInfo.md +29 -0
  696. package/docs/md/interfaces/FunctionSourceOptions.md +1 -1
  697. package/docs/md/interfaces/Lens.md +1 -1
  698. package/docs/md/interfaces/LensCreator.md +1 -1
  699. package/docs/md/interfaces/LensLaunchData.md +2 -21
  700. package/docs/md/interfaces/LensSource.md +1 -1
  701. package/docs/md/interfaces/LensUserData.md +71 -0
  702. package/docs/md/interfaces/LoadAssetRequest.md +1 -1
  703. package/docs/md/interfaces/MediaStreamSourceOptions.md +1 -1
  704. package/docs/md/interfaces/Preview.md +1 -1
  705. package/docs/md/interfaces/RemoteApiRequest.md +1 -1
  706. package/docs/md/interfaces/RemoteApiResponse.md +2 -2
  707. package/docs/md/interfaces/RemoteApiService.md +2 -2
  708. package/docs/md/interfaces/Snapcode.md +1 -1
  709. package/docs/md/interfaces/UriCancelRequest.md +1 -1
  710. package/docs/md/interfaces/UriRequest.md +1 -1
  711. package/docs/md/interfaces/UriResponse.md +1 -1
  712. package/docs/md/interfaces/VideoSourceOptions.md +1 -1
  713. package/docs/md/modules.md +23 -5
  714. package/package.json +14 -12
  715. package/docs/html/enums/UserData_Zodiac.html +0 -15
  716. package/docs/md/enums/UserData_Zodiac.md +0 -106
  717. package/lib/CameraKit.d.ts +0 -333
  718. package/lib/CameraKit.js +0 -176
  719. package/lib/CameraKit.js.map +0 -1
  720. package/lib/__tests__/data.d.ts +0 -14
  721. package/lib/__tests__/data.js +0 -69
  722. package/lib/__tests__/data.js.map +0 -1
  723. package/lib/__tests__/deferred.d.ts +0 -16
  724. package/lib/__tests__/deferred.js +0 -29
  725. package/lib/__tests__/deferred.js.map +0 -1
  726. package/lib/__tests__/jest.matchers.d.ts +0 -17
  727. package/lib/__tests__/jest.matchers.js +0 -67
  728. package/lib/__tests__/jest.matchers.js.map +0 -1
  729. package/lib/benchmark/benchmarkGflops.d.ts +0 -16
  730. package/lib/benchmark/benchmarkGflops.js +0 -129
  731. package/lib/benchmark/benchmarkGflops.js.map +0 -1
  732. package/lib/benchmark/estimateLensPerformanceCluster.d.ts +0 -33
  733. package/lib/benchmark/estimateLensPerformanceCluster.js +0 -48
  734. package/lib/benchmark/estimateLensPerformanceCluster.js.map +0 -1
  735. package/lib/benchmark/webglUtils.d.ts +0 -7
  736. package/lib/bootstrapCameraKit.d.ts +0 -96
  737. package/lib/bootstrapCameraKit.js +0 -220
  738. package/lib/bootstrapCameraKit.js.map +0 -1
  739. package/lib/clients/createTsProtoClient.d.ts +0 -40
  740. package/lib/clients/createTsProtoClient.js +0 -52
  741. package/lib/clients/createTsProtoClient.js.map +0 -1
  742. package/lib/clients/grpcHandler.d.ts +0 -26
  743. package/lib/clients/grpcHandler.js +0 -90
  744. package/lib/clients/grpcHandler.js.map +0 -1
  745. package/lib/clients/lensesClient.d.ts +0 -9
  746. package/lib/clients/lensesClient.js.map +0 -1
  747. package/lib/clients/metricsClient.d.ts +0 -26
  748. package/lib/clients/metricsClient.js +0 -120
  749. package/lib/clients/metricsClient.js.map +0 -1
  750. package/lib/common/__mocks__/loadScript.d.ts +0 -1
  751. package/lib/common/__mocks__/loadScript.js +0 -10
  752. package/lib/common/__mocks__/loadScript.js.map +0 -1
  753. package/lib/common/assertions.d.ts +0 -27
  754. package/lib/common/assertions.js +0 -39
  755. package/lib/common/assertions.js.map +0 -1
  756. package/lib/common/copyDefinedProperties.d.ts +0 -13
  757. package/lib/common/copyDefinedProperties.js +0 -16
  758. package/lib/common/copyDefinedProperties.js.map +0 -1
  759. package/lib/common/date.d.ts +0 -3
  760. package/lib/common/dialog.d.ts +0 -59
  761. package/lib/common/dialog.js +0 -160
  762. package/lib/common/dialog.js.map +0 -1
  763. package/lib/common/entries.d.ts +0 -4
  764. package/lib/common/entries.js +0 -5
  765. package/lib/common/entries.js.map +0 -1
  766. package/lib/common/errorHelpers.d.ts +0 -10
  767. package/lib/common/errorHelpers.js +0 -24
  768. package/lib/common/errorHelpers.js.map +0 -1
  769. package/lib/common/getFilename.d.ts +0 -1
  770. package/lib/common/hash.d.ts +0 -5
  771. package/lib/common/hash.js +0 -17
  772. package/lib/common/hash.js.map +0 -1
  773. package/lib/common/loadScript.d.ts +0 -6
  774. package/lib/common/loadScript.js +0 -18
  775. package/lib/common/loadScript.js.map +0 -1
  776. package/lib/common/localization.d.ts +0 -54
  777. package/lib/common/localization.js +0 -654
  778. package/lib/common/localization.js.map +0 -1
  779. package/lib/common/memoize.d.ts +0 -8
  780. package/lib/common/pageVisibility.d.ts +0 -34
  781. package/lib/common/pageVisibility.js +0 -71
  782. package/lib/common/pageVisibility.js.map +0 -1
  783. package/lib/common/result.d.ts +0 -36
  784. package/lib/common/result.js +0 -40
  785. package/lib/common/result.js.map +0 -1
  786. package/lib/common/time.d.ts +0 -2
  787. package/lib/common/typeguards.d.ts +0 -53
  788. package/lib/common/typeguards.js +0 -92
  789. package/lib/common/typeguards.js.map +0 -1
  790. package/lib/common/types.d.ts +0 -18
  791. package/lib/common/types.js.map +0 -1
  792. package/lib/common/unionBy.d.ts +0 -28
  793. package/lib/common/unionBy.js +0 -46
  794. package/lib/common/unionBy.js.map +0 -1
  795. package/lib/common/validate.d.ts +0 -14
  796. package/lib/common/validate.js +0 -112
  797. package/lib/common/validate.js.map +0 -1
  798. package/lib/configuration.d.ts +0 -101
  799. package/lib/configuration.js +0 -51
  800. package/lib/configuration.js.map +0 -1
  801. package/lib/configurationOverrides.d.ts +0 -12
  802. package/lib/configurationOverrides.js +0 -46
  803. package/lib/configurationOverrides.js.map +0 -1
  804. package/lib/dependency-injection/Container.d.ts +0 -176
  805. package/lib/dependency-injection/Container.js +0 -160
  806. package/lib/dependency-injection/Container.js.map +0 -1
  807. package/lib/dependency-injection/Injectable.d.ts +0 -95
  808. package/lib/dependency-injection/Injectable.js.map +0 -1
  809. package/lib/dependency-injection/PartialContainer.d.ts +0 -85
  810. package/lib/dependency-injection/PartialContainer.js +0 -85
  811. package/lib/dependency-injection/PartialContainer.js.map +0 -1
  812. package/lib/dependency-injection/RootServices.d.ts +0 -73
  813. package/lib/dependency-injection/RootServices.js +0 -2
  814. package/lib/dependency-injection/RootServices.js.map +0 -1
  815. package/lib/dependency-injection/types.d.ts +0 -56
  816. package/lib/dependency-injection/types.js.map +0 -1
  817. package/lib/environment.d.ts +0 -4
  818. package/lib/environment.js +0 -2
  819. package/lib/environment.js.map +0 -1
  820. package/lib/events/TypedCustomEvent.d.ts +0 -10
  821. package/lib/events/TypedCustomEvent.js +0 -11
  822. package/lib/events/TypedCustomEvent.js.map +0 -1
  823. package/lib/events/TypedEventTarget.d.ts +0 -25
  824. package/lib/events/TypedEventTarget.js +0 -57
  825. package/lib/events/TypedEventTarget.js.map +0 -1
  826. package/lib/events/scan.d.ts +0 -15
  827. package/lib/events/scan.js +0 -46
  828. package/lib/events/scan.js.map +0 -1
  829. package/lib/extensions/RemoteApiServices.d.ts +0 -101
  830. package/lib/extensions/RemoteApiServices.js +0 -203
  831. package/lib/extensions/RemoteApiServices.js.map +0 -1
  832. package/lib/extensions/UriHandlers.d.ts +0 -47
  833. package/lib/extensions/UriHandlers.js +0 -38
  834. package/lib/extensions/UriHandlers.js.map +0 -1
  835. package/lib/extensions/extensionRequestContext.d.ts +0 -4
  836. package/lib/extensions/extensionRequestContext.js +0 -14
  837. package/lib/extensions/extensionRequestContext.js.map +0 -1
  838. package/lib/extensions/uriHandlersRegister.d.ts +0 -21
  839. package/lib/extensions/uriHandlersRegister.js +0 -72
  840. package/lib/extensions/uriHandlersRegister.js.map +0 -1
  841. package/lib/generated-proto/blizzard/cameraKitEvents.d.ts +0 -9527
  842. package/lib/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +0 -79
  843. package/lib/generated-proto/pb_schema/camera_kit/v3/export.d.ts +0 -528
  844. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +0 -34
  845. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +0 -43
  846. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +0 -1
  847. package/lib/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +0 -29
  848. package/lib/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +0 -85
  849. package/lib/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +0 -384
  850. package/lib/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +0 -178
  851. package/lib/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +0 -56
  852. package/lib/generated-proto/pb_schema/camera_kit/v3/service.d.ts +0 -2511
  853. package/lib/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +0 -78
  854. package/lib/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +0 -50
  855. package/lib/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +0 -25574
  856. package/lib/generated-proto/pb_schema/cdp/cof/config_request.d.ts +0 -279
  857. package/lib/generated-proto/pb_schema/cdp/cof/config_response.d.ts +0 -3725
  858. package/lib/generated-proto/pb_schema/cdp/cof/config_result.d.ts +0 -10223
  859. package/lib/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +0 -93
  860. package/lib/generated-proto/pb_schema/cdp/cof/namespace.d.ts +0 -8
  861. package/lib/generated-proto/pb_schema/common/ruid.d.ts +0 -51
  862. package/lib/generated-proto/pb_schema/common/value.d.ts +0 -144
  863. package/lib/generated-proto/pb_schema/google/api/annotations.d.ts +0 -1
  864. package/lib/generated-proto/pb_schema/google/api/annotations.js +0 -9
  865. package/lib/generated-proto/pb_schema/google/api/annotations.js.map +0 -1
  866. package/lib/generated-proto/pb_schema/google/api/http.d.ts +0 -3630
  867. package/lib/generated-proto/pb_schema/google/api/http.js +0 -194
  868. package/lib/generated-proto/pb_schema/google/api/http.js.map +0 -1
  869. package/lib/generated-proto/pb_schema/google/protobuf/any.d.ts +0 -32
  870. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +0 -50896
  871. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js +0 -1857
  872. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js.map +0 -1
  873. package/lib/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +0 -32
  874. package/lib/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +0 -119
  875. package/lib/generated-proto/pb_schema/lenses/geocircle.d.ts +0 -42
  876. package/lib/generated-proto/pb_schema/lenses/geopoint.d.ts +0 -32
  877. package/lib/generated-proto/pb_schema/lenses/launch_params.d.ts +0 -29
  878. package/lib/generated-proto/pb_schema/lenses/launchdata.d.ts +0 -396
  879. package/lib/generated-proto/pb_schema/lenses/lures.d.ts +0 -111
  880. package/lib/generated-proto/pb_schema/lenses/persistent_store.d.ts +0 -29
  881. package/lib/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +0 -569
  882. package/lib/generated-proto/pb_schema/lenses/snappable.d.ts +0 -902
  883. package/lib/generated-proto/pb_schema/lenses/user_data.d.ts +0 -229
  884. package/lib/handlers/HandlerChainBuilder.d.ts +0 -110
  885. package/lib/handlers/HandlerChainBuilder.js +0 -199
  886. package/lib/handlers/HandlerChainBuilder.js.map +0 -1
  887. package/lib/handlers/arrayBufferParsingHandler.d.ts +0 -10
  888. package/lib/handlers/arrayBufferParsingHandler.js +0 -18
  889. package/lib/handlers/arrayBufferParsingHandler.js.map +0 -1
  890. package/lib/handlers/batchingHandler.d.ts +0 -31
  891. package/lib/handlers/batchingHandler.js +0 -76
  892. package/lib/handlers/batchingHandler.js.map +0 -1
  893. package/lib/handlers/cameraKitServiceFetchHandlerFactory.d.ts +0 -12
  894. package/lib/handlers/cameraKitServiceFetchHandlerFactory.js +0 -19
  895. package/lib/handlers/cameraKitServiceFetchHandlerFactory.js.map +0 -1
  896. package/lib/handlers/debugHandler.d.ts +0 -8
  897. package/lib/handlers/debugHandler.js +0 -27
  898. package/lib/handlers/debugHandler.js.map +0 -1
  899. package/lib/handlers/defaultFetchHandler.d.ts +0 -15
  900. package/lib/handlers/defaultFetchHandler.js +0 -38
  901. package/lib/handlers/defaultFetchHandler.js.map +0 -1
  902. package/lib/handlers/headersModifyingFetchHandler.d.ts +0 -8
  903. package/lib/handlers/headersModifyingFetchHandler.js +0 -17
  904. package/lib/handlers/headersModifyingFetchHandler.js.map +0 -1
  905. package/lib/handlers/mappingHandler.d.ts +0 -19
  906. package/lib/handlers/mappingHandler.js +0 -67
  907. package/lib/handlers/mappingHandler.js.map +0 -1
  908. package/lib/handlers/noCorsRetryingFetchHandler.d.ts +0 -48
  909. package/lib/handlers/noCorsRetryingFetchHandler.js +0 -95
  910. package/lib/handlers/noCorsRetryingFetchHandler.js.map +0 -1
  911. package/lib/handlers/persistingHandler.d.ts +0 -14
  912. package/lib/handlers/persistingHandler.js +0 -71
  913. package/lib/handlers/persistingHandler.js.map +0 -1
  914. package/lib/handlers/rateLimitingHandler.d.ts +0 -24
  915. package/lib/handlers/rateLimitingHandler.js +0 -45
  916. package/lib/handlers/rateLimitingHandler.js.map +0 -1
  917. package/lib/handlers/requestStateEmittingHandler.d.ts +0 -41
  918. package/lib/handlers/requestStateEmittingHandler.js +0 -45
  919. package/lib/handlers/requestStateEmittingHandler.js.map +0 -1
  920. package/lib/handlers/responseCachingHandler.d.ts +0 -34
  921. package/lib/handlers/responseCachingHandler.js +0 -109
  922. package/lib/handlers/responseCachingHandler.js.map +0 -1
  923. package/lib/handlers/retryingHandler.d.ts +0 -48
  924. package/lib/handlers/retryingHandler.js +0 -86
  925. package/lib/handlers/retryingHandler.js.map +0 -1
  926. package/lib/handlers/timeoutHandler.d.ts +0 -18
  927. package/lib/handlers/timeoutHandler.js +0 -30
  928. package/lib/handlers/timeoutHandler.js.map +0 -1
  929. package/lib/handlers/utils.d.ts +0 -12
  930. package/lib/handlers/utils.js +0 -19
  931. package/lib/handlers/utils.js.map +0 -1
  932. package/lib/index.d.ts +0 -42
  933. package/lib/index.js +0 -36
  934. package/lib/index.js.map +0 -1
  935. package/lib/legal/legalPrompt.d.ts +0 -20
  936. package/lib/legal/legalPrompt.js +0 -135
  937. package/lib/legal/legalPrompt.js.map +0 -1
  938. package/lib/legal/legalState.d.ts +0 -50
  939. package/lib/legal/legalState.js +0 -163
  940. package/lib/legal/legalState.js.map +0 -1
  941. package/lib/lens/Lens.d.ts +0 -115
  942. package/lib/lens/Lens.js +0 -84
  943. package/lib/lens/Lens.js.map +0 -1
  944. package/lib/lens/LensLaunchData.d.ts +0 -40
  945. package/lib/lens/LensLaunchData.js +0 -37
  946. package/lib/lens/LensLaunchData.js.map +0 -1
  947. package/lib/lens/LensPersistenceStore.d.ts +0 -7
  948. package/lib/lens/LensPersistenceStore.js.map +0 -1
  949. package/lib/lens/LensRepository.d.ts +0 -137
  950. package/lib/lens/LensRepository.js +0 -237
  951. package/lib/lens/LensRepository.js.map +0 -1
  952. package/lib/lens/LensSource.d.ts +0 -43
  953. package/lib/lens/LensSource.js +0 -42
  954. package/lib/lens/LensSource.js.map +0 -1
  955. package/lib/lens/assets/LensAssetRepository.d.ts +0 -99
  956. package/lib/lens/assets/LensAssetRepository.js +0 -184
  957. package/lib/lens/assets/LensAssetRepository.js.map +0 -1
  958. package/lib/lens/assets/LensAssetsProvider.d.ts +0 -27
  959. package/lib/lens/assets/LensAssetsProvider.js +0 -68
  960. package/lib/lens/assets/LensAssetsProvider.js.map +0 -1
  961. package/lib/lens/assets/deviceDependentAssetLoader.d.ts +0 -11
  962. package/lib/lens/assets/deviceDependentAssetLoader.js +0 -59
  963. package/lib/lens/assets/deviceDependentAssetLoader.js.map +0 -1
  964. package/lib/lens/assets/remoteMediaAssetLoaderFactory.d.ts +0 -10
  965. package/lib/lens/assets/remoteMediaAssetLoaderFactory.js +0 -27
  966. package/lib/lens/assets/remoteMediaAssetLoaderFactory.js.map +0 -1
  967. package/lib/lens/assets/staticAssetLoader.d.ts +0 -10
  968. package/lib/lens/assets/staticAssetLoader.js +0 -25
  969. package/lib/lens/assets/staticAssetLoader.js.map +0 -1
  970. package/lib/lens/cameraKitLensSource.d.ts +0 -16
  971. package/lib/lens/cameraKitLensSource.js +0 -59
  972. package/lib/lens/cameraKitLensSource.js.map +0 -1
  973. package/lib/lens-client-interface/exif.d.ts +0 -20
  974. package/lib/lens-client-interface/exif.js +0 -61
  975. package/lib/lens-client-interface/exif.js.map +0 -1
  976. package/lib/lens-client-interface/imagePicker.d.ts +0 -8
  977. package/lib/lens-client-interface/imagePicker.js +0 -128
  978. package/lib/lens-client-interface/imagePicker.js.map +0 -1
  979. package/lib/lens-client-interface/lensClientInterface.d.ts +0 -13
  980. package/lib/lens-client-interface/lensClientInterface.js +0 -30
  981. package/lib/lens-client-interface/lensClientInterface.js.map +0 -1
  982. package/lib/lens-core-module/generated-types.d.ts +0 -469
  983. package/lib/lens-core-module/lensCore.d.ts +0 -43
  984. package/lib/lens-core-module/lensCore.js +0 -59
  985. package/lib/lens-core-module/lensCore.js.map +0 -1
  986. package/lib/lens-core-module/lensCoreError.d.ts +0 -15
  987. package/lib/lens-core-module/lensCoreError.js +0 -43
  988. package/lib/lens-core-module/lensCoreError.js.map +0 -1
  989. package/lib/lens-core-module/loader/bootstrapURLs.d.ts +0 -12
  990. package/lib/lens-core-module/loader/bootstrapURLs.js +0 -48
  991. package/lib/lens-core-module/loader/bootstrapURLs.js.map +0 -1
  992. package/lib/lens-core-module/loader/lensCoreFactory.d.ts +0 -17
  993. package/lib/lens-core-module/loader/lensCoreFactory.js +0 -76
  994. package/lib/lens-core-module/loader/lensCoreFactory.js.map +0 -1
  995. package/lib/lensCoreWasmVersions.d.ts +0 -6
  996. package/lib/lensCoreWasmVersions.js +0 -6
  997. package/lib/lensCoreWasmVersions.js.map +0 -1
  998. package/lib/logger/errorLoggingDecorator.d.ts +0 -9
  999. package/lib/logger/errorLoggingDecorator.js +0 -32
  1000. package/lib/logger/errorLoggingDecorator.js.map +0 -1
  1001. package/lib/logger/logEntries.d.ts +0 -15
  1002. package/lib/logger/logEntries.js +0 -14
  1003. package/lib/logger/logEntries.js.map +0 -1
  1004. package/lib/logger/logger.d.ts +0 -40
  1005. package/lib/logger/logger.js +0 -53
  1006. package/lib/logger/logger.js.map +0 -1
  1007. package/lib/logger/registerLogEntriesSubscriber.d.ts +0 -14
  1008. package/lib/logger/registerLogEntriesSubscriber.js +0 -35
  1009. package/lib/logger/registerLogEntriesSubscriber.js.map +0 -1
  1010. package/lib/media-sources/CameraKitSource.d.ts +0 -126
  1011. package/lib/media-sources/CameraKitSource.js +0 -138
  1012. package/lib/media-sources/CameraKitSource.js.map +0 -1
  1013. package/lib/media-sources/FunctionSource.d.ts +0 -41
  1014. package/lib/media-sources/FunctionSource.js +0 -128
  1015. package/lib/media-sources/FunctionSource.js.map +0 -1
  1016. package/lib/media-sources/ImageSource.d.ts +0 -11
  1017. package/lib/media-sources/ImageSource.js +0 -16
  1018. package/lib/media-sources/ImageSource.js.map +0 -1
  1019. package/lib/media-sources/MediaStreamSource.d.ts +0 -29
  1020. package/lib/media-sources/MediaStreamSource.js +0 -137
  1021. package/lib/media-sources/MediaStreamSource.js.map +0 -1
  1022. package/lib/media-sources/VideoSource.d.ts +0 -25
  1023. package/lib/media-sources/VideoSource.js +0 -22
  1024. package/lib/media-sources/VideoSource.js.map +0 -1
  1025. package/lib/metrics/businessEventsReporter.d.ts +0 -39
  1026. package/lib/metrics/businessEventsReporter.js +0 -195
  1027. package/lib/metrics/businessEventsReporter.js.map +0 -1
  1028. package/lib/metrics/metricsEventTarget.d.ts +0 -41
  1029. package/lib/metrics/metricsEventTarget.js +0 -11
  1030. package/lib/metrics/metricsEventTarget.js.map +0 -1
  1031. package/lib/metrics/operational/Count.d.ts +0 -19
  1032. package/lib/metrics/operational/Count.js +0 -33
  1033. package/lib/metrics/operational/Count.js.map +0 -1
  1034. package/lib/metrics/operational/Histogram.d.ts +0 -17
  1035. package/lib/metrics/operational/Histogram.js +0 -27
  1036. package/lib/metrics/operational/Histogram.js.map +0 -1
  1037. package/lib/metrics/operational/Metric.d.ts +0 -20
  1038. package/lib/metrics/operational/Metric.js +0 -28
  1039. package/lib/metrics/operational/Metric.js.map +0 -1
  1040. package/lib/metrics/operational/Timer.d.ts +0 -94
  1041. package/lib/metrics/operational/Timer.js +0 -108
  1042. package/lib/metrics/operational/Timer.js.map +0 -1
  1043. package/lib/metrics/reporters/reportBenchmarks.d.ts +0 -10
  1044. package/lib/metrics/reporters/reportBenchmarks.js +0 -30
  1045. package/lib/metrics/reporters/reportBenchmarks.js.map +0 -1
  1046. package/lib/metrics/reporters/reportGlobalException.d.ts +0 -26
  1047. package/lib/metrics/reporters/reportGlobalException.js +0 -106
  1048. package/lib/metrics/reporters/reportGlobalException.js.map +0 -1
  1049. package/lib/metrics/reporters/reportHttpMetrics.d.ts +0 -10
  1050. package/lib/metrics/reporters/reportHttpMetrics.js +0 -110
  1051. package/lib/metrics/reporters/reportHttpMetrics.js.map +0 -1
  1052. package/lib/metrics/reporters/reportLegalState.d.ts +0 -15
  1053. package/lib/metrics/reporters/reportLegalState.js +0 -32
  1054. package/lib/metrics/reporters/reportLegalState.js.map +0 -1
  1055. package/lib/metrics/reporters/reportLensAndAssetDownload.d.ts +0 -38
  1056. package/lib/metrics/reporters/reportLensAndAssetDownload.js +0 -92
  1057. package/lib/metrics/reporters/reportLensAndAssetDownload.js.map +0 -1
  1058. package/lib/metrics/reporters/reportLensValidationFailed.d.ts +0 -20
  1059. package/lib/metrics/reporters/reportLensValidationFailed.js +0 -24
  1060. package/lib/metrics/reporters/reportLensValidationFailed.js.map +0 -1
  1061. package/lib/metrics/reporters/reportLensView.d.ts +0 -36
  1062. package/lib/metrics/reporters/reportLensView.js +0 -137
  1063. package/lib/metrics/reporters/reportLensView.js.map +0 -1
  1064. package/lib/metrics/reporters/reportLensWait.d.ts +0 -32
  1065. package/lib/metrics/reporters/reportLensWait.js +0 -60
  1066. package/lib/metrics/reporters/reportLensWait.js.map +0 -1
  1067. package/lib/metrics/reporters/reportPlatformCapabilities.d.ts +0 -12
  1068. package/lib/metrics/reporters/reportPlatformCapabilities.js +0 -19
  1069. package/lib/metrics/reporters/reportPlatformCapabilities.js.map +0 -1
  1070. package/lib/metrics/reporters/reportSessionException.d.ts +0 -17
  1071. package/lib/metrics/reporters/reportSessionException.js +0 -12
  1072. package/lib/metrics/reporters/reportSessionException.js.map +0 -1
  1073. package/lib/metrics/reporters/reportUserSession.d.ts +0 -14
  1074. package/lib/metrics/reporters/reportUserSession.js +0 -66
  1075. package/lib/metrics/reporters/reportUserSession.js.map +0 -1
  1076. package/lib/metrics/reporters/reporters.d.ts +0 -46
  1077. package/lib/metrics/reporters/reporters.js +0 -35
  1078. package/lib/metrics/reporters/reporters.js.map +0 -1
  1079. package/lib/namedErrors.d.ts +0 -124
  1080. package/lib/namedErrors.js +0 -58
  1081. package/lib/namedErrors.js.map +0 -1
  1082. package/lib/observable-operators/unsubscribed.d.ts +0 -12
  1083. package/lib/observable-operators/unsubscribed.js +0 -27
  1084. package/lib/observable-operators/unsubscribed.js.map +0 -1
  1085. package/lib/persistence/ExpiringPersistence.d.ts +0 -21
  1086. package/lib/persistence/ExpiringPersistence.js +0 -71
  1087. package/lib/persistence/ExpiringPersistence.js.map +0 -1
  1088. package/lib/persistence/IndexedDBPersistence.d.ts +0 -47
  1089. package/lib/persistence/IndexedDBPersistence.js +0 -190
  1090. package/lib/persistence/IndexedDBPersistence.js.map +0 -1
  1091. package/lib/persistence/Persistence.d.ts +0 -25
  1092. package/lib/persistence/Persistence.js +0 -10
  1093. package/lib/persistence/Persistence.js.map +0 -1
  1094. package/lib/platform/assertPlatformSupported.d.ts +0 -4
  1095. package/lib/platform/assertPlatformSupported.js +0 -15
  1096. package/lib/platform/assertPlatformSupported.js.map +0 -1
  1097. package/lib/platform/cameraKitUserAgent.d.ts +0 -2
  1098. package/lib/platform/cameraKitUserAgent.js +0 -20
  1099. package/lib/platform/cameraKitUserAgent.js.map +0 -1
  1100. package/lib/platform/platformCapabilities.d.ts +0 -50
  1101. package/lib/platform/platformCapabilities.js +0 -128
  1102. package/lib/platform/platformCapabilities.js.map +0 -1
  1103. package/lib/platform/platformInfo.d.ts +0 -43
  1104. package/lib/platform/platformInfo.js +0 -228
  1105. package/lib/platform/platformInfo.js.map +0 -1
  1106. package/lib/remote-configuration/cofHandler.d.ts +0 -29
  1107. package/lib/remote-configuration/cofHandler.js +0 -115
  1108. package/lib/remote-configuration/cofHandler.js.map +0 -1
  1109. package/lib/remote-configuration/preloadConfiguration.d.ts +0 -7
  1110. package/lib/remote-configuration/preloadConfiguration.js +0 -15
  1111. package/lib/remote-configuration/preloadConfiguration.js.map +0 -1
  1112. package/lib/remote-configuration/remoteConfiguration.d.ts +0 -34
  1113. package/lib/remote-configuration/remoteConfiguration.js +0 -73
  1114. package/lib/remote-configuration/remoteConfiguration.js.map +0 -1
  1115. package/lib/session/CameraKitSession.d.ts +0 -255
  1116. package/lib/session/CameraKitSession.js +0 -440
  1117. package/lib/session/CameraKitSession.js.map +0 -1
  1118. package/lib/session/CameraKitSessionEvents.d.ts +0 -37
  1119. package/lib/session/CameraKitSessionEvents.js +0 -38
  1120. package/lib/session/CameraKitSessionEvents.js.map +0 -1
  1121. package/lib/session/LensKeyboard.d.ts +0 -94
  1122. package/lib/session/LensKeyboard.js +0 -95
  1123. package/lib/session/LensKeyboard.js.map +0 -1
  1124. package/lib/session/LensPerformanceMeasurement.d.ts +0 -57
  1125. package/lib/session/LensPerformanceMeasurement.js +0 -114
  1126. package/lib/session/LensPerformanceMeasurement.js.map +0 -1
  1127. package/lib/session/LensPerformanceMetrics.d.ts +0 -31
  1128. package/lib/session/LensPerformanceMetrics.js +0 -59
  1129. package/lib/session/LensPerformanceMetrics.js.map +0 -1
  1130. package/lib/session/lensState.d.ts +0 -30
  1131. package/lib/session/lensState.js +0 -238
  1132. package/lib/session/lensState.js.map +0 -1
  1133. package/lib/session/sessionState.d.ts +0 -10
  1134. package/lib/session/sessionState.js.map +0 -1
  1135. package/lib/transforms/Transform2D.d.ts +0 -22
  1136. package/lib/transforms/Transform2D.js +0 -19
  1137. package/lib/transforms/Transform2D.js.map +0 -1
  1138. package/lib/utils.d.ts +0 -3
  1139. /package/{lib → dist}/benchmark/webglUtils.js +0 -0
  1140. /package/{lib → dist}/benchmark/webglUtils.js.map +0 -0
  1141. /package/{lib → dist}/clients/lensesClient.js +0 -0
  1142. /package/{lib → dist}/common/date.js +0 -0
  1143. /package/{lib → dist}/common/date.js.map +0 -0
  1144. /package/{lib → dist}/common/getFilename.js +0 -0
  1145. /package/{lib → dist}/common/getFilename.js.map +0 -0
  1146. /package/{lib → dist}/common/memoize.js +0 -0
  1147. /package/{lib → dist}/common/memoize.js.map +0 -0
  1148. /package/{lib → dist}/common/time.js +0 -0
  1149. /package/{lib → dist}/common/time.js.map +0 -0
  1150. /package/{lib → dist}/common/types.js +0 -0
  1151. /package/{lib → dist}/dependency-injection/Injectable.js +0 -0
  1152. /package/{lib → dist}/dependency-injection/types.js +0 -0
  1153. /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js +0 -0
  1154. /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js.map +0 -0
  1155. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js +0 -0
  1156. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js.map +0 -0
  1157. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js +0 -0
  1158. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js.map +0 -0
  1159. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js +0 -0
  1160. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js.map +0 -0
  1161. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js +0 -0
  1162. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js.map +0 -0
  1163. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js +0 -0
  1164. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js.map +0 -0
  1165. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js +0 -0
  1166. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js.map +0 -0
  1167. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js +0 -0
  1168. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js.map +0 -0
  1169. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js +0 -0
  1170. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js.map +0 -0
  1171. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js +0 -0
  1172. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js.map +0 -0
  1173. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js +0 -0
  1174. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js.map +0 -0
  1175. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js +0 -0
  1176. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js.map +0 -0
  1177. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js +0 -0
  1178. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js.map +0 -0
  1179. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js +0 -0
  1180. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js.map +0 -0
  1181. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js +0 -0
  1182. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js.map +0 -0
  1183. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js +0 -0
  1184. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js.map +0 -0
  1185. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js +0 -0
  1186. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js.map +0 -0
  1187. /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js +0 -0
  1188. /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js.map +0 -0
  1189. /package/{lib → dist}/generated-proto/pb_schema/common/value.js +0 -0
  1190. /package/{lib → dist}/generated-proto/pb_schema/common/value.js.map +0 -0
  1191. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js +0 -0
  1192. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js.map +0 -0
  1193. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js +0 -0
  1194. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js.map +0 -0
  1195. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js +0 -0
  1196. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js.map +0 -0
  1197. /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js +0 -0
  1198. /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js.map +0 -0
  1199. /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js +0 -0
  1200. /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js.map +0 -0
  1201. /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js +0 -0
  1202. /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js.map +0 -0
  1203. /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js +0 -0
  1204. /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js.map +0 -0
  1205. /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js +0 -0
  1206. /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js.map +0 -0
  1207. /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js +0 -0
  1208. /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js.map +0 -0
  1209. /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js +0 -0
  1210. /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js.map +0 -0
  1211. /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js +0 -0
  1212. /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js.map +0 -0
  1213. /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js +0 -0
  1214. /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js.map +0 -0
  1215. /package/{lib → dist}/lens/LensPersistenceStore.js +0 -0
  1216. /package/{lib → dist}/lens-core-module/generated-types.js +0 -0
  1217. /package/{lib → dist}/lens-core-module/generated-types.js.map +0 -0
  1218. /package/{lib → dist}/session/sessionState.js +0 -0
  1219. /package/{lib → dist}/utils.js +0 -0
  1220. /package/{lib → dist}/utils.js.map +0 -0
@@ -0,0 +1,19 @@
1
+ import type { OperationalMetric } from "../../generated-proto/pb_schema/camera_kit/v3/operational_metrics";
2
+ import type { MetricDimensions } from "./Metric";
3
+ import { Metric } from "./Metric";
4
+ /** @internal */
5
+ export type HistogramMetric = OperationalMetric & {
6
+ metric: Extract<OperationalMetric["metric"], {
7
+ $case: "histogram";
8
+ }>;
9
+ };
10
+ /** @internal */
11
+ export declare class Histogram extends Metric {
12
+ readonly name: string;
13
+ static level(name: string, level: number, dimensions?: MetricDimensions): Histogram;
14
+ private readonly levels;
15
+ constructor(name: string, dimensions?: MetricDimensions);
16
+ add(level: number): void;
17
+ toOperationalMetric(): HistogramMetric[];
18
+ }
19
+ //# sourceMappingURL=Histogram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Histogram.d.ts","sourceRoot":"","sources":["../../../src/metrics/operational/Histogram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAC3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,MAAM,EAA6B,MAAM,UAAU,CAAC;AAE7D,gBAAgB;AAChB,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAC9C,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC,CAAC;CACxE,CAAC;AAEF,gBAAgB;AAChB,qBAAa,SAAU,SAAQ,MAAM;IASrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IARjC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,gBAAqB,GAAG,SAAS;IAMvF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAElB,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,gBAAqB;IAIpE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIxB,mBAAmB,IAAI,eAAe,EAAE;CAS3C"}
@@ -0,0 +1,26 @@
1
+ import { Metric, serializeMetricDimensions } from "./Metric";
2
+ export class Histogram extends Metric {
3
+ static level(name, level, dimensions = {}) {
4
+ const histogram = new Histogram(name, dimensions);
5
+ histogram.add(level);
6
+ return histogram;
7
+ }
8
+ constructor(name, dimensions = {}) {
9
+ super(name, dimensions);
10
+ this.name = name;
11
+ this.levels = [];
12
+ }
13
+ add(level) {
14
+ this.levels.push(level);
15
+ }
16
+ toOperationalMetric() {
17
+ const timestamp = new Date();
18
+ const name = `${this.name}${serializeMetricDimensions(this.dimensions)}`;
19
+ return this.levels.map((level) => ({
20
+ name,
21
+ timestamp,
22
+ metric: { $case: "histogram", histogram: `${Math.ceil(level)}` },
23
+ }));
24
+ }
25
+ }
26
+ //# sourceMappingURL=Histogram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Histogram.js","sourceRoot":"","sources":["../../../src/metrics/operational/Histogram.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAQ7D,MAAM,OAAO,SAAU,SAAQ,MAAM;IACjC,MAAM,CAAC,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,aAA+B,EAAE;QACvE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IAID,YAAqB,IAAY,EAAE,aAA+B,EAAE;QAChE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QADP,SAAI,GAAJ,IAAI,CAAQ;QAFhB,WAAM,GAAa,EAAE,CAAC;IAIvC,CAAC;IAED,GAAG,CAAC,KAAa;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,mBAAmB;QACf,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI;YACJ,SAAS;YACT,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;SACnE,CAAC,CAAC,CAAC;IACR,CAAC;CACJ","sourcesContent":["import type { OperationalMetric } from \"../../generated-proto/pb_schema/camera_kit/v3/operational_metrics\";\nimport type { MetricDimensions } from \"./Metric\";\nimport { Metric, serializeMetricDimensions } from \"./Metric\";\n\n/** @internal */\nexport type HistogramMetric = OperationalMetric & {\n metric: Extract<OperationalMetric[\"metric\"], { $case: \"histogram\" }>;\n};\n\n/** @internal */\nexport class Histogram extends Metric {\n static level(name: string, level: number, dimensions: MetricDimensions = {}): Histogram {\n const histogram = new Histogram(name, dimensions);\n histogram.add(level);\n return histogram;\n }\n\n private readonly levels: number[] = [];\n\n constructor(readonly name: string, dimensions: MetricDimensions = {}) {\n super(name, dimensions);\n }\n\n add(level: number): void {\n this.levels.push(level);\n }\n\n toOperationalMetric(): HistogramMetric[] {\n const timestamp = new Date();\n const name = `${this.name}${serializeMetricDimensions(this.dimensions)}`;\n return this.levels.map((level) => ({\n name,\n timestamp,\n metric: { $case: \"histogram\", histogram: `${Math.ceil(level)}` },\n }));\n }\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import type { OperationalMetric } from "../../generated-proto/pb_schema/camera_kit/v3/operational_metrics";
2
+ type MetricConstructor<T> = new (name: string, dimensions: MetricDimensions) => T;
3
+ declare const nameDelimiter = "_";
4
+ /** @internal */
5
+ export type MetricDimensions = Record<string, string | number>;
6
+ /** @internal */
7
+ export declare abstract class Metric {
8
+ readonly name: string;
9
+ readonly dimensions: MetricDimensions;
10
+ constructor(name: string, dimensions?: MetricDimensions);
11
+ child<ChildName extends string, T extends Metric>(constructor: MetricConstructor<T>, name: ChildName, dimensions?: MetricDimensions): T;
12
+ abstract toOperationalMetric(): Required<OperationalMetric>[];
13
+ }
14
+ /** @internal */
15
+ export type JoinMetricNames<Parent extends string, Child extends string> = `${Parent}${typeof nameDelimiter}${Child}`;
16
+ /** @internal */
17
+ export declare function joinMetricNames(names: string[]): string;
18
+ /** @internal */
19
+ export declare function serializeMetricDimensions(dimensions: MetricDimensions): string;
20
+ export {};
21
+ //# sourceMappingURL=Metric.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metric.d.ts","sourceRoot":"","sources":["../../../src/metrics/operational/Metric.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAE3G,KAAK,iBAAiB,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,KAAK,CAAC,CAAC;AAElF,QAAA,MAAM,aAAa,MAAM,CAAC;AAI1B,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAE/D,gBAAgB;AAChB,8BAAsB,MAAM;IACZ,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,CAAC,UAAU,EAAE,gBAAgB;gBAAnD,IAAI,EAAE,MAAM,EAAW,UAAU,GAAE,gBAAqB;IAE7E,KAAK,CAAC,SAAS,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC5C,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACjC,IAAI,EAAE,SAAS,EACf,UAAU,GAAE,gBAAqB,GAClC,CAAC;IAIJ,QAAQ,CAAC,mBAAmB,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE;CAChE;AAED,gBAAgB;AAChB,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,aAAa,GAAG,KAAK,EAAE,CAAC;AAEtH,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvD;AAED,gBAAgB;AAChB,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAO9E"}
@@ -0,0 +1,23 @@
1
+ const nameDelimiter = "_";
2
+ const dimensionDelimiter = ".";
3
+ const delimiterRegex = new RegExp(`^${nameDelimiter}+|${nameDelimiter}+$`, "g");
4
+ export class Metric {
5
+ constructor(name, dimensions = {}) {
6
+ this.name = name;
7
+ this.dimensions = dimensions;
8
+ }
9
+ child(constructor, name, dimensions = {}) {
10
+ return new constructor(`${this.name}${nameDelimiter}${name}`, dimensions);
11
+ }
12
+ }
13
+ export function joinMetricNames(names) {
14
+ return names.join(nameDelimiter).replace(delimiterRegex, "");
15
+ }
16
+ export function serializeMetricDimensions(dimensions) {
17
+ if (Object.keys(dimensions).length === 0)
18
+ return "";
19
+ return `${dimensionDelimiter}${Array.from(Object.entries(dimensions))
20
+ .map((d) => d.join(dimensionDelimiter))
21
+ .join(dimensionDelimiter)}`;
22
+ }
23
+ //# sourceMappingURL=Metric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metric.js","sourceRoot":"","sources":["../../../src/metrics/operational/Metric.ts"],"names":[],"mappings":"AAIA,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,IAAI,aAAa,KAAK,aAAa,IAAI,EAAE,GAAG,CAAC,CAAC;AAMhF,MAAM,OAAgB,MAAM;IACxB,YAAqB,IAAY,EAAW,aAA+B,EAAE;QAAxD,SAAI,GAAJ,IAAI,CAAQ;QAAW,eAAU,GAAV,UAAU,CAAuB;IAAG,CAAC;IAEjF,KAAK,CACD,WAAiC,EACjC,IAAe,EACf,aAA+B,EAAE;QAEjC,OAAO,IAAI,WAAW,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,aAAa,GAAG,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;CAGJ;AAMD,MAAM,UAAU,eAAe,CAAC,KAAe;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC;AAGD,MAAM,UAAU,yBAAyB,CAAC,UAA4B;IAClE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAGpD,OAAO,GAAG,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAChE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACtC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;AACpC,CAAC","sourcesContent":["import type { OperationalMetric } from \"../../generated-proto/pb_schema/camera_kit/v3/operational_metrics\";\n\ntype MetricConstructor<T> = new (name: string, dimensions: MetricDimensions) => T;\n\nconst nameDelimiter = \"_\";\nconst dimensionDelimiter = \".\";\nconst delimiterRegex = new RegExp(`^${nameDelimiter}+|${nameDelimiter}+$`, \"g\");\n\n/** @internal */\nexport type MetricDimensions = Record<string, string | number>;\n\n/** @internal */\nexport abstract class Metric {\n constructor(readonly name: string, readonly dimensions: MetricDimensions = {}) {}\n\n child<ChildName extends string, T extends Metric>(\n constructor: MetricConstructor<T>,\n name: ChildName,\n dimensions: MetricDimensions = {}\n ): T {\n return new constructor(`${this.name}${nameDelimiter}${name}`, dimensions);\n }\n\n abstract toOperationalMetric(): Required<OperationalMetric>[];\n}\n\n/** @internal */\nexport type JoinMetricNames<Parent extends string, Child extends string> = `${Parent}${typeof nameDelimiter}${Child}`;\n\n/** @internal */\nexport function joinMetricNames(names: string[]): string {\n return names.join(nameDelimiter).replace(delimiterRegex, \"\");\n}\n\n/** @internal */\nexport function serializeMetricDimensions(dimensions: MetricDimensions): string {\n if (Object.keys(dimensions).length === 0) return \"\";\n // The order in which we'll iterate over the dimension keys is governed by the (rather complex) rules for object\n // key iteration in JS -- since ES2015, for string keys of own properties, this is insertion order.\n return `${dimensionDelimiter}${Array.from(Object.entries(dimensions))\n .map((d) => d.join(dimensionDelimiter))\n .join(dimensionDelimiter)}`;\n}\n"]}
@@ -0,0 +1,96 @@
1
+ import type { MetricsClient } from "../../clients/metricsClient";
2
+ import type { OperationalMetric } from "../../generated-proto/pb_schema/camera_kit/v3/operational_metrics";
3
+ import type { JoinMetricNames, MetricDimensions } from "./Metric";
4
+ import { Metric } from "./Metric";
5
+ interface Measure {
6
+ name: string;
7
+ duration: number;
8
+ dimensions: MetricDimensions;
9
+ }
10
+ /** @internal */
11
+ export type LatencyMetric = OperationalMetric & {
12
+ metric: Extract<OperationalMetric["metric"], {
13
+ $case: "latencyMillis";
14
+ }>;
15
+ };
16
+ /** @internal */
17
+ export declare class Timer<Name extends string> extends Metric {
18
+ readonly name: Name;
19
+ private readonly marks;
20
+ private readonly measures;
21
+ private readonly startTime;
22
+ private stopped;
23
+ constructor(name: Name, dimensions?: MetricDimensions);
24
+ /**
25
+ * Return all measures created by this Timer and any child timers.
26
+ */
27
+ getMeasures(): ReadonlyArray<Measure>;
28
+ /**
29
+ * Create a child Timer, using this Timer's name as a prefix when naming the new Timer. Any measures made with the
30
+ * child Timer will be included when calling `getMeasures()` on this Timer, or when calling `toOperationalMetric`
31
+ * on this Timer.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const parent = new Timer('parent')
36
+ * const child = parent.mark('child') // child metric name is parent_child.
37
+ *
38
+ * child.measure()
39
+ * const measures = parent.getMeasures() // has one element.
40
+ * ```
41
+ *
42
+ * @param name
43
+ * @param dimensions If omitted, the child timer will NOT inherit dimensions from the parent -- if the child timer
44
+ * should re-use the parent's dimensions, this must be done explicitly by passing the parent's dimensions as an
45
+ * argument here.
46
+ * @returns A child Timer.
47
+ */
48
+ mark<MarkName extends string>(name: MarkName, dimensions?: MetricDimensions): Timer<JoinMetricNames<Name, MarkName>>;
49
+ /**
50
+ * Measure the time (in milliseconds) since this Timer was created.
51
+ *
52
+ * If a name is provided, the measure's name will be prefixed with the name of this Timer. Otherwise the name of
53
+ * the measure will be the name of this Timer.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const timer = new Timer('a')
58
+ * timer.measure('b')
59
+ * const measures = timer.getMeasures()
60
+ * // measure[0].name === 'a_b'
61
+ * ```
62
+ *
63
+ * @param name
64
+ * @returns
65
+ */
66
+ measure(): Measure | undefined;
67
+ measure(dimensions: MetricDimensions): Measure | undefined;
68
+ measure(name: string): Measure | undefined;
69
+ measure(name: string, dimensions: MetricDimensions): Measure | undefined;
70
+ /**
71
+ * Remove all measures from this Timer and any child timers previously created by calls to `mark()`.
72
+ */
73
+ clear(): void;
74
+ /**
75
+ * Prevent any future measures from being created by this Timer or any child timers.
76
+ */
77
+ stop(): void;
78
+ /**
79
+ * Report this metric using {@link MetricsClient}.
80
+ *
81
+ * After reporting, the Timer can longer be used. Its internal state is cleared and cannot be updated. Calling this
82
+ * method a second time will no-op.
83
+ *
84
+ * @param reporter All measurements will be reported using the given reporter.
85
+ */
86
+ stopAndReport(client: MetricsClient): Promise<void>;
87
+ /**
88
+ * Convert all measures from this Timer and from any child timers into an array of {@link OperationalMetric}
89
+ * objects, which can be sent to the backend.
90
+ *
91
+ * @returns
92
+ */
93
+ toOperationalMetric(): LatencyMetric[];
94
+ }
95
+ export {};
96
+ //# sourceMappingURL=Timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timer.d.ts","sourceRoot":"","sources":["../../../src/metrics/operational/Timer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAC3G,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,MAAM,EAA8C,MAAM,UAAU,CAAC;AAE9E,UAAU,OAAO;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;CAChC;AAED,gBAAgB;AAChB,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG;IAC5C,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;CAC5E,CAAC;AAEF,gBAAgB;AAChB,qBAAa,KAAK,CAAC,IAAI,SAAS,MAAM,CAAE,SAAQ,MAAM;IAMtC,QAAQ,CAAC,IAAI,EAAE,IAAI;IAL/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,OAAO,CAAS;gBAEH,IAAI,EAAE,IAAI,EAAE,UAAU,GAAE,gBAAqB;IAOlE;;OAEG;IACH,WAAW,IAAI,aAAa,CAAC,OAAO,CAAC;IAMrC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,CAAC,QAAQ,SAAS,MAAM,EACxB,IAAI,EAAE,QAAQ,EACd,UAAU,GAAE,gBAAqB,GAClC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAOzC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,IAAI,OAAO,GAAG,SAAS;IAC9B,OAAO,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,GAAG,SAAS;IAC1D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAC1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO,GAAG,SAAS;IAgBxE;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;;;;;;OAOG;IACG,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD;;;;;OAKG;IACH,mBAAmB,IAAI,aAAa,EAAE;CAWzC"}
@@ -0,0 +1,64 @@
1
+ import { __awaiter } from "tslib";
2
+ import { getTimeMs } from "../../common/time";
3
+ import { Metric, joinMetricNames, serializeMetricDimensions } from "./Metric";
4
+ export class Timer extends Metric {
5
+ constructor(name, dimensions = {}) {
6
+ super(name, dimensions);
7
+ this.name = name;
8
+ this.startTime = getTimeMs();
9
+ this.stopped = false;
10
+ this.marks = new Set();
11
+ this.measures = new Set();
12
+ }
13
+ getMeasures() {
14
+ return Array.from(this.measures.values()).concat(...Array.from(this.marks.values()).map((mark) => mark.getMeasures()));
15
+ }
16
+ mark(name, dimensions = {}) {
17
+ const mark = new Timer(joinMetricNames([this.name, name]), dimensions);
18
+ if (this.stopped)
19
+ mark.stop();
20
+ this.marks.add(mark);
21
+ return mark;
22
+ }
23
+ measure(nameOrDimensions, maybeDimensions) {
24
+ if (this.stopped)
25
+ return undefined;
26
+ const name = typeof nameOrDimensions === "string" ? nameOrDimensions : "";
27
+ const dimensions = typeof nameOrDimensions === "string" ? maybeDimensions : nameOrDimensions;
28
+ const fullName = joinMetricNames([this.name, name]);
29
+ const measure = {
30
+ name: fullName,
31
+ duration: getTimeMs() - this.startTime,
32
+ dimensions: dimensions !== null && dimensions !== void 0 ? dimensions : this.dimensions,
33
+ };
34
+ this.measures.add(measure);
35
+ return measure;
36
+ }
37
+ clear() {
38
+ this.measures.clear();
39
+ this.marks.forEach((mark) => mark.clear());
40
+ }
41
+ stop() {
42
+ this.stopped = true;
43
+ this.marks.forEach((mark) => mark.stop());
44
+ }
45
+ stopAndReport(client) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ client.setOperationalMetrics(this);
48
+ this.stop();
49
+ this.clear();
50
+ });
51
+ }
52
+ toOperationalMetric() {
53
+ const timestamp = new Date();
54
+ return this.getMeasures().map((measure) => ({
55
+ name: `${measure.name}${serializeMetricDimensions(measure.dimensions)}`,
56
+ timestamp,
57
+ metric: {
58
+ $case: "latencyMillis",
59
+ latencyMillis: `${Math.ceil(measure.duration)}`,
60
+ },
61
+ }));
62
+ }
63
+ }
64
+ //# sourceMappingURL=Timer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timer.js","sourceRoot":"","sources":["../../../src/metrics/operational/Timer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MetricsClient } from \"../../clients/metricsClient\";\nimport { getTimeMs } from \"../../common/time\";\nimport type { OperationalMetric } from \"../../generated-proto/pb_schema/camera_kit/v3/operational_metrics\";\nimport type { JoinMetricNames, MetricDimensions } from \"./Metric\";\nimport { Metric, joinMetricNames, serializeMetricDimensions } from \"./Metric\";\n\ninterface Measure {\n name: string;\n duration: number;\n dimensions: MetricDimensions;\n}\n\n/** @internal */\nexport type LatencyMetric = OperationalMetric & {\n metric: Extract<OperationalMetric[\"metric\"], { $case: \"latencyMillis\" }>;\n};\n\n/** @internal */\nexport class Timer<Name extends string> extends Metric {\n private readonly marks: Set<Timer<string>>;\n private readonly measures: Set<Measure>;\n private readonly startTime = getTimeMs();\n private stopped = false;\n\n constructor(readonly name: Name, dimensions: MetricDimensions = {}) {\n super(name, dimensions);\n\n this.marks = new Set();\n this.measures = new Set();\n }\n\n /**\n * Return all measures created by this Timer and any child timers.\n */\n getMeasures(): ReadonlyArray<Measure> {\n return Array.from(this.measures.values()).concat(\n ...Array.from(this.marks.values()).map((mark) => mark.getMeasures())\n );\n }\n\n /**\n * Create a child Timer, using this Timer's name as a prefix when naming the new Timer. Any measures made with the\n * child Timer will be included when calling `getMeasures()` on this Timer, or when calling `toOperationalMetric`\n * on this Timer.\n *\n * @example\n * ```ts\n * const parent = new Timer('parent')\n * const child = parent.mark('child') // child metric name is parent_child.\n *\n * child.measure()\n * const measures = parent.getMeasures() // has one element.\n * ```\n *\n * @param name\n * @param dimensions If omitted, the child timer will NOT inherit dimensions from the parent -- if the child timer\n * should re-use the parent's dimensions, this must be done explicitly by passing the parent's dimensions as an\n * argument here.\n * @returns A child Timer.\n */\n mark<MarkName extends string>(\n name: MarkName,\n dimensions: MetricDimensions = {}\n ): Timer<JoinMetricNames<Name, MarkName>> {\n const mark = new Timer(joinMetricNames([this.name, name]) as JoinMetricNames<Name, MarkName>, dimensions);\n if (this.stopped) mark.stop();\n this.marks.add(mark);\n return mark;\n }\n\n /**\n * Measure the time (in milliseconds) since this Timer was created.\n *\n * If a name is provided, the measure's name will be prefixed with the name of this Timer. Otherwise the name of\n * the measure will be the name of this Timer.\n *\n * @example\n * ```ts\n * const timer = new Timer('a')\n * timer.measure('b')\n * const measures = timer.getMeasures()\n * // measure[0].name === 'a_b'\n * ```\n *\n * @param name\n * @returns\n */\n measure(): Measure | undefined;\n measure(dimensions: MetricDimensions): Measure | undefined;\n measure(name: string): Measure | undefined;\n measure(name: string, dimensions: MetricDimensions): Measure | undefined;\n measure(nameOrDimensions?: string | MetricDimensions, maybeDimensions?: MetricDimensions): Measure | undefined {\n if (this.stopped) return undefined;\n const name = typeof nameOrDimensions === \"string\" ? nameOrDimensions : \"\";\n const dimensions = typeof nameOrDimensions === \"string\" ? maybeDimensions : nameOrDimensions;\n\n const fullName = joinMetricNames([this.name, name]);\n const measure: Measure = {\n name: fullName,\n duration: getTimeMs() - this.startTime,\n dimensions: dimensions ?? this.dimensions,\n };\n this.measures.add(measure);\n return measure;\n }\n\n /**\n * Remove all measures from this Timer and any child timers previously created by calls to `mark()`.\n */\n clear(): void {\n this.measures.clear();\n this.marks.forEach((mark) => mark.clear());\n }\n\n /**\n * Prevent any future measures from being created by this Timer or any child timers.\n */\n stop(): void {\n this.stopped = true;\n this.marks.forEach((mark) => mark.stop());\n }\n\n /**\n * Report this metric using {@link MetricsClient}.\n *\n * After reporting, the Timer can longer be used. Its internal state is cleared and cannot be updated. Calling this\n * method a second time will no-op.\n *\n * @param reporter All measurements will be reported using the given reporter.\n */\n async stopAndReport(client: MetricsClient): Promise<void> {\n client.setOperationalMetrics(this);\n this.stop();\n this.clear();\n }\n\n /**\n * Convert all measures from this Timer and from any child timers into an array of {@link OperationalMetric}\n * objects, which can be sent to the backend.\n *\n * @returns\n */\n toOperationalMetric(): LatencyMetric[] {\n const timestamp = new Date();\n return this.getMeasures().map((measure) => ({\n name: `${measure.name}${serializeMetricDimensions(measure.dimensions)}`,\n timestamp,\n metric: {\n $case: \"latencyMillis\",\n latencyMillis: `${Math.ceil(measure.duration)}`,\n },\n }));\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type { MetricsClient } from "../../clients/metricsClient";
2
+ import type { CameraKitConfiguration } from "../../configuration";
3
+ import type { MakeTaggedBusinessEvent } from "../businessEventsReporter";
4
+ import type { MetricsEventTarget } from "../metricsEventTarget";
5
+ export type BenchmarkComplete = MakeTaggedBusinessEvent<"benchmarkComplete">;
6
+ export declare const reportBenchmarks: {
7
+ (args_0: MetricsEventTarget, args_1: MetricsClient, args_2: CameraKitConfiguration): Promise<void>;
8
+ token: "reportBenchmarks";
9
+ dependencies: readonly ["metricsEventTarget", "metricsClient", "configuration"];
10
+ };
11
+ //# sourceMappingURL=reportBenchmarks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportBenchmarks.d.ts","sourceRoot":"","sources":["../../../src/metrics/reporters/reportBenchmarks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIlE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAOhE,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;AAE7E,eAAO,MAAM,gBAAgB;;;;CAyB5B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { __awaiter } from "tslib";
2
+ import { metricsClientFactory } from "../../clients/metricsClient";
3
+ import { configurationToken } from "../../configuration";
4
+ import { Injectable } from "../../dependency-injection/Injectable";
5
+ import { TypedCustomEvent } from "../../events/TypedCustomEvent";
6
+ import { metricsEventTargetFactory } from "../metricsEventTarget";
7
+ import { Histogram } from "../operational/Histogram";
8
+ const reportableBenchmarks = ["gflops"];
9
+ export const reportBenchmarks = Injectable("reportBenchmarks", [metricsEventTargetFactory.token, metricsClientFactory.token, configurationToken], (metricsEventTarget, metrics, config) => __awaiter(void 0, void 0, void 0, function* () {
10
+ if (config.lensPerformance === undefined)
11
+ return;
12
+ const lensPerformance = yield config.lensPerformance;
13
+ const baseBenchmark = {
14
+ name: "benchmarkComplete",
15
+ performanceCluster: `${lensPerformance.cluster}`,
16
+ webglRendererInfo: lensPerformance.webglRendererInfo,
17
+ };
18
+ const dimensions = { performance_cluster: lensPerformance.cluster.toString() };
19
+ for (const benchmark of lensPerformance.benchmarks) {
20
+ if (!reportableBenchmarks.includes(benchmark.name))
21
+ continue;
22
+ const benchmarkComplete = Object.assign(Object.assign({}, baseBenchmark), { benchmarkName: benchmark.name, benchmarkValue: benchmark.value });
23
+ metricsEventTarget.dispatchEvent(new TypedCustomEvent("benchmarkComplete", benchmarkComplete));
24
+ metrics.setOperationalMetrics(Histogram.level(`benchmark.${benchmark.name}`, benchmark.value, dimensions));
25
+ }
26
+ }));
27
+ //# sourceMappingURL=reportBenchmarks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportBenchmarks.js","sourceRoot":"","sources":["../../../src/metrics/reporters/reportBenchmarks.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,MAAM,oBAAoB,GAAG,CAAC,QAAQ,CAAC,CAAC;AAIxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CACtC,kBAAkB,EAClB,CAAC,yBAAyB,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,CAAU,EAC1F,CAAO,kBAAsC,EAAE,OAAsB,EAAE,MAA8B,EAAE,EAAE;IACrG,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;QAAE,OAAO;IAGjD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;IACrD,MAAM,aAAa,GAAiF;QAChG,IAAI,EAAE,mBAAmB;QACzB,kBAAkB,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE;QAChD,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;KACvD,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,mBAAmB,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC/E,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,UAAU,EAAE;QAChD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7D,MAAM,iBAAiB,mCAChB,aAAa,KAChB,aAAa,EAAE,SAAS,CAAC,IAAI,EAC7B,cAAc,EAAE,SAAS,CAAC,KAAK,GAClC,CAAC;QACF,kBAAkB,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC/F,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;KAC9G;AACL,CAAC,CAAA,CACJ,CAAC","sourcesContent":["import type { MetricsClient } from \"../../clients/metricsClient\";\nimport { metricsClientFactory } from \"../../clients/metricsClient\";\nimport type { CameraKitConfiguration } from \"../../configuration\";\nimport { configurationToken } from \"../../configuration\";\nimport { Injectable } from \"../../dependency-injection/Injectable\";\nimport { TypedCustomEvent } from \"../../events/TypedCustomEvent\";\nimport type { MakeTaggedBusinessEvent } from \"../businessEventsReporter\";\nimport type { MetricsEventTarget } from \"../metricsEventTarget\";\nimport { metricsEventTargetFactory } from \"../metricsEventTarget\";\nimport { Histogram } from \"../operational/Histogram\";\n\n// Allowlist the benchmarks we wish to report.\nconst reportableBenchmarks = [\"gflops\"];\n\nexport type BenchmarkComplete = MakeTaggedBusinessEvent<\"benchmarkComplete\">;\n\nexport const reportBenchmarks = Injectable(\n \"reportBenchmarks\",\n [metricsEventTargetFactory.token, metricsClientFactory.token, configurationToken] as const,\n async (metricsEventTarget: MetricsEventTarget, metrics: MetricsClient, config: CameraKitConfiguration) => {\n if (config.lensPerformance === undefined) return;\n // Safety: config.lensPerformance cannot reject – all Promises contained in CameraKitConfiguration have\n // catch blocks which return a default value.\n const lensPerformance = await config.lensPerformance;\n const baseBenchmark: Pick<BenchmarkComplete, \"name\" | \"performanceCluster\" | \"webglRendererInfo\"> = {\n name: \"benchmarkComplete\",\n performanceCluster: `${lensPerformance.cluster}`,\n webglRendererInfo: lensPerformance.webglRendererInfo,\n };\n const dimensions = { performance_cluster: lensPerformance.cluster.toString() };\n for (const benchmark of lensPerformance.benchmarks) {\n if (!reportableBenchmarks.includes(benchmark.name)) continue;\n const benchmarkComplete: BenchmarkComplete = {\n ...baseBenchmark,\n benchmarkName: benchmark.name,\n benchmarkValue: benchmark.value,\n };\n metricsEventTarget.dispatchEvent(new TypedCustomEvent(\"benchmarkComplete\", benchmarkComplete));\n metrics.setOperationalMetrics(Histogram.level(`benchmark.${benchmark.name}`, benchmark.value, dimensions));\n }\n }\n);\n"]}
@@ -0,0 +1,27 @@
1
+ import type { Observable } from "rxjs";
2
+ import type { LogEntry } from "../../logger/logger";
3
+ import type { LensState } from "../../session/lensState";
4
+ import type { MetricsEventTarget } from "../metricsEventTarget";
5
+ import type { MetricsClient } from "../../clients/metricsClient";
6
+ interface RepeatableLogEntry {
7
+ entry: LogEntry;
8
+ count: number;
9
+ lastTime: Date;
10
+ }
11
+ export declare function getContextString(logEntries: RepeatableLogEntry[]): string;
12
+ export declare function reportExceptionToBlizzard(logEntries: Observable<LogEntry>, metricsEventTarget: MetricsEventTarget, metrics: MetricsClient, lensState?: LensState): void;
13
+ export interface GlobalExceptionReporter {
14
+ attachLensContext: (lensState: LensState) => void;
15
+ }
16
+ /**
17
+ * Reports log entries to Blizzard when there is no CameraKit session yet.
18
+ *
19
+ * @internal
20
+ */
21
+ export declare const reportGlobalException: {
22
+ (args_0: Observable<LogEntry>, args_1: MetricsEventTarget, args_2: MetricsClient): GlobalExceptionReporter;
23
+ token: "reportGlobalException";
24
+ dependencies: readonly ["logEntries", "metricsEventTarget", "metricsClient"];
25
+ };
26
+ export {};
27
+ //# sourceMappingURL=reportGlobalException.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportGlobalException.d.ts","sourceRoot":"","sources":["../../../src/metrics/reporters/reportGlobalException.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAOvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAWjE,UAAU,kBAAkB;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;CAClB;AAaD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAYhE;AAWD,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,aAAa,EACtB,SAAS,CAAC,EAAE,SAAS,QAmDxB;AAED,MAAM,WAAW,uBAAuB;IACpC,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;CACrD;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;CAqBjC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { isState } from "@snap/state-management";
2
+ import { filter, map, scan, Subject, takeUntil } from "rxjs";
3
+ import { entries } from "../../common/entries";
4
+ import { stringifyError, stringifyErrorMessage } from "../../common/errorHelpers";
5
+ import { Injectable } from "../../dependency-injection/Injectable";
6
+ import { TypedCustomEvent } from "../../events/TypedCustomEvent";
7
+ import { logEntriesFactory } from "../../logger/logEntries";
8
+ import { logLevelMap } from "../../logger/logger";
9
+ import { metricsEventTargetFactory } from "../metricsEventTarget";
10
+ import { metricsClientFactory } from "../../clients/metricsClient";
11
+ import { Count } from "../operational/Count";
12
+ const logMethods = entries(logLevelMap).map(([level]) => level);
13
+ const maxBufferedEntries = 15;
14
+ const contextSeparator = "\n\n----------------- Context -----------------\n\n";
15
+ const methodLength = logMethods.reduce((max, method) => Math.max(max, method.length), 0);
16
+ export function getContextString(logEntries) {
17
+ const result = [];
18
+ for (const { entry, count, lastTime } of logEntries) {
19
+ const time = entry.time.toISOString();
20
+ const method = entry.level.padStart(methodLength);
21
+ const messages = entry.messages.map(prettyPrintMessage).join(" ");
22
+ let dupSuffix = count > 1 ? ` (Repeated ${count} times with the last occurrence at ${lastTime.toISOString()})` : "";
23
+ result.push(`${time} [${entry.module}] ${method}: ${messages}${dupSuffix}`);
24
+ }
25
+ return result.join("\n");
26
+ }
27
+ function prettyPrintMessage(message) {
28
+ if (message instanceof Error)
29
+ return stringifyErrorMessage(message);
30
+ if (message instanceof Date)
31
+ return message.toISOString();
32
+ return message + "";
33
+ }
34
+ export function reportExceptionToBlizzard(logEntries, metricsEventTarget, metrics, lensState) {
35
+ logEntries
36
+ .pipe(scan(({ entries }, newEntry) => {
37
+ const lastEntry = entries[entries.length - 1];
38
+ const isNewEntryRepeated = lastEntry &&
39
+ lastEntry.entry.messages.join() === newEntry.messages.join() &&
40
+ lastEntry.entry.level === newEntry.level;
41
+ if (isNewEntryRepeated) {
42
+ lastEntry.count += 1;
43
+ lastEntry.lastTime = newEntry.time;
44
+ }
45
+ else {
46
+ entries.push({
47
+ entry: newEntry,
48
+ count: 1,
49
+ lastTime: newEntry.time,
50
+ });
51
+ }
52
+ return {
53
+ entries: entries.slice(-maxBufferedEntries),
54
+ recent: newEntry,
55
+ };
56
+ }, { entries: [], recent: { time: new Date(), module: "any", level: "debug", messages: [] } }), filter(({ recent }) => recent.level === "error"), map(({ entries, recent }) => ({
57
+ context: entries,
58
+ error: recent.messages.find((e) => e instanceof Error),
59
+ })), filter(({ error }) => !!error))
60
+ .subscribe(({ error, context }) => {
61
+ const currentLensState = lensState === null || lensState === void 0 ? void 0 : lensState.getState();
62
+ const lensId = currentLensState && !isState(currentLensState, "noLensApplied") ? currentLensState.data.id : "none";
63
+ metricsEventTarget.dispatchEvent(new TypedCustomEvent("exception", {
64
+ name: "exception",
65
+ lensId,
66
+ type: error.name,
67
+ reason: `${stringifyError(error)}${contextSeparator}${getContextString(context)}`,
68
+ }));
69
+ metrics.setOperationalMetrics(Count.count("handled_exception", 1, { type: error.name }));
70
+ });
71
+ }
72
+ export const reportGlobalException = Injectable("reportGlobalException", [logEntriesFactory.token, metricsEventTargetFactory.token, metricsClientFactory.token], (logEntries, metricsEventTarget, metrics) => {
73
+ const cancellationSubject = new Subject();
74
+ reportExceptionToBlizzard(logEntries.pipe(takeUntil(cancellationSubject)), metricsEventTarget, metrics);
75
+ return {
76
+ attachLensContext: (lensState) => {
77
+ cancellationSubject.next();
78
+ reportExceptionToBlizzard(logEntries, metricsEventTarget, metrics, lensState);
79
+ },
80
+ };
81
+ });
82
+ //# sourceMappingURL=reportGlobalException.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportGlobalException.js","sourceRoot":"","sources":["../../../src/metrics/reporters/reportGlobalException.ts"],"names":[],"mappings":"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","sourcesContent":["import { isState } from \"@snap/state-management\";\nimport type { Observable } from \"rxjs\";\nimport { filter, map, scan, Subject, takeUntil } from \"rxjs\";\nimport { entries } from \"../../common/entries\";\nimport { stringifyError, stringifyErrorMessage } from \"../../common/errorHelpers\";\nimport { Injectable } from \"../../dependency-injection/Injectable\";\nimport { TypedCustomEvent } from \"../../events/TypedCustomEvent\";\nimport { logEntriesFactory } from \"../../logger/logEntries\";\nimport type { LogEntry } from \"../../logger/logger\";\nimport { logLevelMap } from \"../../logger/logger\";\nimport type { LensState } from \"../../session/lensState\";\nimport type { MetricsEventTarget } from \"../metricsEventTarget\";\nimport { metricsEventTargetFactory } from \"../metricsEventTarget\";\nimport type { MetricsClient } from \"../../clients/metricsClient\";\nimport { metricsClientFactory } from \"../../clients/metricsClient\";\nimport { Count } from \"../operational/Count\";\n\nconst logMethods = entries(logLevelMap).map(([level]) => level);\n\n// How many log entries to include as the error context\nconst maxBufferedEntries = 15;\nconst contextSeparator = \"\\n\\n----------------- Context -----------------\\n\\n\";\nconst methodLength = logMethods.reduce((max, method) => Math.max(max, method.length), 0);\n\ninterface RepeatableLogEntry {\n entry: LogEntry;\n count: number;\n lastTime: Date;\n}\n\ninterface EntriesBuffer {\n /**\n * LogEntries grouped by their message.\n */\n entries: RepeatableLogEntry[];\n /**\n * The recent log entry.\n */\n recent: LogEntry;\n}\n\nexport function getContextString(logEntries: RepeatableLogEntry[]) {\n const result = [];\n for (const { entry, count, lastTime } of logEntries) {\n const time = entry.time.toISOString();\n const method = entry.level.padStart(methodLength);\n const messages = entry.messages.map(prettyPrintMessage).join(\" \");\n let dupSuffix =\n count > 1 ? ` (Repeated ${count} times with the last occurrence at ${lastTime.toISOString()})` : \"\";\n\n result.push(`${time} [${entry.module}] ${method}: ${messages}${dupSuffix}`);\n }\n return result.join(\"\\n\");\n}\n\n/**\n * Pretty print a log message.\n */\nfunction prettyPrintMessage(message: unknown): string {\n if (message instanceof Error) return stringifyErrorMessage(message);\n if (message instanceof Date) return message.toISOString();\n return message + \"\";\n}\n\nexport function reportExceptionToBlizzard(\n logEntries: Observable<LogEntry>,\n metricsEventTarget: MetricsEventTarget,\n metrics: MetricsClient,\n lensState?: LensState\n) {\n logEntries\n .pipe(\n scan<LogEntry, EntriesBuffer>(\n ({ entries }, newEntry) => {\n const lastEntry = entries[entries.length - 1];\n const isNewEntryRepeated =\n lastEntry &&\n lastEntry.entry.messages.join() === newEntry.messages.join() &&\n lastEntry.entry.level === newEntry.level;\n if (isNewEntryRepeated) {\n lastEntry.count += 1;\n lastEntry.lastTime = newEntry.time;\n } else {\n entries.push({\n entry: newEntry,\n count: 1,\n lastTime: newEntry.time,\n });\n }\n return {\n entries: entries.slice(-maxBufferedEntries),\n recent: newEntry,\n };\n },\n // Start with a dummy recent entry -- it gets overridden each time we handle a log entry.\n { entries: [], recent: { time: new Date(), module: \"any\", level: \"debug\", messages: [] } }\n ),\n filter(({ recent }) => recent.level === \"error\"),\n map(({ entries, recent }) => ({\n context: entries,\n error: recent.messages.find((e) => e instanceof Error) as Error,\n })),\n filter(({ error }) => !!error)\n )\n .subscribe(({ error, context }) => {\n const currentLensState = lensState?.getState();\n const lensId =\n currentLensState && !isState(currentLensState, \"noLensApplied\") ? currentLensState.data.id : \"none\";\n metricsEventTarget.dispatchEvent(\n new TypedCustomEvent(\"exception\", {\n name: \"exception\",\n lensId,\n type: error.name,\n reason: `${stringifyError(error)}${contextSeparator}${getContextString(context)}`,\n })\n );\n\n metrics.setOperationalMetrics(Count.count(\"handled_exception\", 1, { type: error.name }));\n });\n}\n\nexport interface GlobalExceptionReporter {\n attachLensContext: (lensState: LensState) => void;\n}\n\n/**\n * Reports log entries to Blizzard when there is no CameraKit session yet.\n *\n * @internal\n */\nexport const reportGlobalException = Injectable(\n \"reportGlobalException\",\n [logEntriesFactory.token, metricsEventTargetFactory.token, metricsClientFactory.token] as const,\n (\n logEntries: Observable<LogEntry>,\n metricsEventTarget: MetricsEventTarget,\n metrics: MetricsClient\n ): GlobalExceptionReporter => {\n // Initially we log exceptions without any lens context\n const cancellationSubject = new Subject<void>();\n reportExceptionToBlizzard(logEntries.pipe(takeUntil(cancellationSubject)), metricsEventTarget, metrics);\n\n // Later session scope reporter triggers cancellation of the global one\n // and initiates exception reporting with a lens context\n return {\n attachLensContext: (lensState: LensState) => {\n cancellationSubject.next();\n reportExceptionToBlizzard(logEntries, metricsEventTarget, metrics, lensState);\n },\n };\n }\n);\n"]}
@@ -0,0 +1,11 @@
1
+ import type { CofDimensions } from "../../remote-configuration/cofHandler";
2
+ import type { Dimensions, RequestStateEventTarget } from "../../handlers/requestStateEmittingHandler";
3
+ import type { MetricsClient } from "../../clients/metricsClient";
4
+ import type { AssetDownloadDimensions, LensDownloadDimensions } from "./reportLensAndAssetDownload";
5
+ export declare const isRelevantRequest: (value: Dimensions) => value is CofDimensions | AssetDownloadDimensions | LensDownloadDimensions;
6
+ export declare const reportHttpMetrics: {
7
+ (args_0: MetricsClient, args_1: RequestStateEventTarget): void;
8
+ token: "reportHttpMetrics";
9
+ dependencies: readonly ["metricsClient", "requestStateEventTarget"];
10
+ };
11
+ //# sourceMappingURL=reportHttpMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportHttpMetrics.d.ts","sourceRoot":"","sources":["../../../src/metrics/reporters/reportHttpMetrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAE3E,OAAO,KAAK,EACR,UAAU,EACV,uBAAuB,EAE1B,MAAM,4CAA4C,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAuEpG,eAAO,MAAM,iBAAiB,UACnB,UAAU,8EAGpB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;CA2D7B,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { assertUnreachable } from "../../common/assertions";
2
+ import { Injectable } from "../../dependency-injection/Injectable";
3
+ import { scan } from "../../events/scan";
4
+ import { COF_REQUEST_TYPE } from "../../remote-configuration/cofHandler";
5
+ import { requestStateEventTargetFactory } from "../../handlers/requestStateEmittingHandler";
6
+ import { getPlatformInfo } from "../../platform/platformInfo";
7
+ import { metricsClientFactory } from "../../clients/metricsClient";
8
+ import { Count } from "../operational/Count";
9
+ import { Histogram } from "../operational/Histogram";
10
+ import { isLensOrAssetRequest } from "./reportLensAndAssetDownload";
11
+ const getAdditionalDimensions = (dimensions) => {
12
+ switch (dimensions.requestType) {
13
+ case "lens_content":
14
+ case "asset":
15
+ return [];
16
+ case COF_REQUEST_TYPE:
17
+ return [["delta", dimensions.delta]];
18
+ default:
19
+ assertUnreachable(dimensions);
20
+ }
21
+ };
22
+ const getContentType = (dimensions) => {
23
+ switch (dimensions.requestType) {
24
+ case "lens_content":
25
+ return "lens_content";
26
+ case "asset":
27
+ return dimensions.assetType;
28
+ case COF_REQUEST_TYPE:
29
+ return COF_REQUEST_TYPE;
30
+ default:
31
+ assertUnreachable(dimensions);
32
+ }
33
+ };
34
+ const getSizeKb = (event) => {
35
+ switch (event.type) {
36
+ case "started":
37
+ case "errored":
38
+ return 0;
39
+ case "completed":
40
+ return event.detail.sizeByte / 1024;
41
+ default:
42
+ assertUnreachable(event);
43
+ }
44
+ };
45
+ const getStatus = (event) => {
46
+ switch (event.type) {
47
+ case "started":
48
+ case "errored":
49
+ return "0";
50
+ case "completed":
51
+ return event.detail.status.toString();
52
+ default:
53
+ assertUnreachable(event);
54
+ }
55
+ };
56
+ export const isRelevantRequest = (value) => {
57
+ return isLensOrAssetRequest(value) || value["requestType"] === COF_REQUEST_TYPE;
58
+ };
59
+ export const reportHttpMetrics = Injectable("reportHttpMetrics", [metricsClientFactory.token, requestStateEventTargetFactory.token], (metrics, requestStateEventTarget) => {
60
+ scan({ name: "inProgress", inProgress: new Map() })(requestStateEventTarget, ["started", "completed", "errored"], (state, event) => {
61
+ var _a;
62
+ const { inProgress } = state;
63
+ const { dimensions, requestId } = event.detail;
64
+ if (!isRelevantRequest(dimensions))
65
+ return state;
66
+ switch (event.type) {
67
+ case "started":
68
+ const timer = event.detail.timer;
69
+ inProgress.set(requestId, { timer });
70
+ return { name: "inProgress", inProgress };
71
+ case "completed":
72
+ case "errored":
73
+ const completedRequest = inProgress.get(requestId);
74
+ if (!completedRequest)
75
+ return state;
76
+ inProgress.delete(requestId);
77
+ const downloadSizeKb = getSizeKb(event);
78
+ const status = getStatus(event);
79
+ const operationalDimensions = {
80
+ content_type: getContentType(dimensions),
81
+ network_type: (_a = getPlatformInfo().connectionType) !== null && _a !== void 0 ? _a : "unknown",
82
+ status,
83
+ };
84
+ for (const [key, value] of getAdditionalDimensions(dimensions)) {
85
+ operationalDimensions[key] = value;
86
+ }
87
+ completedRequest.timer.measure(operationalDimensions);
88
+ return {
89
+ name: "completed",
90
+ inProgress: state.inProgress,
91
+ dimensions: operationalDimensions,
92
+ downloadSizeKb,
93
+ timer: completedRequest.timer,
94
+ };
95
+ default:
96
+ assertUnreachable(event);
97
+ }
98
+ }).addEventListener("state", ({ detail: state }) => {
99
+ if (state.name !== "completed")
100
+ return;
101
+ const { dimensions, timer, downloadSizeKb } = state;
102
+ metrics.setOperationalMetrics(Count.count("download_finished", 1, dimensions));
103
+ metrics.setOperationalMetrics(Histogram.level("download_size_kb", downloadSizeKb, dimensions));
104
+ metrics.setOperationalMetrics(timer);
105
+ });
106
+ });
107
+ //# sourceMappingURL=reportHttpMetrics.js.map