@camera.ui/server 2.2.5-beta.1 → 2.2.5-beta.2

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 (953) hide show
  1. package/dist/interface/assets/404-BDvtK1qR.js +1 -0
  2. package/dist/interface/assets/About-B4A35rRx.js +1 -0
  3. package/dist/interface/assets/Assistant-BKxssfw-.js +1 -0
  4. package/dist/interface/assets/Automation-CP59cgP7.js +3 -0
  5. package/dist/interface/assets/AutomationImport-CEJdhE_d.js +2 -0
  6. package/dist/interface/assets/AutomationStore-BZGR_5Xl.js +2 -0
  7. package/dist/interface/assets/AutomationStoreDetail-BenRMMtV.js +2 -0
  8. package/dist/interface/assets/Automations-BpXorYAS.js +2 -0
  9. package/dist/interface/assets/Camera-UBUfaR5a.js +2 -0
  10. package/dist/interface/assets/CameraConsole-D24yXOQn.js +7 -0
  11. package/dist/interface/assets/Cameras-B21Y8MdQ.js +651 -0
  12. package/dist/interface/assets/Camview-BySyPtU5.js +1 -0
  13. package/dist/interface/assets/CertificateUpload-26LAL4MY.js +1 -0
  14. package/dist/interface/assets/Config-BGyGmukb.js +2 -0
  15. package/dist/interface/assets/ConfigActionAssistant-Cl_kr3hp.js +1 -0
  16. package/dist/interface/assets/ConfigActionCameraControl-CL4vXcNe.js +1 -0
  17. package/dist/interface/assets/ConfigActionDelay-DtPgmqWh.js +1 -0
  18. package/dist/interface/assets/ConfigActionHttp-DnkZTP5l.js +1 -0
  19. package/dist/interface/assets/ConfigActionImageInput-3svn6YP9.js +1 -0
  20. package/dist/interface/assets/ConfigActionMqtt-BTsFTLgm.js +1 -0
  21. package/dist/interface/assets/ConfigActionNotification-Cr4xJrZp.js +1 -0
  22. package/dist/interface/assets/ConfigActionNotificationControl-Cxkb_g8p.js +1 -0
  23. package/dist/interface/assets/ConfigActionOutput-WTr7FGf_.js +1 -0
  24. package/dist/interface/assets/ConfigActionPlugin-BpcJepbD.js +1 -0
  25. package/dist/interface/assets/ConfigActionSensor-BgD_F-hD.js +1 -0
  26. package/dist/interface/assets/ConfigActionSnapshot-DjR-Z08N.js +1 -0
  27. package/dist/interface/assets/ConfigActionVariable-gPuPbjpm.js +1 -0
  28. package/dist/interface/assets/ConfigConditionIfElse-CUHKJmPx.js +1 -0
  29. package/dist/interface/assets/ConfigConditionSensorState-D-gPRqMu.js +1 -0
  30. package/dist/interface/assets/ConfigConditionSwitch-BRf1T5tJ.js +1 -0
  31. package/dist/interface/assets/ConfigConditionTime-BC0n6sWO.js +1 -0
  32. package/dist/interface/assets/ConfigSensorValueInput-BUHapx4M.js +1 -0
  33. package/dist/interface/assets/ConfigTriggerDetection-Byd6SLGg.js +1 -0
  34. package/dist/interface/assets/ConfigTriggerGeofence-CkzTFEZn.js +1 -0
  35. package/dist/interface/assets/ConfigTriggerManual-B2dWcFrl.js +1 -0
  36. package/dist/interface/assets/ConfigTriggerMqtt-B_aUDBu4.js +1 -0
  37. package/dist/interface/assets/ConfigTriggerSchedule-DAZo1PLj.js +1 -0
  38. package/dist/interface/assets/ConfigTriggerSensor-BCqAiPu4.js +1 -0
  39. package/dist/interface/assets/ConfigTriggerSystem-DuBydCiq.js +1 -0
  40. package/dist/interface/assets/ConfigTriggerWebhook-DDsnpwJr.js +1 -0
  41. package/dist/interface/assets/Console-HXmKYaK_.js +1 -0
  42. package/dist/interface/assets/CuiAssistantConversation-2qrRCsgw.js +5 -0
  43. package/dist/interface/assets/CuiAutomationRunsDialog-C_sMg7E1.js +1 -0
  44. package/dist/interface/assets/CuiBottomSheet-CTr-KHC8.js +1 -0
  45. package/dist/interface/assets/CuiBottomSheet-D_0LrjA_.js +1 -0
  46. package/dist/interface/assets/CuiCameraPipCard-BZCayhy_.js +1 -0
  47. package/dist/interface/assets/CuiCameraRecordings-BbaEL2ST.js +1 -0
  48. package/dist/interface/assets/CuiCameraShares-BIUB1xMa.js +1 -0
  49. package/dist/interface/assets/CuiCameraTable-C5tQHs63.js +1 -0
  50. package/dist/interface/assets/CuiCameraTable-D-UhqHk4.js +2 -0
  51. package/dist/interface/assets/CuiChartTable-CSK4Mzn3.js +1 -0
  52. package/dist/interface/assets/CuiConsole-DAbJXJBq.js +5 -0
  53. package/dist/interface/assets/CuiDataTable-DgcJsG-K.js +1 -0
  54. package/dist/interface/assets/CuiLightControl-v6k9hVGl.js +1 -0
  55. package/dist/interface/assets/CuiList-HdsA9vV1.js +1 -0
  56. package/dist/interface/assets/CuiMarkdownContent-BUYtK_wD.js +1 -0
  57. package/dist/interface/assets/CuiMarkdownContent-DSArmS0V.js +1 -0
  58. package/dist/interface/assets/CuiPluginCard-5MRYJcF2.js +2 -0
  59. package/dist/interface/assets/CuiPluginCategoryChip-C7R1jP7r.js +1 -0
  60. package/dist/interface/assets/CuiPluginOAuthButton-BJJw0IaC.js +2 -0
  61. package/dist/interface/assets/CuiPluginTrustBadge-Bmm1qYdC.js +1 -0
  62. package/dist/interface/assets/CuiQRCode-DTSEFMBt.js +1 -0
  63. package/dist/interface/assets/CuiSchema-BDXeXora.js +1 -0
  64. package/dist/interface/assets/CuiTopNavbarItem-BVknLbRO.js +1 -0
  65. package/dist/interface/assets/Faces-BEpYvbB0.js +1 -0
  66. package/dist/interface/assets/FirstSteps-U93RDOcP.js +1 -0
  67. package/dist/interface/assets/Floorplan-D8XoCNOB.js +1 -0
  68. package/dist/interface/assets/Instances-CFwZotvU.js +1 -0
  69. package/dist/interface/assets/Logs-BjcfuMQV.js +6 -0
  70. package/dist/interface/assets/Menu-BjjnSgdP.js +1 -0
  71. package/dist/interface/assets/Metrics-BUP_-7o7.css +1 -0
  72. package/dist/interface/assets/Metrics-Ca_d5CbP.js +12 -0
  73. package/dist/interface/assets/OAuthDeviceFlow-9v-Czy_u.js +1 -0
  74. package/dist/interface/assets/Plugin-BjLw46Sw.js +1 -0
  75. package/dist/interface/assets/PluginConsole-C7sO42RG.js +7 -0
  76. package/dist/interface/assets/PluginDetail-BuLW4lkN.js +2 -0
  77. package/dist/interface/assets/PluginSchema-D0eL9H-b.js +1 -0
  78. package/dist/interface/assets/PluginSearch--LLMEeyx.js +2 -0
  79. package/dist/interface/assets/PluginSearch-0akjE0ef.js +1 -0
  80. package/dist/interface/assets/PluginUpdateProgress--MM9D8hs.js +1 -0
  81. package/dist/interface/assets/Plugins-26O511gf.js +1 -0
  82. package/dist/interface/assets/RecentEventsFilter-CvIJS8Se.js +1 -0
  83. package/dist/interface/assets/Recordings-DQOGeSFm.js +1 -0
  84. package/dist/interface/assets/SensorEdit-DEW5D80x.js +1 -0
  85. package/dist/interface/assets/SensorHistory-Efw0bZ-X.js +1 -0
  86. package/dist/interface/assets/Sensors-C8yOyAwo.js +2 -0
  87. package/dist/interface/assets/Settings-B-RgMeVm.js +1 -0
  88. package/dist/interface/assets/SettingsAccount-B6aXFx3F.js +1 -0
  89. package/dist/interface/assets/SettingsAccount-_0ccrXYU.js +1 -0
  90. package/dist/interface/assets/SettingsAppearance-CkDwzx6f.js +1 -0
  91. package/dist/interface/assets/SettingsAppearance-DBFE3uVH.js +1 -0
  92. package/dist/interface/assets/SettingsAssistant-DN5OUJqt.js +1 -0
  93. package/dist/interface/assets/SettingsBackup-BqKBKis5.js +1 -0
  94. package/dist/interface/assets/SettingsList-BU191rmt.js +1 -0
  95. package/dist/interface/assets/SettingsMqtt-hsKZkU-o.js +1 -0
  96. package/dist/interface/assets/SettingsNotifications-DIeiUEAk.js +1 -0
  97. package/dist/interface/assets/SettingsPermissions-sI64FPZG.js +1 -0
  98. package/dist/interface/assets/SettingsRecordings-CghrKErw.js +1 -0
  99. package/dist/interface/assets/SettingsRemote-Doa0aBMC.js +2 -0
  100. package/dist/interface/assets/SettingsSystem-DP1p1Xns.js +2 -0
  101. package/dist/interface/assets/SettingsUsers-Dpej-he1.js +1 -0
  102. package/dist/interface/assets/Terminal-DPRPXCSt.js +4 -0
  103. package/dist/interface/assets/Training-DYlefOX1.js +1 -0
  104. package/dist/interface/assets/Updates-QTvCp1aS.js +2 -0
  105. package/dist/interface/assets/VariableInput-DhusSZPw.js +1 -0
  106. package/dist/interface/assets/VariableSuggestions-Bkzz4Mv3.js +1 -0
  107. package/dist/interface/assets/VersionsHandler-DjNSpSYy.js +7 -0
  108. package/dist/interface/assets/VirtualSensorCreate-soGT6h2c.js +1 -0
  109. package/dist/interface/assets/Workers-CUVvTuts.js +2 -0
  110. package/dist/interface/assets/account-Bu30He0P.js +1 -0
  111. package/dist/interface/assets/alert-circle-D2fAQwTX.js +1 -0
  112. package/dist/interface/assets/alert-outline-D7zaSJH_.js +1 -0
  113. package/dist/interface/assets/api-B0wYDGQj.css +2 -0
  114. package/dist/interface/assets/api-BNrZVfeD.js +4 -0
  115. package/dist/interface/assets/api-CK2tonlH.js +1 -0
  116. package/dist/interface/assets/arrow-left-BGLyEqqa.js +1 -0
  117. package/dist/interface/assets/assistant-BEe1ExZL.js +1 -0
  118. package/dist/interface/assets/assistantModels-D0soYqq7.js +1 -0
  119. package/dist/interface/assets/auth-QEpUGkWd.js +1 -0
  120. package/dist/interface/assets/automations-BBIBV4Uu.js +1 -0
  121. package/dist/interface/assets/back-filled-BPBVnQjx.js +1 -0
  122. package/dist/interface/assets/bell-ring-CyCFPUL_.js +1 -0
  123. package/dist/interface/assets/brain-CIJB1ree.js +1 -0
  124. package/dist/interface/assets/cameraSources-Cm18cW9L.js +1 -0
  125. package/dist/interface/assets/cctv-D6kxZ-lp.js +1 -0
  126. package/dist/interface/assets/check-circle-DHAAn6A6.js +1 -0
  127. package/dist/interface/assets/check-circle-outline-BbqeKfIK.js +1 -0
  128. package/dist/interface/assets/chevron-down-ZYTrU871.js +1 -0
  129. package/dist/interface/assets/chevron-up-LQXNz9CE.js +1 -0
  130. package/dist/interface/assets/clock-outline-CKTiLKoR.js +1 -0
  131. package/dist/interface/assets/close-BbEPZQqa.js +1 -0
  132. package/dist/interface/assets/close-circle-BSUSUs4K.js +1 -0
  133. package/dist/interface/assets/cloud-check-BTGbrAQ_.js +1 -0
  134. package/dist/interface/assets/cloudHandoff-Dnndt2el.js +1 -0
  135. package/dist/interface/assets/config-vwkU8aqP.js +1 -0
  136. package/dist/interface/assets/content-copy-V0DW9ZbH.js +1 -0
  137. package/dist/interface/assets/copy-DsmMEtSH.js +1 -0
  138. package/dist/interface/assets/cube-scan-DGhUFV1x.js +1 -0
  139. package/dist/interface/assets/delete-CY8fsIW6.js +1 -0
  140. package/dist/interface/assets/dist-DNyx_J8o.js +1 -0
  141. package/dist/interface/assets/dots-vertical-pP1vP0Qa.js +1 -0
  142. package/dist/interface/assets/download-CyjJ7yJW.js +1 -0
  143. package/dist/interface/assets/esm-4Hzzm93H.js +1 -0
  144. package/dist/interface/assets/esm-BrFPi5_4.js +1 -0
  145. package/dist/interface/assets/esm-C7pcdfXf.js +1 -0
  146. package/dist/interface/assets/esm-C8bsO829.js +1 -0
  147. package/dist/interface/assets/esm-CXzdnAMk.js +1 -0
  148. package/dist/interface/assets/esm-CZNGZkPu.js +1 -0
  149. package/dist/interface/assets/esm-D0iI7OVb.js +1 -0
  150. package/dist/interface/assets/esm-DKolm6KU.js +1 -0
  151. package/dist/interface/assets/esm-DTywI9gs.js +1 -0
  152. package/dist/interface/assets/esm-DifXcK9i.js +1 -0
  153. package/dist/interface/assets/esm-Dq5o-Xb4.js +1 -0
  154. package/dist/interface/assets/esm-IbQuUZ5l.js +1 -0
  155. package/dist/interface/assets/esm-Xre_AP5i.js +1 -0
  156. package/dist/interface/assets/esm-zYnXHhpH.js +1 -0
  157. package/dist/interface/assets/eventIcons-cdzqQc0W.js +1 -0
  158. package/dist/interface/assets/eye-off-JCu1iUer.js +1 -0
  159. package/dist/interface/assets/eye-off-outline-GErp76H2.js +1 -0
  160. package/dist/interface/assets/flowSchema-rzBroL0H.js +1 -0
  161. package/dist/interface/assets/help-circle-outline-G43EJuch.js +1 -0
  162. package/dist/interface/assets/history-CNJREqJG.js +1 -0
  163. package/dist/interface/assets/home-B-_OQpZ6.js +1 -0
  164. package/dist/interface/assets/information-outline-Blt4EtWJ.js +1 -0
  165. package/dist/interface/assets/intercomService-Du8V_HxF.js +1 -0
  166. package/dist/interface/assets/lan-C3jliANx.js +1 -0
  167. package/dist/interface/assets/main-CRlC4FBY.js +3 -0
  168. package/dist/interface/assets/microphone-B6xc9JQ2.js +1 -0
  169. package/dist/interface/assets/minus-BI5qXFwJ.js +1 -0
  170. package/dist/interface/assets/mqtt-BY6-Hrbv.js +1 -0
  171. package/dist/interface/assets/native-CAujTO6L.js +1 -0
  172. package/dist/interface/assets/native-sQ88qazf.js +1 -0
  173. package/dist/interface/assets/nodeDefinitions-Dop49tx8.js +1 -0
  174. package/dist/interface/assets/notifications-CN6eTJb_.js +1 -0
  175. package/dist/interface/assets/pause-DKzvPG2b.js +1 -0
  176. package/dist/interface/assets/pencil-DKbi9SsG.js +1 -0
  177. package/dist/interface/assets/pencil-outline-CD3Xv98d.js +1 -0
  178. package/dist/interface/assets/plugin-D7K50k_y.js +1 -0
  179. package/dist/interface/assets/plugins-DKtX7zQp.js +1 -0
  180. package/dist/interface/assets/plus--kDl8ben.js +1 -0
  181. package/dist/interface/assets/plus-CHPYoMO_.js +1 -0
  182. package/dist/interface/assets/power-C9wmNlFS.js +1 -0
  183. package/dist/interface/assets/radar-B3ra28GD.js +1 -0
  184. package/dist/interface/assets/refresh-DfqyhMOh.js +1 -0
  185. package/dist/interface/assets/restore-FMacmqd_.js +1 -0
  186. package/dist/interface/assets/ring-resize-DyqCo2UN.js +1 -0
  187. package/dist/interface/assets/rooms-BHP4q6yf.js +1 -0
  188. package/dist/interface/assets/round-alt-arrow-left-bold-56eF9Bol.js +1 -0
  189. package/dist/interface/assets/search-BXbDWhLk.js +1 -0
  190. package/dist/interface/assets/sensorIcons-ztqlMLDc.js +1 -0
  191. package/dist/interface/assets/sensorSlots-D-uxjuv3.js +1 -0
  192. package/dist/interface/assets/sensors-DV2Z0IJt.js +1 -0
  193. package/dist/interface/assets/server-CfZnIVzn.js +1 -0
  194. package/dist/interface/assets/settings-Cw63SIJl.js +1 -0
  195. package/dist/interface/assets/source-branch-oyzrlfCD.js +1 -0
  196. package/dist/interface/assets/theme-Bi7qdjBK.js +1 -0
  197. package/dist/interface/assets/trash-2-BQc04l9M.js +1 -0
  198. package/dist/interface/assets/trash-can-outline-Bk5eENNM.js +1 -0
  199. package/dist/interface/assets/trash-fill-CXk8BmtF.js +1 -0
  200. package/dist/interface/assets/trash2-2rUvghml.js +1 -0
  201. package/dist/interface/assets/types-CNLAvgyw.js +1 -0
  202. package/dist/interface/assets/types-DuwD8xp5.js +1 -0
  203. package/dist/interface/assets/types-DwbeYXvn.js +1 -0
  204. package/dist/interface/assets/undo-Dcf7vcsv.js +1 -0
  205. package/dist/interface/assets/ungrouped-DHLAmt__.js +1 -0
  206. package/dist/interface/assets/updates-BqCH6Vr8.js +1 -0
  207. package/dist/interface/assets/upload-B-ZYPekV.js +1 -0
  208. package/dist/interface/assets/upload-nnbfDypK.js +1 -0
  209. package/dist/interface/assets/useAppVersion-B-rmq3Bb.js +1 -0
  210. package/dist/interface/assets/useAssistantActions-Kf-5ijVf.js +1 -0
  211. package/dist/interface/assets/useBackupRestore-Dj-ZXODq.js +1 -0
  212. package/dist/interface/assets/useCameraOptions-Dt2J8sP_.js +1 -0
  213. package/dist/interface/assets/useKeyboardInset-DtD3I2WC.js +1 -0
  214. package/dist/interface/assets/useLogsSocket-CEhUQdiY.js +1 -0
  215. package/dist/interface/assets/useNavLayout-CtpYjS5W.js +1 -0
  216. package/dist/interface/assets/usePermissions-CJzuagwD.js +1 -0
  217. package/dist/interface/assets/usePluginUpdates-BwoWN5yb.js +1 -0
  218. package/dist/interface/assets/usePushRegistration-ANx4BS6_.js +2 -0
  219. package/dist/interface/assets/useServerRestart-7edyD8M0.js +1 -0
  220. package/dist/interface/assets/useStreamStatus-DCSWHdbW.js +1 -0
  221. package/dist/interface/assets/useTabSwipe-DfS3R3uP.js +1 -0
  222. package/dist/interface/assets/useUpdateChannel-Cr9mSIRC.js +1 -0
  223. package/dist/interface/assets/useUpdatesSocket-B5Rm9syb.js +1 -0
  224. package/dist/interface/assets/useUserOptions-CJjImz8V.js +1 -0
  225. package/dist/interface/assets/variable-CcE0ZwTr.js +1 -0
  226. package/dist/interface/assets/vendor-DGke_6M4.js +23 -0
  227. package/dist/interface/assets/vendor-cameraui-BbGOMenD.js +2326 -0
  228. package/dist/interface/assets/vendor-capacitor-COL6Kz75.js +2 -0
  229. package/dist/interface/assets/vendor-chart-80wrH3md.js +3 -0
  230. package/dist/interface/assets/vendor-core-tgH2YubJ.js +1 -0
  231. package/dist/interface/assets/vendor-dnd-CEJS9JKU.js +2 -0
  232. package/dist/interface/assets/vendor-draggabilly-BY7O1F_Z.js +1 -0
  233. package/dist/interface/assets/vendor-markdown-DD4teg2u.js +14 -0
  234. package/dist/interface/assets/vendor-primevue-DNJJiEZl.js +3942 -0
  235. package/dist/interface/assets/vendor-vueflow-Bmwd2les.js +26 -0
  236. package/dist/interface/assets/web-3M-ddn4G.js +1 -0
  237. package/dist/interface/assets/web-BY80VGyU.js +1 -0
  238. package/dist/interface/assets/web-B_tUYyM0.js +1 -0
  239. package/dist/interface/assets/web-BjKL51lK-Bb5NYhpJ.js +1 -0
  240. package/dist/interface/assets/web-Bv-4PJGI.js +1 -0
  241. package/dist/interface/assets/web-C3Pk8qeB.js +1 -0
  242. package/dist/interface/assets/web-CLcvGPH6.js +1 -0
  243. package/dist/interface/assets/web-DO8gTOVJ.js +1 -0
  244. package/dist/interface/assets/web-DR5q_DmI.js +1 -0
  245. package/dist/interface/assets/web-DRHbG4Te.js +1 -0
  246. package/dist/interface/assets/web-DaQ8d8yk.js +1 -0
  247. package/dist/interface/assets/web-EVRW5whF.js +1 -0
  248. package/dist/interface/assets/web-S6Dk3UWN.js +1 -0
  249. package/dist/interface/assets/web-pWIp0wf0.js +1 -0
  250. package/dist/interface/assets/webhook-oVbP79Yk.js +1 -0
  251. package/dist/interface/assets/workbox-window.prod.es5-Dz5rcO1z.js +1 -0
  252. package/dist/interface/assets/zoom-in-GKNy8xA7.js +1 -0
  253. package/dist/interface/ha/404-Dl6JtQWv.js +60 -0
  254. package/dist/interface/ha/About-wjv4kCO3.js +55 -0
  255. package/dist/interface/ha/Assistant-Dpb4IsDC.js +9209 -0
  256. package/dist/interface/ha/Automation-CqTPjCUh.js +2025 -0
  257. package/dist/interface/ha/AutomationImport-CvdeneoU.js +206 -0
  258. package/dist/interface/ha/AutomationStore-bVPE68io.js +336 -0
  259. package/dist/interface/ha/AutomationStoreDetail-BYaNUjoH.js +122 -0
  260. package/dist/interface/ha/Automations-BfsYh2A_.js +424 -0
  261. package/dist/interface/ha/Camera-C70onr_O.js +654 -0
  262. package/dist/interface/ha/CameraConsole-Dg3lV-wq.js +52 -0
  263. package/dist/interface/ha/Cameras-DpM6gt3G.js +1970 -0
  264. package/dist/interface/ha/Camview-CO_bHntH.js +1331 -0
  265. package/dist/interface/ha/CertificateUpload-PS47Kgbg.js +117 -0
  266. package/dist/interface/ha/Config-D-cpocuH.js +356 -0
  267. package/dist/interface/ha/ConfigActionAssistant-DVVVfVvT.js +182 -0
  268. package/dist/interface/ha/ConfigActionCameraControl-BPpzE9-F.js +152 -0
  269. package/dist/interface/ha/ConfigActionDelay-zU6H75hY.js +61 -0
  270. package/dist/interface/ha/ConfigActionHttp-BsNy03j4.js +134 -0
  271. package/dist/interface/ha/ConfigActionImageInput-JUvNYn0w.js +171 -0
  272. package/dist/interface/ha/ConfigActionMqtt-PZqAKfTo.js +81 -0
  273. package/dist/interface/ha/ConfigActionNotification-DIL7abEm.js +199 -0
  274. package/dist/interface/ha/ConfigActionNotificationControl-BQ2w5yeg.js +111 -0
  275. package/dist/interface/ha/ConfigActionOutput-DVilKhPV.js +98 -0
  276. package/dist/interface/ha/ConfigActionPlugin-BUfTEJQ_.js +172 -0
  277. package/dist/interface/ha/ConfigActionSensor-Dzp16VyX.js +139 -0
  278. package/dist/interface/ha/ConfigActionSnapshot-CRjD5AMC.js +48 -0
  279. package/dist/interface/ha/ConfigActionVariable-CR8g7gEh.js +88 -0
  280. package/dist/interface/ha/ConfigConditionIfElse-CHoSgzXF.js +124 -0
  281. package/dist/interface/ha/ConfigConditionSensorState-Dn8_OhQe.js +192 -0
  282. package/dist/interface/ha/ConfigConditionSwitch-Ds-nqWeU.js +128 -0
  283. package/dist/interface/ha/ConfigConditionTime-DWNfEluj.js +95 -0
  284. package/dist/interface/ha/ConfigSensorValueInput-DwXM9wP1.js +170 -0
  285. package/dist/interface/ha/ConfigTriggerDetection-D37OkR_u.js +241 -0
  286. package/dist/interface/ha/ConfigTriggerGeofence-EbXy_y3Q.js +4888 -0
  287. package/dist/interface/ha/ConfigTriggerManual-B0DDQtoz.js +14 -0
  288. package/dist/interface/ha/ConfigTriggerMqtt-BX6uNEZy.js +134 -0
  289. package/dist/interface/ha/ConfigTriggerSchedule-_ThdB8Bb.js +72 -0
  290. package/dist/interface/ha/ConfigTriggerSensor-BFGEtBVF.js +73 -0
  291. package/dist/interface/ha/ConfigTriggerSystem-fRnAgUGR.js +192 -0
  292. package/dist/interface/ha/ConfigTriggerWebhook-DegifRdj.js +94 -0
  293. package/dist/interface/ha/Console-Bo6S5psN.js +348 -0
  294. package/dist/interface/ha/CuiAutomationRunsDialog-DXpNJqDE.js +130 -0
  295. package/dist/interface/ha/CuiBottomSheet-DLkC2OmT.js +270 -0
  296. package/dist/interface/ha/CuiCameraRecordings-9tdkxXiT.js +552 -0
  297. package/dist/interface/ha/CuiCameraShares-BbqY_2b7.js +121 -0
  298. package/dist/interface/ha/CuiCameraTable-BmH1yAgl.js +169 -0
  299. package/dist/interface/ha/CuiChartTable-BjBBI7Fo.js +6786 -0
  300. package/dist/interface/ha/CuiConsole-By3m4UbE.js +244 -0
  301. package/dist/interface/ha/CuiDataTable-C_ndu5My.js +8732 -0
  302. package/dist/interface/ha/CuiList-CU2NJ1K6.js +57 -0
  303. package/dist/interface/ha/CuiMarkdownContent-CrkZwv5j.js +4724 -0
  304. package/dist/interface/ha/CuiPluginCard-BLQ1galy.js +769 -0
  305. package/dist/interface/ha/CuiPluginOAuthButton-BDghklSy.js +79 -0
  306. package/dist/interface/ha/CuiPluginTrustBadge-DolANNao.js +123 -0
  307. package/dist/interface/ha/CuiQRCode-CcjPngXI.js +86 -0
  308. package/dist/interface/ha/CuiSchema-D9JFf0dp.js +963 -0
  309. package/dist/interface/ha/CuiTopNavbarItem-DcUEq-4e.js +141 -0
  310. package/dist/interface/ha/Faces-DjXHzr77.js +1282 -0
  311. package/dist/interface/ha/FirstSteps-CQAP9Siw.js +251 -0
  312. package/dist/interface/ha/Floorplan-DyaPzlQO.js +3657 -0
  313. package/dist/interface/ha/Instances-DWjaU5gj.js +680 -0
  314. package/dist/interface/ha/Logs-Dlx-X1NS.js +418 -0
  315. package/dist/interface/ha/Menu-iqEe01qO.js +156 -0
  316. package/dist/interface/ha/Metrics-Br2Dyvzh.js +1444 -0
  317. package/dist/interface/ha/OAuthDeviceFlow-CIGk92FD.js +112 -0
  318. package/dist/interface/ha/Plugin-DklIr7j2.js +1405 -0
  319. package/dist/interface/ha/PluginConsole-DCfxPtGU.js +56 -0
  320. package/dist/interface/ha/PluginDetail-BFfRnkdG.js +230 -0
  321. package/dist/interface/ha/PluginSearch-BTKBnjxb.js +462 -0
  322. package/dist/interface/ha/PluginUpdateProgress-Dej5AcCt.js +34 -0
  323. package/dist/interface/ha/Plugins-C2fONspm.js +692 -0
  324. package/dist/interface/ha/RecentEventsFilter-ylgjiDo8.js +79 -0
  325. package/dist/interface/ha/Recordings-w39I43cc.js +1498 -0
  326. package/dist/interface/ha/SensorEdit-BkKi1l-A.js +1462 -0
  327. package/dist/interface/ha/SensorHistory-BGJjMlc3.js +54 -0
  328. package/dist/interface/ha/Sensors-D_Wi9XPa.js +1386 -0
  329. package/dist/interface/ha/Settings-Bn7WLWf0.js +218 -0
  330. package/dist/interface/ha/SettingsAccount-CRTex-1j.js +971 -0
  331. package/dist/interface/ha/SettingsAppearance-B1qmJnYk.js +220 -0
  332. package/dist/interface/ha/SettingsAssistant-DDd1X0BC.js +1857 -0
  333. package/dist/interface/ha/SettingsBackup-DZbhSB13.js +556 -0
  334. package/dist/interface/ha/SettingsList-BQdyPe0H.js +40 -0
  335. package/dist/interface/ha/SettingsMqtt-CSZcY6ht.js +526 -0
  336. package/dist/interface/ha/SettingsNotifications-CfEhl0-y.js +529 -0
  337. package/dist/interface/ha/SettingsPermissions-Jh0FuIF7.js +84 -0
  338. package/dist/interface/ha/SettingsRecordings-BnAGDvcH.js +152 -0
  339. package/dist/interface/ha/SettingsRemote-w86TQVUA.js +1810 -0
  340. package/dist/interface/ha/SettingsSystem-CENjHL3k.js +376 -0
  341. package/dist/interface/ha/SettingsUsers-CqSHRklV.js +379 -0
  342. package/dist/interface/ha/Terminal-WsuxG3k-.js +617 -0
  343. package/dist/interface/ha/Training-hu_XOYBk.js +1505 -0
  344. package/dist/interface/ha/Updates-Dl_lLLR2.js +343 -0
  345. package/dist/interface/ha/VariableInput-C8Q81GUt.js +52 -0
  346. package/dist/interface/ha/VariableSuggestions-DXV2b7S4.js +201 -0
  347. package/dist/interface/ha/VersionsHandler-BOvjesvp.js +216 -0
  348. package/dist/interface/ha/VirtualSensorCreate-sgwATaky.js +101 -0
  349. package/dist/interface/ha/Workers-CkDuQ9NG.js +765 -0
  350. package/dist/interface/ha/accordion-Xem2SzgR.js +577 -0
  351. package/dist/interface/ha/account-DJh6O-cw.js +19 -0
  352. package/dist/interface/ha/alert-circle-C7oDe-WY.js +19 -0
  353. package/dist/interface/ha/alert-outline-FcLLjoOK.js +89 -0
  354. package/dist/interface/ha/api-BmYisoxj.js +62452 -0
  355. package/dist/interface/ha/api-oqpIZTkx.js +29 -0
  356. package/dist/interface/ha/arrow-left-OsxzW9Af.js +19 -0
  357. package/dist/interface/ha/assistant-0jE4C19U.js +345 -0
  358. package/dist/interface/ha/auth-B4Msg7R-.js +271 -0
  359. package/dist/interface/ha/autocomplete-B94Amei3.js +1373 -0
  360. package/dist/interface/ha/automationBlueprint-C-12Yjl7.js +250 -0
  361. package/dist/interface/ha/back-filled-CaxrZv0Q.js +20 -0
  362. package/dist/interface/ha/bell-ring-CBt11ejv.js +19 -0
  363. package/dist/interface/ha/brain-BiKXGva0.js +19 -0
  364. package/dist/interface/ha/button-BouAFgf5.js +406 -0
  365. package/dist/interface/ha/cameraui-cards.js +1 -1
  366. package/dist/interface/ha/cards-BrOcoiQJ.js +13352 -0
  367. package/dist/interface/ha/cctv-BD2g3nbO.js +19 -0
  368. package/dist/interface/ha/check-circle-B5OGJJIu.js +19 -0
  369. package/dist/interface/ha/check-circle-outline-DS7eEinv.js +19 -0
  370. package/dist/interface/ha/checkbox-CAKzZcqk.js +279 -0
  371. package/dist/interface/ha/chevron-down-BNj8w2js.js +19 -0
  372. package/dist/interface/ha/chevron-up-DDKj43BW.js +19 -0
  373. package/dist/interface/ha/chip-BTHURsTF.js +149 -0
  374. package/dist/interface/ha/clock-outline-DNStdM39.js +19 -0
  375. package/dist/interface/ha/close-CxFbonhd.js +19 -0
  376. package/dist/interface/ha/close-circle-DfYSNAKm.js +19 -0
  377. package/dist/interface/ha/cloud-check-aaxn1VZr.js +33 -0
  378. package/dist/interface/ha/config-IG56wp6m.js +116 -0
  379. package/dist/interface/ha/content-copy-CHPYjxRC.js +19 -0
  380. package/dist/interface/ha/copy-ApwNNqcL.js +22 -0
  381. package/dist/interface/ha/datepicker-B4Azs5zr.js +2961 -0
  382. package/dist/interface/ha/delete-DWdURc9X.js +19 -0
  383. package/dist/interface/ha/dist-C6MBHJhs.js +3251 -0
  384. package/dist/interface/ha/divider-DeFEXTGs.js +110 -0
  385. package/dist/interface/ha/dots-vertical-B0dv1-jL.js +19 -0
  386. package/dist/interface/ha/download-B64w9GvF.js +19 -0
  387. package/dist/interface/ha/eventIcons-BFNUgeGr.js +676 -0
  388. package/dist/interface/ha/eye-off-UG_p9nl8.js +33 -0
  389. package/dist/interface/ha/eye-off-outline-ACbzsGuK.js +19 -0
  390. package/dist/interface/ha/help-circle-outline-BniRuJRv.js +19 -0
  391. package/dist/interface/ha/history-XMyO_cLc.js +19 -0
  392. package/dist/interface/ha/home-36M6iydk.js +19 -0
  393. package/dist/interface/ha/information-outline-DSSRyysT.js +19 -0
  394. package/dist/interface/ha/inputicon-1w06U-Jl.js +324 -0
  395. package/dist/interface/ha/inputnumber-DZRwKgXr.js +1033 -0
  396. package/dist/interface/ha/inputtext-C_ygnPrC.js +257 -0
  397. package/dist/interface/ha/intercomService-B7HkLs6z.js +1414 -0
  398. package/dist/interface/ha/message-D6dIy_hz.js +244 -0
  399. package/dist/interface/ha/microphone-C4oQPpzp.js +19 -0
  400. package/dist/interface/ha/minus-Bp1AYyQv.js +46 -0
  401. package/dist/interface/ha/minus-D3V6azhV.js +19 -0
  402. package/dist/interface/ha/mqtt-pl13wSmG.js +56 -0
  403. package/dist/interface/ha/multiselect-Dp4XDBRR.js +1492 -0
  404. package/dist/interface/ha/notifications-B6wxSmou.js +159 -0
  405. package/dist/interface/ha/pause-BbFQ0FqK.js +19 -0
  406. package/dist/interface/ha/pencil-outline-SN9ingm5.js +19 -0
  407. package/dist/interface/ha/pinia-C6gt7A_Q.js +7641 -0
  408. package/dist/interface/ha/plugins-BwwaWxye.js +592 -0
  409. package/dist/interface/ha/plus-CgxY7W0L.js +19 -0
  410. package/dist/interface/ha/plus-brDoEzN2.js +46 -0
  411. package/dist/interface/ha/progressbar-CaUaM8Bt.js +95 -0
  412. package/dist/interface/ha/protocol-BB4jdtUC-DW3jl2tV.js +708 -0
  413. package/dist/interface/ha/radar-BG-Tcwg_.js +19 -0
  414. package/dist/interface/ha/refresh-CpjKkasY.js +19 -0
  415. package/dist/interface/ha/restore-BxzmXRET.js +19 -0
  416. package/dist/interface/ha/ring-resize-Dr2PxWIg.js +16 -0
  417. package/dist/interface/ha/ripple-ZDATPc2w.js +2928 -0
  418. package/dist/interface/ha/rooms-NIzjFYAd.js +45 -0
  419. package/dist/interface/ha/round-alt-arrow-left-bold-DDy2dLUM.js +37 -0
  420. package/dist/interface/ha/runtime-core.esm-bundler-_TfE0DWz.js +3306 -0
  421. package/dist/interface/ha/search-BViwEHdF.js +19 -0
  422. package/dist/interface/ha/select-UR3ZRDew.js +1382 -0
  423. package/dist/interface/ha/server-YOLwDVAW.js +239 -0
  424. package/dist/interface/ha/settings-lWJfHaif.js +22 -0
  425. package/dist/interface/ha/source-branch-C2kcmBcO.js +19 -0
  426. package/dist/interface/ha/speeddial-LCbl5g8p.js +682 -0
  427. package/dist/interface/ha/spinner-DIILjDT9.js +46 -0
  428. package/dist/interface/ha/tag-mchuCAPR.js +95 -0
  429. package/dist/interface/ha/textarea-ByXnzJzx.js +130 -0
  430. package/dist/interface/ha/tooltip-Z7VN-E1u.js +277 -0
  431. package/dist/interface/ha/trash-2-pgydLlch.js +23 -0
  432. package/dist/interface/ha/trash-can-outline-CBwv40Ck.js +19 -0
  433. package/dist/interface/ha/trash-fill-TFkvFuRj.js +21 -0
  434. package/dist/interface/ha/types-B8B9MqK0.js +1062 -0
  435. package/dist/interface/ha/types-XqA3YJPD.js +123 -0
  436. package/dist/interface/ha/ungrouped-DttNEB62.js +1320 -0
  437. package/dist/interface/ha/updates-DVhiQhMM.js +341 -0
  438. package/dist/interface/ha/upload-B-9Mumdm.js +19 -0
  439. package/dist/interface/ha/upload-BF0iIQFa.js +23 -0
  440. package/dist/interface/ha/useAppVersion-CG4D44Aa.js +22 -0
  441. package/dist/interface/ha/useAssistantActions-S1FrNe9b.js +29 -0
  442. package/dist/interface/ha/useLogsSocket-PKsRDttg.js +59 -0
  443. package/dist/interface/ha/useNavLayout-DoEcPx9Z.js +125 -0
  444. package/dist/interface/ha/usePermissions-DaE_wFch.js +72 -0
  445. package/dist/interface/ha/useServerRestart-CMl589qX.js +23 -0
  446. package/dist/interface/ha/useTabSwipe-Cmqdn0J5.js +45 -0
  447. package/dist/interface/ha/useUpdateChannel-BBW2EX7N.js +22 -0
  448. package/dist/interface/ha/useUpdatesSocket-B6ICpKKC.js +34 -0
  449. package/dist/interface/ha/useUserOptions-CzclRfar.js +15 -0
  450. package/dist/interface/ha/virtualscroller-C5j7FXj4.js +996 -0
  451. package/dist/interface/ha/vue-flow-background-8ZUqhPBF.js +6835 -0
  452. package/dist/interface/ha/vue-i18n-D5EAy78K.js +2422 -0
  453. package/dist/interface/ha/zoom-in-BCxZo2jC.js +41 -0
  454. package/dist/interface/index.html +68 -68
  455. package/dist/interface/sw.js +1 -1
  456. package/dist/server/package.json +16 -16
  457. package/dist/server/requirements.txt +2 -2
  458. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/streaming.py +4 -0
  459. package/dist/server/src/api/controllers/cameras.controller.d.ts +1 -1
  460. package/dist/server/src/api/controllers/cameras.controller.js +5 -1
  461. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  462. package/dist/server/src/api/controllers/shares.controller.js +2 -2
  463. package/dist/server/src/api/controllers/shares.controller.js.map +1 -1
  464. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  465. package/dist/server/src/api/services/cameras.service.js +21 -20
  466. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  467. package/dist/server/src/api/services/shares.service.d.ts +4 -2
  468. package/dist/server/src/api/services/shares.service.js +9 -11
  469. package/dist/server/src/api/services/shares.service.js.map +1 -1
  470. package/dist/server/src/api/websocket/nsp/main.d.ts +7 -2
  471. package/dist/server/src/api/websocket/nsp/main.js +38 -18
  472. package/dist/server/src/api/websocket/nsp/main.js.map +1 -1
  473. package/dist/server/src/api/websocket/nsp/metrics.d.ts +4 -0
  474. package/dist/server/src/api/websocket/nsp/metrics.js +33 -0
  475. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  476. package/dist/server/src/api/websocket/types.d.ts +9 -0
  477. package/dist/server/src/assistant/tools/system.js +6 -9
  478. package/dist/server/src/assistant/tools/system.js.map +1 -1
  479. package/dist/server/src/camera/controller.d.ts +7 -3
  480. package/dist/server/src/camera/controller.js +88 -68
  481. package/dist/server/src/camera/controller.js.map +1 -1
  482. package/dist/server/src/camera/utils.d.ts +5 -4
  483. package/dist/server/src/camera/utils.js +69 -307
  484. package/dist/server/src/camera/utils.js.map +1 -1
  485. package/dist/server/src/go2rtc/api/routes/streams.d.ts +1 -2
  486. package/dist/server/src/go2rtc/api/routes/streams.js +0 -7
  487. package/dist/server/src/go2rtc/api/routes/streams.js.map +1 -1
  488. package/dist/server/src/go2rtc/index.js +2 -0
  489. package/dist/server/src/go2rtc/index.js.map +1 -1
  490. package/dist/server/src/go2rtc/state.d.ts +66 -0
  491. package/dist/server/src/go2rtc/state.js +194 -0
  492. package/dist/server/src/go2rtc/state.js.map +1 -0
  493. package/dist/server/src/go2rtc/stream-rates.d.ts +12 -0
  494. package/dist/server/src/go2rtc/stream-rates.js +44 -0
  495. package/dist/server/src/go2rtc/stream-rates.js.map +1 -0
  496. package/dist/server/src/go2rtc/types.d.ts +23 -0
  497. package/dist/server/src/go2rtc/types.js.map +1 -1
  498. package/dist/server/src/main.d.ts +1 -0
  499. package/dist/server/src/main.js +3 -0
  500. package/dist/server/src/main.js.map +1 -1
  501. package/package.json +16 -16
  502. package/dist/interface/assets/404-6ZpTZ3KD.js +0 -1
  503. package/dist/interface/assets/About-DNvcZ3EY.js +0 -1
  504. package/dist/interface/assets/Assistant-kFFjOesz.js +0 -1
  505. package/dist/interface/assets/Automation-DPH-VMGf.js +0 -3
  506. package/dist/interface/assets/AutomationImport-Db74ZBgg.js +0 -2
  507. package/dist/interface/assets/AutomationStore-CFnapdvO.js +0 -2
  508. package/dist/interface/assets/AutomationStoreDetail-BCmfVMtC.js +0 -2
  509. package/dist/interface/assets/Automations-D41at64b.js +0 -2
  510. package/dist/interface/assets/Camera-BhFx-a1S.js +0 -2
  511. package/dist/interface/assets/CameraConsole-C89mOigo.js +0 -7
  512. package/dist/interface/assets/Cameras-TiX75P_R.js +0 -651
  513. package/dist/interface/assets/Camview-Bs3Ze0VB.js +0 -1
  514. package/dist/interface/assets/CertificateUpload-DBfJBo-w.js +0 -1
  515. package/dist/interface/assets/Config-CiCqmjhC.js +0 -2
  516. package/dist/interface/assets/ConfigActionAssistant-DCW9F-o_.js +0 -1
  517. package/dist/interface/assets/ConfigActionCameraControl-V170tTXG.js +0 -1
  518. package/dist/interface/assets/ConfigActionDelay-D1CZOls9.js +0 -1
  519. package/dist/interface/assets/ConfigActionHttp-ZOsjh7jZ.js +0 -1
  520. package/dist/interface/assets/ConfigActionImageInput-Dq5NtDno.js +0 -1
  521. package/dist/interface/assets/ConfigActionMqtt-Cyk0f9mh.js +0 -1
  522. package/dist/interface/assets/ConfigActionNotification-Ca6IygV-.js +0 -1
  523. package/dist/interface/assets/ConfigActionNotificationControl-CCiWBmJq.js +0 -1
  524. package/dist/interface/assets/ConfigActionOutput-B4zPAsNS.js +0 -1
  525. package/dist/interface/assets/ConfigActionPlugin-C25suoOA.js +0 -1
  526. package/dist/interface/assets/ConfigActionSensor-CgIBk5qS.js +0 -1
  527. package/dist/interface/assets/ConfigActionSnapshot-Dj4_bcR-.js +0 -1
  528. package/dist/interface/assets/ConfigActionVariable-CDlIj4Ji.js +0 -1
  529. package/dist/interface/assets/ConfigConditionIfElse-B9Q2pZxM.js +0 -1
  530. package/dist/interface/assets/ConfigConditionSensorState-DrOBPrDB.js +0 -1
  531. package/dist/interface/assets/ConfigConditionSwitch-BdfA75Z4.js +0 -1
  532. package/dist/interface/assets/ConfigConditionTime-CCpFkanY.js +0 -1
  533. package/dist/interface/assets/ConfigSensorValueInput-B7Qc06SA.js +0 -1
  534. package/dist/interface/assets/ConfigTriggerDetection-QOLhT23F.js +0 -1
  535. package/dist/interface/assets/ConfigTriggerGeofence-HUhmtzd_.js +0 -1
  536. package/dist/interface/assets/ConfigTriggerManual-Bpyy9Jzz.js +0 -1
  537. package/dist/interface/assets/ConfigTriggerMqtt-wxB4LtkP.js +0 -1
  538. package/dist/interface/assets/ConfigTriggerSchedule-D7X5Oa5t.js +0 -1
  539. package/dist/interface/assets/ConfigTriggerSensor-DM7qewdx.js +0 -1
  540. package/dist/interface/assets/ConfigTriggerSystem-CK573JKn.js +0 -1
  541. package/dist/interface/assets/ConfigTriggerWebhook-yoouSRHG.js +0 -1
  542. package/dist/interface/assets/Console-BCL2lVJv.js +0 -1
  543. package/dist/interface/assets/CuiAssistantConversation-BmjsGo2l.js +0 -5
  544. package/dist/interface/assets/CuiAutomationRunsDialog-BFZjtF9o.js +0 -1
  545. package/dist/interface/assets/CuiBottomSheet-CVHz2Vrq.js +0 -1
  546. package/dist/interface/assets/CuiBottomSheet-DLtu4FrC.js +0 -1
  547. package/dist/interface/assets/CuiCameraPipCard-BGZQsVHc.js +0 -1
  548. package/dist/interface/assets/CuiCameraRecordings-5pcLjdf8.js +0 -1
  549. package/dist/interface/assets/CuiCameraShares-CNNvqXns.js +0 -1
  550. package/dist/interface/assets/CuiCameraTable-BDN5NGr2.js +0 -1
  551. package/dist/interface/assets/CuiCameraTable-DF_IOFyD.js +0 -2
  552. package/dist/interface/assets/CuiChartTable-rOLdUaOa.js +0 -1
  553. package/dist/interface/assets/CuiConsole-B75tQO-y.js +0 -5
  554. package/dist/interface/assets/CuiDataTable-C8ZywwaZ.js +0 -1
  555. package/dist/interface/assets/CuiLightControl-D6PaG8aL.js +0 -1
  556. package/dist/interface/assets/CuiList-B8wJe291.js +0 -1
  557. package/dist/interface/assets/CuiMarkdownContent-D-S1LZy3.js +0 -1
  558. package/dist/interface/assets/CuiMarkdownContent-yHrnDzQd.js +0 -1
  559. package/dist/interface/assets/CuiPluginCard-aGMkvpeM.js +0 -2
  560. package/dist/interface/assets/CuiPluginCategoryChip-BCgADU71.js +0 -1
  561. package/dist/interface/assets/CuiPluginOAuthButton-mrm1vDAP.js +0 -2
  562. package/dist/interface/assets/CuiPluginTrustBadge-J3818in1.js +0 -1
  563. package/dist/interface/assets/CuiQRCode-Dv4w0udN.js +0 -1
  564. package/dist/interface/assets/CuiSchema-Cn5geGt7.js +0 -1
  565. package/dist/interface/assets/CuiTopNavbarItem-cP_SiDnw.js +0 -1
  566. package/dist/interface/assets/Faces-b611-5Ep.js +0 -1
  567. package/dist/interface/assets/FirstSteps-DcVdjoXr.js +0 -1
  568. package/dist/interface/assets/Floorplan-CZu7D3L2.js +0 -1
  569. package/dist/interface/assets/Instances-BGM2M_vr.js +0 -1
  570. package/dist/interface/assets/Logs-BXDALPw6.js +0 -6
  571. package/dist/interface/assets/Menu-DV63hDK5.js +0 -1
  572. package/dist/interface/assets/Metrics-CrojTUIw.js +0 -9
  573. package/dist/interface/assets/Metrics-Ebv4qK2a.css +0 -1
  574. package/dist/interface/assets/OAuthDeviceFlow-E2q5BNUN.js +0 -1
  575. package/dist/interface/assets/Plugin-BFovKMPD.js +0 -1
  576. package/dist/interface/assets/PluginConsole-BLG5Srww.js +0 -7
  577. package/dist/interface/assets/PluginDetail-Dghf_z9y.js +0 -2
  578. package/dist/interface/assets/PluginSchema-C3u0PCYu.js +0 -1
  579. package/dist/interface/assets/PluginSearch-DQb6r45_.js +0 -1
  580. package/dist/interface/assets/PluginSearch-XaJOsyFA.js +0 -2
  581. package/dist/interface/assets/PluginUpdateProgress-tMIWjHFs.js +0 -1
  582. package/dist/interface/assets/Plugins-DgKXf65s.js +0 -1
  583. package/dist/interface/assets/RecentEventsFilter-DlzWA8QR.js +0 -1
  584. package/dist/interface/assets/Recordings-DC47F4WC.js +0 -1
  585. package/dist/interface/assets/SensorEdit-BDeJ0tjj.js +0 -1
  586. package/dist/interface/assets/SensorHistory-C8oPVJEX.js +0 -1
  587. package/dist/interface/assets/Sensors-C29BBaNa.js +0 -2
  588. package/dist/interface/assets/Settings-bn3Pokuq.js +0 -1
  589. package/dist/interface/assets/SettingsAccount-B-SSNfmo.js +0 -1
  590. package/dist/interface/assets/SettingsAccount-BXClgcHw.js +0 -1
  591. package/dist/interface/assets/SettingsAppearance-1KCm8sJO.js +0 -1
  592. package/dist/interface/assets/SettingsAppearance-C5rHbPxY.js +0 -1
  593. package/dist/interface/assets/SettingsAssistant-ndgpk0jF.js +0 -1
  594. package/dist/interface/assets/SettingsBackup-Cw0OoGGY.js +0 -1
  595. package/dist/interface/assets/SettingsList--FB27rY6.js +0 -1
  596. package/dist/interface/assets/SettingsMqtt-DrHwxyfj.js +0 -1
  597. package/dist/interface/assets/SettingsNotifications-CHFxYyBM.js +0 -1
  598. package/dist/interface/assets/SettingsPermissions-CtR3k4N9.js +0 -1
  599. package/dist/interface/assets/SettingsRecordings-YTMBWiO2.js +0 -1
  600. package/dist/interface/assets/SettingsRemote-DTZo7Tnk.js +0 -2
  601. package/dist/interface/assets/SettingsSystem-C9L3_BPg.js +0 -2
  602. package/dist/interface/assets/SettingsUsers-BK6d7cMj.js +0 -1
  603. package/dist/interface/assets/Terminal-DWa4f8GL.js +0 -4
  604. package/dist/interface/assets/Training-BsgWYOlp.js +0 -1
  605. package/dist/interface/assets/Updates-CSvohiVI.js +0 -2
  606. package/dist/interface/assets/VariableInput-CiWT5dul.js +0 -1
  607. package/dist/interface/assets/VariableSuggestions-pbXYBWuw.js +0 -1
  608. package/dist/interface/assets/VersionsHandler-BE-YNUTe.js +0 -7
  609. package/dist/interface/assets/VirtualSensorCreate-Ba4XwvcD.js +0 -1
  610. package/dist/interface/assets/Workers-BtHqRqzx.js +0 -2
  611. package/dist/interface/assets/account-BxoX10XU.js +0 -1
  612. package/dist/interface/assets/alert-circle-pr3uC6jZ.js +0 -1
  613. package/dist/interface/assets/alert-outline-DHaYL1DY.js +0 -1
  614. package/dist/interface/assets/api--1J-SAjn.js +0 -1
  615. package/dist/interface/assets/api-C7-TgfI0.js +0 -4
  616. package/dist/interface/assets/api-DcaDMCnj.css +0 -2
  617. package/dist/interface/assets/arrow-left-5ht64ZGB.js +0 -1
  618. package/dist/interface/assets/assistant-Cl_fhAuJ.js +0 -1
  619. package/dist/interface/assets/assistantModels-DPcZCyld.js +0 -1
  620. package/dist/interface/assets/auth-CbzQl7TC.js +0 -1
  621. package/dist/interface/assets/automations-tJ_M8mwQ.js +0 -1
  622. package/dist/interface/assets/back-filled-BncmhmK7.js +0 -1
  623. package/dist/interface/assets/bell-ring-BrHmFuCb.js +0 -1
  624. package/dist/interface/assets/brain-DbFpT7Cq.js +0 -1
  625. package/dist/interface/assets/cameraSources-BoPq2cHU.js +0 -1
  626. package/dist/interface/assets/cctv-DO-BmfXS.js +0 -1
  627. package/dist/interface/assets/check-circle-DefdZO6b.js +0 -1
  628. package/dist/interface/assets/check-circle-outline-DLeND8yu.js +0 -1
  629. package/dist/interface/assets/chevron-down-COQqnpYB.js +0 -1
  630. package/dist/interface/assets/chevron-up-D1Xd7VoH.js +0 -1
  631. package/dist/interface/assets/clock-outline-DLIhBBQh.js +0 -1
  632. package/dist/interface/assets/close-C_pY8d5W.js +0 -1
  633. package/dist/interface/assets/close-circle-CUM5zI7N.js +0 -1
  634. package/dist/interface/assets/cloud-check-CqURJGod.js +0 -1
  635. package/dist/interface/assets/cloudHandoff-U-ME7kxo.js +0 -1
  636. package/dist/interface/assets/config-ConCokYZ.js +0 -1
  637. package/dist/interface/assets/content-copy-M0zk9eVL.js +0 -1
  638. package/dist/interface/assets/copy-DbP_BYcc.js +0 -1
  639. package/dist/interface/assets/cube-scan-DUOB_hmY.js +0 -1
  640. package/dist/interface/assets/delete-rtnOkwr8.js +0 -1
  641. package/dist/interface/assets/dist-Ce8wBKXN.js +0 -1
  642. package/dist/interface/assets/dots-vertical-BBZiQrJI.js +0 -1
  643. package/dist/interface/assets/download-CV7ETeuV.js +0 -1
  644. package/dist/interface/assets/esm-B0uV7sCS.js +0 -1
  645. package/dist/interface/assets/esm-B2yI2eHV.js +0 -1
  646. package/dist/interface/assets/esm-BGznyI26.js +0 -1
  647. package/dist/interface/assets/esm-BU06bvS2.js +0 -1
  648. package/dist/interface/assets/esm-CDZvvPo-.js +0 -1
  649. package/dist/interface/assets/esm-CQhKa6pe.js +0 -1
  650. package/dist/interface/assets/esm-C_cunepi.js +0 -1
  651. package/dist/interface/assets/esm-D7Wl3e71.js +0 -1
  652. package/dist/interface/assets/esm-DF51BosK.js +0 -1
  653. package/dist/interface/assets/esm-DGnwYAQM.js +0 -1
  654. package/dist/interface/assets/esm-DOPi7vcu.js +0 -1
  655. package/dist/interface/assets/esm-DhUjXDgk.js +0 -1
  656. package/dist/interface/assets/esm-Dy2zOjxI.js +0 -1
  657. package/dist/interface/assets/esm-kUcKqIWx.js +0 -1
  658. package/dist/interface/assets/eventIcons-CCFi3Fbj.js +0 -1
  659. package/dist/interface/assets/eye-off-CvhN3zxZ.js +0 -1
  660. package/dist/interface/assets/eye-off-outline-CCqCZfJ6.js +0 -1
  661. package/dist/interface/assets/flowSchema-CmXSZKQe.js +0 -1
  662. package/dist/interface/assets/help-circle-outline-CQl2D4oN.js +0 -1
  663. package/dist/interface/assets/history-BXFIMe6V.js +0 -1
  664. package/dist/interface/assets/home-D7fG7atW.js +0 -1
  665. package/dist/interface/assets/information-outline-1WzSLz5m.js +0 -1
  666. package/dist/interface/assets/intercomService-DyUZK0Im.js +0 -1
  667. package/dist/interface/assets/lan-CbNzy3jQ.js +0 -1
  668. package/dist/interface/assets/main-D4ZrTpOr.js +0 -3
  669. package/dist/interface/assets/microphone-CRLenDoX.js +0 -1
  670. package/dist/interface/assets/minus-COYpQ3vD.js +0 -1
  671. package/dist/interface/assets/mqtt-C_RLsZgN.js +0 -1
  672. package/dist/interface/assets/native-Chu05rXa.js +0 -1
  673. package/dist/interface/assets/native-DtAgV_35.js +0 -1
  674. package/dist/interface/assets/nodeDefinitions-DgM5EMJ0.js +0 -1
  675. package/dist/interface/assets/notifications-B8VdKX2U.js +0 -1
  676. package/dist/interface/assets/pause-DvYzloru.js +0 -1
  677. package/dist/interface/assets/pencil-Cd5KnMGq.js +0 -1
  678. package/dist/interface/assets/pencil-outline-BiVfpCP6.js +0 -1
  679. package/dist/interface/assets/plugin-CWPz0s-n.js +0 -1
  680. package/dist/interface/assets/plugins-CqWe1lUn.js +0 -1
  681. package/dist/interface/assets/plus-CjwCt143.js +0 -1
  682. package/dist/interface/assets/plus-IEiNd6x0.js +0 -1
  683. package/dist/interface/assets/power-C4NWLKUx.js +0 -1
  684. package/dist/interface/assets/radar-DBqhxkLO.js +0 -1
  685. package/dist/interface/assets/refresh-DBLQ62l4.js +0 -1
  686. package/dist/interface/assets/restore-mXNfiEUq.js +0 -1
  687. package/dist/interface/assets/ring-resize-DrTdJJZT.js +0 -1
  688. package/dist/interface/assets/rooms-CIxV7WRD.js +0 -1
  689. package/dist/interface/assets/round-alt-arrow-left-bold-BlJgH1Gs.js +0 -1
  690. package/dist/interface/assets/search-CGxnUtuo.js +0 -1
  691. package/dist/interface/assets/sensorIcons-CtsJEtFd.js +0 -1
  692. package/dist/interface/assets/sensorSlots-B0rJeEuw.js +0 -1
  693. package/dist/interface/assets/sensors-CyseZmxe.js +0 -1
  694. package/dist/interface/assets/server-BvOtzDbz.js +0 -1
  695. package/dist/interface/assets/settings-wlG-pPuL.js +0 -1
  696. package/dist/interface/assets/source-branch-AyOkkO8S.js +0 -1
  697. package/dist/interface/assets/theme-CqKA1ClW.js +0 -1
  698. package/dist/interface/assets/trash-2-BKLI42HM.js +0 -1
  699. package/dist/interface/assets/trash-can-outline-BFiV5RfR.js +0 -1
  700. package/dist/interface/assets/trash-fill-hfLSPgsP.js +0 -1
  701. package/dist/interface/assets/trash2-lr9UJJWi.js +0 -1
  702. package/dist/interface/assets/types-48CQutaE.js +0 -1
  703. package/dist/interface/assets/types-BRmIeoRR.js +0 -1
  704. package/dist/interface/assets/types-BlFbLEIJ.js +0 -1
  705. package/dist/interface/assets/undo-nleJllpv.js +0 -1
  706. package/dist/interface/assets/ungrouped-D4Eyspkn.js +0 -1
  707. package/dist/interface/assets/updates-iwZh9X-d.js +0 -1
  708. package/dist/interface/assets/upload-1FIs_qFI.js +0 -1
  709. package/dist/interface/assets/upload-BOBHxpZk.js +0 -1
  710. package/dist/interface/assets/useAppVersion-m7hrV2QZ.js +0 -1
  711. package/dist/interface/assets/useAssistantActions-BY-FVxFl.js +0 -1
  712. package/dist/interface/assets/useBackupRestore-BJSrIE1j.js +0 -1
  713. package/dist/interface/assets/useCameraOptions-U3cPq_8f.js +0 -1
  714. package/dist/interface/assets/useKeyboardInset-Ce6esuI4.js +0 -1
  715. package/dist/interface/assets/useLogsSocket-BprgpXs0.js +0 -1
  716. package/dist/interface/assets/useNavLayout-DKsBYcN-.js +0 -1
  717. package/dist/interface/assets/usePermissions-MJCC2mYf.js +0 -1
  718. package/dist/interface/assets/usePluginUpdates-DaoikUxc.js +0 -1
  719. package/dist/interface/assets/usePushRegistration-MBn4GqtF.js +0 -2
  720. package/dist/interface/assets/useServerRestart-_gMUanhL.js +0 -1
  721. package/dist/interface/assets/useStreamStatus-C1aDump3.js +0 -1
  722. package/dist/interface/assets/useTabSwipe-SnHqt6pf.js +0 -1
  723. package/dist/interface/assets/useUpdateChannel-BpYMuseR.js +0 -1
  724. package/dist/interface/assets/useUpdatesSocket-8rAwSOk0.js +0 -1
  725. package/dist/interface/assets/useUserOptions-BWz8j6Bt.js +0 -1
  726. package/dist/interface/assets/variable-BH_88zve.js +0 -1
  727. package/dist/interface/assets/vendor-CFZm55ei.js +0 -23
  728. package/dist/interface/assets/vendor-cameraui-DTALowLr.js +0 -2326
  729. package/dist/interface/assets/vendor-capacitor-NUBkdqQG.js +0 -2
  730. package/dist/interface/assets/vendor-chart-BQ9z8Beo.js +0 -3
  731. package/dist/interface/assets/vendor-core-DF66V0xE.js +0 -1
  732. package/dist/interface/assets/vendor-dnd-55LKiquc.js +0 -2
  733. package/dist/interface/assets/vendor-draggabilly-C2H7F3yh.js +0 -1
  734. package/dist/interface/assets/vendor-markdown-CvrBrdq-.js +0 -14
  735. package/dist/interface/assets/vendor-primevue-CpTHHdUJ.js +0 -3942
  736. package/dist/interface/assets/vendor-vueflow-DGnDS4SG.js +0 -26
  737. package/dist/interface/assets/web-1T-T_0WZ.js +0 -1
  738. package/dist/interface/assets/web-62WbTjlc.js +0 -1
  739. package/dist/interface/assets/web-BjKL51lK-6pj2Scsz.js +0 -1
  740. package/dist/interface/assets/web-BtY56waW.js +0 -1
  741. package/dist/interface/assets/web-Bv7Xkik0.js +0 -1
  742. package/dist/interface/assets/web-BvBEXTJW.js +0 -1
  743. package/dist/interface/assets/web-CFeS7fH5.js +0 -1
  744. package/dist/interface/assets/web-CUtMdd2B.js +0 -1
  745. package/dist/interface/assets/web-D6yoMUkZ.js +0 -1
  746. package/dist/interface/assets/web-DIOYyMNl.js +0 -1
  747. package/dist/interface/assets/web-D_hRP2qx.js +0 -1
  748. package/dist/interface/assets/web-DsY8tWI-.js +0 -1
  749. package/dist/interface/assets/web-DvetlpoV.js +0 -1
  750. package/dist/interface/assets/web-kt-Rh6Kp.js +0 -1
  751. package/dist/interface/assets/webhook-JRvzS9ld.js +0 -1
  752. package/dist/interface/assets/workbox-window.prod.es5-Bd3XD_Q4.js +0 -1
  753. package/dist/interface/assets/zoom-in-CWYu7bwA.js +0 -1
  754. package/dist/interface/ha/404-m6-uXJZq.js +0 -60
  755. package/dist/interface/ha/About-CNVuMwKe.js +0 -55
  756. package/dist/interface/ha/Assistant-C8ffhO3m.js +0 -9107
  757. package/dist/interface/ha/Automation-C6tJrgcC.js +0 -2025
  758. package/dist/interface/ha/AutomationImport-DH1bdVRV.js +0 -206
  759. package/dist/interface/ha/AutomationStore-Ckn6ExG6.js +0 -336
  760. package/dist/interface/ha/AutomationStoreDetail-BDXaoPzo.js +0 -122
  761. package/dist/interface/ha/Automations-B5uu-r94.js +0 -424
  762. package/dist/interface/ha/Camera-B4CwxT3A.js +0 -654
  763. package/dist/interface/ha/CameraConsole-BzaY7lMs.js +0 -52
  764. package/dist/interface/ha/Cameras-B1vU95xU.js +0 -1970
  765. package/dist/interface/ha/Camview-BcgBR-RV.js +0 -1331
  766. package/dist/interface/ha/CertificateUpload-BqyveJeF.js +0 -117
  767. package/dist/interface/ha/Config-C81MLCdk.js +0 -356
  768. package/dist/interface/ha/ConfigActionAssistant-DQfehzH6.js +0 -182
  769. package/dist/interface/ha/ConfigActionCameraControl-C3MnsSHv.js +0 -152
  770. package/dist/interface/ha/ConfigActionDelay-CQDVG521.js +0 -61
  771. package/dist/interface/ha/ConfigActionHttp-VqM0i3cV.js +0 -134
  772. package/dist/interface/ha/ConfigActionImageInput-D7Maj3R-.js +0 -171
  773. package/dist/interface/ha/ConfigActionMqtt-Cm51kwWp.js +0 -81
  774. package/dist/interface/ha/ConfigActionNotification-L5oaXgIQ.js +0 -199
  775. package/dist/interface/ha/ConfigActionNotificationControl-DUa2iWvF.js +0 -111
  776. package/dist/interface/ha/ConfigActionOutput-6e9FLeyi.js +0 -98
  777. package/dist/interface/ha/ConfigActionPlugin-DfWMHSOu.js +0 -172
  778. package/dist/interface/ha/ConfigActionSensor-KMyKW8a4.js +0 -139
  779. package/dist/interface/ha/ConfigActionSnapshot-BXUyBDrZ.js +0 -48
  780. package/dist/interface/ha/ConfigActionVariable-5gjlEinD.js +0 -88
  781. package/dist/interface/ha/ConfigConditionIfElse-KVINr4wM.js +0 -124
  782. package/dist/interface/ha/ConfigConditionSensorState-DfA7Z-rZ.js +0 -192
  783. package/dist/interface/ha/ConfigConditionSwitch-MMBCtsCG.js +0 -128
  784. package/dist/interface/ha/ConfigConditionTime-BFHFgE8n.js +0 -95
  785. package/dist/interface/ha/ConfigSensorValueInput-BGPONs-v.js +0 -170
  786. package/dist/interface/ha/ConfigTriggerDetection-Bl5RLc9-.js +0 -241
  787. package/dist/interface/ha/ConfigTriggerGeofence-C2P-lZvJ.js +0 -4888
  788. package/dist/interface/ha/ConfigTriggerManual-BHrZRxUA.js +0 -14
  789. package/dist/interface/ha/ConfigTriggerMqtt-DxE9E_We.js +0 -134
  790. package/dist/interface/ha/ConfigTriggerSchedule-DBaslXZn.js +0 -72
  791. package/dist/interface/ha/ConfigTriggerSensor-BW6R5G1E.js +0 -73
  792. package/dist/interface/ha/ConfigTriggerSystem-WTcomTVB.js +0 -192
  793. package/dist/interface/ha/ConfigTriggerWebhook-BuweCREC.js +0 -94
  794. package/dist/interface/ha/Console--3yf5q4a.js +0 -348
  795. package/dist/interface/ha/CuiAutomationRunsDialog-Bjx5DXXc.js +0 -130
  796. package/dist/interface/ha/CuiBottomSheet-CUWIERuK.js +0 -270
  797. package/dist/interface/ha/CuiCameraRecordings-DDBEVW_L.js +0 -552
  798. package/dist/interface/ha/CuiCameraShares-BaPKNvSs.js +0 -121
  799. package/dist/interface/ha/CuiCameraTable-CA7TQUBj.js +0 -153
  800. package/dist/interface/ha/CuiChartTable-Cjck-ymw.js +0 -6786
  801. package/dist/interface/ha/CuiConsole-4y2SrBqu.js +0 -244
  802. package/dist/interface/ha/CuiDataTable-3tEK7pxb.js +0 -8732
  803. package/dist/interface/ha/CuiList-1RbiYIWw.js +0 -57
  804. package/dist/interface/ha/CuiMarkdownContent-CU4eGw6l.js +0 -4724
  805. package/dist/interface/ha/CuiPluginCard-BfRbo1oT.js +0 -769
  806. package/dist/interface/ha/CuiPluginOAuthButton-DcZ5KJTX.js +0 -79
  807. package/dist/interface/ha/CuiPluginTrustBadge-DG9TJtBN.js +0 -123
  808. package/dist/interface/ha/CuiQRCode-D_pWqA6W.js +0 -86
  809. package/dist/interface/ha/CuiSchema-BYnQRNtd.js +0 -963
  810. package/dist/interface/ha/CuiTopNavbarItem-BLPX9F5P.js +0 -141
  811. package/dist/interface/ha/Faces-Do8dklvm.js +0 -1282
  812. package/dist/interface/ha/FirstSteps-1jyVgIMo.js +0 -251
  813. package/dist/interface/ha/Floorplan-DqpGLQc-.js +0 -3657
  814. package/dist/interface/ha/Instances-ChgYCEv4.js +0 -680
  815. package/dist/interface/ha/Logs-Dhi1-h8b.js +0 -418
  816. package/dist/interface/ha/Menu-C6ZrgRfI.js +0 -156
  817. package/dist/interface/ha/Metrics-BNTz7Ktd.js +0 -1335
  818. package/dist/interface/ha/OAuthDeviceFlow-DjWARnbi.js +0 -112
  819. package/dist/interface/ha/Plugin-juDjFBUz.js +0 -1405
  820. package/dist/interface/ha/PluginConsole-DqwmWMS6.js +0 -56
  821. package/dist/interface/ha/PluginDetail-Dg0s42Rn.js +0 -230
  822. package/dist/interface/ha/PluginSearch-CER_e1EL.js +0 -462
  823. package/dist/interface/ha/PluginUpdateProgress-D3viAJ-T.js +0 -34
  824. package/dist/interface/ha/Plugins-D6Q_xWx9.js +0 -692
  825. package/dist/interface/ha/RecentEventsFilter-DXlTE7iI.js +0 -79
  826. package/dist/interface/ha/Recordings-BEb8EGDn.js +0 -1498
  827. package/dist/interface/ha/SensorEdit-BjGyc2MJ.js +0 -1462
  828. package/dist/interface/ha/SensorHistory-Dm4WiNdC.js +0 -54
  829. package/dist/interface/ha/Sensors-5vAka-K6.js +0 -1386
  830. package/dist/interface/ha/Settings-Cb4v7LRJ.js +0 -218
  831. package/dist/interface/ha/SettingsAccount-DeZOlBDQ.js +0 -971
  832. package/dist/interface/ha/SettingsAppearance-CDyMzncv.js +0 -220
  833. package/dist/interface/ha/SettingsAssistant-DqGnG1RI.js +0 -1857
  834. package/dist/interface/ha/SettingsBackup-BnqZ-qlE.js +0 -556
  835. package/dist/interface/ha/SettingsList-CAIX3jD9.js +0 -40
  836. package/dist/interface/ha/SettingsMqtt-Dxqjg4OT.js +0 -526
  837. package/dist/interface/ha/SettingsNotifications-PAst5uDP.js +0 -529
  838. package/dist/interface/ha/SettingsPermissions-DFbjoUf-.js +0 -84
  839. package/dist/interface/ha/SettingsRecordings-GwPkWVQl.js +0 -152
  840. package/dist/interface/ha/SettingsRemote-CzYyIfWg.js +0 -1810
  841. package/dist/interface/ha/SettingsSystem-BC8IIFe2.js +0 -376
  842. package/dist/interface/ha/SettingsUsers-DS6HTws4.js +0 -379
  843. package/dist/interface/ha/Terminal-DHXMgeMz.js +0 -617
  844. package/dist/interface/ha/Training-CBSlZKBT.js +0 -1505
  845. package/dist/interface/ha/Updates-DTod9Jwm.js +0 -343
  846. package/dist/interface/ha/VariableInput-CuhqW4K7.js +0 -52
  847. package/dist/interface/ha/VariableSuggestions-D15u2aH6.js +0 -201
  848. package/dist/interface/ha/VersionsHandler-Bafq9Ej7.js +0 -216
  849. package/dist/interface/ha/VirtualSensorCreate-DCc5pfdG.js +0 -101
  850. package/dist/interface/ha/Workers-BFJWJvkK.js +0 -765
  851. package/dist/interface/ha/accordion-X9Wa7KVq.js +0 -577
  852. package/dist/interface/ha/account-DLg459mU.js +0 -19
  853. package/dist/interface/ha/alert-circle-CSp7J0pZ.js +0 -19
  854. package/dist/interface/ha/alert-outline-BssBb-kV.js +0 -89
  855. package/dist/interface/ha/api-CMboY32E.js +0 -62432
  856. package/dist/interface/ha/api-CibPJ53n.js +0 -29
  857. package/dist/interface/ha/arrow-left-B4_-vTM1.js +0 -19
  858. package/dist/interface/ha/assistant-B5j5Rwlf.js +0 -345
  859. package/dist/interface/ha/auth-C9gqBg0w.js +0 -271
  860. package/dist/interface/ha/autocomplete-gFZBpGxE.js +0 -1373
  861. package/dist/interface/ha/automationBlueprint-DS2u4IQM.js +0 -250
  862. package/dist/interface/ha/back-filled-B-jI6Dqb.js +0 -20
  863. package/dist/interface/ha/bell-ring-CjnpDomC.js +0 -19
  864. package/dist/interface/ha/brain-DBagansp.js +0 -19
  865. package/dist/interface/ha/button-DJDZxmKj.js +0 -406
  866. package/dist/interface/ha/cards-PAF_pPbZ.js +0 -13352
  867. package/dist/interface/ha/cctv-DBlnZEJ3.js +0 -19
  868. package/dist/interface/ha/check-circle-outline-DHmzynUf.js +0 -19
  869. package/dist/interface/ha/check-circle-w7z_NLrm.js +0 -19
  870. package/dist/interface/ha/checkbox-D012nd17.js +0 -279
  871. package/dist/interface/ha/chevron-down-CN3LNAsG.js +0 -19
  872. package/dist/interface/ha/chevron-up-D5-4qnos.js +0 -19
  873. package/dist/interface/ha/chip-BIYZHiP1.js +0 -149
  874. package/dist/interface/ha/clock-outline-CLOrwuhP.js +0 -19
  875. package/dist/interface/ha/close-C_ajB9j7.js +0 -19
  876. package/dist/interface/ha/close-circle-Qqtz5NiQ.js +0 -19
  877. package/dist/interface/ha/cloud-check-gKe6M70h.js +0 -33
  878. package/dist/interface/ha/config-DoZvm13z.js +0 -116
  879. package/dist/interface/ha/content-copy-ChfuNPUb.js +0 -19
  880. package/dist/interface/ha/copy-DfdE7y98.js +0 -22
  881. package/dist/interface/ha/datepicker-44Ub2Hx0.js +0 -2961
  882. package/dist/interface/ha/delete-LxFfoBRM.js +0 -19
  883. package/dist/interface/ha/dist-DLZYY_4u.js +0 -3251
  884. package/dist/interface/ha/divider-Cf59Ua0f.js +0 -110
  885. package/dist/interface/ha/dots-vertical-BEPlUtxU.js +0 -19
  886. package/dist/interface/ha/download-BnXoyA8p.js +0 -19
  887. package/dist/interface/ha/eventIcons-DrjNuTS2.js +0 -676
  888. package/dist/interface/ha/eye-off-BIuZGpjA.js +0 -33
  889. package/dist/interface/ha/eye-off-outline-cbzzWTdq.js +0 -19
  890. package/dist/interface/ha/help-circle-outline-Du1jH6xY.js +0 -19
  891. package/dist/interface/ha/history-Bm6QaZ6b.js +0 -19
  892. package/dist/interface/ha/home-CUD0JuUy.js +0 -19
  893. package/dist/interface/ha/information-outline-B1TiBdcz.js +0 -19
  894. package/dist/interface/ha/inputicon-BPVltPdr.js +0 -324
  895. package/dist/interface/ha/inputnumber-MSv4Pb-P.js +0 -1033
  896. package/dist/interface/ha/inputtext-vdcrNX6K.js +0 -257
  897. package/dist/interface/ha/intercomService-WdbgAuZn.js +0 -1414
  898. package/dist/interface/ha/message-BExXUXHN.js +0 -244
  899. package/dist/interface/ha/microphone-TB58caA2.js +0 -19
  900. package/dist/interface/ha/minus-BsY_Bojv.js +0 -46
  901. package/dist/interface/ha/minus-C6Qh7zWS.js +0 -19
  902. package/dist/interface/ha/mqtt-Bq2AL0mf.js +0 -56
  903. package/dist/interface/ha/multiselect-B0fAnW75.js +0 -1492
  904. package/dist/interface/ha/notifications-Cb1PNQoG.js +0 -159
  905. package/dist/interface/ha/pause-Ch6v65wA.js +0 -19
  906. package/dist/interface/ha/pencil-outline-3AYc7WXi.js +0 -19
  907. package/dist/interface/ha/pinia-D2fpp6nV.js +0 -7641
  908. package/dist/interface/ha/plugins-BAng0szW.js +0 -592
  909. package/dist/interface/ha/plus-CEoLXIS3.js +0 -46
  910. package/dist/interface/ha/plus-QEeSdL0x.js +0 -19
  911. package/dist/interface/ha/progressbar-C2663Zd7.js +0 -95
  912. package/dist/interface/ha/protocol-BB4jdtUC-CbXTLEB7.js +0 -708
  913. package/dist/interface/ha/radar-BCSebLvk.js +0 -19
  914. package/dist/interface/ha/refresh-Cf7GQyew.js +0 -19
  915. package/dist/interface/ha/restore-DMczh46P.js +0 -19
  916. package/dist/interface/ha/ring-resize-11TaovpK.js +0 -16
  917. package/dist/interface/ha/ripple-B_itunQV.js +0 -2928
  918. package/dist/interface/ha/rooms-BulA3xbr.js +0 -45
  919. package/dist/interface/ha/round-alt-arrow-left-bold-z7BNLjup.js +0 -37
  920. package/dist/interface/ha/runtime-core.esm-bundler-DCktklpY.js +0 -3295
  921. package/dist/interface/ha/search-DMJuYUDF.js +0 -19
  922. package/dist/interface/ha/select-CaVzuLaS.js +0 -1382
  923. package/dist/interface/ha/server-Ndqx0RmV.js +0 -239
  924. package/dist/interface/ha/settings-DkoB1zyf.js +0 -22
  925. package/dist/interface/ha/source-branch-CimaS9J1.js +0 -19
  926. package/dist/interface/ha/speeddial-CpW9sIFY.js +0 -682
  927. package/dist/interface/ha/spinner-BSEdDTno.js +0 -46
  928. package/dist/interface/ha/tag-Bko2QYOK.js +0 -95
  929. package/dist/interface/ha/textarea-DrKQ6YMZ.js +0 -130
  930. package/dist/interface/ha/tooltip-X5MY9FoG.js +0 -277
  931. package/dist/interface/ha/trash-2-Droax8m8.js +0 -23
  932. package/dist/interface/ha/trash-can-outline-XdMf3dMc.js +0 -19
  933. package/dist/interface/ha/trash-fill-B__41VdN.js +0 -21
  934. package/dist/interface/ha/types-B9Rna2FN.js +0 -123
  935. package/dist/interface/ha/types-CSqHjs73.js +0 -1062
  936. package/dist/interface/ha/ungrouped-CEyEfdNm.js +0 -1320
  937. package/dist/interface/ha/updates-BK41HPRa.js +0 -341
  938. package/dist/interface/ha/upload-CDAlIs3e.js +0 -23
  939. package/dist/interface/ha/upload-DMKlzavA.js +0 -19
  940. package/dist/interface/ha/useAppVersion-PLf1za07.js +0 -22
  941. package/dist/interface/ha/useAssistantActions-Uf0kmQ_Z.js +0 -29
  942. package/dist/interface/ha/useLogsSocket-CRUB4tiT.js +0 -59
  943. package/dist/interface/ha/useNavLayout-hpvRlYIg.js +0 -125
  944. package/dist/interface/ha/usePermissions-CEX3lAii.js +0 -72
  945. package/dist/interface/ha/useServerRestart-BN_2Gvwy.js +0 -23
  946. package/dist/interface/ha/useTabSwipe-BhBi1bXW.js +0 -45
  947. package/dist/interface/ha/useUpdateChannel-DoPFCimM.js +0 -22
  948. package/dist/interface/ha/useUpdatesSocket-CQ2qyv6W.js +0 -34
  949. package/dist/interface/ha/useUserOptions-Ck6NrMAe.js +0 -15
  950. package/dist/interface/ha/virtualscroller-DuRtMnNf.js +0 -996
  951. package/dist/interface/ha/vue-flow-background-ETLnaEUH.js +0 -6835
  952. package/dist/interface/ha/vue-i18n-CxWAK5Gn.js +0 -2422
  953. package/dist/interface/ha/zoom-in-ZVdIPder.js +0 -41
@@ -0,0 +1,2025 @@
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-Z7VN-E1u.js";
5
+ import { t as te } from "./message-D6dIy_hz.js";
6
+ import { t as ne } from "./history-XMyO_cLc.js";
7
+ import { Br as re, En as ie, J as ae, Lr as oe, On as se, Or as ce, bi as le, br as ue, gn as de, gt as P, ht as fe, kr as pe, m as me, mr as he, pi as ge, ur as _e, yr as ve, zr as ye } from "./api-BmYisoxj.js";
8
+ import { i as F } from "./intercomService-B7HkLs6z.js";
9
+ import { A as I, j as L, n as be, r as xe } from "./pinia-C6gt7A_Q.js";
10
+ import { n as R } from "./vue-i18n-D5EAy78K.js";
11
+ import { t as Se } from "./button-BouAFgf5.js";
12
+ import { v as z } from "./dist-C6MBHJhs.js";
13
+ import { t as B } from "./inputtext-C_ygnPrC.js";
14
+ import { t as V } from "./close-CxFbonhd.js";
15
+ import { i as H, n as Ce, r as we, t as Te } from "./accordion-Xem2SzgR.js";
16
+ import { t as Ee } from "./inputnumber-DZRwKgXr.js";
17
+ import { t as De } from "./speeddial-LCbl5g8p.js";
18
+ import { a as U, i as W, l as Oe, r as G } from "./types-B8B9MqK0.js";
19
+ import { a as K, i as ke } from "./automationBlueprint-C-12Yjl7.js";
20
+ import { t as Ae } from "./CuiBottomSheet-DLkC2OmT.js";
21
+ import { t as je } from "./back-filled-CaxrZv0Q.js";
22
+ import { a as Me, c as Ne, d as Pe, f as Fe, i as Ie, l as q, 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 = be("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 } = R(), 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 : I(i), o = a.map((e) => L(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 = L(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: _ } = q(), 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(Ie), {
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 } = q(), i = y(() => Ne({
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 = V;
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 } = R();
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: ge()
619
+ } : e.type === "trigger-geofence" && !e.geofenceId ? {
620
+ ...e,
621
+ geofenceId: ge()
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__*/ ve(/* @__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 } = R(), r = Z(), { lastOutput: i } = xe(r), c = Bt(() => t.id), l = y(() => W(t.type)), u = y(() => l.value ? n(l.value.labelKey) : t.type), { cameraName: f } = K(), { sensors: p } = z(), 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 = F;
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 } = R(), r = { borderColor: "var(--card-background)" }, i = Bt(() => t.id), a = y(() => W(t.type)), s = y(() => a.value ? n(a.value.labelKey) : t.type), { cameraName: c } = K(), { sensors: l } = z(), 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 } = R(), r = {
906
+ backgroundColor: "#f59e0b",
907
+ borderColor: "var(--card-background)"
908
+ }, i = Bt(() => t.id), c = y(() => W(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 } = R(), { cameraName: r } = K(), { sensors: i } = z(), a = Bt(() => t.id), s = y(() => W(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 } = R(), { smBreakpoint: u } = ce(), { screenToFlowCoordinate: f, getViewport: m, dimensions: h } = q(), 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 ne(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 re(e) {
1095
+ if (!ne(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 = W(t);
1120
+ if (!n) return;
1121
+ O();
1122
+ let r = f({
1123
+ x: e.clientX,
1124
+ y: e.clientY
1125
+ }), i = {
1126
+ id: me(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 = W(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: me(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 le() {
1152
+ O(), T.value = [], D.value = [], c("change");
1153
+ }
1154
+ function ue() {
1155
+ return [...T.value];
1156
+ }
1157
+ function de() {
1158
+ return [...D.value];
1159
+ }
1160
+ function P(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 fe(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", fe)), r(() => window.removeEventListener("keydown", fe)), n({
1174
+ removeNode: se,
1175
+ addNodeAtCenter: oe,
1176
+ clearAll: le,
1177
+ getNodes: ue,
1178
+ getEdges: de,
1179
+ updateNodeData: P,
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(Me), {
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": ne,
1205
+ class: "automation-canvas",
1206
+ onNodeClick: N,
1207
+ onPaneClick: te,
1208
+ onConnect: re,
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": P(() => import("./ConfigTriggerDetection-D37OkR_u.js")),
1225
+ "trigger-sensor": P(() => import("./ConfigTriggerSensor-BFGEtBVF.js")),
1226
+ "trigger-schedule": P(() => import("./ConfigTriggerSchedule-_ThdB8Bb.js")),
1227
+ "trigger-webhook": P(() => import("./ConfigTriggerWebhook-DegifRdj.js")),
1228
+ "trigger-mqtt": P(() => import("./ConfigTriggerMqtt-BX6uNEZy.js")),
1229
+ "trigger-system": P(() => import("./ConfigTriggerSystem-fRnAgUGR.js")),
1230
+ "trigger-manual": P(() => import("./ConfigTriggerManual-B0DDQtoz.js")),
1231
+ "trigger-geofence": P(() => import("./ConfigTriggerGeofence-EbXy_y3Q.js")),
1232
+ "action-snapshot": P(() => import("./ConfigActionSnapshot-CRjD5AMC.js")),
1233
+ "action-sensor": P(() => import("./ConfigActionSensor-Dzp16VyX.js")),
1234
+ "action-notification": P(() => import("./ConfigActionNotification-DIL7abEm.js")),
1235
+ "action-notification-control": P(() => import("./ConfigActionNotificationControl-BQ2w5yeg.js")),
1236
+ "action-assistant": P(() => import("./ConfigActionAssistant-DVVVfVvT.js")),
1237
+ "action-http": P(() => import("./ConfigActionHttp-BsNy03j4.js")),
1238
+ "action-mqtt": P(() => import("./ConfigActionMqtt-PZqAKfTo.js")),
1239
+ "action-delay": P(() => import("./ConfigActionDelay-zU6H75hY.js")),
1240
+ "action-variable": P(() => import("./ConfigActionVariable-CR8g7gEh.js")),
1241
+ "action-plugin": P(() => import("./ConfigActionPlugin-BUfTEJQ_.js")),
1242
+ "action-image-input": P(() => import("./ConfigActionImageInput-JUvNYn0w.js")),
1243
+ "action-output": P(() => import("./ConfigActionOutput-DVilKhPV.js")),
1244
+ "action-camera-control": P(() => import("./ConfigActionCameraControl-BPpzE9-F.js")),
1245
+ "condition-ifelse": P(() => import("./ConfigConditionIfElse-CHoSgzXF.js")),
1246
+ "condition-switch": P(() => import("./ConfigConditionSwitch-Ds-nqWeU.js")),
1247
+ "condition-sensorstate": P(() => import("./ConfigConditionSensorState-Dn8_OhQe.js")),
1248
+ "condition-time": P(() => import("./ConfigConditionTime-DWNfEluj.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 } = R(), a = y(() => n.node.type ? W(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 = V, p = Se, g = we, _ = B, y = te, x = H, w = Ce, T = Ee, D = Te;
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__*/ ve(/* @__PURE__ */ A({
1419
+ __name: "CuiAutomationNodePalette",
1420
+ props: /*@__PURE__*/ n({ mode: {} }, G),
1421
+ emits: ["node-click"],
1422
+ setup(e) {
1423
+ let { t } = R(), n = [
1424
+ {
1425
+ key: "trigger",
1426
+ labelKey: "components.automation_nodes.category_triggers",
1427
+ nodes: U("trigger")
1428
+ },
1429
+ {
1430
+ key: "condition",
1431
+ labelKey: "components.automation_nodes.category_conditions",
1432
+ nodes: U("condition")
1433
+ },
1434
+ {
1435
+ key: "utility",
1436
+ labelKey: "components.automation_nodes.category_utilities",
1437
+ nodes: U("utility")
1438
+ },
1439
+ {
1440
+ key: "action",
1441
+ labelKey: "components.automation_nodes.category_actions",
1442
+ nodes: U("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 } = R(), { smBreakpoint: a } = ce(), 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 = je, l = Se, u = B, f = se, p = ne, 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 } = R(), 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 = P(() => import("./CuiAutomationRunsDialog-DXpNJqDE.js")), n = new Oe(), r = ye(), i = re(), { t: a } = R(), { smBreakpoint: c } = ce(), { bottombarHeight: u } = pe(), p = fe(), g = le(), O = Z(), k = y(() => r.params.id), A = y(() => k.value === "new"), ee = y(() => _e(void 0, "admin")), { data: te, isBusy: ne } = n.getAutomationQuery(k), { mutateAsync: ie } = n.createAutomationQuery(), { mutateAsync: se } = n.patchAutomationQuery(), { mutateAsync: ge } = n.deleteAutomationQuery(), { mutateAsync: ve } = n.triggerAutomationQuery(), F = T("canvasRef"), I = j(!1), L = j(!1), be = j(!1), xe = j(!1), z = !1, B, V = y({
1612
+ get: () => O.draft,
1613
+ set: (e) => {
1614
+ O.draft = e;
1615
+ }
1616
+ }), H = y(() => {
1617
+ if (V.value && O.selectedNodeId) return V.value.nodes.find((e) => e.id === O.selectedNodeId);
1618
+ }), Ce = y(() => {
1619
+ if (!c.value && H.value) return "calc(300px + 1.25rem + var(--safe-area-inset-right))";
1620
+ }), we = y(() => [
1621
+ ...V.value?.nodes.some((e) => e.type === "trigger-manual") ?? !1 ? [{
1622
+ label: a("views.automation.run"),
1623
+ icon: de,
1624
+ buttonProps: { disabled: A.value || L.value },
1625
+ command: () => He()
1626
+ }] : [],
1627
+ {
1628
+ label: a("views.automation.undo"),
1629
+ icon: Be,
1630
+ buttonProps: { disabled: !be.value },
1631
+ command: () => {
1632
+ F.value?.undo(), G();
1633
+ }
1634
+ },
1635
+ {
1636
+ label: a("views.automation.redo"),
1637
+ icon: Fe,
1638
+ buttonProps: { disabled: !xe.value },
1639
+ command: () => {
1640
+ F.value?.redo(), G();
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 Te() {
1661
+ be.value = F.value?.canUndo ?? !1, xe.value = F.value?.canRedo ?? !1;
1662
+ }
1663
+ function Ee() {
1664
+ V.value = {
1665
+ _id: me(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 U() {
1677
+ clearTimeout(B), B = setTimeout(() => {
1678
+ J(), O.validationIssues = It(V.value);
1679
+ }, 300);
1680
+ }
1681
+ function G() {
1682
+ L.value = !0, Te(), U();
1683
+ }
1684
+ function K() {
1685
+ p.openComponentDialog(t, { data: {
1686
+ title: a("views.automations.run_history"),
1687
+ contentProps: { flowId: k.value },
1688
+ hideConfirmButton: !0
1689
+ } });
1690
+ }
1691
+ function Me() {
1692
+ J(), G();
1693
+ }
1694
+ function Ne(e) {
1695
+ V.value && (V.value.name = e, G());
1696
+ }
1697
+ function Ie(e, t) {
1698
+ if (!V.value) return;
1699
+ let n = V.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), F.value?.updateNodeData(e, { ...n.data }), G();
1703
+ }
1704
+ }
1705
+ function q() {
1706
+ if (!V.value) return {};
1707
+ let e = F.value?.getNodes?.() ?? V.value.nodes, t = F.value?.getEdges?.() ?? V.value.edges;
1708
+ return {
1709
+ name: V.value.name,
1710
+ enabled: V.value.enabled,
1711
+ suppressDuplicates: V.value.suppressDuplicates,
1712
+ singleExecution: V.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 (!V.value) return;
1730
+ J();
1731
+ let e = q();
1732
+ try {
1733
+ if (A.value) {
1734
+ let t = await ie({ data: e });
1735
+ L.value = !1, i.replace(`/automations/${t._id}`);
1736
+ } else {
1737
+ let t = await se({
1738
+ id: V.value._id,
1739
+ data: e
1740
+ });
1741
+ if (L.value = !1, t?.nodes && V.value) for (let e of t.nodes) {
1742
+ let t = V.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 (!V.value) return;
1761
+ let e = F.value?.getNodes(), t = F.value?.getEdges();
1762
+ e && (V.value.nodes = e), t && (V.value.edges = t);
1763
+ }
1764
+ function Y(e) {
1765
+ if (O.selectedNodeId = e, c.value && e) {
1766
+ J();
1767
+ let t = V.value?.nodes.find((t) => t.id === e);
1768
+ if (!t) return;
1769
+ let n = t.type ? W(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
+ V.value?.nodes.some((e) => e.id === i) || (F.value?.removeNode(i), G());
1783
+ }
1784
+ });
1785
+ }
1786
+ }
1787
+ function X(e) {
1788
+ I.value = !1, F.value?.addNodeAtCenter(e), G();
1789
+ }
1790
+ function ze() {
1791
+ O.selectedNodeId && (F.value?.removeNode(O.selectedNodeId), V.value && (V.value.nodes = V.value.nodes.filter((e) => e.id !== O.selectedNodeId), V.value.edges = V.value.edges.filter((e) => e.source !== O.selectedNodeId && e.target !== O.selectedNodeId)), O.selectedNodeId = null, O.lastOutput = null, G());
1792
+ }
1793
+ async function He() {
1794
+ if (V.value && !A.value) try {
1795
+ O.lastOutput = null;
1796
+ let e = await ve({ id: V.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 (!V.value) return;
1812
+ Le();
1813
+ let e = {
1814
+ version: 1,
1815
+ name: V.value.name,
1816
+ nodes: ke(V.value.nodes),
1817
+ edges: V.value.edges
1818
+ }, t = JSON.stringify(e, null, 2), n = new Blob([t], { type: "application/json" });
1819
+ he({
1820
+ blob: n,
1821
+ filename: `${V.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
+ F.value?.clearAll(), V.value && (V.value.nodes = [], V.value.edges = []), O.selectedNodeId = null, G();
1833
+ }
1834
+ });
1835
+ }
1836
+ function Ge() {
1837
+ if (!V.value) return;
1838
+ let e = V.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 ge({ 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, L.value = !1, e === "new" ? Ee() : V.value = null;
1855
+ }, { immediate: !0 }), x(te, (e) => {
1856
+ e && !L.value && (V.value = JSON.parse(JSON.stringify(e)), O.validationIssues = It(V.value));
1857
+ }, { immediate: !0 }), x(() => O.draftDirty, (e) => {
1858
+ e && (O.draftDirty = !1, G());
1859
+ }), oe((e) => !L.value || z ? !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
+ z = !0, i.push(e.fullPath);
1867
+ }
1868
+ }), !1)), (e, t) => {
1869
+ let n = je, r = Se, i = ae, p = De, g = Ae, y = ue, 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(V) ? (o(), S(w, { key: 0 }, [
1882
+ M(Hn, {
1883
+ flow: v(V),
1884
+ "show-history": !v(A) && v(ee),
1885
+ onShowHistory: K,
1886
+ "onUpdate:name": Ne,
1887
+ onToggleEnabled: t[0] ||= (e) => {
1888
+ v(V).enabled = !v(V).enabled, G();
1889
+ },
1890
+ onToggleSuppressDuplicates: t[1] ||= (e) => {
1891
+ v(V).suppressDuplicates = !v(V).suppressDuplicates, G();
1892
+ },
1893
+ onToggleSingleExecution: t[2] ||= (e) => {
1894
+ v(V).singleExecution = !v(V).singleExecution, G();
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: F,
1905
+ flow: v(V),
1906
+ mobile: v(c),
1907
+ class: "flex-1 min-w-0",
1908
+ onNodeSelect: Y,
1909
+ onChange: Me
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(H) ? "300px" : "0px" })
1915
+ }, [v(H) ? (o(), m(jn, {
1916
+ key: 0,
1917
+ node: v(H),
1918
+ class: "w-[300px]",
1919
+ onClose: t[3] ||= (e) => v(O).selectedNodeId = null,
1920
+ "onUpdate:data": t[4] ||= (e) => Ie(v(O).selectedNodeId, e),
1921
+ onDelete: ze
1922
+ }, null, 8, ["node"])) : h("", !0)], 4))
1923
+ ]),
1924
+ M(p, {
1925
+ model: v(we),
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(L) ? "4.25rem" : "1.25rem"} + var(--safe-area-inset-bottom))`,
1936
+ right: v(Ce) || "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) => I.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(L) ? 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(Ce) || "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(Pe), { 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(I),
2007
+ "onUpdate:modelValue": t[6] ||= (e) => _(I) ? I.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(ne) ? (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 };