@camera.ui/server 2.2.7 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (958) hide show
  1. package/LICENSE.md +8 -1
  2. package/dist/interface/assets/404-C0X5UBF4.js +1 -0
  3. package/dist/interface/assets/About-Ctp_u5qK.js +1 -0
  4. package/dist/interface/assets/Assistant-Bj2bAUHD.css +1 -0
  5. package/dist/interface/assets/Assistant-CDrBV_mg.js +1 -0
  6. package/dist/interface/assets/Automation-Dp6V80Iz.js +3 -0
  7. package/dist/interface/assets/Automation-R5o9sXYY.css +1 -0
  8. package/dist/interface/assets/AutomationImport-DKgg7atE.js +2 -0
  9. package/dist/interface/assets/AutomationStore-CU-m5VC8.js +2 -0
  10. package/dist/interface/assets/AutomationStoreDetail-CiyIs8Iu.js +2 -0
  11. package/dist/interface/assets/Automations-Dljh-sWu.js +2 -0
  12. package/dist/interface/assets/Camera-0p0P_mbp.css +1 -0
  13. package/dist/interface/assets/Camera-Bvovab-8.js +2 -0
  14. package/dist/interface/assets/CameraConsole-D_Fv-MAi.js +7 -0
  15. package/dist/interface/assets/Cameras-Cq7Gw-fk.js +651 -0
  16. package/dist/interface/assets/Camview-Bs2VvmUS.css +1 -0
  17. package/dist/interface/assets/Camview-CP6PA20C.js +1 -0
  18. package/dist/interface/assets/CertificateUpload-DjzNMFc3.js +1 -0
  19. package/dist/interface/assets/Config-Dl2TlyFe.js +2 -0
  20. package/dist/interface/assets/ConfigActionAssistant-DCkJ_Iqq.js +1 -0
  21. package/dist/interface/assets/ConfigActionCameraControl-2pzl59gR.js +1 -0
  22. package/dist/interface/assets/ConfigActionDelay-BAp1dr0N.js +1 -0
  23. package/dist/interface/assets/ConfigActionHttp-_kqgEuun.js +1 -0
  24. package/dist/interface/assets/ConfigActionImageInput-BgtACnCm.js +1 -0
  25. package/dist/interface/assets/ConfigActionMqtt-z7UzccW5.js +1 -0
  26. package/dist/interface/assets/ConfigActionNotification-bhbb5AqU.js +1 -0
  27. package/dist/interface/assets/ConfigActionNotificationControl-BbvX8MFu.js +1 -0
  28. package/dist/interface/assets/ConfigActionOutput-DdgSg3FU.js +1 -0
  29. package/dist/interface/assets/ConfigActionPlugin-DGjZd1L0.js +1 -0
  30. package/dist/interface/assets/ConfigActionSensor-DmImWFAo.js +1 -0
  31. package/dist/interface/assets/ConfigActionSnapshot-hVHSfdtS.js +1 -0
  32. package/dist/interface/assets/ConfigActionVariable-BIpruwsx.js +1 -0
  33. package/dist/interface/assets/ConfigConditionIfElse-DRSpsoR4.js +1 -0
  34. package/dist/interface/assets/ConfigConditionSensorState-C2SNARH7.js +1 -0
  35. package/dist/interface/assets/ConfigConditionSwitch-4SbQcU7N.js +1 -0
  36. package/dist/interface/assets/ConfigConditionTime-ESX3shbg.js +1 -0
  37. package/dist/interface/assets/ConfigSensorValueInput-CTUdAA-R.js +1 -0
  38. package/dist/interface/assets/ConfigTriggerDetection-BRr6ixxQ.js +1 -0
  39. package/dist/interface/assets/ConfigTriggerGeofence-D-xRMGrT.js +1 -0
  40. package/dist/interface/assets/ConfigTriggerManual-aXD6k1qa.js +1 -0
  41. package/dist/interface/assets/ConfigTriggerMqtt-pjHW4yOL.js +1 -0
  42. package/dist/interface/assets/ConfigTriggerSchedule-CYOt57qg.js +1 -0
  43. package/dist/interface/assets/ConfigTriggerSensor-BwJ_cAqd.js +1 -0
  44. package/dist/interface/assets/ConfigTriggerSystem-DBXIrjzU.js +1 -0
  45. package/dist/interface/assets/ConfigTriggerWebhook-CccBmMCb.js +1 -0
  46. package/dist/interface/assets/Console-DWAaz1C6.js +1 -0
  47. package/dist/interface/assets/CuiAssistantConversation-B3xEiNNt.js +5 -0
  48. package/dist/interface/assets/CuiAssistantConversation-C5ca1lgX.css +1 -0
  49. package/dist/interface/assets/CuiAutomationRunsDialog-CfylVPLI.js +1 -0
  50. package/dist/interface/assets/CuiBottomSheet-ACN23VLS.js +1 -0
  51. package/dist/interface/assets/CuiBottomSheet-DEVNeDqa.js +1 -0
  52. package/dist/interface/assets/CuiCameraPipCard-TYTCfwXf.css +1 -0
  53. package/dist/interface/assets/CuiCameraPipCard-rR_FW9zq.js +1 -0
  54. package/dist/interface/assets/CuiCameraRecordings-CnorhPhf.js +1 -0
  55. package/dist/interface/assets/CuiCameraShares-BxUgedC_.js +1 -0
  56. package/dist/interface/assets/CuiCameraTable-C3GB4Q2y.js +2 -0
  57. package/dist/interface/assets/CuiCameraTable-MHfnZSyK.js +1 -0
  58. package/dist/interface/assets/CuiChartTable-TAzZgetO.js +1 -0
  59. package/dist/interface/assets/CuiConsole-Cf5lOCE1.js +5 -0
  60. package/dist/interface/assets/CuiDataTable-DfjXa0C1.js +1 -0
  61. package/dist/interface/assets/CuiLightControl-ChK-SvJp.js +1 -0
  62. package/dist/interface/assets/CuiList-C4fxd9lD.js +1 -0
  63. package/dist/interface/assets/CuiMarkdownContent-Do04YgHe.js +1 -0
  64. package/dist/interface/assets/CuiMarkdownContent-qOPm3VEi.js +1 -0
  65. package/dist/interface/assets/CuiPluginCard-DMpANIQj.js +2 -0
  66. package/dist/interface/assets/CuiPluginCategoryChip-BKxJMid7.js +1 -0
  67. package/dist/interface/assets/CuiPluginOAuthButton-DnQ838JJ.js +2 -0
  68. package/dist/interface/assets/CuiPluginTrustBadge-DyYDUWV6.js +1 -0
  69. package/dist/interface/assets/CuiQRCode-S9fPi0_l.js +1 -0
  70. package/dist/interface/assets/CuiSchema-DScmDQsh.js +1 -0
  71. package/dist/interface/assets/CuiTopNavbarItem-CT10aAlO.js +1 -0
  72. package/dist/interface/assets/Faces-Coy-tUVM.js +1 -0
  73. package/dist/interface/assets/FirstSteps-CrMJC049.js +1 -0
  74. package/dist/interface/assets/Floorplan-Bj_mVrxp.js +1 -0
  75. package/dist/interface/assets/Floorplan-CT5TrMSD.css +1 -0
  76. package/dist/interface/assets/Instances-B_mpKAng.js +1 -0
  77. package/dist/interface/assets/Logs-fY1dpQk4.js +6 -0
  78. package/dist/interface/assets/Menu-Bgi-NLdg.js +1 -0
  79. package/dist/interface/assets/Metrics-DnMeIrkf.css +1 -0
  80. package/dist/interface/assets/Metrics-k9KACiwh.js +12 -0
  81. package/dist/interface/assets/OAuthDeviceFlow-xTh83xmc.js +1 -0
  82. package/dist/interface/assets/Plugin-BB7x7UHw.css +1 -0
  83. package/dist/interface/assets/Plugin-VWq7sONB.js +1 -0
  84. package/dist/interface/assets/PluginConsole-LnnDOVBL.js +7 -0
  85. package/dist/interface/assets/PluginDetail-CKD9sbDx.js +2 -0
  86. package/dist/interface/assets/PluginSchema-BnB0_6Sk.js +1 -0
  87. package/dist/interface/assets/PluginSearch-BoBZLLbr.js +1 -0
  88. package/dist/interface/assets/PluginSearch-kGhweU1J.js +2 -0
  89. package/dist/interface/assets/PluginUpdateProgress-DMx0QlgE.js +1 -0
  90. package/dist/interface/assets/Plugins-Ekmr6aVa.js +1 -0
  91. package/dist/interface/assets/RecentEventsFilter-StLJNuks.js +1 -0
  92. package/dist/interface/assets/Recordings-8PqxJOI3.css +1 -0
  93. package/dist/interface/assets/Recordings-Bvkuk_TV.js +1 -0
  94. package/dist/interface/assets/SensorEdit-CAf9Nb01.js +1 -0
  95. package/dist/interface/assets/SensorHistory-il8bDErX.js +1 -0
  96. package/dist/interface/assets/Sensors-sxQ6HLKo.js +2 -0
  97. package/dist/interface/assets/Settings-Bu0G7Ebx.js +1 -0
  98. package/dist/interface/assets/Settings-DtCSaLPb.css +1 -0
  99. package/dist/interface/assets/SettingsAccount-8OZJLQi-.js +1 -0
  100. package/dist/interface/assets/SettingsAccount-bSfFi9YH.js +1 -0
  101. package/dist/interface/assets/SettingsAppearance-CnvN_Tzr.js +1 -0
  102. package/dist/interface/assets/SettingsAppearance-EvPWgF4c.js +1 -0
  103. package/dist/interface/assets/SettingsAssistant-B6s6pHCx.js +1 -0
  104. package/dist/interface/assets/SettingsBackup-Dd2FaUcN.js +1 -0
  105. package/dist/interface/assets/SettingsList-SvCO_gfG.js +1 -0
  106. package/dist/interface/assets/SettingsMqtt-BXBzHX84.js +1 -0
  107. package/dist/interface/assets/SettingsNotifications-CV-jJwFV.js +1 -0
  108. package/dist/interface/assets/SettingsPermissions-GchFaWjz.js +1 -0
  109. package/dist/interface/assets/SettingsRecordings-C4Ch_jmV.js +1 -0
  110. package/dist/interface/assets/SettingsRemote-CsIGx-LU.css +1 -0
  111. package/dist/interface/assets/SettingsRemote-OZHDJKSq.js +2 -0
  112. package/dist/interface/assets/SettingsSystem-BJlHXwVs.js +2 -0
  113. package/dist/interface/assets/SettingsUsers-RGOkOzx0.js +1 -0
  114. package/dist/interface/assets/Terminal-DX-ECC91.js +4 -0
  115. package/dist/interface/assets/Training-B8my7vka.js +1 -0
  116. package/dist/interface/assets/Training-D1DDjCCD.css +1 -0
  117. package/dist/interface/assets/Updates-DmavyhAn.js +2 -0
  118. package/dist/interface/assets/VariableInput-DQJle67Y.js +1 -0
  119. package/dist/interface/assets/VariableSuggestions-D8V739dF.js +1 -0
  120. package/dist/interface/assets/VersionsHandler-B41TJhgY.js +7 -0
  121. package/dist/interface/assets/VirtualSensorCreate-MfLh-LpH.js +1 -0
  122. package/dist/interface/assets/Workers-CafDeRhH.js +2 -0
  123. package/dist/interface/assets/Workers-Dey1snI4.css +1 -0
  124. package/dist/interface/assets/account-DjBQulDn.js +1 -0
  125. package/dist/interface/assets/ace-BPAekgyf.js +1 -0
  126. package/dist/interface/assets/ace.config-CvKE-yp1.js +1 -0
  127. package/dist/interface/assets/alert-circle-B-JCMbb9.js +1 -0
  128. package/dist/interface/assets/alert-outline-B4ZZowEj.js +1 -0
  129. package/dist/interface/assets/api-By0v6EeA.css +2 -0
  130. package/dist/interface/assets/api-D1iULsSy.js +4 -0
  131. package/dist/interface/assets/api-DbUdfXO_.js +1 -0
  132. package/dist/interface/assets/arrow-left-PeaVwpHd.js +1 -0
  133. package/dist/interface/assets/assistant-7hqP6OpA.js +1 -0
  134. package/dist/interface/assets/assistantModels-D3ncWWu0.js +1 -0
  135. package/dist/interface/assets/auth-CDxrn7fe.js +1 -0
  136. package/dist/interface/assets/automations-CTTQlGCW.js +1 -0
  137. package/dist/interface/assets/back-filled-CJoz7Gkl.js +1 -0
  138. package/dist/interface/assets/bell-ring-CBf0Yn3H.js +1 -0
  139. package/dist/interface/assets/brain-uZ03n3LW.js +1 -0
  140. package/dist/interface/assets/cameraSources-MOiE_1-W.js +1 -0
  141. package/dist/interface/assets/cctv-VgKQ-dBV.js +1 -0
  142. package/dist/interface/assets/check-circle-BU-KNgPB.js +1 -0
  143. package/dist/interface/assets/check-circle-outline-BsxzAMed.js +1 -0
  144. package/dist/interface/assets/chevron-down-CxK4Sfjs.js +1 -0
  145. package/dist/interface/assets/chevron-up-DWfNH8va.js +1 -0
  146. package/dist/interface/assets/clock-outline-BtWx4GaF.js +1 -0
  147. package/dist/interface/assets/close-Be7oB7d_.js +1 -0
  148. package/dist/interface/assets/close-circle-D7Jmhp_7.js +1 -0
  149. package/dist/interface/assets/cloud-check-zCGJxpWI.js +1 -0
  150. package/dist/interface/assets/cloudHandoff-CJzFH7CW.js +1 -0
  151. package/dist/interface/assets/config-6EiGxiYm.js +1 -0
  152. package/dist/interface/assets/content-copy-BcYlfuFc.js +1 -0
  153. package/dist/interface/assets/copy-DuY-M96E.js +1 -0
  154. package/dist/interface/assets/cube-scan-Cae03i_N.js +1 -0
  155. package/dist/interface/assets/database-refresh-outline-B3OEQFF7.js +1 -0
  156. package/dist/interface/assets/delete-BWgOAzKl.js +1 -0
  157. package/dist/interface/assets/dist-DmpuuM9s.js +1 -0
  158. package/dist/interface/assets/dots-vertical-Kby1GY8_.js +1 -0
  159. package/dist/interface/assets/download-C291Yq7I.js +1 -0
  160. package/dist/interface/assets/esm-B2TVBF3B.js +1 -0
  161. package/dist/interface/assets/esm-BEntuCG7.js +1 -0
  162. package/dist/interface/assets/esm-BRnyrFH8.js +1 -0
  163. package/dist/interface/assets/esm-CCwXzd_8.js +1 -0
  164. package/dist/interface/assets/esm-CEjwTsuD.js +1 -0
  165. package/dist/interface/assets/esm-CGGV9tC4.js +1 -0
  166. package/dist/interface/assets/esm-CI2tTOc5.js +1 -0
  167. package/dist/interface/assets/esm-CgxZmMYv.js +1 -0
  168. package/dist/interface/assets/esm-Csc6f5Fy.js +1 -0
  169. package/dist/interface/assets/esm-Qzx3d-Ie.js +1 -0
  170. package/dist/interface/assets/esm-a_w7mTdx.js +1 -0
  171. package/dist/interface/assets/esm-iKfsu7-H.js +1 -0
  172. package/dist/interface/assets/esm-ks5kvk_e.js +1 -0
  173. package/dist/interface/assets/esm-nJfTguKF.js +1 -0
  174. package/dist/interface/assets/eventLabels-idFWh3Y_.js +1 -0
  175. package/dist/interface/assets/eye-off-zGCIHKOK.js +1 -0
  176. package/dist/interface/assets/flowSchema-Dp_-p9WA.js +1 -0
  177. package/dist/interface/assets/help-circle-outline-DXFepDAG.js +1 -0
  178. package/dist/interface/assets/history-D-FlZdKD.js +1 -0
  179. package/dist/interface/assets/home-DPdzRxcM.js +1 -0
  180. package/dist/interface/assets/information-outline-ChOM9qgI.js +1 -0
  181. package/dist/interface/assets/intercomService-BQYzjnAi.js +1 -0
  182. package/dist/interface/assets/lan-DvYEO83l.js +1 -0
  183. package/dist/interface/assets/main-0oXl_8v7.js +3 -0
  184. package/dist/interface/assets/main-CdvAniEp.css +1 -0
  185. package/dist/interface/assets/microphone-D-T9xga4.js +1 -0
  186. package/dist/interface/assets/minus-4T4INuO4.js +1 -0
  187. package/dist/interface/assets/mqtt-ChvXxMhR.js +1 -0
  188. package/dist/interface/assets/native-CtfXrwj5.js +1 -0
  189. package/dist/interface/assets/native-JMtkOkIV.js +1 -0
  190. package/dist/interface/assets/nodeDefinitions-Dp8cnne1.js +1 -0
  191. package/dist/interface/assets/notifications-CbL-1oMs.js +1 -0
  192. package/dist/interface/assets/pause-DHqHYA3V.js +1 -0
  193. package/dist/interface/assets/pencil-outline-D-GmPf8M.js +1 -0
  194. package/dist/interface/assets/pencil-vACi-JzY.js +1 -0
  195. package/dist/interface/assets/plugin-Dt5Xetfz.js +1 -0
  196. package/dist/interface/assets/plugins-lsoAntRQ.js +1 -0
  197. package/dist/interface/assets/plus-BBUb8_uL.js +1 -0
  198. package/dist/interface/assets/plus-BJb7U4bN.js +1 -0
  199. package/dist/interface/assets/power-Dm_aNIz-.js +1 -0
  200. package/dist/interface/assets/radar-Dcvdz--e.js +1 -0
  201. package/dist/interface/assets/refresh-CO4F18Je.js +1 -0
  202. package/dist/interface/assets/restore-xRBt3Grb.js +1 -0
  203. package/dist/interface/assets/rooms-P8WrRIco.js +1 -0
  204. package/dist/interface/assets/round-alt-arrow-left-bold-CZHXzGS5.js +1 -0
  205. package/dist/interface/assets/search-D75YW08B.js +1 -0
  206. package/dist/interface/assets/sensorIcons-BRTtoaHX.js +1 -0
  207. package/dist/interface/assets/sensorSlots-BTj-IM7z.js +1 -0
  208. package/dist/interface/assets/sensors-Dxc7HgjZ.js +1 -0
  209. package/dist/interface/assets/server-DlK8gUoE.js +1 -0
  210. package/dist/interface/assets/settings-DDOgc5BX.js +1 -0
  211. package/dist/interface/assets/source-branch-DVHuYlkZ.js +1 -0
  212. package/dist/interface/assets/theme-BOppzzar.js +1 -0
  213. package/dist/interface/assets/trash-2-DDKPtl2x.js +1 -0
  214. package/dist/interface/assets/trash-can-outline-DVH3zgo0.js +1 -0
  215. package/dist/interface/assets/trash-fill-C_IJ4Vu2.js +1 -0
  216. package/dist/interface/assets/trash2-DY0XTaJD.js +1 -0
  217. package/dist/interface/assets/types-CeruGCb8.js +1 -0
  218. package/dist/interface/assets/types-J1Drrxo1.js +1 -0
  219. package/dist/interface/assets/types-U4AuTNLR.js +1 -0
  220. package/dist/interface/assets/undo-YRkBYCnf.js +1 -0
  221. package/dist/interface/assets/ungrouped-ING_JAuK.js +1 -0
  222. package/dist/interface/assets/updates-DtVp84Y0.js +1 -0
  223. package/dist/interface/assets/upload-2WcHRjTq.js +1 -0
  224. package/dist/interface/assets/upload-BiE7VzTj.js +1 -0
  225. package/dist/interface/assets/useAppVersion-BGgCk5GD.js +1 -0
  226. package/dist/interface/assets/useAssistantActions-C13O5EHU.js +1 -0
  227. package/dist/interface/assets/useBackupRestore-vrhmc9i-.js +1 -0
  228. package/dist/interface/assets/useCameraOptions-CI1baRmm.js +1 -0
  229. package/dist/interface/assets/useKeyboardInset-CvgJp091.js +1 -0
  230. package/dist/interface/assets/useLogsSocket-Bf0BI8ET.js +1 -0
  231. package/dist/interface/assets/useNavLayout-6zM1Y-7B.js +1 -0
  232. package/dist/interface/assets/usePermissions-DZitFsBQ.js +1 -0
  233. package/dist/interface/assets/usePluginUpdates-VZdpJ_Ax.js +1 -0
  234. package/dist/interface/assets/usePushRegistration-vcbMrTxZ.js +2 -0
  235. package/dist/interface/assets/useServerRestart-DrpuNbIu.js +1 -0
  236. package/dist/interface/assets/useStreamStatus-l3Pfk1H4.js +1 -0
  237. package/dist/interface/assets/useTabSwipe-BSpi25WV.js +1 -0
  238. package/dist/interface/assets/useUpdateChannel-kAl-5UNY.js +1 -0
  239. package/dist/interface/assets/useUpdatesSocket-CaFz_fEb.js +1 -0
  240. package/dist/interface/assets/useUserOptions-BKteXnmU.js +1 -0
  241. package/dist/interface/assets/variable-Cp8o-q8t.js +1 -0
  242. package/dist/interface/assets/vendor-Df81FCJz.js +29 -0
  243. package/dist/interface/assets/vendor-ace-QSsGUspX.js +1085 -0
  244. package/dist/interface/assets/vendor-cameraui-K1Nw4PvF.js +2326 -0
  245. package/dist/interface/assets/vendor-capacitor-t5EIN1GG.js +2 -0
  246. package/dist/interface/assets/vendor-chart-BiJYkx5_.js +3 -0
  247. package/dist/interface/assets/vendor-core-CJdfpB0I.js +1 -0
  248. package/dist/interface/assets/vendor-dnd-C1kMh9_t.js +2 -0
  249. package/dist/interface/assets/vendor-draggabilly-Cw1oJ6qc.js +1 -0
  250. package/dist/interface/assets/vendor-leaflet-OSZlONe5.js +1 -0
  251. package/dist/interface/assets/vendor-markdown-DTWiWKBj.js +14 -0
  252. package/dist/interface/assets/vendor-primevue-DoA2Rwcb.js +3942 -0
  253. package/dist/interface/assets/vendor-vueflow-DWU_IzGe.js +26 -0
  254. package/dist/interface/assets/walk-B8FNhXuj.js +1 -0
  255. package/dist/interface/assets/web-B98ahwoP.js +1 -0
  256. package/dist/interface/assets/web-BSsSrRZf.js +1 -0
  257. package/dist/interface/assets/web-BiNRDta4.js +1 -0
  258. package/dist/interface/assets/web-BjKL51lK-CZKmYhby.js +1 -0
  259. package/dist/interface/assets/web-BjtOcquy.js +1 -0
  260. package/dist/interface/assets/web-CkTE9nCG.js +1 -0
  261. package/dist/interface/assets/web-Cvogq5S5.js +1 -0
  262. package/dist/interface/assets/web-D-A4EBKj.js +1 -0
  263. package/dist/interface/assets/web-DVGMBduz.js +1 -0
  264. package/dist/interface/assets/web-SpWB7I6X.js +1 -0
  265. package/dist/interface/assets/web-k0ihT_qK.js +1 -0
  266. package/dist/interface/assets/web-ovBpm7Dl.js +1 -0
  267. package/dist/interface/assets/web-z5Xz9tOQ.js +1 -0
  268. package/dist/interface/assets/web-zfhkFevT.js +1 -0
  269. package/dist/interface/assets/webhook-DIjChTrs.js +1 -0
  270. package/dist/interface/assets/workbox-window.prod.es5-DRKojI0e.js +1 -0
  271. package/dist/interface/assets/zoom-in-rMB152Uz.js +1 -0
  272. package/dist/interface/ha/404-RtgPpD9N.js +60 -0
  273. package/dist/interface/ha/About-0PRv9bU0.js +55 -0
  274. package/dist/interface/ha/Assistant-DbwxVfpl.js +9853 -0
  275. package/dist/interface/ha/Automation-D3HomdH7.js +2029 -0
  276. package/dist/interface/ha/AutomationImport-nQUUvZcv.js +206 -0
  277. package/dist/interface/ha/AutomationStore-BXDD92wZ.js +336 -0
  278. package/dist/interface/ha/AutomationStoreDetail-BYeq7FID.js +122 -0
  279. package/dist/interface/ha/Automations-CJlGqmSP.js +424 -0
  280. package/dist/interface/ha/Camera-Ai4BxVh_.js +747 -0
  281. package/dist/interface/ha/CameraConsole-UMNOX3dE.js +52 -0
  282. package/dist/interface/ha/Cameras-BW-AEXYi.js +1971 -0
  283. package/dist/interface/ha/Camview-jikpVEE0.js +1336 -0
  284. package/dist/interface/ha/Config-BOxwBH2D.js +356 -0
  285. package/dist/interface/ha/ConfigActionAssistant--3iWk9sq.js +182 -0
  286. package/dist/interface/ha/ConfigActionCameraControl-DbVXWTeA.js +152 -0
  287. package/dist/interface/ha/ConfigActionHttp-Du3n2Yj0.js +134 -0
  288. package/dist/interface/ha/ConfigActionImageInput-BrJrTZTY.js +171 -0
  289. package/dist/interface/ha/ConfigActionMqtt-DZd1BNUt.js +81 -0
  290. package/dist/interface/ha/ConfigActionNotification-CJWW10gt.js +199 -0
  291. package/dist/interface/ha/ConfigActionNotificationControl-Bl41AVv1.js +111 -0
  292. package/dist/interface/ha/ConfigActionOutput-OTj7Lwgq.js +98 -0
  293. package/dist/interface/ha/ConfigActionPlugin-B790PEk0.js +172 -0
  294. package/dist/interface/ha/ConfigActionSensor-BG3jZxge.js +139 -0
  295. package/dist/interface/ha/ConfigActionSnapshot-fGmLl6jb.js +48 -0
  296. package/dist/interface/ha/ConfigActionVariable-CK3vYDsr.js +88 -0
  297. package/dist/interface/ha/ConfigConditionIfElse-DyFLGg3y.js +124 -0
  298. package/dist/interface/ha/ConfigConditionSensorState-BUTfeFO2.js +192 -0
  299. package/dist/interface/ha/ConfigConditionSwitch-iDG_ubif.js +128 -0
  300. package/dist/interface/ha/ConfigSensorValueInput-BmRIGUKB.js +170 -0
  301. package/dist/interface/ha/ConfigTriggerDetection-DyPQGt9M.js +241 -0
  302. package/dist/interface/ha/ConfigTriggerGeofence-CGE-bH_t.js +4888 -0
  303. package/dist/interface/ha/ConfigTriggerMqtt-CM3KZqBc.js +134 -0
  304. package/dist/interface/ha/ConfigTriggerSensor-DoHMcwP4.js +73 -0
  305. package/dist/interface/ha/ConfigTriggerSystem-BYKbW4Zr.js +192 -0
  306. package/dist/interface/ha/ConfigTriggerWebhook-5PBAadG8.js +94 -0
  307. package/dist/interface/ha/Console-BEXzl4p1.js +348 -0
  308. package/dist/interface/ha/CuiAutomationRunsDialog-DkK_ar5G.js +130 -0
  309. package/dist/interface/ha/CuiBottomSheet-CYNvQV4T.js +270 -0
  310. package/dist/interface/ha/CuiCameraRecordings-DYjecmE_.js +533 -0
  311. package/dist/interface/ha/CuiCameraShares-C0H60nZS.js +121 -0
  312. package/dist/interface/ha/CuiCameraTable-CQNMyBaq.js +169 -0
  313. package/dist/interface/ha/CuiChartTable-Bhv1p9zj.js +6801 -0
  314. package/dist/interface/ha/CuiConsole-DtXorGF5.js +244 -0
  315. package/dist/interface/ha/CuiDataTable-Cy8EjCk9.js +8732 -0
  316. package/dist/interface/ha/CuiList-DnW6Q5m2.js +57 -0
  317. package/dist/interface/ha/CuiPluginCard-B4SCUblV.js +769 -0
  318. package/dist/interface/ha/CuiPluginOAuthButton-BKg9SftQ.js +79 -0
  319. package/dist/interface/ha/CuiPluginTrustBadge-CEtUJhCJ.js +123 -0
  320. package/dist/interface/ha/CuiQRCode-gp-9hqyk.js +86 -0
  321. package/dist/interface/ha/CuiSchema-CYpr_dD7.js +963 -0
  322. package/dist/interface/ha/CuiTopNavbarItem-CM-1oPxf.js +140 -0
  323. package/dist/interface/ha/Faces-pa60ySng.js +1575 -0
  324. package/dist/interface/ha/FirstSteps-D42yZm7R.js +251 -0
  325. package/dist/interface/ha/Floorplan-BvE546pE.js +3657 -0
  326. package/dist/interface/ha/Instances-CAGCyfbB.js +680 -0
  327. package/dist/interface/ha/Logs-RB3Ba8WM.js +418 -0
  328. package/dist/interface/ha/Menu-hAnHu_jq.js +156 -0
  329. package/dist/interface/ha/Metrics-ChYTebkX.js +1448 -0
  330. package/dist/interface/ha/OAuthDeviceFlow-C05pH-9o.js +112 -0
  331. package/dist/interface/ha/Plugin-D7XwcXkW.js +1752 -0
  332. package/dist/interface/ha/PluginConsole-DphEIOlL.js +56 -0
  333. package/dist/interface/ha/PluginDetail-DfMl-yCl.js +805 -0
  334. package/dist/interface/ha/PluginSearch-BPN4Opg5.js +462 -0
  335. package/dist/interface/ha/PluginUpdateProgress-ByJ0R5sW.js +34 -0
  336. package/dist/interface/ha/Plugins-BhKmjjNn.js +692 -0
  337. package/dist/interface/ha/RecentEventsFilter-BkLMlGVJ.js +78 -0
  338. package/dist/interface/ha/Recordings-BaU7M1OW.js +1836 -0
  339. package/dist/interface/ha/SensorEdit-DWxcCJ0F.js +1462 -0
  340. package/dist/interface/ha/SensorHistory-DuA9E9wT.js +54 -0
  341. package/dist/interface/ha/Sensors-CVpIHcgG.js +1402 -0
  342. package/dist/interface/ha/Settings-BO2eBGEn.js +218 -0
  343. package/dist/interface/ha/SettingsAccount-BQZZfoSM.js +971 -0
  344. package/dist/interface/ha/SettingsAppearance-B_yGl89u.js +220 -0
  345. package/dist/interface/ha/SettingsAssistant-kMOixl9g.js +2025 -0
  346. package/dist/interface/ha/SettingsBackup-BpG-W4j-.js +556 -0
  347. package/dist/interface/ha/SettingsList-Btnkzu94.js +40 -0
  348. package/dist/interface/ha/SettingsMqtt-C4DX9cNC.js +526 -0
  349. package/dist/interface/ha/SettingsNotifications-DI6ImggH.js +529 -0
  350. package/dist/interface/ha/SettingsPermissions-BCDyCFcb.js +84 -0
  351. package/dist/interface/ha/SettingsRecordings-Bq5NkJhd.js +152 -0
  352. package/dist/interface/ha/SettingsRemote-CtncaPIA.js +1813 -0
  353. package/dist/interface/ha/SettingsSystem-BJXuA7xA.js +376 -0
  354. package/dist/interface/ha/SettingsUsers-BF0rDluv.js +379 -0
  355. package/dist/interface/ha/Terminal-kTCe2jP3.js +612 -0
  356. package/dist/interface/ha/Training-BM2Xb8Ef.js +1754 -0
  357. package/dist/interface/ha/Updates-Cv1EY_T0.js +343 -0
  358. package/dist/interface/ha/VariableInput-BO2zZu4N.js +52 -0
  359. package/dist/interface/ha/VersionsHandler-CRnT9-K7.js +216 -0
  360. package/dist/interface/ha/VirtualSensorCreate-6dVRxPjw.js +101 -0
  361. package/dist/interface/ha/Workers-MHia86lu.js +814 -0
  362. package/dist/interface/ha/ace-C9MtBQVV.js +13236 -0
  363. package/dist/interface/ha/ace.config-CSXnaIzV.js +1429 -0
  364. package/dist/interface/ha/api-CH_Y8Hee.js +65411 -0
  365. package/dist/interface/ha/api-DylRa66V.js +29 -0
  366. package/dist/interface/ha/assistant-smRQYA6p.js +349 -0
  367. package/dist/interface/ha/auth-BXj5Fm6s.js +271 -0
  368. package/dist/interface/ha/automationBlueprint-DGjftXFC.js +250 -0
  369. package/dist/interface/ha/cameraui-cards.js +1 -1
  370. package/dist/interface/ha/cards-E0zw1UVg.js +13477 -0
  371. package/dist/interface/ha/config-dG_DA6XL.js +116 -0
  372. package/dist/interface/ha/dist-BQf9ANPx.js +3257 -0
  373. package/dist/interface/ha/dist-euRmladF.js +287 -0
  374. package/dist/interface/ha/eventLabels-B5GrM5jO.js +734 -0
  375. package/dist/interface/ha/intercomService-BtJ_zUNd.js +1400 -0
  376. package/dist/interface/ha/mqtt-CP3vVkRJ.js +56 -0
  377. package/dist/interface/ha/notifications-CZNwSXTg.js +159 -0
  378. package/dist/interface/ha/pinia-CVnHHb-s.js +7696 -0
  379. package/dist/interface/ha/plugins--eatOIaI.js +592 -0
  380. package/dist/interface/ha/protocol-BB4jdtUC-BhEwymva.js +789 -0
  381. package/dist/interface/ha/rooms-D5E6K75d.js +45 -0
  382. package/dist/interface/ha/server-D1BqEY7i.js +239 -0
  383. package/dist/interface/ha/types-CWogEoya.js +1073 -0
  384. package/dist/interface/ha/ungrouped-Ch4UX4dy.js +58 -0
  385. package/dist/interface/ha/updates-B48Owi1w.js +341 -0
  386. package/dist/interface/ha/useAppVersion-D95sKTJR.js +22 -0
  387. package/dist/interface/ha/useAssistantActions-kDwiO-u5.js +29 -0
  388. package/dist/interface/ha/useKeyboardInset-C2R51vsC.js +27 -0
  389. package/dist/interface/ha/useLogsSocket-BzNWa2y2.js +59 -0
  390. package/dist/interface/ha/useNavLayout-228cwwqA.js +125 -0
  391. package/dist/interface/ha/usePermissions-CfA5x7Df.js +72 -0
  392. package/dist/interface/ha/useServerRestart-B0c40zs5.js +23 -0
  393. package/dist/interface/ha/useTabSwipe-CfZg5hWj.js +45 -0
  394. package/dist/interface/ha/useUpdateChannel-DQxI7FrD.js +22 -0
  395. package/dist/interface/ha/useUpdatesSocket-B8LqBBd3.js +34 -0
  396. package/dist/interface/ha/useUserOptions-dZf6ejlz.js +15 -0
  397. package/dist/interface/ha/walk-CsSXaeJw.js +33 -0
  398. package/dist/interface/index.html +71 -72
  399. package/dist/interface/sw.js +1 -1
  400. package/dist/interface/workbox-5f52ac45.js +1 -0
  401. package/dist/server/package.json +23 -23
  402. package/dist/server/requirements.txt +2 -2
  403. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +22 -0
  404. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +12 -0
  405. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +5 -1
  406. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +5 -1
  407. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +2 -1
  408. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +10 -0
  409. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +6 -0
  410. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +92 -4
  411. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +16 -0
  412. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +4 -0
  413. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +1 -1
  414. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +3 -3
  415. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/person_embedder.py +65 -0
  416. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/segmenter.py +81 -0
  417. package/dist/server/src/api/controllers/plugins.controller.js +1 -0
  418. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  419. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -2
  420. package/dist/server/src/api/controllers/workers.controller.js +8 -2
  421. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  422. package/dist/server/src/api/database/index.d.ts +2 -1
  423. package/dist/server/src/api/database/index.js +31 -7
  424. package/dist/server/src/api/database/index.js.map +1 -1
  425. package/dist/server/src/api/database/migrations/v2-2-9.d.ts +3 -0
  426. package/dist/server/src/api/database/migrations/v2-2-9.js +28 -0
  427. package/dist/server/src/api/database/migrations/v2-2-9.js.map +1 -0
  428. package/dist/server/src/api/database/record-schemas.d.ts +4 -1
  429. package/dist/server/src/api/database/record-schemas.js +1 -0
  430. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  431. package/dist/server/src/api/database/types.d.ts +21 -1
  432. package/dist/server/src/api/routes/workers.routes.js +4 -4
  433. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  434. package/dist/server/src/api/schemas/assistant.schema.d.ts +1 -1
  435. package/dist/server/src/api/schemas/cameras.schema.d.ts +178 -76
  436. package/dist/server/src/api/schemas/cameras.schema.js +26 -2
  437. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  438. package/dist/server/src/api/schemas/training.schema.d.ts +15 -3
  439. package/dist/server/src/api/schemas/training.schema.js +4 -1
  440. package/dist/server/src/api/schemas/training.schema.js.map +1 -1
  441. package/dist/server/src/api/schemas/users.schema.d.ts +12 -0
  442. package/dist/server/src/api/schemas/users.schema.js +4 -0
  443. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  444. package/dist/server/src/api/schemas/workers.schema.d.ts +5 -4
  445. package/dist/server/src/api/schemas/workers.schema.js +6 -3
  446. package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
  447. package/dist/server/src/api/services/cameras.service.d.ts +3 -0
  448. package/dist/server/src/api/services/cameras.service.js +47 -2
  449. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  450. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  451. package/dist/server/src/api/services/plugins.service.js +5 -1
  452. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  453. package/dist/server/src/api/services/workers.service.d.ts +2 -0
  454. package/dist/server/src/api/services/workers.service.js +15 -0
  455. package/dist/server/src/api/services/workers.service.js.map +1 -1
  456. package/dist/server/src/api/types/index.d.ts +3 -2
  457. package/dist/server/src/api/websocket/nsp/worker-perf.js +2 -0
  458. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
  459. package/dist/server/src/api/websocket/types.d.ts +1 -0
  460. package/dist/server/src/assistant/pricing.js +39 -10
  461. package/dist/server/src/assistant/pricing.js.map +1 -1
  462. package/dist/server/src/assistant/providers.js +9 -1
  463. package/dist/server/src/assistant/providers.js.map +1 -1
  464. package/dist/server/src/assistant/search.d.ts +17 -0
  465. package/dist/server/src/assistant/search.js +10 -2
  466. package/dist/server/src/assistant/search.js.map +1 -1
  467. package/dist/server/src/assistant/tools/plugins.js +7 -3
  468. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  469. package/dist/server/src/assistant/types.d.ts +2 -0
  470. package/dist/server/src/automations/actions/plugin.js +5 -9
  471. package/dist/server/src/automations/actions/plugin.js.map +1 -1
  472. package/dist/server/src/automations/pluginMethodRegistry.d.ts +6 -0
  473. package/dist/server/src/automations/pluginMethodRegistry.js +39 -0
  474. package/dist/server/src/automations/pluginMethodRegistry.js.map +1 -1
  475. package/dist/server/src/automations/segment-picture.d.ts +16 -0
  476. package/dist/server/src/automations/segment-picture.js +152 -0
  477. package/dist/server/src/automations/segment-picture.js.map +1 -0
  478. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -2
  479. package/dist/server/src/camera/decoder/detection-coordinator.js +45 -22
  480. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  481. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +30 -2
  482. package/dist/server/src/camera/decoder/detection-pipeline.js +81 -21
  483. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  484. package/dist/server/src/camera/decoder/event-manager.d.ts +13 -4
  485. package/dist/server/src/camera/decoder/event-manager.js +108 -128
  486. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  487. package/dist/server/src/camera/decoder/event-trace.d.ts +41 -1
  488. package/dist/server/src/camera/decoder/event-trace.js +63 -8
  489. package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
  490. package/dist/server/src/camera/decoder/face-tracks.d.ts +26 -0
  491. package/dist/server/src/camera/decoder/face-tracks.js +199 -0
  492. package/dist/server/src/camera/decoder/face-tracks.js.map +1 -0
  493. package/dist/server/src/camera/decoder/frame-scaler.d.ts +3 -1
  494. package/dist/server/src/camera/decoder/frame-scaler.js +36 -8
  495. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  496. package/dist/server/src/camera/decoder/nvr-sink.d.ts +6 -0
  497. package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
  498. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  499. package/dist/server/src/camera/decoder/perf-tracker.d.ts +2 -0
  500. package/dist/server/src/camera/decoder/perf-tracker.js +4 -0
  501. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  502. package/dist/server/src/camera/decoder/ptz/autotracker.d.ts +6 -1
  503. package/dist/server/src/camera/decoder/ptz/autotracker.js +107 -25
  504. package/dist/server/src/camera/decoder/ptz/autotracker.js.map +1 -1
  505. package/dist/server/src/camera/decoder/secondary-stage.d.ts +10 -8
  506. package/dist/server/src/camera/decoder/secondary-stage.js +145 -125
  507. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  508. package/dist/server/src/camera/decoder/training-sink.d.ts +5 -2
  509. package/dist/server/src/camera/decoder/training-sink.js +30 -6
  510. package/dist/server/src/camera/decoder/training-sink.js.map +1 -1
  511. package/dist/server/src/camera/decoder/types.d.ts +6 -2
  512. package/dist/server/src/camera/decoder/types.js +4 -2
  513. package/dist/server/src/camera/decoder/types.js.map +1 -1
  514. package/dist/server/src/manager/coreManager.d.ts +2 -1
  515. package/dist/server/src/manager/coreManager.js +9 -2
  516. package/dist/server/src/manager/coreManager.js.map +1 -1
  517. package/dist/server/src/manager/trainingCandidateManager.d.ts +2 -1
  518. package/dist/server/src/manager/trainingCandidateManager.js +25 -3
  519. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
  520. package/dist/server/src/manager/trainingSubmission.d.ts +5 -0
  521. package/dist/server/src/manager/trainingSubmission.js +73 -0
  522. package/dist/server/src/manager/trainingSubmission.js.map +1 -0
  523. package/dist/server/src/manager/types.d.ts +8 -2
  524. package/dist/server/src/manager/types.js.map +1 -1
  525. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +1 -1
  526. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
  527. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +3 -0
  528. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +1 -1
  529. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -0
  530. package/dist/server/src/plugins/runtime/python/rpc/typings.py +1 -1
  531. package/dist/server/src/remote/api/routes/train.d.ts +44 -3
  532. package/dist/server/src/remote/api/routes/train.js +2 -2
  533. package/dist/server/src/remote/api/routes/train.js.map +1 -1
  534. package/dist/server/src/rpc/interfaces/core.d.ts +7 -3
  535. package/dist/server/src/rpc/interfaces/detection.d.ts +20 -3
  536. package/dist/server/src/rpc/server.d.ts +2 -0
  537. package/dist/server/src/rpc/server.js +8 -5
  538. package/dist/server/src/rpc/server.js.map +1 -1
  539. package/dist/server/src/sensors/registry.d.ts +3 -0
  540. package/dist/server/src/sensors/registry.js +44 -11
  541. package/dist/server/src/sensors/registry.js.map +1 -1
  542. package/dist/server/src/sensors/types.d.ts +1 -0
  543. package/dist/server/src/sensors/types.js +3 -0
  544. package/dist/server/src/sensors/types.js.map +1 -1
  545. package/dist/server/src/services/config/index.d.ts +1 -0
  546. package/dist/server/src/services/config/index.js +2 -0
  547. package/dist/server/src/services/config/index.js.map +1 -1
  548. package/dist/server/src/utils/image.d.ts +6 -0
  549. package/dist/server/src/utils/image.js +58 -22
  550. package/dist/server/src/utils/image.js.map +1 -1
  551. package/dist/server/src/workers/agent.js +2 -0
  552. package/dist/server/src/workers/agent.js.map +1 -1
  553. package/dist/server/src/workers/manager.d.ts +1 -0
  554. package/dist/server/src/workers/manager.js +22 -0
  555. package/dist/server/src/workers/manager.js.map +1 -1
  556. package/dist/server/src/workers/types.d.ts +5 -0
  557. package/dist/server/src/workers/types.js.map +1 -1
  558. package/npm-shrinkwrap.json +212 -171
  559. package/package.json +23 -23
  560. package/dist/interface/assets/404-C8EoOtBl.js +0 -1
  561. package/dist/interface/assets/About-Q7ZmOGgl.js +0 -1
  562. package/dist/interface/assets/Assistant-BQ6Ld-bt.css +0 -1
  563. package/dist/interface/assets/Assistant-DFLgklVe.js +0 -1
  564. package/dist/interface/assets/Automation-BSicfOGF.css +0 -1
  565. package/dist/interface/assets/Automation-D__qvx8c.js +0 -3
  566. package/dist/interface/assets/AutomationImport-CLQSdqg9.js +0 -2
  567. package/dist/interface/assets/AutomationStore-Dt6yTQDb.js +0 -2
  568. package/dist/interface/assets/AutomationStoreDetail-DqBrBhUI.js +0 -2
  569. package/dist/interface/assets/Automations-BH_7lYR7.js +0 -2
  570. package/dist/interface/assets/Camera-BW9ikKqh.css +0 -1
  571. package/dist/interface/assets/Camera-aquPHFwb.js +0 -2
  572. package/dist/interface/assets/CameraConsole-rhle_cfW.js +0 -7
  573. package/dist/interface/assets/Cameras-Bzy3P0xN.js +0 -651
  574. package/dist/interface/assets/Camview-Bri_T7Tq.css +0 -1
  575. package/dist/interface/assets/Camview-CjcQbtTl.js +0 -1
  576. package/dist/interface/assets/CertificateUpload-CWVu_52v.js +0 -1
  577. package/dist/interface/assets/Config-Dc1zKIPq.js +0 -2
  578. package/dist/interface/assets/ConfigActionAssistant-AfQfSqHZ.js +0 -1
  579. package/dist/interface/assets/ConfigActionCameraControl-BKQdHxqe.js +0 -1
  580. package/dist/interface/assets/ConfigActionDelay-B52HeJGb.js +0 -1
  581. package/dist/interface/assets/ConfigActionHttp-BP5gvpQc.js +0 -1
  582. package/dist/interface/assets/ConfigActionImageInput-DE2mSost.js +0 -1
  583. package/dist/interface/assets/ConfigActionMqtt-CYgnZjAE.js +0 -1
  584. package/dist/interface/assets/ConfigActionNotification-C3q53I4n.js +0 -1
  585. package/dist/interface/assets/ConfigActionNotificationControl-eDJ8r5ao.js +0 -1
  586. package/dist/interface/assets/ConfigActionOutput-DgYSYvy-.js +0 -1
  587. package/dist/interface/assets/ConfigActionPlugin-utolgAXk.js +0 -1
  588. package/dist/interface/assets/ConfigActionSensor-CmEKQPqs.js +0 -1
  589. package/dist/interface/assets/ConfigActionSnapshot-D7XucxVV.js +0 -1
  590. package/dist/interface/assets/ConfigActionVariable-C-Mjm3gr.js +0 -1
  591. package/dist/interface/assets/ConfigConditionIfElse-B24Rqb8y.js +0 -1
  592. package/dist/interface/assets/ConfigConditionSensorState-42-yFDmK.js +0 -1
  593. package/dist/interface/assets/ConfigConditionSwitch-DezH_nwm.js +0 -1
  594. package/dist/interface/assets/ConfigConditionTime-Cg2Lwznd.js +0 -1
  595. package/dist/interface/assets/ConfigSensorValueInput-YHBDCTZm.js +0 -1
  596. package/dist/interface/assets/ConfigTriggerDetection-DxEpodjG.js +0 -1
  597. package/dist/interface/assets/ConfigTriggerGeofence-Bye8syxc.js +0 -1
  598. package/dist/interface/assets/ConfigTriggerManual-s_lEDTV9.js +0 -1
  599. package/dist/interface/assets/ConfigTriggerMqtt-DqdZj7TU.js +0 -1
  600. package/dist/interface/assets/ConfigTriggerSchedule-Q559hn6g.js +0 -1
  601. package/dist/interface/assets/ConfigTriggerSensor-DIKkdbTF.js +0 -1
  602. package/dist/interface/assets/ConfigTriggerSystem-CwNZ4xEg.js +0 -1
  603. package/dist/interface/assets/ConfigTriggerWebhook-9ZC6X4mK.js +0 -1
  604. package/dist/interface/assets/Console-BqIDZ5vq.js +0 -1
  605. package/dist/interface/assets/CuiAssistantConversation-BmBhwrNh.css +0 -1
  606. package/dist/interface/assets/CuiAssistantConversation-CM7KdaX2.js +0 -5
  607. package/dist/interface/assets/CuiAutomationRunsDialog-CVjCLiVW.js +0 -1
  608. package/dist/interface/assets/CuiBottomSheet-CFohFiO2.js +0 -1
  609. package/dist/interface/assets/CuiBottomSheet-D75L0Zny.js +0 -1
  610. package/dist/interface/assets/CuiCameraPipCard-BQKk4fxY.css +0 -1
  611. package/dist/interface/assets/CuiCameraPipCard-eiJjYZ5W.js +0 -1
  612. package/dist/interface/assets/CuiCameraRecordings-DdEWkJrO.js +0 -1
  613. package/dist/interface/assets/CuiCameraShares-8mtgFsQ_.js +0 -1
  614. package/dist/interface/assets/CuiCameraTable-CmCT-XQF.js +0 -2
  615. package/dist/interface/assets/CuiCameraTable-DHrKoD9s.js +0 -1
  616. package/dist/interface/assets/CuiChartTable-v8sGY6PD.js +0 -1
  617. package/dist/interface/assets/CuiConsole-DYV-FUE0.js +0 -5
  618. package/dist/interface/assets/CuiDataTable-C0gsYYpg.js +0 -1
  619. package/dist/interface/assets/CuiLightControl-CFIwBj3C.js +0 -1
  620. package/dist/interface/assets/CuiList-9TVV8SB6.js +0 -1
  621. package/dist/interface/assets/CuiMarkdownContent-BYBQX_aF.js +0 -1
  622. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +0 -1
  623. package/dist/interface/assets/CuiPluginCard-DEfqwUhQ.js +0 -2
  624. package/dist/interface/assets/CuiPluginCategoryChip-DhnIBJHa.js +0 -1
  625. package/dist/interface/assets/CuiPluginOAuthButton-DAuzNRAA.js +0 -2
  626. package/dist/interface/assets/CuiPluginTrustBadge-Bz710WwC.js +0 -1
  627. package/dist/interface/assets/CuiQRCode-B8-4GHSY.js +0 -1
  628. package/dist/interface/assets/CuiSchema-C_CHuKuf.js +0 -1
  629. package/dist/interface/assets/CuiTopNavbarItem-CNEnOPSh.js +0 -1
  630. package/dist/interface/assets/Faces-DRHMrrxh.js +0 -1
  631. package/dist/interface/assets/FirstSteps-Ci2Iqbe2.js +0 -1
  632. package/dist/interface/assets/Floorplan-Ci63Zd8W.css +0 -1
  633. package/dist/interface/assets/Floorplan-CqWIbDbh.js +0 -1
  634. package/dist/interface/assets/Instances-gzKFKB1l.js +0 -1
  635. package/dist/interface/assets/Logs-DL1yw_Pe.js +0 -6
  636. package/dist/interface/assets/Menu-C0GQ63aj.js +0 -1
  637. package/dist/interface/assets/Metrics-BYnnb7M0.js +0 -12
  638. package/dist/interface/assets/Metrics-DsHBab6t.css +0 -1
  639. package/dist/interface/assets/OAuthDeviceFlow-Zd6r9IHU.js +0 -1
  640. package/dist/interface/assets/Plugin-DJIrYUnZ.js +0 -1
  641. package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +0 -1
  642. package/dist/interface/assets/PluginConsole-ag0jPZQ_.js +0 -7
  643. package/dist/interface/assets/PluginDetail-DmElwUuV.js +0 -2
  644. package/dist/interface/assets/PluginSchema-CxUujnVs.js +0 -1
  645. package/dist/interface/assets/PluginSearch-B-2zH2Xy.js +0 -1
  646. package/dist/interface/assets/PluginSearch-BqzngVRL.js +0 -2
  647. package/dist/interface/assets/PluginUpdateProgress-CFut0RAe.js +0 -1
  648. package/dist/interface/assets/Plugins-ZFcB_j6v.js +0 -1
  649. package/dist/interface/assets/RecentEventsFilter-CqeHhECT.js +0 -1
  650. package/dist/interface/assets/Recordings-BEKAn6QK.css +0 -1
  651. package/dist/interface/assets/Recordings-BJrtW9eG.js +0 -1
  652. package/dist/interface/assets/SensorEdit-Bi0gg-CL.js +0 -1
  653. package/dist/interface/assets/SensorHistory-q0UR3qMG.js +0 -1
  654. package/dist/interface/assets/Sensors-C_InhcHA.js +0 -2
  655. package/dist/interface/assets/Settings-Cv38rGWn.js +0 -1
  656. package/dist/interface/assets/Settings-D7495zbV.css +0 -1
  657. package/dist/interface/assets/SettingsAccount-B05739dn.js +0 -1
  658. package/dist/interface/assets/SettingsAccount-gm28wtbl.js +0 -1
  659. package/dist/interface/assets/SettingsAppearance-DdyYUgmV.js +0 -1
  660. package/dist/interface/assets/SettingsAppearance-DwUknDPV.js +0 -1
  661. package/dist/interface/assets/SettingsAssistant-ChHfkUKk.js +0 -1
  662. package/dist/interface/assets/SettingsBackup-DKwlPQhD.js +0 -1
  663. package/dist/interface/assets/SettingsList-D6hqnvUo.js +0 -1
  664. package/dist/interface/assets/SettingsMqtt-C01fgLY0.js +0 -1
  665. package/dist/interface/assets/SettingsNotifications-D47cIquQ.js +0 -1
  666. package/dist/interface/assets/SettingsPermissions-BeTCTrAf.js +0 -1
  667. package/dist/interface/assets/SettingsRecordings-mwL6Dalr.js +0 -1
  668. package/dist/interface/assets/SettingsRemote-CtP6Gz9C.css +0 -1
  669. package/dist/interface/assets/SettingsRemote-MhaShPIf.js +0 -2
  670. package/dist/interface/assets/SettingsSystem-BXnzXgqm.js +0 -2
  671. package/dist/interface/assets/SettingsUsers-D2mVlJin.js +0 -1
  672. package/dist/interface/assets/Terminal-C1UoXDRK.js +0 -4
  673. package/dist/interface/assets/Training-A5ynOv_l.js +0 -1
  674. package/dist/interface/assets/Training-C-ToeAl4.css +0 -1
  675. package/dist/interface/assets/Updates-kS_Tm8HD.js +0 -2
  676. package/dist/interface/assets/VariableInput-D9PfI8Ut.js +0 -1
  677. package/dist/interface/assets/VariableSuggestions-DArWzQuE.js +0 -1
  678. package/dist/interface/assets/VersionsHandler-BZVMpB2v.js +0 -7
  679. package/dist/interface/assets/VirtualSensorCreate-Cz-QFo4R.js +0 -1
  680. package/dist/interface/assets/Workers-2sc4VMi9.js +0 -2
  681. package/dist/interface/assets/Workers-DH59zE1C.css +0 -1
  682. package/dist/interface/assets/account-DwW7pBOb.js +0 -1
  683. package/dist/interface/assets/ace-DzzM-RlW.js +0 -1
  684. package/dist/interface/assets/ace.config-CCyX_Ohk.js +0 -1
  685. package/dist/interface/assets/alert-circle-BdUVAt1B.js +0 -1
  686. package/dist/interface/assets/alert-outline-IRxYbw0j.js +0 -1
  687. package/dist/interface/assets/api-CGfJbsTz.css +0 -2
  688. package/dist/interface/assets/api-CzwdnGAH.js +0 -1
  689. package/dist/interface/assets/api-DOpXVpef.js +0 -4
  690. package/dist/interface/assets/arrow-left-Bk-ZrOVr.js +0 -1
  691. package/dist/interface/assets/assistant-hGCAgv-f.js +0 -1
  692. package/dist/interface/assets/assistantModels-BsSgRsws.js +0 -1
  693. package/dist/interface/assets/auth-By-S-WEr.js +0 -1
  694. package/dist/interface/assets/automations-vwIwb2PQ.js +0 -1
  695. package/dist/interface/assets/back-filled-D-X19YMO.js +0 -1
  696. package/dist/interface/assets/bell-ring-DreEHgoT.js +0 -1
  697. package/dist/interface/assets/brain-DuDAg544.js +0 -1
  698. package/dist/interface/assets/cameraSources-BMhXvtFt.js +0 -1
  699. package/dist/interface/assets/cctv-DM-C_8_6.js +0 -1
  700. package/dist/interface/assets/check-circle-Bevuw8-0.js +0 -1
  701. package/dist/interface/assets/check-circle-outline-aMxkvksr.js +0 -1
  702. package/dist/interface/assets/chevron-down-CCFn9Z56.js +0 -1
  703. package/dist/interface/assets/chevron-up-CSImUM3_.js +0 -1
  704. package/dist/interface/assets/clock-outline-DH3WIEJt.js +0 -1
  705. package/dist/interface/assets/close-CMxyM4v9.js +0 -1
  706. package/dist/interface/assets/close-circle-CfgJCZ9A.js +0 -1
  707. package/dist/interface/assets/cloud-check-CbdFLIdR.js +0 -1
  708. package/dist/interface/assets/cloudHandoff-BnzjCpJ2.js +0 -1
  709. package/dist/interface/assets/config-BQxEwrK6.js +0 -1
  710. package/dist/interface/assets/content-copy-Bz49QPOI.js +0 -1
  711. package/dist/interface/assets/copy-DA6QQHRt.js +0 -1
  712. package/dist/interface/assets/cube-scan-IiH8zwm2.js +0 -1
  713. package/dist/interface/assets/database-refresh-outline-CIUDpcuq.js +0 -1
  714. package/dist/interface/assets/delete-Btu-UVx9.js +0 -1
  715. package/dist/interface/assets/dist-D_qWDAKp.js +0 -1
  716. package/dist/interface/assets/dots-vertical-D496SIss.js +0 -1
  717. package/dist/interface/assets/download-BSC7lwq_.js +0 -1
  718. package/dist/interface/assets/esm-Bn9gXwX4.js +0 -1
  719. package/dist/interface/assets/esm-BzM6y2-F.js +0 -1
  720. package/dist/interface/assets/esm-CP3JWrtj.js +0 -1
  721. package/dist/interface/assets/esm-CjAXkqCf.js +0 -1
  722. package/dist/interface/assets/esm-Cqxk-j1S.js +0 -1
  723. package/dist/interface/assets/esm-DFHd3JNU.js +0 -1
  724. package/dist/interface/assets/esm-DfMLJtug.js +0 -1
  725. package/dist/interface/assets/esm-DhDrpq7a.js +0 -1
  726. package/dist/interface/assets/esm-DvhM-SOd.js +0 -1
  727. package/dist/interface/assets/esm-G63bqygQ.js +0 -1
  728. package/dist/interface/assets/esm-Gn-Y59hU.js +0 -1
  729. package/dist/interface/assets/esm-KJSOz2vj.js +0 -1
  730. package/dist/interface/assets/esm-Ryfc94Tm.js +0 -1
  731. package/dist/interface/assets/esm-rSfI5Poy.js +0 -1
  732. package/dist/interface/assets/eventIcons-UQutPG3p.js +0 -1
  733. package/dist/interface/assets/eventLabels-BsPoPWS9.js +0 -1
  734. package/dist/interface/assets/eye-off-CSU0U8g7.js +0 -1
  735. package/dist/interface/assets/eye-off-outline-DCxLRGo_.js +0 -1
  736. package/dist/interface/assets/flowSchema-BPq6iHks.js +0 -1
  737. package/dist/interface/assets/help-circle-outline-Cr_yNhPi.js +0 -1
  738. package/dist/interface/assets/history-anuCbp1T.js +0 -1
  739. package/dist/interface/assets/home-N3bDR1vX.js +0 -1
  740. package/dist/interface/assets/information-outline-CMWIvLNB.js +0 -1
  741. package/dist/interface/assets/intercomService-CXcjcPa9.js +0 -1
  742. package/dist/interface/assets/lan-CYXjdk7L.js +0 -1
  743. package/dist/interface/assets/main-By4L33Im.js +0 -3
  744. package/dist/interface/assets/main-DVa5U7UB.css +0 -1
  745. package/dist/interface/assets/microphone-BB2pATI_.js +0 -1
  746. package/dist/interface/assets/minus-BCp3ZNKO.js +0 -1
  747. package/dist/interface/assets/mqtt-DE1KQ8Td.js +0 -1
  748. package/dist/interface/assets/native-CZJE8bTs.js +0 -1
  749. package/dist/interface/assets/native-DKZwialB.js +0 -1
  750. package/dist/interface/assets/nodeDefinitions-ByrqsENY.js +0 -1
  751. package/dist/interface/assets/notifications-BCyiD-TP.js +0 -1
  752. package/dist/interface/assets/pause-BQlxwAW2.js +0 -1
  753. package/dist/interface/assets/pencil-CDsNnEXi.js +0 -1
  754. package/dist/interface/assets/pencil-outline-CIQL5Kui.js +0 -1
  755. package/dist/interface/assets/plugin-DSEMkqaK.js +0 -1
  756. package/dist/interface/assets/plugins-BJPCV1YL.js +0 -1
  757. package/dist/interface/assets/plus-Bp4q9G7S.js +0 -1
  758. package/dist/interface/assets/plus-CySoovdr.js +0 -1
  759. package/dist/interface/assets/power-WmBLDR0-.js +0 -1
  760. package/dist/interface/assets/radar-CyYAmume.js +0 -1
  761. package/dist/interface/assets/refresh-CHTA3jVN.js +0 -1
  762. package/dist/interface/assets/restore-C8RNM5yX.js +0 -1
  763. package/dist/interface/assets/rooms-Dr4yiakO.js +0 -1
  764. package/dist/interface/assets/round-alt-arrow-left-bold-Gh5mi_yR.js +0 -1
  765. package/dist/interface/assets/search-BajCVmOI.js +0 -1
  766. package/dist/interface/assets/sensorIcons-DofElQ3w.js +0 -1
  767. package/dist/interface/assets/sensorSlots-D2KJGvPw.js +0 -1
  768. package/dist/interface/assets/sensors-3llrL7s3.js +0 -1
  769. package/dist/interface/assets/server-Dw5DD473.js +0 -1
  770. package/dist/interface/assets/settings-DnksaK7m.js +0 -1
  771. package/dist/interface/assets/source-branch-CzqIPffP.js +0 -1
  772. package/dist/interface/assets/theme-C85LJhOY.js +0 -1
  773. package/dist/interface/assets/trash-2-DJeEhHf4.js +0 -1
  774. package/dist/interface/assets/trash-can-outline-DrT6iw7I.js +0 -1
  775. package/dist/interface/assets/trash-fill-Bb_-UicM.js +0 -1
  776. package/dist/interface/assets/trash2-Dsl8gfxq.js +0 -1
  777. package/dist/interface/assets/types-CPhy0Ovw.js +0 -1
  778. package/dist/interface/assets/types-DYKmSGl4.js +0 -1
  779. package/dist/interface/assets/types-i1kTodPP.js +0 -1
  780. package/dist/interface/assets/undo-DoqJW-k7.js +0 -1
  781. package/dist/interface/assets/ungrouped-BlheTJCh.css +0 -1
  782. package/dist/interface/assets/ungrouped-C2CWO39a.js +0 -1
  783. package/dist/interface/assets/updates-C2LhMkNR.js +0 -1
  784. package/dist/interface/assets/upload-C3w1XH-o.js +0 -1
  785. package/dist/interface/assets/upload-DtIcwiNC.js +0 -1
  786. package/dist/interface/assets/useAppVersion-DkazK9Vu.js +0 -1
  787. package/dist/interface/assets/useAssistantActions-BZP6NL18.js +0 -1
  788. package/dist/interface/assets/useBackupRestore-DMQW_CVC.js +0 -1
  789. package/dist/interface/assets/useCameraOptions-DnI0xLrX.js +0 -1
  790. package/dist/interface/assets/useKeyboardInset-Cr7SxKGN.js +0 -1
  791. package/dist/interface/assets/useLogsSocket-C3Y8S0Ar.js +0 -1
  792. package/dist/interface/assets/useNavLayout-C9pcDuVP.js +0 -1
  793. package/dist/interface/assets/usePermissions-CCTxwXF0.js +0 -1
  794. package/dist/interface/assets/usePluginUpdates-DBhLWAua.js +0 -1
  795. package/dist/interface/assets/usePushRegistration-CPRVdLAx.js +0 -2
  796. package/dist/interface/assets/useServerRestart-bScBLJ9r.js +0 -1
  797. package/dist/interface/assets/useStreamStatus-Bfh-WmLH.js +0 -1
  798. package/dist/interface/assets/useTabSwipe-C_QOrvSW.js +0 -1
  799. package/dist/interface/assets/useUpdateChannel-g0h_4c55.js +0 -1
  800. package/dist/interface/assets/useUpdatesSocket-CxrLRETs.js +0 -1
  801. package/dist/interface/assets/useUserOptions-DN0t3gBr.js +0 -1
  802. package/dist/interface/assets/variable-ywTlRfo5.js +0 -1
  803. package/dist/interface/assets/vendor-ace-CvEoip98.js +0 -1085
  804. package/dist/interface/assets/vendor-cameraui-B28aGJJD.js +0 -2326
  805. package/dist/interface/assets/vendor-capacitor-Bs_WzL0Q.js +0 -2
  806. package/dist/interface/assets/vendor-chart-DBK083Hu.js +0 -3
  807. package/dist/interface/assets/vendor-core-DIa0tPNH.js +0 -1
  808. package/dist/interface/assets/vendor-dnd-DGQLvX6Y.js +0 -2
  809. package/dist/interface/assets/vendor-draggabilly-D8CK6M-y.js +0 -1
  810. package/dist/interface/assets/vendor-gFkr2qsZ.js +0 -23
  811. package/dist/interface/assets/vendor-leaflet-DkAk6mAj.js +0 -1
  812. package/dist/interface/assets/vendor-markdown-qHIinIUE.js +0 -14
  813. package/dist/interface/assets/vendor-primevue-CZKUAkMA.js +0 -3942
  814. package/dist/interface/assets/vendor-vueflow-bSwRZ9X8.js +0 -26
  815. package/dist/interface/assets/web-BDNQnMmA.js +0 -1
  816. package/dist/interface/assets/web-B_9Qyt8E.js +0 -1
  817. package/dist/interface/assets/web-BhJykCtq.js +0 -1
  818. package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +0 -1
  819. package/dist/interface/assets/web-C7nJwIOa.js +0 -1
  820. package/dist/interface/assets/web-CGJsJQDb.js +0 -1
  821. package/dist/interface/assets/web-CJwASxrl.js +0 -1
  822. package/dist/interface/assets/web-CLe0L31Y.js +0 -1
  823. package/dist/interface/assets/web-DEv1hAn1.js +0 -1
  824. package/dist/interface/assets/web-DaeQvsXT.js +0 -1
  825. package/dist/interface/assets/web-H3-wNunW.js +0 -1
  826. package/dist/interface/assets/web-LCdyqJq1.js +0 -1
  827. package/dist/interface/assets/web-XZWYTK65.js +0 -1
  828. package/dist/interface/assets/web-rU5hlxxW.js +0 -1
  829. package/dist/interface/assets/webhook-CWKf2Qxu.js +0 -1
  830. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +0 -1
  831. package/dist/interface/assets/zoom-in-CHkXAWHy.js +0 -1
  832. package/dist/interface/ha/404-tl2VQ3qy.js +0 -60
  833. package/dist/interface/ha/About-Cn7KOblU.js +0 -55
  834. package/dist/interface/ha/Assistant-DG2GGda0.js +0 -9361
  835. package/dist/interface/ha/Automation-D0_WpXx4.js +0 -2025
  836. package/dist/interface/ha/AutomationImport-DdC3dEaC.js +0 -206
  837. package/dist/interface/ha/AutomationStore-BrLn4oBx.js +0 -336
  838. package/dist/interface/ha/AutomationStoreDetail-DoppNsNc.js +0 -122
  839. package/dist/interface/ha/Automations-BaUJ9pVq.js +0 -424
  840. package/dist/interface/ha/Camera-Cj5ImvZG.js +0 -657
  841. package/dist/interface/ha/CameraConsole-7MhlS2VK.js +0 -52
  842. package/dist/interface/ha/Cameras-vHYz8uSO.js +0 -1969
  843. package/dist/interface/ha/Camview-BEglAx26.js +0 -1331
  844. package/dist/interface/ha/Config-CHiK--zP.js +0 -356
  845. package/dist/interface/ha/ConfigActionAssistant-DynduZYV.js +0 -182
  846. package/dist/interface/ha/ConfigActionCameraControl-BEYePssz.js +0 -152
  847. package/dist/interface/ha/ConfigActionHttp-h0vRWqZ5.js +0 -134
  848. package/dist/interface/ha/ConfigActionImageInput-B9GMZYAR.js +0 -171
  849. package/dist/interface/ha/ConfigActionMqtt-BEQpHBgf.js +0 -81
  850. package/dist/interface/ha/ConfigActionNotification-BYsz8_aS.js +0 -199
  851. package/dist/interface/ha/ConfigActionNotificationControl-BxmIWVE8.js +0 -111
  852. package/dist/interface/ha/ConfigActionOutput-DTOQSa1S.js +0 -98
  853. package/dist/interface/ha/ConfigActionPlugin-NOsUs3QI.js +0 -172
  854. package/dist/interface/ha/ConfigActionSensor-YWnsH_LV.js +0 -139
  855. package/dist/interface/ha/ConfigActionSnapshot-DHJnTvin.js +0 -48
  856. package/dist/interface/ha/ConfigActionVariable-C7UFnvW0.js +0 -88
  857. package/dist/interface/ha/ConfigConditionIfElse-CAHbuhH3.js +0 -124
  858. package/dist/interface/ha/ConfigConditionSensorState-CE6okUeb.js +0 -192
  859. package/dist/interface/ha/ConfigConditionSwitch-D5FULaTy.js +0 -128
  860. package/dist/interface/ha/ConfigSensorValueInput-mo6Gs_aZ.js +0 -170
  861. package/dist/interface/ha/ConfigTriggerDetection-Bt-OhHtM.js +0 -241
  862. package/dist/interface/ha/ConfigTriggerGeofence-Cw3jV5qD.js +0 -4888
  863. package/dist/interface/ha/ConfigTriggerMqtt-BXeV82UG.js +0 -134
  864. package/dist/interface/ha/ConfigTriggerSensor-Baqq--nJ.js +0 -73
  865. package/dist/interface/ha/ConfigTriggerSystem-braUVGzW.js +0 -192
  866. package/dist/interface/ha/ConfigTriggerWebhook-Dm45r-1C.js +0 -94
  867. package/dist/interface/ha/Console-q3TCsxYo.js +0 -348
  868. package/dist/interface/ha/CuiAutomationRunsDialog-DO6h5Tc4.js +0 -130
  869. package/dist/interface/ha/CuiBottomSheet-B7ldz0xi.js +0 -270
  870. package/dist/interface/ha/CuiCameraRecordings-Dq1Vh3qA.js +0 -551
  871. package/dist/interface/ha/CuiCameraShares-DBqcpevG.js +0 -121
  872. package/dist/interface/ha/CuiCameraTable-kL8rK-Uv.js +0 -169
  873. package/dist/interface/ha/CuiChartTable-BrFyiSt_.js +0 -6801
  874. package/dist/interface/ha/CuiConsole-DpeXZmJd.js +0 -244
  875. package/dist/interface/ha/CuiDataTable-BtqzIz0o.js +0 -8732
  876. package/dist/interface/ha/CuiList-CU2NJ1K6.js +0 -57
  877. package/dist/interface/ha/CuiPluginCard-lBLypaN4.js +0 -769
  878. package/dist/interface/ha/CuiPluginOAuthButton-CuGauZJA.js +0 -79
  879. package/dist/interface/ha/CuiPluginTrustBadge-BofBmRYc.js +0 -123
  880. package/dist/interface/ha/CuiQRCode-CdK9bwKb.js +0 -86
  881. package/dist/interface/ha/CuiSchema-DqkCLv9Y.js +0 -963
  882. package/dist/interface/ha/CuiTopNavbarItem-C2VZB7WV.js +0 -140
  883. package/dist/interface/ha/Faces-Crfi-75Z.js +0 -1441
  884. package/dist/interface/ha/FirstSteps-CKVG86pf.js +0 -251
  885. package/dist/interface/ha/Floorplan-CH9_-6hk.js +0 -3657
  886. package/dist/interface/ha/Instances-5gZdPPDA.js +0 -680
  887. package/dist/interface/ha/Logs-BkzEM70F.js +0 -418
  888. package/dist/interface/ha/Menu-BuT3_Ggx.js +0 -156
  889. package/dist/interface/ha/Metrics-BGrzu0bu.js +0 -1447
  890. package/dist/interface/ha/OAuthDeviceFlow-BEJtegqy.js +0 -112
  891. package/dist/interface/ha/Plugin-Bnp2jiC2.js +0 -1544
  892. package/dist/interface/ha/PluginConsole-CmsuPVMz.js +0 -56
  893. package/dist/interface/ha/PluginDetail-BCNx7vHr.js +0 -805
  894. package/dist/interface/ha/PluginSearch-DOdhuxgM.js +0 -462
  895. package/dist/interface/ha/PluginUpdateProgress-CwkKc8Tr.js +0 -34
  896. package/dist/interface/ha/Plugins-BrFowCdC.js +0 -692
  897. package/dist/interface/ha/RecentEventsFilter-9ZkDHD1g.js +0 -79
  898. package/dist/interface/ha/Recordings-BZhf39pJ.js +0 -1539
  899. package/dist/interface/ha/SensorEdit-Ds6WbN4A.js +0 -1462
  900. package/dist/interface/ha/SensorHistory-CoTIYTJx.js +0 -54
  901. package/dist/interface/ha/Sensors-DZ2MKdlh.js +0 -1400
  902. package/dist/interface/ha/Settings-D3JKr430.js +0 -218
  903. package/dist/interface/ha/SettingsAccount-cvtlSKZw.js +0 -971
  904. package/dist/interface/ha/SettingsAppearance-CaKuOHRu.js +0 -220
  905. package/dist/interface/ha/SettingsAssistant-vWVjAUqQ.js +0 -2025
  906. package/dist/interface/ha/SettingsBackup-CvzL_bVf.js +0 -556
  907. package/dist/interface/ha/SettingsList-C0Ec8x-H.js +0 -40
  908. package/dist/interface/ha/SettingsMqtt-COnq-QM5.js +0 -526
  909. package/dist/interface/ha/SettingsNotifications-BZ68bQzO.js +0 -529
  910. package/dist/interface/ha/SettingsPermissions-Jh0FuIF7.js +0 -84
  911. package/dist/interface/ha/SettingsRecordings-BPtNNpDa.js +0 -152
  912. package/dist/interface/ha/SettingsRemote-BXG8IYjf.js +0 -1810
  913. package/dist/interface/ha/SettingsSystem-_jHBUhws.js +0 -376
  914. package/dist/interface/ha/SettingsUsers-CzGj_RJN.js +0 -379
  915. package/dist/interface/ha/Terminal-BP3b8IBP.js +0 -612
  916. package/dist/interface/ha/Training-C2-6DgY0.js +0 -1699
  917. package/dist/interface/ha/Updates-BMZsEhmy.js +0 -343
  918. package/dist/interface/ha/VariableInput-DmI7skCD.js +0 -52
  919. package/dist/interface/ha/VersionsHandler-DJd4NqtD.js +0 -216
  920. package/dist/interface/ha/VirtualSensorCreate-DmtGYvAn.js +0 -101
  921. package/dist/interface/ha/Workers-2HTPHgKV.js +0 -765
  922. package/dist/interface/ha/ace-B3bPzJu9.js +0 -13236
  923. package/dist/interface/ha/ace.config-Dt55Nqby.js +0 -1429
  924. package/dist/interface/ha/api-BelbnLQO.js +0 -62346
  925. package/dist/interface/ha/api-sy4rqV2N.js +0 -29
  926. package/dist/interface/ha/assistant-C6KYXJfi.js +0 -349
  927. package/dist/interface/ha/auth-Da66mVEd.js +0 -271
  928. package/dist/interface/ha/automationBlueprint-hlqqM17r.js +0 -250
  929. package/dist/interface/ha/cards-BFRRfuM7.js +0 -13436
  930. package/dist/interface/ha/config-Cd7JNMpD.js +0 -116
  931. package/dist/interface/ha/dist-BIngHzHx.js +0 -287
  932. package/dist/interface/ha/dist-BybVYMVs.js +0 -3248
  933. package/dist/interface/ha/eventIcons-BFNUgeGr.js +0 -676
  934. package/dist/interface/ha/eventLabels-B4C1_4vT.js +0 -42
  935. package/dist/interface/ha/eye-off-outline-ACbzsGuK.js +0 -19
  936. package/dist/interface/ha/intercomService-B7HkLs6z.js +0 -1414
  937. package/dist/interface/ha/mqtt-UZfptWJl.js +0 -56
  938. package/dist/interface/ha/notifications-DTHM8fS-.js +0 -159
  939. package/dist/interface/ha/pinia-BokSpDzj.js +0 -7656
  940. package/dist/interface/ha/plugins-Bwp_GfaX.js +0 -592
  941. package/dist/interface/ha/protocol-BB4jdtUC-DW3jl2tV.js +0 -708
  942. package/dist/interface/ha/rooms-BvaD0r0q.js +0 -45
  943. package/dist/interface/ha/server-OWdtITVa.js +0 -239
  944. package/dist/interface/ha/types-BFJjyMZe.js +0 -1073
  945. package/dist/interface/ha/ungrouped-x00DHNHO.js +0 -1311
  946. package/dist/interface/ha/updates-C03Qf3Il.js +0 -341
  947. package/dist/interface/ha/useAppVersion-CrMd9CC9.js +0 -22
  948. package/dist/interface/ha/useAssistantActions-S1FrNe9b.js +0 -29
  949. package/dist/interface/ha/useKeyboardInset-DwUQCWHC.js +0 -27
  950. package/dist/interface/ha/useLogsSocket-C6k217mW.js +0 -59
  951. package/dist/interface/ha/useNavLayout-DhuQE024.js +0 -125
  952. package/dist/interface/ha/usePermissions-DaE_wFch.js +0 -72
  953. package/dist/interface/ha/useServerRestart-CYaen2r6.js +0 -23
  954. package/dist/interface/ha/useTabSwipe-DAmCFlgg.js +0 -45
  955. package/dist/interface/ha/useUpdateChannel-Dr1EoU2X.js +0 -22
  956. package/dist/interface/ha/useUpdatesSocket-C8Gmhemh.js +0 -34
  957. package/dist/interface/ha/useUserOptions-BB5wk3Bq.js +0 -15
  958. package/dist/interface/workbox-778a14ff.js +0 -1
@@ -1,2025 +0,0 @@
1
- import { r as e } from "./rolldown-runtime-CEFd7nDs.js";
2
- import { m as t } from "./ripple-ZDATPc2w.js";
3
- import { A as n, B as r, Et as i, G as a, H as o, Jt as s, K as c, M as l, Ot as u, Wt as d, Y as f, _t as p, d as m, f as h, g, gt as _, kt as v, l as y, lt as b, ot as x, p as S, qt as C, r as w, rt as T, u as E, ut as D, v as O, wt as k, x as A, xt as j, y as M, z as ee } from "./runtime-core.esm-bundler-_TfE0DWz.js";
4
- import { t as N } from "./tooltip-BDrlgLof.js";
5
- import { t as te } from "./message-D6dIy_hz.js";
6
- import { t as P } from "./history-XMyO_cLc.js";
7
- import { An as ne, Ar as re, Dn as ie, Er as ae, Hr as oe, Si as se, Vr as ce, _n as le, _t as F, br as ue, gr as de, gt as fe, hi as pe, jr as me, m as he, q as ge, wr as _e, zr as ve } from "./api-BelbnLQO.js";
8
- import { i as I } from "./intercomService-B7HkLs6z.js";
9
- import { A as L, j as R, n as ye, r as be } from "./pinia-BokSpDzj.js";
10
- import { n as z } from "./vue-i18n-D5EAy78K.js";
11
- import { t as xe } from "./button-BouAFgf5.js";
12
- import { v as B } from "./dist-BybVYMVs.js";
13
- import { t as V } from "./inputtext-C_ygnPrC.js";
14
- import { t as H } from "./close-CxFbonhd.js";
15
- import { i as U, n as Se, r as Ce, t as we } from "./accordion-BylV-jUK.js";
16
- import { t as Te } from "./inputnumber-DZRwKgXr.js";
17
- import { t as Ee } from "./speeddial-B5p0fuqL.js";
18
- import { a as W, i as G, l as De, r as K } from "./types-BFJjyMZe.js";
19
- import { a as q, i as Oe } from "./automationBlueprint-hlqqM17r.js";
20
- import { t as ke } from "./CuiBottomSheet-B7ldz0xi.js";
21
- import { t as Ae } from "./back-filled-CaxrZv0Q.js";
22
- import { a as je, c as Me, d as Ne, f as Pe, i as Fe, l as Ie, n as Le, o as J, p as Re, r as Y, s as X, t as ze, u as Be } from "./vue-flow-background-8ZUqhPBF.js";
23
- import { t as Ve } from "./plus-CgxY7W0L.js";
24
- import { t as He } from "./settings-lWJfHaif.js";
25
- //#region src/stores/automations.ts
26
- var Z = ye("automations", () => {
27
- let e = j(null), t = j(null), n = j(null), r = j(!1), i = j(null), a = j([]);
28
- function o(e) {
29
- if (!n.value) return;
30
- let t = n.value.edges, r = n.value.nodes, i = t.filter((t) => t.target === e).map((e) => e.source);
31
- return r.find((e) => i.includes(e.id));
32
- }
33
- return {
34
- activeFlowId: e,
35
- selectedNodeId: t,
36
- draft: n,
37
- draftDirty: r,
38
- lastOutput: i,
39
- validationIssues: a,
40
- getDraftSourceNode: o
41
- };
42
- });
43
- //#endregion
44
- //#region src/components/CuiAutomation/config/flowSchema.ts
45
- function Ue(e, t) {
46
- if (!e) return [];
47
- let n = [];
48
- return qe(e, t, n, /* @__PURE__ */ new Set(), /* @__PURE__ */ new Set()), n;
49
- }
50
- function We(e, t, n) {
51
- let r = (n ?? "").trim();
52
- if (r) return Ue(e, t).find((e) => e.template === r);
53
- }
54
- function Ge(e) {
55
- let t = Z(), { t: n } = z(), r = y(() => Ue(t.draft, u(e)));
56
- return {
57
- variables: r,
58
- options: y(() => r.value.map((e) => ({
59
- label: e.labelKey ? n(`components.automation_nodes.${e.labelKey}`) : e.label ?? e.template,
60
- value: e.template
61
- })))
62
- };
63
- }
64
- function Ke(e, t) {
65
- return e?.values ? e.values.map((e) => ({
66
- label: e.labelKey ? `${t(`components.automation_nodes.${e.labelKey}`)} (${e.value})` : e.value,
67
- value: e.value
68
- })) : [];
69
- }
70
- function qe(e, t, n, r, i) {
71
- if (i.has(t)) return;
72
- i.add(t);
73
- let a = e.edges, o = e.nodes;
74
- for (let s of a) {
75
- if (s.target !== t) continue;
76
- let a = o.find((e) => e.id === s.source);
77
- if (!a?.type) continue;
78
- let c = Je(a), l = typeof a.data?.alias == "string" ? a.data.alias : void 0;
79
- for (let e of c) {
80
- if (l) {
81
- let t = {
82
- ...e,
83
- template: e.template.replace("{{", `{{${l}.`),
84
- label: `${l}: ${e.label ?? ""}`.trim()
85
- };
86
- r.has(t.template) || (r.add(t.template), n.push(t));
87
- }
88
- r.has(e.template) || (r.add(e.template), n.push(e));
89
- }
90
- qe(e, s.source, n, r, i);
91
- }
92
- }
93
- function Je(e) {
94
- let t = e.data ?? {}, n = [], r = (t, r, i, a, o) => {
95
- n.push({
96
- template: t,
97
- valueType: r,
98
- labelKey: i,
99
- sourceNodeId: e.id,
100
- sourceType: e.type ?? "",
101
- ...a && a.length > 0 ? { values: a } : {},
102
- ...o ? { label: o } : {}
103
- });
104
- };
105
- switch (e.type) {
106
- case "trigger-detection": {
107
- let e = (t.detectionLabels ?? []).map((e) => ({ value: e }));
108
- 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", [{
109
- value: "active",
110
- labelKey: "variable_value_active"
111
- }, {
112
- value: "ended",
113
- labelKey: "variable_value_ended"
114
- }]), 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");
115
- break;
116
- }
117
- case "trigger-sensor": {
118
- let i = String(t.sensorType ?? ""), a = (t.properties ?? []).length > 0 ? t.properties : L(i), o = a.map((e) => R(i, e)).filter((e) => !!e);
119
- r("{{sensor.value}}", Ye(o), "variable_sensor_value", Xe(i, o)), r("{{sensor.previousValue}}", Ye(o), "variable_sensor_previous_value");
120
- for (let t of a) {
121
- let r = R(i, t);
122
- for (let i of r?.keys ?? []) n.push({
123
- template: `{{sensor.value.${i}}}`,
124
- valueType: "number",
125
- label: `${t}.${i}`,
126
- sourceNodeId: e.id,
127
- sourceType: e.type
128
- });
129
- }
130
- r("{{sensor.property}}", "enum", "variable_sensor_property", a.map((e) => ({
131
- value: e,
132
- labelKey: `sensor_property_${e}`
133
- }))), r("{{sensor.sensorType}}", "string", "variable_sensor_type"), r("{{sensor.sensorId}}", "string", "variable_sensor_id"), r("{{sensor.assignedCameraIds}}", "string", "variable_sensor_cameras");
134
- break;
135
- }
136
- case "trigger-webhook":
137
- r("{{webhook.body}}", "string", "variable_webhook_body"), r("{{webhook.data}}", "string", "variable_webhook_data"), r("{{webhook.method}}", "enum", "variable_webhook_method", [
138
- "GET",
139
- "POST",
140
- "PUT",
141
- "PATCH",
142
- "DELETE"
143
- ].map((e) => ({ value: e }))), r("{{webhook.headers}}", "object", "variable_webhook_headers");
144
- break;
145
- case "trigger-mqtt":
146
- 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");
147
- break;
148
- case "trigger-geofence": {
149
- let e = t.event ?? "both";
150
- r("{{geo.event}}", "enum", "variable_geo_event", (e === "both" ? ["enter", "leave"] : [e]).map((e) => ({
151
- value: e,
152
- labelKey: `variable_value_${e}`
153
- }))), 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");
154
- break;
155
- }
156
- case "trigger-system":
157
- 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");
158
- break;
159
- case "action-snapshot":
160
- r("{{snapshot}}", "string", "variable_snapshot"), r("{{snapshot.base64}}", "string", "variable_snapshot_data_uri");
161
- break;
162
- case "action-assistant":
163
- r("{{assistant.answer}}", "string", "variable_assistant_answer"), r("{{assistant.replied}}", "boolean", "variable_assistant_replied");
164
- break;
165
- case "action-http":
166
- 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");
167
- break;
168
- case "action-plugin":
169
- 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");
170
- break;
171
- case "action-camera-control":
172
- r("{{camera.id}}", "string", "variable_camera_id"), r("{{camera.name}}", "string", "variable_camera_name");
173
- break;
174
- case "action-image-input": {
175
- let r = typeof t.variableName == "string" && t.variableName ? t.variableName : "image";
176
- n.push({
177
- template: `{{${r}}}`,
178
- valueType: "string",
179
- label: r,
180
- sourceNodeId: e.id,
181
- sourceType: e.type
182
- }), n.push({
183
- template: `{{${r}.width}}`,
184
- valueType: "number",
185
- label: `${r}.width`,
186
- sourceNodeId: e.id,
187
- sourceType: e.type
188
- }), n.push({
189
- template: `{{${r}.height}}`,
190
- valueType: "number",
191
- label: `${r}.height`,
192
- sourceNodeId: e.id,
193
- sourceType: e.type
194
- });
195
- break;
196
- }
197
- case "action-variable": typeof t.variableName == "string" && t.variableName && n.push({
198
- template: `{{${t.variableName}}}`,
199
- valueType: "string",
200
- label: t.variableName,
201
- sourceNodeId: e.id,
202
- sourceType: e.type
203
- });
204
- }
205
- 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;
206
- }
207
- function Ye(e) {
208
- let t = new Set(e.map((e) => e.type));
209
- return t.size === 1 ? [...t][0] : "string";
210
- }
211
- function Xe(e, t) {
212
- let n = [], r = /* @__PURE__ */ new Set(), i = (e, t) => {
213
- r.has(e) || (r.add(e), n.push({
214
- value: e,
215
- ...t ? { labelKey: t } : {}
216
- }));
217
- };
218
- for (let n of t) if (n.type === "boolean") i("true"), i("false");
219
- else if (n.type === "enum" && n.values) for (let [t, r] of Object.entries(n.values)) i(String(r), `${e}_state_${t}`);
220
- return n;
221
- }
222
- //#endregion
223
- //#region ~icons/carbon/share
224
- var Ze = {
225
- viewBox: "0 0 32 32",
226
- width: "1.2em",
227
- height: "1.2em"
228
- };
229
- function Qe(e, t) {
230
- return o(), S("svg", Ze, [...t[0] ||= [E("path", {
231
- fill: "currentColor",
232
- d: "M23 20a5 5 0 0 0-3.89 1.89l-7.31-4.57a4.46 4.46 0 0 0 0-2.64l7.31-4.57A5 5 0 1 0 18 7a4.8 4.8 0 0 0 .2 1.32l-7.31 4.57a5 5 0 1 0 0 6.22l7.31 4.57A4.8 4.8 0 0 0 18 25a5 5 0 1 0 5-5m0-16a3 3 0 1 1-3 3a3 3 0 0 1 3-3M7 19a3 3 0 1 1 3-3a3 3 0 0 1-3 3m16 9a3 3 0 1 1 3-3a3 3 0 0 1-3 3"
233
- }, null, -1)]]);
234
- }
235
- var $e = p({
236
- name: "carbon-share",
237
- render: Qe
238
- }), et = {
239
- viewBox: "0 0 32 32",
240
- width: "1.2em",
241
- height: "1.2em"
242
- };
243
- function tt(e, t) {
244
- return o(), S("svg", et, [...t[0] ||= [E("path", {
245
- fill: "currentColor",
246
- d: "M12 12h2v12h-2zm6 0h2v12h-2z"
247
- }, null, -1), E("path", {
248
- fill: "currentColor",
249
- d: "M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6Zm4 22V8h16v20Zm4-26h8v2h-8z"
250
- }, null, -1)]]);
251
- }
252
- var nt = p({
253
- name: "carbon-trash-can",
254
- render: tt
255
- }), rt = {
256
- name: "ControlButton",
257
- compatConfig: { MODE: 3 }
258
- }, it = (e, t) => {
259
- let n = e.__vccOpts || e;
260
- for (let [e, r] of t) n[e] = r;
261
- return n;
262
- }, at = {
263
- type: "button",
264
- class: "vue-flow__controls-button"
265
- };
266
- function ot(e, t, n, r, i, a) {
267
- return o(), S("button", at, [c(e.$slots, "default")]);
268
- }
269
- var st = /* @__PURE__ */ it(rt, [["render", ot]]), ct = {
270
- xmlns: "http://www.w3.org/2000/svg",
271
- viewBox: "0 0 32 32"
272
- }, lt = [/* @__PURE__ */ E("path", { d: "M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z" }, null, -1)];
273
- function ut(e, t) {
274
- return o(), S("svg", ct, lt);
275
- }
276
- var dt = { render: ut }, ft = {
277
- xmlns: "http://www.w3.org/2000/svg",
278
- viewBox: "0 0 32 5"
279
- }, pt = [/* @__PURE__ */ E("path", { d: "M0 0h32v4.2H0z" }, null, -1)];
280
- function mt(e, t) {
281
- return o(), S("svg", ft, pt);
282
- }
283
- var ht = { render: mt }, gt = {
284
- xmlns: "http://www.w3.org/2000/svg",
285
- viewBox: "0 0 32 30"
286
- }, _t = [/* @__PURE__ */ E("path", { d: "M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z" }, null, -1)];
287
- function vt(e, t) {
288
- return o(), S("svg", gt, _t);
289
- }
290
- var yt = { render: vt }, bt = {
291
- xmlns: "http://www.w3.org/2000/svg",
292
- viewBox: "0 0 25 32"
293
- }, xt = [/* @__PURE__ */ E("path", { d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z" }, null, -1)];
294
- function St(e, t) {
295
- return o(), S("svg", bt, xt);
296
- }
297
- var Ct = { render: St }, wt = {
298
- xmlns: "http://www.w3.org/2000/svg",
299
- viewBox: "0 0 25 32"
300
- }, Tt = [/* @__PURE__ */ E("path", { d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z" }, null, -1)];
301
- function Et(e, t) {
302
- return o(), S("svg", wt, Tt);
303
- }
304
- var Dt = { render: Et }, Ot = /* @__PURE__ */ A({
305
- name: "Controls",
306
- compatConfig: { MODE: 3 },
307
- props: {
308
- showZoom: {
309
- type: Boolean,
310
- default: !0
311
- },
312
- showFitView: {
313
- type: Boolean,
314
- default: !0
315
- },
316
- showInteractive: {
317
- type: Boolean,
318
- default: !0
319
- },
320
- fitViewParams: {},
321
- position: { default: () => Le.BottomLeft }
322
- },
323
- emits: [
324
- "zoomIn",
325
- "zoomOut",
326
- "fitView",
327
- "interactionChange"
328
- ],
329
- setup(e, { emit: t }) {
330
- let { nodesDraggable: n, nodesConnectable: r, elementsSelectable: a, setInteractive: s, zoomIn: l, zoomOut: u, fitView: d, viewport: p, minZoom: g, maxZoom: _ } = Ie(), y = i(() => n.value || r.value || a.value), x = i(() => p.value.zoom <= g.value), C = i(() => p.value.zoom >= _.value);
331
- function T() {
332
- l(), t("zoomIn");
333
- }
334
- function E() {
335
- u(), t("zoomOut");
336
- }
337
- function D() {
338
- d(e.fitViewParams), t("fitView");
339
- }
340
- function O() {
341
- s(!y.value), t("interactionChange", !y.value);
342
- }
343
- return (e, t) => (o(), m(v(Fe), {
344
- class: "vue-flow__controls",
345
- position: e.position
346
- }, {
347
- default: b(() => [
348
- c(e.$slots, "top"),
349
- e.showZoom ? (o(), S(w, { key: 0 }, [c(e.$slots, "control-zoom-in", {}, () => [M(st, {
350
- class: "vue-flow__controls-zoomin",
351
- disabled: C.value,
352
- onClick: T
353
- }, {
354
- default: b(() => [c(e.$slots, "icon-zoom-in", {}, () => [(o(), m(f(v(dt))))])]),
355
- _: 3
356
- }, 8, ["disabled"])]), c(e.$slots, "control-zoom-out", {}, () => [M(st, {
357
- class: "vue-flow__controls-zoomout",
358
- disabled: x.value,
359
- onClick: E
360
- }, {
361
- default: b(() => [c(e.$slots, "icon-zoom-out", {}, () => [(o(), m(f(v(ht))))])]),
362
- _: 3
363
- }, 8, ["disabled"])])], 64)) : h("", !0),
364
- e.showFitView ? c(e.$slots, "control-fit-view", { key: 1 }, () => [M(st, {
365
- class: "vue-flow__controls-fitview",
366
- onClick: D
367
- }, {
368
- default: b(() => [c(e.$slots, "icon-fit-view", {}, () => [(o(), m(f(v(yt))))])]),
369
- _: 3
370
- })]) : h("", !0),
371
- e.showInteractive ? c(e.$slots, "control-interactive", { key: 2 }, () => [e.showInteractive ? (o(), m(st, {
372
- key: 0,
373
- class: "vue-flow__controls-interactive",
374
- onClick: O
375
- }, {
376
- default: b(() => [y.value ? c(e.$slots, "icon-unlock", { key: 0 }, () => [(o(), m(f(v(Dt))))]) : h("", !0), y.value ? h("", !0) : c(e.$slots, "icon-lock", { key: 1 }, () => [(o(), m(f(v(Ct))))])]),
377
- _: 3
378
- })) : h("", !0)]) : h("", !0),
379
- c(e.$slots, "default")
380
- ]),
381
- _: 3
382
- }, 8, ["position"]));
383
- }
384
- });
385
- //#endregion
386
- //#region src/components/CuiAutomation/caseHandle.ts
387
- function kt(e) {
388
- return `case-${encodeURIComponent(e)}`;
389
- }
390
- //#endregion
391
- //#region src/components/CuiAutomation/edges/DeletableEdge.vue?vue&type=script&setup=true&lang.ts
392
- var At = ["id", "d"], jt = 24, Mt = /* @__PURE__ */ A({
393
- __name: "DeletableEdge",
394
- props: {
395
- id: {},
396
- sourceNode: {},
397
- targetNode: {},
398
- source: {},
399
- target: {},
400
- type: {},
401
- label: { type: [
402
- String,
403
- Object,
404
- Function
405
- ] },
406
- style: {},
407
- selected: { type: Boolean },
408
- sourcePosition: {},
409
- targetPosition: {},
410
- sourceHandleId: {},
411
- targetHandleId: {},
412
- animated: { type: Boolean },
413
- updatable: { type: Boolean },
414
- markerStart: {},
415
- markerEnd: {},
416
- curvature: {},
417
- interactionWidth: {},
418
- data: {},
419
- events: {},
420
- labelStyle: {},
421
- labelShowBg: { type: Boolean },
422
- labelBgStyle: {},
423
- labelBgPadding: {},
424
- labelBgBorderRadius: {},
425
- sourceX: {},
426
- sourceY: {},
427
- targetX: {},
428
- targetY: {}
429
- },
430
- setup(e) {
431
- let n = e, { removeEdges: r } = Ie(), i = y(() => Me({
432
- sourceX: n.sourceX,
433
- sourceY: n.sourceY,
434
- sourcePosition: n.sourcePosition,
435
- targetX: n.targetX,
436
- targetY: n.targetY,
437
- targetPosition: n.targetPosition
438
- })), a = y(() => i.value[0]), s = y(() => i.value[1]), c = y(() => i.value[2]), l = y(() => {
439
- let e = document.createElementNS("http://www.w3.org/2000/svg", "path");
440
- return e.setAttribute("d", a.value), e.getTotalLength();
441
- }), u = y(() => {
442
- let e = l.value;
443
- if (e <= 0) return {
444
- stroke: "var(--text-muted-color)",
445
- strokeWidth: 2,
446
- fill: "none"
447
- };
448
- let t = e / 2, n = jt / 2;
449
- return {
450
- stroke: "var(--text-muted-color)",
451
- strokeWidth: 2,
452
- fill: "none",
453
- strokeDasharray: `${Math.max(0, t - n)} ${jt} ${Math.max(0, e - t - n)}`
454
- };
455
- });
456
- function d() {
457
- r([n.id]);
458
- }
459
- return (n, r) => {
460
- let i = H;
461
- return o(), S(w, null, [E("path", {
462
- id: e.id,
463
- d: v(a),
464
- style: C(v(u)),
465
- class: "vue-flow__edge-path"
466
- }, null, 12, At), M(v(J), null, {
467
- default: b(() => [E("div", {
468
- class: "automation-edge-button nodrag nopan",
469
- style: C({
470
- pointerEvents: "all",
471
- position: "absolute",
472
- transform: `translate(-50%, -50%) translate(${v(s)}px, ${v(c)}px)`
473
- })
474
- }, [E("button", {
475
- class: "automation-edge-delete",
476
- onClick: t(d, ["stop"])
477
- }, [M(i, { class: "w-3 h-3" })])], 4)]),
478
- _: 1
479
- })], 64);
480
- };
481
- }
482
- }), Nt = {
483
- "trigger-detection": ["cameraId"],
484
- "trigger-sensor": ["sensorId"],
485
- "trigger-schedule": ["cron"],
486
- "trigger-mqtt": ["topic"],
487
- "trigger-system": ["eventType"],
488
- "condition-switch": ["variable"],
489
- "condition-ifelse": ["leftOperand", "operator"],
490
- "condition-sensorstate": ["sensorId"],
491
- "condition-time": ["startTime", "endTime"],
492
- "action-snapshot": ["cameraId"],
493
- "action-sensor": ["sensorId"],
494
- "action-notification": ["title"],
495
- "action-assistant": ["user", "prompt"],
496
- "action-http": ["url"],
497
- "action-mqtt": ["topic"],
498
- "action-variable": ["variableName"],
499
- "action-plugin": ["pluginName", "method"],
500
- "action-camera-control": ["cameraId"],
501
- "action-image-input": ["source"]
502
- }, Pt = /* @__PURE__ */ new Set([
503
- "http",
504
- "mqtt",
505
- "webhook",
506
- "sensor",
507
- "system",
508
- "repeat",
509
- "previous",
510
- "plugin",
511
- "camera",
512
- "geo",
513
- "event"
514
- ]), Ft = /* @__PURE__ */ new Set([
515
- "time.now",
516
- "flow.startMs",
517
- "snapshot",
518
- "snapshot.base64",
519
- "output"
520
- ]);
521
- function It(e) {
522
- if (!e) return [];
523
- let t = [], n = e.nodes, r = e.edges, i = n.filter((e) => e.type?.startsWith("trigger-"));
524
- i.length === 0 && t.push({ messageKey: "validation_no_trigger" });
525
- let a = new Set(i.map((e) => e.id)), o = !0;
526
- for (; o;) {
527
- o = !1;
528
- for (let e of r) a.has(e.source) && !a.has(e.target) && (a.add(e.target), o = !0);
529
- }
530
- for (let r of n) {
531
- if (!r.type) continue;
532
- let n = r.data ?? {};
533
- !r.type.startsWith("trigger-") && !a.has(r.id) && t.push({
534
- nodeId: r.id,
535
- messageKey: "validation_unreachable"
536
- });
537
- for (let e of Nt[r.type] ?? []) {
538
- let i = n[e];
539
- if (i == null || i === "") {
540
- t.push({
541
- nodeId: r.id,
542
- messageKey: "validation_missing_fields"
543
- });
544
- break;
545
- }
546
- }
547
- r.type === "condition-switch" && (!Array.isArray(n.cases) || n.cases.length === 0) && t.push({
548
- nodeId: r.id,
549
- messageKey: "validation_no_cases"
550
- }), r.type === "trigger-schedule" && typeof n.cron == "string" && n.cron && n.cron.trim().split(/\s+/).length !== 5 && t.push({
551
- nodeId: r.id,
552
- messageKey: "validation_invalid_cron"
553
- }), r.type === "action-variable" && typeof n.variableName == "string" && n.variableName && !/^\w+(?:\.\w+)*$/.test(n.variableName) && t.push({
554
- nodeId: r.id,
555
- messageKey: "validation_invalid_variable_name"
556
- }), t.push(...Lt(e, r));
557
- }
558
- return t;
559
- }
560
- function Lt(e, t) {
561
- let n = [], r = new Set(Ue(e, t.id).map((e) => e.template.slice(2, -2))), i = new Set([...r].map((e) => e.split(".")[0])), a = Rt(e), o = [];
562
- zt(t.data ?? {}, o);
563
- let s = /* @__PURE__ */ new Set();
564
- for (let e of o) for (let o of e.matchAll(/\{\{(\w+(?:\.\w+)*)\}\}/g)) {
565
- let e = o[1];
566
- if (r.has(e) || Ft.has(e) || a.has(e) || s.has(e)) continue;
567
- let c = e.split(".")[0];
568
- Pt.has(c) && i.has(c) || a.has(c) || (s.add(e), n.push({
569
- nodeId: t.id,
570
- messageKey: "validation_unknown_variable",
571
- params: { name: e }
572
- }));
573
- }
574
- return n;
575
- }
576
- function Rt(e) {
577
- let t = /* @__PURE__ */ new Set();
578
- for (let n of e.nodes) {
579
- let e = n.data ?? {};
580
- n.type === "action-variable" && typeof e.variableName == "string" && e.variableName && t.add(e.variableName), n.type === "action-image-input" && t.add(typeof e.variableName == "string" && e.variableName ? e.variableName : "image"), typeof e.alias == "string" && e.alias && t.add(e.alias);
581
- }
582
- return t;
583
- }
584
- function zt(e, t) {
585
- if (typeof e == "string") {
586
- e.includes("{{") && t.push(e);
587
- return;
588
- }
589
- if (Array.isArray(e)) {
590
- for (let n of e) zt(n, t);
591
- return;
592
- }
593
- if (e && typeof e == "object") for (let n of Object.values(e)) zt(n, t);
594
- }
595
- function Bt(e) {
596
- let t = Z(), { t: n } = z();
597
- return y(() => {
598
- let r = t.validationIssues.filter((t) => t.nodeId === u(e));
599
- if (r.length !== 0) return r.map((e) => n(`components.automation_nodes.${e.messageKey}`, e.params ?? {})).join("\n");
600
- });
601
- }
602
- //#endregion
603
- //#region src/components/CuiAutomation/utils.ts
604
- var Vt = [
605
- "cameraId",
606
- "sensorId",
607
- "sensorType"
608
- ];
609
- function Ht(e, t) {
610
- if (!e || !t) return null;
611
- let n = {}, r = e, i = t;
612
- for (let e of Vt) r[e] && e in i && !i[e] && (n[e] = r[e]);
613
- return Object.keys(n).length > 0 ? n : null;
614
- }
615
- function Ut(e) {
616
- return e.type === "trigger-webhook" && !e.webhookId ? {
617
- ...e,
618
- webhookId: pe()
619
- } : e.type === "trigger-geofence" && !e.geofenceId ? {
620
- ...e,
621
- geofenceId: pe()
622
- } : e;
623
- }
624
- function Wt(e, t, n) {
625
- if (!e) return;
626
- let r = (e) => e ? t?.(e) ?? e : void 0, i = (e, t) => e ? n?.(e) ?? t ?? e : void 0;
627
- switch (e.type) {
628
- case "trigger-detection": return r(e.cameraId);
629
- case "trigger-sensor": return i(e.sensorId, e.sensorType);
630
- case "trigger-schedule": return e.cron || void 0;
631
- case "trigger-webhook": return e.webhookId ? `...${e.webhookId.slice(-8)}` : void 0;
632
- case "trigger-system": return e.eventType ? `${e.category}: ${e.eventType.split(":").pop()}` : void 0;
633
- case "trigger-manual": return;
634
- case "trigger-geofence": return e.zoneName || void 0;
635
- case "trigger-mqtt": return e.topic || void 0;
636
- case "condition-ifelse": return e.leftOperand && e.operator ? `${e.leftOperand} ${e.operator} ${e.rightOperand}` : void 0;
637
- case "condition-switch": return e.variable || void 0;
638
- case "condition-sensorstate": return i(e.sensorId, e.sensorType);
639
- case "condition-time": return e.startTime && e.endTime ? `${e.startTime} - ${e.endTime}` : void 0;
640
- case "action-snapshot": return r(e.cameraId);
641
- case "action-camera-control": return r(e.cameraId);
642
- case "action-sensor": return i(e.sensorId, e.sensorType);
643
- case "action-notification": return e.title || void 0;
644
- case "action-notification-control": return `${e.mode} · ${e.scope}`;
645
- case "action-assistant": return e.prompt ? e.prompt.slice(0, 40) : void 0;
646
- case "action-http": return e.url ? `${e.method} ${e.url}` : void 0;
647
- case "action-mqtt": return e.topic || void 0;
648
- case "action-delay": return `${e.duration} ${e.unit}`;
649
- case "action-variable": return e.variableName || void 0;
650
- case "action-plugin": return [e.pluginName, e.method].filter(Boolean).join(": ") || void 0;
651
- default: return;
652
- }
653
- }
654
- //#endregion
655
- //#region ~icons/mdi/exclamation-thick
656
- var Gt = {
657
- viewBox: "0 0 24 24",
658
- width: "1.2em",
659
- height: "1.2em"
660
- };
661
- function Kt(e, t) {
662
- return o(), S("svg", Gt, [...t[0] ||= [E("path", {
663
- fill: "currentColor",
664
- d: "M10 3h4v11h-4zm0 18v-4h4v4z"
665
- }, null, -1)]]);
666
- }
667
- var qt = p({
668
- name: "mdi-exclamation-thick",
669
- render: Kt
670
- }), Jt = { maxInputs: Infinity }, Yt = {
671
- key: 0,
672
- class: "absolute -top-2 -right-2 z-10 flex items-center justify-center w-5 h-5 rounded-full bg-amber-500 text-white"
673
- }, Xt = { class: "flex items-center gap-2 px-3 py-2.5" }, Zt = { class: "flex-1 min-w-0" }, Qt = { class: "text-xs font-semibold truncate text-color" }, $t = {
674
- key: 0,
675
- class: "text-[10px] text-muted truncate mt-0.5"
676
- }, en = /*#__PURE__*/ ae(/* @__PURE__ */ A({
677
- __name: "BaseNode",
678
- props: /*@__PURE__*/ n({
679
- icon: {},
680
- label: {},
681
- subtitle: {},
682
- color: {},
683
- selected: { type: Boolean },
684
- showInput: { type: Boolean },
685
- showOutput: { type: Boolean },
686
- maxInputs: {},
687
- warning: {}
688
- }, Jt),
689
- setup(e) {
690
- let t = {
691
- backgroundColor: "var(--text-muted-color)",
692
- borderColor: "var(--card-background)"
693
- };
694
- return (n, r) => {
695
- let i = qt, a = N;
696
- return o(), S("div", {
697
- class: d(["automation-node relative card-background rounded-lg border-2 shadow-lg min-w-[180px] max-w-[220px] select-none", { "ring-2 ring-primary": e.selected }]),
698
- style: C({ borderColor: e.color })
699
- }, [
700
- e.warning ? D((o(), S("div", Yt, [M(i, { class: "w-3.5 h-3.5" })])), [[
701
- a,
702
- e.warning,
703
- void 0,
704
- { top: !0 }
705
- ]]) : h("", !0),
706
- E("div", Xt, [E("div", {
707
- class: "flex items-center justify-center w-8 h-8 rounded-md shrink-0",
708
- style: C({
709
- backgroundColor: `${e.color}20`,
710
- color: e.color
711
- })
712
- }, [(o(), m(f(e.icon), { class: "w-4.5 h-4.5" }))], 4), E("div", Zt, [E("div", Qt, s(e.label), 1), e.subtitle ? (o(), S("div", $t, s(e.subtitle), 1)) : h("", !0)])]),
713
- e.showInput ? (o(), m(v(X), {
714
- key: 1,
715
- type: "target",
716
- position: v(Y).Top,
717
- connectable: e.maxInputs,
718
- class: "!w-5 !h-5 !border-2",
719
- style: t
720
- }, null, 8, ["position", "connectable"])) : h("", !0),
721
- c(n.$slots, "handles", {}, () => [e.showOutput ? (o(), m(v(X), {
722
- key: 0,
723
- type: "source",
724
- position: v(Y).Bottom,
725
- class: "!w-5 !h-5 !border-2",
726
- style: t
727
- }, null, 8, ["position"])) : h("", !0)], !0)
728
- ], 6);
729
- };
730
- }
731
- }), [["__scopeId", "data-v-13cfb248"]]), tn = { class: "text-muted font-medium truncate" }, nn = { class: "text-color font-semibold text-right" }, Q = /* @__PURE__ */ A({
732
- __name: "ActionNode",
733
- props: {
734
- id: {},
735
- type: {},
736
- selected: { type: Boolean },
737
- connectable: { type: [
738
- Boolean,
739
- Number,
740
- String,
741
- Function
742
- ] },
743
- position: {},
744
- dimensions: {},
745
- label: {},
746
- isValidTargetPos: { type: Function },
747
- isValidSourcePos: { type: Function },
748
- parent: {},
749
- parentNodeId: {},
750
- dragging: { type: Boolean },
751
- resizing: { type: Boolean },
752
- zIndex: {},
753
- targetPosition: {},
754
- sourcePosition: {},
755
- dragHandle: {},
756
- data: {},
757
- events: {}
758
- },
759
- setup(e) {
760
- let t = e, { t: n } = z(), r = Z(), { lastOutput: i } = be(r), c = Bt(() => t.id), l = y(() => G(t.type)), u = y(() => l.value ? n(l.value.labelKey) : t.type), { cameraName: f } = q(), { sensors: p } = B(), g = y(() => {
761
- let e = t.data, n = e.alias, r = Wt(t.data, f, x);
762
- return e.type === "action-plugin" && e.repeat && e.repeat > 1 && (r = r ? `${r} (${e.repeat}x)` : `${e.repeat}x`), n && r ? `[${n}] ${r}` : n ? `[${n}]` : r;
763
- }), _ = y(() => t.type !== "action-output" || !i.value ? [] : Object.entries(i.value));
764
- function x(e) {
765
- let t = p.value.find((t) => t.id === e);
766
- return t ? t.displayName.value || t.name : void 0;
767
- }
768
- return (t, n) => {
769
- let r = I;
770
- return o(), S("div", null, [M(en, {
771
- icon: v(l).icon,
772
- label: v(u),
773
- subtitle: v(g),
774
- color: v(l)?.color ?? "#3b82f6",
775
- selected: e.selected,
776
- warning: v(c),
777
- "show-input": !0,
778
- "show-output": !0
779
- }, null, 8, [
780
- "icon",
781
- "label",
782
- "subtitle",
783
- "color",
784
- "selected",
785
- "warning"
786
- ]), e.type === "action-output" && v(_).length ? (o(), m(r, {
787
- key: 0,
788
- class: "cui-card mt-1",
789
- pt: { body: { class: "p-0" } },
790
- style: { "min-width": "180px" }
791
- }, {
792
- content: b(() => [(o(!0), S(w, null, a(v(_), (e, t) => (o(), S("div", {
793
- key: t,
794
- class: d(["flex justify-between gap-3 px-3 py-1.5 text-[11px]", { "border-t border-surface-100 dark:border-surface-800": t > 0 }])
795
- }, [E("span", tn, s(e[0]), 1), E("span", nn, s(e[1]), 1)], 2))), 128))]),
796
- _: 1
797
- })) : h("", !0)]);
798
- };
799
- }
800
- }), rn = /* @__PURE__ */ A({
801
- __name: "ConditionNode",
802
- props: {
803
- id: {},
804
- type: {},
805
- selected: { type: Boolean },
806
- connectable: { type: [
807
- Boolean,
808
- Number,
809
- String,
810
- Function
811
- ] },
812
- position: {},
813
- dimensions: {},
814
- label: {},
815
- isValidTargetPos: { type: Function },
816
- isValidSourcePos: { type: Function },
817
- parent: {},
818
- parentNodeId: {},
819
- dragging: { type: Boolean },
820
- resizing: { type: Boolean },
821
- zIndex: {},
822
- targetPosition: {},
823
- sourcePosition: {},
824
- dragHandle: {},
825
- data: {},
826
- events: {}
827
- },
828
- setup(e) {
829
- let t = e, { t: n } = z(), r = { borderColor: "var(--card-background)" }, i = Bt(() => t.id), a = y(() => G(t.type)), s = y(() => a.value ? n(a.value.labelKey) : t.type), { cameraName: c } = q(), { sensors: l } = B(), u = y(() => Wt(t.data, c, d));
830
- function d(e) {
831
- let t = l.value.find((t) => t.id === e);
832
- return t ? t.displayName.value || t.name : void 0;
833
- }
834
- return (t, n) => (o(), m(en, {
835
- icon: v(a).icon,
836
- label: v(s),
837
- subtitle: v(u),
838
- color: v(a)?.color ?? "#f59e0b",
839
- selected: e.selected,
840
- warning: v(i),
841
- "show-input": !0,
842
- "show-output": !1,
843
- "max-inputs": 1
844
- }, {
845
- handles: b(() => [M(v(X), {
846
- type: "source",
847
- position: v(Y).Bottom,
848
- id: "true",
849
- class: "!w-5 !h-5 !border-2",
850
- style: C({
851
- ...r,
852
- backgroundColor: "var(--text-success-color)",
853
- left: "30%"
854
- })
855
- }, null, 8, ["position", "style"]), M(v(X), {
856
- type: "source",
857
- position: v(Y).Bottom,
858
- id: "false",
859
- class: "!w-5 !h-5 !border-2",
860
- style: C({
861
- ...r,
862
- backgroundColor: "var(--text-danger-color)",
863
- left: "70%"
864
- })
865
- }, null, 8, ["position", "style"])]),
866
- _: 1
867
- }, 8, [
868
- "icon",
869
- "label",
870
- "subtitle",
871
- "color",
872
- "selected",
873
- "warning"
874
- ]));
875
- }
876
- }), an = { class: "absolute top-5 left-1/2 -translate-x-1/2 text-[10px] text-muted whitespace-nowrap pointer-events-none" }, on = /* @__PURE__ */ A({
877
- __name: "SwitchNode",
878
- props: {
879
- id: {},
880
- type: {},
881
- selected: { type: Boolean },
882
- connectable: { type: [
883
- Boolean,
884
- Number,
885
- String,
886
- Function
887
- ] },
888
- position: {},
889
- dimensions: {},
890
- label: {},
891
- isValidTargetPos: { type: Function },
892
- isValidSourcePos: { type: Function },
893
- parent: {},
894
- parentNodeId: {},
895
- dragging: { type: Boolean },
896
- resizing: { type: Boolean },
897
- zIndex: {},
898
- targetPosition: {},
899
- sourcePosition: {},
900
- dragHandle: {},
901
- data: {},
902
- events: {}
903
- },
904
- setup(e) {
905
- let t = e, { t: n } = z(), r = {
906
- backgroundColor: "#f59e0b",
907
- borderColor: "var(--card-background)"
908
- }, i = Bt(() => t.id), c = y(() => G(t.type)), l = y(() => c.value ? n(c.value.labelKey) : t.type), u = y(() => t.data.type === "condition-switch" && Array.isArray(t.data.cases) ? t.data.cases : []), d = y(() => t.data.type === "condition-switch" && t.data.variable ? t.data.variable : void 0);
909
- return (t, n) => (o(), m(en, {
910
- icon: v(c).icon,
911
- label: v(l),
912
- subtitle: v(d),
913
- color: v(c)?.color ?? "#f59e0b",
914
- selected: e.selected,
915
- warning: v(i),
916
- "show-input": !0,
917
- "show-output": !1,
918
- "max-inputs": 1
919
- }, {
920
- handles: b(() => [(o(!0), S(w, null, a(v(u), (e, t) => (o(), m(v(X), {
921
- id: v(kt)(e),
922
- key: v(kt)(e),
923
- type: "source",
924
- position: v(Y).Bottom,
925
- class: "!w-5 !h-5 !border-2",
926
- style: C({
927
- ...r,
928
- left: `${(t + 1) / (v(u).length + 1) * 100}%`
929
- })
930
- }, {
931
- default: b(() => [E("div", an, s(e), 1)]),
932
- _: 2
933
- }, 1032, [
934
- "id",
935
- "position",
936
- "style"
937
- ]))), 128))]),
938
- _: 1
939
- }, 8, [
940
- "icon",
941
- "label",
942
- "subtitle",
943
- "color",
944
- "selected",
945
- "warning"
946
- ]));
947
- }
948
- }), $ = /* @__PURE__ */ A({
949
- __name: "TriggerNode",
950
- props: {
951
- id: {},
952
- type: {},
953
- selected: { type: Boolean },
954
- connectable: { type: [
955
- Boolean,
956
- Number,
957
- String,
958
- Function
959
- ] },
960
- position: {},
961
- dimensions: {},
962
- label: {},
963
- isValidTargetPos: { type: Function },
964
- isValidSourcePos: { type: Function },
965
- parent: {},
966
- parentNodeId: {},
967
- dragging: { type: Boolean },
968
- resizing: { type: Boolean },
969
- zIndex: {},
970
- targetPosition: {},
971
- sourcePosition: {},
972
- dragHandle: {},
973
- data: {},
974
- events: {}
975
- },
976
- setup(e) {
977
- let t = e, { t: n } = z(), { cameraName: r } = q(), { sensors: i } = B(), a = Bt(() => t.id), s = y(() => G(t.type)), c = y(() => s.value ? n(s.value.labelKey) : t.type), l = y(() => Wt(t.data, r, u));
978
- function u(e) {
979
- let t = i.value.find((t) => t.id === e);
980
- return t ? t.displayName.value || t.name : void 0;
981
- }
982
- return (t, n) => (o(), m(en, {
983
- icon: v(s).icon,
984
- label: v(c),
985
- subtitle: v(l),
986
- color: v(s)?.color ?? "#22c55e",
987
- selected: e.selected,
988
- warning: v(a),
989
- "show-input": !1,
990
- "show-output": !0
991
- }, null, 8, [
992
- "icon",
993
- "label",
994
- "subtitle",
995
- "color",
996
- "selected",
997
- "warning"
998
- ]));
999
- }
1000
- }), sn = 50;
1001
- function cn() {
1002
- let e = k([]), t = k([]);
1003
- function n(e, t) {
1004
- return JSON.stringify({
1005
- nodes: e,
1006
- edges: t
1007
- });
1008
- }
1009
- function r(e) {
1010
- return JSON.parse(e);
1011
- }
1012
- function i(r, i) {
1013
- let a = [...e.value, n(r, i)];
1014
- a.length > sn && a.shift(), e.value = a, t.value = [];
1015
- }
1016
- function a(i, a) {
1017
- let o = [...e.value], s = o.pop();
1018
- if (s) return e.value = o, t.value = [...t.value, n(i, a)], r(s);
1019
- }
1020
- function o(i, a) {
1021
- let o = [...t.value], s = o.pop();
1022
- if (s) return t.value = o, e.value = [...e.value, n(i, a)], r(s);
1023
- }
1024
- function s() {
1025
- e.value = [], t.value = [];
1026
- }
1027
- return {
1028
- push: i,
1029
- undo: a,
1030
- redo: o,
1031
- clear: s,
1032
- canUndo: y(() => e.value.length > 0),
1033
- canRedo: y(() => t.value.length > 0)
1034
- };
1035
- }
1036
- //#endregion
1037
- //#region src/components/CuiAutomation/CuiAutomationCanvas.vue?vue&type=script&setup=true&lang.ts
1038
- var ln = { class: "absolute inset-0 flex items-center justify-center pointer-events-none" }, un = { class: "text-muted text-sm" }, dn = /* @__PURE__ */ A({
1039
- __name: "CuiAutomationCanvas",
1040
- props: {
1041
- flow: {},
1042
- mobile: { type: Boolean }
1043
- },
1044
- emits: ["node-select", "change"],
1045
- setup(e, { expose: n, emit: i }) {
1046
- let a = e, c = i, { t: l } = z(), { smBreakpoint: u } = re(), { screenToFlowCoordinate: f, getViewport: m, dimensions: h } = Ie(), y = cn(), C = {
1047
- "trigger-detection": p($),
1048
- "trigger-sensor": p($),
1049
- "trigger-schedule": p($),
1050
- "trigger-webhook": p($),
1051
- "trigger-system": p($),
1052
- "trigger-manual": p($),
1053
- "trigger-geofence": p($),
1054
- "trigger-mqtt": p($),
1055
- "condition-ifelse": p(rn),
1056
- "condition-switch": p(on),
1057
- "condition-sensorstate": p(rn),
1058
- "condition-time": p(rn),
1059
- "action-snapshot": p(Q),
1060
- "action-sensor": p(Q),
1061
- "action-notification": p(Q),
1062
- "action-notification-control": p(Q),
1063
- "action-assistant": p(Q),
1064
- "action-http": p(Q),
1065
- "action-mqtt": p(Q),
1066
- "action-delay": p(Q),
1067
- "action-variable": p(Q),
1068
- "action-plugin": p(Q),
1069
- "action-camera-control": p(Q),
1070
- "action-image-input": p(Q),
1071
- "action-output": p(Q)
1072
- }, w = { default: p(Mt) }, T = j([...a.flow.nodes]), D = j([...a.flow.edges]);
1073
- function O() {
1074
- y.push(T.value, D.value);
1075
- }
1076
- function k() {
1077
- let e = y.undo(T.value, D.value);
1078
- e && (T.value = e.nodes, D.value = e.edges, c("node-select", null), c("change"));
1079
- }
1080
- function A() {
1081
- let e = y.redo(T.value, D.value);
1082
- e && (T.value = e.nodes, D.value = e.edges, c("node-select", null), c("change"));
1083
- }
1084
- function N(e) {
1085
- c("node-select", e.node.id);
1086
- }
1087
- function te() {
1088
- c("node-select", null);
1089
- }
1090
- function P(e) {
1091
- let t = T.value.find((t) => t.id === e.source), n = T.value.find((t) => t.id === e.target);
1092
- return !(!t || !n || e.source === e.target || n.type?.startsWith("trigger-"));
1093
- }
1094
- function ne(e) {
1095
- if (!P(e)) return;
1096
- O();
1097
- let t = e.targetHandle ?? void 0, n = T.value.find((t) => t.id === e.target);
1098
- if (n?.type?.startsWith("condition-")) {
1099
- let n = D.value.find((n) => n.target === e.target && (n.targetHandle ?? void 0) === t);
1100
- n && (D.value = D.value.filter((e) => e.id !== n.id));
1101
- }
1102
- let r = {
1103
- id: `e-${e.source}-${e.sourceHandle ?? "out"}-${e.target}`,
1104
- source: e.source,
1105
- target: e.target,
1106
- sourceHandle: e.sourceHandle ?? void 0,
1107
- targetHandle: t
1108
- };
1109
- D.value.push(r);
1110
- let i = Ht(T.value.find((t) => t.id === e.source)?.data, n?.data);
1111
- i && n?.data && Object.assign(n.data, i), c("change");
1112
- }
1113
- function ie(e) {
1114
- e.some((e) => e.type === "remove") && (O(), c("node-select", null), c("change"));
1115
- }
1116
- function ae(e) {
1117
- let t = e.dataTransfer?.getData("application/automationnode");
1118
- if (!t) return;
1119
- let n = G(t);
1120
- if (!n) return;
1121
- O();
1122
- let r = f({
1123
- x: e.clientX,
1124
- y: e.clientY
1125
- }), i = {
1126
- id: he(12),
1127
- type: t,
1128
- position: r,
1129
- data: Ut({ ...n.defaults })
1130
- };
1131
- T.value = [...T.value, i], c("change");
1132
- }
1133
- function oe(e) {
1134
- let t = G(e);
1135
- if (!t) return;
1136
- O();
1137
- let { x: n, y: r, zoom: i } = m(), { width: a, height: o } = h.value, s = (-n + a / 2) / i, l = (-r + o / 2) / i, u = () => (Math.random() - .5) * 80, d = {
1138
- id: he(12),
1139
- type: e,
1140
- position: {
1141
- x: s + u(),
1142
- y: l + u()
1143
- },
1144
- data: Ut({ ...t.defaults })
1145
- };
1146
- return T.value = [...T.value, d], c("change"), d;
1147
- }
1148
- function se(e) {
1149
- O(), T.value = T.value.filter((t) => t.id !== e), D.value = D.value.filter((t) => t.source !== e && t.target !== e), c("change");
1150
- }
1151
- function ce() {
1152
- O(), T.value = [], D.value = [], c("change");
1153
- }
1154
- function le() {
1155
- return [...T.value];
1156
- }
1157
- function F() {
1158
- return [...D.value];
1159
- }
1160
- function ue(e, t) {
1161
- let n = T.value.find((t) => t.id === e);
1162
- if (n && (n.data = t, n.type === "condition-switch" && Array.isArray(t.cases))) {
1163
- let n = new Set(t.cases.map(kt));
1164
- D.value = D.value.filter((t) => t.source !== e || !t.sourceHandle?.startsWith("case-") || n.has(t.sourceHandle));
1165
- }
1166
- }
1167
- function de(e) {
1168
- let t = e.metaKey || e.ctrlKey;
1169
- t && e.key === "z" && !e.shiftKey ? (e.preventDefault(), k()) : (t && e.key === "z" && e.shiftKey || t && e.key === "y") && (e.preventDefault(), A());
1170
- }
1171
- return x(() => a.flow._id, () => {
1172
- T.value = [...a.flow.nodes], D.value = [...a.flow.edges], y.clear();
1173
- }), ee(() => window.addEventListener("keydown", de)), r(() => window.removeEventListener("keydown", de)), n({
1174
- removeNode: se,
1175
- addNodeAtCenter: oe,
1176
- clearAll: ce,
1177
- getNodes: le,
1178
- getEdges: F,
1179
- updateNodeData: ue,
1180
- undo: k,
1181
- redo: A,
1182
- canUndo: y.canUndo,
1183
- canRedo: y.canRedo
1184
- }), (n, r) => (o(), S("div", {
1185
- ref: "canvasRef",
1186
- class: d(["h-full w-full border-left-color border-bottom-color border-right-color rounded-b-xl overflow-hidden", { "rounded-none! border-0!": v(u) }]),
1187
- onDrop: ae,
1188
- onDragover: r[2] ||= t(() => {}, ["prevent"]),
1189
- onDragenter: r[3] ||= t(() => {}, ["prevent"])
1190
- }, [M(v(je), {
1191
- nodes: v(T),
1192
- "onUpdate:nodes": r[0] ||= (e) => _(T) ? T.value = e : null,
1193
- edges: v(D),
1194
- "onUpdate:edges": r[1] ||= (e) => _(D) ? D.value = e : null,
1195
- "node-types": C,
1196
- "edge-types": w,
1197
- "default-viewport": {
1198
- zoom: e.mobile ? .7 : .9,
1199
- x: 0,
1200
- y: 0
1201
- },
1202
- "snap-to-grid": !0,
1203
- "snap-grid": [16, 16],
1204
- "is-valid-connection": P,
1205
- class: "automation-canvas",
1206
- onNodeClick: N,
1207
- onPaneClick: te,
1208
- onConnect: ne,
1209
- onNodesChange: ie
1210
- }, g({
1211
- default: b(() => [M(v(ze), { gap: 16 }), M(v(Ot))]),
1212
- _: 2
1213
- }, [v(T).length ? void 0 : {
1214
- name: "default",
1215
- fn: b(() => [E("div", ln, [E("span", un, s(e.mobile ? v(l)("views.automation.no_nodes_mobile") : v(l)("views.automation.no_nodes")), 1)])]),
1216
- key: "0"
1217
- }]), 1032, [
1218
- "nodes",
1219
- "edges",
1220
- "default-viewport"
1221
- ])], 34));
1222
- }
1223
- }), fn = {
1224
- "trigger-detection": F(() => import("./ConfigTriggerDetection-Bt-OhHtM.js")),
1225
- "trigger-sensor": F(() => import("./ConfigTriggerSensor-Baqq--nJ.js")),
1226
- "trigger-schedule": F(() => import("./ConfigTriggerSchedule-_ThdB8Bb.js")),
1227
- "trigger-webhook": F(() => import("./ConfigTriggerWebhook-Dm45r-1C.js")),
1228
- "trigger-mqtt": F(() => import("./ConfigTriggerMqtt-BXeV82UG.js")),
1229
- "trigger-system": F(() => import("./ConfigTriggerSystem-braUVGzW.js")),
1230
- "trigger-manual": F(() => import("./ConfigTriggerManual-B0DDQtoz.js")),
1231
- "trigger-geofence": F(() => import("./ConfigTriggerGeofence-Cw3jV5qD.js")),
1232
- "action-snapshot": F(() => import("./ConfigActionSnapshot-DHJnTvin.js")),
1233
- "action-sensor": F(() => import("./ConfigActionSensor-YWnsH_LV.js")),
1234
- "action-notification": F(() => import("./ConfigActionNotification-BYsz8_aS.js")),
1235
- "action-notification-control": F(() => import("./ConfigActionNotificationControl-BxmIWVE8.js")),
1236
- "action-assistant": F(() => import("./ConfigActionAssistant-DynduZYV.js")),
1237
- "action-http": F(() => import("./ConfigActionHttp-h0vRWqZ5.js")),
1238
- "action-mqtt": F(() => import("./ConfigActionMqtt-BEQpHBgf.js")),
1239
- "action-delay": F(() => import("./ConfigActionDelay-iZ3lPGzw.js")),
1240
- "action-variable": F(() => import("./ConfigActionVariable-C7UFnvW0.js")),
1241
- "action-plugin": F(() => import("./ConfigActionPlugin-NOsUs3QI.js")),
1242
- "action-image-input": F(() => import("./ConfigActionImageInput-B9GMZYAR.js")),
1243
- "action-output": F(() => import("./ConfigActionOutput-DTOQSa1S.js")),
1244
- "action-camera-control": F(() => import("./ConfigActionCameraControl-BEYePssz.js")),
1245
- "condition-ifelse": F(() => import("./ConfigConditionIfElse-CAHbuhH3.js")),
1246
- "condition-switch": F(() => import("./ConfigConditionSwitch-D5FULaTy.js")),
1247
- "condition-sensorstate": F(() => import("./ConfigConditionSensorState-CE6okUeb.js")),
1248
- "condition-time": F(() => import("./ConfigConditionTime-DF6llIJq.js"))
1249
- }, pn = { class: "h-full overflow-y-auto flex flex-col" }, mn = { class: "flex items-center gap-2 px-4 py-3 border-bottom-color" }, hn = { class: "flex-1 min-w-0" }, gn = { class: "text-sm font-semibold truncate text-color" }, _n = { class: "text-xs text-muted" }, vn = { class: "flex-1 overflow-y-auto" }, yn = { class: "text-color font-normal text-sm" }, bn = { class: "flex flex-col field-gap" }, xn = { class: "text-color font-normal text-sm" }, Sn = { class: "text-color font-normal text-sm" }, Cn = { class: "flex flex-col gap-3" }, wn = { class: "flex flex-col field-gap" }, Tn = { class: "cui-label" }, En = {
1250
- key: 0,
1251
- class: "flex flex-col field-gap"
1252
- }, Dn = { class: "cui-label" }, On = {
1253
- key: 1,
1254
- class: "flex flex-col field-gap"
1255
- }, kn = { class: "cui-label" }, An = { class: "p-4 border-top-color" }, jn = /* @__PURE__ */ A({
1256
- __name: "CuiAutomationNodeConfig",
1257
- props: { node: {} },
1258
- emits: [
1259
- "close",
1260
- "update:data",
1261
- "delete"
1262
- ],
1263
- setup(e, { emit: t }) {
1264
- let n = e, r = t, { t: i } = z(), a = y(() => n.node.type ? G(n.node.type) : void 0), c = y(() => n.node.type?.startsWith("action-")), l = y(() => {
1265
- if (n.node.type) return fn[n.node.type];
1266
- }), u = y(() => {
1267
- let e = ["config"];
1268
- return c.value && n.node.data.alias && e.push("alias"), a.value?.supportsRepeat && n.node.data.repeat > 1 && e.push("repeat"), e;
1269
- });
1270
- function d(e) {
1271
- r("update:data", e);
1272
- }
1273
- return (t, n) => {
1274
- let r = H, p = xe, g = Ce, _ = V, y = te, x = U, w = Se, T = Te, D = we;
1275
- return o(), S("div", pn, [
1276
- E("div", mn, [
1277
- E("div", {
1278
- class: "flex items-center justify-center w-8 h-8 rounded-md shrink-0",
1279
- style: C({
1280
- backgroundColor: `${v(a)?.color}20`,
1281
- color: v(a)?.color
1282
- })
1283
- }, [(o(), m(f(v(a)?.icon), { class: "w-4 h-4" }))], 4),
1284
- E("div", hn, [E("div", gn, s(v(a) ? v(i)(v(a).labelKey) : e.node.type), 1), E("div", _n, s(v(i)("views.automation.node_config")), 1)]),
1285
- M(p, {
1286
- severity: "secondary",
1287
- text: "",
1288
- rounded: "",
1289
- class: "shrink-0 cui-icon-sm",
1290
- onClick: n[0] ||= (e) => t.$emit("close")
1291
- }, {
1292
- icon: b(() => [M(r, {
1293
- width: "100%",
1294
- height: "100%"
1295
- })]),
1296
- _: 1
1297
- })
1298
- ]),
1299
- E("div", vn, [M(D, {
1300
- multiple: "",
1301
- value: v(u),
1302
- class: "w-[300px]"
1303
- }, {
1304
- default: b(() => [
1305
- v(c) ? (o(), m(w, {
1306
- key: 0,
1307
- value: "alias"
1308
- }, {
1309
- default: b(() => [M(g, { class: "px-4 rounded-none!" }, {
1310
- default: b(() => [E("span", yn, s(v(i)("components.automation_nodes.alias")), 1)]),
1311
- _: 1
1312
- }), M(x, { pt: { content: { class: "px-4 w-[300px]" } } }, {
1313
- default: b(() => [E("div", bn, [M(_, {
1314
- "model-value": e.node.data.alias ?? "",
1315
- placeholder: v(i)("components.automation_nodes.alias_placeholder"),
1316
- "onUpdate:modelValue": n[1] ||= (e) => d({ alias: e || void 0 })
1317
- }, null, 8, ["model-value", "placeholder"]), M(y, {
1318
- severity: "secondary",
1319
- variant: "simple",
1320
- size: "small",
1321
- class: "cui-input-hint"
1322
- }, {
1323
- default: b(() => [O(s(v(i)("components.automation_nodes.alias_hint")), 1)]),
1324
- _: 1
1325
- })])]),
1326
- _: 1
1327
- })]),
1328
- _: 1
1329
- })) : h("", !0),
1330
- v(l) ? (o(), m(w, {
1331
- key: 1,
1332
- value: "config"
1333
- }, {
1334
- default: b(() => [M(g, { class: "px-4 rounded-none!" }, {
1335
- default: b(() => [E("span", xn, s(v(i)("views.automation.node_config")), 1)]),
1336
- _: 1
1337
- }), M(x, { pt: { content: { class: "px-4 w-[300px]" } } }, {
1338
- default: b(() => [E("div", null, [(o(), m(f(v(l)), {
1339
- data: e.node.data,
1340
- "node-id": e.node.id,
1341
- "onUpdate:data": d
1342
- }, null, 40, ["data", "node-id"]))])]),
1343
- _: 1
1344
- })]),
1345
- _: 1
1346
- })) : h("", !0),
1347
- v(a)?.supportsRepeat ? (o(), m(w, {
1348
- key: 2,
1349
- value: "repeat"
1350
- }, {
1351
- default: b(() => [M(g, { class: "px-4 rounded-none!" }, {
1352
- default: b(() => [E("span", Sn, s(v(i)("components.automation_nodes.repeat")), 1)]),
1353
- _: 1
1354
- }), M(x, { pt: { content: { class: "px-4 w-[300px]" } } }, {
1355
- default: b(() => [E("div", Cn, [
1356
- E("div", wn, [E("label", Tn, s(v(i)("components.automation_nodes.repeat_count")), 1), M(T, {
1357
- "model-value": e.node.data.repeat ?? 1,
1358
- min: 1,
1359
- max: 1e5,
1360
- class: "w-full",
1361
- "onUpdate:modelValue": n[2] ||= (e) => d({ repeat: e })
1362
- }, null, 8, ["model-value"])]),
1363
- e.node.data.repeat > 1 ? (o(), S("div", En, [
1364
- E("label", Dn, s(v(i)("components.automation_nodes.repeat_concurrency")), 1),
1365
- M(T, {
1366
- "model-value": e.node.data.repeatConcurrency ?? 1,
1367
- min: 1,
1368
- max: 64,
1369
- class: "w-full",
1370
- "onUpdate:modelValue": n[3] ||= (e) => d({ repeatConcurrency: e })
1371
- }, null, 8, ["model-value"]),
1372
- M(y, {
1373
- severity: "secondary",
1374
- variant: "simple",
1375
- size: "small",
1376
- class: "cui-input-hint"
1377
- }, {
1378
- default: b(() => [O(s(v(i)("components.automation_nodes.repeat_concurrency_hint")), 1)]),
1379
- _: 1
1380
- })
1381
- ])) : h("", !0),
1382
- e.node.data.repeat > 1 ? (o(), S("div", On, [E("label", kn, s(v(i)("components.automation_nodes.repeat_delay")), 1), M(T, {
1383
- "model-value": e.node.data.repeatDelayMs ?? 0,
1384
- min: 0,
1385
- max: 6e4,
1386
- suffix: " ms",
1387
- class: "w-full",
1388
- "onUpdate:modelValue": n[4] ||= (e) => d({ repeatDelayMs: e })
1389
- }, null, 8, ["model-value"])])) : h("", !0)
1390
- ])]),
1391
- _: 1
1392
- })]),
1393
- _: 1
1394
- })) : h("", !0)
1395
- ]),
1396
- _: 1
1397
- }, 8, ["value"])]),
1398
- E("div", An, [M(p, {
1399
- severity: "danger",
1400
- fluid: "",
1401
- class: "w-full cui-button-medium",
1402
- label: v(i)("views.automation.delete_node"),
1403
- onClick: n[5] ||= (e) => t.$emit("delete")
1404
- }, null, 8, ["label"])])
1405
- ]);
1406
- };
1407
- }
1408
- }), Mn = {
1409
- key: 0,
1410
- class: "text-xs font-semibold text-muted uppercase tracking-wider mb-3"
1411
- }, Nn = { class: "text-xs font-medium text-muted mb-2" }, Pn = { class: "flex flex-col gap-1.5" }, Fn = [
1412
- "draggable",
1413
- "onDragstart",
1414
- "onClick"
1415
- ], In = { class: "flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5" }, Ln = { class: "flex-1 min-w-0" }, Rn = { class: "text-[13px] font-medium truncate text-color block leading-tight" }, zn = {
1416
- key: 0,
1417
- class: "text-[11px] text-muted block truncate mt-0.5 leading-tight"
1418
- }, Bn = /*#__PURE__*/ ae(/* @__PURE__ */ A({
1419
- __name: "CuiAutomationNodePalette",
1420
- props: /*@__PURE__*/ n({ mode: {} }, K),
1421
- emits: ["node-click"],
1422
- setup(e) {
1423
- let { t } = z(), n = [
1424
- {
1425
- key: "trigger",
1426
- labelKey: "components.automation_nodes.category_triggers",
1427
- nodes: W("trigger")
1428
- },
1429
- {
1430
- key: "condition",
1431
- labelKey: "components.automation_nodes.category_conditions",
1432
- nodes: W("condition")
1433
- },
1434
- {
1435
- key: "utility",
1436
- labelKey: "components.automation_nodes.category_utilities",
1437
- nodes: W("utility")
1438
- },
1439
- {
1440
- key: "action",
1441
- labelKey: "components.automation_nodes.category_actions",
1442
- nodes: W("action")
1443
- }
1444
- ];
1445
- function r(e, t) {
1446
- e.dataTransfer && (e.dataTransfer.setData("application/automationnode", t), e.dataTransfer.effectAllowed = "move");
1447
- }
1448
- return (i, c) => (o(), S("div", { class: d(["overflow-y-auto p-3", e.mode === "drag" ? "h-full" : ""]) }, [e.mode === "drag" ? (o(), S("div", Mn, s(v(t)("views.automation.node_palette")), 1)) : h("", !0), (o(), S(w, null, a(n, (n) => E("div", {
1449
- key: n.key,
1450
- class: "mb-4"
1451
- }, [E("div", Nn, s(v(t)(n.labelKey)), 1), E("div", Pn, [(o(!0), S(w, null, a(n.nodes, (n) => (o(), S("div", {
1452
- key: n.type,
1453
- class: d(["automation-palette-node", e.mode === "drag" ? "cursor-grab active:cursor-grabbing" : "cursor-pointer"]),
1454
- draggable: e.mode === "drag",
1455
- onDragstart: (t) => e.mode === "drag" ? r(t, n.type) : void 0,
1456
- onClick: (t) => e.mode === "click" ? i.$emit("node-click", n.type) : void 0
1457
- }, [E("div", {
1458
- class: "automation-palette-node__accent",
1459
- style: C({ backgroundColor: n.color })
1460
- }, null, 4), E("div", In, [E("div", {
1461
- class: "flex items-center justify-center w-8 h-8 rounded-lg shrink-0",
1462
- style: C({
1463
- backgroundColor: `${n.color}15`,
1464
- color: n.color
1465
- })
1466
- }, [(o(), m(f(n.icon), { class: "w-4.5 h-4.5" }))], 4), E("div", Ln, [E("span", Rn, s(v(t)(n.labelKey)), 1), e.mode === "click" ? (o(), S("span", zn, s(v(t)(n.descriptionKey)), 1)) : h("", !0)])])], 42, Fn))), 128))])])), 64))], 2));
1467
- }
1468
- }), [["__scopeId", "data-v-08caad7f"]]), Vn = { class: "flex items-center gap-2 px-3 py-2 border-bottom-color card-background min-h-[48px]" }, Hn = /* @__PURE__ */ A({
1469
- __name: "CuiAutomationToolbar",
1470
- props: {
1471
- flow: {},
1472
- showHistory: { type: Boolean }
1473
- },
1474
- emits: [
1475
- "update:name",
1476
- "toggle-enabled",
1477
- "toggle-suppress-duplicates",
1478
- "toggle-single-execution",
1479
- "show-history"
1480
- ],
1481
- setup(e, { emit: t }) {
1482
- let n = e, r = t, { t: i } = z(), { smBreakpoint: a } = re(), s = T("menuRef"), c = y(() => [{
1483
- key: "suppressDuplicates",
1484
- label: i("views.automation.suppress_duplicates"),
1485
- description: i("views.automation.suppress_duplicates_hint"),
1486
- toggle: !0,
1487
- toggleState: n.flow.suppressDuplicates,
1488
- onClick: () => r("toggle-suppress-duplicates")
1489
- }, {
1490
- key: "singleExecution",
1491
- label: i("views.automation.single_execution"),
1492
- description: i("views.automation.single_execution_hint"),
1493
- toggle: !0,
1494
- toggleState: n.flow.singleExecution,
1495
- onClick: () => r("toggle-single-execution")
1496
- }]);
1497
- return (t, n) => {
1498
- let r = Ae, l = xe, u = V, f = ne, p = P, g = He, _ = ie, y = N;
1499
- return o(), S("div", Vn, [
1500
- v(a) ? h("", !0) : (o(), m(l, {
1501
- key: 0,
1502
- severity: "secondary",
1503
- text: "",
1504
- rounded: "",
1505
- class: "cui-icon-md shrink-0",
1506
- onClick: n[0] ||= (e) => t.$router.push("/automations")
1507
- }, {
1508
- icon: b(() => [M(r, {
1509
- width: "100%",
1510
- height: "100%"
1511
- })]),
1512
- _: 1
1513
- })),
1514
- M(u, {
1515
- "model-value": e.flow.name,
1516
- class: d(["font-medium text-sm min-w-0 flex-1", { "max-w-[300px]": !v(a) }]),
1517
- placeholder: v(i)("views.automations.flow_name_placeholder"),
1518
- "onUpdate:modelValue": n[1] ||= (e) => t.$emit("update:name", String(e ?? ""))
1519
- }, null, 8, [
1520
- "model-value",
1521
- "class",
1522
- "placeholder"
1523
- ]),
1524
- n[5] ||= E("div", { class: "flex-1" }, null, -1),
1525
- M(f, {
1526
- "model-value": e.flow.enabled,
1527
- class: "shrink-0",
1528
- "onUpdate:modelValue": n[2] ||= (e) => t.$emit("toggle-enabled")
1529
- }, null, 8, ["model-value"]),
1530
- e.showHistory ? D((o(), m(l, {
1531
- key: 1,
1532
- severity: "secondary",
1533
- text: "",
1534
- rounded: "",
1535
- class: "cui-icon-md shrink-0",
1536
- onClick: n[3] ||= (e) => t.$emit("show-history")
1537
- }, {
1538
- icon: b(() => [M(p, {
1539
- width: "100%",
1540
- height: "100%"
1541
- })]),
1542
- _: 1
1543
- })), [[
1544
- y,
1545
- { value: v(i)("views.automations.run_history") },
1546
- void 0,
1547
- { bottom: !0 }
1548
- ]]) : h("", !0),
1549
- M(l, {
1550
- severity: "secondary",
1551
- text: "",
1552
- rounded: "",
1553
- class: "cui-icon-md shrink-0",
1554
- onClick: n[4] ||= (e) => v(s)?.toggleMenu(e)
1555
- }, {
1556
- icon: b(() => [M(g, {
1557
- width: "100%",
1558
- height: "100%"
1559
- })]),
1560
- _: 1
1561
- }),
1562
- M(_, {
1563
- ref_key: "menuRef",
1564
- ref: s,
1565
- items: v(c),
1566
- "auto-hide": !1,
1567
- popover: { pt: {
1568
- root: { class: "w-[18rem]" },
1569
- content: { class: "p-0! rounded-xl! overflow-hidden!" }
1570
- } }
1571
- }, null, 8, ["items"])
1572
- ]);
1573
- };
1574
- }
1575
- }), Un = { class: "flex flex-col gap-4 w-full" }, Wn = {
1576
- key: 1,
1577
- class: "text-sm text-muted"
1578
- }, Gn = /* @__PURE__ */ A({
1579
- __name: "CuiAutomationMobileNodeConfig",
1580
- props: { node: {} },
1581
- setup(e, { expose: t }) {
1582
- let n = e, { t: r } = z(), i = Z(), a = y(() => {
1583
- if (n.node.type) return fn[n.node.type];
1584
- });
1585
- function c(e) {
1586
- if (!i.draft) return;
1587
- let t = i.draft.nodes.find((e) => e.id === n.node.id);
1588
- t?.data && (Object.assign(t.data, e), i.draftDirty = !0);
1589
- }
1590
- return t({ onConfirm: async () => {
1591
- if (i.draft) {
1592
- let e = n.node.id;
1593
- i.draft.nodes = i.draft.nodes.filter((t) => t.id !== e), i.draft.edges = i.draft.edges.filter((t) => t.source !== e && t.target !== e);
1594
- }
1595
- } }), (t, n) => (o(), S("div", Un, [v(a) ? (o(), m(f(v(a)), {
1596
- key: 0,
1597
- data: e.node.data,
1598
- "node-id": e.node.id,
1599
- "onUpdate:data": c
1600
- }, null, 40, ["data", "node-id"])) : (o(), S("div", Wn, s(v(r)("views.automation.no_node_selected")), 1))]));
1601
- }
1602
- }), Kn = { class: "h-full w-full relative overflow-hidden flex flex-col" }, qn = { class: "flex flex-1 min-h-0" }, Jn = { class: "relative w-6 h-6" }, Yn = {
1603
- key: 1,
1604
- class: "flex flex-1 items-center justify-center"
1605
- }, Xn = {
1606
- key: 2,
1607
- class: "flex flex-1 items-center justify-center"
1608
- }, Zn = { class: "text-muted" }, Qn = /*@__PURE__*/ A({
1609
- __name: "Automation",
1610
- setup(e) {
1611
- let t = F(() => import("./CuiAutomationRunsDialog-DO6h5Tc4.js")), n = new De(), r = ce(), i = oe(), { t: a } = z(), { smBreakpoint: c } = re(), { bottombarHeight: u } = me(), p = fe(), g = se(), O = Z(), k = y(() => r.params.id), A = y(() => k.value === "new"), ee = y(() => de(void 0, "admin")), { data: te, isBusy: P } = n.getAutomationQuery(k), { mutateAsync: ne } = n.createAutomationQuery(), { mutateAsync: ie } = n.patchAutomationQuery(), { mutateAsync: ae } = n.deleteAutomationQuery(), { mutateAsync: pe } = n.triggerAutomationQuery(), I = T("canvasRef"), L = j(!1), R = j(!1), ye = j(!1), be = j(!1), B = !1, V, H = y({
1612
- get: () => O.draft,
1613
- set: (e) => {
1614
- O.draft = e;
1615
- }
1616
- }), U = y(() => {
1617
- if (H.value && O.selectedNodeId) return H.value.nodes.find((e) => e.id === O.selectedNodeId);
1618
- }), Se = y(() => {
1619
- if (!c.value && U.value) return "calc(300px + 1.25rem + var(--safe-area-inset-right))";
1620
- }), Ce = y(() => [
1621
- ...H.value?.nodes.some((e) => e.type === "trigger-manual") ?? !1 ? [{
1622
- label: a("views.automation.run"),
1623
- icon: le,
1624
- buttonProps: { disabled: A.value || R.value },
1625
- command: () => He()
1626
- }] : [],
1627
- {
1628
- label: a("views.automation.undo"),
1629
- icon: Be,
1630
- buttonProps: { disabled: !ye.value },
1631
- command: () => {
1632
- I.value?.undo(), K();
1633
- }
1634
- },
1635
- {
1636
- label: a("views.automation.redo"),
1637
- icon: Pe,
1638
- buttonProps: { disabled: !be.value },
1639
- command: () => {
1640
- I.value?.redo(), K();
1641
- }
1642
- },
1643
- {
1644
- label: a("views.automation.export_blueprint"),
1645
- icon: $e,
1646
- command: () => Ue()
1647
- },
1648
- {
1649
- label: a("views.automation.clear"),
1650
- icon: Re,
1651
- command: () => We()
1652
- },
1653
- {
1654
- label: a("views.automations.delete"),
1655
- icon: nt,
1656
- buttonProps: { severity: "danger" },
1657
- command: () => Ge()
1658
- }
1659
- ]);
1660
- function we() {
1661
- ye.value = I.value?.canUndo ?? !1, be.value = I.value?.canRedo ?? !1;
1662
- }
1663
- function Te() {
1664
- H.value = {
1665
- _id: he(12),
1666
- name: a("views.automation.untitled"),
1667
- enabled: !1,
1668
- nodes: [],
1669
- edges: [],
1670
- suppressDuplicates: !1,
1671
- singleExecution: !1,
1672
- createdAt: Date.now(),
1673
- updatedAt: Date.now()
1674
- }, O.selectedNodeId = null;
1675
- }
1676
- function W() {
1677
- clearTimeout(V), V = setTimeout(() => {
1678
- J(), O.validationIssues = It(H.value);
1679
- }, 300);
1680
- }
1681
- function K() {
1682
- R.value = !0, we(), W();
1683
- }
1684
- function q() {
1685
- p.openComponentDialog(t, { data: {
1686
- title: a("views.automations.run_history"),
1687
- contentProps: { flowId: k.value },
1688
- hideConfirmButton: !0
1689
- } });
1690
- }
1691
- function je() {
1692
- J(), K();
1693
- }
1694
- function Me(e) {
1695
- H.value && (H.value.name = e, K());
1696
- }
1697
- function Fe(e, t) {
1698
- if (!H.value) return;
1699
- let n = H.value.nodes.find((t) => t.id === e);
1700
- if (n?.data) {
1701
- if (!Object.entries(t).some(([e, t]) => n.data[e] !== t)) return;
1702
- Object.assign(n.data, t), I.value?.updateNodeData(e, { ...n.data }), K();
1703
- }
1704
- }
1705
- function Ie() {
1706
- if (!H.value) return {};
1707
- let e = I.value?.getNodes?.() ?? H.value.nodes, t = I.value?.getEdges?.() ?? H.value.edges;
1708
- return {
1709
- name: H.value.name,
1710
- enabled: H.value.enabled,
1711
- suppressDuplicates: H.value.suppressDuplicates,
1712
- singleExecution: H.value.singleExecution,
1713
- nodes: e.map((e) => ({
1714
- id: e.id,
1715
- type: e.type ?? "",
1716
- position: e.position,
1717
- data: e.data ?? {}
1718
- })),
1719
- edges: t.map((e) => ({
1720
- id: e.id,
1721
- source: e.source,
1722
- target: e.target,
1723
- sourceHandle: e.sourceHandle ?? void 0,
1724
- targetHandle: e.targetHandle ?? void 0
1725
- }))
1726
- };
1727
- }
1728
- async function Le() {
1729
- if (!H.value) return;
1730
- J();
1731
- let e = Ie();
1732
- try {
1733
- if (A.value) {
1734
- let t = await ne({ data: e });
1735
- R.value = !1, i.replace(`/automations/${t._id}`);
1736
- } else {
1737
- let t = await ie({
1738
- id: H.value._id,
1739
- data: e
1740
- });
1741
- if (R.value = !1, t?.nodes && H.value) for (let e of t.nodes) {
1742
- let t = H.value.nodes.find((t) => t.id === e.id);
1743
- t?.data && e.data && Object.assign(t.data, e.data);
1744
- }
1745
- g.add({
1746
- severity: "success",
1747
- detail: a("views.automation.saved"),
1748
- life: 3e3
1749
- });
1750
- }
1751
- } catch {
1752
- g.add({
1753
- severity: "error",
1754
- detail: a("views.automation.save_failed"),
1755
- life: 3e3
1756
- });
1757
- }
1758
- }
1759
- function J() {
1760
- if (!H.value) return;
1761
- let e = I.value?.getNodes(), t = I.value?.getEdges();
1762
- e && (H.value.nodes = e), t && (H.value.edges = t);
1763
- }
1764
- function Y(e) {
1765
- if (O.selectedNodeId = e, c.value && e) {
1766
- J();
1767
- let t = H.value?.nodes.find((t) => t.id === e);
1768
- if (!t) return;
1769
- let n = t.type ? G(t.type) : void 0, r = n ? a(n.labelKey) : "Node", i = t.id;
1770
- p.openComponentDialog(Gn, {
1771
- data: {
1772
- title: r,
1773
- confirmText: a("views.automation.delete_node"),
1774
- confirmButtonProps: { severity: "danger" },
1775
- contentProps: { node: {
1776
- id: t.id,
1777
- type: t.type,
1778
- data: t.data
1779
- } }
1780
- },
1781
- onSettled: () => {
1782
- H.value?.nodes.some((e) => e.id === i) || (I.value?.removeNode(i), K());
1783
- }
1784
- });
1785
- }
1786
- }
1787
- function X(e) {
1788
- L.value = !1, I.value?.addNodeAtCenter(e), K();
1789
- }
1790
- function ze() {
1791
- O.selectedNodeId && (I.value?.removeNode(O.selectedNodeId), H.value && (H.value.nodes = H.value.nodes.filter((e) => e.id !== O.selectedNodeId), H.value.edges = H.value.edges.filter((e) => e.source !== O.selectedNodeId && e.target !== O.selectedNodeId)), O.selectedNodeId = null, O.lastOutput = null, K());
1792
- }
1793
- async function He() {
1794
- if (H.value && !A.value) try {
1795
- O.lastOutput = null;
1796
- let e = await pe({ id: H.value._id });
1797
- e?.output && Object.keys(e.output).length > 0 && (O.lastOutput = e.output), g.add({
1798
- severity: "success",
1799
- detail: a("views.automation.triggered"),
1800
- life: 3e3
1801
- });
1802
- } catch {
1803
- g.add({
1804
- severity: "error",
1805
- detail: a("views.automation.trigger_failed"),
1806
- life: 3e3
1807
- });
1808
- }
1809
- }
1810
- function Ue() {
1811
- if (!H.value) return;
1812
- Le();
1813
- let e = {
1814
- version: 1,
1815
- name: H.value.name,
1816
- nodes: Oe(H.value.nodes),
1817
- edges: H.value.edges
1818
- }, t = JSON.stringify(e, null, 2), n = new Blob([t], { type: "application/json" });
1819
- ue({
1820
- blob: n,
1821
- filename: `${H.value.name.replace(/\s+/g, "_").toLowerCase()}.blueprint.json`
1822
- });
1823
- }
1824
- function We() {
1825
- p.openTextDialog({
1826
- data: {
1827
- title: a("views.automation.clear"),
1828
- contentText: a("views.automation.clear_confirm"),
1829
- confirmText: a("views.automation.clear")
1830
- },
1831
- onConfirm: async () => {
1832
- I.value?.clearAll(), H.value && (H.value.nodes = [], H.value.edges = []), O.selectedNodeId = null, K();
1833
- }
1834
- });
1835
- }
1836
- function Ge() {
1837
- if (!H.value) return;
1838
- let e = H.value._id;
1839
- p.openTextDialog({
1840
- data: {
1841
- title: a("views.automations.delete"),
1842
- contentText: a("views.automations.delete_confirm"),
1843
- confirmText: a("views.automations.delete")
1844
- },
1845
- onConfirm: async () => {
1846
- await ae({ id: e }), i.push("/automations");
1847
- }
1848
- });
1849
- }
1850
- function Ke() {
1851
- i.push("/automations");
1852
- }
1853
- return x(k, (e) => {
1854
- O.activeFlowId = e === "new" ? null : e ?? null, O.selectedNodeId = null, O.lastOutput = null, R.value = !1, e === "new" ? Te() : H.value = null;
1855
- }, { immediate: !0 }), x(te, (e) => {
1856
- e && !R.value && (H.value = JSON.parse(JSON.stringify(e)), O.validationIssues = It(H.value));
1857
- }, { immediate: !0 }), x(() => O.draftDirty, (e) => {
1858
- e && (O.draftDirty = !1, K());
1859
- }), ve((e) => !R.value || B ? !0 : (p.openTextDialog({
1860
- data: {
1861
- title: a("views.automation.unsaved_title"),
1862
- contentText: a("views.automation.unsaved_message"),
1863
- confirmText: a("views.automation.discard")
1864
- },
1865
- onConfirm: async () => {
1866
- B = !0, i.push(e.fullPath);
1867
- }
1868
- }), !1)), (e, t) => {
1869
- let n = Ae, r = xe, i = ge, p = Ee, g = ke, y = _e, x = N;
1870
- return o(), S("div", Kn, [M(i, { position: "left" }, {
1871
- default: b(() => [M(r, {
1872
- severity: "secondary",
1873
- text: "",
1874
- class: "cui-button p-2 text-color non-draggable-region",
1875
- onClick: Ke
1876
- }, {
1877
- icon: b(() => [M(n, { class: "w-6 h-6" })]),
1878
- _: 1
1879
- })]),
1880
- _: 1
1881
- }), v(H) ? (o(), S(w, { key: 0 }, [
1882
- M(Hn, {
1883
- flow: v(H),
1884
- "show-history": !v(A) && v(ee),
1885
- onShowHistory: q,
1886
- "onUpdate:name": Me,
1887
- onToggleEnabled: t[0] ||= (e) => {
1888
- v(H).enabled = !v(H).enabled, K();
1889
- },
1890
- onToggleSuppressDuplicates: t[1] ||= (e) => {
1891
- v(H).suppressDuplicates = !v(H).suppressDuplicates, K();
1892
- },
1893
- onToggleSingleExecution: t[2] ||= (e) => {
1894
- v(H).singleExecution = !v(H).singleExecution, K();
1895
- }
1896
- }, null, 8, ["flow", "show-history"]),
1897
- E("div", qn, [
1898
- v(c) ? h("", !0) : (o(), m(Bn, {
1899
- key: 0,
1900
- class: "w-[240px] shrink-0"
1901
- })),
1902
- M(dn, {
1903
- ref_key: "canvasRef",
1904
- ref: I,
1905
- flow: v(H),
1906
- mobile: v(c),
1907
- class: "flex-1 min-w-0",
1908
- onNodeSelect: Y,
1909
- onChange: je
1910
- }, null, 8, ["flow", "mobile"]),
1911
- v(c) ? h("", !0) : (o(), S("div", {
1912
- key: 1,
1913
- class: "shrink-0 overflow-hidden transition-[width] duration-200 ease-in-out",
1914
- style: C({ width: v(U) ? "300px" : "0px" })
1915
- }, [v(U) ? (o(), m(jn, {
1916
- key: 0,
1917
- node: v(U),
1918
- class: "w-[300px]",
1919
- onClose: t[3] ||= (e) => v(O).selectedNodeId = null,
1920
- "onUpdate:data": t[4] ||= (e) => Fe(v(O).selectedNodeId, e),
1921
- onDelete: ze
1922
- }, null, 8, ["node"])) : h("", !0)], 4))
1923
- ]),
1924
- M(p, {
1925
- model: v(Ce),
1926
- direction: "up",
1927
- "transition-delay": 80,
1928
- "tooltip-options": {
1929
- position: "left",
1930
- event: void 0
1931
- },
1932
- style: C({
1933
- position: "fixed",
1934
- zIndex: 15,
1935
- bottom: `calc(${v(u)}px + ${v(R) ? "4.25rem" : "1.25rem"} + var(--safe-area-inset-bottom))`,
1936
- right: v(Se) || "calc(1.25rem + var(--safe-area-inset-right))",
1937
- transition: "right 0.2s ease-in-out, bottom 0.2s ease-in-out"
1938
- }),
1939
- pt: { root: { style: "pointer-events: none" } }
1940
- }, {
1941
- button: b(({ visible: e, toggleCallback: t }) => [M(r, {
1942
- rounded: "",
1943
- severity: "secondary",
1944
- class: "pointer-events-auto",
1945
- onClick: t
1946
- }, {
1947
- icon: b(() => [E("div", Jn, [
1948
- E("div", {
1949
- class: d(["absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center", { "w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none": e }]),
1950
- style: { backgroundColor: "var(--text-color)" }
1951
- }, null, 2),
1952
- E("div", {
1953
- class: d(["absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100", { "opacity-0 scale-0": e }]),
1954
- style: { backgroundColor: "var(--text-color)" }
1955
- }, null, 2),
1956
- E("div", {
1957
- class: d(["absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center", { "w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none": e }]),
1958
- style: { backgroundColor: "var(--text-color)" }
1959
- }, null, 2)
1960
- ])]),
1961
- _: 2
1962
- }, 1032, ["onClick"])]),
1963
- item: b(({ item: e, toggleCallback: t }) => [D((o(), m(r, l({ severity: "secondary" }, e.buttonProps, {
1964
- rounded: "",
1965
- class: "pointer-events-auto",
1966
- onClick: t
1967
- }), {
1968
- icon: b(() => [(o(), m(f(e.icon)))]),
1969
- _: 2
1970
- }, 1040, ["onClick"])), [[x, { value: e.label }]])]),
1971
- _: 1
1972
- }, 8, ["model", "style"]),
1973
- v(c) ? D((o(), m(r, {
1974
- key: 0,
1975
- rounded: "",
1976
- class: "pointer-events-auto text-white",
1977
- style: C({
1978
- position: "fixed",
1979
- zIndex: 15,
1980
- bottom: `calc(${v(u)}px + 1.25rem + var(--safe-area-inset-bottom))`,
1981
- right: "calc(4.75rem + var(--safe-area-inset-right))"
1982
- }),
1983
- onClick: t[5] ||= (e) => L.value = !0
1984
- }, {
1985
- icon: b(() => [M(v(Ve), { class: "w-5 h-5" })]),
1986
- _: 1
1987
- }, 8, ["style"])), [[x, { value: v(a)("views.automation.add_step") }]]) : h("", !0),
1988
- v(R) ? D((o(), m(r, {
1989
- key: 1,
1990
- rounded: "",
1991
- severity: "success",
1992
- class: "pointer-events-auto text-white",
1993
- style: C({
1994
- position: "fixed",
1995
- zIndex: 15,
1996
- bottom: `calc(${v(u)}px + 1.25rem + var(--safe-area-inset-bottom))`,
1997
- right: v(Se) || "calc(1.25rem + var(--safe-area-inset-right))",
1998
- transition: "right 0.2s ease-in-out"
1999
- }),
2000
- onClick: Le
2001
- }, {
2002
- icon: b(() => [M(v(Ne), { class: "w-5 h-5" })]),
2003
- _: 1
2004
- }, 8, ["style"])), [[x, { value: v(a)("views.automation.save") }]]) : h("", !0),
2005
- M(g, {
2006
- modelValue: v(L),
2007
- "onUpdate:modelValue": t[6] ||= (e) => _(L) ? L.value = e : null,
2008
- title: v(a)("views.automation.add_step"),
2009
- "max-height": "70vh"
2010
- }, {
2011
- default: b(() => [M(Bn, {
2012
- mode: "click",
2013
- onNodeClick: X
2014
- })]),
2015
- _: 1
2016
- }, 8, ["modelValue", "title"])
2017
- ], 64)) : v(P) ? (o(), S("div", Yn, [M(y, {
2018
- class: "!w-8 !h-8",
2019
- "stroke-width": "5"
2020
- })])) : (o(), S("div", Xn, [E("span", Zn, s(v(a)("views.automations.no_automations")), 1)]))]);
2021
- };
2022
- }
2023
- }), $n = /* @__PURE__ */ e({ default: () => er }), er = Qn;
2024
- //#endregion
2025
- export { Z as a, er as default, Ge as i, We as n, Ke as r, $n as t };