@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.
Files changed (692) hide show
  1. package/LICENSE +51 -0
  2. package/README.md +199 -0
  3. package/android/.gradle/9.4.1/checksums/checksums.lock +0 -0
  4. package/android/.gradle/9.4.1/checksums/md5-checksums.bin +0 -0
  5. package/android/.gradle/9.4.1/checksums/sha1-checksums.bin +0 -0
  6. package/android/.gradle/9.4.1/checksums/sha256-checksums.bin +0 -0
  7. package/android/.gradle/9.4.1/checksums/sha512-checksums.bin +0 -0
  8. package/android/.gradle/9.4.1/executionHistory/executionHistory.bin +0 -0
  9. package/android/.gradle/9.4.1/executionHistory/executionHistory.lock +0 -0
  10. package/android/.gradle/9.4.1/fileChanges/last-build.bin +0 -0
  11. package/android/.gradle/9.4.1/fileHashes/fileHashes.bin +0 -0
  12. package/android/.gradle/9.4.1/fileHashes/fileHashes.lock +0 -0
  13. package/android/.gradle/9.4.1/fileHashes/resourceHashesCache.bin +0 -0
  14. package/android/.gradle/9.4.1/gc.properties +0 -0
  15. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  16. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  17. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  18. package/android/.gradle/file-system.probe +0 -0
  19. package/android/.gradle/vcs-1/gc.properties +0 -0
  20. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
  21. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  22. package/android/build/intermediates/aapt_friendly_merged_manifests/release/processReleaseManifest/aapt/AndroidManifest.xml +7 -0
  23. package/android/build/intermediates/aapt_friendly_merged_manifests/release/processReleaseManifest/aapt/output-metadata.json +18 -0
  24. package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
  25. package/android/build/intermediates/aar_main_jar/release/syncReleaseLibJars/classes.jar +0 -0
  26. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  27. package/android/build/intermediates/aar_metadata/release/writeReleaseAarMetadata/aar-metadata.properties +6 -0
  28. package/android/build/intermediates/android_res_source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt +9 -0
  29. package/android/build/intermediates/android_res_source_set_path_map/debugUnitTest/mapDebugUnitTestSourceSetPaths/file-map.txt +4 -0
  30. package/android/build/intermediates/android_res_source_set_path_map/release/mapReleaseSourceSetPaths/file-map.txt +9 -0
  31. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  32. package/android/build/intermediates/annotation_processor_list/debugUnitTest/javaPreCompileDebugUnitTest/annotationProcessors.json +1 -0
  33. package/android/build/intermediates/annotation_processor_list/release/javaPreCompileRelease/annotationProcessors.json +1 -0
  34. package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
  35. package/android/build/intermediates/annotations_typedef_file/release/extractReleaseAnnotations/typedefs.txt +0 -0
  36. package/android/build/intermediates/apk_for_local_test/debugUnitTest/packageDebugUnitTestForUnitTest/apk-for-local-test.ap_ +0 -0
  37. package/android/build/intermediates/assets/debugUnitTest/mergeDebugUnitTestAssets/PublicSuffixDatabase.list +0 -0
  38. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
  39. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Allowlist.class +0 -0
  40. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Companion.class +0 -0
  41. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Exact.class +0 -0
  42. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Wildcard.class +0 -0
  43. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig.class +0 -0
  44. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/DvaiHandlers.class +0 -0
  45. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerContext.class +0 -0
  46. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$1.class +0 -0
  47. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$2.class +0 -0
  48. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$3.class +0 -0
  49. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$4.class +0 -0
  50. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$5.class +0 -0
  51. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$6$1.class +0 -0
  52. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$respondWithHandlerResponse$1.class +0 -0
  53. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$respondWithHandlerResponse$2.class +0 -0
  54. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt.class +0 -0
  55. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Error.class +0 -0
  56. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Json.class +0 -0
  57. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Sse.class +0 -0
  58. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse.class +0 -0
  59. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer$startWithRoutes$1.class +0 -0
  60. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer$tryBind$1.class +0 -0
  61. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer.class +0 -0
  62. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted$$serializer.class +0 -0
  63. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted$Companion.class +0 -0
  64. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted.class +0 -0
  65. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache.class +0 -0
  66. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCacheKey.class +0 -0
  67. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore$$serializer.class +0 -0
  68. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore$Companion.class +0 -0
  69. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore.class +0 -0
  70. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile$$serializer.class +0 -0
  71. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile$Companion.class +0 -0
  72. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile.class +0 -0
  73. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID.class +0 -0
  74. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/ScoreSource$Companion.class +0 -0
  75. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/ScoreSource.class +0 -0
  76. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$Error.class +0 -0
  77. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$PeerDown.class +0 -0
  78. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$PeerUp.class +0 -0
  79. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent.class +0 -0
  80. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser$Companion.class +0 -0
  81. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser$start$l$1.class +0 -0
  82. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser.class +0 -0
  83. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$Companion.class +0 -0
  84. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$NsdAttrs.class +0 -0
  85. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$resolve$cb$1.class +0 -0
  86. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$start$l$1.class +0 -0
  87. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery.class +0 -0
  88. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer$$serializer.class +0 -0
  89. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer$Companion.class +0 -0
  90. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer.class +0 -0
  91. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerKt.class +0 -0
  92. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerSource$Companion.class +0 -0
  93. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerSource.class +0 -0
  94. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerTxtKeys.class +0 -0
  95. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/offload/OffloadConfig.class +0 -0
  96. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest$$serializer.class +0 -0
  97. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest$Companion.class +0 -0
  98. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest.class +0 -0
  99. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse$$serializer.class +0 -0
  100. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse$Companion.class +0 -0
  101. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse.class +0 -0
  102. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing$$serializer.class +0 -0
  103. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing$Companion.class +0 -0
  104. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing.class +0 -0
  105. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingDeniedException.class +0 -0
  106. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshake.class +0 -0
  107. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy$approveOrFetch$1.class +0 -0
  108. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy$approveOrFetch$approved$1.class +0 -0
  109. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy.class +0 -0
  110. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingRequest.class +0 -0
  111. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingSource$Companion.class +0 -0
  112. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingSource.class +0 -0
  113. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted$$serializer.class +0 -0
  114. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted$Companion.class +0 -0
  115. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted.class +0 -0
  116. package/android/build/intermediates/built_in_kotlinc/debug/compileDebugKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore.class +0 -0
  117. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
  118. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest$FakeHandlers.class +0 -0
  119. 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
  120. 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
  121. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest$unknown path returns 404$1.class +0 -0
  122. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest.class +0 -0
  123. 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
  124. 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
  125. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServerTest$stop is idempotent$1.class +0 -0
  126. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServerTest$tearDown$1.class +0 -0
  127. 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
  128. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServerTest.class +0 -0
  129. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCacheTest.class +0 -0
  130. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerTest.class +0 -0
  131. 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
  132. 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
  133. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/offload/OffloadConfigTest.class +0 -0
  134. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshakeTest.class +0 -0
  135. 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
  136. 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
  137. 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
  138. timeout elapses$1.class +0 -0
  139. 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
  140. package/android/build/intermediates/built_in_kotlinc/debugUnitTest/compileDebugUnitTestKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStoreAndPolicyTest.class +0 -0
  141. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
  142. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Allowlist.class +0 -0
  143. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Companion.class +0 -0
  144. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Exact.class +0 -0
  145. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig$Wildcard.class +0 -0
  146. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/CorsConfig.class +0 -0
  147. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/DvaiHandlers.class +0 -0
  148. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerContext.class +0 -0
  149. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$1.class +0 -0
  150. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$2.class +0 -0
  151. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$3.class +0 -0
  152. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$4.class +0 -0
  153. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$5.class +0 -0
  154. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$installDispatchRoutes$6$1.class +0 -0
  155. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$respondWithHandlerResponse$1.class +0 -0
  156. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt$respondWithHandlerResponse$2.class +0 -0
  157. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerDispatchKt.class +0 -0
  158. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Error.class +0 -0
  159. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Json.class +0 -0
  160. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse$Sse.class +0 -0
  161. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HandlerResponse.class +0 -0
  162. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer$startWithRoutes$1.class +0 -0
  163. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer$tryBind$1.class +0 -0
  164. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/HttpServer.class +0 -0
  165. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted$$serializer.class +0 -0
  166. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted$Companion.class +0 -0
  167. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache$Persisted.class +0 -0
  168. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache.class +0 -0
  169. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityCacheKey.class +0 -0
  170. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$Result$$serializer.class +0 -0
  171. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$Result$Companion.class +0 -0
  172. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$Result.class +0 -0
  173. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$Thresholds.class +0 -0
  174. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck$WhenMappings.class +0 -0
  175. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityPrecheck.class +0 -0
  176. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore$$serializer.class +0 -0
  177. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore$Companion.class +0 -0
  178. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore.class +0 -0
  179. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CpuClass$Companion.class +0 -0
  180. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/CpuClass.class +0 -0
  181. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceCapabilityHints$$serializer.class +0 -0
  182. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceCapabilityHints$Companion.class +0 -0
  183. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceCapabilityHints.class +0 -0
  184. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile$$serializer.class +0 -0
  185. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile$Companion.class +0 -0
  186. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID$DeviceFile.class +0 -0
  187. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/DeviceID.class +0 -0
  188. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/GpuClass$Companion.class +0 -0
  189. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/GpuClass.class +0 -0
  190. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/PrecheckMode$Companion.class +0 -0
  191. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/PrecheckMode.class +0 -0
  192. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/ScoreSource$Companion.class +0 -0
  193. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/capability/ScoreSource.class +0 -0
  194. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$Error.class +0 -0
  195. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$PeerDown.class +0 -0
  196. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent$PeerUp.class +0 -0
  197. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/DiscoveryEvent.class +0 -0
  198. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser$Companion.class +0 -0
  199. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser$start$l$1.class +0 -0
  200. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser.class +0 -0
  201. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$Companion.class +0 -0
  202. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$NsdAttrs.class +0 -0
  203. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$resolve$cb$1.class +0 -0
  204. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery$start$l$1.class +0 -0
  205. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery.class +0 -0
  206. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer$$serializer.class +0 -0
  207. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer$Companion.class +0 -0
  208. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/Peer.class +0 -0
  209. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerKt.class +0 -0
  210. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerSource$Companion.class +0 -0
  211. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerSource.class +0 -0
  212. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/discovery/PeerTxtKeys.class +0 -0
  213. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/offload/OffloadConfig.class +0 -0
  214. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest$$serializer.class +0 -0
  215. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest$Companion.class +0 -0
  216. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeRequest.class +0 -0
  217. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse$$serializer.class +0 -0
  218. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse$Companion.class +0 -0
  219. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/HandshakeResponse.class +0 -0
  220. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing$$serializer.class +0 -0
  221. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing$Companion.class +0 -0
  222. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/Pairing.class +0 -0
  223. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingDeniedException.class +0 -0
  224. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshake.class +0 -0
  225. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy$approveOrFetch$1.class +0 -0
  226. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy$approveOrFetch$approved$1.class +0 -0
  227. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy.class +0 -0
  228. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingRequest.class +0 -0
  229. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingSource$Companion.class +0 -0
  230. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingSource.class +0 -0
  231. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted$$serializer.class +0 -0
  232. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted$Companion.class +0 -0
  233. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore$Persisted.class +0 -0
  234. package/android/build/intermediates/built_in_kotlinc/release/compileReleaseKotlin/classes/co/deepvoiceai/bridge/shared/core/pairing/PairingStore.class +0 -0
  235. package/android/build/intermediates/compile_and_runtime_r_class_jar/debugUnitTest/processDebugUnitTestResources/R.jar +0 -0
  236. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  237. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  238. package/android/build/intermediates/compile_r_class_jar/release/generateReleaseRFile/R.jar +0 -0
  239. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  240. package/android/build/intermediates/compile_symbol_list/release/generateReleaseRFile/R.txt +0 -0
  241. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  242. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  243. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  244. package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/compile-file-map.properties +1 -0
  245. package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merged.dir/values/values.xml +18 -0
  246. package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merged.dir/values-v18/values-v18.xml +19 -0
  247. package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merged.dir/values-v21/values-v21.xml +21 -0
  248. package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merged.dir/values-v28/values-v28.xml +21 -0
  249. package/android/build/intermediates/incremental/debugUnitTest/mergeDebugUnitTestResources/merger.xml +60 -0
  250. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  251. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  252. package/android/build/intermediates/incremental/mergeDebugUnitTestAssets/merger.xml +2 -0
  253. package/android/build/intermediates/incremental/mergeReleaseAssets/merger.xml +2 -0
  254. package/android/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml +2 -0
  255. package/android/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties +1 -0
  256. package/android/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values/values.xml +4 -0
  257. package/android/build/intermediates/incremental/release/mergeReleaseResources/merger.xml +2 -0
  258. package/android/build/intermediates/incremental/release/packageReleaseResources/compile-file-map.properties +1 -0
  259. package/android/build/intermediates/incremental/release/packageReleaseResources/merger.xml +2 -0
  260. package/android/build/intermediates/incremental/release-mergeJavaRes/merge-state +0 -0
  261. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
  262. package/android/build/intermediates/java_res/debugUnitTest/processDebugUnitTestJavaRes/out/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
  263. package/android/build/intermediates/java_res/release/processReleaseJavaRes/out/META-INF/dvai-bridge-android-shared-core.kotlin_module +0 -0
  264. package/android/build/intermediates/linked_resources_binary_format/debugUnitTest/processDebugUnitTestResources/linked-resources-binary-format.ap_ +0 -0
  265. package/android/build/intermediates/linked_resources_binary_format/debugUnitTest/processDebugUnitTestResources/output-metadata.json +20 -0
  266. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  267. package/android/build/intermediates/local_only_symbol_list/release/parseReleaseLocalResources/R-def.txt +2 -0
  268. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +9 -0
  269. package/android/build/intermediates/manifest_merge_blame_file/debugUnitTest/processDebugUnitTestManifest/manifest-merger-blame-debug-test-report.txt +97 -0
  270. package/android/build/intermediates/manifest_merge_blame_file/release/processReleaseManifest/manifest-merger-blame-release-report.txt +9 -0
  271. package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-.jar +0 -0
  272. package/android/build/intermediates/merged_java_res/release/mergeReleaseJavaResource/feature-.jar +0 -0
  273. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
  274. package/android/build/intermediates/merged_manifest/release/processReleaseManifest/AndroidManifest.xml +7 -0
  275. package/android/build/intermediates/merged_res/debugUnitTest/mergeDebugUnitTestResources/values-v18_values-v18.arsc.flat +0 -0
  276. package/android/build/intermediates/merged_res/debugUnitTest/mergeDebugUnitTestResources/values-v21_values-v21.arsc.flat +0 -0
  277. package/android/build/intermediates/merged_res/debugUnitTest/mergeDebugUnitTestResources/values-v28_values-v28.arsc.flat +0 -0
  278. package/android/build/intermediates/merged_res/debugUnitTest/mergeDebugUnitTestResources/values_values.arsc.flat +0 -0
  279. package/android/build/intermediates/merged_res/release/mergeReleaseResources/values/values.xml +4 -0
  280. package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/mergeDebugUnitTestResources.json +110 -0
  281. package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/values-v18.json +28 -0
  282. package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/values-v21.json +28 -0
  283. package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/values-v28.json +28 -0
  284. package/android/build/intermediates/merged_res_blame_folder/debugUnitTest/mergeDebugUnitTestResources/out/multi-v2/values.json +38 -0
  285. package/android/build/intermediates/merged_res_blame_folder/release/mergeReleaseResources/out/multi-v2/values.json +34 -0
  286. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  287. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  288. package/android/build/intermediates/nested_resources_validation_report/debugUnitTest/generateDebugUnitTestResources/nestedResourcesValidationReport.txt +1 -0
  289. package/android/build/intermediates/nested_resources_validation_report/release/generateReleaseResources/nestedResourcesValidationReport.txt +1 -0
  290. package/android/build/intermediates/packaged_manifests/debugUnitTest/processDebugUnitTestManifest/AndroidManifest.xml +53 -0
  291. package/android/build/intermediates/packaged_manifests/debugUnitTest/processDebugUnitTestManifest/output-metadata.json +18 -0
  292. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  293. package/android/build/intermediates/runtime_symbol_list/debugUnitTest/processDebugUnitTestResources/R.txt +3 -0
  294. package/android/build/intermediates/source_jar/release/release-sources.jar +0 -0
  295. package/android/build/intermediates/stable_resource_ids_file/debugUnitTest/processDebugUnitTestResources/stableIds.txt +3 -0
  296. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  297. package/android/build/intermediates/symbol_list_with_package_name/release/generateReleaseRFile/package-aware-r.txt +1 -0
  298. package/android/build/intermediates/unit_test_config_directory/debugUnitTest/generateDebugUnitTestConfig/out/com/android/tools/test_config.properties +5 -0
  299. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.HandlerDispatchTest.xml +12 -0
  300. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.HttpServerTest.xml +82 -0
  301. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.capability.CapabilityCacheTest.xml +15 -0
  302. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.discovery.PeerTest.xml +15 -0
  303. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.offload.OffloadConfigTest.xml +11 -0
  304. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.pairing.PairingHandshakeTest.xml +15 -0
  305. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.pairing.PairingStoreAndPolicyTest.xml +13 -0
  306. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/binary/output-events.bin +0 -0
  307. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/binary/results-generic.bin +0 -0
  308. package/android/build/intermediates/unit_test_results/debug/testDebugUnitTest/metadata.txt +4 -0
  309. package/android/build/intermediates/verified_library_resources/release/verifyReleaseResources/compiled/values_values.arsc.flat +0 -0
  310. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab +0 -0
  311. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream +0 -0
  312. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream.len +0 -0
  313. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.len +0 -0
  314. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.values.at +0 -0
  315. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab_i.len +0 -0
  316. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab +0 -0
  317. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream +0 -0
  318. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream.len +0 -0
  319. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.len +0 -0
  320. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.values.at +0 -0
  321. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab_i.len +0 -0
  322. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  323. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  324. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  325. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  326. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  327. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  328. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  329. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  330. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  331. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  332. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  333. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  334. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  335. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  336. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  337. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  338. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  339. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  340. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  341. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  342. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  343. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  344. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  345. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  346. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  347. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  348. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  349. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  350. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  351. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  352. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  353. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  354. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  355. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  356. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  357. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
  358. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
  359. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
  360. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
  361. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
  362. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
  363. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
  364. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  365. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  366. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  367. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  368. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
  369. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  370. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -0
  371. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  372. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  373. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  374. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  375. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  376. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  377. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  378. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  379. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  380. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  381. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  382. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  383. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  384. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  385. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  386. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  387. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  388. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  389. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  390. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  391. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  392. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  393. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  394. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  395. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  396. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  397. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  398. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  399. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  400. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  401. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  402. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  403. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  404. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  405. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  406. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  407. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  408. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  409. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  410. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  411. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  412. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  413. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  414. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  415. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  416. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  417. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  418. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab +0 -0
  419. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream +0 -0
  420. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream.len +0 -0
  421. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.len +0 -0
  422. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.values.at +0 -0
  423. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab_i.len +0 -0
  424. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab +0 -0
  425. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream +0 -0
  426. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream.len +0 -0
  427. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.len +0 -0
  428. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.values.at +0 -0
  429. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab_i.len +0 -0
  430. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  431. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  432. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  433. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  434. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  435. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  436. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  437. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  438. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  439. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  440. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  441. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  442. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  443. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  444. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  445. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  446. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  447. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  448. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  449. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  450. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  451. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  452. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  453. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  454. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  455. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  456. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  457. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  458. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  459. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  460. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  461. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  462. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  463. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  464. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  465. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  466. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  467. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  468. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  469. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  470. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  471. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  472. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  473. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  474. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  475. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  476. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  477. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  478. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  479. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  480. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  481. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  482. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  483. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  484. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  485. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  486. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  487. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  488. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  489. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  490. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  491. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  492. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  493. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  494. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  495. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  496. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  497. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  498. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  499. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  500. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  501. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  502. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  503. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  504. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  505. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  506. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  507. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  508. package/android/build/kotlin/compileDebugUnitTestKotlin/cacheable/last-build.bin +0 -0
  509. package/android/build/kotlin/compileDebugUnitTestKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  510. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab +0 -0
  511. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream +0 -0
  512. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.keystream.len +0 -0
  513. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.len +0 -0
  514. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab.values.at +0 -0
  515. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/outputs-generated-for-plugins.tab_i.len +0 -0
  516. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab +0 -0
  517. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream +0 -0
  518. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.keystream.len +0 -0
  519. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.len +0 -0
  520. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab.values.at +0 -0
  521. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/compilerPluginFiles/sources-referenced-by-plugins.tab_i.len +0 -0
  522. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  523. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  524. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  525. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  526. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values +0 -0
  527. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  528. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.s +1 -0
  529. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  530. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  531. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  532. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  533. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  534. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  535. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  536. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  537. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  538. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  539. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  540. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  541. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  542. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  543. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  544. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  545. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  546. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  547. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  548. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  549. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  550. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  551. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  552. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  553. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  554. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  555. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  556. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values +0 -0
  557. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  558. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.s +1 -0
  559. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  560. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  561. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
  562. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
  563. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
  564. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
  565. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
  566. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
  567. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
  568. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  569. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  570. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  571. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  572. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
  573. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  574. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -0
  575. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  576. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  577. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  578. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  579. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  580. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  581. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values +0 -0
  582. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  583. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.s +1 -0
  584. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  585. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  586. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  587. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  588. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  589. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  590. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  591. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  592. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  593. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  594. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  595. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  596. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  597. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  598. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  599. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  600. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  601. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  602. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  603. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  604. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  605. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  606. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  607. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  608. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  609. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  610. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  611. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  612. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  613. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  614. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  615. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  616. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  617. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  618. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  619. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.values +0 -0
  620. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  621. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s +1 -0
  622. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  623. package/android/build/kotlin/compileReleaseKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  624. package/android/build/kotlin/compileReleaseKotlin/cacheable/last-build.bin +0 -0
  625. package/android/build/kotlin/compileReleaseKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  626. package/android/build/outputs/aar/dvai-bridge-android-shared-core-debug.aar +0 -0
  627. package/android/build/outputs/aar/dvai-bridge-android-shared-core-release.aar +0 -0
  628. package/android/build/outputs/logs/manifest-merger-debug-report.txt +16 -0
  629. package/android/build/outputs/logs/manifest-merger-release-report.txt +16 -0
  630. package/android/build/publications/release/module.json +145 -0
  631. package/android/build/publications/release/pom-default.xml +58 -0
  632. package/android/build/reports/problems/problems-report.html +666 -0
  633. package/android/build/reports/tests/testDebugUnitTest/CEmI-wvg_b0/index.html +171 -0
  634. package/android/build/reports/tests/testDebugUnitTest/CjkPESSPCFg/index.html +189 -0
  635. package/android/build/reports/tests/testDebugUnitTest/Sr_3FYF3E64/IwYT37xmPR4.html +109 -0
  636. package/android/build/reports/tests/testDebugUnitTest/Sr_3FYF3E64/index.html +137 -0
  637. package/android/build/reports/tests/testDebugUnitTest/css/base-style.css +175 -0
  638. package/android/build/reports/tests/testDebugUnitTest/css/style.css +154 -0
  639. package/android/build/reports/tests/testDebugUnitTest/index.html +182 -0
  640. package/android/build/reports/tests/testDebugUnitTest/js/report.js +228 -0
  641. package/android/build/reports/tests/testDebugUnitTest/jusmsxdrZvQ/DOz075amE-4.html +160 -0
  642. package/android/build/reports/tests/testDebugUnitTest/jusmsxdrZvQ/DWSCvp4-vk8.html +124 -0
  643. package/android/build/reports/tests/testDebugUnitTest/jusmsxdrZvQ/index.html +148 -0
  644. package/android/build/reports/tests/testDebugUnitTest/peG3Rsp7hHI/index.html +189 -0
  645. package/android/build/reports/tests/testDebugUnitTest/rz2aVP3CY48/index.html +189 -0
  646. package/android/build/reports/tests/testDebugUnitTest/ydf6hQjPqNk/index.html +153 -0
  647. package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.HandlerDispatchTest.xml +12 -0
  648. package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.HttpServerTest.xml +82 -0
  649. package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.capability.CapabilityCacheTest.xml +15 -0
  650. package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.discovery.PeerTest.xml +15 -0
  651. package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.offload.OffloadConfigTest.xml +11 -0
  652. package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.pairing.PairingHandshakeTest.xml +15 -0
  653. package/android/build/test-results/testDebugUnitTest/TEST-co.deepvoiceai.bridge.shared.core.pairing.PairingStoreAndPolicyTest.xml +13 -0
  654. package/android/build/test-results/testDebugUnitTest/binary/output-events.bin +0 -0
  655. package/android/build/test-results/testDebugUnitTest/binary/results-generic.bin +0 -0
  656. package/android/build/tmp/publishReleasePublicationToMavenLocal/module-maven-metadata.xml +17 -0
  657. package/android/build/tmp/sourceReleaseJar/MANIFEST.MF +2 -0
  658. package/android/build.gradle +139 -0
  659. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  660. package/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  661. package/android/gradle.properties +5 -0
  662. package/android/gradlew +249 -0
  663. package/android/gradlew.bat +92 -0
  664. package/android/settings.gradle +1 -0
  665. package/android/src/androidTest/java/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscoveryInstrumentedTest.kt +61 -0
  666. package/android/src/main/AndroidManifest.xml +3 -0
  667. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/CorsConfig.kt +37 -0
  668. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/DvaiHandlers.kt +20 -0
  669. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/HandlerContext.kt +10 -0
  670. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/HandlerDispatch.kt +98 -0
  671. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/HandlerResponse.kt +11 -0
  672. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/HttpServer.kt +126 -0
  673. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/capability/CapabilityCache.kt +78 -0
  674. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/capability/CapabilityScore.kt +41 -0
  675. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/capability/DeviceID.kt +95 -0
  676. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/capability/Precheck.kt +180 -0
  677. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/discovery/NsdAdvertiser.kt +86 -0
  678. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/discovery/NsdDiscovery.kt +230 -0
  679. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/discovery/Peer.kt +138 -0
  680. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/offload/OffloadConfig.kt +42 -0
  681. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/pairing/Pairing.kt +58 -0
  682. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshake.kt +126 -0
  683. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/pairing/PairingPolicy.kt +145 -0
  684. package/android/src/main/java/co/deepvoiceai/bridge/shared/core/pairing/PairingStore.kt +76 -0
  685. package/android/src/test/java/co/deepvoiceai/bridge/shared/core/HandlerDispatchTest.kt +74 -0
  686. package/android/src/test/java/co/deepvoiceai/bridge/shared/core/HttpServerTest.kt +65 -0
  687. package/android/src/test/java/co/deepvoiceai/bridge/shared/core/capability/CapabilityCacheTest.kt +107 -0
  688. package/android/src/test/java/co/deepvoiceai/bridge/shared/core/discovery/PeerTest.kt +119 -0
  689. package/android/src/test/java/co/deepvoiceai/bridge/shared/core/offload/OffloadConfigTest.kt +88 -0
  690. package/android/src/test/java/co/deepvoiceai/bridge/shared/core/pairing/PairingHandshakeTest.kt +97 -0
  691. package/android/src/test/java/co/deepvoiceai/bridge/shared/core/pairing/PairingStoreAndPolicyTest.kt +127 -0
  692. package/package.json +16 -0
@@ -0,0 +1,58 @@
1
+ package co.deepvoiceai.bridge.shared.core.pairing
2
+
3
+ import kotlinx.serialization.Serializable
4
+
5
+ /**
6
+ * Phase 3 — pairing types (Kotlin mirror of `Pairing` /
7
+ * `HandshakeRequest` / `HandshakeResponse` from
8
+ * `@dvai-bridge/core/src/pairing/types.ts`).
9
+ *
10
+ * A "pairing" is an authenticated trust relationship between two
11
+ * devices established once via the handshake flow, then reused for
12
+ * all subsequent offload requests via HMAC-signed headers.
13
+ *
14
+ * Pairings expire after [PairingPolicy] TTL (default 30 days) of
15
+ * inactivity.
16
+ */
17
+ @Serializable
18
+ data class Pairing(
19
+ /** Stable per-install device ID of the peer. */
20
+ val peerDeviceId: String,
21
+ /** Friendly name for the user UI (revoke / re-pair). */
22
+ val peerDeviceName: String,
23
+ /** Shared 256-bit pairing key (base64-url encoded). Used for HMAC. */
24
+ val pairingKey: String,
25
+ /** When the pairing was first established. */
26
+ val pairedAt: Long,
27
+ /** Last time this pairing was used for an offload request. */
28
+ val lastUsedAt: Long,
29
+ /** Pairing source — informational. */
30
+ val via: PairingSource,
31
+ )
32
+
33
+ @Serializable
34
+ enum class PairingSource {
35
+ @kotlinx.serialization.SerialName("lan-handshake")
36
+ LAN_HANDSHAKE,
37
+ @kotlinx.serialization.SerialName("rendezvous-qr")
38
+ RENDEZVOUS_QR,
39
+ }
40
+
41
+ @Serializable
42
+ data class HandshakeRequest(
43
+ val originDeviceId: String,
44
+ val originDeviceName: String,
45
+ val originVersion: String,
46
+ /** Initiator-side ephemeral nonce — included in the HMAC challenge. */
47
+ val nonce: String,
48
+ )
49
+
50
+ @Serializable
51
+ data class HandshakeResponse(
52
+ /** Approved? */
53
+ val approved: Boolean,
54
+ /** If approved, the shared pairing key (base64-url). */
55
+ val pairingKey: String? = null,
56
+ /** If denied, the reason for the diagnostic. */
57
+ val reason: String? = null,
58
+ )
@@ -0,0 +1,126 @@
1
+ package co.deepvoiceai.bridge.shared.core.pairing
2
+
3
+ import java.security.MessageDigest
4
+ import java.security.SecureRandom
5
+ import javax.crypto.Mac
6
+ import javax.crypto.spec.SecretKeySpec
7
+
8
+ /**
9
+ * LAN-pairing handshake helpers (Kotlin mirror of
10
+ * `@dvai-bridge/core/src/pairing/handshake.ts`).
11
+ *
12
+ * The first time Device A wants to offload to Device B over the LAN,
13
+ * A POSTs `/v1/dvai/handshake` to B with its identity + a nonce. B
14
+ * surfaces a UI prompt to the user; on approve, B generates a 256-bit
15
+ * pairing key and returns it. From then on, A includes
16
+ * `X-DVAI-Pairing: HMAC-SHA256(pairingKey, body)` on every offload
17
+ * request to B.
18
+ *
19
+ * All keys + signatures use base64-url encoding, no padding.
20
+ *
21
+ * Implementation note: HMAC is via `javax.crypto.Mac` — we don't pull
22
+ * in BouncyCastle since AndroidKeyStore + the platform Mac provider
23
+ * already cover SHA-256 on every supported API level (24+).
24
+ */
25
+ object PairingHandshake {
26
+ /** Generate a fresh 256-bit pairing key (base64-url encoded). */
27
+ fun generatePairingKey(): String {
28
+ val bytes = ByteArray(32)
29
+ SecureRandom().nextBytes(bytes)
30
+ return base64UrlEncode(bytes)
31
+ }
32
+
33
+ /** Generate a fresh 128-bit nonce for a handshake request. */
34
+ fun generateNonce(): String {
35
+ val bytes = ByteArray(16)
36
+ SecureRandom().nextBytes(bytes)
37
+ return base64UrlEncode(bytes)
38
+ }
39
+
40
+ /**
41
+ * HMAC-SHA256(key, message). Used to sign offload requests so the
42
+ * peer can verify they came from a paired device.
43
+ */
44
+ fun signHmac(pairingKey: String, message: String): String {
45
+ val keyBytes = decodeBase64UrlBytes(pairingKey)
46
+ val mac = Mac.getInstance("HmacSHA256")
47
+ mac.init(SecretKeySpec(keyBytes, "HmacSHA256"))
48
+ val sig = mac.doFinal(message.toByteArray(Charsets.UTF_8))
49
+ return base64UrlEncode(sig)
50
+ }
51
+
52
+ /** Verify an HMAC. Returns true on match (constant-time-ish). */
53
+ fun verifyHmac(pairingKey: String, message: String, signature: String): Boolean {
54
+ val expected = signHmac(pairingKey, message)
55
+ return constantTimeEquals(expected, signature)
56
+ }
57
+
58
+ /**
59
+ * Compose the canonical message that gets HMAC-signed for a
60
+ * peer-to-peer offload request. The peer recomputes the same
61
+ * string and verifies.
62
+ *
63
+ * Format: `${nonce}\n${method}\n${path}\n${bodyHash}` — bodyHash
64
+ * is the hex-encoded SHA-256 of the request body bytes (or 64
65
+ * zero-bytes for a missing body). Method is uppercased for
66
+ * canonicalization.
67
+ */
68
+ fun composeSignedMessage(
69
+ nonce: String,
70
+ method: String,
71
+ path: String,
72
+ body: String?,
73
+ ): String {
74
+ val bodyHash = if (body != null) sha256Hex(body) else "0".repeat(64)
75
+ return "$nonce\n${method.uppercase()}\n$path\n$bodyHash"
76
+ }
77
+
78
+ private fun sha256Hex(input: String): String {
79
+ val digest = MessageDigest.getInstance("SHA-256")
80
+ val bytes = digest.digest(input.toByteArray(Charsets.UTF_8))
81
+ val sb = StringBuilder(bytes.size * 2)
82
+ for (b in bytes) {
83
+ val v = b.toInt() and 0xff
84
+ sb.append(HEX[v shr 4]).append(HEX[v and 0x0f])
85
+ }
86
+ return sb.toString()
87
+ }
88
+
89
+ private val HEX = "0123456789abcdef".toCharArray()
90
+
91
+ internal fun base64UrlEncode(bytes: ByteArray): String {
92
+ val sb = StringBuilder()
93
+ val b64 = java.util.Base64.getEncoder().encodeToString(bytes)
94
+ for (c in b64) {
95
+ when (c) {
96
+ '+' -> sb.append('-')
97
+ '/' -> sb.append('_')
98
+ '=' -> Unit
99
+ else -> sb.append(c)
100
+ }
101
+ }
102
+ return sb.toString()
103
+ }
104
+
105
+ internal fun decodeBase64UrlBytes(s: String): ByteArray {
106
+ val sb = StringBuilder(s.length + 4)
107
+ for (c in s) {
108
+ when (c) {
109
+ '-' -> sb.append('+')
110
+ '_' -> sb.append('/')
111
+ else -> sb.append(c)
112
+ }
113
+ }
114
+ while (sb.length % 4 != 0) sb.append('=')
115
+ return java.util.Base64.getDecoder().decode(sb.toString())
116
+ }
117
+
118
+ private fun constantTimeEquals(a: String, b: String): Boolean {
119
+ if (a.length != b.length) return false
120
+ var diff = 0
121
+ for (i in a.indices) {
122
+ diff = diff or (a[i].code xor b[i].code)
123
+ }
124
+ return diff == 0
125
+ }
126
+ }
@@ -0,0 +1,145 @@
1
+ package co.deepvoiceai.bridge.shared.core.pairing
2
+
3
+ import kotlinx.coroutines.CompletableDeferred
4
+ import kotlinx.coroutines.channels.BufferOverflow
5
+ import kotlinx.coroutines.flow.MutableSharedFlow
6
+ import kotlinx.coroutines.flow.SharedFlow
7
+ import kotlinx.coroutines.flow.asSharedFlow
8
+ import kotlinx.coroutines.withTimeoutOrNull
9
+
10
+ /**
11
+ * A single pending pairing request surfaced to the host UI. Compose
12
+ * UIs collect these from [PairingPolicy.requests] and call either
13
+ * [respond] or — equivalently — fall through to the default-deny
14
+ * behaviour by ignoring the request until [PairingPolicy.approveOrFetch]
15
+ * times out.
16
+ */
17
+ class PairingRequest internal constructor(
18
+ val peerDeviceId: String,
19
+ val peerDeviceName: String,
20
+ val via: PairingSource,
21
+ private val response: CompletableDeferred<Boolean>,
22
+ ) {
23
+ /** Approve / deny. Idempotent — a second call is a no-op. */
24
+ fun respond(approved: Boolean) {
25
+ response.complete(approved)
26
+ }
27
+
28
+ /** True once the host UI has decided. */
29
+ val isResolved: Boolean get() = response.isCompleted
30
+ }
31
+
32
+ /**
33
+ * Pairing decision flow (Kotlin mirror of `PairingPolicy` from
34
+ * `@dvai-bridge/core/src/pairing/policy.ts`).
35
+ *
36
+ * Coordinates the host-app UI (via [requests] `SharedFlow`) with the
37
+ * persistent [PairingStore].
38
+ *
39
+ * Default behaviour with no UI subscriber: deny incoming pairings
40
+ * after [requestTimeoutMs]. That's the safe fallback — apps that
41
+ * haven't wired UI shouldn't accidentally accept random LAN devices.
42
+ */
43
+ class PairingPolicy(
44
+ private val store: PairingStore,
45
+ /** Pairing TTL in days. Default 30. */
46
+ private val expireAfterDays: Int = 30,
47
+ /** Default-deny timeout when no UI subscriber answers. Default 60s. */
48
+ private val requestTimeoutMs: Long = 60_000L,
49
+ ) {
50
+ // replay = 0 + buffer = 16: a request is dropped if no UI subscriber
51
+ // is listening + the buffer is full. We rely on the suspendable
52
+ // `approveOrFetch` to time out (default-deny) in that case rather
53
+ // than replaying — a late subscriber should NOT auto-approve a
54
+ // pairing request the user never saw a UI prompt for.
55
+ private val _requests = MutableSharedFlow<PairingRequest>(
56
+ replay = 0,
57
+ extraBufferCapacity = 16,
58
+ onBufferOverflow = BufferOverflow.DROP_OLDEST,
59
+ )
60
+
61
+ /** Hot stream of incoming pairing requests for the host UI to collect. */
62
+ val requests: SharedFlow<PairingRequest> = _requests.asSharedFlow()
63
+
64
+ /**
65
+ * Get an existing pairing, applying TTL expiry. Returns null if
66
+ * the pairing is missing or expired (auto-cleans expired entries).
67
+ */
68
+ fun getActive(peerDeviceId: String): Pairing? {
69
+ val existing = store.get(peerDeviceId) ?: return null
70
+ val ttlMs = expireAfterDays.toLong() * 24L * 60L * 60L * 1000L
71
+ if (System.currentTimeMillis() - existing.lastUsedAt > ttlMs) {
72
+ store.remove(peerDeviceId)
73
+ return null
74
+ }
75
+ return existing
76
+ }
77
+
78
+ /**
79
+ * Process an incoming pairing request. If we already have an
80
+ * active pairing for this peer, reuse it (and bump lastUsedAt).
81
+ * Otherwise emit a [PairingRequest] on [requests] and wait up to
82
+ * [requestTimeoutMs] for the UI to respond.
83
+ *
84
+ * Returns the resulting pairing on approval; throws
85
+ * [PairingDeniedException] otherwise.
86
+ */
87
+ suspend fun approveOrFetch(
88
+ peerDeviceId: String,
89
+ peerDeviceName: String,
90
+ via: PairingSource,
91
+ ): Pairing {
92
+ val existing = getActive(peerDeviceId)
93
+ if (existing != null) {
94
+ val touched = existing.copy(lastUsedAt = System.currentTimeMillis())
95
+ store.set(touched)
96
+ return touched
97
+ }
98
+
99
+ val deferred = CompletableDeferred<Boolean>()
100
+ val req = PairingRequest(peerDeviceId, peerDeviceName, via, deferred)
101
+ // tryEmit returns false if the buffer is full + no subscriber;
102
+ // in that case treat it the same as "no UI listening" — deny.
103
+ val emitted = _requests.tryEmit(req)
104
+ if (!emitted) {
105
+ throw PairingDeniedException(
106
+ peerDeviceId,
107
+ peerDeviceName,
108
+ "no UI subscriber for pairing requests",
109
+ )
110
+ }
111
+ val approved = withTimeoutOrNull(requestTimeoutMs) { deferred.await() } ?: false
112
+ if (!approved) {
113
+ throw PairingDeniedException(peerDeviceId, peerDeviceName, "denied or timed out")
114
+ }
115
+ val now = System.currentTimeMillis()
116
+ val fresh = Pairing(
117
+ peerDeviceId = peerDeviceId,
118
+ peerDeviceName = peerDeviceName,
119
+ pairingKey = PairingHandshake.generatePairingKey(),
120
+ pairedAt = now,
121
+ lastUsedAt = now,
122
+ via = via,
123
+ )
124
+ store.set(fresh)
125
+ return fresh
126
+ }
127
+
128
+ /** Mark a pairing as used (bumps lastUsedAt). */
129
+ fun touch(peerDeviceId: String) {
130
+ val existing = store.get(peerDeviceId) ?: return
131
+ store.set(existing.copy(lastUsedAt = System.currentTimeMillis()))
132
+ }
133
+
134
+ /** Forget a pairing — host UI surfaces this as "revoke". */
135
+ fun revoke(peerDeviceId: String) {
136
+ store.remove(peerDeviceId)
137
+ }
138
+ }
139
+
140
+ /** Thrown by [PairingPolicy.approveOrFetch] when the user denies / times out. */
141
+ class PairingDeniedException(
142
+ val peerDeviceId: String,
143
+ val peerDeviceName: String,
144
+ reason: String,
145
+ ) : Exception("[DVAI/pairing] denied: $peerDeviceName ($peerDeviceId): $reason")
@@ -0,0 +1,76 @@
1
+ package co.deepvoiceai.bridge.shared.core.pairing
2
+
3
+ import android.content.Context
4
+ import java.io.File
5
+ import kotlinx.serialization.Serializable
6
+ import kotlinx.serialization.json.Json
7
+
8
+ /**
9
+ * Persistent pairing store (Kotlin mirror of `NodeFsPairingStore`
10
+ * from `@dvai-bridge/core/src/pairing/store.ts`). Backed by
11
+ * a single JSON file under
12
+ * `applicationContext.cacheDir/dvai-bridge/pairings.json`.
13
+ */
14
+ class PairingStore(context: Context) {
15
+ private val cacheRoot: File =
16
+ File(context.applicationContext.cacheDir, "dvai-bridge").also {
17
+ if (!it.exists()) it.mkdirs()
18
+ }
19
+ private val file: File = File(cacheRoot, "pairings.json")
20
+ private val json = Json { ignoreUnknownKeys = true; prettyPrint = true }
21
+ private val lock = Any()
22
+
23
+ @Serializable
24
+ private data class Persisted(val pairings: Map<String, Pairing> = emptyMap())
25
+
26
+ private fun load(): MutableMap<String, Pairing> = synchronized(lock) {
27
+ if (!file.exists()) return mutableMapOf()
28
+ return try {
29
+ val raw = file.readText(Charsets.UTF_8)
30
+ val parsed = json.decodeFromString(Persisted.serializer(), raw)
31
+ parsed.pairings.toMutableMap()
32
+ } catch (_: Throwable) {
33
+ mutableMapOf()
34
+ }
35
+ }
36
+
37
+ private fun save(map: Map<String, Pairing>) = synchronized(lock) {
38
+ try {
39
+ file.writeText(
40
+ json.encodeToString(Persisted.serializer(), Persisted(map)),
41
+ Charsets.UTF_8,
42
+ )
43
+ } catch (_: Throwable) {
44
+ // best-effort
45
+ }
46
+ }
47
+
48
+ fun get(peerDeviceId: String): Pairing? = load()[peerDeviceId]
49
+
50
+ fun set(p: Pairing) {
51
+ synchronized(lock) {
52
+ val map = load()
53
+ map[p.peerDeviceId] = p
54
+ save(map)
55
+ }
56
+ }
57
+
58
+ fun list(): List<Pairing> = load().values.toList()
59
+
60
+ fun remove(peerDeviceId: String) {
61
+ synchronized(lock) {
62
+ val map = load()
63
+ map.remove(peerDeviceId)
64
+ save(map)
65
+ }
66
+ }
67
+
68
+ fun clear() {
69
+ synchronized(lock) {
70
+ if (file.exists()) file.delete()
71
+ }
72
+ }
73
+
74
+ /** Path on disk — exposed for diagnostics + tests. */
75
+ fun storePath(): String = file.absolutePath
76
+ }
@@ -0,0 +1,74 @@
1
+ package co.deepvoiceai.bridge.shared.core
2
+
3
+ import io.ktor.client.request.*
4
+ import io.ktor.client.statement.*
5
+ import io.ktor.http.*
6
+ import io.ktor.server.routing.*
7
+ import io.ktor.server.testing.*
8
+ import kotlinx.serialization.json.*
9
+ import org.junit.Assert.*
10
+ import org.junit.Test
11
+
12
+ class HandlerDispatchTest {
13
+ private val ctx = HandlerContext(modelId = "test-model", backendName = "shared")
14
+
15
+ private class FakeHandlers : DvaiHandlers {
16
+ override suspend fun handleChatCompletion(body: JsonObject, ctx: HandlerContext): HandlerResponse =
17
+ HandlerResponse.Json(200, buildJsonObject {
18
+ put("id", "chatcmpl-fake")
19
+ put("object", "chat.completion")
20
+ })
21
+
22
+ override suspend fun handleCompletion(body: JsonObject, ctx: HandlerContext): HandlerResponse =
23
+ HandlerResponse.Json(200, buildJsonObject { put("object", "text_completion") })
24
+
25
+ override suspend fun handleEmbeddings(body: JsonObject, ctx: HandlerContext): HandlerResponse =
26
+ HandlerResponse.Json(200, buildJsonObject { put("object", "list") })
27
+
28
+ override suspend fun handleModels(ctx: HandlerContext): HandlerResponse =
29
+ HandlerResponse.Json(200, buildJsonObject {
30
+ put("object", "list")
31
+ putJsonArray("data") {
32
+ addJsonObject { put("id", ctx.modelId) }
33
+ }
34
+ })
35
+ }
36
+
37
+ @Test
38
+ fun `OPTIONS preflight returns 204 with PNA header`() = testApplication {
39
+ application {
40
+ routing {
41
+ installDispatchRoutes(FakeHandlers(), ctx, CorsConfig.Wildcard)
42
+ }
43
+ }
44
+ val response = client.options("/v1/chat/completions")
45
+ assertEquals(HttpStatusCode.NoContent, response.status)
46
+ assertEquals("true", response.headers["Access-Control-Allow-Private-Network"])
47
+ assertEquals("*", response.headers["Access-Control-Allow-Origin"])
48
+ }
49
+
50
+ @Test
51
+ fun `unknown path returns 404`() = testApplication {
52
+ application {
53
+ routing {
54
+ installDispatchRoutes(FakeHandlers(), ctx, CorsConfig.Wildcard)
55
+ }
56
+ }
57
+ val response = client.get("/v1/unknown")
58
+ assertEquals(HttpStatusCode.NotFound, response.status)
59
+ }
60
+
61
+ @Test
62
+ fun `GET v1 models returns canned`() = testApplication {
63
+ application {
64
+ routing {
65
+ installDispatchRoutes(FakeHandlers(), ctx, CorsConfig.Wildcard)
66
+ }
67
+ }
68
+ val response = client.get("/v1/models")
69
+ assertEquals(HttpStatusCode.OK, response.status)
70
+ val text = response.bodyAsText()
71
+ val json = Json.parseToJsonElement(text) as JsonObject
72
+ assertEquals("list", json["object"]!!.jsonPrimitive.content)
73
+ }
74
+ }
@@ -0,0 +1,65 @@
1
+ package co.deepvoiceai.bridge.shared.core
2
+
3
+ import kotlinx.coroutines.runBlocking
4
+ import org.junit.After
5
+ import org.junit.Assert.*
6
+ import org.junit.Test
7
+
8
+ class HttpServerTest {
9
+ private val servers = mutableListOf<HttpServer>()
10
+
11
+ @After
12
+ fun tearDown() = runBlocking {
13
+ servers.forEach { runCatching { it.stop() } }
14
+ servers.clear()
15
+ }
16
+
17
+ @Test
18
+ fun `bind base port when free`() = runBlocking {
19
+ val server = HttpServer().also { servers.add(it) }
20
+ val port = server.tryBind(basePort = 39101, maxAttempts = 4, host = "127.0.0.1")
21
+ assertEquals(39101, port)
22
+ }
23
+
24
+ @Test
25
+ fun `falls back to next port on conflict`() = runBlocking {
26
+ val blocker = HttpServer().also { servers.add(it) }
27
+ blocker.tryBind(basePort = 39110, maxAttempts = 1, host = "127.0.0.1")
28
+
29
+ val server = HttpServer().also { servers.add(it) }
30
+ val port = server.tryBind(basePort = 39110, maxAttempts = 4, host = "127.0.0.1")
31
+ assertEquals(39111, port)
32
+ }
33
+
34
+ @Test
35
+ fun `stop is idempotent`() = runBlocking {
36
+ val server = HttpServer().also { servers.add(it) }
37
+ // Stop before start — should not throw
38
+ server.stop()
39
+ server.tryBind(basePort = 39120, maxAttempts = 1, host = "127.0.0.1")
40
+ server.stop()
41
+ // Double-stop — should not throw
42
+ server.stop()
43
+ }
44
+
45
+ @Test
46
+ fun `throws actionable error when all ports blocked`() = runBlocking {
47
+ @Suppress("UNUSED_VARIABLE")
48
+ val blockers = (0 until 3).map { i ->
49
+ HttpServer().also {
50
+ servers.add(it)
51
+ it.tryBind(basePort = 39130 + i, maxAttempts = 1, host = "127.0.0.1")
52
+ }
53
+ }
54
+ val server = HttpServer().also { servers.add(it) }
55
+ try {
56
+ server.tryBind(basePort = 39130, maxAttempts = 3, host = "127.0.0.1")
57
+ fail("Expected exception")
58
+ } catch (e: IllegalStateException) {
59
+ assertTrue(
60
+ "Error should name the tried range: ${e.message}",
61
+ e.message?.contains("39130..39132") == true,
62
+ )
63
+ }
64
+ }
65
+ }
@@ -0,0 +1,107 @@
1
+ package co.deepvoiceai.bridge.shared.core.capability
2
+
3
+ import androidx.test.core.app.ApplicationProvider
4
+ import org.junit.After
5
+ import org.junit.Assert.assertEquals
6
+ import org.junit.Assert.assertNotNull
7
+ import org.junit.Assert.assertNull
8
+ import org.junit.Assert.assertTrue
9
+ import org.junit.Test
10
+ import org.junit.runner.RunWith
11
+ import org.robolectric.RobolectricTestRunner
12
+
13
+ /**
14
+ * Unit tests for the JSON-on-disk [CapabilityCache] adapter. Uses
15
+ * Robolectric for `Context.cacheDir` — same approach the existing
16
+ * shared-core HTTP tests use for context-dependent code.
17
+ */
18
+ @RunWith(RobolectricTestRunner::class)
19
+ class CapabilityCacheTest {
20
+
21
+ private val ctx = ApplicationProvider.getApplicationContext<android.content.Context>()
22
+ private val cache = CapabilityCache(ctx)
23
+
24
+ @After
25
+ fun cleanup() {
26
+ cache.clear()
27
+ }
28
+
29
+ @Test
30
+ fun `empty cache returns null on get`() {
31
+ cache.clear()
32
+ val score = cache.get(CapabilityCacheKey("model-x", "3.0.0"))
33
+ assertNull(score)
34
+ }
35
+
36
+ @Test
37
+ fun `set then get round-trips`() {
38
+ val score = CapabilityScore(
39
+ modelId = "qwen-1.5b",
40
+ deviceId = "test-device",
41
+ libraryVersion = "3.0.0",
42
+ tokPerSec = 28.4,
43
+ source = ScoreSource.PROBE,
44
+ measuredAt = 1_700_000_000_000L,
45
+ )
46
+ cache.set(score)
47
+ val got = cache.get(CapabilityCacheKey("qwen-1.5b", "3.0.0"))
48
+ assertNotNull(got)
49
+ assertEquals(28.4, got!!.tokPerSec, 0.0001)
50
+ assertEquals("test-device", got.deviceId)
51
+ assertEquals(ScoreSource.PROBE, got.source)
52
+ }
53
+
54
+ @Test
55
+ fun `library version is part of the key`() {
56
+ val s1 = CapabilityScore("m", "d", "3.0.0", 10.0, ScoreSource.HEURISTIC, 1L)
57
+ val s2 = CapabilityScore("m", "d", "3.1.0", 20.0, ScoreSource.HEURISTIC, 2L)
58
+ cache.set(s1)
59
+ cache.set(s2)
60
+ assertEquals(10.0, cache.get(CapabilityCacheKey("m", "3.0.0"))!!.tokPerSec, 0.0001)
61
+ assertEquals(20.0, cache.get(CapabilityCacheKey("m", "3.1.0"))!!.tokPerSec, 0.0001)
62
+ }
63
+
64
+ @Test
65
+ fun `list returns all entries`() {
66
+ cache.set(CapabilityScore("a", "d", "3.0.0", 1.0, ScoreSource.PROBE, 1L))
67
+ cache.set(CapabilityScore("b", "d", "3.0.0", 2.0, ScoreSource.PROBE, 2L))
68
+ val all = cache.list()
69
+ assertEquals(2, all.size)
70
+ }
71
+
72
+ @Test
73
+ fun `clear empties the cache`() {
74
+ cache.set(CapabilityScore("x", "d", "3.0.0", 99.0, ScoreSource.HEURISTIC, 0L))
75
+ assertNotNull(cache.get(CapabilityCacheKey("x", "3.0.0")))
76
+ cache.clear()
77
+ assertNull(cache.get(CapabilityCacheKey("x", "3.0.0")))
78
+ }
79
+
80
+ @Test
81
+ fun `cachePath is under cacheDir`() {
82
+ val p = cache.cachePath()
83
+ assertTrue("expected dvai-bridge segment in $p", p.contains("dvai-bridge"))
84
+ assertTrue("expected capability.json in $p", p.endsWith("capability.json"))
85
+ }
86
+
87
+ @Test
88
+ fun `DeviceID generate produces base64-url string`() {
89
+ val id = DeviceID.generate()
90
+ assertTrue("got: $id", id.matches(Regex("^[A-Za-z0-9_-]+$")))
91
+ assertTrue("expected length >= 20, got ${id.length}", id.length >= 20)
92
+ }
93
+
94
+ @Test
95
+ fun `DeviceID get is stable across calls`() {
96
+ val a = DeviceID.get(ctx)
97
+ val b = DeviceID.get(ctx)
98
+ assertEquals(a, b)
99
+ }
100
+
101
+ @Test
102
+ fun `DeviceID reset produces a fresh id`() {
103
+ val a = DeviceID.get(ctx)
104
+ val b = DeviceID.reset(ctx)
105
+ assertTrue("reset should be different from current — got $a == $b", a != b)
106
+ }
107
+ }