@camera.ui/server 2.1.7 → 2.1.8

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 (283) hide show
  1. package/dist/interface/assets/{404-D0lfw52Y.js → 404-vRjJVgl4.js} +1 -1
  2. package/dist/interface/assets/{About-DaaVZ9Cn.js → About-CO9cx5Gp.js} +1 -1
  3. package/dist/interface/assets/Automation-DDNhcjDg.js +3 -0
  4. package/dist/interface/assets/AutomationImport-DAeFd-SZ.js +2 -0
  5. package/dist/interface/assets/{AutomationStore-CeRF0iz6.js → AutomationStore-NyXuw3tI.js} +2 -2
  6. package/dist/interface/assets/{AutomationStoreDetail-DcCFUBJf.js → AutomationStoreDetail-Dz9Y8j8g.js} +2 -2
  7. package/dist/interface/assets/{Automations-GMWeSNQv.js → Automations-BeGe7iQE.js} +2 -2
  8. package/dist/interface/assets/Camera-C0sNg85L.js +2 -0
  9. package/dist/interface/assets/{CameraConsole-B0crXI59.js → CameraConsole-S9Il0g0K.js} +1 -1
  10. package/dist/interface/assets/{Cameras-V_twilcC.js → Cameras-lDMBkoUW.js} +2 -2
  11. package/dist/interface/assets/{Camview-DxxONfeK.css → Camview-CS7PIBMz.css} +1 -1
  12. package/dist/interface/assets/Camview-DzMmXQvW.js +1 -0
  13. package/dist/interface/assets/Config-B0cy1RIU.js +2 -0
  14. package/dist/interface/assets/ConfigActionCameraControl-BMlRbdRM.js +1 -0
  15. package/dist/interface/assets/{ConfigActionDelay-DjFp5qpw.js → ConfigActionDelay-DrzMP_7q.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionHttp-Cmjz4iAV.js → ConfigActionHttp-BUANm5zh.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionImageInput-B0Hll2M3.js → ConfigActionImageInput-CKvnzs_4.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionMqtt-D2boY4u0.js → ConfigActionMqtt-Cz-fMzXH.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-7iRd0L5l.js → ConfigActionNotification-exxG4m-k.js} +1 -1
  20. package/dist/interface/assets/ConfigActionNotificationControl-BMFbm9lJ.js +1 -0
  21. package/dist/interface/assets/{ConfigActionOutput-BTGUzNQW.js → ConfigActionOutput-js-UUBci.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionPlugin-CzspRdJx.js → ConfigActionPlugin-B5hrC_B6.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSensor-CPK-s1E2.js → ConfigActionSensor-BESCtedA.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSnapshot-CcSw9Yw-.js → ConfigActionSnapshot-Uxz9dCqh.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionVariable-BCDtM13I.js → ConfigActionVariable-CsiC6bgF.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionIfElse-DZJkBeHI.js → ConfigConditionIfElse-CiScJB42.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSensorState-CxWutq1T.js → ConfigConditionSensorState-CbDfsuOl.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSwitch-DBRR9cW4.js → ConfigConditionSwitch-B7E5DAoC.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionTime-B-5s6QW2.js → ConfigConditionTime-BmeGYmwH.js} +1 -1
  30. package/dist/interface/assets/{ConfigSensorValueInput-B9MmHF-E.js → ConfigSensorValueInput-CNTToTaw.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerDetection-DlY8ne3V.js → ConfigTriggerDetection-ijTkd_SS.js} +1 -1
  32. package/dist/interface/assets/ConfigTriggerGeofence-Q7LQpVoM.js +1 -0
  33. package/dist/interface/assets/{ConfigTriggerManual-BSxA9fGt.js → ConfigTriggerManual-Z1_1wUUM.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerMqtt-C7sFSgYi.js → ConfigTriggerMqtt-BBvD0ow9.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSchedule-fqVY5k3V.js → ConfigTriggerSchedule-B0rMjsZL.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSensor-BMZ74d8e.js → ConfigTriggerSensor-B1p15KGD.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSystem-B8zwJpaY.js → ConfigTriggerSystem-Du-AkCKy.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerWebhook-SklqcrZq.js → ConfigTriggerWebhook-Debqt-nw.js} +1 -1
  39. package/dist/interface/assets/Console-Gu1eu82G.js +1 -0
  40. package/dist/interface/assets/{CuiAutomationRunsDialog-N6NFABq2.js → CuiAutomationRunsDialog-CxcWpqrI.js} +1 -1
  41. package/dist/interface/assets/CuiBottomSheet-BkmkKf1u.js +1 -0
  42. package/dist/interface/assets/{CuiBottomSheet-BuK_lFkK.js → CuiBottomSheet-DECWGdrp.js} +1 -1
  43. package/dist/interface/assets/CuiCameraPipCard-CuZZZ7Cv.js +1 -0
  44. package/dist/interface/assets/{CuiCameraRecordings-z4WblFJ9.js → CuiCameraRecordings-BxEA_Vhd.js} +1 -1
  45. package/dist/interface/assets/CuiCameraShares-D32cM63m.js +1 -0
  46. package/dist/interface/assets/CuiCameraTable-67Itb7my.js +1 -0
  47. package/dist/interface/assets/{CuiCameraTable-DOPSHZ28.js → CuiCameraTable-Bk9N-Oc6.js} +1 -1
  48. package/dist/interface/assets/{CuiConsole-BOfQ5I3b.js → CuiConsole-De9JpSLz.js} +2 -2
  49. package/dist/interface/assets/{CuiDataTable-DBNU5MJ_.js → CuiDataTable-P8bWN0ZK.js} +1 -1
  50. package/dist/interface/assets/{CuiLightControl-CCwkaMEn.js → CuiLightControl-D5Z1AqWH.js} +1 -1
  51. package/dist/interface/assets/{CuiList-BOMdGNXj.js → CuiList-w69dERIq.js} +1 -1
  52. package/dist/interface/assets/CuiPluginCard-D3x9FPb6.js +2 -0
  53. package/dist/interface/assets/CuiPluginCategoryChip-CQ2FJafE.js +1 -0
  54. package/dist/interface/assets/{CuiPluginOAuthButton-6HQLdlfg.js → CuiPluginOAuthButton-CNxj7cuf.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginTrustBadge-BS9iEcZr.js → CuiPluginTrustBadge-DYsEz6WI.js} +1 -1
  56. package/dist/interface/assets/CuiQRCode-CZnspFFw.js +1 -0
  57. package/dist/interface/assets/{CuiRecordingsGrid-Sv3uyj9a.css → CuiRecordingsGrid-Q4C3aeLo.css} +1 -1
  58. package/dist/interface/assets/CuiRecordingsGrid-wEaU6-3c.js +1 -0
  59. package/dist/interface/assets/CuiSchema-DLV1lIiB.js +1 -0
  60. package/dist/interface/assets/{CuiTopNavbarItem-MCdYsYHh.js → CuiTopNavbarItem-7yu9c68R.js} +1 -1
  61. package/dist/interface/assets/{Faces-DDTbgPtz.js → Faces-BlPQek1-.js} +1 -1
  62. package/dist/interface/assets/FirstSteps-C-DKv_P2.js +1 -0
  63. package/dist/interface/assets/Instances-Bmb-yWM-.js +1 -0
  64. package/dist/interface/assets/{Logs-DEQlc2WM.js → Logs-DxHqkMpx.js} +1 -1
  65. package/dist/interface/assets/{Menu-0EVo1-xs.js → Menu-DceReBlq.js} +1 -1
  66. package/dist/interface/assets/Metrics-Cw_Z_e0C.js +1 -0
  67. package/dist/interface/assets/{OAuthDeviceFlow--YqcKa9u.js → OAuthDeviceFlow-CLi6l8jS.js} +1 -1
  68. package/dist/interface/assets/Plugin-BBVxbQeT.js +1 -0
  69. package/dist/interface/assets/{PluginConsole-BB_dbd25.js → PluginConsole-xOY_kwz_.js} +1 -1
  70. package/dist/interface/assets/{PluginDetail-Y_jg8hAX.js → PluginDetail-D2RncxpL.js} +2 -2
  71. package/dist/interface/assets/{PluginSchema-C4dQGJOV.js → PluginSchema-DG3ou73v.js} +1 -1
  72. package/dist/interface/assets/PluginSearch-CBhloRm6.js +1 -0
  73. package/dist/interface/assets/PluginSearch-RGhSeM1T.js +2 -0
  74. package/dist/interface/assets/{PluginUpdateProgress-BjeH5abL.js → PluginUpdateProgress-Bx0MXwAk.js} +1 -1
  75. package/dist/interface/assets/{Plugins-Kz1A-VUA.js → Plugins-COHwVV0A.js} +1 -1
  76. package/dist/interface/assets/Recordings-H5qOm_rD.js +1 -0
  77. package/dist/interface/assets/Recordings-zdTzwv7C.css +1 -0
  78. package/dist/interface/assets/{SensorEdit-CZyv_BYp.js → SensorEdit-C-H_3ap8.js} +1 -1
  79. package/dist/interface/assets/{SensorHistory-Mr03IqiL.js → SensorHistory-CTIUwIWN.js} +1 -1
  80. package/dist/interface/assets/Sensors-BUpob7LU.css +1 -0
  81. package/dist/interface/assets/Sensors-lPcOdHJN.js +2 -0
  82. package/dist/interface/assets/{Settings-CIv_iZ_m.js → Settings-BUoXoFiH.js} +1 -1
  83. package/dist/interface/assets/{Settings-B1MnGPuf.css → Settings-jQIhZFRY.css} +1 -1
  84. package/dist/interface/assets/SettingsAccount-CudWgknL.js +1 -0
  85. package/dist/interface/assets/SettingsAccount-DUy_W02_.js +1 -0
  86. package/dist/interface/assets/{SettingsAppearance-DEQyCR5b.js → SettingsAppearance-CoTdsIwM.js} +1 -1
  87. package/dist/interface/assets/SettingsAppearance-eZsdWWp3.js +1 -0
  88. package/dist/interface/assets/{SettingsBackup-4y9MuseJ.js → SettingsBackup-ibb5I5Jv.js} +1 -1
  89. package/dist/interface/assets/{SettingsList-DqyvUuS3.js → SettingsList-W5FvbkXm.js} +1 -1
  90. package/dist/interface/assets/SettingsMqtt-Ct42icAW.js +1 -0
  91. package/dist/interface/assets/SettingsNotifications-B4lyMlLR.js +1 -0
  92. package/dist/interface/assets/{SettingsPermissions-C_8g_nff.js → SettingsPermissions-Bsv293ri.js} +1 -1
  93. package/dist/interface/assets/{SettingsRecordings-r9AwjQZX.js → SettingsRecordings-COUi9BQg.js} +1 -1
  94. package/dist/interface/assets/SettingsRemote-Dq_BD0fk.js +1 -0
  95. package/dist/interface/assets/SettingsSystem-C5xROdA0.js +2 -0
  96. package/dist/interface/assets/SettingsUsers-Cjk6mevW.js +1 -0
  97. package/dist/interface/assets/{Terminal-Xo2uy0RX.js → Terminal-BIdBrL4g.js} +1 -1
  98. package/dist/interface/assets/{VariableInput-C3Jbe-vC.js → VariableInput-DhAhhfsm.js} +1 -1
  99. package/dist/interface/assets/{VariableSuggestions-pOrYkqys.js → VariableSuggestions-q0Jd1DVI.js} +1 -1
  100. package/dist/interface/assets/{VersionsHandler-BhBynPF8.js → VersionsHandler-XEn3uFy7.js} +1 -1
  101. package/dist/interface/assets/{VirtualSensorCreate-B3bwlAJz.js → VirtualSensorCreate-_E5E0U7E.js} +1 -1
  102. package/dist/interface/assets/Workers-DVABUc39.js +2 -0
  103. package/dist/interface/assets/api-AVHJeggR.css +2 -0
  104. package/dist/interface/assets/{api-B7yg8bdk.js → api-C7Yv5Scr.js} +1 -1
  105. package/dist/interface/assets/api-CmdQlVDD.js +2 -0
  106. package/dist/interface/assets/{auth-y-X5RKO6.js → auth-BixzEnBM.js} +1 -1
  107. package/dist/interface/assets/{automations-h1Wvnh36.js → automations-K8XPcP3U.js} +1 -1
  108. package/dist/interface/assets/cameras.schema-A_6JklLs.js +1 -0
  109. package/dist/interface/assets/cloudHandoff-D0ytFfHK.js +1 -0
  110. package/dist/interface/assets/{config-BZTZOfxI.js → config-CURuT8_k.js} +1 -1
  111. package/dist/interface/assets/{flowSchema-Dxxlrn77.js → flowSchema-szT9B0sA.js} +1 -1
  112. package/dist/interface/assets/intercomService-BjB4QQiX.js +1 -0
  113. package/dist/interface/assets/{main-kdyR9bI7.css → main-B1ryIyTr.css} +1 -1
  114. package/dist/interface/assets/main-BdIdmDhs.js +3 -0
  115. package/dist/interface/assets/mqtt-uItF3Vd7.js +1 -0
  116. package/dist/interface/assets/{nodeDefinitions-DQQlFmPN.js → nodeDefinitions-c5rXs9EW.js} +1 -1
  117. package/dist/interface/assets/{notifications-C8eyTPRM.js → notifications-CuZPzI4-.js} +1 -1
  118. package/dist/interface/assets/{plugins-D0Txz0BA.js → plugins-QEqfAk0G.js} +1 -1
  119. package/dist/interface/assets/round-alt-arrow-left-bold-CfccdiWp.js +1 -0
  120. package/dist/interface/assets/{round-restart-alt-Bw-T1H6w.js → round-restart-alt-B_7HR24a.js} +1 -1
  121. package/dist/interface/assets/{sensorIcons-r5wmAxeD.js → sensorIcons-BujySw0j.js} +1 -1
  122. package/dist/interface/assets/{sensors-MIbrTUSa.js → sensors-BxvL01cB.js} +1 -1
  123. package/dist/interface/assets/{server-alwZXRo-.js → server-CDm6FwHH.js} +1 -1
  124. package/dist/interface/assets/{theme-qmnHJ2WT.js → theme-CRw47tnu.js} +1 -1
  125. package/dist/interface/assets/{types-DBWHsh0W.js → types-DtdpTPfZ.js} +1 -1
  126. package/dist/interface/assets/types-R10eIequ.js +1 -0
  127. package/dist/interface/assets/types-p_uC0rfp.js +1 -0
  128. package/dist/interface/assets/useAppVersion-BxTTVLKg.js +1 -0
  129. package/dist/interface/assets/useBackupRestore-DLieDBFC.js +1 -0
  130. package/dist/interface/assets/{useCameraOptions-DYZKQx7X.js → useCameraOptions-DMC2KjMS.js} +1 -1
  131. package/dist/interface/assets/{useLogsSocket-DvwkpzT2.js → useLogsSocket-CmyalQi8.js} +1 -1
  132. package/dist/interface/assets/{useNavLayout-CTX4KBkz.js → useNavLayout-BacPxpZv.js} +1 -1
  133. package/dist/interface/assets/usePermissions-C2wQBWmH.js +1 -0
  134. package/dist/interface/assets/{usePluginUpdates-CiqRTrjF.js → usePluginUpdates-CyjxFTTi.js} +1 -1
  135. package/dist/interface/assets/usePushRegistration-BPSfvI_w.js +2 -0
  136. package/dist/interface/assets/{useServerRestart-Bqpn8N4T.js → useServerRestart-x8p2rFqn.js} +1 -1
  137. package/dist/interface/assets/{useStreamStatus-BWCnwuaj.js → useStreamStatus-PMpl519O.js} +1 -1
  138. package/dist/interface/assets/{useUpdateChannel-Cxm4QR-6.js → useUpdateChannel-ChscS5KW.js} +1 -1
  139. package/dist/interface/assets/{useUserOptions-B2LNsU9C.js → useUserOptions-YiEj2ox6.js} +1 -1
  140. package/dist/interface/assets/{vendor-cameraui-C6beJsya.js → vendor-cameraui-Cf0XVNQ7.js} +1 -1
  141. package/dist/interface/assets/{vendor-core-_ft7qIgH.js → vendor-core-u4xNQ-aF.js} +1 -1
  142. package/dist/interface/assets/{vendor-primevue-DfyAPSov.js → vendor-primevue-BDu2BpXv.js} +1 -1
  143. package/dist/interface/index.html +26 -27
  144. package/dist/interface/sw.js +1 -1
  145. package/dist/server/package.json +3 -3
  146. package/dist/server/requirements.txt +1 -1
  147. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +8 -2
  148. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +10 -2
  149. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +4 -10
  150. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +77 -10
  151. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +7 -13
  152. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/events.py +2 -0
  153. package/dist/server/src/api/controllers/cameras.controller.d.ts +2 -7
  154. package/dist/server/src/api/controllers/cameras.controller.js +2 -94
  155. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  156. package/dist/server/src/api/database/index.d.ts +1 -1
  157. package/dist/server/src/api/database/index.js +1 -1
  158. package/dist/server/src/api/database/migrations/v2-1-6.d.ts +3 -0
  159. package/dist/server/src/api/database/migrations/v2-1-6.js +62 -0
  160. package/dist/server/src/api/database/migrations/v2-1-6.js.map +1 -0
  161. package/dist/server/src/api/database/migrations/v2-1-7.d.ts +3 -0
  162. package/dist/server/src/api/database/migrations/v2-1-7.js +44 -0
  163. package/dist/server/src/api/database/migrations/v2-1-7.js.map +1 -0
  164. package/dist/server/src/api/database/types.d.ts +1 -0
  165. package/dist/server/src/api/routes/cameras.routes.js +5 -62
  166. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  167. package/dist/server/src/api/schemas/cameras.schema.d.ts +365 -152
  168. package/dist/server/src/api/schemas/cameras.schema.js +47 -38
  169. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  170. package/dist/server/src/api/services/cameras.service.d.ts +2 -4
  171. package/dist/server/src/api/services/cameras.service.js +2 -32
  172. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  173. package/dist/server/src/api/types/index.d.ts +3 -9
  174. package/dist/server/src/automations/actions/cameraControl.js +15 -1
  175. package/dist/server/src/automations/actions/cameraControl.js.map +1 -1
  176. package/dist/server/src/automations/actions/notificationControl.js +10 -1
  177. package/dist/server/src/automations/actions/notificationControl.js.map +1 -1
  178. package/dist/server/src/camera/controller.d.ts +1 -0
  179. package/dist/server/src/camera/controller.js +21 -8
  180. package/dist/server/src/camera/controller.js.map +1 -1
  181. package/dist/server/src/camera/decoder/child.d.ts +2 -4
  182. package/dist/server/src/camera/decoder/child.js +4 -22
  183. package/dist/server/src/camera/decoder/child.js.map +1 -1
  184. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -8
  185. package/dist/server/src/camera/decoder/detection-coordinator.js +53 -38
  186. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  187. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +11 -3
  188. package/dist/server/src/camera/decoder/detection-pipeline.js +72 -14
  189. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  190. package/dist/server/src/camera/decoder/event-manager.d.ts +2 -0
  191. package/dist/server/src/camera/decoder/event-manager.js +14 -0
  192. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  193. package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +2 -0
  194. package/dist/server/src/camera/decoder/event-thumbnailer.js +1 -1
  195. package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
  196. package/dist/server/src/camera/decoder/frame-scaler.d.ts +8 -2
  197. package/dist/server/src/camera/decoder/frame-scaler.js +56 -5
  198. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  199. package/dist/server/src/camera/decoder/ptz/autotracker.d.ts +4 -0
  200. package/dist/server/src/camera/decoder/ptz/autotracker.js +97 -18
  201. package/dist/server/src/camera/decoder/ptz/autotracker.js.map +1 -1
  202. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +2 -0
  203. package/dist/server/src/camera/decoder/sources/buffered-source.js +1 -1
  204. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  205. package/dist/server/src/camera/decoder/types.d.ts +1 -0
  206. package/dist/server/src/camera/decoder/types.js +3 -0
  207. package/dist/server/src/camera/decoder/types.js.map +1 -1
  208. package/dist/server/src/camera/decoder/worker.js +4 -24
  209. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  210. package/dist/server/src/camera/index.d.ts +2 -4
  211. package/dist/server/src/camera/index.js +3 -8
  212. package/dist/server/src/camera/index.js.map +1 -1
  213. package/dist/server/src/camera/privacy/mask.d.ts +27 -0
  214. package/dist/server/src/camera/privacy/mask.js +204 -0
  215. package/dist/server/src/camera/privacy/mask.js.map +1 -0
  216. package/dist/server/src/camera/privacy/snapshot.d.ts +13 -0
  217. package/dist/server/src/camera/privacy/snapshot.js +126 -0
  218. package/dist/server/src/camera/privacy/snapshot.js.map +1 -0
  219. package/dist/server/src/camera/utils/filter.d.ts +3 -3
  220. package/dist/server/src/camera/utils/filter.js.map +1 -1
  221. package/dist/server/src/camera/zones.d.ts +2 -0
  222. package/dist/server/src/camera/zones.js +11 -0
  223. package/dist/server/src/camera/zones.js.map +1 -0
  224. package/dist/server/src/manager/notificationManager.d.ts +2 -0
  225. package/dist/server/src/manager/notificationManager.js +21 -2
  226. package/dist/server/src/manager/notificationManager.js.map +1 -1
  227. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +8 -13
  228. package/dist/server/src/plugins/schema.js +1 -1
  229. package/dist/server/src/plugins/schema.js.map +1 -1
  230. package/dist/server/src/rpc/interfaces/frameworker.d.ts +2 -4
  231. package/package.json +3 -3
  232. package/dist/interface/assets/Automation-DQyPNAzK.js +0 -3
  233. package/dist/interface/assets/AutomationImport-BDD_LuC1.js +0 -2
  234. package/dist/interface/assets/Camera-CYxRoESX.js +0 -2
  235. package/dist/interface/assets/Camview-CSb2iVBf.js +0 -1
  236. package/dist/interface/assets/Config-BKuXgZxF.js +0 -2
  237. package/dist/interface/assets/ConfigActionCameraControl-TFe1_K6j.js +0 -1
  238. package/dist/interface/assets/ConfigActionNotificationControl-DI_t2wHh.js +0 -1
  239. package/dist/interface/assets/ConfigTriggerGeofence-DJt-3FpV.js +0 -1
  240. package/dist/interface/assets/Console-BZB3MZKj.js +0 -1
  241. package/dist/interface/assets/CuiBottomSheet-BnKYWBBA.js +0 -1
  242. package/dist/interface/assets/CuiCameraPipCard-DaJlFY1g.js +0 -1
  243. package/dist/interface/assets/CuiCameraShares-CvKMe_kX.js +0 -1
  244. package/dist/interface/assets/CuiCameraTable-_7KwbPyM.js +0 -1
  245. package/dist/interface/assets/CuiPluginCard-CvNfBRhG.js +0 -2
  246. package/dist/interface/assets/CuiPluginCategoryChip-JG_8D7Wt.js +0 -1
  247. package/dist/interface/assets/CuiQRCode-Vd-1ssJK.js +0 -1
  248. package/dist/interface/assets/CuiRecordingsGrid-skKnK074.js +0 -1
  249. package/dist/interface/assets/CuiSchema-DvY3Bdnz.js +0 -1
  250. package/dist/interface/assets/FirstSteps-T4ra4jxE.js +0 -1
  251. package/dist/interface/assets/Instances-D_Td0oJ-.js +0 -1
  252. package/dist/interface/assets/Metrics-FFvFP2kR.js +0 -1
  253. package/dist/interface/assets/Plugin-CKcptqV9.js +0 -1
  254. package/dist/interface/assets/PluginSearch-D2efYsof.js +0 -1
  255. package/dist/interface/assets/PluginSearch-gY-PHMyu.js +0 -2
  256. package/dist/interface/assets/Recordings-80Xd1V3L.css +0 -1
  257. package/dist/interface/assets/Recordings-BlBmyZlM.js +0 -1
  258. package/dist/interface/assets/Sensors-B-Qhfr5i.css +0 -1
  259. package/dist/interface/assets/Sensors-CHbtecpf.js +0 -2
  260. package/dist/interface/assets/SettingsAccount-DA67jXmp.js +0 -1
  261. package/dist/interface/assets/SettingsAccount-DPPwXOlM.js +0 -1
  262. package/dist/interface/assets/SettingsAppearance-C92Nlobb.js +0 -1
  263. package/dist/interface/assets/SettingsMqtt-CuTZBTrA.js +0 -1
  264. package/dist/interface/assets/SettingsNotifications-D7Vs6NoU.js +0 -1
  265. package/dist/interface/assets/SettingsRemote-oDVzvhmy.js +0 -1
  266. package/dist/interface/assets/SettingsSystem-QfBIPq4i.js +0 -2
  267. package/dist/interface/assets/SettingsUsers-CqRJ8-7H.js +0 -1
  268. package/dist/interface/assets/Workers-tgzMqP3o.js +0 -2
  269. package/dist/interface/assets/api-1K2Gzz8B.js +0 -2
  270. package/dist/interface/assets/api-Bj4QRftG.css +0 -2
  271. package/dist/interface/assets/cameras.schema-CKnsFYBP.js +0 -1
  272. package/dist/interface/assets/cctv-BA5DvNlE.js +0 -1
  273. package/dist/interface/assets/cloudHandoff-qezHiAZI.js +0 -1
  274. package/dist/interface/assets/main-Ei2ORV9y.js +0 -3
  275. package/dist/interface/assets/mqtt-CCq5JGGk.js +0 -1
  276. package/dist/interface/assets/round-alt-arrow-left-bold-BxX4ufd0.js +0 -1
  277. package/dist/interface/assets/types-BTVMzSuj.js +0 -1
  278. package/dist/interface/assets/types-vaT6wuY0.js +0 -1
  279. package/dist/interface/assets/useAppVersion-BRc6OWZP.js +0 -1
  280. package/dist/interface/assets/useBackupRestore-DCO_Pw9q.js +0 -1
  281. package/dist/interface/assets/useElectron-CtslU_0f.js +0 -1
  282. package/dist/interface/assets/usePermissions-DpsfFydh.js +0 -1
  283. package/dist/interface/assets/usePushRegistration-Coz8RZob.js +0 -2
@@ -1 +1 @@
1
- import{Cr as e,fr as t,gr as n,hr as r,mr as i}from"./api-1K2Gzz8B.js";import{Nn as a,U as o,an as s,cn as c,cr as l,gr as u,ir as d,q as f}from"./vendor-BaiDFVEr.js";var p={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function m(e,t){return a(),c(`svg`,p,[...t[0]||=[s(`path`,{fill:`currentColor`,d:`m17 7l-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5M4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4z`},null,-1)]])}var h=d({name:`mdi-logout`,render:m});async function g(t){let r=n().endpoint.value??window.location.origin;return(await e.get(`/tunnel/check`,{signal:t,baseURL:r})).data}async function _({parameter:t,signal:n}){return(await e.get(`/auth/sessions`,{params:t,signal:n})).data.result??[]}async function v({parameter:t,signal:n}){return(await e.get(`/auth/sessions/all`,{params:t,signal:n})).data.result??[]}async function y({id:t}){await e.delete(`/auth/sessions/${t}`)}async function b(){await e.delete(`/auth/sessions`)}async function x(t){return(await e.get(`/auth/tokens`,{signal:t})).data??[]}async function S({name:t}){return(await e.post(`/auth/tokens`,{name:t})).data}async function C({id:t}){await e.delete(`/auth/tokens/${t}`)}async function w({loginInformation:t}){return(await e.post(`/auth/login`,t)).data}async function T({tempToken:t,code:n}){return(await e.post(`/auth/verify-2fa`,{tempToken:t,code:n})).data}async function E(t){return(await e.get(`/auth/2fa/status`,{signal:t})).data}async function D(){return(await e.post(`/auth/2fa/setup`)).data}async function O({code:t}){return(await e.post(`/auth/2fa/enable`,{code:t})).data}async function k({code:t}){await e.post(`/auth/2fa/disable`,{code:t})}async function A({code:t}){return(await e.post(`/auth/2fa/backup-codes`,{code:t})).data}async function j(){return(await e.post(`/auth/logout`)).data}async function M({refresh_token:t,signal:n}){return(await e.post(`/auth/refresh`,{refresh_token:t},{timeout:1e4,signal:n})).data}var N=class{_queryClient=f();t=r.global.t;toast=i();queryActivator=l([{name:`checkQuery`,enabled:!0},{name:`listSessionsQuery`,enabled:!0},{name:`listAllSessionsQuery`,enabled:!0},{name:`get2FAStatusQuery`,enabled:!0},{name:`listApiTokensQuery`,enabled:!0}]);get queryClient(){return this._queryClient}checkQuery(){return t({queryKey:[`auth`,`check`],queryFn:({signal:e})=>g(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkQuery`&&e.enabled)})}listSessionsQuery(e){return t({queryKey:[`auth`,`sessions`,e],queryFn:({signal:t})=>_({parameter:u(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`listSessionsQuery`&&e.enabled)})}listAllSessionsQuery(e){return t({queryKey:[`auth`,`sessions`,`all`,e],queryFn:({signal:t})=>v({parameter:u(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`listAllSessionsQuery`&&e.enabled)})}loginQuery(){return o({mutationFn:w,onError:()=>{}})}logoutQuery(){return o({mutationFn:j})}revokeSessionQuery(){return o({mutationFn:y,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`sessions`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.user_logged_out`),life:3e3})}})}revokeOtherSessionsQuery(){return o({mutationFn:b,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`sessions`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.active_sessions.revoke_others_success`),life:3e3})}})}listApiTokensQuery(){return t({queryKey:[`auth`,`apiTokens`],queryFn:({signal:e})=>x(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`listApiTokensQuery`&&e.enabled)})}createApiTokenQuery(){return o({mutationFn:S,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`apiTokens`]})}})}revokeApiTokenQuery(){return o({mutationFn:C,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`apiTokens`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.api_tokens.revoke_success`),life:3e3})}})}refreshQuery(){return o({mutationFn:M})}verify2FAQuery(){return o({mutationFn:T,onError:()=>{}})}get2FAStatusQuery(){return t({queryKey:[`auth`,`2fa`,`status`],queryFn:({signal:e})=>E(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`get2FAStatusQuery`&&e.enabled)})}setup2FAQuery(){return o({mutationFn:D})}enable2FAQuery(){return o({mutationFn:O,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`2fa`,`status`]})}})}disable2FAQuery(){return o({mutationFn:k,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`2fa`,`status`]})}})}regenerateBackupCodesQuery(){return o({mutationFn:A})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{h as n,N as t};
1
+ import{_r as e,gr as t,hr as n,pr as r,wr as i}from"./api-CmdQlVDD.js";import{Nn as a,U as o,an as s,cn as c,cr as l,gr as u,ir as d,q as f}from"./vendor-BaiDFVEr.js";var p={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function m(e,t){return a(),c(`svg`,p,[...t[0]||=[s(`path`,{fill:`currentColor`,d:`m17 7l-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5M4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4z`},null,-1)]])}var h=d({name:`mdi-logout`,render:m});async function g(t){let n=e().endpoint.value??window.location.origin;return(await i.get(`/tunnel/check`,{signal:t,baseURL:n})).data}async function _({parameter:e,signal:t}){return(await i.get(`/auth/sessions`,{params:e,signal:t})).data.result??[]}async function v({parameter:e,signal:t}){return(await i.get(`/auth/sessions/all`,{params:e,signal:t})).data.result??[]}async function y({id:e}){await i.delete(`/auth/sessions/${e}`)}async function b(){await i.delete(`/auth/sessions`)}async function x(e){return(await i.get(`/auth/tokens`,{signal:e})).data??[]}async function S({name:e}){return(await i.post(`/auth/tokens`,{name:e})).data}async function C({id:e}){await i.delete(`/auth/tokens/${e}`)}async function w({loginInformation:e}){return(await i.post(`/auth/login`,e)).data}async function T({tempToken:e,code:t}){return(await i.post(`/auth/verify-2fa`,{tempToken:e,code:t})).data}async function E(e){return(await i.get(`/auth/2fa/status`,{signal:e})).data}async function D(){return(await i.post(`/auth/2fa/setup`)).data}async function O({code:e}){return(await i.post(`/auth/2fa/enable`,{code:e})).data}async function k({code:e}){await i.post(`/auth/2fa/disable`,{code:e})}async function A({code:e}){return(await i.post(`/auth/2fa/backup-codes`,{code:e})).data}async function j(){return(await i.post(`/auth/logout`)).data}async function M({refresh_token:e,signal:t}){return(await i.post(`/auth/refresh`,{refresh_token:e},{timeout:1e4,signal:t})).data}var N=class{_queryClient=f();t=t.global.t;toast=n();queryActivator=l([{name:`checkQuery`,enabled:!0},{name:`listSessionsQuery`,enabled:!0},{name:`listAllSessionsQuery`,enabled:!0},{name:`get2FAStatusQuery`,enabled:!0},{name:`listApiTokensQuery`,enabled:!0}]);get queryClient(){return this._queryClient}checkQuery(){return r({queryKey:[`auth`,`check`],queryFn:({signal:e})=>g(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkQuery`&&e.enabled)})}listSessionsQuery(e){return r({queryKey:[`auth`,`sessions`,e],queryFn:({signal:t})=>_({parameter:u(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`listSessionsQuery`&&e.enabled)})}listAllSessionsQuery(e){return r({queryKey:[`auth`,`sessions`,`all`,e],queryFn:({signal:t})=>v({parameter:u(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`listAllSessionsQuery`&&e.enabled)})}loginQuery(){return o({mutationFn:w,onError:()=>{}})}logoutQuery(){return o({mutationFn:j})}revokeSessionQuery(){return o({mutationFn:y,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`sessions`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.user_logged_out`),life:3e3})}})}revokeOtherSessionsQuery(){return o({mutationFn:b,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`sessions`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.active_sessions.revoke_others_success`),life:3e3})}})}listApiTokensQuery(){return r({queryKey:[`auth`,`apiTokens`],queryFn:({signal:e})=>x(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`listApiTokensQuery`&&e.enabled)})}createApiTokenQuery(){return o({mutationFn:S,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`apiTokens`]})}})}revokeApiTokenQuery(){return o({mutationFn:C,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`apiTokens`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.api_tokens.revoke_success`),life:3e3})}})}refreshQuery(){return o({mutationFn:M})}verify2FAQuery(){return o({mutationFn:T,onError:()=>{}})}get2FAStatusQuery(){return r({queryKey:[`auth`,`2fa`,`status`],queryFn:({signal:e})=>E(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`get2FAStatusQuery`&&e.enabled)})}setup2FAQuery(){return o({mutationFn:D})}enable2FAQuery(){return o({mutationFn:O,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`2fa`,`status`]})}})}disable2FAQuery(){return o({mutationFn:k,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`2fa`,`status`]})}})}regenerateBackupCodesQuery(){return o({mutationFn:A})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{h as n,N as t};
@@ -1 +1 @@
1
- import{Cr as e,fr as t,hr as n,mr as r}from"./api-1K2Gzz8B.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";async function c({signal:t}){return(await e.get(`/automations`,{signal:t})).data}async function l({id:t,signal:n}){return(await e.get(`/automations/${t}`,{signal:n})).data}async function u({id:t,signal:n}){return(await e.get(`/automations/${t}/runs`,{signal:n})).data}async function d({data:t}){return(await e.post(`/automations`,t)).data}async function f({id:t,data:n}){return(await e.patch(`/automations/${t}`,n)).data}async function p({id:t}){await e.delete(`/automations/${t}`)}async function m({ids:t,data:n}){return(await e.patch(`/automations`,{ids:t,data:n})).data}async function h({ids:t}){return(await e.delete(`/automations`,{data:{ids:t}})).data}async function g({id:t}){let{data:n}=await e.post(`/automations/${t}/trigger`);return n}async function _({blueprint:t}){return(await e.post(`/automations/import`,t)).data}async function v({signal:t}){return(await e.get(`/automations/plugin-methods`,{signal:t})).data}async function y({refresh:t,signal:n}){return(await e.get(`/automations/store`,{params:t?{refresh:!0}:{},signal:n})).data}async function b({id:t,signal:n}){return(await e.get(`/automations/store/${t}`,{signal:n})).data}var x=class{_queryClient=s();t=n.global.t;toast=r();queryActivator=a([{name:`getAutomationsQuery`,enabled:!0},{name:`getAutomationQuery`,enabled:!0}]);getAutomationsQuery(){return t({queryKey:[`automationsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getAutomationsQuery`&&e.enabled)})}getAutomationQuery(e){return t({queryKey:[`automation`,e],queryFn:({signal:t})=>l({id:o(e),signal:t}),enabled:()=>!!o(e)&&o(e)!==`new`&&this.queryActivator.value.some(e=>e.name===`getAutomationQuery`&&e.enabled)})}getAutomationRunsQuery(e){return t({queryKey:[`automationRuns`,e],queryFn:({signal:t})=>u({id:o(e),signal:t}),enabled:()=>!!o(e)})}createAutomationQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),this.toast.add({severity:`success`,detail:this.t(`views.automation.saved`),life:3e3})}})}patchAutomationQuery(){return i({mutationFn:f,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),await this._queryClient.refetchQueries({queryKey:[`automation`,t.id]})}})}deleteAutomationQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]})}})}bulkPatchAutomationsQuery(){return i({mutationFn:m,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]})}})}bulkDeleteAutomationsQuery(){return i({mutationFn:h,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]})}})}triggerAutomationQuery(){return i({mutationFn:g,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),await this._queryClient.refetchQueries({queryKey:[`automation`,t.id]})}})}getPluginMethodsQuery(){return t({queryKey:[`automationPluginMethods`],queryFn:({signal:e})=>v({signal:e})})}getAutomationStoreQuery(e){return t({queryKey:[`automationStore`],queryFn:({signal:t})=>y({refresh:o(e),signal:t}),placeholderData:e=>e})}getAutomationStoreItemQuery(e){return t({queryKey:[`automationStoreItem`,e],queryFn:({signal:t})=>b({id:o(e),signal:t}),enabled:()=>!!o(e)})}importBlueprintQuery(){return i({mutationFn:_,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),this.toast.add({severity:`success`,detail:this.t(`views.automations.import_success`),life:3e3})}})}};export{x as t};
1
+ import{gr as e,hr as t,pr as n,wr as r}from"./api-CmdQlVDD.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";async function c({signal:e}){return(await r.get(`/automations`,{signal:e})).data}async function l({id:e,signal:t}){return(await r.get(`/automations/${e}`,{signal:t})).data}async function u({id:e,signal:t}){return(await r.get(`/automations/${e}/runs`,{signal:t})).data}async function d({data:e}){return(await r.post(`/automations`,e)).data}async function f({id:e,data:t}){return(await r.patch(`/automations/${e}`,t)).data}async function p({id:e}){await r.delete(`/automations/${e}`)}async function m({ids:e,data:t}){return(await r.patch(`/automations`,{ids:e,data:t})).data}async function h({ids:e}){return(await r.delete(`/automations`,{data:{ids:e}})).data}async function g({id:e}){let{data:t}=await r.post(`/automations/${e}/trigger`);return t}async function _({blueprint:e}){return(await r.post(`/automations/import`,e)).data}async function v({signal:e}){return(await r.get(`/automations/plugin-methods`,{signal:e})).data}async function y({refresh:e,signal:t}){return(await r.get(`/automations/store`,{params:e?{refresh:!0}:{},signal:t})).data}async function b({id:e,signal:t}){return(await r.get(`/automations/store/${e}`,{signal:t})).data}var x=class{_queryClient=s();t=e.global.t;toast=t();queryActivator=a([{name:`getAutomationsQuery`,enabled:!0},{name:`getAutomationQuery`,enabled:!0}]);getAutomationsQuery(){return n({queryKey:[`automationsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getAutomationsQuery`&&e.enabled)})}getAutomationQuery(e){return n({queryKey:[`automation`,e],queryFn:({signal:t})=>l({id:o(e),signal:t}),enabled:()=>!!o(e)&&o(e)!==`new`&&this.queryActivator.value.some(e=>e.name===`getAutomationQuery`&&e.enabled)})}getAutomationRunsQuery(e){return n({queryKey:[`automationRuns`,e],queryFn:({signal:t})=>u({id:o(e),signal:t}),enabled:()=>!!o(e)})}createAutomationQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),this.toast.add({severity:`success`,detail:this.t(`views.automation.saved`),life:3e3})}})}patchAutomationQuery(){return i({mutationFn:f,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),await this._queryClient.refetchQueries({queryKey:[`automation`,t.id]})}})}deleteAutomationQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]})}})}bulkPatchAutomationsQuery(){return i({mutationFn:m,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]})}})}bulkDeleteAutomationsQuery(){return i({mutationFn:h,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]})}})}triggerAutomationQuery(){return i({mutationFn:g,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),await this._queryClient.refetchQueries({queryKey:[`automation`,t.id]})}})}getPluginMethodsQuery(){return n({queryKey:[`automationPluginMethods`],queryFn:({signal:e})=>v({signal:e})})}getAutomationStoreQuery(e){return n({queryKey:[`automationStore`],queryFn:({signal:t})=>y({refresh:o(e),signal:t}),placeholderData:e=>e})}getAutomationStoreItemQuery(e){return n({queryKey:[`automationStoreItem`,e],queryFn:({signal:t})=>b({id:o(e),signal:t}),enabled:()=>!!o(e)})}importBlueprintQuery(){return i({mutationFn:_,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),this.toast.add({severity:`success`,detail:this.t(`views.automations.import_success`),life:3e3})}})}};export{x as t};
@@ -0,0 +1 @@
1
+ import{M as e}from"./vendor-cameraui-Cf0XVNQ7.js";import{Nn as t,an as n,br as r,cn as i,cr as a,gr as o,hn as s,pn as c,rr as l}from"./vendor-BaiDFVEr.js";import{n as u,r as d,t as f}from"./vendor-zod-Dbq0fBXY.js";import{$ as p,Q as m,X as h,Y as g,Z as _,et as v}from"./types-R10eIequ.js";var y={class:`flex flex-col gap-2 w-full`},b={for:`roomName`,class:`cui-label`},x=s({__name:`CreateRoom`,setup(s,{expose:u}){let d=a(``);return u({onConfirm:async()=>d.value.trim()||null}),(a,s)=>{let u=e;return t(),i(`div`,y,[n(`label`,b,r(a.$t(`components.form.label.name`)),1),c(u,{id:`roomName`,modelValue:o(d),"onUpdate:modelValue":s[0]||=e=>l(d)?d.value=e:null,class:`w-full`,placeholder:a.$t(`components.form.hint.room_select`),autofocus:``},null,8,[`modelValue`,`placeholder`])])}}}),S=RegExp(`^(${g.join(`|`)})`),C=d().trim().min(1,`Camera Source is required`).regex(S,`Unsupported protocol — start the URL with a supported one (e.g. rtsp://)`),w=u({name:d().trim().min(1,`Camera Source Name is required`),urls:C.array(),role:m,useForSnapshot:f().default(!1),hotMode:f().default(!0),preload:f().default(!0),muted:f().default(!1),childSourceId:d().trim().nullish()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),T=u({...h.shape,sources:w.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`]})}).strict(),E=v,D=p,O=_;export{x as a,E as i,D as n,T as r,O as t};
@@ -0,0 +1 @@
1
+ import{nr as e}from"./api-CmdQlVDD.js";export{e as bounceToCloudFrontend};
@@ -1 +1 @@
1
- import{Cr as e,fr as t,hr as n,mr as r}from"./api-1K2Gzz8B.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";async function c({json:t,signal:n}){return(await e.get(`/config`,{params:{json:t},signal:n})).data}async function l({json:t,signal:n}){return(await e.get(`/config/go2rtc`,{params:{json:t},signal:n})).data}async function u({configData:t}){return(await e.patch(`/config`,t,{headers:{"Content-Type":`text/yaml`}})).data}async function d({configData:t}){return(await e.patch(`/config/go2rtc`,t,{headers:{"Content-Type":`text/yaml`}})).data}async function f(){return(await e.delete(`/config`)).data}async function p(){return(await e.delete(`/config/go2rtc`)).data}var m=class{_queryClient=s();t=n.global.t;toast=r();queryActivator=a([{name:`getConfigQuery`,enabled:!0},{name:`getGo2RtcConfigQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getConfigQuery(e=!1){return t({queryKey:[`config`,{json:e}],queryFn:({signal:t})=>c({json:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getConfigQuery`&&e.enabled)})}getGo2RtcConfigQuery(e=!1){return t({queryKey:[`go2rtcConfig`],queryFn:({signal:t})=>l({json:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcConfigQuery`&&e.enabled)})}patchConfigQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`config`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_updated`),life:3e3})}})}patchGo2RtcConfigQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`go2rtcConfig`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_go2rtc_updated`),life:3e3})}})}delteConfigQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`config`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_deleted`),life:3e3})}})}delteGo2RtcConfigQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`go2rtcConfig`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_go2rtc_deleted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as t};
1
+ import{gr as e,hr as t,pr as n,wr as r}from"./api-CmdQlVDD.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-BaiDFVEr.js";async function c({json:e,signal:t}){return(await r.get(`/config`,{params:{json:e},signal:t})).data}async function l({json:e,signal:t}){return(await r.get(`/config/go2rtc`,{params:{json:e},signal:t})).data}async function u({configData:e}){return(await r.patch(`/config`,e,{headers:{"Content-Type":`text/yaml`}})).data}async function d({configData:e}){return(await r.patch(`/config/go2rtc`,e,{headers:{"Content-Type":`text/yaml`}})).data}async function f(){return(await r.delete(`/config`)).data}async function p(){return(await r.delete(`/config/go2rtc`)).data}var m=class{_queryClient=s();t=e.global.t;toast=t();queryActivator=a([{name:`getConfigQuery`,enabled:!0},{name:`getGo2RtcConfigQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getConfigQuery(e=!1){return n({queryKey:[`config`,{json:e}],queryFn:({signal:t})=>c({json:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getConfigQuery`&&e.enabled)})}getGo2RtcConfigQuery(e=!1){return n({queryKey:[`go2rtcConfig`],queryFn:({signal:t})=>l({json:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcConfigQuery`&&e.enabled)})}patchConfigQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`config`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_updated`),life:3e3})}})}patchGo2RtcConfigQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`go2rtcConfig`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_go2rtc_updated`),life:3e3})}})}delteConfigQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`config`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_deleted`),life:3e3})}})}delteGo2RtcConfigQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`go2rtcConfig`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_go2rtc_deleted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as t};
@@ -1 +1 @@
1
- import{Ir as e}from"./vendor-cameraui-C6beJsya.js";import{cr as t,hr as n,in as r}from"./vendor-BaiDFVEr.js";import{F as i,P as a}from"./types-BTVMzSuj.js";import{f as o}from"./vendor-core-_ft7qIgH.js";var s=o(`automations`,()=>{let e=t(null),n=t(null),r=t(null),i=t(!1),a=t(null),o=t([]);function s(e){if(!r.value)return;let t=r.value.edges,n=r.value.nodes,i=t.filter(t=>t.target===e).map(e=>e.source);return n.find(e=>i.includes(e.id))}return{activeFlowId:e,selectedNodeId:n,draft:r,draftDirty:i,lastOutput:a,validationIssues:o,getDraftSourceNode:s}});function c(e,t){if(!e)return[];let n=[];return f(e,t,n,new Set,new Set),n}function l(e,t,n){let r=(n??``).trim();if(r)return c(e,t).find(e=>e.template===r)}function u(t){let i=s(),{t:a}=e(),o=r(()=>c(i.draft,n(t)));return{variables:o,options:r(()=>o.value.map(e=>({label:e.labelKey?a(`components.automation_nodes.${e.labelKey}`):e.label??e.template,value:e.template})))}}function d(e,t){return e?.values?e.values.map(e=>({label:e.labelKey?`${t(`components.automation_nodes.${e.labelKey}`)} (${e.value})`:e.value,value:e.value})):[]}function f(e,t,n,r,i){if(i.has(t))return;i.add(t);let a=e.edges,o=e.nodes;for(let s of a){if(s.target!==t)continue;let a=o.find(e=>e.id===s.source);if(!a?.type)continue;let c=p(a),l=typeof a.data?.alias==`string`?a.data.alias:void 0;for(let e of c){if(l){let t={...e,template:e.template.replace(`{{`,`{{${l}.`),label:`${l}: ${e.label??``}`.trim()};r.has(t.template)||(r.add(t.template),n.push(t))}r.has(e.template)||(r.add(e.template),n.push(e))}f(e,s.source,n,r,i)}}function p(e){let t=e.data??{},n=[],r=(t,r,i,a,o)=>{n.push({template:t,valueType:r,labelKey:i,sourceNodeId:e.id,sourceType:e.type??``,...a&&a.length>0?{values:a}:{},...o?{label:o}:{}})};switch(e.type){case`trigger-detection`:{let e=(t.detectionLabels??[]).map(e=>({value:e}));r(`{{event.type}}`,`enum`,`variable_event_type`,e),r(`{{event.types}}`,`string`,`variable_event_types`),r(`{{event.label}}`,`string`,`variable_event_label`,e),r(`{{event.confidence}}`,`number`,`variable_event_confidence`),r(`{{event.state}}`,`enum`,`variable_event_state`,[{value:`active`,labelKey:`variable_value_active`},{value:`ended`,labelKey:`variable_value_ended`}]),r(`{{event.cameraId}}`,`string`,`variable_event_camera`),r(`{{event.faces}}`,`string`,`variable_event_faces`,(t.faceFilter??[]).map(e=>({value:e}))),r(`{{event.plates}}`,`string`,`variable_event_plates`,(t.licensePlateFilter??[]).map(e=>({value:e}))),r(`{{event.id}}`,`string`,`variable_event_id`);break}case`trigger-sensor`:{let o=String(t.sensorType??``),s=(t.properties??[]).length>0?t.properties:a(o),c=s.map(e=>i(o,e)).filter(e=>!!e);r(`{{sensor.value}}`,m(c),`variable_sensor_value`,h(o,c)),r(`{{sensor.previousValue}}`,m(c),`variable_sensor_previous_value`);for(let t of s){let r=i(o,t);for(let i of r?.keys??[])n.push({template:`{{sensor.value.${i}}}`,valueType:`number`,label:`${t}.${i}`,sourceNodeId:e.id,sourceType:e.type})}r(`{{sensor.property}}`,`enum`,`variable_sensor_property`,s.map(e=>({value:e,labelKey:`sensor_property_${e}`}))),r(`{{sensor.sensorType}}`,`string`,`variable_sensor_type`),r(`{{sensor.sensorId}}`,`string`,`variable_sensor_id`),r(`{{sensor.assignedCameraIds}}`,`string`,`variable_sensor_cameras`);break}case`trigger-webhook`:r(`{{webhook.body}}`,`string`,`variable_webhook_body`),r(`{{webhook.data}}`,`string`,`variable_webhook_data`),r(`{{webhook.method}}`,`enum`,`variable_webhook_method`,[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`].map(e=>({value:e}))),r(`{{webhook.headers}}`,`object`,`variable_webhook_headers`);break;case`trigger-mqtt`:r(`{{mqtt.topic}}`,`string`,`variable_mqtt_topic`,typeof t.topic==`string`&&t.topic?[{value:t.topic}]:void 0),r(`{{mqtt.payload}}`,`string`,`variable_mqtt_payload`);break;case`trigger-geofence`:{let e=t.event??`both`;r(`{{geo.event}}`,`enum`,`variable_geo_event`,(e===`both`?[`enter`,`leave`]:[e]).map(e=>({value:e,labelKey:`variable_value_${e}`}))),r(`{{geo.user}}`,`enum`,`variable_geo_user`,(t.users??[]).map(e=>({value:e}))),r(`{{geo.zone}}`,`string`,`variable_geo_zone`,typeof t.zoneName==`string`&&t.zoneName?[{value:t.zoneName}]:void 0),r(`{{geo.lat}}`,`number`,`variable_geo_lat`),r(`{{geo.lon}}`,`number`,`variable_geo_lon`),r(`{{geo.distance}}`,`number`,`variable_geo_distance`);break}case`trigger-system`:r(`{{system.eventType}}`,`enum`,`variable_system_event_type`,typeof t.eventType==`string`&&t.eventType?[{value:t.eventType}]:void 0),r(`{{system.cameraId}}`,`string`,`variable_system_camera_id`),r(`{{system.cameraName}}`,`string`,`variable_system_camera_name`),r(`{{system.pluginName}}`,`string`,`variable_system_plugin_name`),r(`{{system.pluginId}}`,`string`,`variable_system_plugin_id`),r(`{{system.status}}`,`string`,`variable_system_status`),r(`{{system.property}}`,`string`,`variable_system_property`),r(`{{system.sensorId}}`,`string`,`variable_system_sensor_id`),r(`{{system.sensorType}}`,`string`,`variable_system_sensor_type`),r(`{{system.sensorName}}`,`string`,`variable_system_sensor_name`);break;case`action-snapshot`:r(`{{snapshot}}`,`string`,`variable_snapshot`),r(`{{snapshot.base64}}`,`string`,`variable_snapshot_data_uri`);break;case`action-http`:r(`{{http.status}}`,`number`,`variable_http_status`),r(`{{http.body}}`,`string`,`variable_http_body`),r(`{{http.base64}}`,`string`,`variable_http_base64`),r(`{{http.json}}`,`object`,`variable_http_json`);break;case`action-plugin`:r(`{{plugin.detected}}`,`boolean`,`variable_plugin_detected`,[{value:`true`},{value:`false`}]),r(`{{plugin.labels}}`,`string`,`variable_plugin_labels`),r(`{{plugin.detections}}`,`object`,`variable_plugin_detections`),r(`{{plugin.result}}`,`object`,`variable_plugin_result`),r(`{{plugin.durationMs}}`,`number`,`variable_plugin_duration`);break;case`action-camera-control`:r(`{{camera.id}}`,`string`,`variable_camera_id`),r(`{{camera.name}}`,`string`,`variable_camera_name`);break;case`action-image-input`:{let r=typeof t.variableName==`string`&&t.variableName?t.variableName:`image`;n.push({template:`{{${r}}}`,valueType:`string`,label:r,sourceNodeId:e.id,sourceType:e.type}),n.push({template:`{{${r}.width}}`,valueType:`number`,label:`${r}.width`,sourceNodeId:e.id,sourceType:e.type}),n.push({template:`{{${r}.height}}`,valueType:`number`,label:`${r}.height`,sourceNodeId:e.id,sourceType:e.type});break}case`action-variable`:typeof t.variableName==`string`&&t.variableName&&n.push({template:`{{${t.variableName}}}`,valueType:`string`,label:t.variableName,sourceNodeId:e.id,sourceType:e.type})}return typeof t.repeat==`number`&&t.repeat>1&&(typeof t.repeatConcurrency==`number`&&t.repeatConcurrency>1||(r(`{{repeat.index}}`,`number`,`variable_repeat_index`),r(`{{repeat.iteration}}`,`number`,`variable_repeat_iteration`)),r(`{{repeat.total}}`,`number`,`variable_repeat_total`),r(`{{repeat.totalCalls}}`,`number`,`variable_repeat_total_calls`),r(`{{repeat.elapsedMs}}`,`number`,`variable_repeat_elapsed_ms`),r(`{{repeat.elapsedSec}}`,`number`,`variable_repeat_elapsed_sec`)),(e.type??``).startsWith(`action-`)&&(r(`{{previous.success}}`,`boolean`,`variable_previous_success`,[{value:`true`},{value:`false`}]),r(`{{previous.result}}`,`string`,`variable_previous_result`)),n}function m(e){let t=new Set(e.map(e=>e.type));return t.size===1?[...t][0]:`string`}function h(e,t){let n=[],r=new Set,i=(e,t)=>{r.has(e)||(r.add(e),n.push({value:e,...t?{labelKey:t}:{}}))};for(let n of t)if(n.type===`boolean`)i(`true`),i(`false`);else if(n.type===`enum`&&n.values)for(let[t,r]of Object.entries(n.values))i(String(r),`${e}_state_${t}`);return n}export{s as a,u as i,d as n,c as r,l as t};
1
+ import{Ir as e}from"./vendor-cameraui-Cf0XVNQ7.js";import{cr as t,hr as n,in as r}from"./vendor-BaiDFVEr.js";import{F as i,P as a}from"./types-R10eIequ.js";import{f as o}from"./vendor-core-u4xNQ-aF.js";var s=o(`automations`,()=>{let e=t(null),n=t(null),r=t(null),i=t(!1),a=t(null),o=t([]);function s(e){if(!r.value)return;let t=r.value.edges,n=r.value.nodes,i=t.filter(t=>t.target===e).map(e=>e.source);return n.find(e=>i.includes(e.id))}return{activeFlowId:e,selectedNodeId:n,draft:r,draftDirty:i,lastOutput:a,validationIssues:o,getDraftSourceNode:s}});function c(e,t){if(!e)return[];let n=[];return f(e,t,n,new Set,new Set),n}function l(e,t,n){let r=(n??``).trim();if(r)return c(e,t).find(e=>e.template===r)}function u(t){let i=s(),{t:a}=e(),o=r(()=>c(i.draft,n(t)));return{variables:o,options:r(()=>o.value.map(e=>({label:e.labelKey?a(`components.automation_nodes.${e.labelKey}`):e.label??e.template,value:e.template})))}}function d(e,t){return e?.values?e.values.map(e=>({label:e.labelKey?`${t(`components.automation_nodes.${e.labelKey}`)} (${e.value})`:e.value,value:e.value})):[]}function f(e,t,n,r,i){if(i.has(t))return;i.add(t);let a=e.edges,o=e.nodes;for(let s of a){if(s.target!==t)continue;let a=o.find(e=>e.id===s.source);if(!a?.type)continue;let c=p(a),l=typeof a.data?.alias==`string`?a.data.alias:void 0;for(let e of c){if(l){let t={...e,template:e.template.replace(`{{`,`{{${l}.`),label:`${l}: ${e.label??``}`.trim()};r.has(t.template)||(r.add(t.template),n.push(t))}r.has(e.template)||(r.add(e.template),n.push(e))}f(e,s.source,n,r,i)}}function p(e){let t=e.data??{},n=[],r=(t,r,i,a,o)=>{n.push({template:t,valueType:r,labelKey:i,sourceNodeId:e.id,sourceType:e.type??``,...a&&a.length>0?{values:a}:{},...o?{label:o}:{}})};switch(e.type){case`trigger-detection`:{let e=(t.detectionLabels??[]).map(e=>({value:e}));r(`{{event.type}}`,`enum`,`variable_event_type`,e),r(`{{event.types}}`,`string`,`variable_event_types`),r(`{{event.label}}`,`string`,`variable_event_label`,e),r(`{{event.confidence}}`,`number`,`variable_event_confidence`),r(`{{event.state}}`,`enum`,`variable_event_state`,[{value:`active`,labelKey:`variable_value_active`},{value:`ended`,labelKey:`variable_value_ended`}]),r(`{{event.cameraId}}`,`string`,`variable_event_camera`),r(`{{event.faces}}`,`string`,`variable_event_faces`,(t.faceFilter??[]).map(e=>({value:e}))),r(`{{event.plates}}`,`string`,`variable_event_plates`,(t.licensePlateFilter??[]).map(e=>({value:e}))),r(`{{event.id}}`,`string`,`variable_event_id`);break}case`trigger-sensor`:{let o=String(t.sensorType??``),s=(t.properties??[]).length>0?t.properties:a(o),c=s.map(e=>i(o,e)).filter(e=>!!e);r(`{{sensor.value}}`,m(c),`variable_sensor_value`,h(o,c)),r(`{{sensor.previousValue}}`,m(c),`variable_sensor_previous_value`);for(let t of s){let r=i(o,t);for(let i of r?.keys??[])n.push({template:`{{sensor.value.${i}}}`,valueType:`number`,label:`${t}.${i}`,sourceNodeId:e.id,sourceType:e.type})}r(`{{sensor.property}}`,`enum`,`variable_sensor_property`,s.map(e=>({value:e,labelKey:`sensor_property_${e}`}))),r(`{{sensor.sensorType}}`,`string`,`variable_sensor_type`),r(`{{sensor.sensorId}}`,`string`,`variable_sensor_id`),r(`{{sensor.assignedCameraIds}}`,`string`,`variable_sensor_cameras`);break}case`trigger-webhook`:r(`{{webhook.body}}`,`string`,`variable_webhook_body`),r(`{{webhook.data}}`,`string`,`variable_webhook_data`),r(`{{webhook.method}}`,`enum`,`variable_webhook_method`,[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`].map(e=>({value:e}))),r(`{{webhook.headers}}`,`object`,`variable_webhook_headers`);break;case`trigger-mqtt`:r(`{{mqtt.topic}}`,`string`,`variable_mqtt_topic`,typeof t.topic==`string`&&t.topic?[{value:t.topic}]:void 0),r(`{{mqtt.payload}}`,`string`,`variable_mqtt_payload`);break;case`trigger-geofence`:{let e=t.event??`both`;r(`{{geo.event}}`,`enum`,`variable_geo_event`,(e===`both`?[`enter`,`leave`]:[e]).map(e=>({value:e,labelKey:`variable_value_${e}`}))),r(`{{geo.user}}`,`enum`,`variable_geo_user`,(t.users??[]).map(e=>({value:e}))),r(`{{geo.zone}}`,`string`,`variable_geo_zone`,typeof t.zoneName==`string`&&t.zoneName?[{value:t.zoneName}]:void 0),r(`{{geo.lat}}`,`number`,`variable_geo_lat`),r(`{{geo.lon}}`,`number`,`variable_geo_lon`),r(`{{geo.distance}}`,`number`,`variable_geo_distance`);break}case`trigger-system`:r(`{{system.eventType}}`,`enum`,`variable_system_event_type`,typeof t.eventType==`string`&&t.eventType?[{value:t.eventType}]:void 0),r(`{{system.cameraId}}`,`string`,`variable_system_camera_id`),r(`{{system.cameraName}}`,`string`,`variable_system_camera_name`),r(`{{system.pluginName}}`,`string`,`variable_system_plugin_name`),r(`{{system.pluginId}}`,`string`,`variable_system_plugin_id`),r(`{{system.status}}`,`string`,`variable_system_status`),r(`{{system.property}}`,`string`,`variable_system_property`),r(`{{system.sensorId}}`,`string`,`variable_system_sensor_id`),r(`{{system.sensorType}}`,`string`,`variable_system_sensor_type`),r(`{{system.sensorName}}`,`string`,`variable_system_sensor_name`);break;case`action-snapshot`:r(`{{snapshot}}`,`string`,`variable_snapshot`),r(`{{snapshot.base64}}`,`string`,`variable_snapshot_data_uri`);break;case`action-http`:r(`{{http.status}}`,`number`,`variable_http_status`),r(`{{http.body}}`,`string`,`variable_http_body`),r(`{{http.base64}}`,`string`,`variable_http_base64`),r(`{{http.json}}`,`object`,`variable_http_json`);break;case`action-plugin`:r(`{{plugin.detected}}`,`boolean`,`variable_plugin_detected`,[{value:`true`},{value:`false`}]),r(`{{plugin.labels}}`,`string`,`variable_plugin_labels`),r(`{{plugin.detections}}`,`object`,`variable_plugin_detections`),r(`{{plugin.result}}`,`object`,`variable_plugin_result`),r(`{{plugin.durationMs}}`,`number`,`variable_plugin_duration`);break;case`action-camera-control`:r(`{{camera.id}}`,`string`,`variable_camera_id`),r(`{{camera.name}}`,`string`,`variable_camera_name`);break;case`action-image-input`:{let r=typeof t.variableName==`string`&&t.variableName?t.variableName:`image`;n.push({template:`{{${r}}}`,valueType:`string`,label:r,sourceNodeId:e.id,sourceType:e.type}),n.push({template:`{{${r}.width}}`,valueType:`number`,label:`${r}.width`,sourceNodeId:e.id,sourceType:e.type}),n.push({template:`{{${r}.height}}`,valueType:`number`,label:`${r}.height`,sourceNodeId:e.id,sourceType:e.type});break}case`action-variable`:typeof t.variableName==`string`&&t.variableName&&n.push({template:`{{${t.variableName}}}`,valueType:`string`,label:t.variableName,sourceNodeId:e.id,sourceType:e.type})}return typeof t.repeat==`number`&&t.repeat>1&&(typeof t.repeatConcurrency==`number`&&t.repeatConcurrency>1||(r(`{{repeat.index}}`,`number`,`variable_repeat_index`),r(`{{repeat.iteration}}`,`number`,`variable_repeat_iteration`)),r(`{{repeat.total}}`,`number`,`variable_repeat_total`),r(`{{repeat.totalCalls}}`,`number`,`variable_repeat_total_calls`),r(`{{repeat.elapsedMs}}`,`number`,`variable_repeat_elapsed_ms`),r(`{{repeat.elapsedSec}}`,`number`,`variable_repeat_elapsed_sec`)),(e.type??``).startsWith(`action-`)&&(r(`{{previous.success}}`,`boolean`,`variable_previous_success`,[{value:`true`},{value:`false`}]),r(`{{previous.result}}`,`string`,`variable_previous_result`)),n}function m(e){let t=new Set(e.map(e=>e.type));return t.size===1?[...t][0]:`string`}function h(e,t){let n=[],r=new Set,i=(e,t)=>{r.has(e)||(r.add(e),n.push({value:e,...t?{labelKey:t}:{}}))};for(let n of t)if(n.type===`boolean`)i(`true`),i(`false`);else if(n.type===`enum`&&n.values)for(let[t,r]of Object.entries(n.values))i(String(r),`${e}_state_${t}`);return n}export{s as a,u as i,d as n,c as r,l as t};
@@ -0,0 +1 @@
1
+ import{ra as e}from"./vendor-cameraui-Cf0XVNQ7.js";import{gn as t}from"./vendor-BaiDFVEr.js";function n(n){if(!n){let e=t()?.type;n=e?.__name??e?.name??`UI`}return new e(n)}var r=typeof window<`u`?window.electron:void 0,i=r!==void 0;function a(){return{isElectronApp:i,electron:r}}var o=n(),s=null;function c(){return s??=(async()=>({plugin:null}))(),s}async function l(){try{let{plugin:e}=await c();if(!e)return;await e.start()}catch(e){o.warn(`IntercomService.start failed`,e)}}async function u(){try{let{plugin:e}=await c();if(!e)return;await e.stop()}catch(e){o.warn(`IntercomService.stop failed`,e)}}async function d(){try{let{plugin:e}=await c();return e?(await e.checkMicrophone()).state:null}catch(e){return o.warn(`IntercomService.checkMicrophone failed`,e),null}}export{n as a,a as i,l as n,u as r,d as t};
@@ -1 +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-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-0204ee57]{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-0204ee57]{align-items:center;gap:.5rem;display:flex}.cui-connection-indicator__text[data-v-0204ee57]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-connection-indicator__button[data-v-0204ee57]{margin-left:.5rem}.fade-enter-active[data-v-0204ee57],.fade-leave-active[data-v-0204ee57]{transition:opacity .3s}.fade-enter-from[data-v-0204ee57],.fade-leave-to[data-v-0204ee57]{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-c786d137],.navbar-group-leave-active[data-v-c786d137]{transition:all .2s;overflow:hidden}.navbar-group-enter-from[data-v-c786d137],.navbar-group-leave-to[data-v-c786d137]{opacity:0;max-height:0}.navbar-group-enter-to[data-v-c786d137],.navbar-group-leave-from[data-v-c786d137]{opacity:1;max-height:400px}.nav-edit-move[data-v-c786d137],.nav-edit-enter-active[data-v-c786d137],.nav-edit-leave-active[data-v-c786d137]{transition:transform .25s,opacity .2s}.nav-edit-enter-from[data-v-c786d137],.nav-edit-leave-to[data-v-c786d137]{opacity:0}.nav-edit-leave-active[data-v-c786d137]{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-1c767220]{background:var(--topbar-background);border-bottom:1px solid var(--border-color)}.playground-container[data-v-8cf5b4b8]{z-index:100;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;flex:1;justify-content:center;position:relative}@media (width>=800px){.playground-container[data-v-8cf5b4b8]{border-radius:0 0 2px 2px}}.playground-container .playground[data-v-8cf5b4b8]{position:relative}.playground-container .playground:hover .handle[data-v-8cf5b4b8]{opacity:1}.playground-container .playground.customizing[data-v-8cf5b4b8]{cursor:crosshair}.playground-container .playground.start .custom-notice[data-v-8cf5b4b8]{opacity:1}.playground-container .playground .custom-notice[data-v-8cf5b4b8]{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-8cf5b4b8]{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-8cf5b4b8]:after{content:"Click"}.playground-container .playground .sandbox[data-v-8cf5b4b8]{touch-action:none;width:100%;height:100%;position:relative;inset:0}.playground-container .playground .sandbox .shadowboard[data-v-8cf5b4b8]{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-8cf5b4b8]{opacity:0}.playground-container .playground.customizing .handle[data-v-8cf5b4b8]{pointer-events:none}.handles[data-v-8cf5b4b8]{z-index:10;position:absolute;inset:0}.handles .clipboard[data-v-8cf5b4b8]{z-index:1;position:absolute;inset:0}.handles .clipboard .polygon-container[data-v-8cf5b4b8]{position:absolute}.handles .clipboard .polygon-container path.selected[data-v-8cf5b4b8]{stroke-width:2px}.handles .clipboard .polygon-container path.dash[data-v-8cf5b4b8]{stroke-dasharray:5 5}.handles .delete-point[data-v-8cf5b4b8],.handles .handle[data-v-8cf5b4b8]{z-index:2;width:20px;height:20px;position:absolute}.handles .handle[data-v-8cf5b4b8]{opacity:.8;border-radius:50%;transition:opacity .25s;box-shadow:inset 0 0 0 10px #fff}.handles .handle.is-dragging[data-v-8cf5b4b8],.handles .handle.is-pointer-down[data-v-8cf5b4b8]{z-index:100;cursor:none;transition:box-shadow;box-shadow:inset 0 0 0 10px #d0d0d0}.handles .handle.draggable[data-v-8cf5b4b8]{cursor:grab}.handles .handle.show-delete .delete-point[data-v-8cf5b4b8]{opacity:1;transition:transform .25s cubic-bezier(.15,1,.3,1.1),opacity .25s;transform:scale3d(.9,.9,.9)}.handles .handle[data-v-8cf5b4b8]:after{content:"";display:block;position:absolute;inset:-8px}.handles .handle .delete-point[data-v-8cf5b4b8]{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-8cf5b4b8]: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-9b7f0edd]{flex-direction:column;display:flex}.overview-section[data-v-9b7f0edd]{border-bottom:1px solid var(--surface-border);padding:1rem}.overview-section[data-v-9b7f0edd]:last-child{border-bottom:none}.overview-section-title[data-v-9b7f0edd]{text-transform:uppercase;color:var(--text-secondary-color);letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}[data-v-9b7f0edd] .p-datatable-tbody>tr>td{height:50px}.no-sensors[data-v-9b7f0edd]{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-366c2467]{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
+ .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-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-0204ee57]{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-0204ee57]{align-items:center;gap:.5rem;display:flex}.cui-connection-indicator__text[data-v-0204ee57]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-connection-indicator__button[data-v-0204ee57]{margin-left:.5rem}.fade-enter-active[data-v-0204ee57],.fade-leave-active[data-v-0204ee57]{transition:opacity .3s}.fade-enter-from[data-v-0204ee57],.fade-leave-to[data-v-0204ee57]{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-0076e59d],.navbar-group-leave-active[data-v-0076e59d]{transition:all .2s;overflow:hidden}.navbar-group-enter-from[data-v-0076e59d],.navbar-group-leave-to[data-v-0076e59d]{opacity:0;max-height:0}.navbar-group-enter-to[data-v-0076e59d],.navbar-group-leave-from[data-v-0076e59d]{opacity:1;max-height:400px}.nav-edit-move[data-v-0076e59d],.nav-edit-enter-active[data-v-0076e59d],.nav-edit-leave-active[data-v-0076e59d]{transition:transform .25s,opacity .2s}.nav-edit-enter-from[data-v-0076e59d],.nav-edit-leave-to[data-v-0076e59d]{opacity:0}.nav-edit-leave-active[data-v-0076e59d]{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-2d2f4bc6]{z-index:100;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;flex:1;justify-content:center;position:relative}@media (width>=800px){.playground-container[data-v-2d2f4bc6]{border-radius:0 0 2px 2px}}.playground-container .playground[data-v-2d2f4bc6]{position:relative}.playground-container .playground:hover .handle[data-v-2d2f4bc6]{opacity:1}.playground-container .playground.customizing[data-v-2d2f4bc6]{cursor:crosshair}.playground-container .playground.start .custom-notice[data-v-2d2f4bc6]{opacity:1}.playground-container .playground .custom-notice[data-v-2d2f4bc6]{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-2d2f4bc6]{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-2d2f4bc6]:after{content:"Click"}.playground-container .playground .sandbox[data-v-2d2f4bc6]{touch-action:none;width:100%;height:100%;position:relative;inset:0}.playground-container .playground .sandbox .shadowboard[data-v-2d2f4bc6]{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-2d2f4bc6]{opacity:0}.playground-container .playground.customizing .handle[data-v-2d2f4bc6]{pointer-events:none}.handles[data-v-2d2f4bc6]{z-index:10;position:absolute;inset:0}.handles .clipboard[data-v-2d2f4bc6]{z-index:1;position:absolute;inset:0}.handles .clipboard .polygon-container[data-v-2d2f4bc6]{position:absolute}.handles .clipboard .polygon-container path.selected[data-v-2d2f4bc6]{stroke-width:2px}.handles .clipboard .polygon-container path.dash[data-v-2d2f4bc6]{stroke-dasharray:5 5}.handles .delete-point[data-v-2d2f4bc6],.handles .handle[data-v-2d2f4bc6]{z-index:2;width:20px;height:20px;position:absolute}.handles .handle[data-v-2d2f4bc6]{opacity:.8;border-radius:50%;transition:opacity .25s;box-shadow:inset 0 0 0 10px #fff}.handles .handle.is-dragging[data-v-2d2f4bc6],.handles .handle.is-pointer-down[data-v-2d2f4bc6]{z-index:100;cursor:none;transition:box-shadow;box-shadow:inset 0 0 0 10px #d0d0d0}.handles .handle.draggable[data-v-2d2f4bc6]{cursor:grab}.handles .handle.show-delete .delete-point[data-v-2d2f4bc6]{opacity:1;transition:transform .25s cubic-bezier(.15,1,.3,1.1),opacity .25s;transform:scale3d(.9,.9,.9)}.handles .handle[data-v-2d2f4bc6]:after{content:"";display:block;position:absolute;inset:-8px}.handles .handle .delete-point[data-v-2d2f4bc6]{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-2d2f4bc6]: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-9b7f0edd]{flex-direction:column;display:flex}.overview-section[data-v-9b7f0edd]{border-bottom:1px solid var(--surface-border);padding:1rem}.overview-section[data-v-9b7f0edd]:last-child{border-bottom:none}.overview-section-title[data-v-9b7f0edd]{text-transform:uppercase;color:var(--text-secondary-color);letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}[data-v-9b7f0edd] .p-datatable-tbody>tr>td{height:50px}.no-sensors[data-v-9b7f0edd]{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-366c2467]{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}