@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.
- package/LICENSE.md +141 -3875
- package/README.md +1 -1
- package/dist/CameraKit.d.ts +334 -0
- package/dist/CameraKit.d.ts.map +1 -0
- package/dist/CameraKit.js +104 -0
- package/dist/CameraKit.js.map +1 -0
- package/dist/benchmark/benchmarkGflops.d.ts +17 -0
- package/dist/benchmark/benchmarkGflops.d.ts.map +1 -0
- package/dist/benchmark/benchmarkGflops.js +116 -0
- package/dist/benchmark/benchmarkGflops.js.map +1 -0
- package/dist/benchmark/estimateLensPerformanceCluster.d.ts +34 -0
- package/dist/benchmark/estimateLensPerformanceCluster.d.ts.map +1 -0
- package/dist/benchmark/estimateLensPerformanceCluster.js +34 -0
- package/dist/benchmark/estimateLensPerformanceCluster.js.map +1 -0
- package/dist/benchmark/webglUtils.d.ts +8 -0
- package/dist/benchmark/webglUtils.d.ts.map +1 -0
- package/dist/bootstrapCameraKit.d.ts +97 -0
- package/dist/bootstrapCameraKit.d.ts.map +1 -0
- package/dist/bootstrapCameraKit.js +117 -0
- package/dist/bootstrapCameraKit.js.map +1 -0
- package/dist/clients/createTsProtoClient.d.ts +41 -0
- package/dist/clients/createTsProtoClient.d.ts.map +1 -0
- package/dist/clients/createTsProtoClient.js +36 -0
- package/dist/clients/createTsProtoClient.js.map +1 -0
- package/dist/clients/grpcHandler.d.ts +27 -0
- package/dist/clients/grpcHandler.d.ts.map +1 -0
- package/dist/clients/grpcHandler.js +79 -0
- package/dist/clients/grpcHandler.js.map +1 -0
- package/dist/clients/lensesClient.d.ts +10 -0
- package/dist/clients/lensesClient.d.ts.map +1 -0
- package/dist/clients/lensesClient.js.map +1 -0
- package/dist/clients/metricsClient.d.ts +27 -0
- package/dist/clients/metricsClient.d.ts.map +1 -0
- package/dist/clients/metricsClient.js +96 -0
- package/dist/clients/metricsClient.js.map +1 -0
- package/dist/common/assertions.d.ts +28 -0
- package/dist/common/assertions.d.ts.map +1 -0
- package/dist/common/assertions.js +14 -0
- package/dist/common/assertions.js.map +1 -0
- package/dist/common/copyDefinedProperties.d.ts +14 -0
- package/dist/common/copyDefinedProperties.d.ts.map +1 -0
- package/dist/common/copyDefinedProperties.js +4 -0
- package/dist/common/copyDefinedProperties.js.map +1 -0
- package/dist/common/date.d.ts +4 -0
- package/dist/common/date.d.ts.map +1 -0
- package/dist/common/dialog.d.ts +60 -0
- package/dist/common/dialog.d.ts.map +1 -0
- package/dist/common/dialog.js +158 -0
- package/dist/common/dialog.js.map +1 -0
- package/dist/common/entries.d.ts +5 -0
- package/dist/common/entries.d.ts.map +1 -0
- package/dist/common/entries.js +3 -0
- package/dist/common/entries.js.map +1 -0
- package/dist/common/errorHelpers.d.ts +18 -0
- package/dist/common/errorHelpers.d.ts.map +1 -0
- package/dist/common/errorHelpers.js +20 -0
- package/dist/common/errorHelpers.js.map +1 -0
- package/dist/common/getFilename.d.ts +2 -0
- package/dist/common/getFilename.d.ts.map +1 -0
- package/dist/common/hash.d.ts +6 -0
- package/dist/common/hash.d.ts.map +1 -0
- package/dist/common/hash.js +13 -0
- package/dist/common/hash.js.map +1 -0
- package/dist/common/loadScript.d.ts +7 -0
- package/dist/common/loadScript.d.ts.map +1 -0
- package/dist/common/loadScript.js +13 -0
- package/dist/common/loadScript.js.map +1 -0
- package/dist/common/localization.d.ts +55 -0
- package/dist/common/localization.d.ts.map +1 -0
- package/dist/common/localization.js +622 -0
- package/dist/common/localization.js.map +1 -0
- package/dist/common/memoize.d.ts +9 -0
- package/dist/common/memoize.d.ts.map +1 -0
- package/dist/common/pageVisibility.d.ts +35 -0
- package/dist/common/pageVisibility.d.ts.map +1 -0
- package/dist/common/pageVisibility.js +52 -0
- package/dist/common/pageVisibility.js.map +1 -0
- package/dist/common/result.d.ts +37 -0
- package/dist/common/result.d.ts.map +1 -0
- package/dist/common/result.js +39 -0
- package/dist/common/result.js.map +1 -0
- package/dist/common/time.d.ts +3 -0
- package/dist/common/time.d.ts.map +1 -0
- package/dist/common/typeguards.d.ts +68 -0
- package/dist/common/typeguards.d.ts.map +1 -0
- package/dist/common/typeguards.js +68 -0
- package/dist/common/typeguards.js.map +1 -0
- package/dist/common/types.d.ts +38 -0
- package/dist/common/types.d.ts.map +1 -0
- package/dist/common/types.js.map +1 -0
- package/dist/common/unionBy.d.ts +29 -0
- package/dist/common/unionBy.d.ts.map +1 -0
- package/dist/common/unionBy.js +16 -0
- package/dist/common/unionBy.js.map +1 -0
- package/dist/common/validate.d.ts +16 -0
- package/dist/common/validate.d.ts.map +1 -0
- package/dist/common/validate.js +57 -0
- package/dist/common/validate.js.map +1 -0
- package/dist/configuration.d.ts +102 -0
- package/dist/configuration.d.ts.map +1 -0
- package/dist/configuration.js +30 -0
- package/dist/configuration.js.map +1 -0
- package/dist/configurationOverrides.d.ts +13 -0
- package/dist/configurationOverrides.d.ts.map +1 -0
- package/dist/configurationOverrides.js +38 -0
- package/dist/configurationOverrides.js.map +1 -0
- package/dist/dependency-injection/Container.d.ts +177 -0
- package/dist/dependency-injection/Container.d.ts.map +1 -0
- package/dist/dependency-injection/Container.js +72 -0
- package/dist/dependency-injection/Container.js.map +1 -0
- package/dist/dependency-injection/Injectable.d.ts +96 -0
- package/dist/dependency-injection/Injectable.d.ts.map +1 -0
- package/dist/dependency-injection/Injectable.js.map +1 -0
- package/dist/dependency-injection/PartialContainer.d.ts +86 -0
- package/dist/dependency-injection/PartialContainer.d.ts.map +1 -0
- package/dist/dependency-injection/PartialContainer.js +28 -0
- package/dist/dependency-injection/PartialContainer.js.map +1 -0
- package/dist/dependency-injection/RootServices.d.ts +74 -0
- package/dist/dependency-injection/RootServices.d.ts.map +1 -0
- package/dist/dependency-injection/RootServices.js +2 -0
- package/dist/dependency-injection/RootServices.js.map +1 -0
- package/dist/dependency-injection/types.d.ts +57 -0
- package/dist/dependency-injection/types.d.ts.map +1 -0
- package/dist/dependency-injection/types.js.map +1 -0
- package/dist/environment.d.ts +5 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +2 -0
- package/dist/environment.js.map +1 -0
- package/dist/events/TypedCustomEvent.d.ts +11 -0
- package/dist/events/TypedCustomEvent.d.ts.map +1 -0
- package/dist/events/TypedCustomEvent.js +6 -0
- package/dist/events/TypedCustomEvent.js.map +1 -0
- package/dist/events/TypedEventTarget.d.ts +26 -0
- package/dist/events/TypedEventTarget.d.ts.map +1 -0
- package/dist/events/TypedEventTarget.js +42 -0
- package/dist/events/TypedEventTarget.js.map +1 -0
- package/dist/events/scan.d.ts +18 -0
- package/dist/events/scan.d.ts.map +1 -0
- package/dist/events/scan.js +29 -0
- package/dist/events/scan.js.map +1 -0
- package/dist/extensions/RemoteApiServices.d.ts +88 -0
- package/dist/extensions/RemoteApiServices.d.ts.map +1 -0
- package/dist/extensions/RemoteApiServices.js +155 -0
- package/dist/extensions/RemoteApiServices.js.map +1 -0
- package/dist/extensions/UriHandlers.d.ts +48 -0
- package/dist/extensions/UriHandlers.d.ts.map +1 -0
- package/dist/extensions/UriHandlers.js +34 -0
- package/dist/extensions/UriHandlers.js.map +1 -0
- package/dist/extensions/extensionRequestContext.d.ts +5 -0
- package/dist/extensions/extensionRequestContext.d.ts.map +1 -0
- package/dist/extensions/extensionRequestContext.js +11 -0
- package/dist/extensions/extensionRequestContext.js.map +1 -0
- package/dist/extensions/uriHandlersRegister.d.ts +22 -0
- package/dist/extensions/uriHandlersRegister.d.ts.map +1 -0
- package/dist/extensions/uriHandlersRegister.js +61 -0
- package/dist/extensions/uriHandlersRegister.js.map +1 -0
- package/dist/generated-proto/blizzard/cameraKitEvents.d.ts +9528 -0
- package/dist/generated-proto/blizzard/cameraKitEvents.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +80 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/export.d.ts +529 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/export.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +35 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +42 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +30 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +86 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +385 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/lens.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +179 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +57 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/service.d.ts +2512 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/service.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +79 -0
- package/dist/generated-proto/pb_schema/cdp/cof/benchmark.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +51 -0
- package/dist/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +25575 -0
- package/dist/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_request.d.ts +280 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_request.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_response.d.ts +3726 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_response.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_result.d.ts +10224 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_result.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +94 -0
- package/dist/generated-proto/pb_schema/cdp/cof/debug_info.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/namespace.d.ts +9 -0
- package/dist/generated-proto/pb_schema/cdp/cof/namespace.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/common/ruid.d.ts +52 -0
- package/dist/generated-proto/pb_schema/common/ruid.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/common/value.d.ts +145 -0
- package/dist/generated-proto/pb_schema/common/value.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/api/annotations.d.ts +2 -0
- package/dist/generated-proto/pb_schema/google/api/annotations.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/api/annotations.js +8 -0
- package/dist/generated-proto/pb_schema/google/api/annotations.js.map +1 -0
- package/dist/generated-proto/pb_schema/google/api/http.d.ts +3631 -0
- package/dist/generated-proto/pb_schema/google/api/http.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/api/http.js +193 -0
- package/dist/generated-proto/pb_schema/google/api/http.js.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/any.d.ts +33 -0
- package/dist/generated-proto/pb_schema/google/protobuf/any.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +50897 -0
- package/dist/generated-proto/pb_schema/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/descriptor.js +1818 -0
- package/dist/generated-proto/pb_schema/google/protobuf/descriptor.js.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +33 -0
- package/dist/generated-proto/pb_schema/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +120 -0
- package/dist/generated-proto/pb_schema/google/protobuf/wrappers.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/geocircle.d.ts +43 -0
- package/dist/generated-proto/pb_schema/lenses/geocircle.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/geopoint.d.ts +33 -0
- package/dist/generated-proto/pb_schema/lenses/geopoint.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/launch_params.d.ts +30 -0
- package/dist/generated-proto/pb_schema/lenses/launch_params.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/launchdata.d.ts +397 -0
- package/dist/generated-proto/pb_schema/lenses/launchdata.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/lures.d.ts +112 -0
- package/dist/generated-proto/pb_schema/lenses/lures.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/persistent_store.d.ts +30 -0
- package/dist/generated-proto/pb_schema/lenses/persistent_store.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +570 -0
- package/dist/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/snappable.d.ts +903 -0
- package/dist/generated-proto/pb_schema/lenses/snappable.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/user_data.d.ts +230 -0
- package/dist/generated-proto/pb_schema/lenses/user_data.d.ts.map +1 -0
- package/dist/handlers/HandlerChainBuilder.d.ts +111 -0
- package/dist/handlers/HandlerChainBuilder.d.ts.map +1 -0
- package/dist/handlers/HandlerChainBuilder.js +55 -0
- package/dist/handlers/HandlerChainBuilder.js.map +1 -0
- package/dist/handlers/arrayBufferParsingHandler.d.ts +11 -0
- package/dist/handlers/arrayBufferParsingHandler.d.ts.map +1 -0
- package/dist/handlers/arrayBufferParsingHandler.js +13 -0
- package/dist/handlers/arrayBufferParsingHandler.js.map +1 -0
- package/dist/handlers/batchingHandler.d.ts +32 -0
- package/dist/handlers/batchingHandler.d.ts.map +1 -0
- package/dist/handlers/batchingHandler.js +45 -0
- package/dist/handlers/batchingHandler.js.map +1 -0
- package/dist/handlers/cameraKitServiceFetchHandlerFactory.d.ts +13 -0
- package/dist/handlers/cameraKitServiceFetchHandlerFactory.d.ts.map +1 -0
- package/dist/handlers/cameraKitServiceFetchHandlerFactory.js +14 -0
- package/dist/handlers/cameraKitServiceFetchHandlerFactory.js.map +1 -0
- package/dist/handlers/debugHandler.d.ts +9 -0
- package/dist/handlers/debugHandler.d.ts.map +1 -0
- package/dist/handlers/debugHandler.js +18 -0
- package/dist/handlers/debugHandler.js.map +1 -0
- package/dist/handlers/defaultFetchHandler.d.ts +16 -0
- package/dist/handlers/defaultFetchHandler.d.ts.map +1 -0
- package/dist/handlers/defaultFetchHandler.js +25 -0
- package/dist/handlers/defaultFetchHandler.js.map +1 -0
- package/dist/handlers/headersModifyingFetchHandler.d.ts +9 -0
- package/dist/handlers/headersModifyingFetchHandler.d.ts.map +1 -0
- package/dist/handlers/headersModifyingFetchHandler.js +10 -0
- package/dist/handlers/headersModifyingFetchHandler.js.map +1 -0
- package/dist/handlers/mappingHandler.d.ts +20 -0
- package/dist/handlers/mappingHandler.d.ts.map +1 -0
- package/dist/handlers/mappingHandler.js +44 -0
- package/dist/handlers/mappingHandler.js.map +1 -0
- package/dist/handlers/noCorsRetryingFetchHandler.d.ts +49 -0
- package/dist/handlers/noCorsRetryingFetchHandler.d.ts.map +1 -0
- package/dist/handlers/noCorsRetryingFetchHandler.js +33 -0
- package/dist/handlers/noCorsRetryingFetchHandler.js.map +1 -0
- package/dist/handlers/persistingHandler.d.ts +15 -0
- package/dist/handlers/persistingHandler.d.ts.map +1 -0
- package/dist/handlers/persistingHandler.js +43 -0
- package/dist/handlers/persistingHandler.js.map +1 -0
- package/dist/handlers/rateLimitingHandler.d.ts +25 -0
- package/dist/handlers/rateLimitingHandler.d.ts.map +1 -0
- package/dist/handlers/rateLimitingHandler.js +21 -0
- package/dist/handlers/rateLimitingHandler.js.map +1 -0
- package/dist/handlers/requestStateEmittingHandler.d.ts +42 -0
- package/dist/handlers/requestStateEmittingHandler.d.ts.map +1 -0
- package/dist/handlers/requestStateEmittingHandler.js +42 -0
- package/dist/handlers/requestStateEmittingHandler.js.map +1 -0
- package/dist/handlers/responseCachingHandler.d.ts +35 -0
- package/dist/handlers/responseCachingHandler.d.ts.map +1 -0
- package/dist/handlers/responseCachingHandler.js +83 -0
- package/dist/handlers/responseCachingHandler.js.map +1 -0
- package/dist/handlers/retryingHandler.d.ts +49 -0
- package/dist/handlers/retryingHandler.d.ts.map +1 -0
- package/dist/handlers/retryingHandler.js +62 -0
- package/dist/handlers/retryingHandler.js.map +1 -0
- package/dist/handlers/timeoutHandler.d.ts +19 -0
- package/dist/handlers/timeoutHandler.d.ts.map +1 -0
- package/dist/handlers/timeoutHandler.js +20 -0
- package/dist/handlers/timeoutHandler.js.map +1 -0
- package/dist/handlers/utils.d.ts +13 -0
- package/dist/handlers/utils.d.ts.map +1 -0
- package/dist/handlers/utils.js +7 -0
- package/dist/handlers/utils.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/legal/legalPrompt.d.ts +21 -0
- package/dist/legal/legalPrompt.d.ts.map +1 -0
- package/dist/legal/legalPrompt.js +130 -0
- package/dist/legal/legalPrompt.js.map +1 -0
- package/dist/legal/legalState.d.ts +51 -0
- package/dist/legal/legalState.d.ts.map +1 -0
- package/dist/legal/legalState.js +100 -0
- package/dist/legal/legalState.js.map +1 -0
- package/dist/lens/Lens.d.ts +117 -0
- package/dist/lens/Lens.d.ts.map +1 -0
- package/dist/lens/Lens.js +74 -0
- package/dist/lens/Lens.js.map +1 -0
- package/dist/lens/LensLaunchData.d.ts +45 -0
- package/dist/lens/LensLaunchData.d.ts.map +1 -0
- package/dist/lens/LensLaunchData.js +83 -0
- package/dist/lens/LensLaunchData.js.map +1 -0
- package/dist/lens/LensPersistenceStore.d.ts +8 -0
- package/dist/lens/LensPersistenceStore.d.ts.map +1 -0
- package/dist/lens/LensPersistenceStore.js.map +1 -0
- package/dist/lens/LensRepository.d.ts +133 -0
- package/dist/lens/LensRepository.d.ts.map +1 -0
- package/dist/lens/LensRepository.js +147 -0
- package/dist/lens/LensRepository.js.map +1 -0
- package/dist/lens/LensSource.d.ts +44 -0
- package/dist/lens/LensSource.d.ts.map +1 -0
- package/dist/lens/LensSource.js +18 -0
- package/dist/lens/LensSource.js.map +1 -0
- package/dist/lens/assets/LensAssetRepository.d.ts +101 -0
- package/dist/lens/assets/LensAssetRepository.d.ts.map +1 -0
- package/dist/lens/assets/LensAssetRepository.js +139 -0
- package/dist/lens/assets/LensAssetRepository.js.map +1 -0
- package/dist/lens/assets/LensAssetsProvider.d.ts +28 -0
- package/dist/lens/assets/LensAssetsProvider.d.ts.map +1 -0
- package/dist/lens/assets/LensAssetsProvider.js +52 -0
- package/dist/lens/assets/LensAssetsProvider.js.map +1 -0
- package/dist/lens/assets/deviceDependentAssetLoader.d.ts +12 -0
- package/dist/lens/assets/deviceDependentAssetLoader.d.ts.map +1 -0
- package/dist/lens/assets/deviceDependentAssetLoader.js +49 -0
- package/dist/lens/assets/deviceDependentAssetLoader.js.map +1 -0
- package/dist/lens/assets/remoteMediaAssetLoaderFactory.d.ts +11 -0
- package/dist/lens/assets/remoteMediaAssetLoaderFactory.d.ts.map +1 -0
- package/dist/lens/assets/remoteMediaAssetLoaderFactory.js +18 -0
- package/dist/lens/assets/remoteMediaAssetLoaderFactory.js.map +1 -0
- package/dist/lens/assets/staticAssetLoader.d.ts +11 -0
- package/dist/lens/assets/staticAssetLoader.d.ts.map +1 -0
- package/dist/lens/assets/staticAssetLoader.js +21 -0
- package/dist/lens/assets/staticAssetLoader.js.map +1 -0
- package/dist/lens/cameraKitLensSource.d.ts +18 -0
- package/dist/lens/cameraKitLensSource.d.ts.map +1 -0
- package/dist/lens/cameraKitLensSource.js +93 -0
- package/dist/lens/cameraKitLensSource.js.map +1 -0
- package/dist/lens/fetchWatermarkLens.d.ts +12 -0
- package/dist/lens/fetchWatermarkLens.d.ts.map +1 -0
- package/dist/lens/fetchWatermarkLens.js +23 -0
- package/dist/lens/fetchWatermarkLens.js.map +1 -0
- package/dist/lens-client-interface/exif.d.ts +21 -0
- package/dist/lens-client-interface/exif.d.ts.map +1 -0
- package/dist/lens-client-interface/exif.js +51 -0
- package/dist/lens-client-interface/exif.js.map +1 -0
- package/dist/lens-client-interface/imagePicker.d.ts +9 -0
- package/dist/lens-client-interface/imagePicker.d.ts.map +1 -0
- package/dist/lens-client-interface/imagePicker.js +113 -0
- package/dist/lens-client-interface/imagePicker.js.map +1 -0
- package/dist/lens-client-interface/lensClientInterface.d.ts +14 -0
- package/dist/lens-client-interface/lensClientInterface.d.ts.map +1 -0
- package/dist/lens-client-interface/lensClientInterface.js +22 -0
- package/dist/lens-client-interface/lensClientInterface.js.map +1 -0
- package/dist/lens-core-module/generated-types.d.ts +470 -0
- package/dist/lens-core-module/generated-types.d.ts.map +1 -0
- package/dist/lens-core-module/lensCore.d.ts +59 -0
- package/dist/lens-core-module/lensCore.d.ts.map +1 -0
- package/dist/lens-core-module/lensCore.js +95 -0
- package/dist/lens-core-module/lensCore.js.map +1 -0
- package/dist/lens-core-module/lensCoreError.d.ts +16 -0
- package/dist/lens-core-module/lensCoreError.d.ts.map +1 -0
- package/dist/lens-core-module/lensCoreError.js +35 -0
- package/dist/lens-core-module/lensCoreError.js.map +1 -0
- package/dist/lens-core-module/loader/bootstrapURLs.d.ts +13 -0
- package/dist/lens-core-module/loader/bootstrapURLs.d.ts.map +1 -0
- package/dist/lens-core-module/loader/bootstrapURLs.js +32 -0
- package/dist/lens-core-module/loader/bootstrapURLs.js.map +1 -0
- package/dist/lens-core-module/loader/lensCoreFactory.d.ts +18 -0
- package/dist/lens-core-module/loader/lensCoreFactory.d.ts.map +1 -0
- package/dist/lens-core-module/loader/lensCoreFactory.js +54 -0
- package/dist/lens-core-module/loader/lensCoreFactory.js.map +1 -0
- package/dist/lensCoreWasmVersions.d.ts +7 -0
- package/dist/lensCoreWasmVersions.d.ts.map +1 -0
- package/dist/lensCoreWasmVersions.js +6 -0
- package/dist/lensCoreWasmVersions.js.map +1 -0
- package/dist/logger/errorLoggingDecorator.d.ts +10 -0
- package/dist/logger/errorLoggingDecorator.d.ts.map +1 -0
- package/dist/logger/errorLoggingDecorator.js +19 -0
- package/dist/logger/errorLoggingDecorator.js.map +1 -0
- package/dist/logger/logEntries.d.ts +16 -0
- package/dist/logger/logEntries.d.ts.map +1 -0
- package/dist/logger/logEntries.js +4 -0
- package/dist/logger/logEntries.js.map +1 -0
- package/dist/logger/logger.d.ts +41 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +27 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/registerLogEntriesSubscriber.d.ts +15 -0
- package/dist/logger/registerLogEntriesSubscriber.d.ts.map +1 -0
- package/dist/logger/registerLogEntriesSubscriber.js +27 -0
- package/dist/logger/registerLogEntriesSubscriber.js.map +1 -0
- package/dist/media-sources/CameraKitSource.d.ts +130 -0
- package/dist/media-sources/CameraKitSource.d.ts.map +1 -0
- package/dist/media-sources/CameraKitSource.js +96 -0
- package/dist/media-sources/CameraKitSource.js.map +1 -0
- package/dist/media-sources/FunctionSource.d.ts +42 -0
- package/dist/media-sources/FunctionSource.d.ts.map +1 -0
- package/dist/media-sources/FunctionSource.js +105 -0
- package/dist/media-sources/FunctionSource.js.map +1 -0
- package/dist/media-sources/ImageSource.d.ts +13 -0
- package/dist/media-sources/ImageSource.d.ts.map +1 -0
- package/dist/media-sources/ImageSource.js +7 -0
- package/dist/media-sources/ImageSource.js.map +1 -0
- package/dist/media-sources/MediaStreamSource.d.ts +31 -0
- package/dist/media-sources/MediaStreamSource.d.ts.map +1 -0
- package/dist/media-sources/MediaStreamSource.js +140 -0
- package/dist/media-sources/MediaStreamSource.js.map +1 -0
- package/dist/media-sources/VideoSource.d.ts +27 -0
- package/dist/media-sources/VideoSource.d.ts.map +1 -0
- package/dist/media-sources/VideoSource.js +12 -0
- package/dist/media-sources/VideoSource.js.map +1 -0
- package/dist/metrics/businessEventsReporter.d.ts +40 -0
- package/dist/metrics/businessEventsReporter.d.ts.map +1 -0
- package/dist/metrics/businessEventsReporter.js +156 -0
- package/dist/metrics/businessEventsReporter.js.map +1 -0
- package/dist/metrics/metricsEventTarget.d.ts +42 -0
- package/dist/metrics/metricsEventTarget.d.ts.map +1 -0
- package/dist/metrics/metricsEventTarget.js +4 -0
- package/dist/metrics/metricsEventTarget.js.map +1 -0
- package/dist/metrics/operational/Count.d.ts +21 -0
- package/dist/metrics/operational/Count.d.ts.map +1 -0
- package/dist/metrics/operational/Count.js +31 -0
- package/dist/metrics/operational/Count.js.map +1 -0
- package/dist/metrics/operational/Histogram.d.ts +19 -0
- package/dist/metrics/operational/Histogram.d.ts.map +1 -0
- package/dist/metrics/operational/Histogram.js +26 -0
- package/dist/metrics/operational/Histogram.js.map +1 -0
- package/dist/metrics/operational/Metric.d.ts +21 -0
- package/dist/metrics/operational/Metric.d.ts.map +1 -0
- package/dist/metrics/operational/Metric.js +23 -0
- package/dist/metrics/operational/Metric.js.map +1 -0
- package/dist/metrics/operational/Timer.d.ts +96 -0
- package/dist/metrics/operational/Timer.d.ts.map +1 -0
- package/dist/metrics/operational/Timer.js +64 -0
- package/dist/metrics/operational/Timer.js.map +1 -0
- package/dist/metrics/reporters/reportBenchmarks.d.ts +11 -0
- package/dist/metrics/reporters/reportBenchmarks.d.ts.map +1 -0
- package/dist/metrics/reporters/reportBenchmarks.js +27 -0
- package/dist/metrics/reporters/reportBenchmarks.js.map +1 -0
- package/dist/metrics/reporters/reportGlobalException.d.ts +27 -0
- package/dist/metrics/reporters/reportGlobalException.d.ts.map +1 -0
- package/dist/metrics/reporters/reportGlobalException.js +82 -0
- package/dist/metrics/reporters/reportGlobalException.js.map +1 -0
- package/dist/metrics/reporters/reportHttpMetrics.d.ts +11 -0
- package/dist/metrics/reporters/reportHttpMetrics.d.ts.map +1 -0
- package/dist/metrics/reporters/reportHttpMetrics.js +107 -0
- package/dist/metrics/reporters/reportHttpMetrics.js.map +1 -0
- package/dist/metrics/reporters/reportLegalState.d.ts +16 -0
- package/dist/metrics/reporters/reportLegalState.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLegalState.js +29 -0
- package/dist/metrics/reporters/reportLegalState.js.map +1 -0
- package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts +39 -0
- package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLensAndAssetDownload.js +91 -0
- package/dist/metrics/reporters/reportLensAndAssetDownload.js.map +1 -0
- package/dist/metrics/reporters/reportLensValidationFailed.d.ts +21 -0
- package/dist/metrics/reporters/reportLensValidationFailed.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLensValidationFailed.js +21 -0
- package/dist/metrics/reporters/reportLensValidationFailed.js.map +1 -0
- package/dist/metrics/reporters/reportLensView.d.ts +37 -0
- package/dist/metrics/reporters/reportLensView.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLensView.js +102 -0
- package/dist/metrics/reporters/reportLensView.js.map +1 -0
- package/dist/metrics/reporters/reportLensWait.d.ts +33 -0
- package/dist/metrics/reporters/reportLensWait.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLensWait.js +35 -0
- package/dist/metrics/reporters/reportLensWait.js.map +1 -0
- package/dist/metrics/reporters/reportPlatformCapabilities.d.ts +13 -0
- package/dist/metrics/reporters/reportPlatformCapabilities.d.ts.map +1 -0
- package/dist/metrics/reporters/reportPlatformCapabilities.js +13 -0
- package/dist/metrics/reporters/reportPlatformCapabilities.js.map +1 -0
- package/dist/metrics/reporters/reportSessionException.d.ts +18 -0
- package/dist/metrics/reporters/reportSessionException.d.ts.map +1 -0
- package/dist/metrics/reporters/reportSessionException.js +7 -0
- package/dist/metrics/reporters/reportSessionException.js.map +1 -0
- package/dist/metrics/reporters/reportUserSession.d.ts +15 -0
- package/dist/metrics/reporters/reportUserSession.d.ts.map +1 -0
- package/dist/metrics/reporters/reportUserSession.js +61 -0
- package/dist/metrics/reporters/reportUserSession.js.map +1 -0
- package/dist/metrics/reporters/reporters.d.ts +47 -0
- package/dist/metrics/reporters/reporters.d.ts.map +1 -0
- package/dist/metrics/reporters/reporters.js +24 -0
- package/dist/metrics/reporters/reporters.js.map +1 -0
- package/dist/namedErrors.d.ts +131 -0
- package/dist/namedErrors.d.ts.map +1 -0
- package/dist/namedErrors.js +29 -0
- package/dist/namedErrors.js.map +1 -0
- package/dist/observable-operators/debounceTimeAfter.d.ts +26 -0
- package/dist/observable-operators/debounceTimeAfter.d.ts.map +1 -0
- package/dist/observable-operators/debounceTimeAfter.js +22 -0
- package/dist/observable-operators/debounceTimeAfter.js.map +1 -0
- package/dist/observable-operators/unsubscribed.d.ts +13 -0
- package/dist/observable-operators/unsubscribed.d.ts.map +1 -0
- package/dist/observable-operators/unsubscribed.js +15 -0
- package/dist/observable-operators/unsubscribed.js.map +1 -0
- package/dist/persistence/ExpiringPersistence.d.ts +22 -0
- package/dist/persistence/ExpiringPersistence.d.ts.map +1 -0
- package/dist/persistence/ExpiringPersistence.js +64 -0
- package/dist/persistence/ExpiringPersistence.js.map +1 -0
- package/dist/persistence/IndexedDBPersistence.d.ts +48 -0
- package/dist/persistence/IndexedDBPersistence.d.ts.map +1 -0
- package/dist/persistence/IndexedDBPersistence.js +127 -0
- package/dist/persistence/IndexedDBPersistence.js.map +1 -0
- package/dist/persistence/Persistence.d.ts +26 -0
- package/dist/persistence/Persistence.d.ts.map +1 -0
- package/dist/persistence/Persistence.js +4 -0
- package/dist/persistence/Persistence.js.map +1 -0
- package/dist/platform/assertPlatformSupported.d.ts +5 -0
- package/dist/platform/assertPlatformSupported.d.ts.map +1 -0
- package/dist/platform/assertPlatformSupported.js +12 -0
- package/dist/platform/assertPlatformSupported.js.map +1 -0
- package/dist/platform/cameraKitUserAgent.d.ts +3 -0
- package/dist/platform/cameraKitUserAgent.d.ts.map +1 -0
- package/dist/platform/cameraKitUserAgent.js +13 -0
- package/dist/platform/cameraKitUserAgent.js.map +1 -0
- package/dist/platform/platformCapabilities.d.ts +58 -0
- package/dist/platform/platformCapabilities.d.ts.map +1 -0
- package/dist/platform/platformCapabilities.js +98 -0
- package/dist/platform/platformCapabilities.js.map +1 -0
- package/dist/platform/platformInfo.d.ts +44 -0
- package/dist/platform/platformInfo.d.ts.map +1 -0
- package/dist/platform/platformInfo.js +156 -0
- package/dist/platform/platformInfo.js.map +1 -0
- package/dist/remote-configuration/cofHandler.d.ts +30 -0
- package/dist/remote-configuration/cofHandler.d.ts.map +1 -0
- package/dist/remote-configuration/cofHandler.js +83 -0
- package/dist/remote-configuration/cofHandler.js.map +1 -0
- package/dist/remote-configuration/preloadConfiguration.d.ts +8 -0
- package/dist/remote-configuration/preloadConfiguration.d.ts.map +1 -0
- package/dist/remote-configuration/preloadConfiguration.js +20 -0
- package/dist/remote-configuration/preloadConfiguration.js.map +1 -0
- package/dist/remote-configuration/remoteConfiguration.d.ts +36 -0
- package/dist/remote-configuration/remoteConfiguration.d.ts.map +1 -0
- package/dist/remote-configuration/remoteConfiguration.js +59 -0
- package/dist/remote-configuration/remoteConfiguration.js.map +1 -0
- package/dist/session/CameraKitSession.d.ts +257 -0
- package/dist/session/CameraKitSession.d.ts.map +1 -0
- package/dist/session/CameraKitSession.js +242 -0
- package/dist/session/CameraKitSession.js.map +1 -0
- package/dist/session/CameraKitSessionEvents.d.ts +29 -0
- package/dist/session/CameraKitSessionEvents.d.ts.map +1 -0
- package/dist/session/CameraKitSessionEvents.js +15 -0
- package/dist/session/CameraKitSessionEvents.js.map +1 -0
- package/dist/session/LensKeyboard.d.ts +90 -0
- package/dist/session/LensKeyboard.d.ts.map +1 -0
- package/dist/session/LensKeyboard.js +89 -0
- package/dist/session/LensKeyboard.js.map +1 -0
- package/dist/session/LensPerformanceMeasurement.d.ts +58 -0
- package/dist/session/LensPerformanceMeasurement.d.ts.map +1 -0
- package/dist/session/LensPerformanceMeasurement.js +63 -0
- package/dist/session/LensPerformanceMeasurement.js.map +1 -0
- package/dist/session/LensPerformanceMetrics.d.ts +32 -0
- package/dist/session/LensPerformanceMetrics.d.ts.map +1 -0
- package/dist/session/LensPerformanceMetrics.js +39 -0
- package/dist/session/LensPerformanceMetrics.js.map +1 -0
- package/dist/session/lensState.d.ts +32 -0
- package/dist/session/lensState.d.ts.map +1 -0
- package/dist/session/lensState.js +194 -0
- package/dist/session/lensState.js.map +1 -0
- package/dist/session/sessionState.d.ts +11 -0
- package/dist/session/sessionState.d.ts.map +1 -0
- package/dist/session/sessionState.js.map +1 -0
- package/dist/transforms/Transform2D.d.ts +27 -0
- package/dist/transforms/Transform2D.d.ts.map +1 -0
- package/dist/transforms/Transform2D.js +13 -0
- package/dist/transforms/Transform2D.js.map +1 -0
- package/dist/utils.d.ts +4 -0
- package/dist/utils.d.ts.map +1 -0
- package/docs/html/assets/navigation.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/CameraKit.html +2 -2
- package/docs/html/classes/CameraKitSession.html +2 -2
- package/docs/html/classes/CameraKitSource.html +2 -2
- package/docs/html/classes/LensPerformanceMeasurement.html +2 -2
- package/docs/html/classes/LensPerformanceMetrics.html +2 -2
- package/docs/html/classes/LensRepository.html +3 -3
- package/docs/html/classes/Transform2D.html +2 -2
- package/docs/html/classes/TypedCustomEvent.html +2 -2
- package/docs/html/classes/TypedEventTarget.html +2 -2
- package/docs/html/enums/Lens_CameraFacing.html +2 -2
- package/docs/html/functions/ConcatInjectable.html +2 -2
- package/docs/html/functions/Injectable.html +2 -2
- package/docs/html/functions/bootstrapCameraKit.html +2 -2
- package/docs/html/functions/createExtension.html +2 -2
- package/docs/html/functions/createImageSource.html +2 -2
- package/docs/html/functions/createMediaStreamSource.html +2 -2
- package/docs/html/functions/createVideoSource.html +2 -2
- package/docs/html/functions/estimateLensPerformance.html +2 -2
- package/docs/html/functions/lensSourcesFactory.html +2 -2
- package/docs/html/functions/remoteApiServicesFactory.html +2 -2
- package/docs/html/hierarchy.html +1 -1
- package/docs/html/index.html +3 -3
- package/docs/html/interfaces/BitmojiUserInfo.html +3 -0
- package/docs/html/interfaces/CameraKitBootstrapConfiguration.html +2 -2
- package/docs/html/interfaces/CameraKitDeviceOptions.html +2 -2
- package/docs/html/interfaces/CameraKitSourceInfo.html +2 -2
- package/docs/html/interfaces/CameraKitSourceSubscriber.html +2 -2
- package/docs/html/interfaces/ComputedFrameMetrics.html +2 -2
- package/docs/html/interfaces/CreateSessionOptions.html +2 -2
- package/docs/html/interfaces/EstimatedLensPerformance.html +2 -2
- package/docs/html/interfaces/FriendUserInfo.html +4 -0
- package/docs/html/interfaces/FunctionSourceOptions.html +2 -2
- package/docs/html/interfaces/Lens.html +2 -2
- package/docs/html/interfaces/LensCreator.html +2 -2
- package/docs/html/interfaces/LensLaunchData.html +3 -3
- package/docs/html/interfaces/LensSource.html +2 -2
- package/docs/html/interfaces/LensUserData.html +10 -0
- package/docs/html/interfaces/LoadAssetRequest.html +2 -2
- package/docs/html/interfaces/MediaStreamSourceOptions.html +2 -2
- package/docs/html/interfaces/Preview.html +2 -2
- package/docs/html/interfaces/RemoteApiRequest.html +2 -2
- package/docs/html/interfaces/RemoteApiResponse.html +4 -4
- package/docs/html/interfaces/RemoteApiService.html +3 -3
- package/docs/html/interfaces/Snapcode.html +2 -2
- package/docs/html/interfaces/UriCancelRequest.html +2 -2
- package/docs/html/interfaces/UriRequest.html +2 -2
- package/docs/html/interfaces/UriResponse.html +2 -2
- package/docs/html/interfaces/VideoSourceOptions.html +2 -2
- package/docs/html/modules.html +7 -3
- package/docs/html/types/ArgumentValidationError.html +2 -0
- package/docs/html/types/AssetLoader.html +2 -2
- package/docs/html/types/AssetResponse.html +1 -1
- package/docs/html/types/AssetTiming.html +2 -2
- package/docs/html/types/BenchmarkError.html +1 -1
- package/docs/html/types/BootstrapError.html +2 -2
- package/docs/html/types/CacheKeyNotFoundError.html +1 -1
- package/docs/html/types/CameraKitSessionEventListener.html +2 -2
- package/docs/html/types/CameraKitSessionEvents.html +2 -2
- package/docs/html/types/CameraKitSourceError.html +1 -1
- package/docs/html/types/ConfigurationError.html +2 -2
- package/docs/html/types/FetchHandler.html +1 -1
- package/docs/html/types/Keyboard.html +2 -2
- package/docs/html/types/KeyboardEvents.html +2 -2
- package/docs/html/types/LegalError.html +1 -1
- package/docs/html/types/LensAbortError.html +2 -2
- package/docs/html/types/LensAssetError.html +2 -2
- package/docs/html/types/LensContentValidationError.html +1 -1
- package/docs/html/types/LensError.html +1 -1
- package/docs/html/types/LensExecutionError.html +2 -2
- package/docs/html/types/LensImagePickerError.html +2 -2
- package/docs/html/types/LensLaunchParams.html +2 -2
- package/docs/html/types/LensMetricsEvents.html +2 -2
- package/docs/html/types/LensPerformanceCluster.html +1 -1
- package/docs/html/types/LensView.html +2 -2
- package/docs/html/types/LensWait.html +2 -2
- package/docs/html/types/Matrix.html +2 -2
- package/docs/html/types/PersistentStoreError.html +2 -2
- package/docs/html/types/PlatformNotSupportedError.html +2 -2
- package/docs/html/types/PublicContainer.html +2 -2
- package/docs/html/types/PublicServices.html +2 -2
- package/docs/html/types/RemoteApiCancelRequestHandler.html +2 -2
- package/docs/html/types/RemoteApiRequestHandler.html +2 -2
- package/docs/html/types/RemoteApiServices.html +1 -1
- package/docs/html/types/RemoteApiStatus.html +2 -2
- package/docs/html/types/RenderTarget.html +2 -2
- package/docs/html/types/Uri.html +1 -1
- package/docs/html/types/WebGLError.html +1 -1
- package/docs/html/types/Zodiac.html +1 -0
- package/docs/html/variables/extensionRequestContext.html +2 -2
- package/docs/md/README.md +1 -1
- package/docs/md/classes/CameraKit.md +1 -1
- package/docs/md/classes/CameraKitSession.md +1 -1
- package/docs/md/classes/CameraKitSource.md +1 -1
- package/docs/md/classes/LensPerformanceMeasurement.md +1 -1
- package/docs/md/classes/LensPerformanceMetrics.md +1 -1
- package/docs/md/classes/LensRepository.md +2 -2
- package/docs/md/classes/Transform2D.md +1 -1
- package/docs/md/classes/TypedCustomEvent.md +1 -1
- package/docs/md/classes/TypedEventTarget.md +1 -1
- package/docs/md/enums/Lens_CameraFacing.md +1 -1
- package/docs/md/interfaces/BitmojiUserInfo.md +22 -0
- package/docs/md/interfaces/CameraKitBootstrapConfiguration.md +1 -1
- package/docs/md/interfaces/CameraKitDeviceOptions.md +1 -1
- package/docs/md/interfaces/CameraKitSourceInfo.md +1 -1
- package/docs/md/interfaces/CameraKitSourceSubscriber.md +1 -1
- package/docs/md/interfaces/ComputedFrameMetrics.md +1 -1
- package/docs/md/interfaces/CreateSessionOptions.md +1 -1
- package/docs/md/interfaces/EstimatedLensPerformance.md +1 -1
- package/docs/md/interfaces/FriendUserInfo.md +29 -0
- package/docs/md/interfaces/FunctionSourceOptions.md +1 -1
- package/docs/md/interfaces/Lens.md +1 -1
- package/docs/md/interfaces/LensCreator.md +1 -1
- package/docs/md/interfaces/LensLaunchData.md +2 -21
- package/docs/md/interfaces/LensSource.md +1 -1
- package/docs/md/interfaces/LensUserData.md +71 -0
- package/docs/md/interfaces/LoadAssetRequest.md +1 -1
- package/docs/md/interfaces/MediaStreamSourceOptions.md +1 -1
- package/docs/md/interfaces/Preview.md +1 -1
- package/docs/md/interfaces/RemoteApiRequest.md +1 -1
- package/docs/md/interfaces/RemoteApiResponse.md +2 -2
- package/docs/md/interfaces/RemoteApiService.md +2 -2
- package/docs/md/interfaces/Snapcode.md +1 -1
- package/docs/md/interfaces/UriCancelRequest.md +1 -1
- package/docs/md/interfaces/UriRequest.md +1 -1
- package/docs/md/interfaces/UriResponse.md +1 -1
- package/docs/md/interfaces/VideoSourceOptions.md +1 -1
- package/docs/md/modules.md +23 -5
- package/package.json +14 -12
- package/docs/html/enums/UserData_Zodiac.html +0 -15
- package/docs/md/enums/UserData_Zodiac.md +0 -106
- package/lib/CameraKit.d.ts +0 -333
- package/lib/CameraKit.js +0 -176
- package/lib/CameraKit.js.map +0 -1
- package/lib/__tests__/data.d.ts +0 -14
- package/lib/__tests__/data.js +0 -69
- package/lib/__tests__/data.js.map +0 -1
- package/lib/__tests__/deferred.d.ts +0 -16
- package/lib/__tests__/deferred.js +0 -29
- package/lib/__tests__/deferred.js.map +0 -1
- package/lib/__tests__/jest.matchers.d.ts +0 -17
- package/lib/__tests__/jest.matchers.js +0 -67
- package/lib/__tests__/jest.matchers.js.map +0 -1
- package/lib/benchmark/benchmarkGflops.d.ts +0 -16
- package/lib/benchmark/benchmarkGflops.js +0 -129
- package/lib/benchmark/benchmarkGflops.js.map +0 -1
- package/lib/benchmark/estimateLensPerformanceCluster.d.ts +0 -33
- package/lib/benchmark/estimateLensPerformanceCluster.js +0 -48
- package/lib/benchmark/estimateLensPerformanceCluster.js.map +0 -1
- package/lib/benchmark/webglUtils.d.ts +0 -7
- package/lib/bootstrapCameraKit.d.ts +0 -96
- package/lib/bootstrapCameraKit.js +0 -220
- package/lib/bootstrapCameraKit.js.map +0 -1
- package/lib/clients/createTsProtoClient.d.ts +0 -40
- package/lib/clients/createTsProtoClient.js +0 -52
- package/lib/clients/createTsProtoClient.js.map +0 -1
- package/lib/clients/grpcHandler.d.ts +0 -26
- package/lib/clients/grpcHandler.js +0 -90
- package/lib/clients/grpcHandler.js.map +0 -1
- package/lib/clients/lensesClient.d.ts +0 -9
- package/lib/clients/lensesClient.js.map +0 -1
- package/lib/clients/metricsClient.d.ts +0 -26
- package/lib/clients/metricsClient.js +0 -120
- package/lib/clients/metricsClient.js.map +0 -1
- package/lib/common/__mocks__/loadScript.d.ts +0 -1
- package/lib/common/__mocks__/loadScript.js +0 -10
- package/lib/common/__mocks__/loadScript.js.map +0 -1
- package/lib/common/assertions.d.ts +0 -27
- package/lib/common/assertions.js +0 -39
- package/lib/common/assertions.js.map +0 -1
- package/lib/common/copyDefinedProperties.d.ts +0 -13
- package/lib/common/copyDefinedProperties.js +0 -16
- package/lib/common/copyDefinedProperties.js.map +0 -1
- package/lib/common/date.d.ts +0 -3
- package/lib/common/dialog.d.ts +0 -59
- package/lib/common/dialog.js +0 -160
- package/lib/common/dialog.js.map +0 -1
- package/lib/common/entries.d.ts +0 -4
- package/lib/common/entries.js +0 -5
- package/lib/common/entries.js.map +0 -1
- package/lib/common/errorHelpers.d.ts +0 -10
- package/lib/common/errorHelpers.js +0 -24
- package/lib/common/errorHelpers.js.map +0 -1
- package/lib/common/getFilename.d.ts +0 -1
- package/lib/common/hash.d.ts +0 -5
- package/lib/common/hash.js +0 -17
- package/lib/common/hash.js.map +0 -1
- package/lib/common/loadScript.d.ts +0 -6
- package/lib/common/loadScript.js +0 -18
- package/lib/common/loadScript.js.map +0 -1
- package/lib/common/localization.d.ts +0 -54
- package/lib/common/localization.js +0 -654
- package/lib/common/localization.js.map +0 -1
- package/lib/common/memoize.d.ts +0 -8
- package/lib/common/pageVisibility.d.ts +0 -34
- package/lib/common/pageVisibility.js +0 -71
- package/lib/common/pageVisibility.js.map +0 -1
- package/lib/common/result.d.ts +0 -36
- package/lib/common/result.js +0 -40
- package/lib/common/result.js.map +0 -1
- package/lib/common/time.d.ts +0 -2
- package/lib/common/typeguards.d.ts +0 -53
- package/lib/common/typeguards.js +0 -92
- package/lib/common/typeguards.js.map +0 -1
- package/lib/common/types.d.ts +0 -18
- package/lib/common/types.js.map +0 -1
- package/lib/common/unionBy.d.ts +0 -28
- package/lib/common/unionBy.js +0 -46
- package/lib/common/unionBy.js.map +0 -1
- package/lib/common/validate.d.ts +0 -14
- package/lib/common/validate.js +0 -112
- package/lib/common/validate.js.map +0 -1
- package/lib/configuration.d.ts +0 -101
- package/lib/configuration.js +0 -51
- package/lib/configuration.js.map +0 -1
- package/lib/configurationOverrides.d.ts +0 -12
- package/lib/configurationOverrides.js +0 -46
- package/lib/configurationOverrides.js.map +0 -1
- package/lib/dependency-injection/Container.d.ts +0 -176
- package/lib/dependency-injection/Container.js +0 -160
- package/lib/dependency-injection/Container.js.map +0 -1
- package/lib/dependency-injection/Injectable.d.ts +0 -95
- package/lib/dependency-injection/Injectable.js.map +0 -1
- package/lib/dependency-injection/PartialContainer.d.ts +0 -85
- package/lib/dependency-injection/PartialContainer.js +0 -85
- package/lib/dependency-injection/PartialContainer.js.map +0 -1
- package/lib/dependency-injection/RootServices.d.ts +0 -73
- package/lib/dependency-injection/RootServices.js +0 -2
- package/lib/dependency-injection/RootServices.js.map +0 -1
- package/lib/dependency-injection/types.d.ts +0 -56
- package/lib/dependency-injection/types.js.map +0 -1
- package/lib/environment.d.ts +0 -4
- package/lib/environment.js +0 -2
- package/lib/environment.js.map +0 -1
- package/lib/events/TypedCustomEvent.d.ts +0 -10
- package/lib/events/TypedCustomEvent.js +0 -11
- package/lib/events/TypedCustomEvent.js.map +0 -1
- package/lib/events/TypedEventTarget.d.ts +0 -25
- package/lib/events/TypedEventTarget.js +0 -57
- package/lib/events/TypedEventTarget.js.map +0 -1
- package/lib/events/scan.d.ts +0 -15
- package/lib/events/scan.js +0 -46
- package/lib/events/scan.js.map +0 -1
- package/lib/extensions/RemoteApiServices.d.ts +0 -101
- package/lib/extensions/RemoteApiServices.js +0 -203
- package/lib/extensions/RemoteApiServices.js.map +0 -1
- package/lib/extensions/UriHandlers.d.ts +0 -47
- package/lib/extensions/UriHandlers.js +0 -38
- package/lib/extensions/UriHandlers.js.map +0 -1
- package/lib/extensions/extensionRequestContext.d.ts +0 -4
- package/lib/extensions/extensionRequestContext.js +0 -14
- package/lib/extensions/extensionRequestContext.js.map +0 -1
- package/lib/extensions/uriHandlersRegister.d.ts +0 -21
- package/lib/extensions/uriHandlersRegister.js +0 -72
- package/lib/extensions/uriHandlersRegister.js.map +0 -1
- package/lib/generated-proto/blizzard/cameraKitEvents.d.ts +0 -9527
- package/lib/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +0 -79
- package/lib/generated-proto/pb_schema/camera_kit/v3/export.d.ts +0 -528
- package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +0 -34
- package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +0 -43
- package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +0 -1
- package/lib/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +0 -29
- package/lib/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +0 -85
- package/lib/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +0 -384
- package/lib/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +0 -178
- package/lib/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +0 -56
- package/lib/generated-proto/pb_schema/camera_kit/v3/service.d.ts +0 -2511
- package/lib/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +0 -78
- package/lib/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +0 -50
- package/lib/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +0 -25574
- package/lib/generated-proto/pb_schema/cdp/cof/config_request.d.ts +0 -279
- package/lib/generated-proto/pb_schema/cdp/cof/config_response.d.ts +0 -3725
- package/lib/generated-proto/pb_schema/cdp/cof/config_result.d.ts +0 -10223
- package/lib/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +0 -93
- package/lib/generated-proto/pb_schema/cdp/cof/namespace.d.ts +0 -8
- package/lib/generated-proto/pb_schema/common/ruid.d.ts +0 -51
- package/lib/generated-proto/pb_schema/common/value.d.ts +0 -144
- package/lib/generated-proto/pb_schema/google/api/annotations.d.ts +0 -1
- package/lib/generated-proto/pb_schema/google/api/annotations.js +0 -9
- package/lib/generated-proto/pb_schema/google/api/annotations.js.map +0 -1
- package/lib/generated-proto/pb_schema/google/api/http.d.ts +0 -3630
- package/lib/generated-proto/pb_schema/google/api/http.js +0 -194
- package/lib/generated-proto/pb_schema/google/api/http.js.map +0 -1
- package/lib/generated-proto/pb_schema/google/protobuf/any.d.ts +0 -32
- package/lib/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +0 -50896
- package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js +0 -1857
- package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js.map +0 -1
- package/lib/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +0 -32
- package/lib/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +0 -119
- package/lib/generated-proto/pb_schema/lenses/geocircle.d.ts +0 -42
- package/lib/generated-proto/pb_schema/lenses/geopoint.d.ts +0 -32
- package/lib/generated-proto/pb_schema/lenses/launch_params.d.ts +0 -29
- package/lib/generated-proto/pb_schema/lenses/launchdata.d.ts +0 -396
- package/lib/generated-proto/pb_schema/lenses/lures.d.ts +0 -111
- package/lib/generated-proto/pb_schema/lenses/persistent_store.d.ts +0 -29
- package/lib/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +0 -569
- package/lib/generated-proto/pb_schema/lenses/snappable.d.ts +0 -902
- package/lib/generated-proto/pb_schema/lenses/user_data.d.ts +0 -229
- package/lib/handlers/HandlerChainBuilder.d.ts +0 -110
- package/lib/handlers/HandlerChainBuilder.js +0 -199
- package/lib/handlers/HandlerChainBuilder.js.map +0 -1
- package/lib/handlers/arrayBufferParsingHandler.d.ts +0 -10
- package/lib/handlers/arrayBufferParsingHandler.js +0 -18
- package/lib/handlers/arrayBufferParsingHandler.js.map +0 -1
- package/lib/handlers/batchingHandler.d.ts +0 -31
- package/lib/handlers/batchingHandler.js +0 -76
- package/lib/handlers/batchingHandler.js.map +0 -1
- package/lib/handlers/cameraKitServiceFetchHandlerFactory.d.ts +0 -12
- package/lib/handlers/cameraKitServiceFetchHandlerFactory.js +0 -19
- package/lib/handlers/cameraKitServiceFetchHandlerFactory.js.map +0 -1
- package/lib/handlers/debugHandler.d.ts +0 -8
- package/lib/handlers/debugHandler.js +0 -27
- package/lib/handlers/debugHandler.js.map +0 -1
- package/lib/handlers/defaultFetchHandler.d.ts +0 -15
- package/lib/handlers/defaultFetchHandler.js +0 -38
- package/lib/handlers/defaultFetchHandler.js.map +0 -1
- package/lib/handlers/headersModifyingFetchHandler.d.ts +0 -8
- package/lib/handlers/headersModifyingFetchHandler.js +0 -17
- package/lib/handlers/headersModifyingFetchHandler.js.map +0 -1
- package/lib/handlers/mappingHandler.d.ts +0 -19
- package/lib/handlers/mappingHandler.js +0 -67
- package/lib/handlers/mappingHandler.js.map +0 -1
- package/lib/handlers/noCorsRetryingFetchHandler.d.ts +0 -48
- package/lib/handlers/noCorsRetryingFetchHandler.js +0 -95
- package/lib/handlers/noCorsRetryingFetchHandler.js.map +0 -1
- package/lib/handlers/persistingHandler.d.ts +0 -14
- package/lib/handlers/persistingHandler.js +0 -71
- package/lib/handlers/persistingHandler.js.map +0 -1
- package/lib/handlers/rateLimitingHandler.d.ts +0 -24
- package/lib/handlers/rateLimitingHandler.js +0 -45
- package/lib/handlers/rateLimitingHandler.js.map +0 -1
- package/lib/handlers/requestStateEmittingHandler.d.ts +0 -41
- package/lib/handlers/requestStateEmittingHandler.js +0 -45
- package/lib/handlers/requestStateEmittingHandler.js.map +0 -1
- package/lib/handlers/responseCachingHandler.d.ts +0 -34
- package/lib/handlers/responseCachingHandler.js +0 -109
- package/lib/handlers/responseCachingHandler.js.map +0 -1
- package/lib/handlers/retryingHandler.d.ts +0 -48
- package/lib/handlers/retryingHandler.js +0 -86
- package/lib/handlers/retryingHandler.js.map +0 -1
- package/lib/handlers/timeoutHandler.d.ts +0 -18
- package/lib/handlers/timeoutHandler.js +0 -30
- package/lib/handlers/timeoutHandler.js.map +0 -1
- package/lib/handlers/utils.d.ts +0 -12
- package/lib/handlers/utils.js +0 -19
- package/lib/handlers/utils.js.map +0 -1
- package/lib/index.d.ts +0 -42
- package/lib/index.js +0 -36
- package/lib/index.js.map +0 -1
- package/lib/legal/legalPrompt.d.ts +0 -20
- package/lib/legal/legalPrompt.js +0 -135
- package/lib/legal/legalPrompt.js.map +0 -1
- package/lib/legal/legalState.d.ts +0 -50
- package/lib/legal/legalState.js +0 -163
- package/lib/legal/legalState.js.map +0 -1
- package/lib/lens/Lens.d.ts +0 -115
- package/lib/lens/Lens.js +0 -84
- package/lib/lens/Lens.js.map +0 -1
- package/lib/lens/LensLaunchData.d.ts +0 -40
- package/lib/lens/LensLaunchData.js +0 -37
- package/lib/lens/LensLaunchData.js.map +0 -1
- package/lib/lens/LensPersistenceStore.d.ts +0 -7
- package/lib/lens/LensPersistenceStore.js.map +0 -1
- package/lib/lens/LensRepository.d.ts +0 -137
- package/lib/lens/LensRepository.js +0 -237
- package/lib/lens/LensRepository.js.map +0 -1
- package/lib/lens/LensSource.d.ts +0 -43
- package/lib/lens/LensSource.js +0 -42
- package/lib/lens/LensSource.js.map +0 -1
- package/lib/lens/assets/LensAssetRepository.d.ts +0 -99
- package/lib/lens/assets/LensAssetRepository.js +0 -184
- package/lib/lens/assets/LensAssetRepository.js.map +0 -1
- package/lib/lens/assets/LensAssetsProvider.d.ts +0 -27
- package/lib/lens/assets/LensAssetsProvider.js +0 -68
- package/lib/lens/assets/LensAssetsProvider.js.map +0 -1
- package/lib/lens/assets/deviceDependentAssetLoader.d.ts +0 -11
- package/lib/lens/assets/deviceDependentAssetLoader.js +0 -59
- package/lib/lens/assets/deviceDependentAssetLoader.js.map +0 -1
- package/lib/lens/assets/remoteMediaAssetLoaderFactory.d.ts +0 -10
- package/lib/lens/assets/remoteMediaAssetLoaderFactory.js +0 -27
- package/lib/lens/assets/remoteMediaAssetLoaderFactory.js.map +0 -1
- package/lib/lens/assets/staticAssetLoader.d.ts +0 -10
- package/lib/lens/assets/staticAssetLoader.js +0 -25
- package/lib/lens/assets/staticAssetLoader.js.map +0 -1
- package/lib/lens/cameraKitLensSource.d.ts +0 -16
- package/lib/lens/cameraKitLensSource.js +0 -59
- package/lib/lens/cameraKitLensSource.js.map +0 -1
- package/lib/lens-client-interface/exif.d.ts +0 -20
- package/lib/lens-client-interface/exif.js +0 -61
- package/lib/lens-client-interface/exif.js.map +0 -1
- package/lib/lens-client-interface/imagePicker.d.ts +0 -8
- package/lib/lens-client-interface/imagePicker.js +0 -128
- package/lib/lens-client-interface/imagePicker.js.map +0 -1
- package/lib/lens-client-interface/lensClientInterface.d.ts +0 -13
- package/lib/lens-client-interface/lensClientInterface.js +0 -30
- package/lib/lens-client-interface/lensClientInterface.js.map +0 -1
- package/lib/lens-core-module/generated-types.d.ts +0 -469
- package/lib/lens-core-module/lensCore.d.ts +0 -43
- package/lib/lens-core-module/lensCore.js +0 -59
- package/lib/lens-core-module/lensCore.js.map +0 -1
- package/lib/lens-core-module/lensCoreError.d.ts +0 -15
- package/lib/lens-core-module/lensCoreError.js +0 -43
- package/lib/lens-core-module/lensCoreError.js.map +0 -1
- package/lib/lens-core-module/loader/bootstrapURLs.d.ts +0 -12
- package/lib/lens-core-module/loader/bootstrapURLs.js +0 -48
- package/lib/lens-core-module/loader/bootstrapURLs.js.map +0 -1
- package/lib/lens-core-module/loader/lensCoreFactory.d.ts +0 -17
- package/lib/lens-core-module/loader/lensCoreFactory.js +0 -76
- package/lib/lens-core-module/loader/lensCoreFactory.js.map +0 -1
- package/lib/lensCoreWasmVersions.d.ts +0 -6
- package/lib/lensCoreWasmVersions.js +0 -6
- package/lib/lensCoreWasmVersions.js.map +0 -1
- package/lib/logger/errorLoggingDecorator.d.ts +0 -9
- package/lib/logger/errorLoggingDecorator.js +0 -32
- package/lib/logger/errorLoggingDecorator.js.map +0 -1
- package/lib/logger/logEntries.d.ts +0 -15
- package/lib/logger/logEntries.js +0 -14
- package/lib/logger/logEntries.js.map +0 -1
- package/lib/logger/logger.d.ts +0 -40
- package/lib/logger/logger.js +0 -53
- package/lib/logger/logger.js.map +0 -1
- package/lib/logger/registerLogEntriesSubscriber.d.ts +0 -14
- package/lib/logger/registerLogEntriesSubscriber.js +0 -35
- package/lib/logger/registerLogEntriesSubscriber.js.map +0 -1
- package/lib/media-sources/CameraKitSource.d.ts +0 -126
- package/lib/media-sources/CameraKitSource.js +0 -138
- package/lib/media-sources/CameraKitSource.js.map +0 -1
- package/lib/media-sources/FunctionSource.d.ts +0 -41
- package/lib/media-sources/FunctionSource.js +0 -128
- package/lib/media-sources/FunctionSource.js.map +0 -1
- package/lib/media-sources/ImageSource.d.ts +0 -11
- package/lib/media-sources/ImageSource.js +0 -16
- package/lib/media-sources/ImageSource.js.map +0 -1
- package/lib/media-sources/MediaStreamSource.d.ts +0 -29
- package/lib/media-sources/MediaStreamSource.js +0 -137
- package/lib/media-sources/MediaStreamSource.js.map +0 -1
- package/lib/media-sources/VideoSource.d.ts +0 -25
- package/lib/media-sources/VideoSource.js +0 -22
- package/lib/media-sources/VideoSource.js.map +0 -1
- package/lib/metrics/businessEventsReporter.d.ts +0 -39
- package/lib/metrics/businessEventsReporter.js +0 -195
- package/lib/metrics/businessEventsReporter.js.map +0 -1
- package/lib/metrics/metricsEventTarget.d.ts +0 -41
- package/lib/metrics/metricsEventTarget.js +0 -11
- package/lib/metrics/metricsEventTarget.js.map +0 -1
- package/lib/metrics/operational/Count.d.ts +0 -19
- package/lib/metrics/operational/Count.js +0 -33
- package/lib/metrics/operational/Count.js.map +0 -1
- package/lib/metrics/operational/Histogram.d.ts +0 -17
- package/lib/metrics/operational/Histogram.js +0 -27
- package/lib/metrics/operational/Histogram.js.map +0 -1
- package/lib/metrics/operational/Metric.d.ts +0 -20
- package/lib/metrics/operational/Metric.js +0 -28
- package/lib/metrics/operational/Metric.js.map +0 -1
- package/lib/metrics/operational/Timer.d.ts +0 -94
- package/lib/metrics/operational/Timer.js +0 -108
- package/lib/metrics/operational/Timer.js.map +0 -1
- package/lib/metrics/reporters/reportBenchmarks.d.ts +0 -10
- package/lib/metrics/reporters/reportBenchmarks.js +0 -30
- package/lib/metrics/reporters/reportBenchmarks.js.map +0 -1
- package/lib/metrics/reporters/reportGlobalException.d.ts +0 -26
- package/lib/metrics/reporters/reportGlobalException.js +0 -106
- package/lib/metrics/reporters/reportGlobalException.js.map +0 -1
- package/lib/metrics/reporters/reportHttpMetrics.d.ts +0 -10
- package/lib/metrics/reporters/reportHttpMetrics.js +0 -110
- package/lib/metrics/reporters/reportHttpMetrics.js.map +0 -1
- package/lib/metrics/reporters/reportLegalState.d.ts +0 -15
- package/lib/metrics/reporters/reportLegalState.js +0 -32
- package/lib/metrics/reporters/reportLegalState.js.map +0 -1
- package/lib/metrics/reporters/reportLensAndAssetDownload.d.ts +0 -38
- package/lib/metrics/reporters/reportLensAndAssetDownload.js +0 -92
- package/lib/metrics/reporters/reportLensAndAssetDownload.js.map +0 -1
- package/lib/metrics/reporters/reportLensValidationFailed.d.ts +0 -20
- package/lib/metrics/reporters/reportLensValidationFailed.js +0 -24
- package/lib/metrics/reporters/reportLensValidationFailed.js.map +0 -1
- package/lib/metrics/reporters/reportLensView.d.ts +0 -36
- package/lib/metrics/reporters/reportLensView.js +0 -137
- package/lib/metrics/reporters/reportLensView.js.map +0 -1
- package/lib/metrics/reporters/reportLensWait.d.ts +0 -32
- package/lib/metrics/reporters/reportLensWait.js +0 -60
- package/lib/metrics/reporters/reportLensWait.js.map +0 -1
- package/lib/metrics/reporters/reportPlatformCapabilities.d.ts +0 -12
- package/lib/metrics/reporters/reportPlatformCapabilities.js +0 -19
- package/lib/metrics/reporters/reportPlatformCapabilities.js.map +0 -1
- package/lib/metrics/reporters/reportSessionException.d.ts +0 -17
- package/lib/metrics/reporters/reportSessionException.js +0 -12
- package/lib/metrics/reporters/reportSessionException.js.map +0 -1
- package/lib/metrics/reporters/reportUserSession.d.ts +0 -14
- package/lib/metrics/reporters/reportUserSession.js +0 -66
- package/lib/metrics/reporters/reportUserSession.js.map +0 -1
- package/lib/metrics/reporters/reporters.d.ts +0 -46
- package/lib/metrics/reporters/reporters.js +0 -35
- package/lib/metrics/reporters/reporters.js.map +0 -1
- package/lib/namedErrors.d.ts +0 -124
- package/lib/namedErrors.js +0 -58
- package/lib/namedErrors.js.map +0 -1
- package/lib/observable-operators/unsubscribed.d.ts +0 -12
- package/lib/observable-operators/unsubscribed.js +0 -27
- package/lib/observable-operators/unsubscribed.js.map +0 -1
- package/lib/persistence/ExpiringPersistence.d.ts +0 -21
- package/lib/persistence/ExpiringPersistence.js +0 -71
- package/lib/persistence/ExpiringPersistence.js.map +0 -1
- package/lib/persistence/IndexedDBPersistence.d.ts +0 -47
- package/lib/persistence/IndexedDBPersistence.js +0 -190
- package/lib/persistence/IndexedDBPersistence.js.map +0 -1
- package/lib/persistence/Persistence.d.ts +0 -25
- package/lib/persistence/Persistence.js +0 -10
- package/lib/persistence/Persistence.js.map +0 -1
- package/lib/platform/assertPlatformSupported.d.ts +0 -4
- package/lib/platform/assertPlatformSupported.js +0 -15
- package/lib/platform/assertPlatformSupported.js.map +0 -1
- package/lib/platform/cameraKitUserAgent.d.ts +0 -2
- package/lib/platform/cameraKitUserAgent.js +0 -20
- package/lib/platform/cameraKitUserAgent.js.map +0 -1
- package/lib/platform/platformCapabilities.d.ts +0 -50
- package/lib/platform/platformCapabilities.js +0 -128
- package/lib/platform/platformCapabilities.js.map +0 -1
- package/lib/platform/platformInfo.d.ts +0 -43
- package/lib/platform/platformInfo.js +0 -228
- package/lib/platform/platformInfo.js.map +0 -1
- package/lib/remote-configuration/cofHandler.d.ts +0 -29
- package/lib/remote-configuration/cofHandler.js +0 -115
- package/lib/remote-configuration/cofHandler.js.map +0 -1
- package/lib/remote-configuration/preloadConfiguration.d.ts +0 -7
- package/lib/remote-configuration/preloadConfiguration.js +0 -15
- package/lib/remote-configuration/preloadConfiguration.js.map +0 -1
- package/lib/remote-configuration/remoteConfiguration.d.ts +0 -34
- package/lib/remote-configuration/remoteConfiguration.js +0 -73
- package/lib/remote-configuration/remoteConfiguration.js.map +0 -1
- package/lib/session/CameraKitSession.d.ts +0 -255
- package/lib/session/CameraKitSession.js +0 -440
- package/lib/session/CameraKitSession.js.map +0 -1
- package/lib/session/CameraKitSessionEvents.d.ts +0 -37
- package/lib/session/CameraKitSessionEvents.js +0 -38
- package/lib/session/CameraKitSessionEvents.js.map +0 -1
- package/lib/session/LensKeyboard.d.ts +0 -94
- package/lib/session/LensKeyboard.js +0 -95
- package/lib/session/LensKeyboard.js.map +0 -1
- package/lib/session/LensPerformanceMeasurement.d.ts +0 -57
- package/lib/session/LensPerformanceMeasurement.js +0 -114
- package/lib/session/LensPerformanceMeasurement.js.map +0 -1
- package/lib/session/LensPerformanceMetrics.d.ts +0 -31
- package/lib/session/LensPerformanceMetrics.js +0 -59
- package/lib/session/LensPerformanceMetrics.js.map +0 -1
- package/lib/session/lensState.d.ts +0 -30
- package/lib/session/lensState.js +0 -238
- package/lib/session/lensState.js.map +0 -1
- package/lib/session/sessionState.d.ts +0 -10
- package/lib/session/sessionState.js.map +0 -1
- package/lib/transforms/Transform2D.d.ts +0 -22
- package/lib/transforms/Transform2D.js +0 -19
- package/lib/transforms/Transform2D.js.map +0 -1
- package/lib/utils.d.ts +0 -3
- /package/{lib → dist}/benchmark/webglUtils.js +0 -0
- /package/{lib → dist}/benchmark/webglUtils.js.map +0 -0
- /package/{lib → dist}/clients/lensesClient.js +0 -0
- /package/{lib → dist}/common/date.js +0 -0
- /package/{lib → dist}/common/date.js.map +0 -0
- /package/{lib → dist}/common/getFilename.js +0 -0
- /package/{lib → dist}/common/getFilename.js.map +0 -0
- /package/{lib → dist}/common/memoize.js +0 -0
- /package/{lib → dist}/common/memoize.js.map +0 -0
- /package/{lib → dist}/common/time.js +0 -0
- /package/{lib → dist}/common/time.js.map +0 -0
- /package/{lib → dist}/common/types.js +0 -0
- /package/{lib → dist}/dependency-injection/Injectable.js +0 -0
- /package/{lib → dist}/dependency-injection/types.js +0 -0
- /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js +0 -0
- /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/common/value.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/common/value.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js.map +0 -0
- /package/{lib → dist}/lens/LensPersistenceStore.js +0 -0
- /package/{lib → dist}/lens-core-module/generated-types.js +0 -0
- /package/{lib → dist}/lens-core-module/generated-types.js.map +0 -0
- /package/{lib → dist}/session/sessionState.js +0 -0
- /package/{lib → dist}/utils.js +0 -0
- /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
|