@camera.ui/server 2.1.9 → 2.1.10

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 (349) hide show
  1. package/dist/interface/assets/{404-BEb5gvkW.js → 404-BLNSh-sA.js} +1 -1
  2. package/dist/interface/assets/{About-BKkjuIVJ.js → About-ZakRzon7.js} +1 -1
  3. package/dist/interface/assets/Automation-DoVhkuVY.js +3 -0
  4. package/dist/interface/assets/AutomationImport-DVxK1R1y.js +2 -0
  5. package/dist/interface/assets/{AutomationStore-DKhnExZn.js → AutomationStore-DaNO9_9S.js} +2 -2
  6. package/dist/interface/assets/{AutomationStoreDetail-DmqqEOir.js → AutomationStoreDetail-CTDCEaIz.js} +2 -2
  7. package/dist/interface/assets/Automations-mdnUitWx.js +2 -0
  8. package/dist/interface/assets/Camera-B3cv5IVC.js +2 -0
  9. package/dist/interface/assets/Camera-LSq1bWmA.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-DVpyGhx8.js → CameraConsole-C32X5I91.js} +2 -2
  11. package/dist/interface/assets/Cameras-Drv48-Eb.js +652 -0
  12. package/dist/interface/assets/Camview-Bvy39jSt.js +1 -0
  13. package/dist/interface/assets/{Config-DeUec_TN.js → Config-B-LDdaS6.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionCameraControl-DWHg-YEU.js → ConfigActionCameraControl-As2qXvnd.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionDelay-C8nNA7TC.js → ConfigActionDelay-Cj3yWfEV.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionHttp-Dc97gItH.js → ConfigActionHttp-PlS5vI0v.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionImageInput-DpOGqlzA.js → ConfigActionImageInput-BHflOA-T.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionMqtt-D5DJ21oe.js → ConfigActionMqtt-DByOwVPe.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-4wKfanGB.js → ConfigActionNotification-D_8_lp96.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotificationControl-jSgxCZmV.js → ConfigActionNotificationControl-ClFMom6m.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionOutput-C8Esieni.js → ConfigActionOutput-YTAw-Are.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionPlugin-C_cv60d3.js → ConfigActionPlugin-lF2IH2Bo.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSensor-CFIKoJ3-.js → ConfigActionSensor-DQZW_Jxr.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSnapshot-BqaTwtN3.js → ConfigActionSnapshot-CHxIQ5J0.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionVariable-De9RCGU4.js → ConfigActionVariable-0VLGuhwP.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionIfElse-CeNDIucw.js → ConfigConditionIfElse-D-Ibn8QL.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSensorState-C_Q9gU23.js → ConfigConditionSensorState-BKSGYRdv.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSwitch-DR63IGcD.js → ConfigConditionSwitch-CzkEyWb1.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionTime-C9iuSxxe.js → ConfigConditionTime-BFKsDI_t.js} +1 -1
  30. package/dist/interface/assets/{ConfigSensorValueInput-DnMlFzil.js → ConfigSensorValueInput-yTiHhlXG.js} +1 -1
  31. package/dist/interface/assets/ConfigTriggerDetection-DFTgRaE0.js +1 -0
  32. package/dist/interface/assets/ConfigTriggerGeofence-B2Cqi5Id.js +1 -0
  33. package/dist/interface/assets/{ConfigTriggerManual-DPkRlUqD.js → ConfigTriggerManual-BDK6OYxg.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerMqtt-kd65tGJE.js → ConfigTriggerMqtt-BZO14RrW.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSchedule-D6MoVDPc.js → ConfigTriggerSchedule-sMkzMLgn.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSensor-AMQM6f2r.js → ConfigTriggerSensor-D6W_exDW.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSystem-CNBgtDF1.js → ConfigTriggerSystem-D4cx1GqI.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerWebhook-B70DobSi.js → ConfigTriggerWebhook-DxZziGkL.js} +1 -1
  39. package/dist/interface/assets/Console-DjA3ZPU_.js +1 -0
  40. package/dist/interface/assets/CuiAutomationRunsDialog-B4ABK72A.js +1 -0
  41. package/dist/interface/assets/CuiBottomSheet-D1zDWsoK.js +1 -0
  42. package/dist/interface/assets/{CuiBottomSheet-D5N8X1K-.js → CuiBottomSheet-N9MHq4yZ.js} +1 -1
  43. package/dist/interface/assets/CuiCameraPipCard-CnWs2fAC.js +1 -0
  44. package/dist/interface/assets/CuiCameraRecordings-CahW-f8_.js +1 -0
  45. package/dist/interface/assets/{CuiCameraShares-DMHwZEf1.js → CuiCameraShares-B2RdPWWh.js} +1 -1
  46. package/dist/interface/assets/CuiCameraTable-4ikGv8QA.js +1 -0
  47. package/dist/interface/assets/{CuiCameraTable-AnEPu3XS.js → CuiCameraTable-BKBvhRDc.js} +2 -2
  48. package/dist/interface/assets/CuiChartTable-CqKo74Tf.css +1 -0
  49. package/dist/interface/assets/CuiChartTable-Lvz9Zq0k.js +1 -0
  50. package/dist/interface/assets/{CuiConsole-CqEvNGe_.js → CuiConsole-DUswVhFC.js} +2 -2
  51. package/dist/interface/assets/CuiDataTable-CIP95jVF.js +1 -0
  52. package/dist/interface/assets/CuiLightControl-CvfWo8mY.js +1 -0
  53. package/dist/interface/assets/{CuiList-DrYuFhK4.js → CuiList-CajC6jpE.js} +1 -1
  54. package/dist/interface/assets/CuiPluginCard-CQS8C87-.js +2 -0
  55. package/dist/interface/assets/CuiPluginCategoryChip-DCNG8zl1.js +1 -0
  56. package/dist/interface/assets/{CuiPluginOAuthButton-vMuRa9Qd.js → CuiPluginOAuthButton-CvZrOWr8.js} +2 -2
  57. package/dist/interface/assets/{CuiPluginTrustBadge-2wsPzYZA.js → CuiPluginTrustBadge-Bc1dQgX8.js} +1 -1
  58. package/dist/interface/assets/CuiQRCode-CjLcB644.js +1 -0
  59. package/dist/interface/assets/CuiRecordingsGrid-DrpErbux.js +1 -0
  60. package/dist/interface/assets/{CuiRecordingsGrid-Q4C3aeLo.css → CuiRecordingsGrid-EAumRo5E.css} +1 -1
  61. package/dist/interface/assets/CuiSchema-BYYeh269.css +1 -0
  62. package/dist/interface/assets/CuiSchema-DG8peseE.js +1 -0
  63. package/dist/interface/assets/{CuiTopNavbarItem-CSdvkKHR.js → CuiTopNavbarItem-Dq3Esl1S.js} +1 -1
  64. package/dist/interface/assets/Faces-D0yRgOMj.js +1 -0
  65. package/dist/interface/assets/FirstSteps-BW8AVmd4.js +1 -0
  66. package/dist/interface/assets/{Instances-Cw7A4I7E.js → Instances-BgXJvs0_.js} +1 -1
  67. package/dist/interface/assets/{Logs-4Mgj7YWu.js → Logs-DH3rWnlV.js} +2 -2
  68. package/dist/interface/assets/Menu-D9FVgjwT.js +1 -0
  69. package/dist/interface/assets/Metrics-7bYWyGWU.js +9 -0
  70. package/dist/interface/assets/Metrics-DX59XXDc.css +1 -0
  71. package/dist/interface/assets/{OAuthDeviceFlow-DGikOkgK.js → OAuthDeviceFlow-BS0FQbZh.js} +1 -1
  72. package/dist/interface/assets/Plugin-ZwkTp6C4.js +1 -0
  73. package/dist/interface/assets/{PluginConsole-ZZvJlgIh.js → PluginConsole-Dt39TWaO.js} +2 -2
  74. package/dist/interface/assets/{PluginDetail-B9NgbzkJ.js → PluginDetail-D7ZtOG9Y.js} +2 -2
  75. package/dist/interface/assets/{PluginSchema-Cx_LInpM.js → PluginSchema-8T7EBq-Z.js} +1 -1
  76. package/dist/interface/assets/PluginSearch-DN3o0wfs.js +1 -0
  77. package/dist/interface/assets/PluginSearch-eRDCvu_8.js +2 -0
  78. package/dist/interface/assets/{PluginUpdateProgress-0nV-8LvI.js → PluginUpdateProgress-CxjpzkGa.js} +1 -1
  79. package/dist/interface/assets/Plugins-DVsMpyvr.js +1 -0
  80. package/dist/interface/assets/Recordings-BKxSEiQo.js +1 -0
  81. package/dist/interface/assets/SensorEdit-BmaMQKEa.js +1 -0
  82. package/dist/interface/assets/{SensorHistory-IgMpuLdC.js → SensorHistory-CmOAk-tD.js} +1 -1
  83. package/dist/interface/assets/Sensors-x08al7Je.js +2 -0
  84. package/dist/interface/assets/Settings-Cp1lzG1i.js +1 -0
  85. package/dist/interface/assets/SettingsAccount-BwCNddkW.js +1 -0
  86. package/dist/interface/assets/SettingsAccount-DC9AxqHe.js +1 -0
  87. package/dist/interface/assets/SettingsAppearance-CMzzDZCX.js +1 -0
  88. package/dist/interface/assets/{SettingsAppearance-C8EEBVZN.js → SettingsAppearance-Dr8hJloI.js} +1 -1
  89. package/dist/interface/assets/SettingsBackup-Dc8pDM3Y.js +1 -0
  90. package/dist/interface/assets/{SettingsList-MXYSQMZ3.js → SettingsList-3peF3gFZ.js} +1 -1
  91. package/dist/interface/assets/SettingsMqtt-k-cHaOoA.js +1 -0
  92. package/dist/interface/assets/SettingsNotifications-BJHYlSKX.js +1 -0
  93. package/dist/interface/assets/{SettingsPermissions-Dd_yfNlk.js → SettingsPermissions-CymqvfR9.js} +1 -1
  94. package/dist/interface/assets/{SettingsRecordings-85B2bQIf.js → SettingsRecordings-gWTD_djR.js} +1 -1
  95. package/dist/interface/assets/SettingsRemote-BWAhI1Gw.js +2 -0
  96. package/dist/interface/assets/SettingsRemote-CtP6Gz9C.css +1 -0
  97. package/dist/interface/assets/SettingsSystem-BGBUQvjg.js +2 -0
  98. package/dist/interface/assets/SettingsUsers-B_Ri5OrM.js +1 -0
  99. package/dist/interface/assets/Terminal-eYxvgFHE.js +4 -0
  100. package/dist/interface/assets/Updates-CweZekTf.js +2 -0
  101. package/dist/interface/assets/{VariableInput-7c7Px-DM.js → VariableInput-CM6T3pUW.js} +1 -1
  102. package/dist/interface/assets/{VariableSuggestions-CrEa2zN-.js → VariableSuggestions-BGxZxS6U.js} +1 -1
  103. package/dist/interface/assets/{VersionsHandler-BFuLGk6Y.js → VersionsHandler-BWIiBPPa.js} +2 -2
  104. package/dist/interface/assets/{VirtualSensorCreate-uumfOHgB.js → VirtualSensorCreate-CFQC2-9D.js} +1 -1
  105. package/dist/interface/assets/Workers-B-sp43t3.js +2 -0
  106. package/dist/interface/assets/{Workers-7hKMBU4w.css → Workers-DH59zE1C.css} +1 -1
  107. package/dist/interface/assets/{api-DLVsQBAO.js → api-CG0j1twy.js} +1 -1
  108. package/dist/interface/assets/api-CVOj5SYs.css +2 -0
  109. package/dist/interface/assets/api-C_bOaXk2.js +2 -0
  110. package/dist/interface/assets/{auth-uQlIia9h.js → auth-BPSOBTDX.js} +1 -1
  111. package/dist/interface/assets/{automations-ChG1qcO7.js → automations-BrtwUIUz.js} +1 -1
  112. package/dist/interface/assets/brain-7IVdhMyV.js +1 -0
  113. package/dist/interface/assets/{cameras.schema-Cv7cjMz3.js → cameras.schema-CoIOnGzE.js} +1 -1
  114. package/dist/interface/assets/cloudHandoff-BiFzJEYx.js +1 -0
  115. package/dist/interface/assets/{config-B1aWtF-N.js → config-BjldP5A6.js} +1 -1
  116. package/dist/interface/assets/{flowSchema-CNnBxcwy.js → flowSchema-B_Otn6RU.js} +1 -1
  117. package/dist/interface/assets/{intercomService-DJHBix4X.js → intercomService-BpTOoSQi.js} +1 -1
  118. package/dist/interface/assets/lan-BP0NuDr7.js +1 -0
  119. package/dist/interface/assets/main-BG-VCb--.js +3 -0
  120. package/dist/interface/assets/main-CFQGq2Yn.css +1 -0
  121. package/dist/interface/assets/{mqtt-Cyhv8shC.js → mqtt-DSPPQwxJ.js} +1 -1
  122. package/dist/interface/assets/{notifications-DniREnpL.js → notifications-DEEM2oP2.js} +1 -1
  123. package/dist/interface/assets/{plugins-5gXj0utE.js → plugins-DBBFdZKH.js} +1 -1
  124. package/dist/interface/assets/refresh-Ds2EayhZ.js +1 -0
  125. package/dist/interface/assets/sensorIcons-CP5EQZ60.js +1 -0
  126. package/dist/interface/assets/{sensors-Bc02Z1G9.js → sensors-CKTPsYYH.js} +1 -1
  127. package/dist/interface/assets/{server-D2KGja0u.js → server-B_MuqJ5z.js} +1 -1
  128. package/dist/interface/assets/{theme-vkX_uBgJ.js → theme-FztlStyg.js} +1 -1
  129. package/dist/interface/assets/types-BHAzjgi3.js +1 -0
  130. package/dist/interface/assets/types-G1_espGV.js +1 -0
  131. package/dist/interface/assets/{types-fCQkAGfW.js → types-bCt9IrFD.js} +1 -1
  132. package/dist/interface/assets/updates-CVapvGAI.js +1 -0
  133. package/dist/interface/assets/{useAppVersion-9zH_FspP.js → useAppVersion-SrF7tGCe.js} +1 -1
  134. package/dist/interface/assets/useBackupRestore-Tc23Huvm.js +1 -0
  135. package/dist/interface/assets/{useCameraOptions-BIaDXHeq.js → useCameraOptions-zsIqf0i9.js} +1 -1
  136. package/dist/interface/assets/{useLogsSocket-BLV7dWSG.js → useLogsSocket-DSltWBh4.js} +1 -1
  137. package/dist/interface/assets/{useNavLayout-wq-6JyWK.js → useNavLayout-BhlxDHV7.js} +1 -1
  138. package/dist/interface/assets/{usePermissions-BiBlyeQl.js → usePermissions-4HqGU99G.js} +1 -1
  139. package/dist/interface/assets/{usePluginUpdates-BZJSqnSF.js → usePluginUpdates-CKH0Hb87.js} +1 -1
  140. package/dist/interface/assets/{usePushRegistration-CGFiyCuv.js → usePushRegistration-DAE3goyn.js} +1 -1
  141. package/dist/interface/assets/{useServerRestart-CjPAgzoX.js → useServerRestart-DoLrF47t.js} +1 -1
  142. package/dist/interface/assets/{useStreamStatus-BFCF1B3T.js → useStreamStatus-B3QIWjDE.js} +1 -1
  143. package/dist/interface/assets/useTabSwipe-BYFLQ9EY.js +1 -0
  144. package/dist/interface/assets/{useUpdateChannel-F4WpbMJR.js → useUpdateChannel-DWEw-ZyB.js} +1 -1
  145. package/dist/interface/assets/useUpdatesSocket-CoxkS7Hr.js +1 -0
  146. package/dist/interface/assets/{useUserOptions-GbSC7_qt.js → useUserOptions-DCDeuz2p.js} +1 -1
  147. package/dist/interface/assets/vendor-cameraui-4iwjOYwz.js +2326 -0
  148. package/dist/interface/assets/vendor-core-gJradu21.js +1 -0
  149. package/dist/interface/assets/{vendor-primevue-b9CB9Uh0.js → vendor-primevue-DMAuiM9b.js} +72 -72
  150. package/dist/interface/index.html +31 -27
  151. package/dist/interface/sw.js +1 -1
  152. package/dist/server/package.json +9 -8
  153. package/dist/server/requirements.txt +1 -1
  154. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +4 -0
  155. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +4 -0
  156. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +6 -0
  157. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +3 -3
  158. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/enums.py +6 -0
  159. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +24 -0
  160. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/detection.py +3 -3
  161. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +6 -1
  162. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +2 -2
  163. package/dist/server/src/api/controllers/frameWorkers.controller.js +26 -49
  164. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  165. package/dist/server/src/api/controllers/remote.controller.d.ts +1 -0
  166. package/dist/server/src/api/controllers/remote.controller.js +13 -12
  167. package/dist/server/src/api/controllers/remote.controller.js.map +1 -1
  168. package/dist/server/src/api/controllers/server.controller.js +5 -2
  169. package/dist/server/src/api/controllers/server.controller.js.map +1 -1
  170. package/dist/server/src/api/controllers/updates.controller.d.ts +8 -0
  171. package/dist/server/src/api/controllers/updates.controller.js +40 -0
  172. package/dist/server/src/api/controllers/updates.controller.js.map +1 -0
  173. package/dist/server/src/api/controllers/workers.controller.js +8 -2
  174. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  175. package/dist/server/src/api/database/index.d.ts +1 -1
  176. package/dist/server/src/api/database/index.js +1 -1
  177. package/dist/server/src/api/database/migrations/v2-1-11.js.map +1 -1
  178. package/dist/server/src/api/database/migrations/v2-1-13.d.ts +3 -0
  179. package/dist/server/src/api/database/migrations/v2-1-13.js +51 -0
  180. package/dist/server/src/api/database/migrations/v2-1-13.js.map +1 -0
  181. package/dist/server/src/api/database/migrations/v2-1-14.d.ts +3 -0
  182. package/dist/server/src/api/database/migrations/v2-1-14.js +87 -0
  183. package/dist/server/src/api/database/migrations/v2-1-14.js.map +1 -0
  184. package/dist/server/src/api/routes/index.js +3 -1
  185. package/dist/server/src/api/routes/index.js.map +1 -1
  186. package/dist/server/src/api/routes/updates.routes.d.ts +2 -0
  187. package/dist/server/src/api/routes/updates.routes.js +47 -0
  188. package/dist/server/src/api/routes/updates.routes.js.map +1 -0
  189. package/dist/server/src/api/routes/workers.routes.js +3 -2
  190. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  191. package/dist/server/src/api/schemas/cameras.schema.d.ts +101 -51
  192. package/dist/server/src/api/schemas/cameras.schema.js +18 -2
  193. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  194. package/dist/server/src/api/schemas/workers.schema.d.ts +3 -0
  195. package/dist/server/src/api/schemas/workers.schema.js +5 -0
  196. package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
  197. package/dist/server/src/api/services/plugins.service.d.ts +4 -1
  198. package/dist/server/src/api/services/plugins.service.js +23 -4
  199. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  200. package/dist/server/src/api/services/server.service.d.ts +3 -1
  201. package/dist/server/src/api/services/server.service.js +6 -1
  202. package/dist/server/src/api/services/server.service.js.map +1 -1
  203. package/dist/server/src/api/services/updates.service.d.ts +108 -0
  204. package/dist/server/src/api/services/updates.service.js +476 -0
  205. package/dist/server/src/api/services/updates.service.js.map +1 -0
  206. package/dist/server/src/api/types/index.d.ts +6 -1
  207. package/dist/server/src/api/websocket/index.js +2 -0
  208. package/dist/server/src/api/websocket/index.js.map +1 -1
  209. package/dist/server/src/api/websocket/nsp/metrics.d.ts +2 -0
  210. package/dist/server/src/api/websocket/nsp/metrics.js +36 -4
  211. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  212. package/dist/server/src/api/websocket/nsp/server.js +43 -7
  213. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  214. package/dist/server/src/api/websocket/types.d.ts +3 -0
  215. package/dist/server/src/camera/decoder/debug/detection-record.d.ts +6 -0
  216. package/dist/server/src/camera/decoder/debug/detection-record.js +21 -0
  217. package/dist/server/src/camera/decoder/debug/detection-record.js.map +1 -1
  218. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +19 -1
  219. package/dist/server/src/camera/decoder/detection-coordinator.js +306 -84
  220. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  221. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +3 -1
  222. package/dist/server/src/camera/decoder/detection-pipeline.js +12 -4
  223. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  224. package/dist/server/src/camera/decoder/detection-window.d.ts +17 -0
  225. package/dist/server/src/camera/decoder/detection-window.js +188 -0
  226. package/dist/server/src/camera/decoder/detection-window.js.map +1 -0
  227. package/dist/server/src/camera/decoder/event-manager.d.ts +1 -0
  228. package/dist/server/src/camera/decoder/event-manager.js +12 -0
  229. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  230. package/dist/server/src/camera/decoder/frame-scaler.d.ts +12 -0
  231. package/dist/server/src/camera/decoder/frame-scaler.js +38 -7
  232. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  233. package/dist/server/src/camera/decoder/motion-localizer.d.ts +16 -0
  234. package/dist/server/src/camera/decoder/motion-localizer.js +49 -0
  235. package/dist/server/src/camera/decoder/motion-localizer.js.map +1 -0
  236. package/dist/server/src/camera/decoder/perf-tracker.d.ts +2 -0
  237. package/dist/server/src/camera/decoder/perf-tracker.js +4 -0
  238. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  239. package/dist/server/src/camera/decoder/plugin-registry.js +1 -6
  240. package/dist/server/src/camera/decoder/plugin-registry.js.map +1 -1
  241. package/dist/server/src/camera/decoder/sources/analysis-source.d.ts +1 -0
  242. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +1 -0
  243. package/dist/server/src/camera/decoder/sources/buffered-source.js +38 -0
  244. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  245. package/dist/server/src/camera/decoder/types.d.ts +9 -8
  246. package/dist/server/src/camera/decoder/types.js.map +1 -1
  247. package/dist/server/src/main.js +22 -2
  248. package/dist/server/src/main.js.map +1 -1
  249. package/dist/server/src/manager/types.d.ts +1 -0
  250. package/dist/server/src/manager/types.js +2 -0
  251. package/dist/server/src/manager/types.js.map +1 -1
  252. package/dist/server/src/mqtt/ha-discovery.js +0 -1
  253. package/dist/server/src/mqtt/ha-discovery.js.map +1 -1
  254. package/dist/server/src/plugins/index.js +0 -2
  255. package/dist/server/src/plugins/index.js.map +1 -1
  256. package/dist/server/src/remote/types.d.ts +1 -2
  257. package/dist/server/src/rpc/leafConnection.d.ts +12 -0
  258. package/dist/server/src/rpc/leafConnection.js +60 -0
  259. package/dist/server/src/rpc/leafConnection.js.map +1 -0
  260. package/dist/server/src/rpc/server.d.ts +2 -0
  261. package/dist/server/src/rpc/server.js +7 -1
  262. package/dist/server/src/rpc/server.js.map +1 -1
  263. package/dist/server/src/services/config/index.js +2 -0
  264. package/dist/server/src/services/config/index.js.map +1 -1
  265. package/dist/server/src/types.d.ts +10 -1
  266. package/dist/server/src/utils/ipc.d.ts +9 -0
  267. package/dist/server/src/utils/ipc.js +31 -5
  268. package/dist/server/src/utils/ipc.js.map +1 -1
  269. package/dist/server/src/utils/system-info.d.ts +9 -0
  270. package/dist/server/src/utils/system-info.js +48 -0
  271. package/dist/server/src/utils/system-info.js.map +1 -0
  272. package/dist/server/src/workers/agent.d.ts +3 -0
  273. package/dist/server/src/workers/agent.js +35 -7
  274. package/dist/server/src/workers/agent.js.map +1 -1
  275. package/dist/server/src/workers/capabilities/frame-decoding.d.ts +2 -2
  276. package/dist/server/src/workers/capabilities/frame-decoding.js +5 -5
  277. package/dist/server/src/workers/capabilities/frame-decoding.js.map +1 -1
  278. package/dist/server/src/workers/capabilities/handler.d.ts +2 -2
  279. package/dist/server/src/workers/capabilities/plugin-host.d.ts +2 -2
  280. package/dist/server/src/workers/capabilities/plugin-host.js +6 -6
  281. package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
  282. package/dist/server/src/workers/manager.d.ts +9 -1
  283. package/dist/server/src/workers/manager.js +24 -0
  284. package/dist/server/src/workers/manager.js.map +1 -1
  285. package/dist/server/src/workers/types.d.ts +14 -0
  286. package/dist/server/src/workers/types.js.map +1 -1
  287. package/package.json +9 -8
  288. package/dist/interface/assets/Automation-DA89AEEI.js +0 -3
  289. package/dist/interface/assets/AutomationImport-hYr3Lp8F.js +0 -2
  290. package/dist/interface/assets/Automations-B6WFJyxS.js +0 -2
  291. package/dist/interface/assets/Camera-C5gF7yVN.css +0 -1
  292. package/dist/interface/assets/Camera-DmsSKvpY.js +0 -2
  293. package/dist/interface/assets/Cameras-KOOphtlx.js +0 -652
  294. package/dist/interface/assets/Camview-BPQIinyP.js +0 -1
  295. package/dist/interface/assets/ConfigTriggerDetection-iThbCKOO.js +0 -1
  296. package/dist/interface/assets/ConfigTriggerGeofence-BeKwVWvS.js +0 -1
  297. package/dist/interface/assets/Console-N_2Vornl.js +0 -1
  298. package/dist/interface/assets/CuiAutomationRunsDialog-Cp6Apki9.js +0 -1
  299. package/dist/interface/assets/CuiBottomSheet-CIR_fmSk.js +0 -1
  300. package/dist/interface/assets/CuiCameraPipCard-DP6X45oq.js +0 -1
  301. package/dist/interface/assets/CuiCameraRecordings-CRjXsdO4.js +0 -1
  302. package/dist/interface/assets/CuiCameraTable-D5ZqTLVt.js +0 -1
  303. package/dist/interface/assets/CuiDataTable-wA_LbHH8.js +0 -1
  304. package/dist/interface/assets/CuiLightControl-CB_Tp4tI.js +0 -1
  305. package/dist/interface/assets/CuiPluginCard-DEuNt5ni.js +0 -2
  306. package/dist/interface/assets/CuiPluginCategoryChip-BbkbkYj6.js +0 -1
  307. package/dist/interface/assets/CuiQRCode-Dh9EcaVc.js +0 -1
  308. package/dist/interface/assets/CuiRecordingsGrid-HjZEiSyp.js +0 -1
  309. package/dist/interface/assets/CuiSchema--yMBD996.css +0 -1
  310. package/dist/interface/assets/CuiSchema-CSFoI6cg.js +0 -1
  311. package/dist/interface/assets/Faces-CPZ5RA68.js +0 -1
  312. package/dist/interface/assets/FirstSteps-CaF8STWH.js +0 -1
  313. package/dist/interface/assets/Menu-T-54ZSSD.js +0 -1
  314. package/dist/interface/assets/Metrics-CQGKmHev.css +0 -1
  315. package/dist/interface/assets/Metrics-Dgm5qpzh.js +0 -6
  316. package/dist/interface/assets/Plugin-YxqbMbUc.js +0 -1
  317. package/dist/interface/assets/PluginSearch-5AgSWlmi.js +0 -1
  318. package/dist/interface/assets/PluginSearch-P274oMvy.js +0 -2
  319. package/dist/interface/assets/Plugins-Bvru3q2P.js +0 -1
  320. package/dist/interface/assets/Recordings-BWGWC6Kq.js +0 -1
  321. package/dist/interface/assets/SensorEdit-gEw6HHZs.js +0 -1
  322. package/dist/interface/assets/Sensors-DukA8Xqx.js +0 -2
  323. package/dist/interface/assets/Settings-DWpeWPJh.js +0 -1
  324. package/dist/interface/assets/SettingsAccount-C1OpCtob.js +0 -1
  325. package/dist/interface/assets/SettingsAccount-CrLcqzSn.js +0 -1
  326. package/dist/interface/assets/SettingsAppearance-AhUjml5E.js +0 -1
  327. package/dist/interface/assets/SettingsBackup-BJupyZCJ.js +0 -1
  328. package/dist/interface/assets/SettingsMqtt-F3pV1Bvo.js +0 -1
  329. package/dist/interface/assets/SettingsNotifications-BmaAccX9.js +0 -1
  330. package/dist/interface/assets/SettingsRemote-C_ikoXW7.js +0 -2
  331. package/dist/interface/assets/SettingsRemote-DzrfpHjw.css +0 -1
  332. package/dist/interface/assets/SettingsSystem-Ct3qms5O.js +0 -2
  333. package/dist/interface/assets/SettingsUsers-D36vZ8Zf.js +0 -1
  334. package/dist/interface/assets/Terminal-ltPiB9CB.js +0 -4
  335. package/dist/interface/assets/Workers-Bowrc1AF.js +0 -2
  336. package/dist/interface/assets/api-daCggwpn.css +0 -2
  337. package/dist/interface/assets/api-py5HP4SF.js +0 -2
  338. package/dist/interface/assets/cloudHandoff-CL4sircA.js +0 -1
  339. package/dist/interface/assets/deployed-code-update-xHE-blDN.js +0 -1
  340. package/dist/interface/assets/main-CLvcwWW7.js +0 -3
  341. package/dist/interface/assets/main-mJXdi_gx.css +0 -1
  342. package/dist/interface/assets/round-restart-alt-D3jT5i_T.js +0 -1
  343. package/dist/interface/assets/round-restart-alt-DdIfy7mU.css +0 -1
  344. package/dist/interface/assets/sensorIcons-BXauWntX.js +0 -1
  345. package/dist/interface/assets/types-CrvnT4-i.js +0 -1
  346. package/dist/interface/assets/types-D6IQ6ssc.js +0 -1
  347. package/dist/interface/assets/useBackupRestore-Dbf24OqP.js +0 -1
  348. package/dist/interface/assets/vendor-cameraui-0EJfDg8o.js +0 -2326
  349. package/dist/interface/assets/vendor-core-RnPzfwaA.js +0 -1
@@ -0,0 +1 @@
1
+ .app-lock-overlay[data-v-baef4383]{z-index:9999;background:var(--ground-background);-webkit-backdrop-filter:blur(20px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cui-restore-overlay[data-v-0c1a6c8d]{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cui-restore-overlay__card[data-v-0c1a6c8d]{background:var(--card-background);border:1px solid var(--border-color);text-align:center;border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:360px;padding:2rem 1.5rem;display:flex}.fade-enter-active[data-v-0c1a6c8d],.fade-leave-active[data-v-0c1a6c8d]{transition:opacity .3s}.fade-enter-from[data-v-0c1a6c8d],.fade-leave-to[data-v-0c1a6c8d]{opacity:0}.cui-push-sync-indicator[data-v-335a3ce0]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-push-sync-indicator__content[data-v-335a3ce0]{align-items:center;gap:.5rem;display:flex}.cui-push-sync-indicator__spinner[data-v-335a3ce0]{width:20px!important;height:20px!important}.cui-push-sync-indicator__icon[data-v-335a3ce0]{width:20px;height:20px;color:var(--text-color)}.cui-push-sync-indicator__text[data-v-335a3ce0]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-push-sync-indicator__button[data-v-335a3ce0]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-335a3ce0],.fade-leave-active[data-v-335a3ce0]{transition:opacity .3s}.fade-enter-from[data-v-335a3ce0],.fade-leave-to[data-v-335a3ce0]{opacity:0}.cui-updates-indicator[data-v-73440e9a]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-updates-indicator__content[data-v-73440e9a]{align-items:center;gap:.5rem;display:flex}.cui-updates-indicator__text[data-v-73440e9a]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.fade-enter-active[data-v-73440e9a],.fade-leave-active[data-v-73440e9a]{transition:opacity .3s}.fade-enter-from[data-v-73440e9a],.fade-leave-to[data-v-73440e9a]{opacity:0}.cui-update-indicator[data-v-8ce1000d]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-update-indicator__content[data-v-8ce1000d]{align-items:center;gap:.5rem;display:flex}.cui-update-indicator__spinner[data-v-8ce1000d]{width:20px!important;height:20px!important}.cui-update-indicator__icon[data-v-8ce1000d]{width:20px;height:20px;color:var(--text-color)}.cui-update-indicator__text[data-v-8ce1000d]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-update-indicator__button[data-v-8ce1000d]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-8ce1000d],.fade-leave-active[data-v-8ce1000d]{transition:opacity .3s}.fade-enter-from[data-v-8ce1000d],.fade-leave-to[data-v-8ce1000d]{opacity:0}.cui-connection-indicator[data-v-b51a08be]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-connection-indicator__content[data-v-b51a08be]{align-items:center;gap:.5rem;display:flex}.cui-connection-indicator__text[data-v-b51a08be]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-connection-indicator__button[data-v-b51a08be]{margin-left:.5rem}.fade-enter-active[data-v-b51a08be],.fade-leave-active[data-v-b51a08be]{transition:opacity .3s}.fade-enter-from[data-v-b51a08be],.fade-leave-to[data-v-b51a08be]{opacity:0}.close-button[data-v-d1e31a06],.minify-button[data-v-d1e31a06],.expand-button[data-v-d1e31a06],.disabled-button[data-v-d1e31a06]{-webkit-app-region:no-drag;border-radius:20px;width:12px;height:12px;transition:all .2s ease-in-out}.close-button[data-v-d1e31a06]:hover,.minify-button[data-v-d1e31a06]:hover,.expand-button[data-v-d1e31a06]:hover,.disabled-button[data-v-d1e31a06]:hover{cursor:default}.close-button[data-v-d1e31a06]{background-color:#ff5954;border:0 solid #df302a}.close-button[data-v-d1e31a06]:active{background-color:#d63f3a;border:0 solid #c12e26}.minify-button[data-v-d1e31a06]{background-color:#fdbd30;border:0 solid #c18b17}.minify-button[data-v-d1e31a06]:active{background-color:#c18b17;border:0 solid #a27613}.expand-button[data-v-d1e31a06]{background-color:#00ca3b;border:0 solid #02a934}.expand-button[data-v-d1e31a06]:active{background-color:#02a934;border:0 solid #028b2b}.disabled-button[data-v-d1e31a06]{background-color:#3d3d3d;border:0 solid #282828}.navitem-active[data-v-9e0c467b]{background:var(--navitem-active-color,var(--p-button-text-primary-active-background));border-color:#0000;border-top:1px solid var(--navitem-active-color,var(--p-button-outlined-danger-hover-background))}.navbar-group-enter-active[data-v-a82da88e],.navbar-group-leave-active[data-v-a82da88e]{transition:all .2s;overflow:hidden}.navbar-group-enter-from[data-v-a82da88e],.navbar-group-leave-to[data-v-a82da88e]{opacity:0;max-height:0}.navbar-group-enter-to[data-v-a82da88e],.navbar-group-leave-from[data-v-a82da88e]{opacity:1;max-height:400px}.nav-edit-move[data-v-a82da88e],.nav-edit-enter-active[data-v-a82da88e],.nav-edit-leave-active[data-v-a82da88e]{transition:transform .25s,opacity .2s}.nav-edit-enter-from[data-v-a82da88e],.nav-edit-leave-to[data-v-a82da88e]{opacity:0}.nav-edit-leave-active[data-v-a82da88e]{width:100%;position:absolute}.cui-bottombar[data-v-b0d768aa]:before{content:"";background:linear-gradient(#0000000d,#0000);height:1px;position:absolute;top:-1px;left:0;right:0}.notification-menu{left:auto!important;right:calc(env(safe-area-inset-right,0px) + .5rem)!important;top:calc(env(safe-area-inset-top,0px) + 3.3rem)!important}.cui-topbar[data-v-ede899aa]{background:var(--topbar-background);border-bottom:1px solid var(--border-color)}.playground-container[data-v-eb576e21]{z-index:100;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;flex-shrink:0;justify-content:center;position:relative}@media (width>=800px){.playground-container[data-v-eb576e21]{border-radius:0 0 2px 2px}}.playground-container .playground[data-v-eb576e21]{position:relative}.playground-container .playground:hover .handle[data-v-eb576e21]{opacity:1}.playground-container .playground.customizing[data-v-eb576e21]{cursor:crosshair}.playground-container .playground.start .custom-notice[data-v-eb576e21]{opacity:1}.playground-container .playground .custom-notice[data-v-eb576e21]{pointer-events:none;opacity:0;background:#fff0;justify-content:center;align-items:center;transition:background .25s;display:flex;position:absolute;inset:0 0 1rem}.playground-container .playground .custom-notice div[data-v-eb576e21]{text-align:center;opacity:1;background:#ffffffe6;border-radius:2px;width:100%;margin:0 2rem;padding:1rem;transition:opacity .25s;box-shadow:0 1px 2px #100a0926}.playground-container .playground .custom-notice div .touchy[data-v-eb576e21]:after{content:"Click"}.playground-container .playground .sandbox[data-v-eb576e21]{touch-action:none;width:100%;height:100%;position:relative;inset:0}.playground-container .playground .sandbox .shadowboard[data-v-eb576e21]{z-index:11;pointer-events:none;opacity:0;background:#df2a4c4d 50%/cover;transition:opacity .375s;position:absolute;inset:10px}.playground-container .playground .sandbox .shadowboard.on[data-v-eb576e21]{opacity:0}.handles[data-v-eb576e21]{z-index:10;position:absolute;inset:0}.handles .clipboard[data-v-eb576e21]{z-index:1;position:absolute;inset:0}.handles .clipboard .polygon-container[data-v-eb576e21]{position:absolute}.handles .clipboard .polygon-container path.selected[data-v-eb576e21]{stroke-width:2px}.handles .clipboard .polygon-container path.dash[data-v-eb576e21]{stroke-dasharray:5 5}.handles .delete-point[data-v-eb576e21],.handles .handle[data-v-eb576e21]{z-index:2;width:20px;height:20px;position:absolute}.handles .handle[data-v-eb576e21]{opacity:.8;border-radius:50%;transition:opacity .25s;box-shadow:inset 0 0 0 10px #fff,0 0 0 2px #000000a6}.handles .handle.is-dragging[data-v-eb576e21],.handles .handle.is-pointer-down[data-v-eb576e21]{z-index:100;cursor:none;transition:box-shadow;box-shadow:inset 0 0 0 10px #d0d0d0,0 0 0 2px #000000a6}.handles .handle.active[data-v-eb576e21]{opacity:1;outline:2px solid var(--primary-500);outline-offset:2px}.handles .handle.draggable[data-v-eb576e21]{cursor:grab}.handles .handle.show-delete .delete-point[data-v-eb576e21]{opacity:1;transition:transform .25s cubic-bezier(.15,1,.3,1.1),opacity .25s;transform:scale3d(.9,.9,.9)}.handles .handle[data-v-eb576e21]:after{content:"";display:block;position:absolute;inset:-8px}.handles .handle .delete-point[data-v-eb576e21]{transform-origin:0;cursor:pointer;opacity:.75;clip-path:polygon(25% 0,100% 1%,100% 100%,25% 100%,0 50%);background:#d3d0c9;border-radius:3px;width:25px;padding-left:5px;transition:transform .25s,opacity .25s;position:absolute;top:0;left:22px;transform:scale3d(0,0,0)}.handles .handle .delete-point[data-v-eb576e21]:after{content:"";clip-path:polygon(20% 10%,10% 20%,40% 50%,10% 80%,20% 90%,50% 60%,80% 90%,90% 80%,60% 50%,90% 20%,80% 10%,50% 40%);background:#100a09;display:block;position:absolute;inset:4px 4px 4px 9px}.cui-detection[data-v-4bdc871b]{border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cui-detection--detected[data-v-4bdc871b]{border-color:#22c55e4d}.cui-detection--disabled[data-v-4bdc871b]{opacity:.6}.cui-detection__header[data-v-4bdc871b]{align-items:center;gap:.5rem;display:flex}.cui-detection__icon[data-v-4bdc871b]{justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}.cui-detection__icon-svg[data-v-4bdc871b]{width:1.5rem;height:1.5rem;color:var(--text-secondary-color);transition:color .2s}.cui-detection__icon--detected .cui-detection__icon-svg[data-v-4bdc871b]{color:#22c55e}.cui-detection__info[data-v-4bdc871b]{flex-direction:column;flex:1;gap:0;display:flex}.cui-detection__label[data-v-4bdc871b]{color:var(--text-color);font-size:.875rem;font-weight:500}.cui-detection__status[data-v-4bdc871b]{color:var(--text-secondary-color);font-size:.75rem;font-weight:500}.cui-detection__status--detected[data-v-4bdc871b]{color:#22c55e}.cui-detection__indicator[data-v-4bdc871b]{background-color:var(--surface-300);border-radius:50%;width:.5rem;height:.5rem;transition:all .2s}.cui-detection__indicator--detected[data-v-4bdc871b]{background-color:#22c55e;animation:1.5s ease-in-out infinite pulse-indicator-4bdc871b;box-shadow:0 0 6px #22c55e99}@keyframes pulse-indicator-4bdc871b{0%,to{opacity:1}50%{opacity:.5}}.cui-detection__detections[data-v-4bdc871b]{flex-wrap:wrap;gap:.25rem;padding-top:.5rem;display:flex}.cui-detection__detection-tag[data-v-4bdc871b]{color:#22c55e;text-transform:capitalize;background:#22c55e26;border-radius:1rem;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:500;display:inline-flex}.cui-detection--small[data-v-4bdc871b]{gap:.375rem;padding:.5rem}.cui-detection--small .cui-detection__icon[data-v-4bdc871b]{width:1.25rem;height:1.25rem}.cui-detection--small .cui-detection__icon-svg[data-v-4bdc871b]{width:1.125rem;height:1.125rem}.cui-detection--small .cui-detection__label[data-v-4bdc871b]{font-size:.75rem}.cui-detection--small .cui-detection__status[data-v-4bdc871b]{font-size:.625rem}.cui-detection--small .cui-detection__indicator[data-v-4bdc871b]{width:.375rem;height:.375rem}.cui-detection--small .cui-detection__detection-tag[data-v-4bdc871b]{padding:.0625rem .375rem;font-size:.5rem}.cui-detection--large[data-v-4bdc871b]{gap:.75rem;padding:1rem}.cui-detection--large .cui-detection__icon[data-v-4bdc871b]{width:2.25rem;height:2.25rem}.cui-detection--large .cui-detection__icon-svg[data-v-4bdc871b]{width:2rem;height:2rem}.cui-detection--large .cui-detection__label[data-v-4bdc871b]{font-size:1rem}.cui-detection--large .cui-detection__status[data-v-4bdc871b]{font-size:.875rem}.cui-detection--large .cui-detection__indicator[data-v-4bdc871b]{width:.625rem;height:.625rem}.cui-detection--large .cui-detection__detection-tag[data-v-4bdc871b]{padding:.1875rem .625rem;font-size:.75rem}.overview-container[data-v-f34b01a5]{flex-direction:column;display:flex}.overview-section[data-v-f34b01a5]{border-bottom:1px solid var(--surface-border);padding:1rem}.overview-section[data-v-f34b01a5]:last-child{border-bottom:none}.overview-section-title[data-v-f34b01a5]{text-transform:uppercase;color:var(--text-secondary-color);letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}[data-v-f34b01a5] .p-datatable-tbody>tr>td{height:50px}.no-sensors[data-v-f34b01a5]{text-align:center;color:var(--text-secondary-color);padding:1.5rem;font-size:.875rem}.drawer-header[data-v-94cafb3a]{background:var(--p-drawer-background)}.loader[data-v-839ba1ea]{background:var(--ground-background);width:100dvw;min-width:100dvw;max-width:100dvw;height:100dvh;min-height:100dvh;max-height:100dvh}div[data-v-839ba1ea] .cameraLens{transform-origin:35% 55%;animation:.8s cubic-bezier(.47,1.84,.21,.8) forwards lensMove-839ba1ea,.8s ease-in-out .4s forwards lensRotate-839ba1ea,.6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards lensMoveBack-839ba1ea}div[data-v-839ba1ea] .cameraLetter{transform-origin:50%;animation:.4s cubic-bezier(.47,1.84,.21,.8) forwards letterScale-839ba1ea,.4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards letterScaleBack-839ba1ea}@keyframes letterScale-839ba1ea{0%{transform:scale(1)}to{transform:scale(.8)}}@keyframes letterScaleBack-839ba1ea{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes lensMove-839ba1ea{0%{transform:translateY(0)}to{transform:translateY(-40px)}}@keyframes lensMoveBack-839ba1ea{0%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes lensRotate-839ba1ea{0%{transform:translateY(-40px)rotate(0)}to{transform:translateY(-40px)rotate(-360deg)}}.fixed-bg[data-v-a40ed066]{top:calc(0px - env(safe-area-inset-top,0px) - 10px);left:calc(0px - env(safe-area-inset-left,0px) - 10px);right:calc(0px - env(safe-area-inset-right,0px) - 10px);bottom:calc(0px - env(safe-area-inset-bottom,0px) - 10px);z-index:0;position:fixed}
@@ -1 +1 @@
1
- import{gr as e,hr as t,pr as n,wr as r}from"./api-py5HP4SF.js";import{U as i,q as a}from"./vendor-BaiDFVEr.js";async function o({signal:e}){return(await r.get(`/mqtt`,{signal:e})).data}async function s(e){return(await r.patch(`/mqtt`,e)).data}async function c({signal:e}){return(await r.get(`/mqtt/topics`,{signal:e})).data}async function l(e){return(await r.post(`/mqtt/test`,e)).data}var u=class{_queryClient=a();t=e.global.t;toast=t();get queryClient(){return this._queryClient}getMqttInfoQuery(){return n({queryKey:[`mqtt`],queryFn:({signal:e})=>o({signal:e}),staleTime:1e3})}patchMqttInfoMutation(){return i({mutationFn:s,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`mqtt`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.mqtt_updated`),life:3e3})}})}getMqttTopicsQuery(){return n({queryKey:[`mqtt`,`topics`],queryFn:({signal:e})=>c({signal:e}),staleTime:1e4})}testMqttConnectionMutation(){return i({mutationFn:l})}};export{u as t};
1
+ import{cr as e,dr as t,ur as n,yr as r}from"./api-C_bOaXk2.js";import{U as i,q as a}from"./vendor-BaiDFVEr.js";async function o({signal:e}){return(await r.get(`/mqtt`,{signal:e})).data}async function s(e){return(await r.patch(`/mqtt`,e)).data}async function c({signal:e}){return(await r.get(`/mqtt/topics`,{signal:e})).data}async function l(e){return(await r.post(`/mqtt/test`,e)).data}var u=class{_queryClient=a();t=t.global.t;toast=n();get queryClient(){return this._queryClient}getMqttInfoQuery(){return e({queryKey:[`mqtt`],queryFn:({signal:e})=>o({signal:e}),staleTime:1e3})}patchMqttInfoMutation(){return i({mutationFn:s,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`mqtt`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.mqtt_updated`),life:3e3})}})}getMqttTopicsQuery(){return e({queryKey:[`mqtt`,`topics`],queryFn:({signal:e})=>c({signal:e}),staleTime:1e4})}testMqttConnectionMutation(){return i({mutationFn:l})}};export{u as t};
@@ -1 +1 @@
1
- import{gr as e,hr as t,pr as n,wr as r}from"./api-py5HP4SF.js";import{U as i,cr as a,q as o}from"./vendor-BaiDFVEr.js";async function s({signal:e}){return(await r.get(`/notifications/settings`,{signal:e})).data}async function c({settings:e}){return(await r.put(`/notifications/settings`,e)).data}async function l({signal:e}){return(await r.get(`/notifications/devices`,{signal:e})).data}async function u({signal:e}){return(await r.get(`/notifications/sources`,{signal:e})).data}async function d({signal:e}){return(await r.get(`/notifications/history`,{signal:e})).data}async function f(){await r.delete(`/notifications/history`)}async function p({deviceId:e}){await r.delete(`/notifications/devices/${encodeURIComponent(e)}`)}async function m(e){return(await r.post(`/notifications/devices`,e)).data}async function h({deviceId:e,patch:t}){return(await r.patch(`/notifications/devices/${encodeURIComponent(e)}`,t)).data}var g=class{_queryClient=o();t=e.global.t;toast=t();queryActivator=a([{name:`getSettingsQuery`,enabled:!0},{name:`listDevicesQuery`,enabled:!0},{name:`listSourcesQuery`,enabled:!0},{name:`getHistoryQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getSettingsQuery(){return n({queryKey:[`notifications`,`settings`],queryFn:({signal:e})=>s({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getSettingsQuery`&&e.enabled)})}setSettingsQuery(){return i({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.saved`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}setSettingsQuerySilent(){return i({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e)}})}listDevicesQuery(e){return n({queryKey:[`notifications`,`devices`],queryFn:({signal:e})=>l({signal:e}),enabled:()=>(e?.()??!0)&&this.queryActivator.value.some(e=>e.name===`listDevicesQuery`&&e.enabled)})}listSourcesQuery(){return n({queryKey:[`notifications`,`sources`],queryFn:({signal:e})=>u({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`listSourcesQuery`&&e.enabled)})}getHistoryQuery(){return n({queryKey:[`notifications`,`history`],queryFn:({signal:e})=>d({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getHistoryQuery`&&e.enabled)})}clearHistoryQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`history`]})}})}revokeDeviceQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.device_revoked`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}updateDeviceQuery(){return i({mutationFn:h,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as n,g as t};
1
+ import{cr as e,dr as t,ur as n,yr as r}from"./api-C_bOaXk2.js";import{U as i,cr as a,q as o}from"./vendor-BaiDFVEr.js";async function s({signal:e}){return(await r.get(`/notifications/settings`,{signal:e})).data}async function c({settings:e}){return(await r.put(`/notifications/settings`,e)).data}async function l({signal:e}){return(await r.get(`/notifications/devices`,{signal:e})).data}async function u({signal:e}){return(await r.get(`/notifications/sources`,{signal:e})).data}async function d({signal:e}){return(await r.get(`/notifications/history`,{signal:e})).data}async function f(){await r.delete(`/notifications/history`)}async function p({deviceId:e}){await r.delete(`/notifications/devices/${encodeURIComponent(e)}`)}async function m(e){return(await r.post(`/notifications/devices`,e)).data}async function h({deviceId:e,patch:t}){return(await r.patch(`/notifications/devices/${encodeURIComponent(e)}`,t)).data}var g=class{_queryClient=o();t=t.global.t;toast=n();queryActivator=a([{name:`getSettingsQuery`,enabled:!0},{name:`listDevicesQuery`,enabled:!0},{name:`listSourcesQuery`,enabled:!0},{name:`getHistoryQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getSettingsQuery(){return e({queryKey:[`notifications`,`settings`],queryFn:({signal:e})=>s({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getSettingsQuery`&&e.enabled)})}setSettingsQuery(){return i({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.saved`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}setSettingsQuerySilent(){return i({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e)}})}listDevicesQuery(t){return e({queryKey:[`notifications`,`devices`],queryFn:({signal:e})=>l({signal:e}),enabled:()=>(t?.()??!0)&&this.queryActivator.value.some(e=>e.name===`listDevicesQuery`&&e.enabled)})}listSourcesQuery(){return e({queryKey:[`notifications`,`sources`],queryFn:({signal:e})=>u({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`listSourcesQuery`&&e.enabled)})}getHistoryQuery(){return e({queryKey:[`notifications`,`history`],queryFn:({signal:e})=>d({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getHistoryQuery`&&e.enabled)})}clearHistoryQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`history`]})}})}revokeDeviceQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.device_revoked`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}updateDeviceQuery(){return i({mutationFn:h,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as n,g as t};
@@ -1 +1 @@
1
- import{gr as e,hr as t,pr as n,wr as r}from"./api-py5HP4SF.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";var c=18e5,l=6e5;async function u({pluginData:e}){return(await r.post(`/plugins`,e,{timeout:c})).data}async function d({plugins:e}){return(await r.post(`/plugins/install`,{plugins:e},{timeout:c})).data}async function f({pluginNames:e}){return(await r.put(`/plugins/enable`,{pluginNames:e})).data}async function p({pluginNames:e}){return(await r.put(`/plugins/disable`,{pluginNames:e})).data}async function m({pluginNames:e,removeStorage:t}){return(await r.delete(`/plugins`,{data:{pluginNames:e},params:t?{removeStorage:!0}:void 0,timeout:l})).data}async function h({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}`,{signal:t})).data}async function g({pluginname:e,signal:t}){return(await r.get(`/plugins/${e}/versions`,{signal:t})).data}async function _({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/update`,{signal:t})).data}async function v({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/logo`,{signal:t})).data}async function y({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/config`,{signal:t})).data}async function b({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/contract`,{signal:t})).data}async function x({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/readme`,{signal:t})).data}async function S({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/changelog`,{params:t,signal:n})).data}async function C({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/compat`,{params:t,signal:n})).data}async function w({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/interface`,{signal:t})).data}async function T({parameter:e,signal:t}){return(await r.get(`/plugins`,{params:e,signal:t})).data}async function E({parameter:e,signal:t}){return(await r.get(`/plugins/extensions`,{params:e,signal:t})).data}async function D({pluginName:e}){return(await r.delete(`/plugins/${e}/log`)).data}async function O({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/log/download`,{signal:t})).data}async function k({parameter:e,signal:t}){return(await r.get(`/plugins/progress`,{params:e,signal:t})).data}async function A({query:e,parameter:t,refresh:n,signal:i}){return(await r.get(`/plugins/search`,{params:{...e,...t,...n?{refresh:!0}:{}},signal:i})).data}async function j({pluginName:e}){return(await r.put(`/plugins/${e}/enable`)).data}async function M({pluginName:e,configData:t}){return(await r.patch(`/plugins/${e}/config`,t)).data}async function N({pluginname:e,configData:t}){return(await r.put(`/plugins/${e}/config`,t)).data}async function P({pluginname:e,configData:t}){return(await r.post(`/plugins/${e}/config`,t)).data}async function F({pluginName:e}){return(await r.put(`/plugins/${e}/disable`)).data}async function I({pluginName:e}){return(await r.put(`/plugins/${e}/start`)).data}async function L({pluginName:e}){return(await r.put(`/plugins/${e}/stop`)).data}async function R({pluginName:e}){return(await r.put(`/plugins/${e}/restart`)).data}async function z({pluginName:e,removeStorage:t}){return(await r.delete(`/plugins/${e}`,{params:{removeStorage:t},timeout:l})).data}async function B(){return(await r.delete(`/plugins`,{timeout:l})).data}var V=class{_queryClient=s();t=e.global.t;toast=t();queryActivator=a([{name:`getPluginQuery`,enabled:!0},{name:`getPluginsQuery`,enabled:!0},{name:`getPluginsExtensionsQuery`,enabled:!0},{name:`searchPluginsQuery`,enabled:!0},{name:`getPluginVersionsQuery`,enabled:!0},{name:`getPluginUpdateQuery`,enabled:!0},{name:`getPluginLogoQuery`,enabled:!0},{name:`getPluginConfigQuery`,enabled:!0},{name:`getPluginContractQuery`,enabled:!0},{name:`getPluginReadmeQuery`,enabled:!0},{name:`getPluginInterfaceQuery`,enabled:!0},{name:`getPluginChangelogQuery`,enabled:!0},{name:`getPluginCompatQuery`,enabled:!0},{name:`getPluginsProgressQuery`,enabled:!0},{name:`installPluginQuery`,enabled:!0},{name:`enablePluginQuery`,enabled:!0},{name:`disablePluginQuery`,enabled:!0},{name:`patchPluginConfigQuery`,enabled:!0},{name:`setPluginConfigQuery`,enabled:!0},{name:`submitPluginConfigQuery`,enabled:!0},{name:`startPluginQuery`,enabled:!0},{name:`stopPluginQuery`,enabled:!0},{name:`restartPluginQuery`,enabled:!0},{name:`uninstallPluginQuery`,enabled:!0},{name:`uninstallPluginsQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0}]);get queryClient(){return this._queryClient}installPluginQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_installed`),life:3e3})}})}getPluginQuery(e){return n({queryKey:[`plugins`,e],queryFn:({signal:t})=>h({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginQuery`&&e.enabled)})}getPluginsQuery(e){return n({queryKey:[`pluginsList`,e],queryFn:({signal:t})=>T({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsQuery`&&e.enabled)})}getPluginsExtensionsQuery(e){return n({queryKey:[`extensionsList`,e],queryFn:({signal:t})=>E({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsExtensionsQuery`&&e.enabled)})}getPluginsProgressQuery(e){return n({queryKey:[`pluginsProgress`,e],queryFn:({signal:t})=>k({parameter:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsProgressQuery`&&e.enabled)})}searchPluginsQuery(e,t,r){return n({queryKey:[`pluginsSearch`,e,t],queryFn:({signal:n})=>A({query:o(e),parameter:o(t),refresh:o(r),signal:n}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`searchPluginsQuery`&&e.enabled)})}getPluginVersionsQuery(e){return n({queryKey:[`plugins`,e,`versions`],queryFn:({signal:t})=>g({pluginname:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginVersionsQuery`&&e.enabled)})}getPluginUpdateQuery(e){return n({queryKey:[`plugins`,e,`update`],queryFn:({signal:t})=>_({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginUpdateQuery`&&e.enabled)})}getPluginLogoQuery(e){return n({queryKey:[`plugins`,e,`logo`],queryFn:({signal:t})=>v({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginLogoQuery`&&e.enabled)})}getPluginConfigQuery(e){return n({queryKey:[`plugins`,e,`config`],queryFn:({signal:t})=>y({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginConfigQuery`&&e.enabled)})}getPluginContractQuery(e){return n({queryKey:[`plugins`,e,`contract`],queryFn:({signal:t})=>b({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginContractQuery`&&e.enabled)})}getPluginReadmeQuery(e){return n({queryKey:[`plugins`,e,`readme`],queryFn:({signal:t})=>x({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginReadmeQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginInterfaceQuery(e){return n({queryKey:[`plugins`,e,`interface`],queryFn:({signal:t})=>w({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginInterfaceQuery`&&e.enabled)})}getPluginChangelogQuery(e,t){return n({queryKey:[`plugins`,e,`changelog`],queryFn:({signal:n})=>S({pluginName:o(e),query:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginCompatQuery(e,t){return n({queryKey:[`plugins`,e,`compat`],queryFn:({signal:n})=>C({pluginName:o(e),query:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginCompatQuery`&&e.enabled)})}patchPluginConfigQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_config_updated`),life:3e3})}})}startPluginQuery(){return i({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_started`),life:3e3})}})}stopPluginQuery(){return i({mutationFn:L,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_stopped`),life:3e3})}})}restartPluginQuery(){return i({mutationFn:R,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_restarted`),life:3e3})}})}setPluginConfigQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}submitPluginConfigQuery(){return i({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}enablePluginQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_enabled`),life:3e3})}})}disablePluginQuery(){return i({mutationFn:F,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_disabled`),life:3e3})}})}uninstallPluginQuery(){return i({mutationFn:z,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_removed`),life:3e3})}})}uninstallPluginsQuery(){return i({mutationFn:B,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugins_removed`),life:3e3})}})}downloadLogQuery(e){return n({queryKey:[`logs`,e],queryFn:({signal:t})=>O({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.pluginName],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as a,_ as c,d as i,p as n,D as o,f as r,O as s,V as t};
1
+ import{cr as e,dr as t,ur as n,yr as r}from"./api-C_bOaXk2.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";var c=18e5,l=6e5;async function u({pluginData:e}){return(await r.post(`/plugins`,e,{timeout:c})).data}async function d({plugins:e}){return(await r.post(`/plugins/install`,{plugins:e},{timeout:c})).data}async function f({pluginNames:e}){return(await r.put(`/plugins/enable`,{pluginNames:e})).data}async function p({pluginNames:e}){return(await r.put(`/plugins/disable`,{pluginNames:e})).data}async function m({pluginNames:e,removeStorage:t}){return(await r.delete(`/plugins`,{data:{pluginNames:e},params:t?{removeStorage:!0}:void 0,timeout:l})).data}async function h({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}`,{signal:t})).data}async function g({pluginname:e,signal:t}){return(await r.get(`/plugins/${e}/versions`,{signal:t})).data}async function _({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/update`,{signal:t})).data}async function v({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/logo`,{signal:t})).data}async function y({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/config`,{signal:t})).data}async function b({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/contract`,{signal:t})).data}async function x({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/readme`,{signal:t})).data}async function S({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/changelog`,{params:t,signal:n})).data}async function C({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/compat`,{params:t,signal:n})).data}async function w({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/interface`,{signal:t})).data}async function T({parameter:e,signal:t}){return(await r.get(`/plugins`,{params:e,signal:t})).data}async function E({parameter:e,signal:t}){return(await r.get(`/plugins/extensions`,{params:e,signal:t})).data}async function D({pluginName:e}){return(await r.delete(`/plugins/${e}/log`)).data}async function O({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/log/download`,{signal:t})).data}async function k({parameter:e,signal:t}){return(await r.get(`/plugins/progress`,{params:e,signal:t})).data}async function A({query:e,parameter:t,refresh:n,signal:i}){return(await r.get(`/plugins/search`,{params:{...e,...t,...n?{refresh:!0}:{}},signal:i})).data}async function j({pluginName:e}){return(await r.put(`/plugins/${e}/enable`)).data}async function M({pluginName:e,configData:t}){return(await r.patch(`/plugins/${e}/config`,t)).data}async function N({pluginname:e,configData:t}){return(await r.put(`/plugins/${e}/config`,t)).data}async function P({pluginname:e,configData:t}){return(await r.post(`/plugins/${e}/config`,t)).data}async function F({pluginName:e}){return(await r.put(`/plugins/${e}/disable`)).data}async function I({pluginName:e}){return(await r.put(`/plugins/${e}/start`)).data}async function L({pluginName:e}){return(await r.put(`/plugins/${e}/stop`)).data}async function R({pluginName:e}){return(await r.put(`/plugins/${e}/restart`)).data}async function z({pluginName:e,removeStorage:t}){return(await r.delete(`/plugins/${e}`,{params:{removeStorage:t},timeout:l})).data}async function B(){return(await r.delete(`/plugins`,{timeout:l})).data}var V=class{_queryClient=s();t=t.global.t;toast=n();queryActivator=a([{name:`getPluginQuery`,enabled:!0},{name:`getPluginsQuery`,enabled:!0},{name:`getPluginsExtensionsQuery`,enabled:!0},{name:`searchPluginsQuery`,enabled:!0},{name:`getPluginVersionsQuery`,enabled:!0},{name:`getPluginUpdateQuery`,enabled:!0},{name:`getPluginLogoQuery`,enabled:!0},{name:`getPluginConfigQuery`,enabled:!0},{name:`getPluginContractQuery`,enabled:!0},{name:`getPluginReadmeQuery`,enabled:!0},{name:`getPluginInterfaceQuery`,enabled:!0},{name:`getPluginChangelogQuery`,enabled:!0},{name:`getPluginCompatQuery`,enabled:!0},{name:`getPluginsProgressQuery`,enabled:!0},{name:`installPluginQuery`,enabled:!0},{name:`enablePluginQuery`,enabled:!0},{name:`disablePluginQuery`,enabled:!0},{name:`patchPluginConfigQuery`,enabled:!0},{name:`setPluginConfigQuery`,enabled:!0},{name:`submitPluginConfigQuery`,enabled:!0},{name:`startPluginQuery`,enabled:!0},{name:`stopPluginQuery`,enabled:!0},{name:`restartPluginQuery`,enabled:!0},{name:`uninstallPluginQuery`,enabled:!0},{name:`uninstallPluginsQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0}]);get queryClient(){return this._queryClient}installPluginQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_installed`),life:3e3})}})}getPluginQuery(t){return e({queryKey:[`plugins`,t],queryFn:({signal:e})=>h({pluginName:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginQuery`&&e.enabled)})}getPluginsQuery(t){return e({queryKey:[`pluginsList`,t],queryFn:({signal:e})=>T({parameter:o(t),signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsQuery`&&e.enabled)})}getPluginsExtensionsQuery(t){return e({queryKey:[`extensionsList`,t],queryFn:({signal:e})=>E({parameter:o(t),signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsExtensionsQuery`&&e.enabled)})}getPluginsProgressQuery(t){return e({queryKey:[`pluginsProgress`,t],queryFn:({signal:e})=>k({parameter:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsProgressQuery`&&e.enabled)})}searchPluginsQuery(t,n,r){return e({queryKey:[`pluginsSearch`,t,n],queryFn:({signal:e})=>A({query:o(t),parameter:o(n),refresh:o(r),signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`searchPluginsQuery`&&e.enabled)})}getPluginVersionsQuery(t){return e({queryKey:[`plugins`,t,`versions`],queryFn:({signal:e})=>g({pluginname:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginVersionsQuery`&&e.enabled)})}getPluginUpdateQuery(t){return e({queryKey:[`plugins`,t,`update`],queryFn:({signal:e})=>_({pluginName:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginUpdateQuery`&&e.enabled)})}getPluginLogoQuery(t){return e({queryKey:[`plugins`,t,`logo`],queryFn:({signal:e})=>v({pluginName:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginLogoQuery`&&e.enabled)})}getPluginConfigQuery(t){return e({queryKey:[`plugins`,t,`config`],queryFn:({signal:e})=>y({pluginName:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginConfigQuery`&&e.enabled)})}getPluginContractQuery(t){return e({queryKey:[`plugins`,t,`contract`],queryFn:({signal:e})=>b({pluginName:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginContractQuery`&&e.enabled)})}getPluginReadmeQuery(t){return e({queryKey:[`plugins`,t,`readme`],queryFn:({signal:e})=>x({pluginName:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginReadmeQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginInterfaceQuery(t){return e({queryKey:[`plugins`,t,`interface`],queryFn:({signal:e})=>w({pluginName:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginInterfaceQuery`&&e.enabled)})}getPluginChangelogQuery(t,n){return e({queryKey:[`plugins`,t,`changelog`],queryFn:({signal:e})=>S({pluginName:o(t),query:o(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginCompatQuery(t,n){return e({queryKey:[`plugins`,t,`compat`],queryFn:({signal:e})=>C({pluginName:o(t),query:o(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginCompatQuery`&&e.enabled)})}patchPluginConfigQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_config_updated`),life:3e3})}})}startPluginQuery(){return i({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_started`),life:3e3})}})}stopPluginQuery(){return i({mutationFn:L,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_stopped`),life:3e3})}})}restartPluginQuery(){return i({mutationFn:R,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_restarted`),life:3e3})}})}setPluginConfigQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}submitPluginConfigQuery(){return i({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}enablePluginQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_enabled`),life:3e3})}})}disablePluginQuery(){return i({mutationFn:F,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_disabled`),life:3e3})}})}uninstallPluginQuery(){return i({mutationFn:z,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_removed`),life:3e3})}})}uninstallPluginsQuery(){return i({mutationFn:B,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugins_removed`),life:3e3})}})}downloadLogQuery(t){return e({queryKey:[`logs`,t],queryFn:({signal:e})=>O({pluginName:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.pluginName],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as a,S as c,d as i,_ as l,p as n,D as o,f as r,O as s,V as t,u};
@@ -0,0 +1 @@
1
+ import{Nn as e,an as t,cn as n,ir as r}from"./vendor-BaiDFVEr.js";var i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(r,a){return e(),n(`svg`,i,[...a[0]||=[t(`path`,{fill:`currentColor`,d:`M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 0 0-8 8a8 8 0 0 0 8 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z`},null,-1)]])}var o=r({name:`mdi-refresh`,render:a});export{o as t};
@@ -0,0 +1 @@
1
+ import{Fr as e}from"./vendor-cameraui-4iwjOYwz.js";import{$ as t,Gt as n,J as r,K as i,Ln as a,Q as o,X as s,Y as c,Z as l,et as u,jt as d,q as f,zt as p}from"./api-C_bOaXk2.js";import{Nn as m,an as h,cn as g,ir as _}from"./vendor-BaiDFVEr.js";import{t as v}from"./lightbulb-outline-ClK17CO6.js";import{n as y,t as b}from"./cube-scan-DOe6W9mW.js";var x={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function S(e,t){return m(),g(`svg`,x,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`m22 12l-2 1l-1 1l-1-1l-1 3l-1-3l-1 8l-1-8l-1 2l-1-2l-1 4l-1-4l-1 9l-1-9l-1 6l-1-6l-1 1l-1-1l-2-1l2-1l1-1l1 1l1-6l1 6l1-9l1 9l1-4l1 4l1-2l1 2l1-8l1 8l1-3l1 3l1-1l1 1z`},null,-1)]])}var C=_({name:`mdi-waveform`,render:S}),w={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function T(e,t){return m(),g(`svg`,w,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M16 10H8V6h8m.67-2H15V2H9v2H7.33A1.33 1.33 0 0 0 6 5.33v15.34C6 21.4 6.6 22 7.33 22h9.34A1.33 1.33 0 0 0 18 20.67V5.33C18 4.6 17.4 4 16.67 4`},null,-1)]])}var E=_({name:`mdi-battery-70`,render:T}),D={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function O(e,t){return m(),g(`svg`,D,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6a6 6 0 0 1 6 6a6 6 0 0 1-6 6m8-2.69L23.31 12L20 8.69V4h-4.69L12 .69L8.69 4H4v4.69L.69 12L4 15.31V20h4.69L12 23.31L15.31 20H20z`},null,-1)]])}var k=_({name:`mdi-brightness-5`,render:O}),A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return m(),g(`svg`,A,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M5 7a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h3v-2H5V9h3V7zm6 0a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zm0 2h2v6h-2zm5 1.5V12h3v1.5h-1.5A1.5 1.5 0 0 0 16 15v3h4.5v-1.5h-3V15H19a1.5 1.5 0 0 0 1.5-1.5V12a1.5 1.5 0 0 0-1.5-1.5z`},null,-1)]])}var M=_({name:`mdi-molecule-co2`,render:j}),N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(e,t){return m(),g(`svg`,N,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M4 18h9l-2 2H4c-.5 0-1.03-.21-1.41-.59S2 18.5 2 18V8h2zM17.63 4.84C17.27 4.33 16.67 4 16 4H8c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h8c.67 0 1.27-.34 1.63-.85L22 10zM16 14H8V6h8l3.55 4Z`},null,-1)]])}var F=_({name:`mdi-label-multiple-outline`,render:P}),I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return m(),g(`svg`,I,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M15.5 9c.7 0 1.29-.24 1.77-.73c.49-.48.73-1.07.73-1.77c0-.67-.24-1.27-.73-1.77c-.48-.5-1.07-.73-1.77-.73c-.67 0-1.27.23-1.77.73S13 5.83 13 6.5c0 .7.23 1.29.73 1.77c.5.49 1.1.73 1.77.73m3.81-.09l3.1 3.09L21 13.41l-3.14-3.1c-.78.47-1.58.69-2.39.69c-1.25 0-2.31-.42-3.17-1.3c-.85-.87-1.3-1.93-1.3-3.2c0-1.23.45-2.3 1.33-3.17C13.2 2.45 14.27 2 15.5 2c1.27 0 2.33.45 3.2 1.33c.88.87 1.3 1.94 1.3 3.17c0 .83-.22 1.63-.69 2.41M16.5 18h-11l2.75-3.5l1.97 2.33l2.72-3.52zm1.5-5l2 2v5c0 .55-.19 1-.59 1.4c-.41.39-.88.6-1.41.6H4c-.55 0-1-.21-1.4-.6c-.39-.4-.6-.85-.6-1.4V6c0-.53.21-1 .6-1.41C3 4.19 3.45 4 4 4h5.5c-.3.64-.47 1.31-.5 2H4v14h14z`},null,-1)]])}var R=_({name:`mdi-image-search-outline`,render:L}),z={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return m(),g(`svg`,z,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M8 3c-1.11 0-2 .89-2 2v16h12V5c0-1.11-.89-2-2-2zm0 2h8v14H8zm5 6v2h2v-2z`},null,-1)]])}var V=_({name:`mdi-door`,render:B}),H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(e,t){return m(),g(`svg`,H,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M12 3.25S6 10 6 14c0 3.32 2.69 6 6 6a6 6 0 0 0 6-6c0-4-6-10.75-6-10.75m2.47 6.72l1.06 1.06l-6 6l-1.06-1.06M9.75 10A1.25 1.25 0 0 1 11 11.25a1.25 1.25 0 0 1-1.25 1.25a1.25 1.25 0 0 1-1.25-1.25A1.25 1.25 0 0 1 9.75 10m4.5 4.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 14.25 17A1.25 1.25 0 0 1 13 15.75a1.25 1.25 0 0 1 1.25-1.25`},null,-1)]])}var W=_({name:`mdi-water-percent`,render:U}),ee={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function G(e,t){return m(),g(`svg`,ee,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M9.61 16.11c0-2.08.98-3.92 2.49-5.11H5l1.5-4.5h11l1.22 3.66c.84.37 1.58.91 2.19 1.58L18.92 6c-.2-.58-.76-1-1.42-1h-11c-.66 0-1.22.42-1.42 1L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h4.29c-.43-.87-.68-1.85-.68-2.89M6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16m14.21 4.7l-.01.01zm-4.6-9.09c2.5 0 4.5 2 4.5 4.5c0 .89-.25 1.71-.69 2.39L23 21.61L21.61 23l-3.11-3.07c-.7.43-1.5.68-2.39.68c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5m0 2a2.5 2.5 0 1 0 2.5 2.5c0-1.39-1.11-2.5-2.5-2.5`},null,-1)]])}var K=_({name:`mdi-car-search`,render:G}),q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,t){return m(),g(`svg`,q,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M12 17a2 2 0 0 1-2-2c0-1.11.89-2 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2m6 3V10H6v10zm0-12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10c0-1.11.89-2 2-2h1V6a5 5 0 0 1 5-5a5 5 0 0 1 5 5v2zm-6-5a3 3 0 0 0-3 3v2h6V6a3 3 0 0 0-3-3`},null,-1)]])}var Y=_({name:`mdi-lock-outline`,render:J}),X={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Z(e,t){return m(),g(`svg`,X,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M21 16.5c0 .38-.21.71-.53.88l-7.9 4.44c-.16.12-.36.18-.57.18s-.41-.06-.57-.18l-7.9-4.44A.99.99 0 0 1 3 16.5v-9c0-.38.21-.71.53-.88l7.9-4.44c.16-.12.36-.18.57-.18s.41.06.57.18l7.9 4.44c.32.17.53.5.53.88zM12 4.15L6.04 7.5L12 10.85l5.96-3.35zM5 15.91l6 3.38v-6.71L5 9.21zm14 0v-6.7l-6 3.37v6.71z`},null,-1)]])}var Q=_({name:`mdi-cube-outline`,render:Z}),$={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function te(e,t){return m(),g(`svg`,$,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M12 3L2 12h3v8h14v-8h3zm0 5.75A2.25 2.25 0 0 1 14.25 11A2.25 2.25 0 0 1 12 13.25A2.25 2.25 0 0 1 9.75 11A2.25 2.25 0 0 1 12 8.75M12 15c1.5 0 4.5.75 4.5 2.25V18h-9v-.75c0-1.5 3-2.25 4.5-2.25`},null,-1)]])}var ne=_({name:`mdi-home-account`,render:te}),re={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ie(e,t){return m(),g(`svg`,re,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M16 7V3h-2v4h-4V3H8v4C7 7 6 8 6 9v5.5L9.5 18v3h5v-3l3.5-3.5V9c0-1-1-2-2-2m0 6.67l-2.91 2.92l-.42.41h-1.34l-.41-.41L8 13.67V9.09c0-.03.06-.09.09-.09h7.83c.03 0 .08.06.08.09z`},null,-1)]])}var ae=_({name:`mdi-power-plug-outline`,render:ie}),oe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function se(e,t){return m(),g(`svg`,oe,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M8 14.25L4.75 11H7c.25-5.61 2.39-10 5-10c2 0 3.77 2.64 4.55 6.45C20.36 8.23 23 10 23 12c0 1.83-2.17 3.43-5.4 4.3l.29-2.03C19.8 13.72 21 12.91 21 12c0-1.06-1.65-2-4.13-2.5c.08.79.13 1.63.13 2.5c0 6.08-2.24 11-5 11c-1.83 0-3.43-2.17-4.3-5.4l2.03.29C10.28 19.8 11.09 21 12 21c1.66 0 3-4.03 3-9q0-1.5-.15-2.85Q13.5 9 12 9l-1.86.06l.29-2.01L12 7c.87 0 1.71.05 2.5.13C14 4.65 13.06 3 12 3c-1.54 0-2.82 3.5-3 8h2.25zM14.25 16L11 19.25V17c-5.61-.25-10-2.39-10-5c0-1.83 2.17-3.43 5.4-4.3l-.29 2.03C4.2 10.28 3 11.09 3 12c0 1.54 3.5 2.82 8 3v-2.25z`},null,-1)]])}var ce=_({name:`mdi-rotate-orbit`,render:se}),le={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ue(e,t){return m(),g(`svg`,le,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M21 11c0 5.55-3.84 10.74-9 12c-5.16-1.26-9-6.45-9-12V5l9-4l9 4zm-9 10c3.75-1 7-5.46 7-9.78V6.3l-7-3.12L5 6.3v4.92C5 15.54 8.25 20 12 21m-1-7h2v3h3v-5h2l-6-5l-6 5h2v5h3z`},null,-1)]])}var de=_({name:`mdi-shield-home-outline`,render:ue}),fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function pe(e,t){return m(),g(`svg`,fe,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6m0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4m0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3s3-1.34 3-3s-1.34-3-3-3`},null,-1)]])}var me=_({name:`mdi-toggle-switch-outline`,render:pe}),he={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ge(e,t){return m(),g(`svg`,he,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M15 13V5a3 3 0 0 0-6 0v8a5 5 0 1 0 6 0m-3-9a1 1 0 0 1 1 1v3h-2V5a1 1 0 0 1 1-1`},null,-1)]])}var _e=_({name:`mdi-thermometer`,render:ge}),ve={[e.Motion]:d,[e.Object]:b,[e.Audio]:C,[e.Face]:a,[e.LicensePlate]:K,[e.Classifier]:F,[e.Clip]:R,[e.ObjectAssist]:Q,[e.Contact]:V,[e.Temperature]:_e,[e.Humidity]:W,[e.Occupancy]:ne,[e.Smoke]:c,[e.Leak]:i,[e.Gas]:t,[e.CarbonMonoxide]:o,[e.CarbonDioxide]:M,[e.Heat]:u,[e.Cold]:r,[e.Vibration]:f,[e.Tamper]:s,[e.Problem]:n,[e.Power]:ae,[e.Illuminance]:k,[e.Light]:v,[e.Siren]:y,[e.Switch]:me,[e.Lock]:Y,[e.PTZ]:ce,[e.SecuritySystem]:de,[e.Garage]:l,[e.Doorbell]:p,[e.Battery]:E};function ye(e){return ve[e]??d}export{Y as n,ye as t};
@@ -1 +1 @@
1
- import{gr as e,hr as t,pr as n,wr as r}from"./api-py5HP4SF.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";async function c({signal:e,cameraId:t}){return(await r.get(`/sensors`,{signal:e,params:t?{camera:t}:void 0})).data.sensors}async function l({data:e}){return(await r.post(`/sensors`,e)).data}async function u({id:e,data:t}){return(await r.patch(`/sensors/${e}`,t)).data}async function d({id:e}){await r.delete(`/sensors/${e}`)}async function f({ids:e}){return(await r.delete(`/sensors`,{data:{ids:e}})).data}async function p({ids:e,data:t}){return(await r.patch(`/sensors`,{ids:e,data:t})).data}async function m({id:e,signal:t}){return(await r.get(`/sensors/${e}/history`,{signal:t})).data.history}var h=class{_queryClient=s();t=e.global.t;toast=t();queryActivator=a([{name:`getSensorsQuery`,enabled:!0},{name:`getCameraSensorsQuery`,enabled:!0}]);getSensorsQuery(){return n({queryKey:[`sensorsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getSensorsQuery`&&e.enabled)})}getCameraSensorsQuery(e){return n({queryKey:[`sensorsList`,e],queryFn:({signal:t})=>c({signal:t,cameraId:o(e)}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSensorsQuery`&&e.enabled)})}createVirtualSensorQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.camera_options.virtual_sensor_created`),life:3e3})}})}patchSensorQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}deleteSensorQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}bulkDeleteSensorsQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}bulkPatchSensorsQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}};export{m as n,h as t};
1
+ import{cr as e,dr as t,ur as n,yr as r}from"./api-C_bOaXk2.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";async function c({signal:e,cameraId:t}){return(await r.get(`/sensors`,{signal:e,params:t?{camera:t}:void 0})).data.sensors}async function l({data:e}){return(await r.post(`/sensors`,e)).data}async function u({id:e,data:t}){return(await r.patch(`/sensors/${e}`,t)).data}async function d({id:e}){await r.delete(`/sensors/${e}`)}async function f({ids:e}){return(await r.delete(`/sensors`,{data:{ids:e}})).data}async function p({ids:e,data:t}){return(await r.patch(`/sensors`,{ids:e,data:t})).data}async function m({id:e,signal:t}){return(await r.get(`/sensors/${e}/history`,{signal:t})).data.history}var h=class{_queryClient=s();t=t.global.t;toast=n();queryActivator=a([{name:`getSensorsQuery`,enabled:!0},{name:`getCameraSensorsQuery`,enabled:!0}]);getSensorsQuery(){return e({queryKey:[`sensorsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getSensorsQuery`&&e.enabled)})}getCameraSensorsQuery(t){return e({queryKey:[`sensorsList`,t],queryFn:({signal:e})=>c({signal:e,cameraId:o(t)}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSensorsQuery`&&e.enabled)})}createVirtualSensorQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.camera_options.virtual_sensor_created`),life:3e3})}})}patchSensorQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}deleteSensorQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}bulkDeleteSensorsQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}bulkPatchSensorsQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}};export{m as n,h as t};
@@ -1 +1 @@
1
- import{gr as e,hr as t,pr as n,wr as r}from"./api-py5HP4SF.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";async function c(){return(await r.get(`/server`)).data}async function l(e){return(await r.patch(`/server`,e)).data}async function u({serverData:e}){return(await r.post(`/server/update`,e,{timeout:36e4})).data}async function d({signal:e}){return(await r.get(`/server/version`,{signal:e})).data}async function f({version:e,signal:t}){return(await r.get(`/server/changelog`,{params:{version:e},signal:t})).data}async function p(e){let t=e&&e!==`all`?{source:e}:void 0;return(await r.delete(`/server/log`,{params:t})).data}async function m({signal:e,source:t}){let n=t&&t!==`all`?{source:t}:void 0;return(await r.get(`/server/log/download`,{signal:e,params:n})).data}async function h(){return(await r.post(`/server/cert`,{responseType:`arraybuffer`})).data}async function g({signal:e}){return(await r.get(`/server/go2rtc`,{signal:e})).data}async function _(){return(await r.put(`/server/restart`)).data}async function v(){return(await r.put(`/server/restart/go2rtc`)).data}async function y(){return(await r.put(`/server/reset`)).data}var b=class{_queryClient=s();t=e.global.t;toast=t();queryActivator=a([{name:`downloadLogQuery`,enabled:!0},{name:`getGo2RtcInfoQuery`,enabled:!0},{name:`checkVersionQuery`,enabled:!0},{name:`getServerChangelogQuery`,enabled:!0},{name:`getServerInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getServerInfoQuery(){return n({queryKey:[`server`],queryFn:c})}patchSystemInfoQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`server`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}updateServerQuery(){return i({mutationFn:u,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}downloadLogQuery(e){return n({queryKey:[`logs`,`server`,e??`all`],queryFn:({signal:t})=>m({signal:t,source:o(e)}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}downloadCertQuery(){return i({mutationFn:h})}clearLogQuery(){return i({mutationFn:e=>p(e),onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`logs`,`server`],exact:!1}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}checkVersionQuery(){return n({queryKey:[`version`],queryFn:({signal:e})=>d({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkVersionQuery`&&e.enabled)})}getServerChangelogQuery(e){return n({queryKey:[`version`,`changelog`,e],queryFn:({signal:t})=>f({version:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getServerChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getGo2RtcInfoQuery(){return n({queryKey:[`go2rtc`],queryFn:({signal:e})=>g({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcInfoQuery`&&e.enabled)})}restartGo2RtcQuery(){return i({mutationFn:v,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.go2rtc_restarted`),life:3e3})}})}restartServerQuery(){return i({mutationFn:_,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3})},onError:e=>{let t=e?.response?.status;if(t===void 0||t>=500){this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3});return}this.toast.add({severity:`error`,detail:e,life:3e3})}})}resetServerQuery(){return i({mutationFn:y,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_resetted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{_ as a,m as i,p as n,h as r,b as t};
1
+ import{cr as e,dr as t,ur as n,yr as r}from"./api-C_bOaXk2.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";async function c(){return(await r.get(`/server`)).data}async function l(e){return(await r.patch(`/server`,e)).data}async function u({serverData:e}){return(await r.post(`/server/update`,e,{timeout:96e4})).data}async function d({signal:e}){return(await r.get(`/server/version`,{signal:e})).data}async function f({version:e,signal:t}){return(await r.get(`/server/changelog`,{params:{version:e},signal:t})).data}async function p(e){let t=e&&e!==`all`?{source:e}:void 0;return(await r.delete(`/server/log`,{params:t})).data}async function m({signal:e,source:t}){let n=t&&t!==`all`?{source:t}:void 0;return(await r.get(`/server/log/download`,{signal:e,params:n})).data}async function h(){return(await r.post(`/server/cert`,{responseType:`arraybuffer`})).data}async function g({signal:e}){return(await r.get(`/server/go2rtc`,{signal:e})).data}async function _(){return(await r.put(`/server/restart`)).data}async function v(){return(await r.put(`/server/restart/go2rtc`)).data}async function y(){return(await r.put(`/server/reset`)).data}var b=class{_queryClient=s();t=t.global.t;toast=n();queryActivator=a([{name:`downloadLogQuery`,enabled:!0},{name:`getGo2RtcInfoQuery`,enabled:!0},{name:`checkVersionQuery`,enabled:!0},{name:`getServerChangelogQuery`,enabled:!0},{name:`getServerInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getServerInfoQuery(){return e({queryKey:[`server`],queryFn:c})}patchSystemInfoQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`server`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}updateServerQuery(){return i({mutationFn:u,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}downloadLogQuery(t){return e({queryKey:[`logs`,`server`,t??`all`],queryFn:({signal:e})=>m({signal:e,source:o(t)}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}downloadCertQuery(){return i({mutationFn:h})}clearLogQuery(){return i({mutationFn:e=>p(e),onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`logs`,`server`],exact:!1}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}checkVersionQuery(){return e({queryKey:[`version`],queryFn:({signal:e})=>d({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkVersionQuery`&&e.enabled)})}getServerChangelogQuery(t){return e({queryKey:[`version`,`changelog`,t],queryFn:({signal:e})=>f({version:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getServerChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getGo2RtcInfoQuery(){return e({queryKey:[`go2rtc`],queryFn:({signal:e})=>g({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcInfoQuery`&&e.enabled)})}restartGo2RtcQuery(){return i({mutationFn:v,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.go2rtc_restarted`),life:3e3})}})}restartServerQuery(){return i({mutationFn:_,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3})},onError:e=>{let t=e?.response?.status;if(t===void 0||t>=500){this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3});return}this.toast.add({severity:`error`,detail:e,life:3e3})}})}resetServerQuery(){return i({mutationFn:y,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_resetted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{f as a,m as i,p as n,_ as o,h as r,u as s,b as t};
@@ -1 +1 @@
1
- import{Ci as e,ii as t}from"./vendor-cameraui-0EJfDg8o.js";import"./api-py5HP4SF.js";import{Tn as n,cr as r,or as i,qn as a}from"./vendor-BaiDFVEr.js";import{f as o}from"./vendor-core-RnPzfwaA.js";async function s(e){}function c(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search).get(`cui_theme`);return e===`dark`||e===`light`?e:null}var l=o(`theme`,()=>{let o=localStorage.getItem(`theme`),l=o?JSON.parse(o):{theme:`dark`,autoMode:!0},u=c();u&&(l.theme=u,l.autoMode=!1);let d=e(l.theme,{onBeforeChange(){if(!p.value)return!1},onChanged(e){l.theme=e,localStorage.setItem(`theme`,JSON.stringify(l))}}),f=e(l.autoMode,{onBeforeChange(e){if(e&&!p.value)return!1},onChanged(e){l.autoMode=e,localStorage.setItem(`theme`,JSON.stringify(l))}}),p=r(!0),m=i([`light`,`dark`]);function h(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function g(){return f.value?h():d.value}function _(e){switch(document.documentElement.setAttribute(`data-mode`,e),document.documentElement.style.background=e===`dark`?`#0d0d0d`:`#f8fafc`,e){case`light`:document.documentElement.classList.remove(`dark-mode`),document.documentElement.classList.add(`light-mode`);break;case`dark`:document.documentElement.classList.remove(`light-mode`),document.documentElement.classList.add(`dark-mode`)}s(e)}function v(e){f.value=!1,d.value=e}function y(){f.value?(f.value=!1,d.value=`light`):d.value===`light`?d.value=`dark`:f.value=!0}let b=t(`(prefers-color-scheme: dark)`);return a(f,e=>{e&&(d.value=h())},{immediate:!0,deep:!0}),a(d,e=>{n(()=>{_(e),p.value=!0}),p.value=!1}),a(b,e=>{f.value&&(d.value=e?`dark`:`light`)}),_(g()),{colors:m,theme:d,autoMode:f,setAppTheme:_,getSystemMode:h,toggleTheme:y,applyHostTheme:v}});export{l as t};
1
+ import{Ei as e,si as t}from"./vendor-cameraui-4iwjOYwz.js";import"./api-C_bOaXk2.js";import{Tn as n,cr as r,or as i,qn as a}from"./vendor-BaiDFVEr.js";import{f as o}from"./vendor-core-gJradu21.js";async function s(e){}function c(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search).get(`cui_theme`);return e===`dark`||e===`light`?e:null}var l=o(`theme`,()=>{let o=localStorage.getItem(`theme`),l=o?JSON.parse(o):{theme:`dark`,autoMode:!0},u=c();u&&(l.theme=u,l.autoMode=!1);let d=e(l.theme,{onBeforeChange(){if(!p.value)return!1},onChanged(e){l.theme=e,localStorage.setItem(`theme`,JSON.stringify(l))}}),f=e(l.autoMode,{onBeforeChange(e){if(e&&!p.value)return!1},onChanged(e){l.autoMode=e,localStorage.setItem(`theme`,JSON.stringify(l))}}),p=r(!0),m=i([`light`,`dark`]);function h(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function g(){return f.value?h():d.value}function _(e){switch(document.documentElement.setAttribute(`data-mode`,e),document.documentElement.style.background=e===`dark`?`#0d0d0d`:`#f8fafc`,e){case`light`:document.documentElement.classList.remove(`dark-mode`),document.documentElement.classList.add(`light-mode`);break;case`dark`:document.documentElement.classList.remove(`light-mode`),document.documentElement.classList.add(`dark-mode`)}s(e)}function v(e){f.value=!1,d.value=e}function y(){f.value?(f.value=!1,d.value=`light`):d.value===`light`?d.value=`dark`:f.value=!0}let b=t(`(prefers-color-scheme: dark)`);return a(f,e=>{e&&(d.value=h())},{immediate:!0,deep:!0}),a(d,e=>{n(()=>{_(e),p.value=!0}),p.value=!1}),a(b,e=>{f.value&&(d.value=e?`dark`:`light`)}),_(g()),{colors:m,theme:d,autoMode:f,setAppTheme:_,getSystemMode:h,toggleTheme:y,applyHostTheme:v}});export{l as t};
@@ -0,0 +1 @@
1
+ import{Br as e,Hr as t,Ur as n,Vr as r}from"./vendor-cameraui-4iwjOYwz.js";import{C as i,S as a,_ as o,a as s,b as c,c as l,d as u,f as ee,g as d,h as f,i as p,l as m,m as te,o as h,p as ne,s as g,u as _,v as re,w as v,x as y,y as b}from"./vendor-zod-Dbq0fBXY.js";o({tempToken:c().trim().min(1,`Temporary token is required`),code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().length(6,`Code must be 6 digits`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({grant_type:c().optional(),username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`),scope:c().optional(),client_id:c().optional(),client_secret:c().optional()}),o({refresh_token:c().min(1,`Refresh token is required`)}),o({id:c()}),o({name:c().trim().min(1,`Name is required`).max(64,`Name is too long`)}).strict(),o({id:c()});function ie(e){return{privacyFallback:e?.privacyFallback??`send`,motion:e?.motion??[],object:e?.object??[],privacy:e?.privacy??[],alert:e?.alert??[],lines:e?.lines??[]}}function ae(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var oe=o({enabled:_().default(!0),mode:g([`continuous`,`event`,`adhoc`]).default(`continuous`),preBuffer:d().min(0).max(60).default(10),sources:m(g([`high`,`mid`,`low`])).default([`high`,`mid`,`low`])}).strict(),se={enabled:!0,mode:`continuous`,preBuffer:10,sources:[`high`,`mid`,`low`]},ce=o({enabled:_().default(!0),video:_().default(!1),audio:c().trim().min(1).array().default([]),sensors:c().trim().min(1).array().default([]),cooldown:d().min(0).max(600).default(30),speed:g([`immediate`,`balanced`,`best`]).default(`balanced`)}).strict(),le={enabled:!0,video:!1,audio:[`glass_break`,`scream`,`gunshot`,`alarm`,`siren`,`smoke_alarm`],sensors:[`doorbell`,`contact`,`siren`,`security_system`,`smoke`,`gas`,`carbonMonoxide`,`heat`,`leak`,`cold`,`vibration`,`tamper`,`problem`],cooldown:30,speed:`balanced`},ue=c().trim().min(1,`Detection label is required`),de=c().trim().min(1,`Zone label is required`),x=y([d(),d()]),fe=c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`),pe=o({name:c().trim().min(1,`Zone Name is required`),points:x.array().min(3,`At least 3 points are required`),color:fe}).array(),me=o({name:c().trim().min(1,`Zone Name is required`),points:x.array().min(3,`At least 3 points are required`),type:a([f(`intersect`),f(`contain`)]).default(`intersect`),labels:de.array(),color:fe}).array(),he=o({name:c().trim().min(1,`Zone Name is required`),points:x.array().min(3,`At least 3 points are required`),dropDetections:_().default(!0)}).array(),ge=o({name:c().trim().min(1,`Zone Name is required`),points:x.array().min(3,`At least 3 points are required`),labels:ue.array(),faces:c().trim().min(1).array().optional(),plates:c().trim().min(1).array().optional(),match:a([f(`anchor`),f(`intersect`),f(`contain`)]).default(`contain`),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),_e=o({name:c().trim().min(1,`Line Name is required`),points:y([x,x]),direction:a([f(`both`),f(`a-to-b`),f(`b-to-a`)]),labels:ue.array(),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),S=o({privacyFallback:a([f(`send`),f(`drop`)]).default(`send`),motion:pe.default([]),object:me.default([]),privacy:he.default([]),alert:ge.default([]),lines:_e.default([])}).strict(),C=o({motion:o({resolution:a([f(`low`),f(`medium`),f(`high`)]),timeout:d().min(10,`Minimum 10 seconds`)}),object:o({confidences:o({person:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),vehicle:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),animal:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5)}).default({person:.5,vehicle:.5,animal:.5}),suppressStatic:_().default(!0),timeout:d().min(10,`Minimum 10 seconds`).default(15)}),audio:o({minDecibels:d().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:d().min(10,`Minimum 10 seconds`),confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.7)}),face:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.5),matchThreshold:d().min(.3,`Minimum 0.3`).max(.95,`Maximum 0.95`).default(.55)}).default({confidence:.5,matchThreshold:.55}),licensePlate:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.3),ocrConfidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.9),minLength:d().int().min(1,`Minimum 1`).max(10,`Maximum 10`).default(4)}).default({confidence:.3,ocrConfidence:.9,minLength:4}),sensor:o({timeout:d().min(10,`Minimum 10 seconds`),triggers:m(c().trim().min(1,`Sensor id is required`)).default([])}),cascadeDetection:_().default(!0),cascadeTimeout:d().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:_().default(!1)}),ve=o({from:c().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),to:c().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),timezone:c().trim().min(1,`Timezone is required`)}),ye={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,trackingSpeed:2,leadMs:1800,panRate:.85,returnToHome:!1,homeWaitMs:1e4,minTargetSize:0,maxTargetSize:0},w=o({enabled:_().default(!1),targetLabels:c().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:d().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),trackingSpeed:d().min(1,`Minimum 1`).max(5,`Maximum 5`).default(2),leadMs:d().min(0,`Minimum 0`).max(4e3,`Maximum 4000 ms`).default(1800),panRate:d().min(.1,`Minimum 0.1`).max(3,`Maximum 3`).default(.85),returnToHome:_().default(!1),homeWaitMs:d().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4),minTargetSize:d().min(0,`Minimum 0`).max(.5,`Maximum 0.5`).default(0),maxTargetSize:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(0),activeHours:ve.optional()}),T=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`),f(`snapshot`)]),be=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`)]),E=a([f(`bubble://`),f(`cui://`),f(`doorbird://`),f(`dvrip://`),f(`eseecloud://`),f(`ffmpeg:`),f(`flussonic://`),f(`gopro://`),f(`hass:`),f(`homekit://`),f(`http://`),f(`https://`),f(`httpx://`),f(`isapi://`),f(`ivideon:`),f(`kasa://`),f(`nest:`),f(`onvif://`),f(`ring:`),f(`roborock://`),f(`rtmp://`),f(`rtsp://`),f(`rtspx://`),f(`tapo://`),f(`tcp://`),f(`tuya://`),f(`xiaomi://`),f(`yandex:`),f(`webrtc:`),f(`webtorrent:`),f(`wyze://`)]).options.map(e=>e.value),xe=RegExp(`^(${E.join(`|`)})`),D=c().refine(e=>{if(!xe.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`}),Se=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:T,useForSnapshot:_().default(!1),hotMode:_().default(!0),preload:_().default(!0),muted:_().default(!1),urls:D.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).nullish().transform(e=>e??void 0).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),Ce=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:T,useForSnapshot:_().default(!1),hotMode:_().default(!0),preload:_().default(!0),muted:_().default(!1),urls:D.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).nullish().transform(e=>e??void 0).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),O=o({id:c(),name:c().trim()}),k=o({motion:O.optional(),object:O.optional(),objectAssist:O.optional(),audio:O.optional(),face:O.optional(),licensePlate:O.optional(),ptz:O.optional(),battery:O.optional(),cameraController:O.optional(),clip:O.optional(),classifier:O.array().optional(),light:O.array().optional(),siren:O.array().optional(),switch:O.array().optional(),securitySystem:O.array().optional(),contact:O.array().optional(),doorbell:O.array().optional(),lock:O.array().optional(),temperature:O.array().optional(),humidity:O.array().optional(),occupancy:O.array().optional(),smoke:O.array().optional(),leak:O.array().optional(),garage:O.array().optional(),gas:O.array().optional(),carbonMonoxide:O.array().optional(),carbonDioxide:O.array().optional(),heat:O.array().optional(),cold:O.array().optional(),vibration:O.array().optional(),tamper:O.array().optional(),problem:O.array().optional(),power:O.array().optional(),illuminance:O.array().optional(),hub:O.array().optional()}).strict(),we=a([f(`auto`),f(`mse`),f(`webrtc`),f(`webrtc/tcp`)]),Te=c().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/,`Use a width:height ratio, e.g. 16:9`).refine(e=>{let[t,n]=e.split(`:`).map(Number);return Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0},`Both sides must be greater than 0`).transform(e=>e),A=o({hardware:g([`auto`,`cpu`,`cuda`,`vaapi`,`qsv`,`videotoolbox`,`d3d11va`,`d3d12va`,`dxva2`,`vulkan`,`opencl`,`drm`,`rkmpp`]).default(`auto`),device:c().trim().max(128).optional()}).strict(),j=o({mainStreamAnalysis:_().default(!1),decoder:A.optional(),workerDecoder:A.nullable().transform(e=>e??void 0).optional()}),M=a([f(`camera`),f(`doorbell`)]),Ee=a([f(`auto`),f(`high`),f(`mid`),f(`low`)]),De=a([f(`always-on`),f(`activity`),f(`standby`)]),N=o({streamingMode:we,streamingSource:be,playbackSource:Ee.default(`auto`),activityMode:De.default(`always-on`),aspectRatio:Te}),P=o({model:c().trim().optional(),manufacturer:c().trim().optional(),hardware:c().trim().optional(),serialNumber:c().trim().optional(),firmwareVersion:c().trim().optional(),supportUrl:c().trim().optional()}),Oe=o({id:c(),name:c().trim()}).strict(),F=o({autoRefresh:_().default(!0),ttl:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),I=o({_id:c().default(r()).transform(()=>r()),nativeId:c().trim().optional(),pluginInfo:Oe.optional(),disabled:_().default(!1),name:c().trim().min(1,`Camera name is required`),room:c().trim().min(1,`Room is required`).default(`Default`),type:M.default(`camera`),isCloud:_().default(!1),snapshotSettings:F.default({autoRefresh:!0,ttl:50,interval:60}),info:P.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:Se.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}),plugins:O.array().default([]),assignments:k.default({}),interfaceSettings:N.default({streamingMode:`webrtc`,streamingSource:`high-resolution`,playbackSource:`auto`,activityMode:`always-on`,aspectRatio:`16:9`}),zones:S.default(ie()),detectionSettings:C.default({motion:{resolution:`low`,timeout:30},object:{confidences:{person:.5,vehicle:.5,animal:.5},suppressStatic:!0,timeout:15},audio:{minDecibels:-40,timeout:30,confidence:.7},face:{confidence:.5,matchThreshold:.55},licensePlate:{confidence:.3,ocrConfidence:.9,minLength:4},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:w.default(ye),recordingSettings:oe.default(se),notificationSettings:ce.default(le),frameWorkerSettings:j.default({mainStreamAnalysis:!1})}).strict();function ke(){let{_id:e,name:t,sources:n,nativeId:r,pluginInfo:i,...a}=I.parse({name:`default`,sources:[{name:`default`,role:`high-resolution`,urls:[`rtsp://localhost`]}]});return a}I.transform(e=>{let t=e.sources.flatMap(e=>e.urls);return e.isCloud||ae(t)?{...e,isCloud:!0}:{...e}});var Ae=o({disabled:_().optional(),type:M.optional(),name:c().trim().min(1,`Camera name is required`).optional(),room:c().trim().min(1,`Room is required`).optional(),isCloud:_().optional(),snapshotSettings:F.partial().optional(),info:P.partial().optional(),sources:Ce.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}).optional(),plugins:O.array().optional(),assignments:k.partial().optional(),interfaceSettings:N.partial().optional(),zones:S.optional(),detectionSettings:C.partial().optional(),ptzAutotrack:w.partial().optional(),recordingSettings:oe.partial().optional(),notificationSettings:ce.partial().optional(),frameWorkerSettings:j.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||ae(t))return{...e,isCloud:!0}}return e});o({url:c().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),o({cameraname:c()}),o({cameraname:c(),sourcename:c()}),o({cameraid:c(),sourcename:c()}),o({cameraname:c(),pluginname:c()}),o({cameraname:c(),scope:c(),pluginname:c()}),o({cameraname:c(),pluginname:c(),sensorId:c()}),o({cameraname:c(),scope:c(),pluginname:c(),sensorId:c()}),o({type:c().optional()}),o({video:p().optional(),audio:p().optional(),microphone:p().optional(),refresh:p().optional()}),o({forceNew:p().optional()}),o({cameranames:m(c().min(1)).min(1).max(1e3),cameraData:o({disabled:_().optional(),detectionSettings:o({snooze:_()}).optional(),recordingSettings:o({enabled:_()}).optional()}).refine(e=>e.disabled!==void 0||e.detectionSettings!==void 0||e.recordingSettings!==void 0,{message:`Nothing to update`})}),o({cameranames:m(c().min(1)).min(1).max(1e3)}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:v(`Must be a valid URL`).trim(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)})}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:v(`Must be a valid URL`).trim().optional(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)}).nullable().optional()}),o({id:c().min(1,`ID is required`)}),o({code:c().trim().min(1,`Code is required`).optional()}).optional(),o({ids:m(c().min(1)).min(1).max(1e3)});var L=/^[\w-]+(\/[\w-]+)*$/,je=o({enabled:_().optional(),mode:g([`external`,`embedded`]).optional(),broker:o({port:d().int().min(1).max(65535).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional()}).strict().optional(),host:c().trim().min(1,`Host is required`).max(253,`Host cannot be more than 253 characters`).nullable().optional(),port:d().int().min(1).max(65535).optional(),protocol:g([`mqtt`,`mqtts`]).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional(),clientId:c().trim().min(1,`Client ID is required`).max(128,`Client ID cannot be more than 128 characters`).optional(),topicPrefix:c().trim().min(1,`Topic prefix is required`).max(128,`Topic prefix cannot be more than 128 characters`).regex(L,`Topic prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional(),tls:o({rejectUnauthorized:_().optional(),ca:c().trim().nullable().optional(),cert:c().trim().nullable().optional(),key:c().trim().nullable().optional()}).strict().optional(),haDiscovery:o({enabled:_().optional(),prefix:c().trim().min(1,`Discovery prefix is required`).max(128,`Discovery prefix cannot be more than 128 characters`).regex(L,`Discovery prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional()}).strict().optional()}).strict(),Me=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,Ne=function(e){return e.READY=`ready`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPING=`stopping`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e.DISABLED=`disabled`,e.INCOMPATIBLE=`incompatible`,e.UPDATE_REQUIRED=`update_required`,e.SERVER_UPDATE_REQUIRED=`server_update_required`,e}({});function R(e){return e.mimetype!==void 0}function Pe(e){return R(e)?Buffer.byteLength(e._buf):e.size}function Fe(e){return R(e)?e.mimetype:e.type}function z(e,t,n,r){return u().refine(t=>Pe(t)<=e,n).refine(e=>t.includes(Fe(e)),r)}var Ie=o({start:s().optional(),page:s().optional(),pageSize:s().optional()}),Le=[`image/jpeg`,`image/png`],Re=2097152,ze=[`video/mp4`,`video/quicktime`],Be=10485760,Ve=[`audio/mpeg`,`audio/wav`,`audio/ogg`],He=2097152,B=()=>z(Re,Le,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),V=u().transform(e=>JSON.parse(e.value)),H=u().transform(e=>JSON.parse(e.value)),Ue=u().transform(e=>JSON.parse(e.value)),We=o({pluginname:c().trim().refine(e=>Me.test(e),`Not a valid plugin name`),pluginversion:c().trim().refine(e=>/^[a-z][\w-]*$/i.test(e)||/^v?\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/i.test(e),`Not a valid plugin version (expected a dist-tag or exact semver)`).optional().default(`latest`)}).strict();o({actionId:c(),payload:l()}).strict(),b(l(),l()),o({upload:B(),metadata:H,config:V}),o({upload:z(He,Ve,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Ue,config:V}),o({upload:z(Be,ze,`Max file size is 5 MB`,`.mp4 files are accepted`),config:V}),o({upload:B(),metadata:H,config:V}),o({upload:B(),metadata:H,config:V}),o({upload:B(),metadata:H,config:V}),o({pluginname:c()}),o({scope:c(),pluginname:c()}),Ie.extend({pluginname:c().trim().optional(),refresh:p().optional()}),o({removeStorage:p().optional()}),o({pluginversion:c().trim().optional()}),o({pluginNames:m(c().trim().min(1)).min(1).max(1e3)}),o({plugins:m(We).min(1).max(1e3)});var Ge=o({enabled:_().optional(),directEnabled:_().optional(),directMode:g([`cloudflare`,`customDomain`]).optional(),customDomain:o({url:v(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:o({mode:g([`quick`,`token`,`managed`]).optional(),hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:c().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});o({mode:g([`cloudflare`,`customDomain`])}).strict(),o({hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict();function Ke(){let e={};for(let n of t)e[n.type]={category:n.category,assignmentKey:n.assignmentKey,multiProvider:n.multiProvider,isDetectionType:n.isDetectionType,cameraBound:n.cameraBound??!1,...n.cascadeTrigger?{cascadeTrigger:n.cascadeTrigger}:{}};return e}var U=Ke();Object.fromEntries(t.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function qe(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Je(){return t.filter(e=>e.shortcutable).map(e=>e.type)}function Ye(){return Object.entries(U).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function Xe(e){return U[e].assignmentKey}function Ze(){return Object.entries(U).filter(([,e])=>e.category===n.Sensor&&!e.multiProvider).map(([e])=>e)}function Qe(){return Object.entries(U).filter(([,e])=>!e.multiProvider&&e.category!==n.Sensor).map(([e])=>e)}function $e(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function et(e){return!U[e].multiProvider}Object.fromEntries(t.map(e=>[e.type,Object.keys(e.properties)]));var W=Object.fromEntries(t.map(e=>[e.type,e.properties]));function tt(e,t){return W[e]?.[t]}function nt(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function rt(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}function it(e,t){let r=U[e];return r?r.category===n.Control||r.category===n.Trigger||t===`cameraui.virtual`&&!r.isDetectionType:!1}new Set(qe()),new Set(Ye());var at=`cameraui.virtual`,ot=t.filter(e=>e.virtual).map(e=>e.type);Object.fromEntries(t.filter(e=>e.virtual).map(e=>[e.type,e.virtual?.properties??{}])),Object.fromEntries(t.filter(e=>e.virtual?.capabilities).map(e=>[e.type,e.virtual?.capabilities])),o({id:c().min(1,`Sensor ID is required`)});var st=o({cameraId:c().min(1).optional(),type:g(ot),name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`)});o({displayName:c().trim().min(1,`Display name is required`).max(100,`Display name cannot be more than 100 characters`).optional(),assignedCameraIds:m(c().min(1)).optional(),exposed:_().optional(),hidden:_().optional()}).refine(e=>e.displayName!==void 0||e.assignedCameraIds!==void 0||e.exposed!==void 0||e.hidden!==void 0,{message:`Nothing to update`}),o({property:c().trim().min(1,`Property is required`),value:i()}),o({ids:m(c()).min(1).max(1e4)}),o({ids:m(c()).min(1).max(1e4),data:o({hidden:_()})}),o({version:c().trim().optional().default(`latest`)}).strict();var ct=o({serverAddresses:a([ne().trim(),te().trim()]).array().default([]),localUrl:a([f(``),v({protocol:/^https?$/})]).default(``).transform(e=>e.replace(/\/+$/,``))}).strict();o({version:c().trim()}).strict(),b(c(),l()),o({key:c()}).strict(),o({key:c(),payload:l()}).strict();var lt=[`de`,`en`],ut=[`image/jpeg`,`image/jpg`,`image/png`],dt=5242880,ft=o({index:d(),cameraId:c(),colSpan:d().optional(),rowSpan:d().optional(),x:d().optional(),y:d().optional()}),pt=a([f(1),f(4),f(6),f(7),f(9),f(10),f(12),f(13),f(15),f(16),f(20),f(26)]),mt=a([f(`dnd`),f(`view`)]),ht=g([`aspect`,`fill`,`cover`]),gt=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Layout name is required`),viewSize:pt,cameras:ft.array(),type:mt,cardFit:ht.optional()});o({name:c().trim().min(1,`Layout name is required`),viewSize:pt,cameras:ft.array(),cardFit:ht}).partial().optional();var _t=o({views:gt.array()}),vt=t.filter(e=>e.shortcutable).map(e=>String(e.type)),yt=g(vt),bt=o({_id:c().default(r()).transform(()=>r()),type:f(`camera`),cameraId:c(),points:x}),xt=o({_id:c().default(r()).transform(()=>r()),type:f(`sensor`),sensorId:c(),sensorType:yt,points:x}),St=ee(`type`,[bt,xt]),Ct=o({type:f(`camera`),cameraId:c(),points:x}).partial(),wt=o({type:f(`sensor`),sensorId:c(),sensorType:yt,points:x}).partial();a([Ct,wt]).optional();var Tt=o({shortcuts:St.array()}),Et=g([`auto`,...lt]),Dt=o({ungrouped:_()}),Ot=o({main:c().array(),manage:c().array(),system:c().array(),settings:c().array()}).partial(),kt=o({main:_(),manage:_(),system:_(),settings:_()}).partial(),At=o({order:Ot.optional(),collapsible:kt.optional(),settingsInNav:_().optional(),hidden:c().array().optional()}),jt=o({language:Et.optional(),camview:_t,cameras:b(c().trim(),Tt),recordings:Dt.optional(),navLayout:At.nullable().optional()}),G=c().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),Mt=o({_id:c().default(r()).transform(()=>r()),username:c().trim().min(1,`Username is required`),password:G,passwordConfirm:c().trim().min(1,`Please confirm your password`),role:a([f(`admin`),f(`user`)]),firstLogin:_().default(!0),preferences:jt.default({language:`auto`,camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c().trim().min(1,`Username is required`),password:c().trim().min(1,`Password is required`),kind:g([`native`,`web`,`tv`]),persistent:_().default(!1),device:o({id:c().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:c().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var Nt=o({username:c().trim().min(1,`Username is required`).optional(),password:G.optional(),passwordConfirm:c().trim().optional(),role:a([f(`admin`),f(`user`)]).optional(),upload:re(z(dt,ut,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:_().optional(),preferences:jt.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c()}),o({username:c(),cameraname:c()}),o({username:c(),cameraname:c(),shortcutid:c()}),o({username:c(),viewid:c()}),o({username:c()}),o({cameraId:c().min(1,`Camera ID is required`),agentId:c().min(1,`Agent ID is required`)}),o({cameraId:c().min(1,`Camera ID is required`)}),o({agentId:c().min(1,`Agent ID is required`)}),o({version:c().min(1).optional()}).optional(),o({code:c().min(1,`Pairing code is required`),agentId:c().min(1,`Agent ID is required`),name:c().min(1,`Worker name is required`)}),o({pluginName:c().min(1,`Plugin name is required`),agentId:c().min(1,`Agent ID is required`)}),o({pluginName:c().min(1,`Plugin name is required`)}),o({name:c().trim().min(1,`Name is required`).max(64,`Maximum 64 characters`)}),o({enabled:_().optional(),address:c().trim().optional(),port:d().min(1024,`Minimum 1024`).max(65535,`Maximum 65535`).optional()}).strict();function Pt(e){return e.type===`string`&&!(`enum`in e)}function Ft(e){return e.type===`number`}function It(e){return e.type===`boolean`}function K(e){return e.type===`string`&&`enum`in e}function Lt(e){return e.type===`array`}function Rt(e){return e.type===`object`}function q(e){return e.type===`button`}function J(e){return e.type===`submit`}function zt(e){return Pt(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var Bt=(e,t)=>{let n=Q(t,e.key),r=e.value;switch(e.operator??`eq`){case`eq`:return n===r;case`neq`:return n==null||n===``?!1:n!==r;case`gt`:return typeof n==`number`&&typeof r==`number`&&n>r;case`lt`:return typeof n==`number`&&typeof r==`number`&&n<r;case`in`:return(Array.isArray(r)?r:[r]).includes(n);case`nin`:return n==null||n===``?!1:!(Array.isArray(r)?r:[r]).includes(n);default:return!0}};function Y(e,t){return Array.isArray(e)?e.every(e=>Bt(e,t)):Bt(e,t)}function Vt(t,n){if(!t||Object.keys(t).length===0)return!0;let r=n.filter(e=>!q(e)&&!J(e));for(let n of r){let r=Q(t,n.key),i=X(n);if(r!==void 0&&!e(r,i,!0))return!1}return!0}function X(e){if(`defaultValue`in e&&e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`string`:return K(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];case`object`:{let t={};for(let n of e.properties??[])q(n)||J(n)||(t[n.key]=X(n));return t}default:return}}function Ht(e){let t={};for(let n of e)q(n)||J(n)||(t[n.key]=X(n));return t}function Z(e){return e.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[])}function Ut(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of Z(t)){if(n==null)return;n=n[e]}return n}function Wt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=Z(t),i=r.pop();if(!i)return;let a=e;for(let e=0;e<r.length;e++){let t=r[e];(typeof a[t]!=`object`||a[t]===null)&&(a[t]=Ut(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function Gt(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!q(r)&&!J(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function Kt(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function qt(e,t){let n=Kt(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function Jt(e,t){let n=Kt(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function Yt(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(q(e)||J(e))return l();switch(e.type){case`string`:if(K(e))if(e.multiple){let t=m(c().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.minItems===void 0?e.required&&(t=t.min(1,{error:`Required`})):t=t.min(e.minItems,{error:`Select at least ${e.minItems}`}),e.required?t:t.optional()}else{let t=g(e.enum);return e.required?t:a([f(``),t]).optional()}let t=c().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||Yt(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=d();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?_():_().optional();case`array`:{let t=e.items?$(e.items):l(),n=m(t);return e.minItems!==void 0&&(n=n.min(e.minItems,{error:`At least ${e.minItems} entries required`})),e.required?n:n.optional()}case`object`:{let t={};for(let n of e.properties??[])q(n)||J(n)||(t[n.key]=$(n));let n=o(t);return e.required?n:n.optional()}default:return e.required?l():l().optional()}}var Xt=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function Zt(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!q(e)&&!J(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=o(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!q(e)&&!J(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(Xt(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!Y(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:h.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&Y(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:h.custom,message:`Required`,path:[e.key]})}})),r}export{T as $,ot as A,it as B,G as C,st as D,ct as E,nt as F,He as G,Ve as H,tt as I,je as J,Be as K,Je as L,Xe as M,Qe as N,U as O,Ze as P,_e as Q,rt as R,Mt as S,gt as T,ze as U,Ge as V,Le as W,I as X,E as Y,ke as Z,qt as _,Zt as a,dt as b,It as c,K as d,me as et,Ft as f,zt as g,J as h,Gt as i,$e as j,at as k,q as l,Pt as m,Ht as n,Q as o,Rt as p,Ne as q,X as r,Lt as s,Y as t,Ae as tt,Vt as u,Jt as v,Nt as w,lt as x,Wt as y,et as z};
@@ -0,0 +1 @@
1
+ import{Cr as e}from"./vendor-cameraui-4iwjOYwz.js";import{i as t}from"./eventLabels-BsPoPWS9.js";var n={trigger:`#22c55e`,condition:`#f59e0b`,action:`#3b82f6`,utility:`#8b5cf6`},r={mode:`drag`},i=[{key:`detectionSettings.snooze`,labelKey:`components.automation_nodes.camera_prop_snooze`,inputType:`boolean`,defaultValue:`false`},{key:`disabled`,labelKey:`components.automation_nodes.camera_prop_disabled`,inputType:`boolean`,defaultValue:`false`},{key:`recordingSettings.enabled`,labelKey:`components.automation_nodes.camera_prop_recording`,inputType:`boolean`,defaultValue:`true`},{key:`recordingSettings.mode`,labelKey:`components.automation_nodes.camera_prop_recording_mode`,inputType:`select`,options:[{labelKey:`components.automation_nodes.option_continuous`,value:`continuous`},{labelKey:`components.automation_nodes.option_event`,value:`event`},{labelKey:`components.automation_nodes.option_adhoc`,value:`adhoc`}],defaultValue:`continuous`},{key:`recordingSettings.preBuffer`,labelKey:`components.automation_nodes.camera_prop_recording_prebuffer`,inputType:`number`,min:0,max:60,step:1,defaultValue:`10`},{key:`recordingSettings.sources`,labelKey:`components.automation_nodes.camera_prop_recording_sources`,inputType:`multiselect`,options:[{labelKey:`components.automation_nodes.option_high`,value:`high`},{labelKey:`components.automation_nodes.option_mid`,value:`mid`},{labelKey:`components.automation_nodes.option_low`,value:`low`}],defaultValue:`["high","mid","low"]`},{key:`ptzAutotrack.enabled`,labelKey:`components.automation_nodes.camera_prop_ptz_autotrack`,inputType:`boolean`,defaultValue:`false`},{key:`ptzAutotrack.returnToHome`,labelKey:`components.automation_nodes.camera_prop_ptz_return_home`,inputType:`boolean`,defaultValue:`false`},{key:`ptzAutotrack.targetLabels`,labelKey:`components.automation_nodes.camera_prop_ptz_target_labels`,inputType:`multiselect`,options:e.map(e=>({labelKey:t(e),value:e})),defaultValue:`["person"]`},{key:`ptzAutotrack.minConfidence`,labelKey:`components.automation_nodes.camera_prop_ptz_min_confidence`,inputType:`number`,min:.3,max:1,step:.05,defaultValue:`0.5`},...e.map(e=>({key:`detectionSettings.object.confidences.${e}`,labelKey:`components.automation_nodes.camera_prop_object_confidence_${e}`,inputType:`number`,min:.3,max:1,step:.05,defaultValue:`0.5`})),{key:`detectionSettings.motion.timeout`,labelKey:`components.automation_nodes.camera_prop_motion_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.motion.resolution`,labelKey:`components.automation_nodes.camera_prop_motion_resolution`,inputType:`select`,options:[{labelKey:`components.automation_nodes.option_low`,value:`low`},{labelKey:`components.automation_nodes.option_medium`,value:`medium`},{labelKey:`components.automation_nodes.option_high`,value:`high`}],defaultValue:`low`},{key:`detectionSettings.audio.timeout`,labelKey:`components.automation_nodes.camera_prop_audio_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.audio.minDecibels`,labelKey:`components.automation_nodes.camera_prop_audio_min_decibels`,inputType:`number`,min:-100,max:0,defaultValue:`-40`},{key:`detectionSettings.audio.confidence`,labelKey:`components.automation_nodes.camera_prop_audio_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.7`},{key:`detectionSettings.object.suppressStatic`,labelKey:`components.automation_nodes.camera_prop_suppress_static`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.object.timeout`,labelKey:`components.automation_nodes.camera_prop_object_timeout`,inputType:`number`,min:10,defaultValue:`15`},{key:`detectionSettings.face.confidence`,labelKey:`components.automation_nodes.camera_prop_face_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.5`},{key:`detectionSettings.face.matchThreshold`,labelKey:`components.automation_nodes.camera_prop_face_match_threshold`,inputType:`number`,min:.3,max:.95,step:.05,defaultValue:`0.55`},{key:`detectionSettings.licensePlate.confidence`,labelKey:`components.automation_nodes.camera_prop_plate_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.3`},{key:`detectionSettings.licensePlate.ocrConfidence`,labelKey:`components.automation_nodes.camera_prop_plate_ocr_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.9`},{key:`detectionSettings.licensePlate.minLength`,labelKey:`components.automation_nodes.camera_prop_plate_min_length`,inputType:`number`,min:1,max:10,step:1,defaultValue:`4`},{key:`detectionSettings.sensor.timeout`,labelKey:`components.automation_nodes.camera_prop_sensor_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.cascadeDetection`,labelKey:`components.automation_nodes.camera_prop_cascade_detection`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.cascadeTimeout`,labelKey:`components.automation_nodes.camera_prop_cascade_timeout`,inputType:`number`,min:1,max:300,defaultValue:`10`},{key:`frameWorkerSettings.mainStreamAnalysis`,labelKey:`components.automation_nodes.camera_prop_main_stream_analysis`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.autoRefresh`,labelKey:`components.automation_nodes.camera_prop_auto_refresh`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.interval`,labelKey:`components.automation_nodes.camera_prop_snapshot_interval`,inputType:`number`,min:10,max:60,defaultValue:`60`},{key:`snapshotSettings.ttl`,labelKey:`components.automation_nodes.camera_prop_snapshot_ttl`,inputType:`number`,min:10,max:60,defaultValue:`50`}];export{n,r,i as t};
@@ -1 +1 @@
1
- import{At as e,Cn as t}from"./api-py5HP4SF.js";import{Nn as n,an as r,br as i,cn as a,gr as o,hn as s,in as c,ir as l,on as u,sn as d,zn as f}from"./vendor-BaiDFVEr.js";import{n as p}from"./lightbulb-outline-ClK17CO6.js";import{t as m}from"./bell-ring-DSX81yd4.js";import{n as h,t as g}from"./webhook-DQiZUPv8.js";import{i as _,n as v,r as y}from"./CuiPluginTrustBadge-2wsPzYZA.js";var b={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function x(e,t){return n(),a(`svg`,b,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M15 13h1.5v2.82l2.44 1.41l-.75 1.3L15 16.69zm4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67zM5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2zm11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85`},null,-1)]])}var S=l({name:`mdi-calendar-clock`,render:x}),C={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function w(e,t){return n(),a(`svg`,C,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`m20.84 2.18l-3.93.78l2.74 3.54l1.97-.4zm-6.87 1.36L12 3.93l2.75 3.53l1.96-.39zm-4.9.96l-1.97.41l2.75 3.53l1.96-.39zm-4.91 1l-.98.19a2 2 0 0 0-1.57 2.35L2 10l4.9-.97zM2 10v10a2 2 0 0 0 2 2h16c1.11 0 2-.89 2-2V10z`},null,-1)]])}var T=l({name:`mdi-movie-open`,render:w}),E={notification:{icon:m,labelKey:`components.automation_store.category_notification`},recording:{icon:y,labelKey:`components.automation_store.category_recording`},presence:{icon:h,labelKey:`components.automation_store.category_presence`},detection:{icon:e,labelKey:`components.automation_store.category_detection`},schedule:{icon:S,labelKey:`components.automation_store.category_schedule`},webhook:{icon:g,labelKey:`components.automation_store.category_webhook`},mqtt:{icon:p,labelKey:`components.automation_store.category_mqtt`},scene:{icon:T,labelKey:`components.automation_store.category_scene`},utility:{icon:v,labelKey:`components.automation_store.category_utility`},other:{icon:_,labelKey:`components.automation_store.category_other`}},D=[`notification`,`recording`,`presence`,`detection`,`schedule`,`webhook`,`mqtt`,`scene`,`utility`,`other`];function O(e){return e&&e in E?E[e]:E.other}var k={key:0,class:`cui-category-chip`},A={class:`cui-category-chip-label`},j=t(s({__name:`CuiAutomationCategoryChip`,props:{category:{}},setup(e){let t=e,s=c(()=>O(t.category));return(t,c)=>e.category?(n(),a(`span`,k,[(n(),u(f(o(s).icon),{class:`cui-category-chip-icon`})),r(`span`,A,i(t.$t(o(s).labelKey)),1)])):d(``,!0)}}),[[`__scopeId`,`data-v-ea2e312f`]]),M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return n(),a(`svg`,M,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2L9.19 8.62L2 9.24l5.45 4.73L5.82 21z`},null,-1)]])}var P=l({name:`mdi-star`,render:N}),F={camera:`components.automation_store.input_camera`,plugin:`components.automation_store.input_plugin`,sensor:`components.automation_store.input_sensor`,"notification-targets":`components.automation_store.input_notification_targets`,"system-target":`components.automation_store.input_system_target`,text:`components.automation_store.input_text`};function I(e,t){return e?.length?e.map(e=>t(F[e.type],{count:e.count??1})):[]}export{D as a,E as i,P as n,j as r,I as t};
1
+ import{jt as e,vn as t}from"./api-C_bOaXk2.js";import{Nn as n,an as r,br as i,cn as a,gr as o,hn as s,in as c,ir as l,on as u,sn as d,zn as f}from"./vendor-BaiDFVEr.js";import{n as p}from"./lightbulb-outline-ClK17CO6.js";import{t as m}from"./bell-ring-DSX81yd4.js";import{n as h,t as g}from"./webhook-DQiZUPv8.js";import{i as _,n as v,r as y}from"./CuiPluginTrustBadge-Bc1dQgX8.js";var b={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function x(e,t){return n(),a(`svg`,b,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M15 13h1.5v2.82l2.44 1.41l-.75 1.3L15 16.69zm4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67zM5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2zm11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85`},null,-1)]])}var S=l({name:`mdi-calendar-clock`,render:x}),C={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function w(e,t){return n(),a(`svg`,C,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`m20.84 2.18l-3.93.78l2.74 3.54l1.97-.4zm-6.87 1.36L12 3.93l2.75 3.53l1.96-.39zm-4.9.96l-1.97.41l2.75 3.53l1.96-.39zm-4.91 1l-.98.19a2 2 0 0 0-1.57 2.35L2 10l4.9-.97zM2 10v10a2 2 0 0 0 2 2h16c1.11 0 2-.89 2-2V10z`},null,-1)]])}var T=l({name:`mdi-movie-open`,render:w}),E={notification:{icon:m,labelKey:`components.automation_store.category_notification`},recording:{icon:y,labelKey:`components.automation_store.category_recording`},presence:{icon:h,labelKey:`components.automation_store.category_presence`},detection:{icon:e,labelKey:`components.automation_store.category_detection`},schedule:{icon:S,labelKey:`components.automation_store.category_schedule`},webhook:{icon:g,labelKey:`components.automation_store.category_webhook`},mqtt:{icon:p,labelKey:`components.automation_store.category_mqtt`},scene:{icon:T,labelKey:`components.automation_store.category_scene`},utility:{icon:v,labelKey:`components.automation_store.category_utility`},other:{icon:_,labelKey:`components.automation_store.category_other`}},D=[`notification`,`recording`,`presence`,`detection`,`schedule`,`webhook`,`mqtt`,`scene`,`utility`,`other`];function O(e){return e&&e in E?E[e]:E.other}var k={key:0,class:`cui-category-chip`},A={class:`cui-category-chip-label`},j=t(s({__name:`CuiAutomationCategoryChip`,props:{category:{}},setup(e){let t=e,s=c(()=>O(t.category));return(t,c)=>e.category?(n(),a(`span`,k,[(n(),u(f(o(s).icon),{class:`cui-category-chip-icon`})),r(`span`,A,i(t.$t(o(s).labelKey)),1)])):d(``,!0)}}),[[`__scopeId`,`data-v-ea2e312f`]]),M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return n(),a(`svg`,M,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2L9.19 8.62L2 9.24l5.45 4.73L5.82 21z`},null,-1)]])}var P=l({name:`mdi-star`,render:N}),F={camera:`components.automation_store.input_camera`,plugin:`components.automation_store.input_plugin`,sensor:`components.automation_store.input_sensor`,"notification-targets":`components.automation_store.input_notification_targets`,"system-target":`components.automation_store.input_system_target`,text:`components.automation_store.input_text`};function I(e,t){return e?.length?e.map(e=>t(F[e.type],{count:e.count??1})):[]}export{D as a,E as i,P as n,j as r,I as t};
@@ -0,0 +1 @@
1
+ import{cr as e,ur as t,yr as n}from"./api-C_bOaXk2.js";import{U as r,ar as i,cr as a,dr as o,in as s,q as c}from"./vendor-BaiDFVEr.js";import{f as l}from"./vendor-core-gJradu21.js";import{o as u,s as d}from"./server-B_MuqJ5z.js";import{n as f}from"./useServerRestart-DoLrF47t.js";import{t as p}from"./useUpdatesSocket-CoxkS7Hr.js";import{u as m}from"./plugins-DBBFdZKH.js";async function h({signal:e}={}){return(await n.get(`/updates/status`,{signal:e})).data}async function g(){return(await n.post(`/updates/run`)).data}async function _(){await n.post(`/updates/cancel`)}async function v(){await n.post(`/updates/check`,void 0,{timeout:6e4})}async function y(){return(await n.get(`/workers/config`)).data}async function b(e){return(await n.patch(`/workers/config`,e)).data}async function x(){return(await n.post(`/workers/pairings`)).data}async function S(e){await n.delete(`/workers/${e}`)}async function C(e){await n.post(`/workers/${e}/restart`)}async function w({agentId:e,version:t}){await n.post(`/workers/${e}/update`,t?{version:t}:{})}async function T({agentId:e,name:t}){await n.patch(`/workers/${e}`,{name:t})}async function E({cameraId:e,agentId:t}){return(await n.post(`/workers/assign`,{cameraId:e,agentId:t})).data}async function D({cameraId:e}){return(await n.post(`/workers/unassign`,{cameraId:e})).data}async function O({pluginName:e,agentId:t}){return(await n.post(`/workers/assign-plugin`,{pluginName:e,agentId:t})).data}async function k({pluginName:e}){return(await n.post(`/workers/unassign-plugin`,{pluginName:e})).data}var A=class{_queryClient=c();toast=t();getConfigQuery(){return e({queryKey:[`workersConfig`],queryFn:()=>y(),retry:!1})}patchConfigQuery(){return r({mutationFn:b,onSuccess:()=>this._queryClient.invalidateQueries({queryKey:[`workersConfig`]}),onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}createPairingQuery(){return r({mutationFn:x})}removeWorkerQuery(){return r({mutationFn:S,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}assignCameraQuery(){return r({mutationFn:E,onMutate:({cameraId:e,agentId:t})=>this.patchCameraWorker(e,t),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}unassignCameraQuery(){return r({mutationFn:D,onMutate:({cameraId:e})=>this.patchCameraWorker(e,void 0),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}restartWorkerQuery(){return r({mutationFn:C})}updateWorkerQuery(){return r({mutationFn:w,onError:e=>{this.toast.add({severity:`error`,detail:e,life:5e3})}})}renameWorkerQuery(){return r({mutationFn:T,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}assignPluginQuery(){return r({mutationFn:O,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}unassignPluginQuery(){return r({mutationFn:k,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}patchCameraWorker(e,t){let n=[];for(let[r,i]of this._queryClient.getQueriesData({queryKey:[`camerasList`]}))i?.result&&(n.push([r,i]),this._queryClient.setQueryData(r,{...i,result:i.result.map(n=>n._id===e?{...n,workerAgentId:t}:n)}));return{rollback:()=>{for(let[e,t]of n)this._queryClient.setQueryData(e,t)}}}},j=3e4,M=l(`updates`,()=>{let e=t(),n=p(),{beginServerRestart:r}=f(),c=o(null),l=a(!1),y=a(Date.now()),b=a(!1),x,S=null,C=s(()=>{let e=new Map;for(let t of c.value?.run?.active?c.value.run.items:c.value?.lastRun?.items??[])e.set(t.id,t);for(let t of c.value?.manual??[])e.set(t.id,t);return e}),T=s(()=>{let e=c.value?.pending;if(!e)return[];let t=[];t.push(W({id:`server`,kind:`server`,name:`camera.ui`,installedVersion:e.server.installedVersion,latestVersion:e.server.latestVersion??e.server.installedVersion,status:e.server.updateAvailable?e.server.blockedReason?`blocked`:`pending`:`uptodate`,blockedReason:e.server.updateAvailable?e.server.blockedReason:void 0}));for(let n of e.plugins)t.push(W({id:`plugin:${n.pluginName}`,kind:`plugin`,name:n.displayName||n.pluginName,packageName:n.pluginName,installedVersion:n.installedVersion,latestVersion:n.latestVersion??n.installedVersion,status:n.updateAvailable?`pending`:`uptodate`}));for(let n of e.workers)t.push(W({id:`worker:${n.agentId}`,kind:`worker`,name:n.name,installedVersion:n.installedVersion,latestVersion:e.targetServerVersion,status:n.updateAvailable?n.updatable?`pending`:`blocked`:`uptodate`,blockedReason:n.updateAvailable&&!n.updatable?n.blockedReason:void 0}));return t}),E=s(()=>c.value?.run?.active===!0),D=s(()=>c.value?.run?.cancelRequested===!0),O=s(()=>c.value?.lastRun?.finishedAt??null),k=s(()=>c.value?.run?.active?c.value.run.items.length:0),A=s(()=>c.value?.run?.active?c.value.run.items.filter(e=>e.status===`success`||e.status===`error`).length:0),M=s(()=>T.value.filter(e=>e.status===`pending`||e.status===`error`)),N=s(()=>M.value.length),P=s(()=>T.value.filter(e=>e.status===`error`)),F=s(()=>T.value.filter(e=>e.status===`updating`)),I=s(()=>F.value[0]),L=s(()=>T.value.find(e=>e.status===`restarting`)),R=s(()=>T.value.some(e=>e.kind===`server`&&(e.status===`updating`||e.status===`restarting`))),z=s(()=>F.value.some(e=>e.kind!==`server`)),B=s(()=>E.value||R.value||z.value),V=s(()=>c.value!==null&&N.value===0&&!B.value),H=s(()=>T.value.some(e=>e.kind===`server`&&(e.status===`pending`||e.status===`error`))),U=s(()=>c.value?.pending.targetServerVersion);function W(e){let t=C.value.get(e.id);return!t||t.status===`success`&&e.status===`uptodate`?e:{...e,status:t.status,error:t.error,latestVersion:t.targetVersion??e.latestVersion}}async function G(){return S||(S=h().then(e=>{c.value=e,y.value=Date.now()}).catch(()=>{}).finally(()=>{S=null}),S)}function K(){b.value||(b.value=!0,n.connect(),n.onStatus(()=>{G()}),G(),x??=setInterval(()=>G(),j))}async function q(){if(!B.value){l.value=!0;try{await v().catch(()=>{}),await G()}finally{l.value=!1}}}async function J(t){let n=T.value.find(e=>e.id===t);if(!(!n||E.value)&&(n.status===`pending`||n.status===`error`))try{n.kind===`plugin`?await m({pluginData:{pluginname:n.packageName??n.name,pluginversion:n.latestVersion??`latest`}}):n.kind===`worker`?await w({agentId:t.slice(7),version:U.value}):(await d({serverData:{version:n.latestVersion??`latest`}}),r(),await u())}catch(t){e.add({severity:`error`,detail:t?.response?.data?.message??t?.message,life:5e3})}finally{G()}}async function Y(){if(!(B.value||N.value===0))try{await g()}catch(t){e.add({severity:`error`,detail:t?.response?.data?.message??t?.message,life:5e3})}finally{G()}}async function X(){if(E.value)try{await _()}catch{}finally{G()}}function Z(e){return T.value.filter(t=>t.kind===e)}return i(()=>{x&&clearInterval(x)}),{status:c,items:T,runActive:E,cancelRequested:D,runFinishedAt:O,isChecking:l,checkedAt:y,runTotal:k,runDone:A,pendingItems:M,pendingCount:N,failedItems:P,updatingItems:F,updatingItem:I,restartingItem:L,serverBusy:R,targetsBusy:z,busy:B,allUpToDate:V,serverPending:H,targetServerVersion:U,connect:K,refresh:q,updateItem:J,updateAll:Y,cancelRun:X,itemsOf:Z}});export{A as n,M as t};
@@ -1 +1 @@
1
- import"./api-py5HP4SF.js";import{cr as e}from"./vendor-BaiDFVEr.js";import{i as t}from"./intercomService-DJHBix4X.js";function n(){let{electron:n}=t(),r=e(null);return{uiVersion:`2.0.0`,appVersion:r,nativeVersion:e(null),refreshAppVersion:async()=>{if(n)try{let e=await n.invoke(`get-app-version`);r.value=typeof e==`string`?e:null}catch{r.value=null}}}}export{n as t};
1
+ import"./api-C_bOaXk2.js";import{cr as e}from"./vendor-BaiDFVEr.js";import{i as t}from"./intercomService-BpTOoSQi.js";function n(){let{electron:n}=t(),r=e(null);return{uiVersion:`2.0.0`,appVersion:r,nativeVersion:e(null),refreshAppVersion:async()=>{if(n)try{let e=await n.invoke(`get-app-version`);r.value=typeof e==`string`?e:null}catch{r.value=null}}}}export{n as t};
@@ -0,0 +1 @@
1
+ import{g as e,s as t,ur as n,yr as r}from"./api-C_bOaXk2.js";import{cr as i}from"./vendor-BaiDFVEr.js";import{o as a}from"./server-B_MuqJ5z.js";import{n as o}from"./useServerRestart-DoLrF47t.js";var s=3e5;async function c(e){return(await r.post(`/backup/download`,{localStorage:e},{responseType:`arraybuffer`,timeout:s})).data}async function l(e,t){return(await r.post(`/backup/restore`,e,{timeout:s,onUploadProgress:e=>{e.total&&t?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await r.get(`/backup/scheduler`)).data}async function d(e){return(await r.patch(`/backup/scheduler`,e)).data}async function f(){return(await r.post(`/backup/scheduler/run`)).data}async function p(e){return(await r.get(`/backup/scheduler/backups/${encodeURIComponent(e)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(e){await r.delete(`/backup/scheduler/backups/${encodeURIComponent(e)}`)}var h=i(!1),g=i(`idle`),_=i(0),v=i(``),y=h;function b(e){e.theme&&localStorage.setItem(`theme`,JSON.stringify(e.theme)),e.language&&localStorage.setItem(`language`,e.language),e.ui&&localStorage.setItem(`ui`,JSON.stringify(e.ui))}function x(){async function r(r){let i=n();h.value=!0,g.value=`uploading`,_.value=0,v.value=``;try{let e=new FormData;e.append(`upload`,r),b(await l(e,e=>{_.value=e,e>=100&&(g.value=`restoring`)}))}catch(e){return h.value=!1,g.value=`idle`,v.value=t(e),i.add({severity:`error`,detail:v.value,life:1e4}),!1}g.value=`restarting`;let{beginServerRestart:s}=o();return s(),await a().catch(()=>{}),await e().logout(),h.value=!1,g.value=`idle`,!0}return{active:h,phase:g,uploadPercent:_,lastError:v,restoreLocalStorage:b,run:r}}export{p as a,f as c,c as i,x as n,u as o,m as r,d as s,y as t};
@@ -1 +1 @@
1
- import{Ir as e,dt as t}from"./vendor-cameraui-0EJfDg8o.js";import{_t as n}from"./api-py5HP4SF.js";import{in as r}from"./vendor-BaiDFVEr.js";import{L as i,P as a}from"./types-D6IQ6ssc.js";function o(){let{data:e}=new n().getCamerasQuery({page:1,pageSize:-1});function t(t){return e.value?.result?.find(e=>e._id===t)?.name}return{cameraName:t}}function s(){let o=new n,{t:s}=e(),{data:c}=o.getCamerasQuery({page:1,pageSize:-1}),l=r(()=>c.value?.result??[]),u=r(()=>l.value.map(e=>({label:e.name,value:e._id})));function d(e){let{sensors:n,isLoading:i}=t(),a=r(()=>n.value.filter(t=>e?.(t)??!0).map(e=>{let t=s(`components.camera_options.sensor_type_${e.type}`),n=e.assignedCameraIds.value.map(e=>l.value.find(t=>t._id===e)?.name).filter(Boolean).join(`, `);return{label:`${e.displayName.value||e.name} (${t}${n?` · ${n}`:``})`,value:e.id,type:e.type}}));function o(e){return e?n.value.find(t=>t.id===e):void 0}return{sensorOptions:a,sensorById:o,isLoading:i}}function f(e,t=`observable`){return(t===`writable`?i(e):a(e)).map(e=>({label:s(`components.automation_nodes.sensor_property_${e}`),value:e}))}return{cameras:l,cameraOptions:u,useSensorOptions:d,getPropertiesForSensor:f}}export{s as n,o as t};
1
+ import{mt as e,zr as t}from"./vendor-cameraui-4iwjOYwz.js";import{vt as n}from"./api-C_bOaXk2.js";import{in as r}from"./vendor-BaiDFVEr.js";import{F as i,R as a}from"./types-BHAzjgi3.js";function o(){let{data:e}=new n().getCamerasQuery({page:1,pageSize:-1});function t(t){return e.value?.result?.find(e=>e._id===t)?.name}return{cameraName:t}}function s(){let o=new n,{t:s}=t(),{data:c}=o.getCamerasQuery({page:1,pageSize:-1}),l=r(()=>c.value?.result??[]),u=r(()=>l.value.map(e=>({label:e.name,value:e._id})));function d(t){let{sensors:n,isLoading:i}=e(),a=r(()=>n.value.filter(e=>t?.(e)??!0).map(e=>{let t=s(`components.camera_options.sensor_type_${e.type}`),n=e.assignedCameraIds.value.map(e=>l.value.find(t=>t._id===e)?.name).filter(Boolean).join(`, `);return{label:`${e.displayName.value||e.name} (${t}${n?` · ${n}`:``})`,value:e.id,type:e.type}}));function o(e){return e?n.value.find(t=>t.id===e):void 0}return{sensorOptions:a,sensorById:o,isLoading:i}}function f(e,t=`observable`){return(t===`writable`?a(e):i(e)).map(e=>({label:s(`components.automation_nodes.sensor_property_${e}`),value:e}))}return{cameras:l,cameraOptions:u,useSensorOptions:d,getPropertiesForSensor:f}}export{s as n,o as t};
@@ -1 +1 @@
1
- import{sr as e}from"./api-py5HP4SF.js";import{qn as t}from"./vendor-BaiDFVEr.js";function n(n={}){let{target:r,onStdout:i,onDisconnect:a,onClearLog:o,onReconnected:s}=n,c=e(`/logs`),l=null,u=null,d=r,f=!1,p=0;r&&c.on(`stdout/${r}`,e=>i?.(e)),c.on(`clear-log`,e=>o?.(e??`all`)),c.onReady(()=>{f&&s?.(),f=!0,l?.()}),t(c.connected,(e,t)=>{!e&&t&&a?.()});function m(){}function h(){}function g(e){e>0&&(p=e),d&&e>0&&c.emit(`term-size`,{target:d,cols:e})}function _(e){return e.kind===`all`?`stdout`:e.kind===`system`?`stdout/system/${e.id}`:`stdout/${e.id}`}function v(e,t){u?.(),u=c.on(_(e),e=>i?.(e)),d=e.kind===`all`?void 0:e.id,p>0&&g(p),l=()=>{switch(e.kind){case`all`:c.emit(`get-all-logs`);break;case`system`:c.emit(`get-system-log`,e.id,t);break;case`camera`:c.emit(`get-camera-log`,e.id,t);break;case`plugin`:c.emit(`get-plugin-log`,e.id,t)}},l()}function y(){l=()=>c.emit(`get-all-logs`),l()}function b(e,t){l=()=>c.emit(`get-camera-log`,e,t),l()}function x(e,t){l=()=>c.emit(`get-plugin-log`,e,t),l()}return{isConnected:c.connected,connect:m,disconnect:h,reportSize:g,switchSource:v,requestAllLogs:y,requestCameraLog:b,requestPluginLog:x}}export{n as t};
1
+ import{nr as e}from"./api-C_bOaXk2.js";import{qn as t}from"./vendor-BaiDFVEr.js";function n(n={}){let{target:r,onStdout:i,onDisconnect:a,onClearLog:o,onReconnected:s}=n,c=e(`/logs`),l=null,u=null,d=r,f=!1,p=0;r&&c.on(`stdout/${r}`,e=>i?.(e)),c.on(`clear-log`,e=>o?.(e??`all`)),c.onReady(()=>{f&&s?.(),f=!0,l?.()}),t(c.connected,(e,t)=>{!e&&t&&a?.()});function m(){}function h(){}function g(e){e>0&&(p=e),d&&e>0&&c.emit(`term-size`,{target:d,cols:e})}function _(e){return e.kind===`all`?`stdout`:e.kind===`system`?`stdout/system/${e.id}`:`stdout/${e.id}`}function v(e,t){u?.(),u=c.on(_(e),e=>i?.(e)),d=e.kind===`all`?void 0:e.id,p>0&&g(p),l=()=>{switch(e.kind){case`all`:c.emit(`get-all-logs`);break;case`system`:c.emit(`get-system-log`,e.id,t);break;case`camera`:c.emit(`get-camera-log`,e.id,t);break;case`plugin`:c.emit(`get-plugin-log`,e.id,t)}},l()}function y(){l=()=>c.emit(`get-all-logs`),l()}function b(e,t){l=()=>c.emit(`get-camera-log`,e,t),l()}function x(e,t){l=()=>c.emit(`get-plugin-log`,e,t),l()}return{isConnected:c.connected,connect:m,disconnect:h,reportSize:g,switchSource:v,requestAllLogs:y,requestCameraLog:b,requestPluginLog:x}}export{n as t};
@@ -1 +1 @@
1
- import{b as e,g as t,hn as n}from"./api-py5HP4SF.js";import{in as r}from"./vendor-BaiDFVEr.js";import{p as i}from"./vendor-core-RnPzfwaA.js";var a=[`main`,`manage`,`system`],o=[`main`,`manage`,`system`,`settings`],s={main:!1,manage:!1,system:!0,settings:!0};function c(e){return e.meta?.navbar?.position===`top`?`main`:e.meta?.navbar?.group??`main`}function l(){let a=t(),{user:l}=i(a),u=r(()=>l.value?.navLayout??{}),d=r(()=>{let t=[];for(let r of e)!r.meta?.navbar||r.meta.navbar.position!==`top`&&!r.meta.navbar.group||!n(r)||t.push({route:r,name:r.name,labelKey:r.name.toLowerCase(),to:r.path,icon:r.meta.navbar.icon.default,activeIcon:r.meta.navbar.icon.active,defaultGroup:c(r),kind:`page`});let r=e.find(e=>e.name===`Settings`);for(let e of r?.children??[])!e.meta?.settingsBar||!n(e)||t.push({route:e,name:e.name,labelKey:e.meta.name,to:`/settings/${e.path}`,icon:e.meta.settingsBar.icon.default,activeIcon:e.meta.settingsBar.icon.active,defaultGroup:`settings`,kind:`settings`});return t}),f=r(()=>{let e=new Map(d.value.map(e=>[e.name,e])),t={main:[],manage:[],system:[],settings:[]},n=new Set;for(let r of o)for(let i of u.value.order?.[r]??[]){let a=e.get(i);!a||n.has(i)||(t[r].push(a),n.add(i))}for(let e of d.value)n.has(e.name)||t[e.defaultGroup].push(e);return t}),p=r(()=>new Set(u.value.hidden??[])),m=r(()=>u.value.settingsInNav??!1);function h(e){if(!l.value)return;let t={...u.value,...e};for(let e of Object.keys(t))t[e]===void 0&&delete t[e];t.order&&Object.keys(t.order).length===0&&delete t.order,t.collapsible&&Object.keys(t.collapsible).length===0&&delete t.collapsible,t.hidden&&t.hidden.length===0&&delete t.hidden,t.settingsInNav||delete t.settingsInNav;let n=Object.keys(t).length?t:null;l.value={...l.value,navLayout:n},a.updateUser({preferences:{navLayout:n}})}function g(e){return u.value.collapsible?.[e]??s[e]}function _(e,t){let n={...u.value.collapsible};t===s[e]?delete n[e]:n[e]=t,h({collapsible:n})}function v(e){h({settingsInNav:e})}function y(e){return p.value.has(e)}function b(e){let t=new Set(p.value);t.has(e)?t.delete(e):t.add(e),h({hidden:[...t]})}function x(e){h({order:{main:[...e.main],manage:[...e.manage],system:[...e.system],settings:[...e.settings]}})}function S(){h({order:void 0,hidden:void 0})}return{entries:d,groups:f,settingsInNav:m,isCollapsible:g,isHidden:y,toggleHidden:b,setCollapsible:_,setSettingsInNav:v,persistOrder:x,resetOrder:S}}export{a as n,l as r,o as t};
1
+ import{b as e,g as t,un as n}from"./api-C_bOaXk2.js";import{in as r}from"./vendor-BaiDFVEr.js";import{p as i}from"./vendor-core-gJradu21.js";var a=[`main`,`manage`,`system`],o=[`main`,`manage`,`system`,`settings`],s={main:!1,manage:!1,system:!0,settings:!0};function c(e){return e.meta?.navbar?.position===`top`?`main`:e.meta?.navbar?.group??`main`}function l(){let a=t(),{user:l}=i(a),u=r(()=>l.value?.navLayout??{}),d=r(()=>{let t=[];for(let r of e)!r.meta?.navbar||r.meta.navbar.position!==`top`&&!r.meta.navbar.group||!n(r)||t.push({route:r,name:r.name,labelKey:r.name.toLowerCase(),to:r.path,icon:r.meta.navbar.icon.default,activeIcon:r.meta.navbar.icon.active,defaultGroup:c(r),kind:`page`});let r=e.find(e=>e.name===`Settings`);for(let e of r?.children??[])!e.meta?.settingsBar||!n(e)||t.push({route:e,name:e.name,labelKey:e.meta.name,to:`/settings/${e.path}`,icon:e.meta.settingsBar.icon.default,activeIcon:e.meta.settingsBar.icon.active,defaultGroup:`settings`,kind:`settings`});return t}),f=r(()=>{let e=new Map(d.value.map(e=>[e.name,e])),t={main:[],manage:[],system:[],settings:[]},n=new Set;for(let r of o)for(let i of u.value.order?.[r]??[]){let a=e.get(i);!a||n.has(i)||(t[r].push(a),n.add(i))}for(let e of d.value)n.has(e.name)||t[e.defaultGroup].push(e);return t}),p=r(()=>new Set(u.value.hidden??[])),m=r(()=>u.value.settingsInNav??!1);function h(e){if(!l.value)return;let t={...u.value,...e};for(let e of Object.keys(t))t[e]===void 0&&delete t[e];t.order&&Object.keys(t.order).length===0&&delete t.order,t.collapsible&&Object.keys(t.collapsible).length===0&&delete t.collapsible,t.hidden&&t.hidden.length===0&&delete t.hidden,t.settingsInNav||delete t.settingsInNav;let n=Object.keys(t).length?t:null;l.value={...l.value,navLayout:n},a.updateUser({preferences:{navLayout:n}})}function g(e){return u.value.collapsible?.[e]??s[e]}function _(e,t){let n={...u.value.collapsible};t===s[e]?delete n[e]:n[e]=t,h({collapsible:n})}function v(e){h({settingsInNav:e})}function y(e){return p.value.has(e)}function b(e){let t=new Set(p.value);t.has(e)?t.delete(e):t.add(e),h({hidden:[...t]})}function x(e){let t={main:[...e.main],manage:[...e.manage],system:[...e.system],settings:[...e.settings]},n=u.value.order;n&&o.every(e=>{let r=n[e]??[];return r.length===t[e].length&&r.every((n,r)=>n===t[e][r])})||h({order:t})}function S(){h({order:void 0,hidden:void 0})}return{entries:d,groups:f,settingsInNav:m,isCollapsible:g,isHidden:y,toggleHidden:b,setCollapsible:_,setSettingsInNav:v,persistOrder:x,resetOrder:S}}export{a as n,l as r,o as t};
@@ -1 +1 @@
1
- import{or as e}from"./vendor-BaiDFVEr.js";import{i as t}from"./intercomService-DJHBix4X.js";var n=e({microphone:`unknown`,location:`unknown`,notifications:`unknown`});function r(){let{isElectronApp:e,electron:r}=t(),a=e;async function o(){await Promise.all([s(),c(),l()])}async function s(){if(e&&r){n.microphone=await r.invoke(`get-mic-access`)??`unknown`;return}n.microphone=await i(`microphone`)}async function c(){n.location=await i(`geolocation`)}async function l(){if(typeof Notification>`u`){n.notifications=`unknown`;return}n.notifications=Notification.permission==="default"?`prompt`:Notification.permission}async function u(t){if(t===`microphone`){if(e&&r)await r.invoke(`ask-mic-access`);else try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{}await s();return}if(t===`location`){await new Promise(e=>{navigator.geolocation.getCurrentPosition(()=>e(),()=>e(),{timeout:1e4})}),await c();return}typeof Notification<`u`&&await Notification.requestPermission(),await l()}async function d(){e&&r&&await r.invoke(`open-mic-settings`)}return{states:n,canOpenSettings:a,refresh:o,request:u,openSettings:d}}async function i(e){try{let t=await navigator.permissions.query({name:e});return t.state===`granted`?`granted`:t.state===`denied`?`denied`:`prompt`}catch{return`unknown`}}export{r as t};
1
+ import{or as e}from"./vendor-BaiDFVEr.js";import{i as t}from"./intercomService-BpTOoSQi.js";var n=e({microphone:`unknown`,location:`unknown`,notifications:`unknown`});function r(){let{isElectronApp:e,electron:r}=t(),a=e;async function o(){await Promise.all([s(),c(),l()])}async function s(){if(e&&r){n.microphone=await r.invoke(`get-mic-access`)??`unknown`;return}n.microphone=await i(`microphone`)}async function c(){n.location=await i(`geolocation`)}async function l(){if(typeof Notification>`u`){n.notifications=`unknown`;return}n.notifications=Notification.permission==="default"?`prompt`:Notification.permission}async function u(t){if(t===`microphone`){if(e&&r)await r.invoke(`ask-mic-access`);else try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{}await s();return}if(t===`location`){await new Promise(e=>{navigator.geolocation.getCurrentPosition(()=>e(),()=>e(),{timeout:1e4})}),await c();return}typeof Notification<`u`&&await Notification.requestPermission(),await l()}async function d(){e&&r&&await r.invoke(`open-mic-settings`)}return{states:n,canOpenSettings:a,refresh:o,request:u,openSettings:d}}async function i(e){try{let t=await navigator.permissions.query({name:e});return t.state===`granted`?`granted`:t.state===`denied`?`denied`:`prompt`}catch{return`unknown`}}export{r as t};
@@ -1 +1 @@
1
- import{$n as e,or as t}from"./vendor-BaiDFVEr.js";import{t as n}from"./useLogsSocket-BLV7dWSG.js";var r=2e3,i=t({});function a(){function t(e){return i[e]}function a(e){return i[e]?.status===`updating`}async function o(t,a,o){if(i[t]?.status===`updating`)return!1;i[t]={status:`updating`,lines:[],version:a};let s=i[t],c=e(!0);c.run(()=>{n({target:t,onStdout:e=>{s.lines.push(e),s.lines.length>r&&s.lines.splice(0,s.lines.length-r)}})});try{return await o(),s.status=`success`,!0}catch(e){return s.status=`error`,s.error=e?.response?.data?.message??e?.message??String(e),!1}finally{c.stop()}}return{runs:i,runOf:t,isUpdating:a,startUpdate:o}}export{a as t};
1
+ import{$n as e,or as t}from"./vendor-BaiDFVEr.js";import{t as n}from"./useLogsSocket-DSltWBh4.js";var r=2e3,i=t({});function a(){function t(e){return i[e]}function a(e){return i[e]?.status===`updating`}async function o(t,a,o){if(i[t]?.status===`updating`)return!1;i[t]={status:`updating`,lines:[],version:a};let s=i[t],c=e(!0);c.run(()=>{n({target:t,onStdout:e=>{s.lines.push(e),s.lines.length>r&&s.lines.splice(0,s.lines.length-r)}})});try{return await o(),s.status=`success`,!0}catch(e){return s.status=`error`,s.error=e?.response?.data?.message??e?.message??String(e),!1}finally{c.stop()}}return{runs:i,runOf:t,isUpdating:a,startUpdate:o}}export{a as t};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./esm-TRigYTsA.js","./vendor-capacitor-4nn-eF9U.js","./vendor-BaiDFVEr.js","./rolldown-runtime-C0FnF6B9.js","./dist-Yc5s0_JB.js"])))=>i.map(i=>d[i]);
2
- import"./vendor-cameraui-0EJfDg8o.js";import"./api-py5HP4SF.js";import{Rt as e,cr as t}from"./vendor-BaiDFVEr.js";import{a as n}from"./intercomService-DJHBix4X.js";import"./notifications-DniREnpL.js";n(`PushRegistration`);var r=`cui.push.registrations`;t(!1);var i=null;function a(){return{registerForPush:async()=>{},forgetIfThisDevice:async(e,t)=>{if(!e)return;let n=await c(e);!n||n.deviceId!==t||(await u(e),await f(e))},getSyncState:async(e,t)=>({status:`unknown`}),restoreMarker:async(e,t)=>{await c(e)||await l(e,{deviceId:t,enabledAt:Date.now()})}}}async function o(){try{let{Preferences:t}=await e(async()=>{let{Preferences:e}=await import(`./esm-TRigYTsA.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url),{value:n}=await t.get({key:r});return n?JSON.parse(n):{}}catch{return{}}}async function s(t){try{let{Preferences:n}=await e(async()=>{let{Preferences:e}=await import(`./esm-TRigYTsA.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url);await n.set({key:r,value:JSON.stringify(t)})}catch{}}async function c(e){return(await o())[e]??null}async function l(e,t){let n=await o();n[e]=t,await s(n)}async function u(e){let t=await o();t[e]&&(delete t[e],await s(t))}function d(){return i??=(async()=>{try{let{Capacitor:t,registerPlugin:n}=await e(async()=>{let{Capacitor:e,registerPlugin:t}=await import(`./dist-Yc5s0_JB.js`);return{Capacitor:e,registerPlugin:t}},__vite__mapDeps([4,2,3]),import.meta.url);return t.isPluginAvailable(`PushCrypto`)?{plugin:n(`PushCrypto`)}:{plugin:null}}catch{return{plugin:null}}})(),i}async function f(e){try{let{plugin:t}=await d();await t?.deleteKey({serverId:e})}catch{}}export{a as t};
2
+ import"./vendor-cameraui-4iwjOYwz.js";import"./api-C_bOaXk2.js";import{Rt as e,cr as t}from"./vendor-BaiDFVEr.js";import{a as n}from"./intercomService-BpTOoSQi.js";import"./notifications-DEEM2oP2.js";n(`PushRegistration`);var r=`cui.push.registrations`;t(!1);var i=null;function a(){return{registerForPush:async()=>{},forgetIfThisDevice:async(e,t)=>{if(!e)return;let n=await c(e);!n||n.deviceId!==t||(await u(e),await f(e))},getSyncState:async(e,t)=>({status:`unknown`}),restoreMarker:async(e,t)=>{await c(e)||await l(e,{deviceId:t,enabledAt:Date.now()})}}}async function o(){try{let{Preferences:t}=await e(async()=>{let{Preferences:e}=await import(`./esm-TRigYTsA.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url),{value:n}=await t.get({key:r});return n?JSON.parse(n):{}}catch{return{}}}async function s(t){try{let{Preferences:n}=await e(async()=>{let{Preferences:e}=await import(`./esm-TRigYTsA.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url);await n.set({key:r,value:JSON.stringify(t)})}catch{}}async function c(e){return(await o())[e]??null}async function l(e,t){let n=await o();n[e]=t,await s(n)}async function u(e){let t=await o();t[e]&&(delete t[e],await s(t))}function d(){return i??=(async()=>{try{let{Capacitor:t,registerPlugin:n}=await e(async()=>{let{Capacitor:e,registerPlugin:t}=await import(`./dist-Yc5s0_JB.js`);return{Capacitor:e,registerPlugin:t}},__vite__mapDeps([4,2,3]),import.meta.url);return t.isPluginAvailable(`PushCrypto`)?{plugin:n(`PushCrypto`)}:{plugin:null}}catch{return{plugin:null}}})(),i}async function f(e){try{let{plugin:t}=await d();await t?.deleteKey({serverId:e})}catch{}}export{a as t};
@@ -1 +1 @@
1
- import{_r as e}from"./api-py5HP4SF.js";import{$n as t,cr as n,qn as r}from"./vendor-BaiDFVEr.js";var i=n(!1),a=null,o;function s(){a||(a=t(!0),a.run(()=>{let t=e();r(t.bannerMode,e=>{e!==null&&i.value&&(clearTimeout(o),i.value=!1)})}));function n(){i.value=!0,clearTimeout(o),o=setTimeout(()=>{i.value=!1},15e3)}return{restarting:i,beginServerRestart:n}}export{s as n,i as t};
1
+ import{fr as e}from"./api-C_bOaXk2.js";import{$n as t,cr as n,qn as r}from"./vendor-BaiDFVEr.js";var i=n(!1),a=null,o;function s(){a||(a=t(!0),a.run(()=>{let t=e();r(t.bannerMode,e=>{e!==null&&i.value&&(clearTimeout(o),i.value=!1)})}));function n(){i.value=!0,clearTimeout(o),o=setTimeout(()=>{i.value=!1},15e3)}return{restarting:i,beginServerRestart:n}}export{s as n,i as t};
@@ -1 +1 @@
1
- import{sr as e}from"./api-py5HP4SF.js";import{$n as t,in as n,or as r}from"./vendor-BaiDFVEr.js";var i=1e4,a=r({streamStatus:{}}),o=null,s=null,c;function l(){s?.emit(`get-stream-status`)}function u(){return s||(o=t(!0),o.run(()=>{let t=e(`/camera.ui`);s=t,t.on(`stream-status`,e=>{a.streamStatus=e}),t.onReady(()=>{l()})}),c||=setInterval(l,i),s)}function d(e){let t=Object.values(e);if(t.length===0)return`idle`;let n=t.filter(e=>e===`connected`).length,r=t.filter(e=>e===`error`).length,i=t.filter(e=>e===`connecting`).length;return n===t.length?`connected`:r===t.length?`error`:i>0&&n===0&&r===0?`connecting`:n>0&&(r>0||t.some(e=>e===`idle`))?`partial`:n>0?`connected`:i>0?`connecting`:`idle`}function f(){function e(){u()}function t(){}function r(e){let t=a.streamStatus[e];return t?d(t):`idle`}function i(e){return a.streamStatus[e]}function o(e,t){return a.streamStatus[e]?.[t]??`idle`}return{streamStatus:n(()=>a.streamStatus),getCameraStatus:r,getCameraSources:i,getSourceStatus:o,connect:e,disconnect:t,refresh:l}}export{f as t};
1
+ import{nr as e}from"./api-C_bOaXk2.js";import{$n as t,in as n,or as r}from"./vendor-BaiDFVEr.js";var i=1e4,a=r({streamStatus:{}}),o=null,s=null,c;function l(){s?.emit(`get-stream-status`)}function u(){return s||(o=t(!0),o.run(()=>{let t=e(`/camera.ui`);s=t,t.on(`stream-status`,e=>{a.streamStatus=e}),t.onReady(()=>{l()})}),c||=setInterval(l,i),s)}function d(e){let t=Object.values(e);if(t.length===0)return`idle`;let n=t.filter(e=>e===`connected`).length,r=t.filter(e=>e===`error`).length,i=t.filter(e=>e===`connecting`).length;return n===t.length?`connected`:r===t.length?`error`:i>0&&n===0&&r===0?`connecting`:n>0&&(r>0||t.some(e=>e===`idle`))?`partial`:n>0?`connected`:i>0?`connecting`:`idle`}function f(){function e(){u()}function t(){}function r(e){let t=a.streamStatus[e];return t?d(t):`idle`}function i(e){return a.streamStatus[e]}function o(e,t){return a.streamStatus[e]?.[t]??`idle`}return{streamStatus:n(()=>a.streamStatus),getCameraStatus:r,getCameraSources:i,getSourceStatus:o,connect:e,disconnect:t,refresh:l}}export{f as t};
@@ -0,0 +1 @@
1
+ import{fi as e,vi as t}from"./vendor-cameraui-4iwjOYwz.js";import{Cn as n}from"./api-C_bOaXk2.js";import{cr as r,qn as i}from"./vendor-BaiDFVEr.js";var a=[`INPUT`,`TEXTAREA`,`SELECT`,`BUTTON`],o=[`.p-datatable`,`.no-tab-swipe`];function s(s,c,l={}){let{isTouch:u}=n(),d=[...o,...l.exclude??[]],f=r(!0);function p(e){let t=e;for(;t&&t!==s.value;){if(t.scrollWidth>t.clientWidth+1){let e=getComputedStyle(t).overflowX;if(e===`auto`||e===`scroll`)return!0}t=t.parentElement}return!1}function m(e){let t=e.target;(a.includes(t.tagName)||d.some(e=>t.closest(e))||p(t))&&(f.value=!1)}function h(){f.value=!0}let{isSwiping:g,direction:_}=u.value?t(s,{threshold:50,onSwipeStart:m,onSwipeEnd:h}):e(s,{threshold:50,onSwipeStart:m,onSwipeEnd:h});i([g,_],()=>{g.value&&f.value&&(_.value===`left`||_.value===`right`)&&c(_.value)})}export{s as t};
@@ -1 +1 @@
1
- import{br as e}from"./api-py5HP4SF.js";import{in as t,qn as n}from"./vendor-BaiDFVEr.js";import{t as r}from"./config-B1aWtF-N.js";`${e}`;async function i(e){}function a(){let e=new r,{data:a}=e.getConfigQuery(!0),{mutateAsync:o}=e.patchConfigQuery(),s=t(()=>a.value&&typeof a.value!=`string`?a.value:void 0),c=t(()=>s.value?.betaUpdates??!1);return n(()=>s.value?.betaUpdates,e=>{e!==void 0&&i(e)},{immediate:!0}),{isBeta:c,setBeta:async e=>{let t=s.value;!t||t.betaUpdates===e||await o({configData:JSON.stringify({...t,betaUpdates:e})})}}}export{a as t};
1
+ import{hr as e}from"./api-C_bOaXk2.js";import{in as t,qn as n}from"./vendor-BaiDFVEr.js";import{t as r}from"./config-BjldP5A6.js";`${e}`;async function i(e){}function a(){let e=new r,{data:a}=e.getConfigQuery(!0),{mutateAsync:o}=e.patchConfigQuery(),s=t(()=>a.value&&typeof a.value!=`string`?a.value:void 0),c=t(()=>s.value?.betaUpdates??!1);return n(()=>s.value?.betaUpdates,e=>{e!==void 0&&i(e)},{immediate:!0}),{isBeta:c,setBeta:async e=>{let t=s.value;!t||t.betaUpdates===e||await o({configData:JSON.stringify({...t,betaUpdates:e})})}}}export{a as t};
@@ -0,0 +1 @@
1
+ import{nr as e}from"./api-C_bOaXk2.js";import{$n as t,in as n,or as r}from"./vendor-BaiDFVEr.js";var i=r({status:null}),a=null,o=null,s=new Set;function c(){return o||(a=t(!0),a.run(()=>{let t=e(`/camera.ui`);o=t,t.on(`updates-status`,e=>{i.status=e;for(let e of s)try{e()}catch{}}),t.onReady(()=>{for(let e of s)try{e()}catch{}})}),o)}function l(){function e(){c()}function t(e){return s.add(e),()=>s.delete(e)}return{status:n(()=>i.status),connect:e,onStatus:t}}export{l as t};
@@ -1 +1 @@
1
- import{fr as e}from"./api-py5HP4SF.js";import{in as t}from"./vendor-BaiDFVEr.js";function n(){let{data:n}=new e().getUsersQuery({page:1,pageSize:-1});return{userOptions:t(()=>(n.value?.result??[]).map(e=>({label:e.username,value:e.username})))}}export{n as t};
1
+ import{sr as e}from"./api-C_bOaXk2.js";import{in as t}from"./vendor-BaiDFVEr.js";function n(){let{data:n}=new e().getUsersQuery({page:1,pageSize:-1});return{userOptions:t(()=>(n.value?.result??[]).map(e=>({label:e.username,value:e.username})))}}export{n as t};