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

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 (420) hide show
  1. package/dist/interface/assets/{404-BDvtK1qR.js → 404-YZOLos9r.js} +1 -1
  2. package/dist/interface/assets/{About-B4A35rRx.js → About-HtxMc8JZ.js} +1 -1
  3. package/dist/interface/assets/Assistant-bB8RBo-m.js +1 -0
  4. package/dist/interface/assets/Automation-D3DcUyui.js +3 -0
  5. package/dist/interface/assets/{AutomationImport-CEJdhE_d.js → AutomationImport-Dp_hT6hQ.js} +2 -2
  6. package/dist/interface/assets/AutomationStore-BKR7GXMk.js +2 -0
  7. package/dist/interface/assets/{AutomationStoreDetail-BenRMMtV.js → AutomationStoreDetail-B9yh51WQ.js} +2 -2
  8. package/dist/interface/assets/Automations-BdZZW2eN.js +2 -0
  9. package/dist/interface/assets/Camera-Ct7ndOxr.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-D24yXOQn.js → CameraConsole-BI93OaRt.js} +2 -2
  11. package/dist/interface/assets/Cameras-Ctub8sVt.js +651 -0
  12. package/dist/interface/assets/Camview-BjQdTHNh.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-26LAL4MY.js → CertificateUpload-xW55NA1Q.js} +1 -1
  14. package/dist/interface/assets/Config-CBTbYd5v.js +2 -0
  15. package/dist/interface/assets/{ConfigActionAssistant-Cl_kr3hp.js → ConfigActionAssistant-B488rOp5.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionCameraControl-CL4vXcNe.js → ConfigActionCameraControl-ZMUuBxOs.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-DtPgmqWh.js → ConfigActionDelay-BJ11xvOW.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-DnkZTP5l.js → ConfigActionHttp-DOUo69OR.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-3svn6YP9.js → ConfigActionImageInput-BMzuVZW9.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-BTsFTLgm.js → ConfigActionMqtt-Co_uksca.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-Cr4xJrZp.js → ConfigActionNotification-CcZkstYx.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-Cxkb_g8p.js → ConfigActionNotificationControl--VeucoTw.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-WTr7FGf_.js → ConfigActionOutput-CyDa1LGA.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-BpcJepbD.js → ConfigActionPlugin-Kfg3ZEQF.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-BgD_F-hD.js → ConfigActionSensor-DhAF0HPw.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-DjR-Z08N.js → ConfigActionSnapshot-zMe3SPvW.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-gPuPbjpm.js → ConfigActionVariable-BE5q3NwY.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-CUHKJmPx.js → ConfigConditionIfElse-BNIRtSVD.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-D-gPRqMu.js → ConfigConditionSensorState-DTNd-SzI.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-BRf1T5tJ.js → ConfigConditionSwitch-BU5wWMU1.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-BC0n6sWO.js → ConfigConditionTime-KXTCIVIV.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-BUHapx4M.js → ConfigSensorValueInput-BC1FpMm-.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-Byd6SLGg.js → ConfigTriggerDetection-hIN1hi53.js} +1 -1
  34. package/dist/interface/assets/ConfigTriggerGeofence-Bl2ZacbY.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-B2dWcFrl.js → ConfigTriggerManual-C5vwxS-e.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-B_aUDBu4.js → ConfigTriggerMqtt-B4PtWC3E.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-DAZo1PLj.js → ConfigTriggerSchedule-BZzUdGBa.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-BCqAiPu4.js → ConfigTriggerSensor-D18nwMsj.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DuBydCiq.js → ConfigTriggerSystem-BhygWLB4.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-DDsnpwJr.js → ConfigTriggerWebhook-yyuBuhLD.js} +1 -1
  41. package/dist/interface/assets/Console-Cfk9MA9m.js +1 -0
  42. package/dist/interface/assets/CuiAssistantConversation-BHK_i56I.js +5 -0
  43. package/dist/interface/assets/CuiAssistantConversation-lkpZg3ML.css +1 -0
  44. package/dist/interface/assets/{CuiAutomationRunsDialog-C_sMg7E1.js → CuiAutomationRunsDialog-B0ohEHw0.js} +1 -1
  45. package/dist/interface/assets/{CuiBottomSheet-D_0LrjA_.js → CuiBottomSheet-DWefGWK2.js} +1 -1
  46. package/dist/interface/assets/CuiBottomSheet-NgX7VFao.js +1 -0
  47. package/dist/interface/assets/CuiCameraPipCard-C2qaGJlH.js +1 -0
  48. package/dist/interface/assets/CuiCameraRecordings-BTD-CQAg.js +1 -0
  49. package/dist/interface/assets/{CuiCameraShares-BIUB1xMa.js → CuiCameraShares-DcqOcePX.js} +1 -1
  50. package/dist/interface/assets/{CuiCameraTable-D-UhqHk4.js → CuiCameraTable-BOkfp_5M.js} +2 -2
  51. package/dist/interface/assets/CuiCameraTable-KPk46Xcl.js +1 -0
  52. package/dist/interface/assets/{CuiChartTable-CSK4Mzn3.js → CuiChartTable-DP38uBwK.js} +1 -1
  53. package/dist/interface/assets/{CuiConsole-DAbJXJBq.js → CuiConsole-C7xE_nQg.js} +2 -2
  54. package/dist/interface/assets/{CuiDataTable-DgcJsG-K.js → CuiDataTable-CsqH-RB1.js} +1 -1
  55. package/dist/interface/assets/CuiLightControl-ChGYpQAK.js +1 -0
  56. package/dist/interface/assets/{CuiLightControl-DFrZm_sv.css → CuiLightControl-D9sm8NZb.css} +1 -1
  57. package/dist/interface/assets/{CuiList-HdsA9vV1.js → CuiList-DJp0__mV.js} +1 -1
  58. package/dist/interface/assets/CuiPluginCard-CWImTZ6l.js +2 -0
  59. package/dist/interface/assets/{CuiPluginCategoryChip-C7R1jP7r.js → CuiPluginCategoryChip-Ch_upS6Y.js} +1 -1
  60. package/dist/interface/assets/{CuiPluginOAuthButton-BJJw0IaC.js → CuiPluginOAuthButton-DEQ9xILN.js} +2 -2
  61. package/dist/interface/assets/{CuiPluginTrustBadge-Bmm1qYdC.js → CuiPluginTrustBadge-sVWdvHcM.js} +1 -1
  62. package/dist/interface/assets/{CuiQRCode-DTSEFMBt.js → CuiQRCode-DqSF4SkD.js} +1 -1
  63. package/dist/interface/assets/CuiSchema-ytExUVhI.js +1 -0
  64. package/dist/interface/assets/CuiTopNavbarItem-B_KWykgq.js +1 -0
  65. package/dist/interface/assets/Faces-Cb6XMxDC.js +1 -0
  66. package/dist/interface/assets/FirstSteps-QNYTkEJo.js +1 -0
  67. package/dist/interface/assets/Floorplan-DbqADtN1.js +1 -0
  68. package/dist/interface/assets/Instances-DrMzPD65.js +1 -0
  69. package/dist/interface/assets/{Logs-BjcfuMQV.js → Logs-BSPT80vP.js} +2 -2
  70. package/dist/interface/assets/{Menu-BjjnSgdP.js → Menu-HHtuhIS2.js} +1 -1
  71. package/dist/interface/assets/Metrics-CqhUnVRA.js +12 -0
  72. package/dist/interface/assets/{OAuthDeviceFlow-9v-Czy_u.js → OAuthDeviceFlow-Bn1nlWNa.js} +1 -1
  73. package/dist/interface/assets/Plugin-DyOg_fbg.js +1 -0
  74. package/dist/interface/assets/{PluginConsole-C7sO42RG.js → PluginConsole-Cv-uhnPY.js} +2 -2
  75. package/dist/interface/assets/PluginDetail-cpOz7FkA.js +2 -0
  76. package/dist/interface/assets/{PluginSchema-D0eL9H-b.js → PluginSchema-DW3TGeTM.js} +1 -1
  77. package/dist/interface/assets/PluginSearch-BgecD9Ob.js +2 -0
  78. package/dist/interface/assets/PluginSearch-C8xHKikH.js +1 -0
  79. package/dist/interface/assets/{PluginUpdateProgress--MM9D8hs.js → PluginUpdateProgress-n6q6vzyd.js} +1 -1
  80. package/dist/interface/assets/Plugins-CuujWEtM.js +1 -0
  81. package/dist/interface/assets/{RecentEventsFilter-CvIJS8Se.js → RecentEventsFilter-CTR5JK_P.js} +1 -1
  82. package/dist/interface/assets/Recordings-ths9khZr.js +1 -0
  83. package/dist/interface/assets/SensorEdit-BzoIH7QC.js +1 -0
  84. package/dist/interface/assets/{SensorHistory-Efw0bZ-X.js → SensorHistory-9CdOpCPs.js} +1 -1
  85. package/dist/interface/assets/Sensors-CK5uExfU.js +2 -0
  86. package/dist/interface/assets/Settings-DN5hFtw_.js +1 -0
  87. package/dist/interface/assets/SettingsAccount-BCrmon5O.js +1 -0
  88. package/dist/interface/assets/SettingsAccount-CSy1BAIH.js +1 -0
  89. package/dist/interface/assets/{SettingsAccount-si-6gWl5.css → SettingsAccount-CY8YE_cy.css} +1 -1
  90. package/dist/interface/assets/SettingsAppearance-BY1xQMx4.js +1 -0
  91. package/dist/interface/assets/SettingsAppearance-h_XPZfQl.js +1 -0
  92. package/dist/interface/assets/SettingsAssistant-D8FmVbUL.js +1 -0
  93. package/dist/interface/assets/{SettingsBackup-BqKBKis5.js → SettingsBackup-D_weokqu.js} +1 -1
  94. package/dist/interface/assets/{SettingsList-BU191rmt.js → SettingsList-Bq24WTDU.js} +1 -1
  95. package/dist/interface/assets/SettingsMqtt-DCkLIYpF.js +1 -0
  96. package/dist/interface/assets/SettingsNotifications-8TZOUxg2.js +1 -0
  97. package/dist/interface/assets/{SettingsPermissions-sI64FPZG.js → SettingsPermissions-M8u_jrN0.js} +1 -1
  98. package/dist/interface/assets/{SettingsRecordings-CghrKErw.js → SettingsRecordings-C1Kp5xW_.js} +1 -1
  99. package/dist/interface/assets/SettingsRemote-DXlQKwlT.js +2 -0
  100. package/dist/interface/assets/{SettingsSystem-DP1p1Xns.js → SettingsSystem-Cetu2faJ.js} +2 -2
  101. package/dist/interface/assets/{SettingsUsers-Dpej-he1.js → SettingsUsers-CDwtQLdV.js} +1 -1
  102. package/dist/interface/assets/{Terminal-DPRPXCSt.js → Terminal-Dl-aAZME.js} +2 -2
  103. package/dist/interface/assets/{Training-Dwf5rXyC.css → Training-B1oQjAr8.css} +1 -1
  104. package/dist/interface/assets/Training-DdZjXgt1.js +1 -0
  105. package/dist/interface/assets/{Updates-QTvCp1aS.js → Updates-CkB1lXuo.js} +1 -1
  106. package/dist/interface/assets/{VariableInput-DhusSZPw.js → VariableInput-BxPj5wo6.js} +1 -1
  107. package/dist/interface/assets/{VariableSuggestions-Bkzz4Mv3.js → VariableSuggestions-CbizvAkz.js} +1 -1
  108. package/dist/interface/assets/{VersionsHandler-DjNSpSYy.js → VersionsHandler-CePyEUVO.js} +2 -2
  109. package/dist/interface/assets/{VirtualSensorCreate-soGT6h2c.js → VirtualSensorCreate-D_GVoeL7.js} +1 -1
  110. package/dist/interface/assets/Workers-7yiebNkl.js +2 -0
  111. package/dist/interface/assets/api-DK2Bav9D.js +4 -0
  112. package/dist/interface/assets/api-DTCqDA-h.css +2 -0
  113. package/dist/interface/assets/{api-CK2tonlH.js → api-DW2niHRN.js} +1 -1
  114. package/dist/interface/assets/{assistant-BEe1ExZL.js → assistant-BJ6xKcw_.js} +1 -1
  115. package/dist/interface/assets/{auth-QEpUGkWd.js → auth-Dc8bUpc-.js} +1 -1
  116. package/dist/interface/assets/{automations-BBIBV4Uu.js → automations-DXrjbArj.js} +1 -1
  117. package/dist/interface/assets/{cameraSources-Cm18cW9L.js → cameraSources-QJfUDOQJ.js} +1 -1
  118. package/dist/interface/assets/cloudHandoff-DtlquYGZ.js +1 -0
  119. package/dist/interface/assets/{config-vwkU8aqP.js → config-CiQDwB4t.js} +1 -1
  120. package/dist/interface/assets/{flowSchema-rzBroL0H.js → flowSchema-BRTZHQ1w.js} +1 -1
  121. package/dist/interface/assets/{intercomService-Du8V_HxF.js → intercomService-BnA-FQ0Q.js} +1 -1
  122. package/dist/interface/assets/{main-XHFrBKKz.css → main-BoGhBedC.css} +1 -1
  123. package/dist/interface/assets/main-D74mRIxc.js +3 -0
  124. package/dist/interface/assets/mqtt-iD9XHYO_.js +1 -0
  125. package/dist/interface/assets/{notifications-CN6eTJb_.js → notifications-CbAJX7RF.js} +1 -1
  126. package/dist/interface/assets/{plugins-DKtX7zQp.js → plugins-eIUrXNeM.js} +1 -1
  127. package/dist/interface/assets/rooms-BqPyo8jc.js +1 -0
  128. package/dist/interface/assets/{sensorIcons-ztqlMLDc.js → sensorIcons-DQVgryYP.js} +1 -1
  129. package/dist/interface/assets/{sensorSlots-D-uxjuv3.js → sensorSlots-BZCXtnb6.js} +1 -1
  130. package/dist/interface/assets/{sensors-DV2Z0IJt.js → sensors-DttBNEEt.js} +1 -1
  131. package/dist/interface/assets/{server-CfZnIVzn.js → server-DUFhf2c_.js} +1 -1
  132. package/dist/interface/assets/{theme-Bi7qdjBK.js → theme-BMmjtQ4w.js} +1 -1
  133. package/dist/interface/assets/{types-CNLAvgyw.js → types-5rE8Tz0_.js} +1 -1
  134. package/dist/interface/assets/{types-DwbeYXvn.js → types-CXw7CEzu.js} +1 -1
  135. package/dist/interface/assets/{types-DuwD8xp5.js → types-DWTSNJ79.js} +1 -1
  136. package/dist/interface/assets/ungrouped-D56FGIrg.js +1 -0
  137. package/dist/interface/assets/ungrouped-DHMJ9Rg1.css +1 -0
  138. package/dist/interface/assets/{updates-BqCH6Vr8.js → updates-TIPWXKzL.js} +1 -1
  139. package/dist/interface/assets/{useAppVersion-B-rmq3Bb.js → useAppVersion-BIz44Bg4.js} +1 -1
  140. package/dist/interface/assets/{useAssistantActions-Kf-5ijVf.js → useAssistantActions-CLkkw9kB.js} +1 -1
  141. package/dist/interface/assets/useBackupRestore-Crfd592q.js +1 -0
  142. package/dist/interface/assets/{useCameraOptions-Dt2J8sP_.js → useCameraOptions-A97teAIr.js} +1 -1
  143. package/dist/interface/assets/{useKeyboardInset-DtD3I2WC.js → useKeyboardInset-DXVi1dLG.js} +1 -1
  144. package/dist/interface/assets/{useLogsSocket-CEhUQdiY.js → useLogsSocket-BlFxVXjF.js} +1 -1
  145. package/dist/interface/assets/{useNavLayout-CtpYjS5W.js → useNavLayout-C5obaCNv.js} +1 -1
  146. package/dist/interface/assets/{usePermissions-CJzuagwD.js → usePermissions-C8hB_pG1.js} +1 -1
  147. package/dist/interface/assets/{usePluginUpdates-BwoWN5yb.js → usePluginUpdates-DO0-Gk4Q.js} +1 -1
  148. package/dist/interface/assets/{usePushRegistration-ANx4BS6_.js → usePushRegistration-BUttCraQ.js} +1 -1
  149. package/dist/interface/assets/{useServerRestart-7edyD8M0.js → useServerRestart-Cz9eVHUE.js} +1 -1
  150. package/dist/interface/assets/{useStreamStatus-DCSWHdbW.js → useStreamStatus-BhS_MCCB.js} +1 -1
  151. package/dist/interface/assets/{useTabSwipe-DfS3R3uP.js → useTabSwipe-D4k8lm1M.js} +1 -1
  152. package/dist/interface/assets/{useUpdateChannel-Cr9mSIRC.js → useUpdateChannel-D9lhfW0y.js} +1 -1
  153. package/dist/interface/assets/{useUpdatesSocket-B5Rm9syb.js → useUpdatesSocket-DnH9sON5.js} +1 -1
  154. package/dist/interface/assets/{useUserOptions-CJjImz8V.js → useUserOptions-BTRBUuE2.js} +1 -1
  155. package/dist/interface/assets/{vendor-cameraui-BbGOMenD.js → vendor-cameraui-QXD8jkcj.js} +26 -26
  156. package/dist/interface/assets/{vendor-core-tgH2YubJ.js → vendor-core-CnhnyKDl.js} +1 -1
  157. package/dist/interface/assets/{vendor-primevue-DNJJiEZl.js → vendor-primevue-CCUqY55W.js} +207 -207
  158. package/dist/interface/ha/{404-Dl6JtQWv.js → 404-DLhJqxRl.js} +1 -1
  159. package/dist/interface/ha/{About-wjv4kCO3.js → About-DC0i1iE4.js} +3 -3
  160. package/dist/interface/ha/{Assistant-Dpb4IsDC.js → Assistant-BmazMPIg.js} +821 -825
  161. package/dist/interface/ha/{Automation-CqTPjCUh.js → Automation-gabF9YzQ.js} +336 -336
  162. package/dist/interface/ha/{AutomationImport-CvdeneoU.js → AutomationImport-DaqZNs9s.js} +8 -8
  163. package/dist/interface/ha/{AutomationStore-bVPE68io.js → AutomationStore-DzM4huo5.js} +54 -54
  164. package/dist/interface/ha/{AutomationStoreDetail-BYaNUjoH.js → AutomationStoreDetail-CpzQMt_D.js} +7 -7
  165. package/dist/interface/ha/{Automations-BfsYh2A_.js → Automations-Dcm4Us50.js} +81 -81
  166. package/dist/interface/ha/{Camera-C70onr_O.js → Camera-CNK3QR7l.js} +198 -198
  167. package/dist/interface/ha/{CameraConsole-Dg3lV-wq.js → CameraConsole-CpcF0411.js} +5 -5
  168. package/dist/interface/ha/{Cameras-DpM6gt3G.js → Cameras-Cf9rwRyf.js} +293 -294
  169. package/dist/interface/ha/{Camview-CO_bHntH.js → Camview-BFKR2t6C.js} +87 -87
  170. package/dist/interface/ha/{Config-D-cpocuH.js → Config-1XH3zfr2.js} +11 -11
  171. package/dist/interface/ha/{ConfigActionAssistant-DVVVfVvT.js → ConfigActionAssistant-C0-NFoTB.js} +5 -5
  172. package/dist/interface/ha/{ConfigActionCameraControl-BPpzE9-F.js → ConfigActionCameraControl-DNSKZPSZ.js} +5 -5
  173. package/dist/interface/ha/{ConfigActionDelay-zU6H75hY.js → ConfigActionDelay-iZ3lPGzw.js} +1 -1
  174. package/dist/interface/ha/{ConfigActionHttp-BsNy03j4.js → ConfigActionHttp-DVJAcGkl.js} +3 -3
  175. package/dist/interface/ha/{ConfigActionImageInput-JUvNYn0w.js → ConfigActionImageInput-VVbHHHZs.js} +3 -3
  176. package/dist/interface/ha/{ConfigActionMqtt-PZqAKfTo.js → ConfigActionMqtt-N5OUJDzM.js} +4 -4
  177. package/dist/interface/ha/{ConfigActionNotification-DIL7abEm.js → ConfigActionNotification-s142tQoU.js} +6 -6
  178. package/dist/interface/ha/{ConfigActionNotificationControl-BQ2w5yeg.js → ConfigActionNotificationControl-Dh7kaKVP.js} +3 -3
  179. package/dist/interface/ha/{ConfigActionOutput-DVilKhPV.js → ConfigActionOutput-B4HHTg5C.js} +1 -1
  180. package/dist/interface/ha/{ConfigActionPlugin-BUfTEJQ_.js → ConfigActionPlugin-D20G2Dqf.js} +5 -5
  181. package/dist/interface/ha/{ConfigActionSensor-Dzp16VyX.js → ConfigActionSensor-BS3jrFaG.js} +6 -6
  182. package/dist/interface/ha/{ConfigActionSnapshot-CRjD5AMC.js → ConfigActionSnapshot-CInLAcwK.js} +3 -3
  183. package/dist/interface/ha/{ConfigActionVariable-CR8g7gEh.js → ConfigActionVariable-C5vADGNF.js} +2 -2
  184. package/dist/interface/ha/{ConfigConditionIfElse-CHoSgzXF.js → ConfigConditionIfElse-CPeWDD31.js} +4 -4
  185. package/dist/interface/ha/{ConfigConditionSensorState-Dn8_OhQe.js → ConfigConditionSensorState-BM5GmpN6.js} +6 -6
  186. package/dist/interface/ha/{ConfigConditionSwitch-Ds-nqWeU.js → ConfigConditionSwitch-Dmz9FduJ.js} +4 -4
  187. package/dist/interface/ha/{ConfigConditionTime-DWNfEluj.js → ConfigConditionTime-DF6llIJq.js} +2 -2
  188. package/dist/interface/ha/{ConfigSensorValueInput-DwXM9wP1.js → ConfigSensorValueInput-Ch5njvtv.js} +7 -7
  189. package/dist/interface/ha/{ConfigTriggerDetection-D37OkR_u.js → ConfigTriggerDetection-BR2QWNyO.js} +5 -5
  190. package/dist/interface/ha/{ConfigTriggerGeofence-EbXy_y3Q.js → ConfigTriggerGeofence-CaImOjyW.js} +9 -9
  191. package/dist/interface/ha/{ConfigTriggerMqtt-BX6uNEZy.js → ConfigTriggerMqtt-DWz1XwZQ.js} +2 -2
  192. package/dist/interface/ha/{ConfigTriggerSensor-BFGEtBVF.js → ConfigTriggerSensor-lfnhz0im.js} +3 -3
  193. package/dist/interface/ha/{ConfigTriggerSystem-fRnAgUGR.js → ConfigTriggerSystem-CwUhyFAj.js} +3 -3
  194. package/dist/interface/ha/{ConfigTriggerWebhook-DegifRdj.js → ConfigTriggerWebhook-J6Xts7GQ.js} +2 -2
  195. package/dist/interface/ha/{Console-Bo6S5psN.js → Console-BSdKFm6Y.js} +8 -8
  196. package/dist/interface/ha/{CuiAutomationRunsDialog-DXpNJqDE.js → CuiAutomationRunsDialog-BU8sympp.js} +3 -3
  197. package/dist/interface/ha/{CuiBottomSheet-DLkC2OmT.js → CuiBottomSheet-Bnp7ta7V.js} +1 -1
  198. package/dist/interface/ha/{CuiCameraRecordings-9tdkxXiT.js → CuiCameraRecordings-E-mMqKSs.js} +18 -19
  199. package/dist/interface/ha/{CuiCameraShares-BbqY_2b7.js → CuiCameraShares-DcNwd2OC.js} +8 -8
  200. package/dist/interface/ha/{CuiCameraTable-BmH1yAgl.js → CuiCameraTable-DNW9Vm_A.js} +6 -6
  201. package/dist/interface/ha/{CuiChartTable-BjBBI7Fo.js → CuiChartTable-muC7jL2H.js} +6 -6
  202. package/dist/interface/ha/{CuiConsole-By3m4UbE.js → CuiConsole-ND8bcuTg.js} +2 -2
  203. package/dist/interface/ha/{CuiDataTable-C_ndu5My.js → CuiDataTable-CN4T8DgP.js} +13 -13
  204. package/dist/interface/ha/{CuiPluginCard-BLQ1galy.js → CuiPluginCard-nIQiyQvH.js} +31 -31
  205. package/dist/interface/ha/{CuiPluginOAuthButton-BDghklSy.js → CuiPluginOAuthButton-FJ49NfUh.js} +3 -3
  206. package/dist/interface/ha/{CuiPluginTrustBadge-DolANNao.js → CuiPluginTrustBadge-D6eanMyI.js} +2 -2
  207. package/dist/interface/ha/{CuiQRCode-CcjPngXI.js → CuiQRCode-BdJzeeoE.js} +2 -2
  208. package/dist/interface/ha/{CuiSchema-D9JFf0dp.js → CuiSchema-DY0V-8xP.js} +67 -67
  209. package/dist/interface/ha/{CuiTopNavbarItem-DcUEq-4e.js → CuiTopNavbarItem-DT5pAKHp.js} +7 -8
  210. package/dist/interface/ha/{Faces-DjXHzr77.js → Faces-C_svyTrr.js} +92 -92
  211. package/dist/interface/ha/{FirstSteps-CQAP9Siw.js → FirstSteps-yS2M2cor.js} +9 -9
  212. package/dist/interface/ha/{Floorplan-DyaPzlQO.js → Floorplan-DSOeScjI.js} +194 -194
  213. package/dist/interface/ha/{Instances-DWjaU5gj.js → Instances-B4h5EKpF.js} +20 -20
  214. package/dist/interface/ha/{Logs-Dlx-X1NS.js → Logs-BH0Lxvs6.js} +12 -12
  215. package/dist/interface/ha/{Menu-iqEe01qO.js → Menu-COH7QXuE.js} +13 -13
  216. package/dist/interface/ha/{Metrics-Br2Dyvzh.js → Metrics-BtnRqL_I.js} +136 -136
  217. package/dist/interface/ha/{OAuthDeviceFlow-CIGk92FD.js → OAuthDeviceFlow-D2QJ9MnP.js} +8 -8
  218. package/dist/interface/ha/{Plugin-DklIr7j2.js → Plugin-EfUSqwyh.js} +85 -85
  219. package/dist/interface/ha/{PluginConsole-DCfxPtGU.js → PluginConsole-hh_o15f7.js} +4 -4
  220. package/dist/interface/ha/PluginDetail-DFiXGkrY.js +805 -0
  221. package/dist/interface/ha/{PluginSearch-BTKBnjxb.js → PluginSearch-Cdrfubrj.js} +54 -54
  222. package/dist/interface/ha/{PluginUpdateProgress-Dej5AcCt.js → PluginUpdateProgress-BD2g2kVj.js} +3 -3
  223. package/dist/interface/ha/{Plugins-C2fONspm.js → Plugins-qFiHW-Nk.js} +45 -45
  224. package/dist/interface/ha/{RecentEventsFilter-ylgjiDo8.js → RecentEventsFilter-UWrXnvfq.js} +1 -1
  225. package/dist/interface/ha/{Recordings-w39I43cc.js → Recordings-BzeC6tOz.js} +437 -419
  226. package/dist/interface/ha/{SensorEdit-BkKi1l-A.js → SensorEdit-BSgy7lkZ.js} +360 -360
  227. package/dist/interface/ha/{SensorHistory-BGJjMlc3.js → SensorHistory-IDvP8LKH.js} +2 -2
  228. package/dist/interface/ha/{Sensors-D_Wi9XPa.js → Sensors-Diqp4oZ0.js} +96 -97
  229. package/dist/interface/ha/{Settings-Bn7WLWf0.js → Settings-BgDsxAlx.js} +11 -11
  230. package/dist/interface/ha/{SettingsAccount-CRTex-1j.js → SettingsAccount-DBXMQPYk.js} +159 -159
  231. package/dist/interface/ha/{SettingsAppearance-B1qmJnYk.js → SettingsAppearance-VmbjnT3o.js} +6 -6
  232. package/dist/interface/ha/{SettingsAssistant-DDd1X0BC.js → SettingsAssistant-C2R4ZetE.js} +133 -133
  233. package/dist/interface/ha/{SettingsBackup-DZbhSB13.js → SettingsBackup-BqY9TwYn.js} +20 -20
  234. package/dist/interface/ha/{SettingsList-BQdyPe0H.js → SettingsList-CzHcfo2N.js} +4 -4
  235. package/dist/interface/ha/{SettingsMqtt-CSZcY6ht.js → SettingsMqtt-DqV3h3Ow.js} +149 -149
  236. package/dist/interface/ha/{SettingsNotifications-CfEhl0-y.js → SettingsNotifications-yn5fIR_7.js} +6 -6
  237. package/dist/interface/ha/{SettingsRecordings-BnAGDvcH.js → SettingsRecordings-DDs1lyfY.js} +8 -8
  238. package/dist/interface/ha/{SettingsRemote-w86TQVUA.js → SettingsRemote-jBw3l5E0.js} +172 -172
  239. package/dist/interface/ha/{SettingsSystem-CENjHL3k.js → SettingsSystem-BOv9hNlk.js} +9 -9
  240. package/dist/interface/ha/{SettingsUsers-CqSHRklV.js → SettingsUsers-Biv-2F4C.js} +90 -90
  241. package/dist/interface/ha/{Terminal-WsuxG3k-.js → Terminal-CmcrGEV0.js} +4 -4
  242. package/dist/interface/ha/Training-BEzPiXZg.js +1512 -0
  243. package/dist/interface/ha/{Updates-Dl_lLLR2.js → Updates-DJAcmDQJ.js} +12 -12
  244. package/dist/interface/ha/{VariableInput-C8Q81GUt.js → VariableInput-DlYg7t0m.js} +2 -2
  245. package/dist/interface/ha/{VersionsHandler-BOvjesvp.js → VersionsHandler-UnrAWn-b.js} +11 -11
  246. package/dist/interface/ha/{VirtualSensorCreate-sgwATaky.js → VirtualSensorCreate-CssxeaCC.js} +2 -2
  247. package/dist/interface/ha/{Workers-CkDuQ9NG.js → Workers-CLpqLugC.js} +14 -14
  248. package/dist/interface/ha/{accordion-Xem2SzgR.js → accordion-BylV-jUK.js} +2 -2
  249. package/dist/interface/ha/{api-BmYisoxj.js → api-BP7mlzjP.js} +11181 -11736
  250. package/dist/interface/ha/{api-oqpIZTkx.js → api-B_tDa73J.js} +1 -1
  251. package/dist/interface/ha/{assistant-0jE4C19U.js → assistant-Cb6ACguQ.js} +1 -1
  252. package/dist/interface/ha/{auth-B4Msg7R-.js → auth-DOYDRgFm.js} +1 -1
  253. package/dist/interface/ha/{autocomplete-B94Amei3.js → autocomplete-Cp3u2Ywa.js} +4 -4
  254. package/dist/interface/ha/{automationBlueprint-C-12Yjl7.js → automationBlueprint-CbbG_ku4.js} +1 -1
  255. package/dist/interface/ha/cameraui-cards.js +1 -1
  256. package/dist/interface/ha/{cards-BrOcoiQJ.js → cards-BpBP1zVW.js} +1206 -1198
  257. package/dist/interface/ha/{config-IG56wp6m.js → config-DroY1HBs.js} +1 -1
  258. package/dist/interface/ha/{datepicker-B4Azs5zr.js → datepicker-DXk97lTw.js} +4 -4
  259. package/dist/interface/ha/{mqtt-pl13wSmG.js → mqtt-NJTVdd53.js} +1 -1
  260. package/dist/interface/ha/{multiselect-Dp4XDBRR.js → multiselect-BOb4ScAZ.js} +4 -4
  261. package/dist/interface/ha/{notifications-B6wxSmou.js → notifications-BPTvvgvv.js} +1 -1
  262. package/dist/interface/ha/{plugins-BwwaWxye.js → plugins-B29K3nQP.js} +1 -1
  263. package/dist/interface/ha/{rooms-NIzjFYAd.js → rooms-DLw0WUy_.js} +1 -1
  264. package/dist/interface/ha/{select-UR3ZRDew.js → select-DV7p2EDj.js} +4 -4
  265. package/dist/interface/ha/{server-YOLwDVAW.js → server-B4b5_Ecu.js} +1 -1
  266. package/dist/interface/ha/{speeddial-LCbl5g8p.js → speeddial-B5p0fuqL.js} +1 -1
  267. package/dist/interface/ha/{tooltip-Z7VN-E1u.js → tooltip-BDrlgLof.js} +1 -1
  268. package/dist/interface/ha/{types-B8B9MqK0.js → types-DJHHL7nn.js} +1 -1
  269. package/dist/interface/ha/{ungrouped-DttNEB62.js → ungrouped-xyK1QrsM.js} +344 -376
  270. package/dist/interface/ha/{updates-DVhiQhMM.js → updates-XFSu9Tfm.js} +5 -5
  271. package/dist/interface/ha/{useAppVersion-CG4D44Aa.js → useAppVersion-BH3rU1zz.js} +1 -1
  272. package/dist/interface/ha/{useLogsSocket-PKsRDttg.js → useLogsSocket-CaTRzvgU.js} +1 -1
  273. package/dist/interface/ha/{useNavLayout-DoEcPx9Z.js → useNavLayout-DV0_OQx0.js} +1 -1
  274. package/dist/interface/ha/{useServerRestart-CMl589qX.js → useServerRestart-C8tynLUf.js} +1 -1
  275. package/dist/interface/ha/{useTabSwipe-Cmqdn0J5.js → useTabSwipe-CFoLDp3j.js} +1 -1
  276. package/dist/interface/ha/{useUpdateChannel-BBW2EX7N.js → useUpdateChannel-DSG2RTPe.js} +2 -2
  277. package/dist/interface/ha/{useUpdatesSocket-B6ICpKKC.js → useUpdatesSocket-CSQ0g7-6.js} +1 -1
  278. package/dist/interface/ha/{useUserOptions-CzclRfar.js → useUserOptions-CFaCy6L1.js} +1 -1
  279. package/dist/interface/ha/{virtualscroller-C5j7FXj4.js → virtualscroller-B-UQZDMJ.js} +88 -88
  280. package/dist/interface/index.html +34 -34
  281. package/dist/interface/sw.js +1 -1
  282. package/dist/server/package.json +22 -20
  283. package/dist/server/requirements.txt +1 -1
  284. package/dist/server/src/api/controllers/auth.controller.js +5 -6
  285. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  286. package/dist/server/src/api/controllers/plugins.controller.js +5 -5
  287. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  288. package/dist/server/src/api/database/checks.js +20 -8
  289. package/dist/server/src/api/database/checks.js.map +1 -1
  290. package/dist/server/src/api/database/selfcheck.js +2 -2
  291. package/dist/server/src/api/database/selfcheck.js.map +1 -1
  292. package/dist/server/src/api/index.js +8 -6
  293. package/dist/server/src/api/index.js.map +1 -1
  294. package/dist/server/src/api/plugins/logger.plugin.js +11 -11
  295. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  296. package/dist/server/src/api/services/twoFactor.service.d.ts +4 -5
  297. package/dist/server/src/api/services/twoFactor.service.js +16 -17
  298. package/dist/server/src/api/services/twoFactor.service.js.map +1 -1
  299. package/dist/server/src/api/types/index.d.ts +0 -1
  300. package/dist/server/src/api/utils/cert.js +128 -135
  301. package/dist/server/src/api/utils/cert.js.map +1 -1
  302. package/dist/server/src/api/utils/form-body.d.ts +2 -0
  303. package/dist/server/src/api/utils/form-body.js +22 -0
  304. package/dist/server/src/api/utils/form-body.js.map +1 -0
  305. package/dist/server/src/api/utils/install-logger.js +12 -12
  306. package/dist/server/src/api/utils/install-logger.js.map +1 -1
  307. package/dist/server/src/api/websocket/nsp/logs.d.ts +7 -3
  308. package/dist/server/src/api/websocket/nsp/logs.js +79 -65
  309. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  310. package/dist/server/src/assistant/history.d.ts +2 -0
  311. package/dist/server/src/assistant/history.js +46 -0
  312. package/dist/server/src/assistant/history.js.map +1 -0
  313. package/dist/server/src/assistant/manager.js +2 -1
  314. package/dist/server/src/assistant/manager.js.map +1 -1
  315. package/dist/server/src/camera/controller.d.ts +1 -0
  316. package/dist/server/src/camera/controller.js +23 -18
  317. package/dist/server/src/camera/controller.js.map +1 -1
  318. package/dist/server/src/camera/decoder/worker.d.ts +3 -0
  319. package/dist/server/src/camera/decoder/worker.js +42 -5
  320. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  321. package/dist/server/src/go2rtc/index.js +2 -2
  322. package/dist/server/src/go2rtc/index.js.map +1 -1
  323. package/dist/server/src/main.js +5 -5
  324. package/dist/server/src/main.js.map +1 -1
  325. package/dist/server/src/manager/discoveryManager.js +2 -2
  326. package/dist/server/src/manager/discoveryManager.js.map +1 -1
  327. package/dist/server/src/remote/services/cloudflare-managed.js +6 -3
  328. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
  329. package/dist/server/src/remote/services/cloudflare.d.ts +0 -1
  330. package/dist/server/src/remote/services/cloudflare.js +9 -20
  331. package/dist/server/src/remote/services/cloudflare.js.map +1 -1
  332. package/dist/server/src/remote/services/cloudflaredBinary.d.ts +3 -2
  333. package/dist/server/src/remote/services/cloudflaredBinary.js +9 -16
  334. package/dist/server/src/remote/services/cloudflaredBinary.js.map +1 -1
  335. package/dist/server/src/rpc/server.js +2 -2
  336. package/dist/server/src/rpc/server.js.map +1 -1
  337. package/dist/server/src/utils/automation-registry/index.js +3 -3
  338. package/dist/server/src/utils/automation-registry/index.js.map +1 -1
  339. package/dist/server/src/utils/colors.d.ts +2 -0
  340. package/dist/server/src/utils/colors.js +8 -0
  341. package/dist/server/src/utils/colors.js.map +1 -0
  342. package/dist/server/src/utils/npm/auth.d.ts +3 -2
  343. package/dist/server/src/utils/npm/auth.js +1 -1
  344. package/dist/server/src/utils/npm/auth.js.map +1 -1
  345. package/dist/server/src/utils/npm/index.d.ts +3 -15
  346. package/dist/server/src/utils/npm/index.js +26 -17
  347. package/dist/server/src/utils/npm/index.js.map +1 -1
  348. package/dist/server/src/utils/npm/registry.d.ts +69 -0
  349. package/dist/server/src/utils/npm/registry.js +240 -0
  350. package/dist/server/src/utils/npm/registry.js.map +1 -0
  351. package/dist/server/src/utils/plugin-registry/index.js +3 -3
  352. package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
  353. package/dist/server/src/utils/process.d.ts +10 -0
  354. package/dist/server/src/utils/process.js +112 -0
  355. package/dist/server/src/utils/process.js.map +1 -0
  356. package/dist/server/src/utils/totp.d.ts +12 -0
  357. package/dist/server/src/utils/totp.js +71 -0
  358. package/dist/server/src/utils/totp.js.map +1 -0
  359. package/dist/server/src/utils/ttl-cache.d.ts +20 -0
  360. package/dist/server/src/utils/ttl-cache.js +63 -0
  361. package/dist/server/src/utils/ttl-cache.js.map +1 -0
  362. package/npm-shrinkwrap.json +6427 -0
  363. package/package.json +22 -20
  364. package/dist/interface/assets/Assistant-BKxssfw-.js +0 -1
  365. package/dist/interface/assets/Automation-CP59cgP7.js +0 -3
  366. package/dist/interface/assets/AutomationStore-BZGR_5Xl.js +0 -2
  367. package/dist/interface/assets/Automations-BpXorYAS.js +0 -2
  368. package/dist/interface/assets/Camera-UBUfaR5a.js +0 -2
  369. package/dist/interface/assets/Cameras-B21Y8MdQ.js +0 -651
  370. package/dist/interface/assets/Camview-BySyPtU5.js +0 -1
  371. package/dist/interface/assets/Config-BGyGmukb.js +0 -2
  372. package/dist/interface/assets/ConfigTriggerGeofence-CkzTFEZn.js +0 -1
  373. package/dist/interface/assets/Console-HXmKYaK_.js +0 -1
  374. package/dist/interface/assets/CuiAssistantConversation-2qrRCsgw.js +0 -5
  375. package/dist/interface/assets/CuiAssistantConversation-DmSdiv1b.css +0 -1
  376. package/dist/interface/assets/CuiBottomSheet-CTr-KHC8.js +0 -1
  377. package/dist/interface/assets/CuiCameraPipCard-BZCayhy_.js +0 -1
  378. package/dist/interface/assets/CuiCameraRecordings-BbaEL2ST.js +0 -1
  379. package/dist/interface/assets/CuiCameraTable-C5tQHs63.js +0 -1
  380. package/dist/interface/assets/CuiLightControl-v6k9hVGl.js +0 -1
  381. package/dist/interface/assets/CuiPluginCard-5MRYJcF2.js +0 -2
  382. package/dist/interface/assets/CuiSchema-BDXeXora.js +0 -1
  383. package/dist/interface/assets/CuiTopNavbarItem-BVknLbRO.js +0 -1
  384. package/dist/interface/assets/Faces-BEpYvbB0.js +0 -1
  385. package/dist/interface/assets/FirstSteps-U93RDOcP.js +0 -1
  386. package/dist/interface/assets/Floorplan-D8XoCNOB.js +0 -1
  387. package/dist/interface/assets/Instances-CFwZotvU.js +0 -1
  388. package/dist/interface/assets/Metrics-Ca_d5CbP.js +0 -12
  389. package/dist/interface/assets/Plugin-BjLw46Sw.js +0 -1
  390. package/dist/interface/assets/PluginDetail-BuLW4lkN.js +0 -2
  391. package/dist/interface/assets/PluginSearch--LLMEeyx.js +0 -2
  392. package/dist/interface/assets/PluginSearch-0akjE0ef.js +0 -1
  393. package/dist/interface/assets/Plugins-26O511gf.js +0 -1
  394. package/dist/interface/assets/Recordings-DQOGeSFm.js +0 -1
  395. package/dist/interface/assets/SensorEdit-DEW5D80x.js +0 -1
  396. package/dist/interface/assets/Sensors-C8yOyAwo.js +0 -2
  397. package/dist/interface/assets/Settings-B-RgMeVm.js +0 -1
  398. package/dist/interface/assets/SettingsAccount-B6aXFx3F.js +0 -1
  399. package/dist/interface/assets/SettingsAccount-_0ccrXYU.js +0 -1
  400. package/dist/interface/assets/SettingsAppearance-CkDwzx6f.js +0 -1
  401. package/dist/interface/assets/SettingsAppearance-DBFE3uVH.js +0 -1
  402. package/dist/interface/assets/SettingsAssistant-DN5OUJqt.js +0 -1
  403. package/dist/interface/assets/SettingsMqtt-hsKZkU-o.js +0 -1
  404. package/dist/interface/assets/SettingsNotifications-DIeiUEAk.js +0 -1
  405. package/dist/interface/assets/SettingsRemote-Doa0aBMC.js +0 -2
  406. package/dist/interface/assets/Training-DYlefOX1.js +0 -1
  407. package/dist/interface/assets/Workers-CUVvTuts.js +0 -2
  408. package/dist/interface/assets/api-B0wYDGQj.css +0 -2
  409. package/dist/interface/assets/api-BNrZVfeD.js +0 -4
  410. package/dist/interface/assets/cloudHandoff-Dnndt2el.js +0 -1
  411. package/dist/interface/assets/main-CRlC4FBY.js +0 -3
  412. package/dist/interface/assets/mqtt-BY6-Hrbv.js +0 -1
  413. package/dist/interface/assets/ring-resize-DyqCo2UN.js +0 -1
  414. package/dist/interface/assets/rooms-BHP4q6yf.js +0 -1
  415. package/dist/interface/assets/ungrouped-DBRZ-Ori.css +0 -1
  416. package/dist/interface/assets/ungrouped-DHLAmt__.js +0 -1
  417. package/dist/interface/assets/useBackupRestore-Dj-ZXODq.js +0 -1
  418. package/dist/interface/ha/PluginDetail-BFfRnkdG.js +0 -230
  419. package/dist/interface/ha/Training-hu_XOYBk.js +0 -1505
  420. package/dist/interface/ha/ring-resize-Dr2PxWIg.js +0 -16
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/server",
3
- "version": "2.2.5-beta.2",
3
+ "version": "2.2.5-beta.4",
4
4
  "description": "camera.ui server",
5
5
  "author": "seydx (https://github.com/cameraui/camera.ui)",
6
6
  "type": "module",
@@ -13,7 +13,6 @@
13
13
  },
14
14
  "allowScripts": {
15
15
  "@scrypted/node-pty": true,
16
- "cloudflared": true,
17
16
  "fsevents": true,
18
17
  "lmdb": true,
19
18
  "msgpackr-extract": true,
@@ -32,11 +31,14 @@
32
31
  "lint": "eslint --fix . && ruff check --fix && mypy --config-file ./mypy.ini src",
33
32
  "update": "updates -M npm,pypi,go,cargo,docker,make --update ./ && cupdate",
34
33
  "prepublishOnly": "npm i --package-lock-only && npm --prefix .. run check:sensors && npm run lint && npm run format && npm run build && npm --prefix ../ui run lint && npm --prefix ../ui run format && npm --prefix ../ui run build",
34
+ "prepack": "node ../scripts/shrinkwrap.mjs create",
35
+ "postpack": "node ../scripts/shrinkwrap.mjs cleanup",
35
36
  "publish:dev": "npm publish --tag dev"
36
37
  },
37
38
  "dependencies": {
38
39
  "@bjia56/portable-python": "^0.1.166",
39
- "@camera.ui/common": "~0.0.57",
40
+ "@camera.ui/cloudflared": "^2026.9.1-cui.1",
41
+ "@camera.ui/common": "~0.0.58-beta.2",
40
42
  "@camera.ui/go2rtc": "^1.9.14-cui.45",
41
43
  "@camera.ui/nats": "^2.15.0",
42
44
  "@camera.ui/rpc": "^1.0.12",
@@ -46,7 +48,6 @@
46
48
  "@camera.ui/tunnel": "^1.0.4",
47
49
  "@eneris/push-receiver": "^4.3.1",
48
50
  "@fastify/cors": "^11.3.0",
49
- "@fastify/formbody": "^9.0.0",
50
51
  "@fastify/helmet": "^13.1.1",
51
52
  "@fastify/http-proxy": "^11.6.2",
52
53
  "@fastify/multipart": "^10.1.1",
@@ -54,8 +55,10 @@
54
55
  "@fastify/swagger": "^9.8.1",
55
56
  "@fastify/swagger-ui": "^6.1.1",
56
57
  "@homebridge/ciao": "npm:@seydx/ciao@1.3.10",
57
- "@isaacs/ttlcache": "^2.1.5",
58
58
  "@modelcontextprotocol/sdk": "1.30.0",
59
+ "@peculiar/asn1-schema": "^2.9.4",
60
+ "@peculiar/asn1-x509": "^2.9.4",
61
+ "@peculiar/x509": "1.14.3",
59
62
  "@scrypted/node-pty": "^1.0.25",
60
63
  "@tanstack/ai": "^0.55.0",
61
64
  "@tanstack/ai-anthropic": "^0.18.7",
@@ -69,32 +72,22 @@
69
72
  "@tanstack/ai-skills": "^0.1.4",
70
73
  "adm-zip": "^0.6.1",
71
74
  "aedes": "^1.2.0",
72
- "ansicolor": "^2.0.3",
73
- "cloudflared": "^0.7.3",
74
75
  "croner": "^10.0.1",
75
76
  "fastify": "^5.12.5",
76
77
  "fastify-plugin": "^6.0.0",
77
78
  "fastify-type-provider-zod": "7.0.0",
78
- "fkill": "^10.0.3",
79
79
  "fs-extra": "^11.4.0",
80
80
  "js-yaml": "^5.4.2",
81
81
  "jsonwebtoken": "^9.0.3",
82
82
  "lmdb": "^3.5.6",
83
83
  "mqtt": "^5.16.0",
84
84
  "msgpackr": "^2.1.0",
85
- "node-av": "^6.2.0-beta.23",
86
- "node-forge": "^1.4.0",
87
- "npm-registry-fetch": "^20.0.1",
88
- "otplib": "^13.5.0",
89
- "pacote": "^22.0.0",
90
- "ps-list": "^9.0.0",
91
- "qrcode": "^1.5.4",
85
+ "node-av": "^6.2.0-beta.24",
92
86
  "qs": "^6.16.0",
93
87
  "reflect-metadata": "^0.2.2",
94
88
  "semver": "^7.8.5",
95
89
  "socket.io": "^4.8.3",
96
- "systeminformation": "^5.33.11",
97
- "tail": "^2.2.6",
90
+ "systeminformation": "^5.33.12",
98
91
  "tar": "^7.5.22",
99
92
  "tsyringe": "^4.10.0",
100
93
  "undici": "^8.10.2",
@@ -103,6 +96,8 @@
103
96
  "zod": "4.6.5"
104
97
  },
105
98
  "devDependencies": {
99
+ "@fastify/formbody": "^9.0.0",
100
+ "@isaacs/ttlcache": "^2.1.5",
106
101
  "@stylistic/eslint-plugin": "^5.10.0",
107
102
  "@types/adm-zip": "^0.5.8",
108
103
  "@types/fs-extra": "^11.0.4",
@@ -111,21 +106,28 @@
111
106
  "@types/node-forge": "^1.3.14",
112
107
  "@types/npm-registry-fetch": "^8.0.9",
113
108
  "@types/pacote": "^11.1.8",
114
- "@types/qrcode": "^1.5.6",
115
109
  "@types/qs": "^6.15.1",
116
110
  "@types/semver": "^7.8.0",
117
111
  "@types/tail": "^2.2.3",
118
112
  "@types/ws": "^8.18.1",
119
113
  "@typescript-eslint/parser": "^8.70.0",
114
+ "ansicolor": "^2.0.3",
120
115
  "cpy-cli": "^7.0.0",
121
116
  "cross-env": "^10.1.0",
122
117
  "eslint": "9.39.2",
118
+ "fkill": "^10.0.3",
123
119
  "globals": "^17.12.0",
124
- "prettier": "^3.9.7",
120
+ "node-forge": "^1.4.0",
121
+ "npm-registry-fetch": "^20.0.1",
122
+ "otplib": "^13.5.0",
123
+ "pacote": "^22.0.0",
124
+ "prettier": "^3.9.8",
125
+ "ps-list": "^9.0.0",
125
126
  "rimraf": "^6.1.3",
127
+ "tail": "^2.2.6",
126
128
  "typescript": "5.9.3",
127
129
  "typescript-eslint": "^8.70.0",
128
- "updates": "^18.1.0",
130
+ "updates": "^18.1.1",
129
131
  "vitest": "^5.0.1"
130
132
  },
131
133
  "overrides": {
@@ -1 +0,0 @@
1
- import{Bt as e,It as t,Kt as n,L as r,Vr as i,Yr as a}from"./vendor-cameraui-BbGOMenD.js";import{An as o,Fn as s,Pn as c,U as l,_ as u,gr as d,m as f,st as p,z as m}from"./api-BNrZVfeD.js";import{$n as h,Cr as g,In as _,Jn as v,On as y,Pn as b,Rn as x,Sr as S,Xn as C,an as ee,br as te,cn as w,dn as T,dr as E,er as D,gn as O,hn as k,ln as A,nn as ne,or as re,rn as j,sn as M,sr as N,un as P,vn as F,yr as I}from"./vendor-DGke_6M4.js";import{i as L}from"./alert-outline-D7zaSJH_.js";import{l as ie,p as ae,u as oe}from"./vendor-core-tgH2YubJ.js";import{F as R,P as se}from"./vendor-primevue-DNJJiEZl.js";import{i as ce,t as le}from"./assistant-BEe1ExZL.js";import{t as ue}from"./CuiAssistantConversation-2qrRCsgw.js";import{t as de}from"./plus--kDl8ben.js";import{t as fe}from"./history-CNJREqJG.js";import{t as z}from"./search-BXbDWhLk.js";import{t as pe}from"./back-filled-BPBVnQjx.js";var me={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function he(e,t){return _(),T(`svg`,me,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m0 14H9V6h11Z`},null,-1)]])}var ge=N({name:`mdi-dock-left`,render:he}),_e={class:`flex items-center gap-2 px-3 pt-3 pb-1`},B={class:`pl-1 text-sm font-semibold text-color`},V={key:0,class:`flex justify-center py-6`},H={key:1,class:`px-4 py-6 text-[13px] text-muted`},U={key:2,class:`flex min-h-0 flex-1 flex-col overflow-y-auto px-2 pb-3`},W={class:`cui-assistant-group px-2 pt-3.5 pb-1 text-[11.5px] font-medium text-muted`},G=[`onClick`],K={class:`min-w-0 flex-1 truncate`},q={key:3,class:`cui-assistant-sidebar-foot px-3 py-2`},ve=o(F({__name:`CuiAssistantSidebar`,props:{threads:{},activeId:{},isOpen:{type:Boolean},isOverlay:{type:Boolean},loading:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0}},emits:[`select`,`create`,`delete`,`deleteAll`,`close`],setup(i,{emit:o}){let c=i,l=o,{topbarOffset:u,bottombarHeight:d}=s(),f=v(`sidebarRef`),p=E(``),y=M(()=>c.isOpen?288:0),b=M(()=>{let e=p.value.trim().toLowerCase(),t=c.threads.filter(t=>!e||t.title.toLowerCase().includes(e)).sort((e,t)=>t.updatedAt-e.updatedAt),n=[`today`,`yesterday`,`week`,`month`,`older`],r=new Map;for(let e of t){let t=C(e.updatedAt);r.set(t,[...r.get(t)??[],e])}return n.filter(e=>r.has(e)).map(e=>({key:e,threads:r.get(e)}))});function C(e){let t=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),n=Math.round((t(new Date)-t(new Date(e)))/864e5);return n<=0?`today`:n===1?`yesterday`:n<=7?`week`:n<=30?`month`:`older`}return a(f,e=>{c.isOpen&&c.isOverlay&&(e.target.closest(`#assistant-sidebar-toggle`)||l(`close`))}),(a,o)=>{let s=ge,c=e,v=de,C=z,ee=se,E=r,M=R,N=t,F=m,L=n;return _(),T(`nav`,{ref_key:`sidebarRef`,ref:f,class:`cui-assistant-sidebar fixed transition-all duration-200 overflow-hidden md:!pl-0 pl-safe pb-safe flex flex-col z-4`,style:S({width:`${I(y)}px`,borderRightWidth:i.isOpen?`1px`:`0px`,paddingBottom:`calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom) + ${I(d)}px + ${I(u)}px)`})},[w(`div`,{class:`flex h-full min-h-0 flex-col`,style:S({width:`${I(288)}px`})},[w(`div`,_e,[w(`span`,B,g(a.$t(`views.assistant.conversations`)),1),i.collapsible?D((_(),A(c,{key:0,type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md ml-auto shrink-0`,onClick:o[0]||=e=>l(`close`)},{icon:h(()=>[O(s,{width:`100%`,height:`100%`})]),_:1})),[[L,{value:a.$t(`views.assistant.hide_sidebar`)},void 0,{bottom:!0}]]):P(``,!0)]),w(`button`,{type:`button`,class:`cui-assistant-new mx-3 my-2 flex cursor-pointer items-center gap-2 rounded-[10px] px-3 py-2 text-sm font-medium text-color`,onClick:o[1]||=e=>l(`create`)},[O(v,{class:`w-4 h-4 text-primary`}),k(` `+g(a.$t(`views.assistant.new_conversation`)),1)]),O(M,{class:`mx-3 mb-1`},{default:h(()=>[O(ee,null,{default:h(()=>[O(C,{class:`w-4 h-4`})]),_:1}),O(E,{modelValue:I(p),"onUpdate:modelValue":o[2]||=e=>re(p)?p.value=e:null,placeholder:a.$t(`views.assistant.search_placeholder`),class:`cui-assistant-search w-full text-sm`},null,8,[`modelValue`,`placeholder`])]),_:1}),i.loading?(_(),T(`div`,V,[O(N,{class:`w-[24px] h-[24px] m-0`,"stroke-width":`5`})])):I(b).length?(_(),T(`div`,U,[(_(!0),T(j,null,x(I(b),e=>(_(),T(j,{key:e.key},[w(`span`,W,g(a.$t(`views.assistant.group_${e.key}`)),1),(_(!0),T(j,null,x(e.threads,e=>(_(),T(`div`,{key:e.id,class:te([`cui-assistant-item group relative flex items-center gap-2 rounded-md py-1.5 pl-3 pr-2 text-[13.5px] cursor-pointer select-none`,{active:e.id===i.activeId}]),onClick:t=>l(`select`,e.id)},[w(`span`,K,g(e.title),1),D((_(),A(c,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-assistant-item-delete cui-icon-sm shrink-0 opacity-0 group-hover:opacity-100 focus:opacity-100`,onClick:ne(t=>l(`delete`,e.id),[`stop`])},{icon:h(()=>[O(F,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[L,{value:a.$t(`views.assistant.delete_conversation`)},void 0,{left:!0}]])],10,G))),128))],64))),128))])):(_(),T(`div`,H,g(I(p)?a.$t(`views.assistant.no_matches`):a.$t(`views.assistant.no_conversations`)),1)),i.threads.length?(_(),T(`div`,q,[O(c,{type:`button`,severity:`danger`,text:``,class:`cui-button-small w-full`,label:a.$t(`views.assistant.delete_all_conversations`),onClick:o[3]||=e=>l(`deleteAll`)},null,8,[`label`])])):P(``,!0)],4)],4)}}}),[[`__scopeId`,`data-v-90cac378`]]),ye={class:`font-semibold text-xl truncate`},be={class:`w-full h-full relative`},xe={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10`},Se={class:`relative z-2 page-title !m-0`},Ce={key:1,class:`relative z-2 ml-3 truncate text-[13.5px] text-muted max-w-[46ch]`},we={key:1,class:`fixed right-0 z-10 h-[calc(40px+1rem)] py-2 pr-2 flex items-center`},Te={key:0,class:`flex flex-1 items-center justify-center`},Ee={key:1,class:`flex flex-1 flex-col items-center justify-center gap-5 px-6 text-center`},De={class:`cui-assistant-hero-icon flex h-16 w-16 items-center justify-center rounded-full`},Oe={class:`max-w-md`},ke={class:`text-lg font-semibold text-color`},Ae={class:`mt-1 text-sm text-muted`},J=o(F({__name:`Assistant`,setup(r){let a=new le,o=ie(),s=oe(),{t:m}=i(),{smBreakpoint:x,mdBreakpoint:k,xlBreakpoint:ne}=c(),{openTextDialog:re}=p(),j=d(`/notifications`),N=u(),{user:F}=ae(N),{data:R,isLoading:se}=a.getAssistantInfoQuery(),{data:z,isLoading:me}=a.listThreadsQuery(),he=a.deleteThreadMutation(),_e=a.deleteAllThreadsMutation(),B=v(`conversationRef`),V=E(Ie()),H=E([]),U=E({}),W=E(typeof o.query.prompt==`string`?o.query.prompt:void 0),G=E(!1),K=E(ne.value?`opened`:`closed`),q=E(!1),J=M(()=>R.value?.status.state??`disabled`),je=M(()=>F.value?.role===`admin`||F.value?.role===`master`),Me=M(()=>(R.value?.tools??[]).filter(e=>e.approval)),Y=M(()=>K.value===`opened`),Ne=M(()=>z.value?.find(e=>e.id===V.value)?.title??``),X=M(()=>k.value),Pe=M(()=>k.value||J.value!==`ready`?`0px`:Y.value?`288px`:`0px`),Fe=M(()=>[m(`views.assistant.suggestion_today`),m(`views.assistant.suggestion_week`),m(`views.assistant.suggestion_offline`),m(`views.assistant.suggestion_sensors`),m(`views.assistant.suggestion_tools`)]);function Ie(){return f()}function Le(){K.value=K.value===`opened`?`closed`:`opened`}function Z(){K.value=`closed`}function Q(){H.value=[],U.value={},W.value=void 0,V.value=Ie(),X.value&&Z()}async function $(e){if(X.value&&Z(),e!==V.value){G.value=!0;try{let t=await ce(e);H.value=t.messages,U.value=t.attachments,W.value=void 0,V.value=e}finally{G.value=!1}}}async function Re(e){await he.mutateAsync(e).catch(()=>void 0),e===V.value&&Q()}async function ze(e){H.value=e.messages,U.value=e.attachments,W.value=void 0,V.value=e._id,await a.queryClient.refetchQueries({queryKey:[`assistant`,`threads`],exact:!0})}function Be(){re({data:{title:m(`views.assistant.delete_all_conversations`),contentText:m(`views.assistant.delete_all_confirm`),confirmText:m(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{await _e.mutateAsync(),Q()}})}async function Ve(e){try{await $(e)}catch{V.value=e}}async function He(){await a.queryClient.refetchQueries({queryKey:[`assistant`,`threads`],exact:!0})}async function Ue(e){if(await a.queryClient.refetchQueries({queryKey:[`assistant`,`threads`],exact:!0}),e.threadId!==V.value)return;let t=await ce(e.threadId).catch(()=>void 0);t&&B.value?.refreshFromStore(t)}function We(){let e=z.value?.some(e=>e.id===V.value),t={...o.query,thread:e?V.value:void 0};t.thread!==o.query.thread&&s.replace({query:t})}return C([V,z],We),b(async()=>{j.on(`assistant-thread`,e=>Ue(e));let e=typeof o.query.thread==`string`?o.query.thread:void 0;o.query.prompt!==void 0&&s.replace({query:{...o.query,prompt:void 0}}),e&&!W.value&&await Ve(e),await y(),q.value=!0}),(r,i)=>{let a=l,o=pe,s=e,c=fe,u=de,d=ve,f=ge,p=t,m=L,v=ue,y=n;return _(),T(`div`,null,[O(a,{position:`center`},{default:h(()=>[w(`span`,ye,g(r.$t(`views.assistant.title`)),1)]),_:1}),O(a,{position:`left`},{default:h(()=>[O(s,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:i[0]||=e=>r.$router.push(`/menu`)},{icon:h(()=>[O(o,{class:`w-6 h-6`})]),_:1}),O(s,{id:`assistant-sidebar-toggle`,severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,onClick:Le},{icon:h(()=>[O(c,{width:`100%`,height:`100%`})]),_:1})]),_:1}),O(a,{position:`right`},{default:h(()=>[O(s,{severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,disabled:I(J)!==`ready`,onClick:Q},{icon:h(()=>[O(u,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])]),_:1}),I(J)===`ready`?(_(),A(d,{key:0,threads:I(z)??[],"active-id":I(V),loading:I(me),"is-open":I(Y),"is-overlay":I(X),onSelect:$,onCreate:Q,onDelete:Re,onDeleteAll:Be,onClose:Z},null,8,[`threads`,`active-id`,`loading`,`is-open`,`is-overlay`])):P(``,!0),(_(),A(ee,{to:`#container`,defer:``},[I(Y)&&I(X)?(_(),T(`div`,{key:0,class:`fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1`,onClick:Z})):P(``,!0)])),w(`main`,{class:`relative w-full h-full`,style:S({paddingLeft:I(Pe),transition:I(q)?`padding-left 200ms`:void 0})},[w(`div`,be,[I(x)?P(``,!0):(_(),T(`div`,xe,[i[3]||=w(`div`,{class:`ml-2`},null,-1),!I(Y)&&I(J)===`ready`?D((_(),A(s,{key:0,id:`assistant-sidebar-toggle`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:Le},{icon:h(()=>[O(f,{width:`100%`,height:`100%`})]),_:1})),[[y,{value:r.$t(`views.assistant.show_sidebar`)},void 0,{bottom:!0}]]):P(``,!0),w(`h1`,Se,g(r.$t(`views.assistant.title`)),1),I(Ne)?(_(),T(`span`,Ce,g(I(Ne)),1)):P(``,!0),i[4]||=w(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[w(`div`),w(`div`),w(`div`),w(`div`),w(`div`),w(`div`)],-1)])),!I(x)&&I(J)===`ready`?(_(),T(`div`,we,[D((_(),A(s,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg relative z-2`,onClick:Q},{icon:h(()=>[O(u,{width:`100%`,height:`100%`})]),_:1})),[[y,{value:r.$t(`views.assistant.new_conversation`)},void 0,{bottom:!0}]])])):P(``,!0),w(`div`,{class:te([`h-full w-full flex flex-col`,{"pt-2":I(x),"pt-[calc(40px+2rem)]":!I(x)}])},[I(se)||I(G)?(_(),T(`div`,Te,[O(p,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):I(J)===`ready`?(_(),A(v,{ref_key:`conversationRef`,ref:B,key:I(V),"thread-id":I(V),"initial-messages":I(H),"initial-attachments":I(U),"initial-prompt":I(W),suggestions:I(Fe),"approval-tools":I(Me),tools:I(R)?.tools??[],class:`flex-1 min-h-0`,onFinished:He,onBranched:ze,onEmptied:i[2]||=e=>Re(I(V))},null,8,[`thread-id`,`initial-messages`,`initial-attachments`,`initial-prompt`,`suggestions`,`approval-tools`,`tools`])):(_(),T(`div`,Ee,[w(`div`,De,[O(m,{class:`w-8 h-8 text-muted`})]),w(`div`,Oe,[w(`div`,ke,g(r.$t(I(J)===`disabled`?`views.assistant.disabled_title`:`views.assistant.unconfigured_title`)),1),w(`div`,Ae,g(r.$t(I(je)?`views.assistant.setup_hint_admin`:`views.assistant.setup_hint_user`)),1)]),I(je)?(_(),A(s,{key:0,class:`cui-button-medium`,label:r.$t(`views.assistant.open_settings`),onClick:i[1]||=e=>r.$router.push(`/settings/assistant`)},null,8,[`label`])):P(``,!0)]))],2)])],4)])}}}),[[`__scopeId`,`data-v-cbdd85ad`]]);export{J as default};
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ConfigTriggerDetection-Byd6SLGg.js","./vendor-cameraui-BbGOMenD.js","./rolldown-runtime-C0FnF6B9.js","./vendor-DGke_6M4.js","./vendor-primevue-DNJJiEZl.js","./eventLabels-BsPoPWS9.js","./useCameraOptions-Dt2J8sP_.js","./api-BNrZVfeD.js","./intercomService-Du8V_HxF.js","./vendor-zod-CBbC1rE7.js","./types-CNLAvgyw.js","./alert-outline-D7zaSJH_.js","./eventIcons-cdzqQc0W.js","./vendor-core-tgH2YubJ.js","./vendor-dnd-CEJS9JKU.js","./close-BbEPZQqa.js","./vendor-draggabilly-BY7O1F_Z.js","./api-B0wYDGQj.css","./ConfigTriggerSensor-BCqAiPu4.js","./ConfigTriggerSchedule-DAZo1PLj.js","./ConfigTriggerWebhook-DDsnpwJr.js","./information-outline-Blt4EtWJ.js","./copy-DsmMEtSH.js","./ConfigTriggerMqtt-B_aUDBu4.js","./mqtt-BY6-Hrbv.js","./ConfigTriggerSystem-DuBydCiq.js","./plugins-DKtX7zQp.js","./ConfigTriggerManual-B2dWcFrl.js","./ConfigTriggerGeofence-CkzTFEZn.js","./useUserOptions-CJjImz8V.js","./vendor-leaflet-DkAk6mAj.js","./vendor-leaflet-vh-t_kPv.css","./ConfigActionSnapshot-DjR-Z08N.js","./ConfigActionSensor-BgD_F-hD.js","./variable-CcE0ZwTr.js","./ConfigSensorValueInput-BUHapx4M.js","./VariableInput-DhusSZPw.js","./flowSchema-rzBroL0H.js","./ConfigActionNotification-Cr4xJrZp.js","./notifications-CN6eTJb_.js","./VariableSuggestions-Bkzz4Mv3.js","./upload-B-ZYPekV.js","./ConfigActionNotificationControl-Cxkb_g8p.js","./ConfigActionAssistant-Cl_kr3hp.js","./assistant-BEe1ExZL.js","./ConfigActionHttp-DnkZTP5l.js","./delete-CY8fsIW6.js","./ConfigActionMqtt-BTsFTLgm.js","./ConfigActionDelay-DtPgmqWh.js","./ConfigActionVariable-gPuPbjpm.js","./ConfigActionPlugin-BpcJepbD.js","./CuiSchema-BDXeXora.js","./theme-Bi7qdjBK.js","./CuiSchema-BYYeh269.css","./automations-BBIBV4Uu.js","./ConfigActionImageInput-3svn6YP9.js","./ConfigActionOutput-WTr7FGf_.js","./ConfigActionCameraControl-CL4vXcNe.js","./types-DuwD8xp5.js","./ConfigConditionIfElse-CUHKJmPx.js","./nodeDefinitions-Dop49tx8.js","./clock-outline-CKTiLKoR.js","./source-branch-oyzrlfCD.js","./webhook-oVbP79Yk.js","./ConfigConditionSwitch-BRf1T5tJ.js","./ConfigConditionSensorState-D-gPRqMu.js","./ConfigConditionTime-BC0n6sWO.js","./CuiAutomationRunsDialog-C_sMg7E1.js","./chevron-down-ZYTrU871.js","./history-CNJREqJG.js"])))=>i.map(i=>d[i]);
2
- import{Bt as e,It as t,Kt as n,L as r,Vr as i,gt as a,q as o,rr as s}from"./vendor-cameraui-BbGOMenD.js";import{An as c,Dr as l,En as u,Fn as d,Pn as f,U as p,bn as m,ct as h,h as g,mn as _,nn as v,st as ee}from"./api-BNrZVfeD.js";import{$n as y,Cr as b,Dn as te,Fn as x,Hn as S,Ht as C,In as w,Jn as ne,Pn as re,Rn as T,Sr as E,Tn as D,Xn as ie,br as O,cn as k,dn as A,dr as j,er as M,gn as N,hn as P,ln as F,mr as I,nn as L,or as ae,pn as oe,rn as R,sn as z,sr as B,un as V,vn as H,vr as se,yr as U,zn as ce}from"./vendor-DGke_6M4.js";import{l as le,p as ue,s as de,u as fe}from"./vendor-core-tgH2YubJ.js";import{D as pe,E as W,K as G,O as K,_ as me,k as he,o as ge,z as _e}from"./vendor-primevue-DNJJiEZl.js";import{t as ve}from"./close-BbEPZQqa.js";import{t as q}from"./history-CNJREqJG.js";import{t as ye}from"./automations-BBIBV4Uu.js";import{n as J,t as Y}from"./nodeDefinitions-Dop49tx8.js";import{a as be,r as xe}from"./flowSchema-rzBroL0H.js";import{t as Se}from"./useCameraOptions-Dt2J8sP_.js";import{r as Ce}from"./types-DuwD8xp5.js";import{t as we}from"./CuiBottomSheet-D_0LrjA_.js";import{i as Te}from"./automationBlueprint-D0F9AHk9.js";import{t as Ee}from"./back-filled-BPBVnQjx.js";import{i as De,n as Oe,r as ke,t as Ae}from"./undo-Dcf7vcsv.js";import{t as je}from"./plus-CHPYoMO_.js";import{a as Me,c as Ne,i as X,n as Pe,o as Z,r as Fe,s as Ie,t as Le}from"./vendor-vueflow-Bmwd2les.js";import{t as Re}from"./settings-Cw63SIJl.js";var ze={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Be(e,t){return w(),A(`svg`,ze,[...t[0]||=[k(`path`,{fill:`currentColor`,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`},null,-1)]])}var Ve=B({name:`carbon-share`,render:Be}),He={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function Ue(e,t){return w(),A(`svg`,He,[...t[0]||=[k(`path`,{fill:`currentColor`,d:`M12 12h2v12h-2zm6 0h2v12h-2z`},null,-1),k(`path`,{fill:`currentColor`,d:`M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6Zm4 22V8h16v20Zm4-26h8v2h-8z`},null,-1)]])}var We=B({name:`carbon-trash-can`,render:Ue});function Ge(e){return`case-${encodeURIComponent(e)}`}var Ke=[`id`,`d`],qe=24,Je=H({__name:`DeletableEdge`,props:{id:{},sourceNode:{},targetNode:{},source:{},target:{},type:{},label:{type:[String,Object,Function]},style:{},selected:{type:Boolean},sourcePosition:{},targetPosition:{},sourceHandleId:{},targetHandleId:{},animated:{type:Boolean},updatable:{type:Boolean},markerStart:{},markerEnd:{},curvature:{},interactionWidth:{},data:{},events:{},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{},sourceX:{},sourceY:{},targetX:{},targetY:{}},setup(e){let t=e,{removeEdges:n}=Ne(),r=z(()=>Ie({sourceX:t.sourceX,sourceY:t.sourceY,sourcePosition:t.sourcePosition,targetX:t.targetX,targetY:t.targetY,targetPosition:t.targetPosition})),i=z(()=>r.value[0]),a=z(()=>r.value[1]),o=z(()=>r.value[2]),s=z(()=>{let e=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);return e.setAttribute(`d`,i.value),e.getTotalLength()}),c=z(()=>{let e=s.value;if(e<=0)return{stroke:`var(--text-muted-color)`,strokeWidth:2,fill:`none`};let t=e/2,n=qe/2;return{stroke:`var(--text-muted-color)`,strokeWidth:2,fill:`none`,strokeDasharray:`${Math.max(0,t-n)} ${qe} ${Math.max(0,e-t-n)}`}});function l(){n([t.id])}return(t,n)=>{let r=ve;return w(),A(R,null,[k(`path`,{id:e.id,d:U(i),style:E(U(c)),class:`vue-flow__edge-path`},null,12,Ke),N(U(Me),null,{default:y(()=>[k(`div`,{class:`automation-edge-button nodrag nopan`,style:E({pointerEvents:`all`,position:`absolute`,transform:`translate(-50%, -50%) translate(${U(a)}px, ${U(o)}px)`})},[k(`button`,{class:`automation-edge-delete`,onClick:L(l,[`stop`])},[N(r,{class:`w-3 h-3`})])],4)]),_:1})],64)}}}),Ye={"trigger-detection":[`cameraId`],"trigger-sensor":[`sensorId`],"trigger-schedule":[`cron`],"trigger-mqtt":[`topic`],"trigger-system":[`eventType`],"condition-switch":[`variable`],"condition-ifelse":[`leftOperand`,`operator`],"condition-sensorstate":[`sensorId`],"condition-time":[`startTime`,`endTime`],"action-snapshot":[`cameraId`],"action-sensor":[`sensorId`],"action-notification":[`title`],"action-assistant":[`user`,`prompt`],"action-http":[`url`],"action-mqtt":[`topic`],"action-variable":[`variableName`],"action-plugin":[`pluginName`,`method`],"action-camera-control":[`cameraId`],"action-image-input":[`source`]},Xe=new Set([`http`,`mqtt`,`webhook`,`sensor`,`system`,`repeat`,`previous`,`plugin`,`camera`,`geo`,`event`]),Ze=new Set([`time.now`,`flow.startMs`,`snapshot`,`snapshot.base64`,`output`]);function Qe(e){if(!e)return[];let t=[],n=e.nodes,r=e.edges,i=n.filter(e=>e.type?.startsWith(`trigger-`));i.length===0&&t.push({messageKey:`validation_no_trigger`});let a=new Set(i.map(e=>e.id)),o=!0;for(;o;){o=!1;for(let e of r)a.has(e.source)&&!a.has(e.target)&&(a.add(e.target),o=!0)}for(let r of n){if(!r.type)continue;let n=r.data??{};!r.type.startsWith(`trigger-`)&&!a.has(r.id)&&t.push({nodeId:r.id,messageKey:`validation_unreachable`});for(let e of Ye[r.type]??[]){let i=n[e];if(i==null||i===``){t.push({nodeId:r.id,messageKey:`validation_missing_fields`});break}}r.type===`condition-switch`&&(!Array.isArray(n.cases)||n.cases.length===0)&&t.push({nodeId:r.id,messageKey:`validation_no_cases`}),r.type===`trigger-schedule`&&typeof n.cron==`string`&&n.cron&&n.cron.trim().split(/\s+/).length!==5&&t.push({nodeId:r.id,messageKey:`validation_invalid_cron`}),r.type===`action-variable`&&typeof n.variableName==`string`&&n.variableName&&!/^\w+(?:\.\w+)*$/.test(n.variableName)&&t.push({nodeId:r.id,messageKey:`validation_invalid_variable_name`}),t.push(...$e(e,r))}return t}function $e(e,t){let n=[],r=new Set(xe(e,t.id).map(e=>e.template.slice(2,-2))),i=new Set([...r].map(e=>e.split(`.`)[0])),a=et(e),o=[];tt(t.data??{},o);let s=new Set;for(let e of o)for(let o of e.matchAll(/\{\{(\w+(?:\.\w+)*)\}\}/g)){let e=o[1];if(r.has(e)||Ze.has(e)||a.has(e)||s.has(e))continue;let c=e.split(`.`)[0];Xe.has(c)&&i.has(c)||a.has(c)||(s.add(e),n.push({nodeId:t.id,messageKey:`validation_unknown_variable`,params:{name:e}}))}return n}function et(e){let t=new Set;for(let n of e.nodes){let e=n.data??{};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)}return t}function tt(e,t){if(typeof e==`string`){e.includes(`{{`)&&t.push(e);return}if(Array.isArray(e)){for(let n of e)tt(n,t);return}if(e&&typeof e==`object`)for(let n of Object.values(e))tt(n,t)}function nt(e){let t=be(),{t:n}=i();return z(()=>{let r=t.validationIssues.filter(t=>t.nodeId===se(e));if(r.length!==0)return r.map(e=>n(`components.automation_nodes.${e.messageKey}`,e.params??{})).join(`
3
- `)})}var rt=[`cameraId`,`sensorId`,`sensorType`];function it(e,t){if(!e||!t)return null;let n={},r=e,i=t;for(let e of rt)r[e]&&e in i&&!i[e]&&(n[e]=r[e]);return Object.keys(n).length>0?n:null}function at(e){return e.type===`trigger-webhook`&&!e.webhookId?{...e,webhookId:s()}:e.type===`trigger-geofence`&&!e.geofenceId?{...e,geofenceId:s()}:e}function ot(e,t,n){if(!e)return;let r=e=>e?t?.(e)??e:void 0,i=(e,t)=>e?n?.(e)??t??e:void 0;switch(e.type){case`trigger-detection`:return r(e.cameraId);case`trigger-sensor`:return i(e.sensorId,e.sensorType);case`trigger-schedule`:return e.cron||void 0;case`trigger-webhook`:return e.webhookId?`...${e.webhookId.slice(-8)}`:void 0;case`trigger-system`:return e.eventType?`${e.category}: ${e.eventType.split(`:`).pop()}`:void 0;case`trigger-manual`:return;case`trigger-geofence`:return e.zoneName||void 0;case`trigger-mqtt`:return e.topic||void 0;case`condition-ifelse`:return e.leftOperand&&e.operator?`${e.leftOperand} ${e.operator} ${e.rightOperand}`:void 0;case`condition-switch`:return e.variable||void 0;case`condition-sensorstate`:return i(e.sensorId,e.sensorType);case`condition-time`:return e.startTime&&e.endTime?`${e.startTime} - ${e.endTime}`:void 0;case`action-snapshot`:return r(e.cameraId);case`action-camera-control`:return r(e.cameraId);case`action-sensor`:return i(e.sensorId,e.sensorType);case`action-notification`:return e.title||void 0;case`action-notification-control`:return`${e.mode} · ${e.scope}`;case`action-assistant`:return e.prompt?e.prompt.slice(0,40):void 0;case`action-http`:return e.url?`${e.method} ${e.url}`:void 0;case`action-mqtt`:return e.topic||void 0;case`action-delay`:return`${e.duration} ${e.unit}`;case`action-variable`:return e.variableName||void 0;case`action-plugin`:return[e.pluginName,e.method].filter(Boolean).join(`: `)||void 0;default:return}}var st={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ct(e,t){return w(),A(`svg`,st,[...t[0]||=[k(`path`,{fill:`currentColor`,d:`M10 3h4v11h-4zm0 18v-4h4v4z`},null,-1)]])}var lt=B({name:`mdi-exclamation-thick`,render:ct}),ut={maxInputs:1/0},dt={key:0,class:`absolute -top-2 -right-2 z-10 flex items-center justify-center w-5 h-5 rounded-full bg-amber-500 text-white`},ft={class:`flex items-center gap-2 px-3 py-2.5`},pt={class:`flex-1 min-w-0`},mt={class:`text-xs font-semibold truncate text-color`},ht={key:0,class:`text-[10px] text-muted truncate mt-0.5`},gt=c(H({__name:`BaseNode`,props:D({icon:{},label:{},subtitle:{},color:{},selected:{type:Boolean},showInput:{type:Boolean},showOutput:{type:Boolean},maxInputs:{},warning:{}},ut),setup(e){let t={backgroundColor:`var(--text-muted-color)`,borderColor:`var(--card-background)`};return(r,i)=>{let a=lt,o=n;return w(),A(`div`,{class:O([`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}]),style:E({borderColor:e.color})},[e.warning?M((w(),A(`div`,dt,[N(a,{class:`w-3.5 h-3.5`})])),[[o,e.warning,void 0,{top:!0}]]):V(``,!0),k(`div`,ft,[k(`div`,{class:`flex items-center justify-center w-8 h-8 rounded-md shrink-0`,style:E({backgroundColor:`${e.color}20`,color:e.color})},[(w(),F(S(e.icon),{class:`w-4.5 h-4.5`}))],4),k(`div`,pt,[k(`div`,mt,b(e.label),1),e.subtitle?(w(),A(`div`,ht,b(e.subtitle),1)):V(``,!0)])]),e.showInput?(w(),F(U(Z),{key:1,type:`target`,position:U(Fe).Top,connectable:e.maxInputs,class:`!w-5 !h-5 !border-2`,style:t},null,8,[`position`,`connectable`])):V(``,!0),ce(r.$slots,`handles`,{},()=>[e.showOutput?(w(),F(U(Z),{key:0,type:`source`,position:U(Fe).Bottom,class:`!w-5 !h-5 !border-2`,style:t},null,8,[`position`])):V(``,!0)],!0)],6)}}}),[[`__scopeId`,`data-v-13cfb248`]]),_t={class:`text-muted font-medium truncate`},vt={class:`text-color font-semibold text-right`},Q=H({__name:`ActionNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(e){let t=e,{t:n}=i(),r=be(),{lastOutput:s}=ue(r),c=nt(()=>t.id),l=z(()=>Y(t.type)),u=z(()=>l.value?n(l.value.labelKey):t.type),{cameraName:d}=Se(),{sensors:f}=a(),p=z(()=>{let e=t.data,n=e.alias,r=ot(t.data,d,h);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}),m=z(()=>t.type!==`action-output`||!s.value?[]:Object.entries(s.value));function h(e){let t=f.value.find(t=>t.id===e);return t?t.displayName.value||t.name:void 0}return(t,n)=>{let r=o;return w(),A(`div`,null,[N(gt,{icon:U(l).icon,label:U(u),subtitle:U(p),color:U(l)?.color??`#3b82f6`,selected:e.selected,warning:U(c),"show-input":!0,"show-output":!0},null,8,[`icon`,`label`,`subtitle`,`color`,`selected`,`warning`]),e.type===`action-output`&&U(m).length?(w(),F(r,{key:0,class:`cui-card mt-1`,pt:{body:{class:`p-0`}},style:{"min-width":`180px`}},{content:y(()=>[(w(!0),A(R,null,T(U(m),(e,t)=>(w(),A(`div`,{key:t,class:O([`flex justify-between gap-3 px-3 py-1.5 text-[11px]`,{"border-t border-surface-100 dark:border-surface-800":t>0}])},[k(`span`,_t,b(e[0]),1),k(`span`,vt,b(e[1]),1)],2))),128))]),_:1})):V(``,!0)])}}}),yt=H({__name:`ConditionNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(e){let t=e,{t:n}=i(),r={borderColor:`var(--card-background)`},o=nt(()=>t.id),s=z(()=>Y(t.type)),c=z(()=>s.value?n(s.value.labelKey):t.type),{cameraName:l}=Se(),{sensors:u}=a(),d=z(()=>ot(t.data,l,f));function f(e){let t=u.value.find(t=>t.id===e);return t?t.displayName.value||t.name:void 0}return(t,n)=>(w(),F(gt,{icon:U(s).icon,label:U(c),subtitle:U(d),color:U(s)?.color??`#f59e0b`,selected:e.selected,warning:U(o),"show-input":!0,"show-output":!1,"max-inputs":1},{handles:y(()=>[N(U(Z),{type:`source`,position:U(Fe).Bottom,id:`true`,class:`!w-5 !h-5 !border-2`,style:E({...r,backgroundColor:`var(--text-success-color)`,left:`30%`})},null,8,[`position`,`style`]),N(U(Z),{type:`source`,position:U(Fe).Bottom,id:`false`,class:`!w-5 !h-5 !border-2`,style:E({...r,backgroundColor:`var(--text-danger-color)`,left:`70%`})},null,8,[`position`,`style`])]),_:1},8,[`icon`,`label`,`subtitle`,`color`,`selected`,`warning`]))}}),bt={class:`absolute top-5 left-1/2 -translate-x-1/2 text-[10px] text-muted whitespace-nowrap pointer-events-none`},xt=H({__name:`SwitchNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(e){let t=e,{t:n}=i(),r={backgroundColor:`#f59e0b`,borderColor:`var(--card-background)`},a=nt(()=>t.id),o=z(()=>Y(t.type)),s=z(()=>o.value?n(o.value.labelKey):t.type),c=z(()=>t.data.type===`condition-switch`&&Array.isArray(t.data.cases)?t.data.cases:[]),l=z(()=>t.data.type===`condition-switch`&&t.data.variable?t.data.variable:void 0);return(t,n)=>(w(),F(gt,{icon:U(o).icon,label:U(s),subtitle:U(l),color:U(o)?.color??`#f59e0b`,selected:e.selected,warning:U(a),"show-input":!0,"show-output":!1,"max-inputs":1},{handles:y(()=>[(w(!0),A(R,null,T(U(c),(e,t)=>(w(),F(U(Z),{id:U(Ge)(e),key:U(Ge)(e),type:`source`,position:U(Fe).Bottom,class:`!w-5 !h-5 !border-2`,style:E({...r,left:`${(t+1)/(U(c).length+1)*100}%`})},{default:y(()=>[k(`div`,bt,b(e),1)]),_:2},1032,[`id`,`position`,`style`]))),128))]),_:1},8,[`icon`,`label`,`subtitle`,`color`,`selected`,`warning`]))}}),$=H({__name:`TriggerNode`,props:{id:{},type:{},selected:{type:Boolean},connectable:{type:[Boolean,Number,String,Function]},position:{},dimensions:{},label:{},isValidTargetPos:{type:Function},isValidSourcePos:{type:Function},parent:{},parentNodeId:{},dragging:{type:Boolean},resizing:{type:Boolean},zIndex:{},targetPosition:{},sourcePosition:{},dragHandle:{},data:{},events:{}},setup(e){let t=e,{t:n}=i(),{cameraName:r}=Se(),{sensors:o}=a(),s=nt(()=>t.id),c=z(()=>Y(t.type)),l=z(()=>c.value?n(c.value.labelKey):t.type),u=z(()=>ot(t.data,r,d));function d(e){let t=o.value.find(t=>t.id===e);return t?t.displayName.value||t.name:void 0}return(t,n)=>(w(),F(gt,{icon:U(c).icon,label:U(l),subtitle:U(u),color:U(c)?.color??`#22c55e`,selected:e.selected,warning:U(s),"show-input":!1,"show-output":!0},null,8,[`icon`,`label`,`subtitle`,`color`,`selected`,`warning`]))}}),St=50;function Ct(){let e=I([]),t=I([]);function n(e,t){return JSON.stringify({nodes:e,edges:t})}function r(e){return JSON.parse(e)}function i(r,i){let a=[...e.value,n(r,i)];a.length>St&&a.shift(),e.value=a,t.value=[]}function a(i,a){let o=[...e.value],s=o.pop();if(s)return e.value=o,t.value=[...t.value,n(i,a)],r(s)}function o(i,a){let o=[...t.value],s=o.pop();if(s)return t.value=o,e.value=[...e.value,n(i,a)],r(s)}function s(){e.value=[],t.value=[]}return{push:i,undo:a,redo:o,clear:s,canUndo:z(()=>e.value.length>0),canRedo:z(()=>t.value.length>0)}}var wt={class:`absolute inset-0 flex items-center justify-center pointer-events-none`},Tt={class:`text-muted text-sm`},Et=H({__name:`CuiAutomationCanvas`,props:{flow:{},mobile:{type:Boolean}},emits:[`node-select`,`change`],setup(e,{expose:t,emit:n}){let r=e,a=n,{t:o}=i(),{smBreakpoint:s}=f(),{screenToFlowCoordinate:c,getViewport:l,dimensions:u}=Ne(),d=Ct(),p={"trigger-detection":B($),"trigger-sensor":B($),"trigger-schedule":B($),"trigger-webhook":B($),"trigger-system":B($),"trigger-manual":B($),"trigger-geofence":B($),"trigger-mqtt":B($),"condition-ifelse":B(yt),"condition-switch":B(xt),"condition-sensorstate":B(yt),"condition-time":B(yt),"action-snapshot":B(Q),"action-sensor":B(Q),"action-notification":B(Q),"action-notification-control":B(Q),"action-assistant":B(Q),"action-http":B(Q),"action-mqtt":B(Q),"action-delay":B(Q),"action-variable":B(Q),"action-plugin":B(Q),"action-camera-control":B(Q),"action-image-input":B(Q),"action-output":B(Q)},m={default:B(Je)},h=j([...r.flow.nodes]),_=j([...r.flow.edges]);function v(){d.push(h.value,_.value)}function ee(){let e=d.undo(h.value,_.value);e&&(h.value=e.nodes,_.value=e.edges,a(`node-select`,null),a(`change`))}function te(){let e=d.redo(h.value,_.value);e&&(h.value=e.nodes,_.value=e.edges,a(`node-select`,null),a(`change`))}function S(e){a(`node-select`,e.node.id)}function C(){a(`node-select`,null)}function ne(e){let t=h.value.find(t=>t.id===e.source),n=h.value.find(t=>t.id===e.target);return!(!t||!n||e.source===e.target||n.type?.startsWith(`trigger-`))}function T(e){if(!ne(e))return;v();let t=e.targetHandle??void 0,n=h.value.find(t=>t.id===e.target);if(n?.type?.startsWith(`condition-`)){let n=_.value.find(n=>n.target===e.target&&(n.targetHandle??void 0)===t);n&&(_.value=_.value.filter(e=>e.id!==n.id))}let r={id:`e-${e.source}-${e.sourceHandle??`out`}-${e.target}`,source:e.source,target:e.target,sourceHandle:e.sourceHandle??void 0,targetHandle:t};_.value.push(r);let i=it(h.value.find(t=>t.id===e.source)?.data,n?.data);i&&n?.data&&Object.assign(n.data,i),a(`change`)}function E(e){e.some(e=>e.type===`remove`)&&(v(),a(`node-select`,null),a(`change`))}function D(e){let t=e.dataTransfer?.getData(`application/automationnode`);if(!t)return;let n=Y(t);if(!n)return;v();let r=c({x:e.clientX,y:e.clientY}),i={id:g(12),type:t,position:r,data:at({...n.defaults})};h.value=[...h.value,i],a(`change`)}function M(e){let t=Y(e);if(!t)return;v();let{x:n,y:r,zoom:i}=l(),{width:o,height:s}=u.value,c=(-n+o/2)/i,d=(-r+s/2)/i,f=()=>(Math.random()-.5)*80,p={id:g(12),type:e,position:{x:c+f(),y:d+f()},data:at({...t.defaults})};return h.value=[...h.value,p],a(`change`),p}function P(e){v(),h.value=h.value.filter(t=>t.id!==e),_.value=_.value.filter(t=>t.source!==e&&t.target!==e),a(`change`)}function F(){v(),h.value=[],_.value=[],a(`change`)}function I(){return[...h.value]}function R(){return[..._.value]}function z(e,t){let n=h.value.find(t=>t.id===e);if(n&&(n.data=t,n.type===`condition-switch`&&Array.isArray(t.cases))){let n=new Set(t.cases.map(Ge));_.value=_.value.filter(t=>t.source!==e||!t.sourceHandle?.startsWith(`case-`)||n.has(t.sourceHandle))}}function V(e){let t=e.metaKey||e.ctrlKey;t&&e.key===`z`&&!e.shiftKey?(e.preventDefault(),ee()):(t&&e.key===`z`&&e.shiftKey||t&&e.key===`y`)&&(e.preventDefault(),te())}return ie(()=>r.flow._id,()=>{h.value=[...r.flow.nodes],_.value=[...r.flow.edges],d.clear()}),re(()=>window.addEventListener(`keydown`,V)),x(()=>window.removeEventListener(`keydown`,V)),t({removeNode:P,addNodeAtCenter:M,clearAll:F,getNodes:I,getEdges:R,updateNodeData:z,undo:ee,redo:te,canUndo:d.canUndo,canRedo:d.canRedo}),(t,n)=>(w(),A(`div`,{ref:`canvasRef`,class:O([`h-full w-full border-left-color border-bottom-color border-right-color rounded-b-xl overflow-hidden`,{"rounded-none! border-0!":U(s)}]),onDrop:D,onDragover:n[2]||=L(()=>{},[`prevent`]),onDragenter:n[3]||=L(()=>{},[`prevent`])},[N(U(X),{nodes:U(h),"onUpdate:nodes":n[0]||=e=>ae(h)?h.value=e:null,edges:U(_),"onUpdate:edges":n[1]||=e=>ae(_)?_.value=e:null,"node-types":p,"edge-types":m,"default-viewport":{zoom:e.mobile?.7:.9,x:0,y:0},"snap-to-grid":!0,"snap-grid":[16,16],"is-valid-connection":ne,class:`automation-canvas`,onNodeClick:S,onPaneClick:C,onConnect:T,onNodesChange:E},oe({default:y(()=>[N(U(Pe),{gap:16}),N(U(Le))]),_:2},[U(h).length?void 0:{name:`default`,fn:y(()=>[k(`div`,wt,[k(`span`,Tt,b(e.mobile?U(o)(`views.automation.no_nodes_mobile`):U(o)(`views.automation.no_nodes`)),1)])]),key:`0`}]),1032,[`nodes`,`edges`,`default-viewport`])],34))}}),Dt={"trigger-detection":h(()=>C(()=>import(`./ConfigTriggerDetection-Byd6SLGg.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),"trigger-sensor":h(()=>C(()=>import(`./ConfigTriggerSensor-BCqAiPu4.js`),__vite__mapDeps([18,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),"trigger-schedule":h(()=>C(()=>import(`./ConfigTriggerSchedule-DAZo1PLj.js`),__vite__mapDeps([19,1,2,3,4]),import.meta.url)),"trigger-webhook":h(()=>C(()=>import(`./ConfigTriggerWebhook-DDsnpwJr.js`),__vite__mapDeps([20,1,2,3,7,8,9,10,11,12,13,4,14,15,16,17,21,22]),import.meta.url)),"trigger-mqtt":h(()=>C(()=>import(`./ConfigTriggerMqtt-B_aUDBu4.js`),__vite__mapDeps([23,1,2,3,4,21,24,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),"trigger-system":h(()=>C(()=>import(`./ConfigTriggerSystem-DuBydCiq.js`),__vite__mapDeps([25,1,2,3,4,26,7,8,9,10,11,12,13,14,15,16,17,6]),import.meta.url)),"trigger-manual":h(()=>C(()=>import(`./ConfigTriggerManual-B2dWcFrl.js`),__vite__mapDeps([27,1,2,3]),import.meta.url)),"trigger-geofence":h(()=>C(()=>import(`./ConfigTriggerGeofence-CkzTFEZn.js`),__vite__mapDeps([28,2,1,3,7,8,9,10,11,12,13,4,14,15,16,17,21,29,30,31,22]),import.meta.url)),"action-snapshot":h(()=>C(()=>import(`./ConfigActionSnapshot-DjR-Z08N.js`),__vite__mapDeps([32,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),"action-sensor":h(()=>C(()=>import(`./ConfigActionSensor-BgD_F-hD.js`),__vite__mapDeps([33,1,2,3,10,9,4,34,6,7,8,11,12,13,14,15,16,17,35,36,37]),import.meta.url)),"action-notification":h(()=>C(()=>import(`./ConfigActionNotification-Cr4xJrZp.js`),__vite__mapDeps([38,1,2,3,4,39,7,8,9,10,11,12,13,14,15,16,17,37,36,40,41]),import.meta.url)),"action-notification-control":h(()=>C(()=>import(`./ConfigActionNotificationControl-Cxkb_g8p.js`),__vite__mapDeps([42,1,2,3,7,8,9,10,11,12,13,4,14,15,16,17,6]),import.meta.url)),"action-assistant":h(()=>C(()=>import(`./ConfigActionAssistant-Cl_kr3hp.js`),__vite__mapDeps([43,1,2,3,4,44,7,8,9,10,11,12,13,14,15,16,17,37,29,36,40]),import.meta.url)),"action-http":h(()=>C(()=>import(`./ConfigActionHttp-DnkZTP5l.js`),__vite__mapDeps([45,1,2,3,4,46,37,10,9,13,36,40]),import.meta.url)),"action-mqtt":h(()=>C(()=>import(`./ConfigActionMqtt-BTsFTLgm.js`),__vite__mapDeps([47,1,2,3,4,37,10,9,13,36,40,24,7,8,11,12,14,15,16,17]),import.meta.url)),"action-delay":h(()=>C(()=>import(`./ConfigActionDelay-DtPgmqWh.js`),__vite__mapDeps([48,1,2,3,4]),import.meta.url)),"action-variable":h(()=>C(()=>import(`./ConfigActionVariable-gPuPbjpm.js`),__vite__mapDeps([49,1,2,3,4,36,37,10,9,13]),import.meta.url)),"action-plugin":h(()=>C(()=>import(`./ConfigActionPlugin-BpcJepbD.js`),__vite__mapDeps([50,1,2,3,4,51,7,8,9,10,11,12,13,14,15,16,17,52,53,26,54,36,37]),import.meta.url)),"action-image-input":h(()=>C(()=>import(`./ConfigActionImageInput-3svn6YP9.js`),__vite__mapDeps([55,1,2,3,4,36,37,10,9,13,41]),import.meta.url)),"action-output":h(()=>C(()=>import(`./ConfigActionOutput-WTr7FGf_.js`),__vite__mapDeps([56,1,2,3,4,15,36,37,10,9,13]),import.meta.url)),"action-camera-control":h(()=>C(()=>import(`./ConfigActionCameraControl-CL4vXcNe.js`),__vite__mapDeps([57,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,58,5]),import.meta.url)),"condition-ifelse":h(()=>C(()=>import(`./ConfigConditionIfElse-CUHKJmPx.js`),__vite__mapDeps([59,1,2,3,11,4,21,60,61,62,63,34,37,10,9,13,36]),import.meta.url)),"condition-switch":h(()=>C(()=>import(`./ConfigConditionSwitch-BRf1T5tJ.js`),__vite__mapDeps([64,1,2,3,10,9,11,4,21,60,61,62,63,34,37,13,36]),import.meta.url)),"condition-sensorstate":h(()=>C(()=>import(`./ConfigConditionSensorState-D-gPRqMu.js`),__vite__mapDeps([65,1,2,3,4,15,34,6,7,8,9,10,11,12,13,14,16,17,35,36,37]),import.meta.url)),"condition-time":h(()=>C(()=>import(`./ConfigConditionTime-BC0n6sWO.js`),__vite__mapDeps([66,1,2,3,4,21]),import.meta.url))},Ot={class:`h-full overflow-y-auto flex flex-col`},kt={class:`flex items-center gap-2 px-4 py-3 border-bottom-color`},At={class:`flex-1 min-w-0`},jt={class:`text-sm font-semibold truncate text-color`},Mt={class:`text-xs text-muted`},Nt={class:`flex-1 overflow-y-auto`},Pt={class:`text-color font-normal text-sm`},Ft={class:`flex flex-col field-gap`},It={class:`text-color font-normal text-sm`},Lt={class:`text-color font-normal text-sm`},Rt={class:`flex flex-col gap-3`},zt={class:`flex flex-col field-gap`},Bt={class:`cui-label`},Vt={key:0,class:`flex flex-col field-gap`},Ht={class:`cui-label`},Ut={key:1,class:`flex flex-col field-gap`},Wt={class:`cui-label`},Gt={class:`p-4 border-top-color`},Kt=H({__name:`CuiAutomationNodeConfig`,props:{node:{}},emits:[`close`,`update:data`,`delete`],setup(t,{emit:n}){let a=t,o=n,{t:s}=i(),c=z(()=>a.node.type?Y(a.node.type):void 0),l=z(()=>a.node.type?.startsWith(`action-`)),u=z(()=>{if(a.node.type)return Dt[a.node.type]}),d=z(()=>{let e=[`config`];return l.value&&a.node.data.alias&&e.push(`alias`),c.value?.supportsRepeat&&a.node.data.repeat>1&&e.push(`repeat`),e});function f(e){o(`update:data`,e)}return(n,i)=>{let a=ve,o=e,p=K,m=r,h=_e,g=he,_=pe,v=me,ee=W;return w(),A(`div`,Ot,[k(`div`,kt,[k(`div`,{class:`flex items-center justify-center w-8 h-8 rounded-md shrink-0`,style:E({backgroundColor:`${U(c)?.color}20`,color:U(c)?.color})},[(w(),F(S(U(c)?.icon),{class:`w-4 h-4`}))],4),k(`div`,At,[k(`div`,jt,b(U(c)?U(s)(U(c).labelKey):t.node.type),1),k(`div`,Mt,b(U(s)(`views.automation.node_config`)),1)]),N(o,{severity:`secondary`,text:``,rounded:``,class:`shrink-0 cui-icon-sm`,onClick:i[0]||=e=>n.$emit(`close`)},{icon:y(()=>[N(a,{width:`100%`,height:`100%`})]),_:1})]),k(`div`,Nt,[N(ee,{multiple:``,value:U(d),class:`w-[300px]`},{default:y(()=>[U(l)?(w(),F(_,{key:0,value:`alias`},{default:y(()=>[N(p,{class:`px-4 rounded-none!`},{default:y(()=>[k(`span`,Pt,b(U(s)(`components.automation_nodes.alias`)),1)]),_:1}),N(g,{pt:{content:{class:`px-4 w-[300px]`}}},{default:y(()=>[k(`div`,Ft,[N(m,{"model-value":t.node.data.alias??``,placeholder:U(s)(`components.automation_nodes.alias_placeholder`),"onUpdate:modelValue":i[1]||=e=>f({alias:e||void 0})},null,8,[`model-value`,`placeholder`]),N(h,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[P(b(U(s)(`components.automation_nodes.alias_hint`)),1)]),_:1})])]),_:1})]),_:1})):V(``,!0),U(u)?(w(),F(_,{key:1,value:`config`},{default:y(()=>[N(p,{class:`px-4 rounded-none!`},{default:y(()=>[k(`span`,It,b(U(s)(`views.automation.node_config`)),1)]),_:1}),N(g,{pt:{content:{class:`px-4 w-[300px]`}}},{default:y(()=>[k(`div`,null,[(w(),F(S(U(u)),{data:t.node.data,"node-id":t.node.id,"onUpdate:data":f},null,40,[`data`,`node-id`]))])]),_:1})]),_:1})):V(``,!0),U(c)?.supportsRepeat?(w(),F(_,{key:2,value:`repeat`},{default:y(()=>[N(p,{class:`px-4 rounded-none!`},{default:y(()=>[k(`span`,Lt,b(U(s)(`components.automation_nodes.repeat`)),1)]),_:1}),N(g,{pt:{content:{class:`px-4 w-[300px]`}}},{default:y(()=>[k(`div`,Rt,[k(`div`,zt,[k(`label`,Bt,b(U(s)(`components.automation_nodes.repeat_count`)),1),N(v,{"model-value":t.node.data.repeat??1,min:1,max:1e5,class:`w-full`,"onUpdate:modelValue":i[2]||=e=>f({repeat:e})},null,8,[`model-value`])]),t.node.data.repeat>1?(w(),A(`div`,Vt,[k(`label`,Ht,b(U(s)(`components.automation_nodes.repeat_concurrency`)),1),N(v,{"model-value":t.node.data.repeatConcurrency??1,min:1,max:64,class:`w-full`,"onUpdate:modelValue":i[3]||=e=>f({repeatConcurrency:e})},null,8,[`model-value`]),N(h,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[P(b(U(s)(`components.automation_nodes.repeat_concurrency_hint`)),1)]),_:1})])):V(``,!0),t.node.data.repeat>1?(w(),A(`div`,Ut,[k(`label`,Wt,b(U(s)(`components.automation_nodes.repeat_delay`)),1),N(v,{"model-value":t.node.data.repeatDelayMs??0,min:0,max:6e4,suffix:` ms`,class:`w-full`,"onUpdate:modelValue":i[4]||=e=>f({repeatDelayMs:e})},null,8,[`model-value`])])):V(``,!0)])]),_:1})]),_:1})):V(``,!0)]),_:1},8,[`value`])]),k(`div`,Gt,[N(o,{severity:`danger`,fluid:``,class:`w-full cui-button-medium`,label:U(s)(`views.automation.delete_node`),onClick:i[5]||=e=>n.$emit(`delete`)},null,8,[`label`])])])}}}),qt={key:0,class:`text-xs font-semibold text-muted uppercase tracking-wider mb-3`},Jt={class:`text-xs font-medium text-muted mb-2`},Yt={class:`flex flex-col gap-1.5`},Xt=[`draggable`,`onDragstart`,`onClick`],Zt={class:`flex items-center gap-2.5 flex-1 min-w-0 px-3 py-2.5`},Qt={class:`flex-1 min-w-0`},$t={class:`text-[13px] font-medium truncate text-color block leading-tight`},en={key:0,class:`text-[11px] text-muted block truncate mt-0.5 leading-tight`},tn=c(H({__name:`CuiAutomationNodePalette`,props:D({mode:{}},Ce),emits:[`node-click`],setup(e){let{t}=i(),n=[{key:`trigger`,labelKey:`components.automation_nodes.category_triggers`,nodes:J(`trigger`)},{key:`condition`,labelKey:`components.automation_nodes.category_conditions`,nodes:J(`condition`)},{key:`utility`,labelKey:`components.automation_nodes.category_utilities`,nodes:J(`utility`)},{key:`action`,labelKey:`components.automation_nodes.category_actions`,nodes:J(`action`)}];function r(e,t){e.dataTransfer&&(e.dataTransfer.setData(`application/automationnode`,t),e.dataTransfer.effectAllowed=`move`)}return(i,a)=>(w(),A(`div`,{class:O([`overflow-y-auto p-3`,e.mode===`drag`?`h-full`:``])},[e.mode===`drag`?(w(),A(`div`,qt,b(U(t)(`views.automation.node_palette`)),1)):V(``,!0),(w(),A(R,null,T(n,n=>k(`div`,{key:n.key,class:`mb-4`},[k(`div`,Jt,b(U(t)(n.labelKey)),1),k(`div`,Yt,[(w(!0),A(R,null,T(n.nodes,n=>(w(),A(`div`,{key:n.type,class:O([`automation-palette-node`,e.mode===`drag`?`cursor-grab active:cursor-grabbing`:`cursor-pointer`]),draggable:e.mode===`drag`,onDragstart:t=>e.mode===`drag`?r(t,n.type):void 0,onClick:t=>e.mode===`click`?i.$emit(`node-click`,n.type):void 0},[k(`div`,{class:`automation-palette-node__accent`,style:E({backgroundColor:n.color})},null,4),k(`div`,Zt,[k(`div`,{class:`flex items-center justify-center w-8 h-8 rounded-lg shrink-0`,style:E({backgroundColor:`${n.color}15`,color:n.color})},[(w(),F(S(n.icon),{class:`w-4.5 h-4.5`}))],4),k(`div`,Qt,[k(`span`,$t,b(U(t)(n.labelKey)),1),e.mode===`click`?(w(),A(`span`,en,b(U(t)(n.descriptionKey)),1)):V(``,!0)])])],42,Xt))),128))])])),64))],2))}}),[[`__scopeId`,`data-v-08caad7f`]]),nn={class:`flex items-center gap-2 px-3 py-2 border-bottom-color card-background min-h-[48px]`},rn=H({__name:`CuiAutomationToolbar`,props:{flow:{},showHistory:{type:Boolean}},emits:[`update:name`,`toggle-enabled`,`toggle-suppress-duplicates`,`toggle-single-execution`,`show-history`],setup(t,{emit:a}){let o=t,s=a,{t:c}=i(),{smBreakpoint:l}=f(),u=ne(`menuRef`),d=z(()=>[{key:`suppressDuplicates`,label:c(`views.automation.suppress_duplicates`),description:c(`views.automation.suppress_duplicates_hint`),toggle:!0,toggleState:o.flow.suppressDuplicates,onClick:()=>s(`toggle-suppress-duplicates`)},{key:`singleExecution`,label:c(`views.automation.single_execution`),description:c(`views.automation.single_execution_hint`),toggle:!0,toggleState:o.flow.singleExecution,onClick:()=>s(`toggle-single-execution`)}]);return(i,a)=>{let o=Ee,s=e,f=r,p=G,m=q,h=Re,g=_,v=n;return w(),A(`div`,nn,[U(l)?V(``,!0):(w(),F(s,{key:0,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:a[0]||=e=>i.$router.push(`/automations`)},{icon:y(()=>[N(o,{width:`100%`,height:`100%`})]),_:1})),N(f,{"model-value":t.flow.name,class:O([`font-medium text-sm min-w-0 flex-1`,{"max-w-[300px]":!U(l)}]),placeholder:U(c)(`views.automations.flow_name_placeholder`),"onUpdate:modelValue":a[1]||=e=>i.$emit(`update:name`,String(e??``))},null,8,[`model-value`,`class`,`placeholder`]),a[5]||=k(`div`,{class:`flex-1`},null,-1),N(p,{"model-value":t.flow.enabled,class:`shrink-0`,"onUpdate:modelValue":a[2]||=e=>i.$emit(`toggle-enabled`)},null,8,[`model-value`]),t.showHistory?M((w(),F(s,{key:1,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:a[3]||=e=>i.$emit(`show-history`)},{icon:y(()=>[N(m,{width:`100%`,height:`100%`})]),_:1})),[[v,{value:U(c)(`views.automations.run_history`)},void 0,{bottom:!0}]]):V(``,!0),N(s,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:a[4]||=e=>U(u)?.toggleMenu(e)},{icon:y(()=>[N(h,{width:`100%`,height:`100%`})]),_:1}),N(g,{ref_key:`menuRef`,ref:u,items:U(d),"auto-hide":!1,popover:{pt:{root:{class:`w-[18rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),an={class:`flex flex-col gap-4 w-full`},on={key:1,class:`text-sm text-muted`},sn=H({__name:`CuiAutomationMobileNodeConfig`,props:{node:{}},setup(e,{expose:t}){let n=e,{t:r}=i(),a=be(),o=z(()=>{if(n.node.type)return Dt[n.node.type]});function s(e){if(!a.draft)return;let t=a.draft.nodes.find(e=>e.id===n.node.id);t?.data&&(Object.assign(t.data,e),a.draftDirty=!0)}return t({onConfirm:async()=>{if(a.draft){let e=n.node.id;a.draft.nodes=a.draft.nodes.filter(t=>t.id!==e),a.draft.edges=a.draft.edges.filter(t=>t.source!==e&&t.target!==e)}}}),(t,n)=>(w(),A(`div`,an,[U(o)?(w(),F(S(U(o)),{key:0,data:e.node.data,"node-id":e.node.id,"onUpdate:data":s},null,40,[`data`,`node-id`])):(w(),A(`div`,on,b(U(r)(`views.automation.no_node_selected`)),1))]))}}),cn={class:`h-full w-full relative overflow-hidden flex flex-col`},ln={class:`flex flex-1 min-h-0`},un={class:`relative w-6 h-6`},dn={key:1,class:`flex flex-1 items-center justify-center`},fn={key:2,class:`flex flex-1 items-center justify-center`},pn={class:`text-muted`},mn=H({__name:`Automation`,setup(r){let a=h(()=>C(()=>import(`./CuiAutomationRunsDialog-C_sMg7E1.js`),__vite__mapDeps([67,1,2,3,4,68,69,54,7,8,9,10,11,12,13,14,15,16,17,60,61,62,63,34]),import.meta.url)),o=new ye,s=le(),c=fe(),{t:_}=i(),{smBreakpoint:x}=f(),{bottombarHeight:re}=d(),T=ee(),D=l(),P=be(),I=z(()=>s.params.id),L=z(()=>I.value===`new`),oe=z(()=>m(void 0,`admin`)),{data:B,isBusy:H}=o.getAutomationQuery(I),{mutateAsync:se}=o.createAutomationQuery(),{mutateAsync:ce}=o.patchAutomationQuery(),{mutateAsync:ue}=o.deleteAutomationQuery(),{mutateAsync:pe}=o.triggerAutomationQuery(),W=ne(`canvasRef`),G=j(!1),K=j(!1),me=j(!1),he=j(!1),_e=!1,ve,q=z({get:()=>P.draft,set:e=>{P.draft=e}}),J=z(()=>{if(q.value&&P.selectedNodeId)return q.value.nodes.find(e=>e.id===P.selectedNodeId)}),xe=z(()=>{if(!x.value&&J.value)return`calc(300px + 1.25rem + var(--safe-area-inset-right))`}),Se=z(()=>[...q.value?.nodes.some(e=>e.type===`trigger-manual`)??!1?[{label:_(`views.automation.run`),icon:v,buttonProps:{disabled:L.value||K.value},command:()=>Ge()}]:[],{label:_(`views.automation.undo`),icon:Ae,buttonProps:{disabled:!me.value},command:()=>{W.value?.undo(),X()}},{label:_(`views.automation.redo`),icon:ke,buttonProps:{disabled:!he.value},command:()=>{W.value?.redo(),X()}},{label:_(`views.automation.export_blueprint`),icon:Ve,command:()=>Ke()},{label:_(`views.automation.clear`),icon:De,command:()=>qe()},{label:_(`views.automations.delete`),icon:We,buttonProps:{severity:`danger`},command:()=>Je()}]);function Ce(){me.value=W.value?.canUndo??!1,he.value=W.value?.canRedo??!1}function Me(){q.value={_id:g(12),name:_(`views.automation.untitled`),enabled:!1,nodes:[],edges:[],suppressDuplicates:!1,singleExecution:!1,createdAt:Date.now(),updatedAt:Date.now()},P.selectedNodeId=null}function Ne(){clearTimeout(ve),ve=setTimeout(()=>{ze(),P.validationIssues=Qe(q.value)},300)}function X(){K.value=!0,Ce(),Ne()}function Pe(){T.openComponentDialog(a,{data:{title:_(`views.automations.run_history`),contentProps:{flowId:I.value},hideConfirmButton:!0}})}function Z(){ze(),X()}function Fe(e){q.value&&(q.value.name=e,X())}function Ie(e,t){if(!q.value)return;let n=q.value.nodes.find(t=>t.id===e);if(n?.data){if(!Object.entries(t).some(([e,t])=>n.data[e]!==t))return;Object.assign(n.data,t),W.value?.updateNodeData(e,{...n.data}),X()}}function Le(){if(!q.value)return{};let e=W.value?.getNodes?.()??q.value.nodes,t=W.value?.getEdges?.()??q.value.edges;return{name:q.value.name,enabled:q.value.enabled,suppressDuplicates:q.value.suppressDuplicates,singleExecution:q.value.singleExecution,nodes:e.map(e=>({id:e.id,type:e.type??``,position:e.position,data:e.data??{}})),edges:t.map(e=>({id:e.id,source:e.source,target:e.target,sourceHandle:e.sourceHandle??void 0,targetHandle:e.targetHandle??void 0}))}}async function Re(){if(!q.value)return;ze();let e=Le();try{if(L.value){let t=await se({data:e});K.value=!1,c.replace(`/automations/${t._id}`)}else{let t=await ce({id:q.value._id,data:e});if(K.value=!1,t?.nodes&&q.value)for(let e of t.nodes){let t=q.value.nodes.find(t=>t.id===e.id);t?.data&&e.data&&Object.assign(t.data,e.data)}D.add({severity:`success`,detail:_(`views.automation.saved`),life:3e3})}}catch{D.add({severity:`error`,detail:_(`views.automation.save_failed`),life:3e3})}}function ze(){if(!q.value)return;let e=W.value?.getNodes(),t=W.value?.getEdges();e&&(q.value.nodes=e),t&&(q.value.edges=t)}function Be(e){if(P.selectedNodeId=e,x.value&&e){ze();let t=q.value?.nodes.find(t=>t.id===e);if(!t)return;let n=t.type?Y(t.type):void 0,r=n?_(n.labelKey):`Node`,i=t.id;T.openComponentDialog(sn,{data:{title:r,confirmText:_(`views.automation.delete_node`),confirmButtonProps:{severity:`danger`},contentProps:{node:{id:t.id,type:t.type,data:t.data}}},onSettled:()=>{q.value?.nodes.some(e=>e.id===i)||(W.value?.removeNode(i),X())}})}}function He(e){G.value=!1,W.value?.addNodeAtCenter(e),X()}function Ue(){P.selectedNodeId&&(W.value?.removeNode(P.selectedNodeId),q.value&&(q.value.nodes=q.value.nodes.filter(e=>e.id!==P.selectedNodeId),q.value.edges=q.value.edges.filter(e=>e.source!==P.selectedNodeId&&e.target!==P.selectedNodeId)),P.selectedNodeId=null,P.lastOutput=null,X())}async function Ge(){if(q.value&&!L.value)try{P.lastOutput=null;let e=await pe({id:q.value._id});e?.output&&Object.keys(e.output).length>0&&(P.lastOutput=e.output),D.add({severity:`success`,detail:_(`views.automation.triggered`),life:3e3})}catch{D.add({severity:`error`,detail:_(`views.automation.trigger_failed`),life:3e3})}}function Ke(){if(!q.value)return;Re();let e={version:1,name:q.value.name,nodes:Te(q.value.nodes),edges:q.value.edges},t=JSON.stringify(e,null,2),n=new Blob([t],{type:`application/json`});u({blob:n,filename:`${q.value.name.replace(/\s+/g,`_`).toLowerCase()}.blueprint.json`})}function qe(){T.openTextDialog({data:{title:_(`views.automation.clear`),contentText:_(`views.automation.clear_confirm`),confirmText:_(`views.automation.clear`)},onConfirm:async()=>{W.value?.clearAll(),q.value&&(q.value.nodes=[],q.value.edges=[]),P.selectedNodeId=null,X()}})}function Je(){if(!q.value)return;let e=q.value._id;T.openTextDialog({data:{title:_(`views.automations.delete`),contentText:_(`views.automations.delete_confirm`),confirmText:_(`views.automations.delete`)},onConfirm:async()=>{await ue({id:e}),c.push(`/automations`)}})}function Ye(){c.push(`/automations`)}return ie(I,e=>{P.activeFlowId=e===`new`?null:e??null,P.selectedNodeId=null,P.lastOutput=null,K.value=!1,e===`new`?Me():q.value=null},{immediate:!0}),ie(B,e=>{e&&!K.value&&(q.value=JSON.parse(JSON.stringify(e)),P.validationIssues=Qe(q.value))},{immediate:!0}),ie(()=>P.draftDirty,e=>{e&&(P.draftDirty=!1,X())}),de(e=>!K.value||_e?!0:(T.openTextDialog({data:{title:_(`views.automation.unsaved_title`),contentText:_(`views.automation.unsaved_message`),confirmText:_(`views.automation.discard`)},onConfirm:async()=>{_e=!0,c.push(e.fullPath)}}),!1)),(r,i)=>{let a=Ee,o=e,s=p,c=ge,l=we,u=t,d=n;return w(),A(`div`,cn,[N(s,{position:`left`},{default:y(()=>[N(o,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:Ye},{icon:y(()=>[N(a,{class:`w-6 h-6`})]),_:1})]),_:1}),U(q)?(w(),A(R,{key:0},[N(rn,{flow:U(q),"show-history":!U(L)&&U(oe),onShowHistory:Pe,"onUpdate:name":Fe,onToggleEnabled:i[0]||=e=>{U(q).enabled=!U(q).enabled,X()},onToggleSuppressDuplicates:i[1]||=e=>{U(q).suppressDuplicates=!U(q).suppressDuplicates,X()},onToggleSingleExecution:i[2]||=e=>{U(q).singleExecution=!U(q).singleExecution,X()}},null,8,[`flow`,`show-history`]),k(`div`,ln,[U(x)?V(``,!0):(w(),F(tn,{key:0,class:`w-[240px] shrink-0`})),N(Et,{ref_key:`canvasRef`,ref:W,flow:U(q),mobile:U(x),class:`flex-1 min-w-0`,onNodeSelect:Be,onChange:Z},null,8,[`flow`,`mobile`]),U(x)?V(``,!0):(w(),A(`div`,{key:1,class:`shrink-0 overflow-hidden transition-[width] duration-200 ease-in-out`,style:E({width:U(J)?`300px`:`0px`})},[U(J)?(w(),F(Kt,{key:0,node:U(J),class:`w-[300px]`,onClose:i[3]||=e=>U(P).selectedNodeId=null,"onUpdate:data":i[4]||=e=>Ie(U(P).selectedNodeId,e),onDelete:Ue},null,8,[`node`])):V(``,!0)],4))]),N(c,{model:U(Se),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},style:E({position:`fixed`,zIndex:15,bottom:`calc(${U(re)}px + ${U(K)?`4.25rem`:`1.25rem`} + var(--safe-area-inset-bottom))`,right:U(xe)||`calc(1.25rem + var(--safe-area-inset-right))`,transition:`right 0.2s ease-in-out, bottom 0.2s ease-in-out`}),pt:{root:{style:`pointer-events: none`}}},{button:y(({visible:e,toggleCallback:t})=>[N(o,{rounded:``,severity:`secondary`,class:`pointer-events-auto`,onClick:t},{icon:y(()=>[k(`div`,un,[k(`div`,{class:O([`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}]),style:{backgroundColor:`var(--text-color)`}},null,2),k(`div`,{class:O([`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}]),style:{backgroundColor:`var(--text-color)`}},null,2),k(`div`,{class:O([`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}]),style:{backgroundColor:`var(--text-color)`}},null,2)])]),_:2},1032,[`onClick`])]),item:y(({item:e,toggleCallback:t})=>[M((w(),F(o,te({severity:`secondary`},e.buttonProps,{rounded:``,class:`pointer-events-auto`,onClick:t}),{icon:y(()=>[(w(),F(S(e.icon)))]),_:2},1040,[`onClick`])),[[d,{value:e.label}]])]),_:1},8,[`model`,`style`]),U(x)?M((w(),F(o,{key:0,rounded:``,class:`pointer-events-auto text-white`,style:E({position:`fixed`,zIndex:15,bottom:`calc(${U(re)}px + 1.25rem + var(--safe-area-inset-bottom))`,right:`calc(4.75rem + var(--safe-area-inset-right))`}),onClick:i[5]||=e=>G.value=!0},{icon:y(()=>[N(U(je),{class:`w-5 h-5`})]),_:1},8,[`style`])),[[d,{value:U(_)(`views.automation.add_step`)}]]):V(``,!0),U(K)?M((w(),F(o,{key:1,rounded:``,severity:`success`,class:`pointer-events-auto text-white`,style:E({position:`fixed`,zIndex:15,bottom:`calc(${U(re)}px + 1.25rem + var(--safe-area-inset-bottom))`,right:U(xe)||`calc(1.25rem + var(--safe-area-inset-right))`,transition:`right 0.2s ease-in-out`}),onClick:Re},{icon:y(()=>[N(U(Oe),{class:`w-5 h-5`})]),_:1},8,[`style`])),[[d,{value:U(_)(`views.automation.save`)}]]):V(``,!0),N(l,{modelValue:U(G),"onUpdate:modelValue":i[6]||=e=>ae(G)?G.value=e:null,title:U(_)(`views.automation.add_step`),"max-height":`70vh`},{default:y(()=>[N(tn,{mode:`click`,onNodeClick:He})]),_:1},8,[`modelValue`,`title`])],64)):U(H)?(w(),A(`div`,dn,[N(u,{class:`!w-8 !h-8`,"stroke-width":`5`})])):(w(),A(`div`,fn,[k(`span`,pn,b(U(_)(`views.automations.no_automations`)),1)]))])}}});export{mn as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./AutomationStoreDetail-BenRMMtV.js","./vendor-cameraui-BbGOMenD.js","./rolldown-runtime-C0FnF6B9.js","./vendor-DGke_6M4.js","./api-BNrZVfeD.js","./intercomService-Du8V_HxF.js","./vendor-zod-CBbC1rE7.js","./types-CNLAvgyw.js","./alert-outline-D7zaSJH_.js","./eventIcons-cdzqQc0W.js","./vendor-core-tgH2YubJ.js","./vendor-primevue-DNJJiEZl.js","./vendor-dnd-CEJS9JKU.js","./close-BbEPZQqa.js","./vendor-draggabilly-BY7O1F_Z.js","./api-B0wYDGQj.css","./check-circle-DHAAn6A6.js","./plugins-DKtX7zQp.js","./automations-BBIBV4Uu.js","./CuiPluginTrustBadge-Bmm1qYdC.js","./CuiPluginTrustBadge-QHTLaN1n.css","./account-Bu30He0P.js","./types-DwbeYXvn.js","./bell-ring-CyCFPUL_.js","./webhook-oVbP79Yk.js","./types-v-mK9gdq.css","./close-circle-BSUSUs4K.js","./AutomationStoreDetail--egqUOqn.css"])))=>i.map(i=>d[i]);
2
- import{Bt as e,Ht as t,J as n,Kt as r,L as i,Vr as a}from"./vendor-cameraui-BbGOMenD.js";import{An as o,ct as s,ir as c,st as l,wn as u}from"./api-BNrZVfeD.js";import{$n as d,Cr as f,Ht as p,In as m,Rn as h,cn as g,dn as _,dr as v,er as y,gn as b,hn as x,ln as S,or as C,rn as w,sn as T,tn as E,un as D,vn as O,yr as k}from"./vendor-DGke_6M4.js";import{F as A,P as j,U as M,d as N,j as ee}from"./vendor-primevue-DNJJiEZl.js";import{t as P}from"./automations-BBIBV4Uu.js";import{i as F,t as I}from"./CuiPluginTrustBadge-Bmm1qYdC.js";import{t as L}from"./account-Bu30He0P.js";import{a as R,i as z,n as B,r as V,t as H}from"./types-DwbeYXvn.js";import{t as U}from"./search-BXbDWhLk.js";var W={class:`automation-store-card-body`},G={class:`flex items-start gap-2 min-w-0`},K={class:`min-w-0 flex-1`},q={class:`flex items-center gap-2 min-w-0`},J={class:`font-medium text-base truncate`},Y={key:0,class:`automation-store-card-description`},X={class:`flex flex-wrap items-center gap-x-3 gap-y-1 mt-2`},Z={key:0,class:`automation-store-meta`},Q={key:1,class:`flex flex-wrap gap-1 mt-2`},$={key:2,class:`automation-store-inputs mt-auto pt-2`},te={class:`text-muted`},ne=o(O({__name:`CuiAutomationStoreCard`,props:{entry:{}},emits:[`open`],setup(e,{emit:t}){let n=e,i=t,{t:o}=a(),s=T(()=>H(n.entry.requiredInputs,o));function c(e){return e.replace(/([A-Z])/g,` $1`).trim()||e}return(t,n)=>{let a=I,o=B,l=V,u=L,d=F,p=r;return m(),_(`div`,{class:`automation-store-card shadow-sm transition-default card-background`,role:`button`,tabindex:`0`,onClick:n[0]||=t=>i(`open`,e.entry),onKeydown:n[1]||=E(t=>i(`open`,e.entry),[`enter`])},[g(`div`,W,[g(`div`,G,[g(`div`,K,[g(`div`,q,[g(`h4`,J,f(e.entry.title),1),b(a,{trust:`official`,"show-label":!1,class:`flex-shrink-0`})])]),e.entry.featured?y((m(),S(o,{key:0,class:`w-4 h-4 flex-shrink-0 text-primary`},null,512)),[[p,{value:t.$t(`components.automation_store.featured`)},void 0,{top:!0}]]):D(``,!0)]),e.entry.description?(m(),_(`p`,Y,f(e.entry.description),1)):D(``,!0),g(`div`,X,[b(l,{category:e.entry.category},null,8,[`category`]),e.entry.author?(m(),_(`span`,Z,[b(u,{class:`automation-store-meta-icon`}),x(` `+f(e.entry.author),1)])):D(``,!0)]),e.entry.requiredPlugins?.length?(m(),_(`div`,Q,[(m(!0),_(w,null,h(e.entry.requiredPlugins,e=>(m(),_(`span`,{key:e,class:`automation-store-plugin-chip`},[b(d,{class:`automation-store-meta-icon`}),x(` `+f(c(e)),1)]))),128))])):D(``,!0),k(s).length?(m(),_(`div`,$,[g(`span`,te,f(t.$t(`components.automation_store.needs`))+`:`,1),x(` `+f(k(s).join(`, `)),1)])):D(``,!0)])],32)}}}),[[`__scopeId`,`data-v-50879f29`]]),re={class:`flex flex-wrap gap-2 mt-4`},ie={key:0,class:`mt-6`},ae={class:`featured-row custom-scrollbar mt-3`},oe={class:`flex flex-row items-center justify-center w-full mt-8`},se={key:3,class:`w-full`},ce={key:4,class:`text-center py-10`},le={class:`text-muted mb-2`},ue={class:`text-muted`},de={key:5,class:`automation-store-list`},fe=o(O({__name:`AutomationStore`,setup(o,{expose:x}){let E=s(()=>p(()=>import(`./AutomationStoreDetail-BenRMMtV.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]),import.meta.url)),O=new P,F=l(),{t:I}=a(),L=v(!1),B=v(``),V=v(`all`),H=v(`featured`),{data:W,isBusy:G,refetch:K}=O.getAutomationStoreQuery(L),q=T(()=>[{label:I(`components.automation_store.filter_all_categories`),value:`all`},...R.map(e=>({label:I(z[e].labelKey),value:e}))]),J=T(()=>[{label:I(`components.automation_store.sort_featured`),value:`featured`},{label:I(`components.automation_store.sort_name`),value:`name`}]),Y=T(()=>{let e=(W.value??[]).slice(),t=B.value.toLowerCase().trim();return t&&(e=e.filter(e=>e.title.toLowerCase().includes(t)||(e.description??``).toLowerCase().includes(t)||(e.tags??[]).some(e=>e.toLowerCase().includes(t)))),V.value!==`all`&&(e=e.filter(e=>e.category===V.value)),e.sort((e,t)=>H.value===`featured`&&!!e.featured!=!!t.featured?e.featured?-1:1:e.title.localeCompare(t.title)),e}),X=T(()=>Y.value.filter(e=>e.featured)),Z=T(()=>Y.value.filter(e=>!e.featured));function Q(e){F.openComponentDialog(E,{data:{title:I(`components.dialog.title.details`),hideConfirmButton:!0,contentProps:{id:e.id}}})}function $(){L.value=!0,K().finally(()=>{L.value=!1})}return x({isLoading:G}),(a,o)=>{let s=U,l=j,p=i,v=A,x=ee,T=ne,E=u,O=e,P=t,F=N,I=M,L=n,R=c,z=r;return m(),_(`div`,null,[b(v,null,{default:d(()=>[b(l,null,{default:d(()=>[b(s,{class:`w-4 h-4`})]),_:1}),b(p,{modelValue:k(B),"onUpdate:modelValue":o[0]||=e=>C(B)?B.value=e:null,modelModifiers:{trim:!0},placeholder:a.$t(`components.automation_store.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),g(`div`,re,[b(x,{modelValue:k(V),"onUpdate:modelValue":o[1]||=e=>C(V)?V.value=e:null,options:k(q),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:a.$t(`components.automation_store.filter_category`)},null,8,[`modelValue`,`options`,`placeholder`]),b(x,{modelValue:k(H),"onUpdate:modelValue":o[2]||=e=>C(H)?H.value=e:null,options:k(J),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:a.$t(`components.automation_store.sort_by`)},null,8,[`modelValue`,`options`,`placeholder`])]),!k(G)&&k(X).length?(m(),_(`div`,ie,[g(`h3`,null,f(a.$t(`components.automation_store.featured`)),1),g(`div`,ae,[(m(!0),_(w,null,h(k(X),e=>(m(),_(`div`,{key:e.id,class:`featured-item`},[b(T,{entry:e,onOpen:Q},null,8,[`entry`])]))),128))])])):D(``,!0),g(`div`,oe,[g(`h3`,null,f(a.$t(`components.automation_store.automations`)),1),y((m(),S(O,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md ml-auto`,onClick:$},{icon:d(()=>[b(E,{width:`100%`,height:`100%`})]),_:1})),[[z,{value:a.$t(`components.automation_store.refresh`)},void 0,{left:!0}]]),b(P,{size:`small`,class:`ml-2 rounded-full`,value:String(k(Z).length)},null,8,[`value`])]),k(G)?(m(),S(F,{key:1,mode:`indeterminate`,class:`my-3 !h-[1px]`})):(m(),S(I,{key:2,class:`m-0 py-3`})),k(G)?(m(),_(`div`,se,[(m(),_(w,null,h(4,e=>b(L,{key:e,class:`mb-2`,height:`120px`})),64))])):!k(Z).length&&!k(X).length?(m(),_(`div`,ce,[g(`div`,le,[b(R,{class:`w-12 h-12 mx-auto opacity-30`})]),g(`p`,ue,f(a.$t(`components.automation_store.empty`)),1)])):(m(),_(`div`,de,[(m(!0),_(w,null,h(k(Z),e=>(m(),S(T,{key:e.id,entry:e,onOpen:Q},null,8,[`entry`]))),128))]))])}}}),[[`__scopeId`,`data-v-316964e2`]]);export{fe as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./AutomationStore-BZGR_5Xl.js","./vendor-cameraui-BbGOMenD.js","./rolldown-runtime-C0FnF6B9.js","./vendor-DGke_6M4.js","./api-BNrZVfeD.js","./intercomService-Du8V_HxF.js","./vendor-zod-CBbC1rE7.js","./types-CNLAvgyw.js","./alert-outline-D7zaSJH_.js","./eventIcons-cdzqQc0W.js","./vendor-core-tgH2YubJ.js","./vendor-primevue-DNJJiEZl.js","./vendor-dnd-CEJS9JKU.js","./close-BbEPZQqa.js","./vendor-draggabilly-BY7O1F_Z.js","./api-B0wYDGQj.css","./automations-BBIBV4Uu.js","./CuiPluginTrustBadge-Bmm1qYdC.js","./CuiPluginTrustBadge-QHTLaN1n.css","./account-Bu30He0P.js","./types-DwbeYXvn.js","./bell-ring-CyCFPUL_.js","./webhook-oVbP79Yk.js","./types-v-mK9gdq.css","./search-BXbDWhLk.js","./AutomationStore-Q25Okhz8.css","./AutomationImport-CEJdhE_d.js","./plugins-DKtX7zQp.js","./useUserOptions-CJjImz8V.js","./useCameraOptions-Dt2J8sP_.js","./automationBlueprint-D0F9AHk9.js"])))=>i.map(i=>d[i]);
2
- import{Bt as e,J as t,Kt as n,L as r,Vr as i,q as a}from"./vendor-cameraui-BbGOMenD.js";import{Dr as o,H as s,L as c,Mn as l,Pn as u,R as d,Rn as f,Sn as p,U as m,bn as h,ct as g,ir as ee,jn as te,st as _,z as ne}from"./api-BNrZVfeD.js";import{$n as v,Cr as y,Hn as b,Ht as x,In as S,Jn as re,Rn as C,Sr as w,Xt as ie,br as T,cn as E,dn as D,dr as O,er as k,gn as A,hn as j,ln as M,nn as N,or as ae,rn as P,sn as F,sr as I,un as L,vn as R,yr as z}from"./vendor-DGke_6M4.js";import{u as oe}from"./vendor-core-tgH2YubJ.js";import{F as se,K as B,P as ce}from"./vendor-primevue-DNJJiEZl.js";import{t as le}from"./close-BbEPZQqa.js";import{t as ue}from"./alert-circle-D2fAQwTX.js";import{t as de}from"./automations-BBIBV4Uu.js";import{t as fe}from"./nodeDefinitions-Dop49tx8.js";import{n as pe}from"./types-DuwD8xp5.js";import{t as me}from"./search-BXbDWhLk.js";import{t as he}from"./pause-DKzvPG2b.js";import{t as ge}from"./back-filled-BPBVnQjx.js";import{t as _e}from"./plus-CHPYoMO_.js";var V={class:`flex items-center gap-3`},ve={class:`flex-1 min-w-0`},ye={class:`flex items-center gap-1.5`},be={class:`font-medium text-sm truncate text-color`},xe={class:`block truncate`},Se=R({__name:`CuiAutomationFlowCard`,props:{flow:{},selectionMode:{type:Boolean},selected:{type:Boolean}},emits:[`click`,`toggle`],setup(e){let t=e,{t:r}=i(),o=F(()=>t.flow.nodes.find(e=>e.type?.startsWith(`trigger-`))),s=F(()=>{if(o.value?.type)return fe(o.value.type)}),c=F(()=>s.value?.icon),l=F(()=>s.value?.color??pe.trigger),u=F(()=>t.flow.lastRun?.status===`error`),d=F(()=>{if(!t.flow.lastRun)return;let e=f(t.flow.lastRun.timestamp);return{value:u.value&&t.flow.lastRun.error?`${e}\n${t.flow.lastRun.error}`:e}});function f(e){return new Date(e).toLocaleString()}return(t,i)=>{let o=p,s=ue,m=B,h=a,g=n;return S(),M(h,{class:`cui-card cursor-pointer select-none`,onClick:i[2]||=e=>t.$emit(`click`)},{content:v(()=>[E(`div`,V,[e.selectionMode?(S(),D(`div`,{key:0,class:T([`w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0`,e.selected?`bg-primary border-primary`:`border-color`])},[e.selected?(S(),M(o,{key:0,class:`w-4 h-4 text-white`})):L(``,!0)],2)):L(``,!0),E(`div`,{class:`flex items-center justify-center w-10 h-10 rounded-lg shrink-0`,style:w({backgroundColor:`${z(l)}20`,color:z(l)})},[(S(),M(b(z(c)),{class:`w-5 h-5`}))],4),E(`div`,ve,[E(`div`,ye,[E(`span`,be,y(e.flow.name),1),e.flow.requiresUpdate?k((S(),M(s,{key:0,class:`w-4 h-4 shrink-0 text-orange-500`},null,512)),[[g,z(r)(`views.automations.requires_update`)]]):L(``,!0)]),E(`div`,{class:T([`text-xs mt-0.5`,z(u)?`text-red-500`:`text-muted`])},[k((S(),D(`span`,xe,[j(y(e.flow.lastRun?`${z(r)(`views.automations.last_run`)}: ${f(e.flow.lastRun.timestamp)}`:z(r)(`views.automations.never_run`)),1)])),[[g,z(d),void 0,{bottom:!0}]])],2)]),e.selectionMode?L(``,!0):(S(),M(m,{key:1,"model-value":e.flow.enabled,class:`shrink-0`,onClick:i[0]||=N(()=>{},[`stop`]),"onUpdate:modelValue":i[1]||=e=>t.$emit(`toggle`,e)},null,8,[`model-value`]))])]),_:1})}}}),H={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function U(e,t){return S(),D(`svg`,H,[...t[0]||=[E(`path`,{fill:`currentColor`,d:`M26 24v4H6v-4H4v4a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2v-4Zm0-10l-1.41-1.41L17 20.17V2h-2v18.17l-7.59-7.58L6 14l10 10z`},null,-1)]])}var Ce=I({name:`carbon-download`,render:U}),W={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function G(e,t){return S(),D(`svg`,W,[...t[0]||=[E(`path`,{fill:`currentColor`,d:`M11.9 10.9a6.53 6.53 0 0 0-1.9 4.6V12H4v4h6v-.5c0 .85.17 1.7.5 2.5H2v-6H1v-2l1-5h16l.89 4.46a6.47 6.47 0 0 0-6.99 1.44M18 2H2v2h16zm5.39 19L22 22.39l-3.12-3.07c-.69.43-1.51.68-2.38.68c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5s4.5 2 4.5 4.5c0 .88-.25 1.71-.69 2.4zM19 15.5a2.5 2.5 0 0 0-5 0a2.5 2.5 0 0 0 5 0`},null,-1)]])}var we=I({name:`mdi-store-search`,render:G}),K={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function q(e,t){return S(),D(`svg`,K,[...t[0]||=[E(`path`,{fill:`currentColor`,d:`M8 5.14v14l11-7z`},null,-1)]])}var Te=I({name:`mdi-play`,render:q}),Ee={class:`flex flex-col`},De={key:0,class:`page-title`},Oe={class:`flex gap-2 mb-4`},ke={key:`empty`,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-20`},Ae={class:`text-muted text-sm`},J=350,je=82,Y=R({__name:`Automations`,setup(a){let p=g(()=>x(()=>import(`./AutomationStore-BZGR_5Xl.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]),import.meta.url)),b=g(()=>x(()=>import(`./AutomationImport-CEJdhE_d.js`),__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,27,16,28,29,30]),import.meta.url)),T=new de,j=oe(),N=_(),I=o(),{t:R}=i(),{smBreakpoint:B}=u(),{width:ue,height:fe}=f(),{data:pe,isBusy:V}=T.getAutomationsQuery(),{mutateAsync:ve}=T.patchAutomationQuery(),{mutateAsync:ye}=T.bulkPatchAutomationsQuery(),{mutateAsync:be,isPending:xe}=T.bulkDeleteAutomationsQuery(),H=O(``),U=re(`fileInputRef`),W=F(()=>h(void 0,`admin`)),G=F(()=>pe.value??[]),K=F(()=>(B.value?1:Math.max(1,Math.floor(ue.value/J)))*Math.max(1,Math.ceil(fe.value/90))),q=F(()=>{let e=H.value.toLowerCase().trim();return e?G.value.filter(t=>t.name.toLowerCase().includes(e)):G.value}),{selectionMode:Y,selectedIds:X,selectedItems:Z,allSelected:Me,bulkBusy:Q,enterSelectionMode:Ne,exitSelectionMode:Pe,toggleSelectAll:Fe,toggleSelection:Ie}=c(q,e=>e._id),$=F(()=>Z.value.length>0&&Z.value.every(e=>!e.enabled));function Le(e){Y.value?Ie(e):Be(e)}async function Re(){if(!Z.value.length||Q.value)return;let e=$.value,t=Z.value.filter(t=>t.enabled!==e).map(e=>e._id);if(t.length){Q.value=!0;try{await ye({ids:t,data:{enabled:e}})}finally{Q.value=!1}}}function ze(){if(!Z.value.length||Q.value)return;let e=Z.value.map(e=>e._id);N.openTextDialog({data:{title:R(`views.automations.delete`),contentText:R(`views.automations.delete_selected_confirm`,{count:e.length}),confirmText:R(`views.automations.delete`),loading:xe},onConfirm:async()=>{Q.value=!0;try{let{failed:t}=await be({ids:e});t.length&&I.add({severity:`error`,detail:R(`views.automations.delete_selected_failed`,{count:t.length}),life:5e3}),Pe()}finally{Q.value=!1}}})}function Be(e){j.push(`/automations/${e}`)}function Ve(){j.push(`/automations/new`)}function He(){N.openComponentDialog(p,{data:{title:R(`views.automations.browse_community`),contentProps:{},hideConfirmButton:!0,fullscreen:!0}})}function Ue(e){N.openComponentDialog(b,{data:{title:R(`components.automation_import.title`),confirmText:R(`components.automation_import.import`),contentProps:{blueprint:e}}})}function We(){U.value?.click()}async function Ge(e){let t=e.target.files?.[0];if(t){try{let e=await t.text(),n=JSON.parse(e);if(!n.version||!n.nodes||!n.edges){I.add({severity:`error`,detail:R(`views.automations.import_invalid`),life:3e3});return}Ue(n)}catch{I.add({severity:`error`,detail:R(`views.automations.import_invalid`),life:3e3})}U.value&&(U.value.value=``)}}return(i,a)=>{let o=ge,c=e,u=m,f=me,p=ce,h=r,g=se,_=we,b=Ce,x=t,re=Se,T=ee,O=te,j=l,N=n;return S(),D(`div`,Ee,[z(B)?L(``,!0):(S(),D(`h1`,De,y(z(R)(`views.automations.title`)),1)),A(u,{position:`left`},{default:v(()=>[A(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=e=>i.$router.push(`/menu`)},{icon:v(()=>[A(o,{class:`w-6 h-6`})]),_:1})]),_:1}),E(`div`,Oe,[A(g,{class:`flex-1`},{default:v(()=>[A(p,null,{default:v(()=>[A(f,{class:`w-4 h-4`})]),_:1}),A(h,{modelValue:z(H),"onUpdate:modelValue":a[1]||=e=>ae(H)?H.value=e:null,placeholder:z(R)(`views.automations.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),z(W)?k((S(),M(c,{key:0,severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:He},{icon:v(()=>[A(_,{class:`w-4.5 h-4.5`})]),_:1})),[[N,{value:z(R)(`views.automations.browse_community`)},void 0,{left:!0}]]):L(``,!0),k((S(),M(c,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:We},{icon:v(()=>[A(b,{class:`w-4.5 h-4.5`})]),_:1})),[[N,{value:z(R)(`views.automations.import_blueprint`)}]]),E(`input`,{ref_key:`fileInputRef`,ref:U,type:`file`,accept:`.json`,class:`hidden`,onChange:Ge},null,544)]),A(ie,{name:`fade-2`,mode:`out-in`},{default:v(()=>[z(V)?(S(),D(`div`,{key:`loading`,class:`grid w-full gap-2`,style:w({gridTemplateColumns:`repeat(auto-fill, minmax(${z(B)?`100%`:`${J}px`}, 1fr))`})},[(S(!0),D(P,null,C(z(K),e=>(S(),M(x,{key:e,height:`${je}px`,class:`cui-card`},null,8,[`height`]))),128))],4)):z(q).length?(S(),D(`div`,{key:`content`,class:`grid w-full gap-2`,style:w({gridTemplateColumns:`repeat(auto-fill, minmax(${z(B)?`100%`:`${J}px`}, 1fr))`})},[(S(!0),D(P,null,C(z(q),e=>(S(),M(re,{key:e._id,flow:e,"selection-mode":z(Y),selected:z(X).has(e._id),onClick:t=>Le(e._id),onToggle:t=>z(ve)({id:e._id,data:{enabled:t}})},null,8,[`flow`,`selection-mode`,`selected`,`onClick`,`onToggle`]))),128))],4)):(S(),D(`div`,ke,[A(T,{class:`w-12 h-12 text-muted`}),E(`span`,Ae,y(z(R)(`views.automations.no_automations`)),1)]))]),_:1}),A(j,{"force-visible":z(Y)},{default:v(()=>[z(Y)?(S(),D(P,{key:1},[A(O,{grouped:``,"tooltip-props":{value:z(R)(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:z(le),"icon-props":{width:`100%`,height:`100%`},onClick:z(Pe)},null,8,[`tooltip-props`,`icon`,`onClick`]),A(O,{grouped:``,"tooltip-props":{value:z(Me)?z(R)(`views.automations.deselect_all`):z(R)(`views.automations.select_all`)},"button-props":{severity:z(Me)?`primary`:`secondary`},icon:z(s),"icon-props":{width:`100%`,height:`100%`},onClick:z(Fe)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),A(O,{grouped:``,"tooltip-props":{value:z($)?z(R)(`views.automations.enable_selected`):z(R)(`views.automations.disable_selected`)},"button-props":{severity:`secondary`,disabled:!z(X).size||z(Q)},icon:z($)?z(Te):z(he),"icon-props":{width:`100%`,height:`100%`},onClick:Re},null,8,[`tooltip-props`,`button-props`,`icon`]),A(O,{grouped:``,"tooltip-props":{value:z(R)(`views.automations.delete_selected`)},"button-props":{severity:`danger`,disabled:!z(X).size||z(Q)},icon:z(ne),"icon-props":{width:`100%`,height:`100%`},onClick:ze},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(S(),D(P,{key:0},[z(W)&&z(G).length?(S(),M(O,{key:0,grouped:``,"tooltip-props":{value:z(R)(`views.automations.select`)},"button-props":{severity:`secondary`},icon:z(d),"icon-props":{width:`100%`,height:`100%`},onClick:z(Ne)},null,8,[`tooltip-props`,`icon`,`onClick`])):L(``,!0),A(O,{grouped:``,"tooltip-props":{value:z(R)(`views.automations.create`)},"button-props":{class:`text-white`},icon:z(_e),"icon-props":{width:`30px`,height:`30px`},onClick:Ve},null,8,[`tooltip-props`,`icon`])],64))]),_:1},8,[`force-visible`])])}}});export{Y as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CuiCameraRecordings-BbaEL2ST.js","./vendor-cameraui-BbGOMenD.js","./rolldown-runtime-C0FnF6B9.js","./vendor-DGke_6M4.js","./api-BNrZVfeD.js","./intercomService-Du8V_HxF.js","./vendor-zod-CBbC1rE7.js","./types-CNLAvgyw.js","./alert-outline-D7zaSJH_.js","./eventIcons-cdzqQc0W.js","./vendor-core-tgH2YubJ.js","./vendor-primevue-DNJJiEZl.js","./vendor-dnd-CEJS9JKU.js","./close-BbEPZQqa.js","./vendor-draggabilly-BY7O1F_Z.js","./api-B0wYDGQj.css","./ring-resize-DyqCo2UN.js","./ungrouped-DHLAmt__.js","./ungrouped-DBRZ-Ori.css","./utils-gctUU5q_.js","./CuiCameraRecordings-CkkHbNyY.css","./CuiCameraTable-C5tQHs63.js","./CuiCameraTable-D-UhqHk4.js","./useStreamStatus-DCSWHdbW.js","./CuiDataTable-DgcJsG-K.js","./CuiDataTable-DPIbKnvU.css","./CuiCameraShares-BIUB1xMa.js","./CuiBottomSheet-CTr-KHC8.js","./CuiBottomSheet-D_0LrjA_.js","./CuiBottomSheet-_KXSb13N.css"])))=>i.map(i=>d[i]);
2
- import{Bt as e,It as t,Kt as n,O as r,Vr as i,g as ee,kt as te,ni as a,q as ne,r as re}from"./vendor-cameraui-BbGOMenD.js";import{An as o,Dr as s,En as c,Fn as ie,Ft as ae,Pn as oe,bn as se,ct as l,et as u,in as ce,pt as le,rn as ue,rt as de,s as d,st as fe,w as pe}from"./api-BNrZVfeD.js";import{$n as f,Cr as p,Ht as m,In as h,Jn as g,Ln as _,On as me,Pn as he,Sr as ge,Xn as v,an as _e,br as y,cn as b,dn as x,dr as S,en as ve,er as C,gn as w,hn as T,ln as E,or as ye,pn as be,rn as xe,sn as D,sr as O,un as k,vn as Se,yr as A}from"./vendor-DGke_6M4.js";import{a as Ce}from"./intercomService-Du8V_HxF.js";import{c as we,l as Te,u as Ee}from"./vendor-core-tgH2YubJ.js";import{B as De,G as Oe,H as ke,V as Ae,W as je,x as Me}from"./vendor-primevue-DNJJiEZl.js";import{t as Ne}from"./useAssistantActions-Kf-5ijVf.js";import{t as Pe}from"./delete-CY8fsIW6.js";import{t as Fe}from"./utils-gctUU5q_.js";import{n as Ie,t as Le}from"./zoom-in-GKNy8xA7.js";import{t as Re}from"./CuiCameraPipCard-BZCayhy_.js";var ze={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Be(e,t){return h(),x(`svg`,ze,[...t[0]||=[b(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[b(`path`,{d:`M12 7v5l2 2m3 8l5-3l-5-3z`}),b(`path`,{d:`M13.017 20.943a9 9 0 1 1 7.831-7.292`})],-1)]])}var Ve=O({name:`tabler-clock-play`,render:Be}),He={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ue(e,t){return h(),x(`svg`,He,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M18 18v2H6v-2zm3-7v2H3v-2zm-3-7v2H6V4z`},null,-1)]])}var We=O({name:`ri-menu5-line`,render:Ue}),Ge={class:`w-full h-full flex flex-col lg:flex-row gap-0 lg:gap-2 relative`},Ke={key:0,class:`h-full flex items-center justify-center`},j=o(Se({__name:`Camera`,setup(o){let O=l(()=>m(()=>import(`./CuiCameraRecordings-BbaEL2ST.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]),import.meta.url)),Se=l(()=>m(()=>import(`./CuiCameraTable-C5tQHs63.js`),__vite__mapDeps([21,22,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,23,24,25]),import.meta.url)),ze=l(()=>m(()=>import(`./CuiCameraShares-BIUB1xMa.js`),__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,24,25]),import.meta.url)),Be=l(()=>m(()=>import(`./CuiBottomSheet-CTr-KHC8.js`),__vite__mapDeps([27,28,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,29]),import.meta.url)),He=new ae,Ue=ee(`@camera.ui/camera-ui-nvr`),j=Ce(),M=s(),qe=fe(),N=i(),P=Me(),F=Te(),Je=Ee(),Ye=Ne(),{openEventTrace:Xe}=u(),{xmdBreakpoint:I,smBreakpoint:L,mdBreakpoint:Ze}=oe(),{topbarOffset:Qe}=ie(),{plugin:R}=te(`@camera.ui/camera-ui-nvr`),$e=pe(),z=D(()=>F.params.cameraname),{data:B}=He.getCameraQuery(z),V=[`Off`,`1m`,`2m`,`3m`,`5m`],H=g(`cameraCardRef`),U=g(`cuiTimelineRef`),et=g(`timelineRef`),W=S(!$e.isTransitioning),tt=S(!1),G=S(!1),K=S(!1),q=S([]),nt=S(),rt=S(),J=S(0),it=S(!1),at=S(!1),Y=S(!1),X=S(!1),ot=D(()=>se(void 0,`admin`)),Z=D(()=>B.value?._id),st=D(()=>!!H.value?.isFullscreen),ct=D(()=>U.value?.currentEventDescription),lt=D(()=>{let e=U.value?.currentEvent?.id;return e?Ue.getEvent(e):void 0}),ut=a(et),dt=D(()=>B.value?.interfaceSettings?.playbackSource??`auto`),Q=r(D(()=>Z.value??``),{sourceRole:dt}),ft=D(()=>{let e=F.query.startTs,t=Number(e);return e&&!isNaN(t)?t:void 0}),pt=D(()=>({locale:N.locale.value,dayNames:P.config.locale?.dayNames,dayNamesShort:P.config.locale?.dayNamesShort,monthNames:P.config.locale?.monthNames,monthNamesShort:P.config.locale?.monthNamesShort})),mt=D(()=>{let e=U.value;return!e?.trimStartMs||!e?.trimEndMs?0:e.trimRecordingDurationMs??e.trimEndMs-e.trimStartMs}),$=D(()=>mt.value<36e5);_(le,{active:K,regions:q});function ht(){let e=lt.value;if(!e||!B.value)return;let t=U.value?.currentTimeMs;Xe(e,B.value,t?Math.floor(t):void 0)}function gt(e){return Fe(e,q.value)}function _t(){K.value=!K.value,K.value||(q.value=[])}if(!W.value){let e=v(()=>$e.isTransitioning,t=>{t||(W.value=!0,e())});setTimeout(()=>{W.value||(W.value=!0,e())},1e3)}function vt(){$.value||(J.value=(J.value+1)%V.length)}function yt(e){try{H.value?.timelineScroll(e)}catch{}}function bt(e){U.value?.scrollToEvent(e)}async function xt(){let e=U.value;if(!e)return;let t=e.trimStartMs,n=e.trimEndMs;if(!t||!n||!Z.value)return;let r=R.value;if(!r?.nvrExport)return;let i=V[J.value],ee=i===`Off`?0:parseInt(i)*60;it.value=!0;try{let e=await r.nvrExport(Z.value,t*1e3,n*1e3,{timelapseIntervalSec:ee||void 0,sourceRole:Q.effectiveRole.value||void 0});await c({url:e.url,filename:e.filename})}catch(e){j.error(`Export failed:`,e),M.add({severity:`error`,summary:N.t(`views.recordings.download_failed`),detail:d(e),life:5e3})}finally{it.value=!1}}function St(){let e=U.value;e?.trimStartMs&&e?.trimEndMs&&Z.value&&qe.openTextDialog({data:{title:N.t(`components.dialog.title.confirm`),contentText:N.t(`components.player.delete_range_confirm`),confirmText:N.t(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:()=>Ct()})}async function Ct(){let e=U.value;if(!e?.trimStartMs||!e?.trimEndMs||!Z.value)return;let t=R.value;if(t?.nvrDeleteRange){at.value=!0;try{let n=await t.nvrDeleteRange(Z.value,e.trimStartMs*1e3,e.trimEndMs*1e3);n?.endMs>n?.startMs?(M.add({severity:`success`,detail:N.t(`components.player.delete_range_done`),life:4e3}),X.value=!1):e.trimEndMs>Date.now()-18e4?M.add({severity:`info`,detail:N.t(`components.player.delete_range_too_recent`),life:5e3}):M.add({severity:`info`,detail:N.t(`components.player.delete_range_nothing`),life:4e3})}catch(e){j.error(`Range delete failed:`,e),M.add({severity:`error`,detail:d(e),life:5e3})}finally{at.value=!1}}}function wt(){Y.value=!Y.value,Y.value&&(X.value=!1)}function Tt(){X.value=!X.value,X.value&&(Y.value=!1)}return v(()=>H.value?.timelineState,e=>{e===!1&&(Y.value=!1,X.value=!1)}),v(ft,e=>{e&&(Q.mode.value=`play`)},{immediate:!0,flush:`sync`}),v([Z,ft],([e,t])=>{e&&t&&rt.value!==t&&B.value?.name===z.value&&(rt.value=t,Q.play(t*1e3),U.value?.scrollToTime(t),Je.replace({query:{...F.query,startTs:void 0}}))},{immediate:!0}),v(z,(e,t)=>{t&&I.value&&tt.value&&me(()=>{me(()=>{try{H.value?.toggleTimeline()}catch{}})})},{flush:`pre`}),v(()=>H.value?.timelineState,e=>{e!==void 0&&(tt.value=e)}),v(Y,e=>{e||(J.value=0)}),v($,e=>{e&&(J.value=0)}),we((e,t)=>{e.params.cameraname!==t.params.cameraname&&Q.isActive.value&&Q.stop()}),he(()=>{Ye.register({name:`timeline.seek`,description:`Jump the recording of the open camera to a time. Args: { time: ISO 8601 with offset }.`,run:e=>{let t=Date.parse(String(e.time??``));if(Number.isNaN(t))throw Error(`time is not a valid ISO 8601 timestamp`);return Q.play(t*1e3),U.value?.scrollToTime(t),`timeline at ${new Date(t).toLocaleString()}`}}),Ye.register({name:`timeline.zoom`,description:`Zoom the timeline of the open camera. Args: { direction: "in" | "out" }.`,run:e=>(e.direction===`in`?U.value?.zoomIn():U.value?.zoomOut(),`timeline zoomed ${e.direction===`in`?`in`:`out`}`)})}),(r,i)=>{let ee=Re,te=t,a=De,o=Ae,s=ke,c=je,ie=Oe,ae=ne,oe=ue,l=ce,u=e,le=We,d=Ve,fe=de,pe=Pe,m=Le,g=Ie,_=n;return h(),x(`div`,{class:y({"pt-2":!A(L),"px-2":!A(L)})},[b(`div`,Ge,[b(`div`,{class:y([`w-full flex flex-col gap-2`,{"h-full":!A(L)}]),style:ge({paddingRight:!A(L)&&!A(I)?`calc(${A(ut).width.value||400}px + 0.5rem)`:`0px`})},[b(`div`,{class:y({"flex max-h-[60%]":!A(L)})},[(h(),E(ee,{ref_key:`cameraCardRef`,ref:H,key:A(z),"source-role":A(nt),"onUpdate:sourceRole":i[0]||=e=>ye(nt)?nt.value=e:null,"back-button":A(L),"camera-info":A(z),"flat-card":A(L),resizable:A(L),"control-microphone-button":!A(L),"toolbar-timeline-button":A(I),"toolbar-description-button":!!A(R),"event-description":A(ct),"current-event":A(lt),onOpenTrace:ht,"camera-name-overlay":!1,"show-shortcuts":``,"view-transition":``,class:`flex-1 h-full min-w-0`},null,8,[`source-role`,`back-button`,`camera-info`,`flat-card`,`resizable`,`control-microphone-button`,`toolbar-timeline-button`,`toolbar-description-button`,`event-description`,`current-event`]))],2),A(L)?k(``,!0):(h(),E(ae,{key:0,class:`cui-card flex-1 min-h-0`,pt:{content:{class:`overflow-hidden h-full flex flex-col`},body:{class:`h-full`}}},{content:f(()=>[A(W)?(h(),E(ie,{key:1,value:`0`,lazy:``,class:`h-full flex flex-col`},{default:f(()=>[w(o,{class:`shrink-0`},{default:f(()=>[w(a,{value:`0`,class:`pt-0 text-sm`},{default:f(()=>[T(p(r.$t(`views.camera.recordings`)),1)]),_:1}),w(a,{value:`1`,class:`pt-0 text-sm`},{default:f(()=>[T(p(r.$t(`views.camera.cameras`)),1)]),_:1}),(`hasPermission`in r?r.hasPermission:A(se))(void 0,`admin`)?(h(),E(a,{key:0,value:`2`,class:`pt-0 text-sm`},{default:f(()=>[T(p(r.$t(`views.camera.shares`)),1)]),_:1})):k(``,!0)]),_:1}),w(c,{class:`camera-tab-panels px-0 pb-0 flex-1 min-h-0`},{default:f(()=>[w(s,{value:`0`,class:`!overflow-hidden`},{default:f(()=>[A(Z)?(h(),E(A(O),{key:0,"camera-id":A(Z),"camera-name":A(z),camera:A(B),onScrollToEvent:bt},null,8,[`camera-id`,`camera-name`,`camera`])):k(``,!0)]),_:1}),w(s,{value:`1`},{default:f(()=>[w(A(Se),{"active-camera":A(z)},null,8,[`active-camera`])]),_:1}),(`hasPermission`in r?r.hasPermission:A(se))(void 0,`admin`)?(h(),E(s,{key:0,value:`2`},{default:f(()=>[A(Z)?(h(),E(A(ze),{key:0,"camera-id":A(Z),"camera-name":A(z)},null,8,[`camera-id`,`camera-name`])):k(``,!0)]),_:1})):k(``,!0)]),_:1})]),_:1})):(h(),x(`div`,Ke,[w(te,{class:`w-[32px] h-[32px]`,"stroke-width":`4`})]))]),_:1}))],6),A(I)?k(``,!0):C((h(),x(`div`,{key:0,id:`camera-sidebar`,ref_key:`timelineRef`,ref:et,class:y({"min-w-[300px]":A(L),"min-w-[400px]":!A(L),"border-t-[1px] border-color":A(L),"lg:fixed lg:right-safe-offset-2 lg:bottom-safe-offset-2":!A(L)&&!A(I)}),style:ge({height:`calc(100% - ${A(Qe)}px - 1rem - var(--safe-area-inset-top) - var(--safe-area-inset-bottom))`})},null,6)),[[ve,!A(st)]])]),A(L)&&A(W)?(h(),E(A(Be),{key:0,modelValue:A(G),"onUpdate:modelValue":i[1]||=e=>ye(G)?G.value=e:null,height:`70vh`,"max-height":`85vh`},{default:f(()=>[(h(),E(ie,{key:A(z),value:`0`,lazy:``,class:`h-full flex flex-col`},{default:f(()=>[w(o,{class:`shrink-0 w-full mt-5`},{default:f(()=>[w(a,{value:`0`,class:`pt-0 text-sm flex-1`},{default:f(()=>[T(p(r.$t(`views.camera.recordings`)),1)]),_:1}),w(a,{value:`1`,class:`pt-0 text-sm flex-1`},{default:f(()=>[T(p(r.$t(`views.camera.cameras`)),1)]),_:1}),w(a,{value:`2`,class:`pt-0 text-sm flex-1`},{default:f(()=>[T(p(r.$t(`views.camera.shares`)),1)]),_:1})]),_:1}),w(c,{class:`mobile-sheet-panels px-0 pb-0 flex-1 min-h-0`},{default:f(()=>[w(s,{value:`0`,class:`h-full !overflow-hidden`},{default:f(()=>[A(Z)?(h(),E(A(O),{key:0,"camera-id":A(Z),"camera-name":A(z),camera:A(B),compact:``,onScrollToEvent:bt},null,8,[`camera-id`,`camera-name`,`camera`])):k(``,!0)]),_:1}),w(s,{value:`1`,class:`h-full overflow-auto`},{default:f(()=>[w(A(Se),{"active-camera":A(z)},null,8,[`active-camera`])]),_:1}),w(s,{value:`2`,class:`h-full overflow-auto`},{default:f(()=>[A(Z)?(h(),E(A(ze),{key:0,"camera-id":A(Z),"camera-name":A(z)},null,8,[`camera-id`,`camera-name`])):k(``,!0)]),_:1})]),_:1})]),_:1}))]),_:1},8,[`modelValue`])):k(``,!0),(h(),E(_e,{key:A(z),to:A(I)?`#timeline-container`:`#camera-sidebar`,defer:``},[(h(),E(A(re),{ref_key:`cuiTimelineRef`,ref:U,key:A(z),"camera-ids":A(Z)?[A(Z)]:[],loading:!A(W),"flat-card":A(L)||A(I),type:A(I)?`horizontal`:`vertical`,"show-segments":!A(L)&&!A(I),"show-zoom":!0,"initial-timestamp":A(ft),class:y({"absolute bottom-0 left-0 w-full h-[200px]":A(I),"h-full":!A(I)}),"card-class":{"h-[200px]":A(I)},transparent:A(I),"dark-mode":A(I),"overlay-class":A(I)?`timeline-overlay !z-0`:void 0,"locale-settings":A(pt),"trim-mode":A(Y)||A(X),"trim-variant":A(X)?`delete`:`export`,"export-available":!0,"delete-available":A(ot),"ignore-bottom-safe-area":!A(I),"md-breakpoint":A(Ze),"zone-filter-active":A(K),"zone-has-regions":A(q).length>0,"zone-box-matcher":gt,onScrolling:yt,onToggleZoneFilter:_t,onToggleExportMode:wt,onToggleDeleteMode:Tt},{"bottom-right":f(()=>[b(`div`,{class:y([`flex gap-2 items-center`,A(I)?`flex-row-reverse`:`flex-col-reverse`])},[A(L)&&!A(Y)&&!A(X)?C((h(),E(u,{key:0,rounded:``,severity:`primary`,disabled:A(H)?.micButtonDisabled??!0,class:`shadow-md pointer-events-auto w-[46px] h-[46px]`,onClick:i[2]||=e=>A(H)?.toggleMicrophone(void 0,!0)},{icon:f(()=>[A(H)?.micActive?(h(),E(oe,{key:0,width:`100%`,height:`100%`})):(h(),E(l,{key:1,width:`100%`,height:`100%`}))]),_:1},8,[`disabled`])),[[_,{value:r.$t(`components.player.intercom`)},void 0,{left:!0}]]):k(``,!0),A(L)&&!A(Y)&&!A(X)?C((h(),E(u,{key:1,rounded:``,severity:`secondary`,class:`shadow-md pointer-events-auto w-[42px] h-[42px]`,onClick:i[3]||=e=>G.value=!0},{icon:f(()=>[w(le,{width:`100%`,height:`100%`})]),_:1})),[[_,{value:r.$t(`components.player.more`)},void 0,{left:!0}]]):k(``,!0),A(Y)?(h(),x(xe,{key:2},[C((h(),E(u,{rounded:``,severity:`secondary`,disabled:A($),label:A(J)>0?V[A(J)]:void 0,class:y([`shadow-md pointer-events-auto !text-xs !font-semibold`,A(I)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:vt},be({_:2},[A(J)===0?{name:`icon`,fn:f(()=>[w(d,{width:`100%`,height:`100%`,class:`opacity-40`})]),key:`0`}:void 0]),1032,[`disabled`,`label`,`class`])),[[_,{value:A($)?r.$t(`components.player.timelapse_min_duration`):A(J)>0?`${r.$t(`components.player.timelapse`)}: ${V[A(J)]}`:r.$t(`components.player.timelapse_off`)},void 0,{left:!0}]]),C((h(),E(u,{rounded:``,severity:`success`,loading:A(it),class:y([`shadow-md pointer-events-auto`,A(I)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:xt},{icon:f(()=>[w(fe,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`class`])),[[_,{value:r.$t(`components.player.export_selection`)},void 0,{left:!0}]])],64)):k(``,!0),A(X)?C((h(),E(u,{key:3,rounded:``,severity:`danger`,loading:A(at),class:y([`shadow-md pointer-events-auto`,A(I)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:St},{icon:f(()=>[w(pe,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`class`])),[[_,{value:r.$t(`components.player.delete_selection`)},void 0,{left:!0}]]):k(``,!0),A(L)||A(I)?(h(),x(xe,{key:4},[C((h(),E(u,{rounded:``,severity:`secondary`,disabled:(A(U)?.zoomLevel??0)>=8,class:y([`shadow-md pointer-events-auto`,A(I)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:i[4]||=e=>A(U)?.zoomIn()},{icon:f(()=>[w(m,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`class`])),[[_,{value:r.$t(`components.form.tooltip.zoom_in`)},void 0,{left:!0}]]),C((h(),E(u,{rounded:``,severity:`secondary`,disabled:(A(U)?.zoomLevel??0)<=0,class:y([`shadow-md pointer-events-auto`,A(I)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:i[5]||=e=>A(U)?.zoomOut()},{icon:f(()=>[w(g,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`class`])),[[_,{value:r.$t(`components.form.tooltip.zoom_out`)},void 0,{left:!0}]])],64)):k(``,!0)],2)]),_:1},8,[`camera-ids`,`loading`,`flat-card`,`type`,`show-segments`,`initial-timestamp`,`class`,`card-class`,`transparent`,`dark-mode`,`overlay-class`,`locale-settings`,`trim-mode`,`trim-variant`,`delete-available`,`ignore-bottom-safe-area`,`md-breakpoint`,`zone-filter-active`,`zone-has-regions`]))],8,[`to`]))],2)}}}),[[`__scopeId`,`data-v-433600d6`]]);export{j as default};