@dvai-bridge/android-shared-core 4.0.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 +51 -0
- package/README.md +199 -0
- package/android/.gradle/9.4.1/checksums/checksums.lock +0 -0
- package/android/.gradle/9.4.1/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/9.4.1/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/9.4.1/checksums/sha256-checksums.bin +0 -0
- package/android/.gradle/9.4.1/checksums/sha512-checksums.bin +0 -0
- package/android/.gradle/9.4.1/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/9.4.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/9.4.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/9.4.1/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/9.4.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/9.4.1/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/9.4.1/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/file-system.probe +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/release/processReleaseManifest/aapt/AndroidManifest.xml +7 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/release/processReleaseManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
- package/android/build/intermediates/aar_main_jar/release/syncReleaseLibJars/classes.jar +0 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/aar_metadata/release/writeReleaseAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/android_res_source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt +9 -0
- package/android/build/intermediates/android_res_source_set_path_map/debugUnitTest/mapDebugUnitTestSourceSetPaths/file-map.txt +4 -0
- package/android/build/intermediates/android_res_source_set_path_map/release/mapReleaseSourceSetPaths/file-map.txt +9 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/annotation_processor_list/debugUnitTest/javaPreCompileDebugUnitTest/annotationProcessors.json +1 -0
- package/android/build/intermediates/annotation_processor_list/release/javaPreCompileRelease/annotationProcessors.json +1 -0
- package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
- package/android/build/intermediates/annotations_typedef_file/release/extractReleaseAnnotations/typedefs.txt +0 -0
- package/android/build/intermediates/apk_for_local_test/debugUnitTest/packageDebugUnitTestForUnitTest/apk-for-local-test.ap_ +0 -0
- package/android/build/intermediates/assets/debugUnitTest/mergeDebugUnitTestAssets/PublicSuffixDatabase.list +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Allowlist.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Exact.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Wildcard.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/DvaiHandlers.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerContext.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$2.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$3.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$4.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$5.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$6$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$respondWithHandlerResponse$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$respondWithHandlerResponse$2.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Error.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Json.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Sse.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer$startWithRoutes$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer$tryBind$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCacheKey.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/ScoreSource$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/ScoreSource.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$Error.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$PeerDown.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$PeerUp.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser$start$l$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$NsdAttrs.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$resolve$cb$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$start$l$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerKt.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerSource$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerSource.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerTxtKeys.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/offload/OffloadConfig.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingDeniedException.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshake.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy$approveOrFetch$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy$approveOrFetch$approved$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingRequest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingSource$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingSource.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest$FakeHandlers.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest$GET v1 models returns canned$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest$OPTIONS preflight returns 204 with PNA header$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest$unknown path returns 404$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServerTest$bind base port when free$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServerTest$falls back to next port on conflict$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServerTest$stop is idempotent$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServerTest$tearDown$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServerTest$throws actionable error when all ports blocked$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServerTest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCacheTest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerTest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/offload/OffloadConfigTest$onPairingRequest callback stays attached after copy$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/offload/OffloadConfigTest$onPairingRequest callback stays attached after copy$cb$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/offload/OffloadConfigTest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshakeTest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStoreAndPolicyTest$policy approves when UI says yes$1$collector$1$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStoreAndPolicyTest$policy approves when UI says yes$1$collector$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStoreAndPolicyTest$policy approves when UI says yes$1.class +0 -0
- timeout elapses$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStoreAndPolicyTest$policy reuses active pairing without re-prompting$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStoreAndPolicyTest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Allowlist.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Exact.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Wildcard.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/DvaiHandlers.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerContext.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$2.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$3.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$4.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$5.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$6$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$respondWithHandlerResponse$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$respondWithHandlerResponse$2.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Error.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Json.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Sse.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer$startWithRoutes$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer$tryBind$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCacheKey.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$Result$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$Result$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$Result.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$Thresholds.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$WhenMappings.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CpuClass$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CpuClass.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceCapabilityHints$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceCapabilityHints$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceCapabilityHints.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/GpuClass$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/GpuClass.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/PrecheckMode$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/PrecheckMode.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/ScoreSource$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/ScoreSource.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$Error.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$PeerDown.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$PeerUp.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser$start$l$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$NsdAttrs.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$resolve$cb$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$start$l$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerKt.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerSource$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerSource.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerTxtKeys.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/offload/OffloadConfig.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingDeniedException.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshake.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy$approveOrFetch$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy$approveOrFetch$approved$1.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingRequest.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingSource$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingSource.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted$$serializer.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted$Companion.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted.class +0 -0
- package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore.class +0 -0
- package/android/build/intermediates/compile_and_runtime_r_class_jar/debugUnitTest/processDebugUnitTestResources/R.jar +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/release/generateReleaseRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/compile_symbol_list/release/generateReleaseRFile/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
- package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merged.dir/values/values.xml +18 -0
- package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merged.dir/values-v18/values-v18.xml +19 -0
- package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merged.dir/values-v21/values-v21.xml +21 -0
- package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merged.dir/values-v28/values-v28.xml +21 -0
- package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merger.xml +60 -0
- package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugUnitTestAssets/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeReleaseAssets/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values/values.xml +4 -0
- package/android/build/intermediates/incremental/release/mergeReleaseResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/release/packageReleaseResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/release/packageReleaseResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/release-mergeJavaRes/merge-state +0 -0
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
- package/android/build/intermediates/java_res/debugUnitTest/processDebugUnitTestJavaRes/out/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
- package/android/build/intermediates/java_res/release/processReleaseJavaRes/out/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
- package/android/build/intermediates/linked_resources_binary_format/debugUnitTest/processDebugUnitTestResources/linked-resources-binary-format.ap_ +0 -0
- package/android/build/intermediates/linked_resources_binary_format/debugUnitTest/processDebugUnitTestResources/output-metadata.json +20 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
- package/android/build/intermediates/local_only_symbol_list/release/parseReleaseLocalResources/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +9 -0
- package/android/build/intermediates/manifest_merge_blame_file/debugUnitTest/processDebugUnitTestManifest/manifest-merger-blame-debug-test-report.txt +97 -0
- package/android/build/intermediates/manifest_merge_blame_file/release/processReleaseManifest/manifest-merger-blame-release-report.txt +9 -0
- package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-.jar +0 -0
- package/android/build/intermediates/merged_java_res/release/mergeReleaseJavaResource/feature-.jar +0 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
- package/android/build/intermediates/merged_manifest/release/processReleaseManifest/AndroidManifest.xml +7 -0
- package/android/build/intermediates/merged_res/debugUnitTest/mergeDebugUnitTestResources/values-v18_values-v18.arsc.flat +0 -0
- package/android/build/intermediates/merged_res/debugUnitTest/mergeDebugUnitTestResources/values-v21_values-v21.arsc.flat +0 -0
- package/android/build/intermediates/merged_res/debugUnitTest/mergeDebugUnitTestResources/values-v28_values-v28.arsc.flat +0 -0
- package/android/build/intermediates/merged_res/debugUnitTest/mergeDebugUnitTestResources/values_values.arsc.flat +0 -0
- package/android/build/intermediates/merged_res/release/mergeReleaseResources/values/values.xml +4 -0
- package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/mergeDebugUnitTestResources.json +110 -0
- package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/values-v18.json +28 -0
- package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/values-v21.json +28 -0
- package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/values-v28.json +28 -0
- package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/values.json +38 -0
- package/android/build/intermediates/merged_res_blame_folder/release/mergeReleaseResources/out/multi-v2/values.json +34 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debugUnitTest/generateDebugUnitTestResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/nested_resources_validation_report/release/generateReleaseResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/packaged_manifests/debugUnitTest/processDebugUnitTestManifest/AndroidManifest.xml +53 -0
- package/android/build/intermediates/packaged_manifests/debugUnitTest/processDebugUnitTestManifest/output-metadata.json +18 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/runtime_symbol_list/debugUnitTest/processDebugUnitTestResources/R.txt +3 -0
- package/android/build/intermediates/source_jar/release/release-sources.jar +0 -0
- package/android/build/intermediates/stable_resource_ids_file/debugUnitTest/processDebugUnitTestResources/stableIds.txt +3 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
- package/android/build/intermediates/symbol_list_with_package_name/release/generateReleaseRFile/package-aware-r.txt +1 -0
- package/android/build/intermediates/unit_test_config_directory/debugUnitTest/generateDebugUnitTestConfig/out/com/android/tools/test_config.properties +5 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.HandlerDispatchTest.xml +12 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.HttpServerTest.xml +82 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.capability.CapabilityCacheTest.xml +15 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.discovery.PeerTest.xml +15 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.offload.OffloadConfigTest.xml +11 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.pairing.PairingHandshakeTest.xml +15 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.pairing.PairingStoreAndPolicyTest.xml +13 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/binary/output-events.bin +0 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/binary/results-generic.bin +0 -0
- package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/metadata.txt +4 -0
- package/android/build/intermediates/verified_library_resources/release/verifyReleaseResources/compiled/values_values.arsc.flat +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugUnitTestKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.s +1 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.s +1 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.s +1 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.values +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s +1 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileReleaseKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileReleaseKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/outputs/aar/dvai-bridge-android-shared-core-debug.aar +0 -0
- package/android/build/outputs/aar/dvai-bridge-android-shared-core-release.aar +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +16 -0
- package/android/build/outputs/logs/manifest-merger-release-report.txt +16 -0
- package/android/build/publications/release/module.json +145 -0
- package/android/build/publications/release/pom-default.xml +58 -0
- package/android/build/reports/problems/problems-report.html +666 -0
- package/android/build/reports/tests/testDebugUnitTest/CEmI-wvg_b0/index.html +171 -0
- package/android/build/reports/tests/testDebugUnitTest/CjkPESSPCFg/index.html +189 -0
- package/android/build/reports/tests/testDebugUnitTest/Sr_3FYF3E64/IwYT37xmPR4.html +109 -0
- package/android/build/reports/tests/testDebugUnitTest/Sr_3FYF3E64/index.html +137 -0
- package/android/build/reports/tests/testDebugUnitTest/css/base-style.css +175 -0
- package/android/build/reports/tests/testDebugUnitTest/css/style.css +154 -0
- package/android/build/reports/tests/testDebugUnitTest/index.html +182 -0
- package/android/build/reports/tests/testDebugUnitTest/js/report.js +228 -0
- package/android/build/reports/tests/testDebugUnitTest/jusmsxdrZvQ/DOz075amE-4.html +160 -0
- package/android/build/reports/tests/testDebugUnitTest/jusmsxdrZvQ/DWSCvp4-vk8.html +124 -0
- package/android/build/reports/tests/testDebugUnitTest/jusmsxdrZvQ/index.html +148 -0
- package/android/build/reports/tests/testDebugUnitTest/peG3Rsp7hHI/index.html +189 -0
- package/android/build/reports/tests/testDebugUnitTest/rz2aVP3CY48/index.html +189 -0
- package/android/build/reports/tests/testDebugUnitTest/ydf6hQjPqNk/index.html +153 -0
- package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.HandlerDispatchTest.xml +12 -0
- package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.HttpServerTest.xml +82 -0
- package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.capability.CapabilityCacheTest.xml +15 -0
- package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.discovery.PeerTest.xml +15 -0
- package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.offload.OffloadConfigTest.xml +11 -0
- package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.pairing.PairingHandshakeTest.xml +15 -0
- package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.pairing.PairingStoreAndPolicyTest.xml +13 -0
- package/android/build/test-results/testDebugUnitTest/binary/output-events.bin +0 -0
- package/android/build/test-results/testDebugUnitTest/binary/results-generic.bin +0 -0
- package/android/build/tmp/publishReleasePublicationToMavenLocal/module-maven-metadata.xml +17 -0
- package/android/build/tmp/sourceReleaseJar/MANIFEST.MF +2 -0
- package/android/build.gradle +139 -0
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +7 -0
- package/android/gradle.properties +5 -0
- package/android/gradlew +249 -0
- package/android/gradlew.bat +92 -0
- package/android/settings.gradle +1 -0
- package/android/src/androidTest/java/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscoveryInstrumentedTest.kt +61 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/CorsConfig.kt +37 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/DvaiHandlers.kt +20 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/HandlerContext.kt +10 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/HandlerDispatch.kt +98 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/HandlerResponse.kt +11 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/HttpServer.kt +126 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache.kt +78 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore.kt +41 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/capability/DeviceID.kt +95 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/capability/Precheck.kt +180 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser.kt +86 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery.kt +230 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/discovery/Peer.kt +138 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/offload/OffloadConfig.kt +42 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/pairing/Pairing.kt +58 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshake.kt +126 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy.kt +145 -0
- package/android/src/main/java/co/deepvoiceai/bridge/shared/core/pairing/PairingStore.kt +76 -0
- package/android/src/test/java/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest.kt +74 -0
- package/android/src/test/java/co/deepvoiceai/bridge/shared/core/HttpServerTest.kt +65 -0
- package/android/src/test/java/co/deepvoiceai/bridge/shared/core/capability/CapabilityCacheTest.kt +107 -0
- package/android/src/test/java/co/deepvoiceai/bridge/shared/core/discovery/PeerTest.kt +119 -0
- package/android/src/test/java/co/deepvoiceai/bridge/shared/core/offload/OffloadConfigTest.kt +88 -0
- package/android/src/test/java/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshakeTest.kt +97 -0
- package/android/src/test/java/co/deepvoiceai/bridge/shared/core/pairing/PairingStoreAndPolicyTest.kt +127 -0
- package/package.json +16 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
package co.deepvoiceai.bridge.shared.core.capability
|
|
2
|
+
|
|
3
|
+
import android.app.ActivityManager
|
|
4
|
+
import android.content.Context
|
|
5
|
+
import android.os.Build
|
|
6
|
+
import kotlinx.serialization.Serializable
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* v3.2 — pre-init capability gate for the Android SDK.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors the TypeScript core's `assessCapability()` in
|
|
12
|
+
* `@dvai-bridge/core/src/capability/precheck.ts`. The rule:
|
|
13
|
+
*
|
|
14
|
+
* Before any model download or backend init:
|
|
15
|
+
* - if estimated tok/s < hardwareMinimum (default 3) → mode=TOO_WEAK
|
|
16
|
+
* (host shows a system popup, SDK throws HardwareTooWeak; no
|
|
17
|
+
* model download happens).
|
|
18
|
+
* - else if estimated tok/s < minLocalCapability (default 10) →
|
|
19
|
+
* mode=OFFLOAD_ONLY (skip model load entirely; bring up only the
|
|
20
|
+
* proxy + discovery + pairing).
|
|
21
|
+
* - else → mode=OK (load locally + proxy + discovery).
|
|
22
|
+
*
|
|
23
|
+
* Heuristic-only — no model is loaded at this stage. A real probe
|
|
24
|
+
* refines the estimate AFTER a model is loaded and a request has
|
|
25
|
+
* actually run; that path is unchanged from v3.0.
|
|
26
|
+
*/
|
|
27
|
+
object CapabilityPrecheck {
|
|
28
|
+
|
|
29
|
+
/** Result of [assess]. */
|
|
30
|
+
@Serializable
|
|
31
|
+
data class Result(
|
|
32
|
+
val mode: PrecheckMode,
|
|
33
|
+
/** Estimated decode tok/s on this device for any 1–3B model. */
|
|
34
|
+
val tokPerSec: Double,
|
|
35
|
+
val hints: DeviceCapabilityHints,
|
|
36
|
+
/** Human-readable explanation; safe to log + display in UI. */
|
|
37
|
+
val reason: String,
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
/** Tunable thresholds. */
|
|
41
|
+
data class Thresholds(
|
|
42
|
+
/** Below this, the device is too weak to run inference at all.
|
|
43
|
+
* Default 3.0 tok/s — anything below feels broken for chat. */
|
|
44
|
+
val hardwareMinimum: Double = 3.0,
|
|
45
|
+
/** Below this, run in offload-only mode. Default 10.0. */
|
|
46
|
+
val minLocalCapability: Double = 10.0,
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
/** Run the precheck. [hints] override is for tests. */
|
|
50
|
+
fun assess(
|
|
51
|
+
context: Context,
|
|
52
|
+
thresholds: Thresholds = Thresholds(),
|
|
53
|
+
hints: DeviceCapabilityHints? = null,
|
|
54
|
+
): Result {
|
|
55
|
+
val resolvedHints = hints ?: detectDeviceHints(context)
|
|
56
|
+
val tokPerSec = heuristicTokPerSec(resolvedHints)
|
|
57
|
+
|
|
58
|
+
return when {
|
|
59
|
+
tokPerSec < thresholds.hardwareMinimum -> Result(
|
|
60
|
+
mode = PrecheckMode.TOO_WEAK,
|
|
61
|
+
tokPerSec = tokPerSec,
|
|
62
|
+
hints = resolvedHints,
|
|
63
|
+
reason = "estimated $tokPerSec tok/s, below the " +
|
|
64
|
+
"${thresholds.hardwareMinimum} tok/s hardware floor — " +
|
|
65
|
+
"local inference would be unusable.",
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
tokPerSec < thresholds.minLocalCapability -> Result(
|
|
69
|
+
mode = PrecheckMode.OFFLOAD_ONLY,
|
|
70
|
+
tokPerSec = tokPerSec,
|
|
71
|
+
hints = resolvedHints,
|
|
72
|
+
reason = "estimated $tokPerSec tok/s, below the " +
|
|
73
|
+
"${thresholds.minLocalCapability} tok/s comfort threshold — " +
|
|
74
|
+
"model will not be loaded locally; every request will be " +
|
|
75
|
+
"forwarded to a paired peer.",
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
else -> Result(
|
|
79
|
+
mode = PrecheckMode.OK,
|
|
80
|
+
tokPerSec = tokPerSec,
|
|
81
|
+
hints = resolvedHints,
|
|
82
|
+
reason = "estimated $tokPerSec tok/s, above the " +
|
|
83
|
+
"${thresholds.minLocalCapability} tok/s threshold — running normally.",
|
|
84
|
+
)
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** Pure heuristic — no Context needed; mirrors TS heuristicTokPerSec. */
|
|
89
|
+
fun heuristicTokPerSec(hints: DeviceCapabilityHints): Double {
|
|
90
|
+
// Base score by GPU class — observed floors for 1–3B q4 GGUFs.
|
|
91
|
+
val gpuBase = when (hints.gpuClass) {
|
|
92
|
+
GpuClass.NONE -> 3.0
|
|
93
|
+
GpuClass.INTEGRATED -> 8.0
|
|
94
|
+
GpuClass.DISCRETE -> 35.0
|
|
95
|
+
GpuClass.APPLE_SILICON -> 40.0 // unused on Android but kept for parity
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
val cpuMul = when (hints.cpuClass) {
|
|
99
|
+
CpuClass.LOW -> 0.6
|
|
100
|
+
CpuClass.MID -> 1.0
|
|
101
|
+
CpuClass.HIGH -> 1.3
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
val ramMul = when {
|
|
105
|
+
hints.ramGb < 4 -> 0.3
|
|
106
|
+
hints.ramGb < 8 -> 0.7
|
|
107
|
+
else -> 1.0
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
val npuBonus = if (hints.hasNpu) 1.4 else 1.0
|
|
111
|
+
|
|
112
|
+
val raw = gpuBase * cpuMul * ramMul * npuBonus
|
|
113
|
+
return Math.round(raw * 10) / 10.0
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/** Best-effort introspection from ActivityManager + Build properties. */
|
|
117
|
+
fun detectDeviceHints(context: Context): DeviceCapabilityHints {
|
|
118
|
+
val am = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
|
|
119
|
+
val memInfo = ActivityManager.MemoryInfo()
|
|
120
|
+
am.getMemoryInfo(memInfo)
|
|
121
|
+
val ramGb = (memInfo.totalMem.toDouble() / (1024L * 1024 * 1024)).toInt()
|
|
122
|
+
|
|
123
|
+
val cores = Runtime.getRuntime().availableProcessors()
|
|
124
|
+
val cpuClass = when {
|
|
125
|
+
cores >= 8 -> CpuClass.HIGH
|
|
126
|
+
cores >= 4 -> CpuClass.MID
|
|
127
|
+
else -> CpuClass.LOW
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Android phones don't have discrete GPUs — most have an integrated
|
|
131
|
+
// mobile GPU (Adreno / Mali / PowerVR). Treat as INTEGRATED unless
|
|
132
|
+
// the device is so old it doesn't even have one (rare in 2026+).
|
|
133
|
+
val gpuClass = GpuClass.INTEGRATED
|
|
134
|
+
|
|
135
|
+
// NPU detection: Pixel + Samsung + recent Qualcomm flagship phones
|
|
136
|
+
// have NPUs (Tensor / Hexagon / etc.). Best signal we have without
|
|
137
|
+
// a runtime probe is hardware/model name, but those strings are
|
|
138
|
+
// unreliable across regions. Default false; the model-load probe
|
|
139
|
+
// refines after first run.
|
|
140
|
+
val hasNpu = false
|
|
141
|
+
|
|
142
|
+
return DeviceCapabilityHints(
|
|
143
|
+
hasNpu = hasNpu,
|
|
144
|
+
ramGb = ramGb,
|
|
145
|
+
gpuClass = gpuClass,
|
|
146
|
+
cpuClass = cpuClass,
|
|
147
|
+
)
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/** Parallels the TS `DeviceCapabilityHints` interface. */
|
|
152
|
+
@Serializable
|
|
153
|
+
data class DeviceCapabilityHints(
|
|
154
|
+
val hasNpu: Boolean,
|
|
155
|
+
val ramGb: Int,
|
|
156
|
+
val gpuClass: GpuClass,
|
|
157
|
+
val cpuClass: CpuClass,
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
@Serializable
|
|
161
|
+
enum class GpuClass {
|
|
162
|
+
@kotlinx.serialization.SerialName("none") NONE,
|
|
163
|
+
@kotlinx.serialization.SerialName("integrated") INTEGRATED,
|
|
164
|
+
@kotlinx.serialization.SerialName("discrete") DISCRETE,
|
|
165
|
+
@kotlinx.serialization.SerialName("apple-silicon") APPLE_SILICON,
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
@Serializable
|
|
169
|
+
enum class CpuClass {
|
|
170
|
+
@kotlinx.serialization.SerialName("low") LOW,
|
|
171
|
+
@kotlinx.serialization.SerialName("mid") MID,
|
|
172
|
+
@kotlinx.serialization.SerialName("high") HIGH,
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
@Serializable
|
|
176
|
+
enum class PrecheckMode {
|
|
177
|
+
OK,
|
|
178
|
+
OFFLOAD_ONLY,
|
|
179
|
+
TOO_WEAK,
|
|
180
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
package co.deepvoiceai.bridge.shared.core.discovery
|
|
2
|
+
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import android.net.nsd.NsdManager
|
|
5
|
+
import android.net.nsd.NsdServiceInfo
|
|
6
|
+
import android.util.Log
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Advertises THIS device on the LAN as a `_dvai-bridge._tcp` mDNS
|
|
10
|
+
* service via Android's [NsdManager.registerService]. Pairs with
|
|
11
|
+
* [NsdDiscovery] running on peers.
|
|
12
|
+
*
|
|
13
|
+
* The TXT record exposes: deviceId, deviceName, dvaiVersion, models,
|
|
14
|
+
* capability — see [PeerTxtKeys].
|
|
15
|
+
*/
|
|
16
|
+
class NsdAdvertiser(
|
|
17
|
+
private val context: Context,
|
|
18
|
+
) {
|
|
19
|
+
companion object {
|
|
20
|
+
private const val TAG = "DvaiNsdAdvertiser"
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
private val nsdManager: NsdManager =
|
|
24
|
+
context.applicationContext.getSystemService(Context.NSD_SERVICE) as NsdManager
|
|
25
|
+
|
|
26
|
+
@Volatile private var listener: NsdManager.RegistrationListener? = null
|
|
27
|
+
@Volatile private var started = false
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Begin advertising. Idempotent — a second [start] with the same
|
|
31
|
+
* config is a no-op.
|
|
32
|
+
*/
|
|
33
|
+
fun start(
|
|
34
|
+
serviceName: String,
|
|
35
|
+
port: Int,
|
|
36
|
+
txt: Map<String, String>,
|
|
37
|
+
) {
|
|
38
|
+
if (started) return
|
|
39
|
+
val info = NsdServiceInfo().apply {
|
|
40
|
+
this.serviceName = serviceName
|
|
41
|
+
this.serviceType = DVAI_NSD_SERVICE_TYPE
|
|
42
|
+
this.port = port
|
|
43
|
+
for ((k, v) in txt) {
|
|
44
|
+
setAttribute(k, v)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
val l = object : NsdManager.RegistrationListener {
|
|
48
|
+
override fun onRegistrationFailed(info: NsdServiceInfo, errorCode: Int) {
|
|
49
|
+
Log.w(TAG, "registration failed code=$errorCode")
|
|
50
|
+
started = false
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
override fun onUnregistrationFailed(info: NsdServiceInfo, errorCode: Int) {
|
|
54
|
+
Log.w(TAG, "unregistration failed code=$errorCode")
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
override fun onServiceRegistered(info: NsdServiceInfo) {
|
|
58
|
+
Log.d(TAG, "registered: ${info.serviceName}")
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
override fun onServiceUnregistered(info: NsdServiceInfo) {
|
|
62
|
+
Log.d(TAG, "unregistered: ${info.serviceName}")
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
listener = l
|
|
66
|
+
try {
|
|
67
|
+
nsdManager.registerService(info, NsdManager.PROTOCOL_DNS_SD, l)
|
|
68
|
+
started = true
|
|
69
|
+
} catch (e: Throwable) {
|
|
70
|
+
Log.w(TAG, "registerService threw: ${e.message}")
|
|
71
|
+
listener = null
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** Unregister. Idempotent. */
|
|
76
|
+
fun stop() {
|
|
77
|
+
val l = listener ?: return
|
|
78
|
+
try {
|
|
79
|
+
nsdManager.unregisterService(l)
|
|
80
|
+
} catch (e: Throwable) {
|
|
81
|
+
Log.d(TAG, "unregisterService: ${e.message}")
|
|
82
|
+
}
|
|
83
|
+
listener = null
|
|
84
|
+
started = false
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
package co.deepvoiceai.bridge.shared.core.discovery
|
|
2
|
+
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import android.net.nsd.NsdManager
|
|
5
|
+
import android.net.nsd.NsdServiceInfo
|
|
6
|
+
import android.util.Log
|
|
7
|
+
import kotlinx.coroutines.channels.BufferOverflow
|
|
8
|
+
import kotlinx.coroutines.flow.MutableSharedFlow
|
|
9
|
+
import kotlinx.coroutines.flow.SharedFlow
|
|
10
|
+
import kotlinx.coroutines.flow.asSharedFlow
|
|
11
|
+
import java.util.concurrent.ConcurrentHashMap
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Discovery events emitted by [NsdDiscovery]. Mirrors the TS
|
|
15
|
+
* `DiscoveryEvent` discriminated union.
|
|
16
|
+
*/
|
|
17
|
+
sealed class DiscoveryEvent {
|
|
18
|
+
data class PeerUp(val peer: Peer) : DiscoveryEvent()
|
|
19
|
+
data class PeerDown(val deviceId: String) : DiscoveryEvent()
|
|
20
|
+
data class Error(val message: String) : DiscoveryEvent()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* mDNS / DNS-SD discovery for `_dvai-bridge._tcp` peers, backed by
|
|
25
|
+
* Android's [NsdManager].
|
|
26
|
+
*
|
|
27
|
+
* Lifecycle:
|
|
28
|
+
*
|
|
29
|
+
* 1. Construct with `Context.applicationContext` and a self deviceId
|
|
30
|
+
* (so we filter out our own broadcast).
|
|
31
|
+
* 2. Call [start] from a coroutine. NsdManager runs on its own
|
|
32
|
+
* thread; this class is just a thin wrapper.
|
|
33
|
+
* 3. Collect from [events] for `DiscoveryEvent.PeerUp/PeerDown/Error`.
|
|
34
|
+
* 4. Call [peers] for a snapshot.
|
|
35
|
+
* 5. Call [stop] to release the discovery listener.
|
|
36
|
+
*
|
|
37
|
+
* Thread-safety: the internal peer map is a `ConcurrentHashMap`, and
|
|
38
|
+
* NsdManager callbacks fire on its internal thread. Stale-peer GC
|
|
39
|
+
* runs piggybacked on each new event since NsdManager doesn't itself
|
|
40
|
+
* surface explicit "peer down" notifications when a device just goes
|
|
41
|
+
* silent (no service unregister).
|
|
42
|
+
*/
|
|
43
|
+
class NsdDiscovery(
|
|
44
|
+
private val context: Context,
|
|
45
|
+
private val selfDeviceId: String,
|
|
46
|
+
/** Peer is considered down after this many ms with no advertisement seen. */
|
|
47
|
+
private val peerTtlMs: Long = 90_000L,
|
|
48
|
+
) {
|
|
49
|
+
companion object {
|
|
50
|
+
private const val TAG = "DvaiNsdDiscovery"
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private val nsdManager: NsdManager =
|
|
54
|
+
context.applicationContext.getSystemService(Context.NSD_SERVICE) as NsdManager
|
|
55
|
+
|
|
56
|
+
private val peerMap = ConcurrentHashMap<String, Peer>()
|
|
57
|
+
private val pendingResolutions = ConcurrentHashMap<String, Boolean>()
|
|
58
|
+
|
|
59
|
+
private val _events = MutableSharedFlow<DiscoveryEvent>(
|
|
60
|
+
replay = 0,
|
|
61
|
+
extraBufferCapacity = 64,
|
|
62
|
+
onBufferOverflow = BufferOverflow.DROP_OLDEST,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
/** Hot stream of discovery events. Always-on; drops oldest on overflow. */
|
|
66
|
+
val events: SharedFlow<DiscoveryEvent> = _events.asSharedFlow()
|
|
67
|
+
|
|
68
|
+
@Volatile private var listener: NsdManager.DiscoveryListener? = null
|
|
69
|
+
@Volatile private var started = false
|
|
70
|
+
|
|
71
|
+
/** Snapshot of currently-known peers. */
|
|
72
|
+
fun peers(): List<Peer> {
|
|
73
|
+
gcStale()
|
|
74
|
+
return peerMap.values.toList()
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** Begin discovering. Idempotent. */
|
|
78
|
+
fun start() {
|
|
79
|
+
if (started) return
|
|
80
|
+
val l = object : NsdManager.DiscoveryListener {
|
|
81
|
+
override fun onStartDiscoveryFailed(serviceType: String, errorCode: Int) {
|
|
82
|
+
_events.tryEmit(
|
|
83
|
+
DiscoveryEvent.Error(
|
|
84
|
+
"[DVAI/discovery] onStartDiscoveryFailed type=$serviceType code=$errorCode",
|
|
85
|
+
),
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
override fun onStopDiscoveryFailed(serviceType: String, errorCode: Int) {
|
|
90
|
+
_events.tryEmit(
|
|
91
|
+
DiscoveryEvent.Error(
|
|
92
|
+
"[DVAI/discovery] onStopDiscoveryFailed type=$serviceType code=$errorCode",
|
|
93
|
+
),
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
override fun onDiscoveryStarted(serviceType: String) {
|
|
98
|
+
Log.d(TAG, "discovery started: $serviceType")
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
override fun onDiscoveryStopped(serviceType: String) {
|
|
102
|
+
Log.d(TAG, "discovery stopped: $serviceType")
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
override fun onServiceFound(serviceInfo: NsdServiceInfo) {
|
|
106
|
+
val key = serviceInfo.serviceName
|
|
107
|
+
if (pendingResolutions.putIfAbsent(key, true) != null) return
|
|
108
|
+
resolve(serviceInfo) { pendingResolutions.remove(key) }
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
override fun onServiceLost(serviceInfo: NsdServiceInfo) {
|
|
112
|
+
// NsdManager doesn't expose deviceId directly here — match by
|
|
113
|
+
// serviceName in our peer map (we store it as a synthetic key).
|
|
114
|
+
val name = serviceInfo.serviceName ?: return
|
|
115
|
+
val gone = peerMap.entries.firstOrNull { it.value.deviceName == name || it.key == name }
|
|
116
|
+
gone?.let {
|
|
117
|
+
peerMap.remove(it.key)
|
|
118
|
+
_events.tryEmit(DiscoveryEvent.PeerDown(it.key))
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
listener = l
|
|
123
|
+
try {
|
|
124
|
+
nsdManager.discoverServices(DVAI_NSD_SERVICE_TYPE, NsdManager.PROTOCOL_DNS_SD, l)
|
|
125
|
+
started = true
|
|
126
|
+
} catch (e: Throwable) {
|
|
127
|
+
_events.tryEmit(
|
|
128
|
+
DiscoveryEvent.Error("[DVAI/discovery] discoverServices threw: ${e.message}"),
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/** Stop and release resources. Idempotent. */
|
|
134
|
+
fun stop() {
|
|
135
|
+
val l = listener ?: return
|
|
136
|
+
try {
|
|
137
|
+
nsdManager.stopServiceDiscovery(l)
|
|
138
|
+
} catch (e: Throwable) {
|
|
139
|
+
// NsdManager throws IllegalArgumentException if the listener
|
|
140
|
+
// is already deregistered. Safe to ignore on shutdown.
|
|
141
|
+
Log.d(TAG, "stopServiceDiscovery: ${e.message}")
|
|
142
|
+
}
|
|
143
|
+
listener = null
|
|
144
|
+
started = false
|
|
145
|
+
peerMap.clear()
|
|
146
|
+
pendingResolutions.clear()
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Resolve a discovered service to fetch its host/port + TXT record.
|
|
151
|
+
* NsdManager pre-API-34 has a known race where back-to-back
|
|
152
|
+
* resolveService calls fail; we serialize via [pendingResolutions].
|
|
153
|
+
*/
|
|
154
|
+
private fun resolve(serviceInfo: NsdServiceInfo, onDone: () -> Unit) {
|
|
155
|
+
val cb = object : NsdManager.ResolveListener {
|
|
156
|
+
override fun onResolveFailed(info: NsdServiceInfo, errorCode: Int) {
|
|
157
|
+
onDone()
|
|
158
|
+
_events.tryEmit(
|
|
159
|
+
DiscoveryEvent.Error(
|
|
160
|
+
"[DVAI/discovery] onResolveFailed name=${info.serviceName} code=$errorCode",
|
|
161
|
+
),
|
|
162
|
+
)
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
override fun onServiceResolved(info: NsdServiceInfo) {
|
|
166
|
+
onDone()
|
|
167
|
+
handleResolved(info)
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
try {
|
|
171
|
+
nsdManager.resolveService(serviceInfo, cb)
|
|
172
|
+
} catch (e: Throwable) {
|
|
173
|
+
onDone()
|
|
174
|
+
_events.tryEmit(
|
|
175
|
+
DiscoveryEvent.Error("[DVAI/discovery] resolveService threw: ${e.message}"),
|
|
176
|
+
)
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
private fun handleResolved(info: NsdServiceInfo) {
|
|
181
|
+
val txt = readTxt(info)
|
|
182
|
+
// Filter out our own advertisement.
|
|
183
|
+
val peerDeviceId = txt[PeerTxtKeys.DEVICE_ID]
|
|
184
|
+
if (peerDeviceId == null || peerDeviceId == selfDeviceId) return
|
|
185
|
+
|
|
186
|
+
val host = info.host?.hostAddress ?: return
|
|
187
|
+
val port = info.port
|
|
188
|
+
// IPv6 literals must be wrapped in brackets in URLs.
|
|
189
|
+
val hostPart = if (host.contains(':')) "[$host]" else host
|
|
190
|
+
val secure = txt[PeerTxtKeys.SECURE]?.equals("true", ignoreCase = true) == true
|
|
191
|
+
val scheme = if (secure) "https" else "http"
|
|
192
|
+
val baseUrl = "$scheme://$hostPart:$port"
|
|
193
|
+
|
|
194
|
+
val peer = parsePeerTxt(txt, baseUrl) ?: return
|
|
195
|
+
val previous = peerMap.put(peer.deviceId, peer)
|
|
196
|
+
if (previous == null || previous.lastSeenAt < peer.lastSeenAt - 1000) {
|
|
197
|
+
_events.tryEmit(DiscoveryEvent.PeerUp(peer))
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
private fun readTxt(info: NsdServiceInfo): Map<String, String> {
|
|
202
|
+
// attributes is API 21+. The Android byte-array → String conversion
|
|
203
|
+
// is UTF-8 by spec.
|
|
204
|
+
val attrs = info.attributes ?: emptyMap()
|
|
205
|
+
return attrs.entries.associate { (k, v) ->
|
|
206
|
+
k to (v?.toString(Charsets.UTF_8) ?: "")
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
private fun gcStale() {
|
|
211
|
+
if (peerMap.isEmpty()) return
|
|
212
|
+
val cutoff = System.currentTimeMillis() - peerTtlMs
|
|
213
|
+
val stale = peerMap.entries.filter { it.value.lastSeenAt < cutoff }
|
|
214
|
+
for (entry in stale) {
|
|
215
|
+
peerMap.remove(entry.key)
|
|
216
|
+
_events.tryEmit(DiscoveryEvent.PeerDown(entry.key))
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/** Static helpers for tests / library-side conversions. */
|
|
221
|
+
object NsdAttrs {
|
|
222
|
+
/**
|
|
223
|
+
* Build an NsdServiceInfo attributes-style map from a TXT map.
|
|
224
|
+
* Useful for round-trip tests of TXT serialization without
|
|
225
|
+
* requiring an actual NsdManager instance.
|
|
226
|
+
*/
|
|
227
|
+
fun fromTxt(txt: Map<String, String>): Map<String, ByteArray> =
|
|
228
|
+
txt.mapValues { (_, v) -> v.toByteArray(Charsets.UTF_8) }
|
|
229
|
+
}
|
|
230
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
package co.deepvoiceai.bridge.shared.core.discovery
|
|
2
|
+
|
|
3
|
+
import kotlinx.serialization.Serializable
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Phase 3 — peer discovery types (Kotlin mirror of the TS `Peer` shape
|
|
7
|
+
* in `@dvai-bridge/core/src/discovery/types.ts`).
|
|
8
|
+
*
|
|
9
|
+
* A "peer" is another device running dvai-bridge that this device can
|
|
10
|
+
* (potentially) offload inference requests to. Peers are surfaced by
|
|
11
|
+
* one or more discovery sources — LAN mDNS via [NsdDiscovery], app-
|
|
12
|
+
* supplied static lists, rendezvous-paired (internet), or a host-app
|
|
13
|
+
* provided custom source.
|
|
14
|
+
*/
|
|
15
|
+
@Serializable
|
|
16
|
+
data class Peer(
|
|
17
|
+
/** Stable per-install device ID of the peer. */
|
|
18
|
+
val deviceId: String,
|
|
19
|
+
/** Human-readable hint (Android device name, hostname, etc.). */
|
|
20
|
+
val deviceName: String,
|
|
21
|
+
/** Library SemVer the peer is running. */
|
|
22
|
+
val dvaiVersion: String,
|
|
23
|
+
/** OpenAI-compatible base URL the peer's local server exposes. */
|
|
24
|
+
val baseUrl: String,
|
|
25
|
+
/**
|
|
26
|
+
* Models the peer claims to have loaded right now. Used to filter
|
|
27
|
+
* peer eligibility — we only offload model X to a peer that already
|
|
28
|
+
* has model X loaded (loading from scratch on the peer is fine but
|
|
29
|
+
* defeats the latency win).
|
|
30
|
+
*/
|
|
31
|
+
val loadedModels: List<String> = emptyList(),
|
|
32
|
+
/**
|
|
33
|
+
* Peer-reported capability map: { modelId → tok/s }. Treat as
|
|
34
|
+
* advisory only; the offload decider re-probes a peer with a small
|
|
35
|
+
* reachability+decode test before its first real offload request.
|
|
36
|
+
*/
|
|
37
|
+
val capability: Map<String, Double> = emptyMap(),
|
|
38
|
+
/** Discovery source — useful for diagnostics and structured-error responses. */
|
|
39
|
+
val via: PeerSource,
|
|
40
|
+
/** Whether the peer's URL uses TLS. */
|
|
41
|
+
val secure: Boolean = false,
|
|
42
|
+
/** Last-seen unix ms — discovery sources update this. */
|
|
43
|
+
val lastSeenAt: Long = 0L,
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
@Serializable
|
|
47
|
+
enum class PeerSource {
|
|
48
|
+
@kotlinx.serialization.SerialName("mdns")
|
|
49
|
+
MDNS,
|
|
50
|
+
@kotlinx.serialization.SerialName("static")
|
|
51
|
+
STATIC,
|
|
52
|
+
@kotlinx.serialization.SerialName("rendezvous")
|
|
53
|
+
RENDEZVOUS,
|
|
54
|
+
@kotlinx.serialization.SerialName("custom")
|
|
55
|
+
CUSTOM,
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Service-type advertised on mDNS for dvai-bridge instances. Mirrors
|
|
60
|
+
* `MDNS_SERVICE_TYPE` from the TS reference. Note that NsdManager
|
|
61
|
+
* uses the short form `_dvai-bridge._tcp` (no trailing `.local` —
|
|
62
|
+
* the platform appends it).
|
|
63
|
+
*/
|
|
64
|
+
const val DVAI_NSD_SERVICE_TYPE: String = "_dvai-bridge._tcp"
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Field names in the TXT record advertised + parsed by the LAN
|
|
68
|
+
* discovery layer. Single source of truth — both [NsdAdvertiser]
|
|
69
|
+
* and [NsdDiscovery] reference these constants.
|
|
70
|
+
*/
|
|
71
|
+
object PeerTxtKeys {
|
|
72
|
+
const val DVAI_VERSION = "dvaiVersion"
|
|
73
|
+
const val DEVICE_ID = "deviceId"
|
|
74
|
+
const val DEVICE_NAME = "deviceName"
|
|
75
|
+
const val MODELS = "models"
|
|
76
|
+
const val CAPABILITY = "capability"
|
|
77
|
+
const val SECURE = "secure"
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Parse a TXT-record map into a [Peer]. Returns null when required
|
|
82
|
+
* fields are missing (deviceId, dvaiVersion). Used by [NsdDiscovery]
|
|
83
|
+
* after `NsdManager.resolveService` resolves the host + port.
|
|
84
|
+
*/
|
|
85
|
+
fun parsePeerTxt(
|
|
86
|
+
txt: Map<String, String>,
|
|
87
|
+
baseUrl: String,
|
|
88
|
+
via: PeerSource = PeerSource.MDNS,
|
|
89
|
+
lastSeenAt: Long = System.currentTimeMillis(),
|
|
90
|
+
): Peer? {
|
|
91
|
+
val deviceId = txt[PeerTxtKeys.DEVICE_ID]?.takeIf { it.isNotEmpty() } ?: return null
|
|
92
|
+
val dvaiVersion = txt[PeerTxtKeys.DVAI_VERSION]?.takeIf { it.isNotEmpty() } ?: return null
|
|
93
|
+
val deviceName = txt[PeerTxtKeys.DEVICE_NAME] ?: deviceId
|
|
94
|
+
val models = txt[PeerTxtKeys.MODELS]
|
|
95
|
+
?.split(",")
|
|
96
|
+
?.map { it.trim() }
|
|
97
|
+
?.filter { it.isNotEmpty() }
|
|
98
|
+
?: emptyList()
|
|
99
|
+
val capability = txt[PeerTxtKeys.CAPABILITY]
|
|
100
|
+
?.split(",")
|
|
101
|
+
?.mapNotNull { entry ->
|
|
102
|
+
val pivot = entry.indexOf(':')
|
|
103
|
+
if (pivot <= 0) return@mapNotNull null
|
|
104
|
+
val key = entry.substring(0, pivot).trim()
|
|
105
|
+
val value = entry.substring(pivot + 1).trim().toDoubleOrNull() ?: return@mapNotNull null
|
|
106
|
+
key to value
|
|
107
|
+
}
|
|
108
|
+
?.toMap()
|
|
109
|
+
?: emptyMap()
|
|
110
|
+
val secure = txt[PeerTxtKeys.SECURE]?.equals("true", ignoreCase = true) == true
|
|
111
|
+
return Peer(
|
|
112
|
+
deviceId = deviceId,
|
|
113
|
+
deviceName = deviceName,
|
|
114
|
+
dvaiVersion = dvaiVersion,
|
|
115
|
+
baseUrl = baseUrl,
|
|
116
|
+
loadedModels = models,
|
|
117
|
+
capability = capability,
|
|
118
|
+
via = via,
|
|
119
|
+
secure = secure,
|
|
120
|
+
lastSeenAt = lastSeenAt,
|
|
121
|
+
)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Serialize a peer to a TXT-record map ready for `NsdServiceInfo`.
|
|
126
|
+
* Inverse of [parsePeerTxt]. Caller is responsible for setting the
|
|
127
|
+
* port on the `NsdServiceInfo` separately.
|
|
128
|
+
*/
|
|
129
|
+
fun Peer.toTxt(): Map<String, String> = buildMap {
|
|
130
|
+
put(PeerTxtKeys.DEVICE_ID, deviceId)
|
|
131
|
+
put(PeerTxtKeys.DEVICE_NAME, deviceName)
|
|
132
|
+
put(PeerTxtKeys.DVAI_VERSION, dvaiVersion)
|
|
133
|
+
if (loadedModels.isNotEmpty()) put(PeerTxtKeys.MODELS, loadedModels.joinToString(","))
|
|
134
|
+
if (capability.isNotEmpty()) {
|
|
135
|
+
put(PeerTxtKeys.CAPABILITY, capability.entries.joinToString(",") { "${it.key}:${it.value}" })
|
|
136
|
+
}
|
|
137
|
+
if (secure) put(PeerTxtKeys.SECURE, "true")
|
|
138
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
package co.deepvoiceai.bridge.shared.core.offload
|
|
2
|
+
|
|
3
|
+
import co.deepvoiceai.bridge.shared.core.discovery.Peer
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for distributed inference / device offload (Kotlin
|
|
7
|
+
* mirror of the TS `OffloadConfig` in
|
|
8
|
+
* `@dvai-bridge/core/src/offload/types.ts`).
|
|
9
|
+
*
|
|
10
|
+
* Offload is opt-in: pass an `OffloadConfig(enabled = true)` to
|
|
11
|
+
* `StartOptions.offload` to turn it on. Default is null = behave
|
|
12
|
+
* exactly like v2.x.
|
|
13
|
+
*
|
|
14
|
+
* @param enabled Master switch. Default false.
|
|
15
|
+
* @param discoverLAN Run mDNS / NsdManager discovery for LAN peers. Default true.
|
|
16
|
+
* @param minLocalCapability Below this tok/s, look for a peer. Default 10.0.
|
|
17
|
+
* @param hardwareMinimum v3.2 — hard floor for any local inference, in tok/s.
|
|
18
|
+
* Below this, the device is "too weak"; the SDK
|
|
19
|
+
* silently enters offload-only mode (no model
|
|
20
|
+
* download/load). The SDK does NOT throw and
|
|
21
|
+
* does NOT show any UI — consumers query
|
|
22
|
+
* [DVAIBridge.assessHardware] ahead of start()
|
|
23
|
+
* if they want to refuse to start on too-weak
|
|
24
|
+
* devices and surface their own UI. Default 3.0.
|
|
25
|
+
* @param rendezvousUrl Optional rendezvous-server URL — enables internet path.
|
|
26
|
+
* @param knownPeers Optional pre-known peers (skip discovery for them).
|
|
27
|
+
* @param onPairingRequest Suspending callback returning approve/deny for incoming
|
|
28
|
+
* pairings. If null, [PairingPolicy.requests] Flow is the
|
|
29
|
+
* only path; if both are absent, default-deny applies.
|
|
30
|
+
* Mirrors the JS callback shape.
|
|
31
|
+
* @param onOffload Diagnostic callback when a request is offloaded. Optional.
|
|
32
|
+
*/
|
|
33
|
+
data class OffloadConfig(
|
|
34
|
+
val enabled: Boolean = false,
|
|
35
|
+
val discoverLAN: Boolean = true,
|
|
36
|
+
val minLocalCapability: Double = 10.0,
|
|
37
|
+
val hardwareMinimum: Double = 3.0,
|
|
38
|
+
val rendezvousUrl: String? = null,
|
|
39
|
+
val knownPeers: List<Peer> = emptyList(),
|
|
40
|
+
val onPairingRequest: (suspend (Peer) -> Boolean)? = null,
|
|
41
|
+
val onOffload: ((Peer) -> Unit)? = null,
|
|
42
|
+
)
|