@chrisalvir1/camera-ui-homekit-4k 0.6.14 → 0.6.15

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 (394) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE.md +19 -6
  3. package/README.md +10 -12
  4. package/bundle.zip +0 -0
  5. package/package.json +24 -43
  6. package/LICENSE +0 -21
  7. package/dist/accessories/AccessoryConfigStore.d.ts +0 -36
  8. package/dist/accessories/AccessoryConfigStore.js +0 -79
  9. package/dist/accessories/CameraAccessoryManager.d.ts +0 -125
  10. package/dist/accessories/CameraAccessoryManager.js +0 -1501
  11. package/dist/accessories/DetectionMotion.d.ts +0 -20
  12. package/dist/accessories/DetectionMotion.js +0 -38
  13. package/dist/accessories/HapCameraAccessory.d.ts +0 -99
  14. package/dist/accessories/HapCameraAccessory.js +0 -366
  15. package/dist/accessories/RecordingAudioDefaults.d.ts +0 -12
  16. package/dist/accessories/RecordingAudioDefaults.js +0 -11
  17. package/dist/admin/AdminController.d.ts +0 -96
  18. package/dist/admin/AdminController.js +0 -494
  19. package/dist/admin/AdminModels.d.ts +0 -124
  20. package/dist/admin/AdminModels.js +0 -1
  21. package/dist/audio/AacConfiguration.d.ts +0 -7
  22. package/dist/audio/AacConfiguration.js +0 -23
  23. package/dist/audio/AacEldRtpTranscoder.d.ts +0 -22
  24. package/dist/audio/AacEldRtpTranscoder.js +0 -118
  25. package/dist/audio/AacRtpPacket.d.ts +0 -2
  26. package/dist/audio/AacRtpPacket.js +0 -23
  27. package/dist/audio/AudioCapabilityResolver.d.ts +0 -6
  28. package/dist/audio/AudioCapabilityResolver.js +0 -27
  29. package/dist/audio/AudioClockVerifier.d.ts +0 -4
  30. package/dist/audio/AudioClockVerifier.js +0 -45
  31. package/dist/audio/AudioFixtureProvenance.d.ts +0 -8
  32. package/dist/audio/AudioFixtureProvenance.js +0 -23
  33. package/dist/audio/AudioRecordingInspector.d.ts +0 -22
  34. package/dist/audio/AudioRecordingInspector.js +0 -189
  35. package/dist/audio/AudioRecordingMuxer.d.ts +0 -1
  36. package/dist/audio/AudioRecordingMuxer.js +0 -41
  37. package/dist/audio/AudioRtpInspector.d.ts +0 -40
  38. package/dist/audio/AudioRtpInspector.js +0 -66
  39. package/dist/audio/AudioSessionEvidence.d.ts +0 -86
  40. package/dist/audio/AudioSessionEvidence.js +0 -29
  41. package/dist/audio/AudioSignalVerifier.d.ts +0 -13
  42. package/dist/audio/AudioSignalVerifier.js +0 -47
  43. package/dist/audio/AudioSourceInspector.d.ts +0 -6
  44. package/dist/audio/AudioSourceInspector.js +0 -29
  45. package/dist/audio/AudioTranscodePlan.d.ts +0 -2
  46. package/dist/audio/AudioTranscodePlan.js +0 -8
  47. package/dist/audio/AudioTypes.d.ts +0 -81
  48. package/dist/audio/AudioTypes.js +0 -1
  49. package/dist/audio/G711.d.ts +0 -4
  50. package/dist/audio/G711.js +0 -18
  51. package/dist/audio/IsoBmff.d.ts +0 -15
  52. package/dist/audio/IsoBmff.js +0 -33
  53. package/dist/audio/NativeAudioEngine.d.ts +0 -48
  54. package/dist/audio/NativeAudioEngine.js +0 -55
  55. package/dist/audio/OpusPacket.d.ts +0 -6
  56. package/dist/audio/OpusPacket.js +0 -15
  57. package/dist/audio/RtpAudioPacket.d.ts +0 -9
  58. package/dist/audio/RtpAudioPacket.js +0 -16
  59. package/dist/audio/SyntheticOpusOgg.d.ts +0 -2
  60. package/dist/audio/SyntheticOpusOgg.js +0 -40
  61. package/dist/camera-ui/CameraUiAdapter.d.ts +0 -227
  62. package/dist/camera-ui/CameraUiAdapter.js +0 -693
  63. package/dist/camera-ui/CameraUiAudioAdapter.d.ts +0 -13
  64. package/dist/camera-ui/CameraUiAudioAdapter.js +0 -258
  65. package/dist/camera-ui/RuntimeMetadata.d.ts +0 -9
  66. package/dist/camera-ui/RuntimeMetadata.js +0 -31
  67. package/dist/camera-ui/adminSchema.d.ts +0 -4
  68. package/dist/camera-ui/adminSchema.js +0 -69
  69. package/dist/camera-ui/cameraSettingsSchema.d.ts +0 -4
  70. package/dist/camera-ui/cameraSettingsSchema.js +0 -77
  71. package/dist/capabilities/CapabilityResolver.d.ts +0 -21
  72. package/dist/capabilities/CapabilityResolver.js +0 -12
  73. package/dist/config/FeatureFlagStore.d.ts +0 -16
  74. package/dist/config/FeatureFlagStore.js +0 -43
  75. package/dist/diagnostics/DiagnosticBundleExporter.d.ts +0 -23
  76. package/dist/diagnostics/DiagnosticBundleExporter.js +0 -57
  77. package/dist/diagnostics/DiagnosticModeStore.d.ts +0 -20
  78. package/dist/diagnostics/DiagnosticModeStore.js +0 -53
  79. package/dist/diagnostics/Diagnostics.d.ts +0 -18
  80. package/dist/diagnostics/Diagnostics.js +0 -44
  81. package/dist/diagnostics/RateLimitedLogger.d.ts +0 -24
  82. package/dist/diagnostics/RateLimitedLogger.js +0 -55
  83. package/dist/diagnostics/SecretRedactor.d.ts +0 -4
  84. package/dist/diagnostics/SecretRedactor.js +0 -55
  85. package/dist/diagnostics/StructuredLogger.d.ts +0 -12
  86. package/dist/diagnostics/StructuredLogger.js +0 -23
  87. package/dist/errors/errors.d.ts +0 -28
  88. package/dist/errors/errors.js +0 -25
  89. package/dist/generated/build-info.d.ts +0 -12
  90. package/dist/generated/build-info.js +0 -227
  91. package/dist/h264/AudioRuntime.d.ts +0 -21
  92. package/dist/h264/AudioRuntime.js +0 -130
  93. package/dist/h264/H264CameraStreamDelegate.d.ts +0 -46
  94. package/dist/h264/H264CameraStreamDelegate.js +0 -419
  95. package/dist/h264/H264RecordingSession.d.ts +0 -50
  96. package/dist/h264/H264RecordingSession.js +0 -247
  97. package/dist/h264/LiveRtpSession.d.ts +0 -59
  98. package/dist/h264/LiveRtpSession.js +0 -230
  99. package/dist/h264/NetworkEndpoint.d.ts +0 -6
  100. package/dist/h264/NetworkEndpoint.js +0 -49
  101. package/dist/h264/RtpContinuity.d.ts +0 -12
  102. package/dist/h264/RtpContinuity.js +0 -31
  103. package/dist/h264/VideoProcessing.d.ts +0 -13
  104. package/dist/h264/VideoProcessing.js +0 -21
  105. package/dist/hap/HapAdapter.d.ts +0 -29
  106. package/dist/hap/HapAdapter.js +0 -73
  107. package/dist/hap/SrtpContext.d.ts +0 -34
  108. package/dist/hap/SrtpContext.js +0 -184
  109. package/dist/hksv3/ConcurrentTierProbe.d.ts +0 -29
  110. package/dist/hksv3/ConcurrentTierProbe.js +0 -82
  111. package/dist/hksv3/Fmp4TierMeasurement.d.ts +0 -4
  112. package/dist/hksv3/Fmp4TierMeasurement.js +0 -17
  113. package/dist/hksv3/H264RtpTranscoder.d.ts +0 -21
  114. package/dist/hksv3/H264RtpTranscoder.js +0 -154
  115. package/dist/hksv3/HapWebRtcDelegate.d.ts +0 -79
  116. package/dist/hksv3/HapWebRtcDelegate.js +0 -92
  117. package/dist/hksv3/LocalRtpDelegate.d.ts +0 -68
  118. package/dist/hksv3/LocalRtpDelegate.js +0 -699
  119. package/dist/hksv3/LocalRtpProtocol.d.ts +0 -89
  120. package/dist/hksv3/LocalRtpProtocol.js +0 -239
  121. package/dist/hksv3/OpusRtpTranscoder.d.ts +0 -39
  122. package/dist/hksv3/OpusRtpTranscoder.js +0 -227
  123. package/dist/hksv3/SFrame.d.ts +0 -71
  124. package/dist/hksv3/SFrame.js +0 -326
  125. package/dist/hksv3/SFrameRtp.d.ts +0 -38
  126. package/dist/hksv3/SFrameRtp.js +0 -137
  127. package/dist/hksv3/VideoTierResolver.d.ts +0 -49
  128. package/dist/hksv3/VideoTierResolver.js +0 -86
  129. package/dist/hksv3/WebRtcSecureVideoSession.d.ts +0 -94
  130. package/dist/hksv3/WebRtcSecureVideoSession.js +0 -493
  131. package/dist/identity/IdentityStore.d.ts +0 -16
  132. package/dist/identity/IdentityStore.js +0 -46
  133. package/dist/index.d.ts +0 -46
  134. package/dist/index.js +0 -206
  135. package/dist/media/AccessUnitDigest.d.ts +0 -10
  136. package/dist/media/AccessUnitDigest.js +0 -59
  137. package/dist/media/AccessUnitMatcher.d.ts +0 -43
  138. package/dist/media/AccessUnitMatcher.js +0 -80
  139. package/dist/media/AudioPolicy.d.ts +0 -7
  140. package/dist/media/AudioPolicy.js +0 -19
  141. package/dist/media/CameraMediaProfile.d.ts +0 -13
  142. package/dist/media/CameraMediaProfile.js +0 -25
  143. package/dist/media/FixtureProvenance.d.ts +0 -79
  144. package/dist/media/FixtureProvenance.js +0 -100
  145. package/dist/media/Fmp4Inspector.d.ts +0 -27
  146. package/dist/media/Fmp4Inspector.js +0 -253
  147. package/dist/media/H264RtpAssembler.d.ts +0 -43
  148. package/dist/media/H264RtpAssembler.js +0 -184
  149. package/dist/media/HevcRtpAssembler.d.ts +0 -49
  150. package/dist/media/HevcRtpAssembler.js +0 -203
  151. package/dist/media/MediaPolicy.d.ts +0 -12
  152. package/dist/media/MediaPolicy.js +0 -13
  153. package/dist/media/NativePassthroughVerifier.d.ts +0 -20
  154. package/dist/media/NativePassthroughVerifier.js +0 -53
  155. package/dist/media/NativeVideoEngine.d.ts +0 -38
  156. package/dist/media/NativeVideoEngine.js +0 -93
  157. package/dist/media/Phase3Evidence.d.ts +0 -36
  158. package/dist/media/Phase3Evidence.js +0 -170
  159. package/dist/media/SourceBitstreamExtractor.d.ts +0 -27
  160. package/dist/media/SourceBitstreamExtractor.js +0 -302
  161. package/dist/media/SourceInspector.d.ts +0 -15
  162. package/dist/media/SourceInspector.js +0 -224
  163. package/dist/media/SourceSelector.d.ts +0 -13
  164. package/dist/media/SourceSelector.js +0 -31
  165. package/dist/media/VideoCapabilityResolver.d.ts +0 -5
  166. package/dist/media/VideoCapabilityResolver.js +0 -10
  167. package/dist/media/VideoEvidenceCollector.d.ts +0 -12
  168. package/dist/media/VideoEvidenceCollector.js +0 -34
  169. package/dist/media/VideoPolicy.d.ts +0 -8
  170. package/dist/media/VideoPolicy.js +0 -43
  171. package/dist/media/VideoSessionManager.d.ts +0 -16
  172. package/dist/media/VideoSessionManager.js +0 -61
  173. package/dist/mqtt/MqttEntityMapper.d.ts +0 -23
  174. package/dist/mqtt/MqttEntityMapper.js +0 -120
  175. package/dist/mqtt/MqttPtzBridge.d.ts +0 -51
  176. package/dist/mqtt/MqttPtzBridge.js +0 -349
  177. package/dist/mqtt/MqttSettingsStore.d.ts +0 -18
  178. package/dist/mqtt/MqttSettingsStore.js +0 -56
  179. package/dist/pairing/PairingPresenter.d.ts +0 -7
  180. package/dist/pairing/PairingPresenter.js +0 -6
  181. package/dist/persistence/AtomicJsonStore.d.ts +0 -12
  182. package/dist/persistence/AtomicJsonStore.js +0 -62
  183. package/dist/recording/AudioOnlyFmp4Session.d.ts +0 -46
  184. package/dist/recording/AudioOnlyFmp4Session.js +0 -276
  185. package/dist/recording/CameraUiHdsRecordingDelegate.d.ts +0 -47
  186. package/dist/recording/CameraUiHdsRecordingDelegate.js +0 -334
  187. package/dist/recording/HevcOpusCmafDelegate.d.ts +0 -34
  188. package/dist/recording/HevcOpusCmafDelegate.js +0 -267
  189. package/dist/recording/RecordingAdapter.d.ts +0 -8
  190. package/dist/recording/RecordingAdapter.js +0 -4
  191. package/dist/recording/RecordingTiming.d.ts +0 -4
  192. package/dist/recording/RecordingTiming.js +0 -107
  193. package/dist/services/ServiceMapper.d.ts +0 -11
  194. package/dist/services/ServiceMapper.js +0 -9
  195. package/dist/sessions/LiveSessionManager.d.ts +0 -2
  196. package/dist/sessions/LiveSessionManager.js +0 -2
  197. package/dist/sessions/SessionContext.d.ts +0 -1
  198. package/dist/sessions/SessionContext.js +0 -1
  199. package/dist/sessions/SessionId.d.ts +0 -1
  200. package/dist/sessions/SessionId.js +0 -2
  201. package/dist/sessions/SessionManager.d.ts +0 -24
  202. package/dist/sessions/SessionManager.js +0 -60
  203. package/dist/sessions/resilience.d.ts +0 -3
  204. package/dist/sessions/resilience.js +0 -29
  205. package/dist/types/diagnostics.d.ts +0 -21
  206. package/dist/types/diagnostics.js +0 -1
  207. package/dist/types/media.d.ts +0 -163
  208. package/dist/types/media.js +0 -9
  209. package/dist/types/sessions.d.ts +0 -11
  210. package/dist/types/sessions.js +0 -1
  211. package/dist/version/LocalRegistryServer.d.ts +0 -12
  212. package/dist/version/LocalRegistryServer.js +0 -165
  213. package/dist/version/VersionManager.d.ts +0 -12
  214. package/dist/version/VersionManager.js +0 -15
  215. package/docs/CONFIRMED_CHANGES_AND_VERSIONING.md +0 -527
  216. package/docs/HKSV3_HEVC_CHANGES.md +0 -25
  217. package/docs/architecture.md +0 -192
  218. package/docs/atomic-rule-hevc-hksv3.md +0 -74
  219. package/docs/audio-fixtures-manifest.json +0 -105
  220. package/docs/bidirectional-audio.md +0 -19
  221. package/docs/capability-audit-plan.md +0 -53
  222. package/docs/deployment-0.6.12.md +0 -56
  223. package/docs/detection-bridge-policy.md +0 -120
  224. package/docs/development.md +0 -181
  225. package/docs/diagnostics.md +0 -87
  226. package/docs/file-tree.txt +0 -83
  227. package/docs/fixture-determinism.json +0 -30
  228. package/docs/fixtures-manifest.json +0 -525
  229. package/docs/h264-audio-normalization.md +0 -97
  230. package/docs/h264-wifi-validation.md +0 -68
  231. package/docs/hksv3-ios27-audit-plan.md +0 -133
  232. package/docs/hksv3-ios27-checkpoint.md +0 -328
  233. package/docs/hksv3-phase-1-audit.md +0 -76
  234. package/docs/hksv3-readiness-audit-2026-10-16.md +0 -54
  235. package/docs/home-assistant-mqtt.md +0 -103
  236. package/docs/live-hevc-preserved-settings.md +0 -11
  237. package/docs/npm-publication-readiness.md +0 -55
  238. package/docs/phase-1-validation.md +0 -108
  239. package/docs/phase-2-validation.md +0 -222
  240. package/docs/phase-3-evidence-history.json +0 -854
  241. package/docs/phase-3-evidence.json +0 -2877
  242. package/docs/phase-3-validation.md +0 -345
  243. package/docs/phase-4-checkpoint.md +0 -96
  244. package/docs/phase-4-harness.json +0 -1499
  245. package/docs/phase-4-runtime-evidence.json +0 -904
  246. package/docs/phase-4-validation.md +0 -217
  247. package/docs/security.md +0 -124
  248. package/docs/tapo-c402-current-checkpoint.md +0 -168
  249. package/vendor/hap-nodejs/LICENSE +0 -176
  250. package/vendor/hap-nodejs/PATCH.md +0 -37
  251. package/vendor/hap-nodejs/README.md +0 -86
  252. package/vendor/hap-nodejs/dist/accessories/AirConditioner_accessory.d.ts +0 -2
  253. package/vendor/hap-nodejs/dist/accessories/AirConditioner_accessory.js +0 -128
  254. package/vendor/hap-nodejs/dist/accessories/AppleTVRemote_accessory.d.ts +0 -2
  255. package/vendor/hap-nodejs/dist/accessories/AppleTVRemote_accessory.js +0 -159
  256. package/vendor/hap-nodejs/dist/accessories/Camera_accessory.d.ts +0 -2
  257. package/vendor/hap-nodejs/dist/accessories/Camera_accessory.js +0 -545
  258. package/vendor/hap-nodejs/dist/accessories/Fan_accessory.d.ts +0 -2
  259. package/vendor/hap-nodejs/dist/accessories/Fan_accessory.js +0 -74
  260. package/vendor/hap-nodejs/dist/accessories/GarageDoorOpener_accessory.d.ts +0 -2
  261. package/vendor/hap-nodejs/dist/accessories/GarageDoorOpener_accessory.js +0 -78
  262. package/vendor/hap-nodejs/dist/accessories/Light-AdaptiveLighting_accessory.d.ts +0 -2
  263. package/vendor/hap-nodejs/dist/accessories/Light-AdaptiveLighting_accessory.js +0 -106
  264. package/vendor/hap-nodejs/dist/accessories/Light_accessory.d.ts +0 -2
  265. package/vendor/hap-nodejs/dist/accessories/Light_accessory.js +0 -145
  266. package/vendor/hap-nodejs/dist/accessories/Lock_accessory.d.ts +0 -2
  267. package/vendor/hap-nodejs/dist/accessories/Lock_accessory.js +0 -76
  268. package/vendor/hap-nodejs/dist/accessories/MotionSensor_accessory.d.ts +0 -2
  269. package/vendor/hap-nodejs/dist/accessories/MotionSensor_accessory.js +0 -45
  270. package/vendor/hap-nodejs/dist/accessories/Outlet_accessory.d.ts +0 -2
  271. package/vendor/hap-nodejs/dist/accessories/Outlet_accessory.js +0 -79
  272. package/vendor/hap-nodejs/dist/accessories/SmartSpeaker_accessory.d.ts +0 -2
  273. package/vendor/hap-nodejs/dist/accessories/SmartSpeaker_accessory.js +0 -44
  274. package/vendor/hap-nodejs/dist/accessories/Sprinkler_accessory.d.ts +0 -2
  275. package/vendor/hap-nodejs/dist/accessories/Sprinkler_accessory.js +0 -128
  276. package/vendor/hap-nodejs/dist/accessories/TV_accessory.d.ts +0 -2
  277. package/vendor/hap-nodejs/dist/accessories/TV_accessory.js +0 -101
  278. package/vendor/hap-nodejs/dist/accessories/TemperatureSensor_accessory.d.ts +0 -2
  279. package/vendor/hap-nodejs/dist/accessories/TemperatureSensor_accessory.js +0 -44
  280. package/vendor/hap-nodejs/dist/accessories/Wi-FiRouter_accessory.d.ts +0 -3
  281. package/vendor/hap-nodejs/dist/accessories/Wi-FiRouter_accessory.js +0 -17
  282. package/vendor/hap-nodejs/dist/accessories/Wi-FiSatellite_accessory.d.ts +0 -3
  283. package/vendor/hap-nodejs/dist/accessories/Wi-FiSatellite_accessory.js +0 -19
  284. package/vendor/hap-nodejs/dist/accessories/gstreamer-audioProducer.d.ts +0 -25
  285. package/vendor/hap-nodejs/dist/accessories/gstreamer-audioProducer.js +0 -145
  286. package/vendor/hap-nodejs/dist/accessories/types.d.ts +0 -78
  287. package/vendor/hap-nodejs/dist/accessories/types.js +0 -88
  288. package/vendor/hap-nodejs/dist/index.d.ts +0 -50
  289. package/vendor/hap-nodejs/dist/index.js +0 -54
  290. package/vendor/hap-nodejs/dist/internal-types.d.ts +0 -76
  291. package/vendor/hap-nodejs/dist/internal-types.js +0 -80
  292. package/vendor/hap-nodejs/dist/lib/Accessory.d.ts +0 -521
  293. package/vendor/hap-nodejs/dist/lib/Accessory.js +0 -1762
  294. package/vendor/hap-nodejs/dist/lib/Advertiser.d.ts +0 -190
  295. package/vendor/hap-nodejs/dist/lib/Advertiser.js +0 -592
  296. package/vendor/hap-nodejs/dist/lib/Bridge.d.ts +0 -12
  297. package/vendor/hap-nodejs/dist/lib/Bridge.js +0 -19
  298. package/vendor/hap-nodejs/dist/lib/Characteristic.d.ts +0 -1768
  299. package/vendor/hap-nodejs/dist/lib/Characteristic.js +0 -2532
  300. package/vendor/hap-nodejs/dist/lib/HAPServer.d.ts +0 -299
  301. package/vendor/hap-nodejs/dist/lib/HAPServer.js +0 -968
  302. package/vendor/hap-nodejs/dist/lib/Service.d.ts +0 -598
  303. package/vendor/hap-nodejs/dist/lib/Service.js +0 -797
  304. package/vendor/hap-nodejs/dist/lib/camera/CMAFIngest.d.ts +0 -102
  305. package/vendor/hap-nodejs/dist/lib/camera/CMAFIngest.js +0 -317
  306. package/vendor/hap-nodejs/dist/lib/camera/HDSSnapshotTransport.d.ts +0 -38
  307. package/vendor/hap-nodejs/dist/lib/camera/HDSSnapshotTransport.js +0 -174
  308. package/vendor/hap-nodejs/dist/lib/camera/RTPProxy.d.ts +0 -59
  309. package/vendor/hap-nodejs/dist/lib/camera/RTPProxy.js +0 -267
  310. package/vendor/hap-nodejs/dist/lib/camera/RTPStreamManagement.d.ts +0 -379
  311. package/vendor/hap-nodejs/dist/lib/camera/RTPStreamManagement.js +0 -1021
  312. package/vendor/hap-nodejs/dist/lib/camera/RecordingManagement.d.ts +0 -325
  313. package/vendor/hap-nodejs/dist/lib/camera/RecordingManagement.js +0 -800
  314. package/vendor/hap-nodejs/dist/lib/camera/SecureVideoCredentials.d.ts +0 -20
  315. package/vendor/hap-nodejs/dist/lib/camera/SecureVideoCredentials.js +0 -48
  316. package/vendor/hap-nodejs/dist/lib/camera/SecureVideoTypes.d.ts +0 -618
  317. package/vendor/hap-nodejs/dist/lib/camera/SecureVideoTypes.js +0 -911
  318. package/vendor/hap-nodejs/dist/lib/camera/index.d.ts +0 -8
  319. package/vendor/hap-nodejs/dist/lib/camera/index.js +0 -11
  320. package/vendor/hap-nodejs/dist/lib/controller/AdaptiveLightingController.d.ts +0 -452
  321. package/vendor/hap-nodejs/dist/lib/controller/AdaptiveLightingController.js +0 -868
  322. package/vendor/hap-nodejs/dist/lib/controller/CameraController.d.ts +0 -410
  323. package/vendor/hap-nodejs/dist/lib/controller/CameraController.js +0 -658
  324. package/vendor/hap-nodejs/dist/lib/controller/Controller.d.ts +0 -197
  325. package/vendor/hap-nodejs/dist/lib/controller/Controller.js +0 -32
  326. package/vendor/hap-nodejs/dist/lib/controller/DoorbellController.d.ts +0 -59
  327. package/vendor/hap-nodejs/dist/lib/controller/DoorbellController.js +0 -102
  328. package/vendor/hap-nodejs/dist/lib/controller/RemoteController.d.ts +0 -434
  329. package/vendor/hap-nodejs/dist/lib/controller/RemoteController.js +0 -1178
  330. package/vendor/hap-nodejs/dist/lib/controller/SecureVideoController.d.ts +0 -380
  331. package/vendor/hap-nodejs/dist/lib/controller/SecureVideoController.js +0 -947
  332. package/vendor/hap-nodejs/dist/lib/controller/index.d.ts +0 -7
  333. package/vendor/hap-nodejs/dist/lib/controller/index.js +0 -10
  334. package/vendor/hap-nodejs/dist/lib/datastream/DataStreamManagement.d.ts +0 -73
  335. package/vendor/hap-nodejs/dist/lib/datastream/DataStreamManagement.js +0 -205
  336. package/vendor/hap-nodejs/dist/lib/datastream/DataStreamParser.d.ts +0 -186
  337. package/vendor/hap-nodejs/dist/lib/datastream/DataStreamParser.js +0 -880
  338. package/vendor/hap-nodejs/dist/lib/datastream/DataStreamServer.d.ts +0 -351
  339. package/vendor/hap-nodejs/dist/lib/datastream/DataStreamServer.js +0 -878
  340. package/vendor/hap-nodejs/dist/lib/datastream/index.d.ts +0 -4
  341. package/vendor/hap-nodejs/dist/lib/datastream/index.js +0 -7
  342. package/vendor/hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.d.ts +0 -2245
  343. package/vendor/hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js +0 -4957
  344. package/vendor/hap-nodejs/dist/lib/definitions/ServiceDefinitions.d.ts +0 -584
  345. package/vendor/hap-nodejs/dist/lib/definitions/ServiceDefinitions.js +0 -1518
  346. package/vendor/hap-nodejs/dist/lib/definitions/generate-definitions.d.ts +0 -34
  347. package/vendor/hap-nodejs/dist/lib/definitions/generate-definitions.js +0 -624
  348. package/vendor/hap-nodejs/dist/lib/definitions/generator-configuration.d.ts +0 -22
  349. package/vendor/hap-nodejs/dist/lib/definitions/generator-configuration.js +0 -734
  350. package/vendor/hap-nodejs/dist/lib/definitions/index.d.ts +0 -3
  351. package/vendor/hap-nodejs/dist/lib/definitions/index.js +0 -6
  352. package/vendor/hap-nodejs/dist/lib/gen/HomeKit.d.ts +0 -8
  353. package/vendor/hap-nodejs/dist/lib/gen/HomeKit.js +0 -9
  354. package/vendor/hap-nodejs/dist/lib/model/AccessoryInfo.d.ts +0 -91
  355. package/vendor/hap-nodejs/dist/lib/model/AccessoryInfo.js +0 -311
  356. package/vendor/hap-nodejs/dist/lib/model/ControllerStorage.d.ts +0 -46
  357. package/vendor/hap-nodejs/dist/lib/model/ControllerStorage.js +0 -277
  358. package/vendor/hap-nodejs/dist/lib/model/HAPFileStorage.d.ts +0 -75
  359. package/vendor/hap-nodejs/dist/lib/model/HAPFileStorage.js +0 -190
  360. package/vendor/hap-nodejs/dist/lib/model/HAPStorage.d.ts +0 -26
  361. package/vendor/hap-nodejs/dist/lib/model/HAPStorage.js +0 -79
  362. package/vendor/hap-nodejs/dist/lib/model/IdentifierCache.d.ts +0 -33
  363. package/vendor/hap-nodejs/dist/lib/model/IdentifierCache.js +0 -114
  364. package/vendor/hap-nodejs/dist/lib/tv/AccessControlManagement.d.ts +0 -83
  365. package/vendor/hap-nodejs/dist/lib/tv/AccessControlManagement.js +0 -127
  366. package/vendor/hap-nodejs/dist/lib/util/checkName.d.ts +0 -8
  367. package/vendor/hap-nodejs/dist/lib/util/checkName.js +0 -28
  368. package/vendor/hap-nodejs/dist/lib/util/clone.d.ts +0 -7
  369. package/vendor/hap-nodejs/dist/lib/util/clone.js +0 -22
  370. package/vendor/hap-nodejs/dist/lib/util/color-utils.d.ts +0 -18
  371. package/vendor/hap-nodejs/dist/lib/util/color-utils.js +0 -442
  372. package/vendor/hap-nodejs/dist/lib/util/eventedhttp.d.ts +0 -251
  373. package/vendor/hap-nodejs/dist/lib/util/eventedhttp.js +0 -714
  374. package/vendor/hap-nodejs/dist/lib/util/hapCrypto.d.ts +0 -50
  375. package/vendor/hap-nodejs/dist/lib/util/hapCrypto.js +0 -185
  376. package/vendor/hap-nodejs/dist/lib/util/hapStatusError.d.ts +0 -16
  377. package/vendor/hap-nodejs/dist/lib/util/hapStatusError.js +0 -29
  378. package/vendor/hap-nodejs/dist/lib/util/net-utils.d.ts +0 -21
  379. package/vendor/hap-nodejs/dist/lib/util/net-utils.js +0 -79
  380. package/vendor/hap-nodejs/dist/lib/util/once.d.ts +0 -7
  381. package/vendor/hap-nodejs/dist/lib/util/once.js +0 -22
  382. package/vendor/hap-nodejs/dist/lib/util/promise-utils.d.ts +0 -14
  383. package/vendor/hap-nodejs/dist/lib/util/promise-utils.js +0 -29
  384. package/vendor/hap-nodejs/dist/lib/util/request-util.d.ts +0 -36
  385. package/vendor/hap-nodejs/dist/lib/util/request-util.js +0 -108
  386. package/vendor/hap-nodejs/dist/lib/util/time.d.ts +0 -9
  387. package/vendor/hap-nodejs/dist/lib/util/time.js +0 -23
  388. package/vendor/hap-nodejs/dist/lib/util/tlv.d.ts +0 -90
  389. package/vendor/hap-nodejs/dist/lib/util/tlv.js +0 -318
  390. package/vendor/hap-nodejs/dist/lib/util/uuid.d.ts +0 -23
  391. package/vendor/hap-nodejs/dist/lib/util/uuid.js +0 -78
  392. package/vendor/hap-nodejs/dist/types.d.ts +0 -276
  393. package/vendor/hap-nodejs/dist/types.js +0 -11
  394. package/vendor/hap-nodejs/package.json +0 -93
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.15] — Camera.UI platform install targets
4
+
5
+ - Declare macOS, Windows, and Linux on x64 and ARM64 as npm install targets,
6
+ matching Camera.UI's supported server platforms. Runtime testing remains
7
+ verified on macOS ARM64 only; the other targets require host-specific checks.
8
+ - Keep the official logo in the published bundle and assert the install target
9
+ matrix and package version in the bundle smoke test.
10
+ - Publish the Camera.UI-generated `bundle/` artifact rather than the source
11
+ repository root. This removes source-only runtime dependencies from the npm
12
+ install path and ships the `cameraui` metadata, `bundle.zip`, and logo that
13
+ Camera.UI consumes.
14
+ - Embed the pinned HAP runtime and its complete production dependency tree in
15
+ `bundle.zip`. Camera.UI therefore performs no dependency download after
16
+ extracting the npm package, avoiding installation failures caused by a
17
+ user-owned npm cache with incorrect permissions.
18
+
3
19
  ## [0.6.14] — npm account scope correction
4
20
 
5
21
  - Rename the public package from `@chrisalvir/camera-ui-homekit-4k` to
package/LICENSE.md CHANGED
@@ -1,8 +1,21 @@
1
- # Licensing status
1
+ HOMEKIT 4K PROPRIETARY SOFTWARE LICENSE
2
2
 
3
- Copyright Chrisalvir. All rights reserved.
3
+ Copyright (c) 2026 Chrisalvir. All rights reserved.
4
4
 
5
- No public license is granted for the original HOMEKIT 4K implementation during
6
- Phase 1. package.json declares UNLICENSED. A distribution license must be chosen
7
- by the author before public release. Third-party dependencies retain their own
8
- licenses and notices; this file does not change those licenses.
5
+ Permission is granted to download, install, and run an unmodified copy of
6
+ HOMEKIT 4K with Camera.UI for lawful personal or commercial use. This permission
7
+ does not transfer ownership of the software.
8
+
9
+ You may not modify, adapt, translate, or create derivative works from HOMEKIT
10
+ 4K. You may not redistribute, sublicense, republish, or sell copies of the
11
+ software. Any permission beyond downloading, installing, and running an
12
+ unmodified copy requires prior written permission from the copyright holder.
13
+
14
+ The copyright notice and this license must accompany any permitted unmodified
15
+ copy.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHOR OR COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY
21
+ ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR ITS USE.
package/README.md CHANGED
@@ -6,10 +6,10 @@ HomeKit 4K exports cameras assigned to the plugin in Camera.UI as separate
6
6
  Apple Home accessories. Camera.UI remains the source of camera streams,
7
7
  capabilities, sensors, and detector configuration.
8
8
 
9
- **Version 0.6.14.** Runtime behavior was validated on the developer MacBook
10
- with Camera.UI 2.3.0 using the previous package, 0.6.12. Version 0.6.14 fixes
11
- the npm scope to match the owner's npm account and does not change camera runtime
12
- behavior. Runtime evidence and limits are in
9
+ **Next release prepared: 0.6.15 (not published).** Runtime behavior was
10
+ validated on the developer MacBook with Camera.UI 2.3.0 using package 0.6.12.
11
+ Version 0.6.14 fixed the npm scope to match the owner's npm account and did not
12
+ change camera runtime behavior. Runtime evidence and limits are in
13
13
  [`docs/deployment-0.6.12.md`](docs/deployment-0.6.12.md).
14
14
 
15
15
  ## Current behavior
@@ -33,14 +33,12 @@ behavior. Runtime evidence and limits are in
33
33
 
34
34
  ## Requirements and installation
35
35
 
36
- The package currently declares Camera.UI >=2.3.0 and Node.js >=22.18.0. The
37
- development validation used Camera.UI's official local bundle installer. Public
38
- npm installation is not available yet; use Camera.UI's supported plugin
39
- installer after a public release is announced.
40
-
41
- The current package manifest restricts installation to macOS ARM64. That limit
42
- must be confirmed or removed before promising support for other Camera.UI
43
- platforms.
36
+ The package declares Camera.UI >=2.3.0 and Node.js >=22.18.0. Starting with
37
+ 0.6.15, npm allows installation on macOS, Windows, and Linux on x64 or ARM64.
38
+ The runtime has only been exercised on macOS ARM64; Windows, Linux, and macOS
39
+ Intel still need real-host validation before they can be called verified.
40
+ In Camera.UI's plugin store, search for the shorter text `camera-ui-homekit-4k`
41
+ and select the scoped package `@chrisalvir1/camera-ui-homekit-4k`.
44
42
 
45
43
  ## Development
46
44
 
package/bundle.zip ADDED
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chrisalvir1/camera-ui-homekit-4k",
3
3
  "displayName": "HOMEKIT 4K — by Chrisalvir",
4
- "version": "0.6.14",
4
+ "version": "0.6.15",
5
5
  "description": "Exports Camera.UI cameras to Apple Home with H.264/HKSV and HEVC/HKSV3 streaming paths.",
6
6
  "homepage": "https://github.com/Chrisalvir1/homekit-4k",
7
7
  "repository": {
@@ -17,58 +17,26 @@
17
17
  "access": "public",
18
18
  "registry": "https://registry.npmjs.org/"
19
19
  },
20
- "type": "module",
20
+ "type": "commonjs",
21
21
  "main": "./dist/index.js",
22
22
  "types": "./dist/index.d.ts",
23
23
  "files": [
24
- "dist/**/*.js",
25
- "dist/**/*.d.ts",
26
- "vendor/hap-nodejs/dist/**/*.js",
27
- "vendor/hap-nodejs/dist/**/*.d.ts",
28
- "vendor/hap-nodejs/package.json",
29
- "vendor/hap-nodejs/LICENSE",
30
- "vendor/hap-nodejs/PATCH.md",
31
- "vendor/hap-nodejs/README.md",
32
- "docs",
33
- "LICENSE",
34
- "logo.png",
35
- "README.md",
36
- "CHANGELOG.md"
24
+ "bundle.zip",
25
+ "CHANGELOG.md",
26
+ "logo.png"
37
27
  ],
38
28
  "engines": {
39
29
  "node": ">=22.18.0",
40
30
  "camera.ui": ">=2.3.0"
41
31
  },
42
32
  "os": [
43
- "darwin"
33
+ "darwin",
34
+ "linux",
35
+ "win32"
44
36
  ],
45
37
  "cpu": [
46
- "arm64"
47
- ],
48
- "dependencies": {
49
- "@camera.ui/sdk": "1.4.1",
50
- "@homebridge/hap-nodejs": "file:vendor/hap-nodejs",
51
- "@noble/ciphers": "2.4.0",
52
- "fflate": "0.8.3",
53
- "mqtt": "5.16.0",
54
- "qrcode": "1.5.4",
55
- "werift": "0.23.0"
56
- },
57
- "devDependencies": {
58
- "@camera.ui/cli": "0.0.116",
59
- "@types/node": "24.10.0",
60
- "@types/qrcode": "1.5.6",
61
- "eslint": "10.11.0",
62
- "typescript": "5.9.3",
63
- "typescript-eslint": "8.71.0"
64
- },
65
- "homekit4k": {
66
- "releaseChannel": "stable"
67
- },
68
- "keywords": [
69
- "camera-ui-plugin",
70
- "camera-ui",
71
- "homekit"
38
+ "arm64",
39
+ "x64"
72
40
  ],
73
41
  "scripts": {
74
42
  "build": "node scripts/build-vendored-hap.mjs && node scripts/build.mjs",
@@ -84,6 +52,19 @@
84
52
  "smoke:bundle": "node scripts/smoke-bundle.mjs",
85
53
  "examples": "pnpm build && node scripts/examples.mjs",
86
54
  "bundle:camera-ui": "pnpm build && cui bundle && node scripts/finalize-camera-ui-bundle.mjs",
55
+ "publish:camera-ui": "pnpm bundle:camera-ui && npm publish ./bundle --access public --registry=https://registry.npmjs.org/",
87
56
  "test:audio": "pnpm build && node scripts/audio-lab/test-audio.mjs"
57
+ },
58
+ "homekit4k": {
59
+ "releaseChannel": "stable"
60
+ },
61
+ "packageManager": "pnpm@11.25.0",
62
+ "keywords": [
63
+ "camera-ui-plugin",
64
+ "camera-ui",
65
+ "homekit"
66
+ ],
67
+ "cameraui": {
68
+ "protocolLevel": 2
88
69
  }
89
- }
70
+ }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- HOMEKIT 4K PROPRIETARY SOFTWARE LICENSE
2
-
3
- Copyright (c) 2026 Chrisalvir. All rights reserved.
4
-
5
- Permission is granted to download, install, and run an unmodified copy of
6
- HOMEKIT 4K with Camera.UI for lawful personal or commercial use. This permission
7
- does not transfer ownership of the software.
8
-
9
- You may not modify, adapt, translate, or create derivative works from HOMEKIT
10
- 4K. You may not redistribute, sublicense, republish, or sell copies of the
11
- software. Any permission beyond downloading, installing, and running an
12
- unmodified copy requires prior written permission from the copyright holder.
13
-
14
- The copyright notice and this license must accompany any permitted unmodified
15
- copy.
16
-
17
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- AUTHOR OR COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY
21
- ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR ITS USE.
@@ -1,36 +0,0 @@
1
- export interface StoredPtzPosition {
2
- pan: number;
3
- tilt: number;
4
- zoom: number;
5
- }
6
- export interface StoredPtzPreset {
7
- name: string;
8
- position: StoredPtzPosition;
9
- savedAt: string;
10
- includeInPatrol: boolean;
11
- }
12
- export type HomeKitVideoMode = 'CLASSIC_H264' | 'HKSV3_LOCAL_HEVC';
13
- export interface CameraAccessoryConfig {
14
- exportEnabled: boolean;
15
- /** True after the one-time first-export default for HEVC/HKSV3 recording audio was applied. */
16
- recordingAudioDefaultInitialized: boolean;
17
- sourceId?: string;
18
- videoMode: HomeKitVideoMode;
19
- ptzEnabled: boolean;
20
- patrolEnabled: boolean;
21
- patrolIntervalSeconds: number;
22
- presets: Array<StoredPtzPreset | null>;
23
- defaultPreset?: number;
24
- tracking: {
25
- person: boolean;
26
- animal: boolean;
27
- vehicle: boolean;
28
- };
29
- }
30
- export declare class AccessoryConfigStore {
31
- private readonly store;
32
- constructor(root: string);
33
- get(cameraId: string): Promise<CameraAccessoryConfig>;
34
- update(cameraId: string, change: (current: CameraAccessoryConfig) => CameraAccessoryConfig): Promise<CameraAccessoryConfig>;
35
- exportEnabled(): Promise<string[]>;
36
- }
@@ -1,79 +0,0 @@
1
- import { join } from 'node:path';
2
- import { AtomicJsonStore, record } from "../persistence/AtomicJsonStore.js";
3
- const initialCamera = () => ({ exportEnabled: false, recordingAudioDefaultInitialized: false,
4
- videoMode: 'CLASSIC_H264', ptzEnabled: false, patrolEnabled: false, patrolIntervalSeconds: 15,
5
- presets: [null, null, null, null, null],
6
- tracking: { person: false, animal: false, vehicle: false } });
7
- function decode(value) {
8
- if (!record(value) || value.schemaVersion !== 1 || !record(value.cameras))
9
- throw new Error('Invalid accessory configuration schema');
10
- const cameras = Object.create(null);
11
- for (const [cameraId, raw] of Object.entries(value.cameras)) {
12
- if (!cameraId || !record(raw) || typeof raw.exportEnabled !== 'boolean' || typeof raw.ptzEnabled !== 'boolean' ||
13
- !Array.isArray(raw.presets) || raw.presets.length !== 5 || !record(raw.tracking) ||
14
- typeof raw.tracking.person !== 'boolean' || typeof raw.tracking.animal !== 'boolean' || typeof raw.tracking.vehicle !== 'boolean') {
15
- throw new Error('Invalid per-camera accessory configuration');
16
- }
17
- const presets = raw.presets.map(preset => {
18
- if (preset === null)
19
- return null;
20
- if (!record(preset) || typeof preset.name !== 'string' || !preset.name.trim() || typeof preset.savedAt !== 'string' ||
21
- !record(preset.position) || typeof preset.position.pan !== 'number' || typeof preset.position.tilt !== 'number' ||
22
- typeof preset.position.zoom !== 'number' || ![preset.position.pan, preset.position.tilt, preset.position.zoom].every(Number.isFinite)) {
23
- throw new Error('Invalid PTZ preset');
24
- }
25
- const pan = preset.position.pan;
26
- const tilt = preset.position.tilt;
27
- const zoom = preset.position.zoom;
28
- if (pan < -1 || pan > 1 || tilt < -1 || tilt > 1 || zoom < 0 || zoom > 1)
29
- throw new Error('PTZ position is outside normalized limits');
30
- return { name: preset.name.trim().slice(0, 48), savedAt: preset.savedAt,
31
- position: { pan, tilt, zoom }, includeInPatrol: typeof preset.includeInPatrol === 'boolean' ? preset.includeInPatrol : true };
32
- });
33
- const defaultPreset = raw.defaultPreset;
34
- if (defaultPreset !== undefined && (typeof defaultPreset !== 'number' || !Number.isInteger(defaultPreset) || defaultPreset < 0 ||
35
- defaultPreset >= 5 || presets[defaultPreset] === null)) {
36
- throw new Error('Invalid default PTZ preset');
37
- }
38
- if (!record(raw.tracking) || typeof raw.tracking.person !== 'boolean' || typeof raw.tracking.animal !== 'boolean' ||
39
- typeof raw.tracking.vehicle !== 'boolean')
40
- throw new Error('Invalid tracking flags');
41
- cameras[cameraId] = { exportEnabled: raw.exportEnabled,
42
- // Older saved camera configs predate the default. Initialize HEVC/HKSV3
43
- // once after HAP restore, then persist the marker so later user choices stick.
44
- recordingAudioDefaultInitialized: typeof raw.recordingAudioDefaultInitialized === 'boolean'
45
- ? raw.recordingAudioDefaultInitialized : false,
46
- videoMode: raw.videoMode === 'HKSV3_LOCAL_HEVC' ? 'HKSV3_LOCAL_HEVC' : 'CLASSIC_H264', ptzEnabled: raw.ptzEnabled,
47
- patrolEnabled: typeof raw.patrolEnabled === 'boolean' ? raw.patrolEnabled : false,
48
- ...(typeof raw.sourceId === 'string' && raw.sourceId ? { sourceId: raw.sourceId } : {}), presets,
49
- patrolIntervalSeconds: typeof raw.patrolIntervalSeconds === 'number' && Number.isInteger(raw.patrolIntervalSeconds) &&
50
- raw.patrolIntervalSeconds >= 5 && raw.patrolIntervalSeconds <= 300 ? raw.patrolIntervalSeconds : 15,
51
- ...(typeof defaultPreset === 'number' ? { defaultPreset } : {}),
52
- tracking: { person: raw.tracking.person, animal: raw.tracking.animal, vehicle: raw.tracking.vehicle } };
53
- }
54
- return { schemaVersion: 1, cameras };
55
- }
56
- export class AccessoryConfigStore {
57
- store;
58
- constructor(root) {
59
- this.store = new AtomicJsonStore(join(root, 'accessories', 'config.json'), () => ({ schemaVersion: 1, cameras: {} }), decode);
60
- }
61
- async get(cameraId) {
62
- const value = (await this.store.read()).cameras[cameraId];
63
- return structuredClone(value ?? initialCamera());
64
- }
65
- async update(cameraId, change) {
66
- if (!cameraId.trim())
67
- throw new Error('Camera ID required');
68
- const state = await this.store.update(current => {
69
- const previous = current.cameras[cameraId] ?? initialCamera();
70
- const updated = change(structuredClone(previous));
71
- return { schemaVersion: 1, cameras: { ...current.cameras, [cameraId]: updated } };
72
- });
73
- return structuredClone(state.cameras[cameraId]);
74
- }
75
- async exportEnabled() {
76
- const state = await this.store.read();
77
- return Object.entries(state.cameras).filter(([, config]) => config.exportEnabled).map(([cameraId]) => cameraId);
78
- }
79
- }
@@ -1,125 +0,0 @@
1
- import type { CameraUiAdapter } from '../camera-ui/CameraUiAdapter.ts';
2
- import type { IdentityStore } from '../identity/IdentityStore.ts';
3
- import type { NativeVideoEngine } from '../media/NativeVideoEngine.ts';
4
- import type { Diagnostics } from '../diagnostics/Diagnostics.ts';
5
- import type { InspectableHapAdapter } from '../hap/HapAdapter.ts';
6
- import { AccessoryConfigStore, type HomeKitVideoMode } from './AccessoryConfigStore.ts';
7
- import { type H264AudioRuntime } from '../h264/AudioRuntime.ts';
8
- export interface AccessoryView {
9
- cameraId: string;
10
- name: string;
11
- published: boolean;
12
- paired: boolean;
13
- sourceId?: string;
14
- videoCodec?: string;
15
- width?: number;
16
- height?: number;
17
- processing: 'UNKNOWN_NOT_VERIFIED';
18
- audio: 'H264_NORMALIZED_AUDIO_UNVERIFIED' | 'PCMA_8KHZ_ADVERTISED_UNVERIFIED' | 'OPUS_48KHZ_20MS_FROM_PCMA_8KHZ_UNVERIFIED' | 'OPUS_48KHZ_OR_AAC_ELD_24KHZ_20MS_FROM_PCMA_8KHZ_UNVERIFIED';
19
- entities: Array<{
20
- id: string;
21
- type: string;
22
- name: string;
23
- capabilities: string[];
24
- }>;
25
- ptz?: {
26
- available: boolean;
27
- enabled: boolean;
28
- patrolEnabled: boolean;
29
- capabilities: string[];
30
- nativePresets?: string[];
31
- positions: Array<({
32
- name: string;
33
- position: {
34
- pan: number;
35
- tilt: number;
36
- zoom: number;
37
- };
38
- includeInPatrol: boolean;
39
- } | null)>;
40
- defaultPositionSlot?: number;
41
- patrolIntervalSeconds: number;
42
- position?: {
43
- pan: number;
44
- tilt: number;
45
- zoom: number;
46
- };
47
- };
48
- error?: string;
49
- }
50
- export interface PairingView {
51
- setupUri: string;
52
- manualCode: string;
53
- paired: false;
54
- }
55
- export declare function brandedHomeKitSetupQr(setupUri: string, manualCode?: string, accessoryName?: string): Promise<string>;
56
- export declare function brandedHomeKitPlaceholderQr(statusBadge: string, lines: string[], footerBadge?: string, accessoryName?: string, variant?: 'info' | 'success' | 'warn'): string;
57
- export declare function formatHomeKitPin(value: number): string;
58
- /** Publishes one independent classic HAP camera accessory for an explicitly selected Camera.UI camera. */
59
- export declare class CameraAccessoryManager {
60
- private readonly host;
61
- private readonly hapAdapter;
62
- private readonly identities;
63
- private readonly video;
64
- private readonly diagnostics;
65
- private readonly storagePath;
66
- private readonly h264AudioRuntime;
67
- readonly config: AccessoryConfigStore;
68
- private readonly live;
69
- private readonly statuses;
70
- private readonly serial;
71
- private closed;
72
- private readonly patrolJobs;
73
- private readonly pendingPositionMoves;
74
- private readonly stoppingPtz;
75
- private readonly ptzStateListeners;
76
- constructor(host: CameraUiAdapter, hapAdapter: InspectableHapAdapter, identities: IdentityStore, video: NativeVideoEngine, diagnostics: Diagnostics, storagePath: string, h264AudioRuntime?: () => Promise<H264AudioRuntime>);
77
- start(): Promise<void>;
78
- cameraAvailable(cameraId: string): Promise<void>;
79
- cameraUnavailable(cameraId: string): Promise<void>;
80
- sensorsChanged(): Promise<void>;
81
- onPtzPatrolStateChanged(listener: (cameraId: string, enabled: boolean) => void): () => void;
82
- enable(cameraId: string, sourceId: string, videoMode?: HomeKitVideoMode): Promise<void>;
83
- disable(cameraId: string): Promise<void>;
84
- /** Clears this accessory's local HAP pairing records. The Home app may also require removal on the iPhone. */
85
- unlink(cameraId: string): Promise<void>;
86
- ptzInfo(cameraId: string): Promise<AccessoryView['ptz']>;
87
- setPtzEnabled(cameraId: string, enabled: boolean): Promise<void>;
88
- setPtzPatrolEnabled(cameraId: string, enabled: boolean): Promise<void>;
89
- savePtzPreset(cameraId: string, slot: number, name: string): Promise<void>;
90
- setDefaultPtzPreset(cameraId: string, slot: number): Promise<void>;
91
- setPtzPresetIncludedInPatrol(cameraId: string, slot: number, included: boolean): Promise<void>;
92
- deletePtzPreset(cameraId: string, slot: number): Promise<void>;
93
- movePtzRelative(cameraId: string, panDelta: number, tiltDelta: number, zoomDelta: number): Promise<void>;
94
- jogPtz(cameraId: string, pan: number, tilt: number, zoom: number): Promise<void>;
95
- stopPtz(cameraId: string): Promise<void>;
96
- moveToPtzPreset(cameraId: string, slot: number): Promise<void>;
97
- moveToDefaultPtzPreset(cameraId: string): Promise<void>;
98
- pairing(cameraId: string): Promise<PairingView | undefined>;
99
- pairingQr(cameraId: string): Promise<string>;
100
- snapshot(): Promise<AccessoryView[]>;
101
- close(): Promise<void>;
102
- private publish;
103
- private measuredSecureVideoTiers;
104
- private updateMotionState;
105
- private bindMotion;
106
- private bindCameraEntities;
107
- private entityView;
108
- private storedPairingState;
109
- private rotatePin;
110
- private unpublish;
111
- private disposeLive;
112
- private refreshStatus;
113
- private findPtz;
114
- private presetNames;
115
- private schedulePatrol;
116
- private advancePatrol;
117
- private failPatrol;
118
- private clearPatrol;
119
- private requirePtz;
120
- private moveToSavedPosition;
121
- private stopPtzMovement;
122
- private validPosition;
123
- private runtime;
124
- private queue;
125
- }