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

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 (427) hide show
  1. package/dist/interface/assets/{404-Bdbp69ox.js → 404-6ZpTZ3KD.js} +1 -1
  2. package/dist/interface/assets/{About-DmtCok-y.js → About-DNvcZ3EY.js} +1 -1
  3. package/dist/interface/assets/{Assistant-D-Lv6JtY.js → Assistant-kFFjOesz.js} +1 -1
  4. package/dist/interface/assets/{Automation-LQ3TssrU.js → Automation-DPH-VMGf.js} +3 -3
  5. package/dist/interface/assets/{AutomationImport-B_ra3G3_.js → AutomationImport-Db74ZBgg.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-DSXSaQjp.js → AutomationStore-CFnapdvO.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-B5_Meb6R.js → AutomationStoreDetail-BCmfVMtC.js} +2 -2
  8. package/dist/interface/assets/{Automations-DHfPRe8W.js → Automations-D41at64b.js} +2 -2
  9. package/dist/interface/assets/{Camera-CDbfvtJv.js → Camera-BhFx-a1S.js} +2 -2
  10. package/dist/interface/assets/{CameraConsole-DX-IRmd_.js → CameraConsole-C89mOigo.js} +1 -1
  11. package/dist/interface/assets/{Cameras-D9m2bxWj.js → Cameras-TiX75P_R.js} +1 -1
  12. package/dist/interface/assets/{Camview-DKOYY6TI.js → Camview-Bs3Ze0VB.js} +1 -1
  13. package/dist/interface/assets/{CertificateUpload-B8ccb3n-.js → CertificateUpload-DBfJBo-w.js} +1 -1
  14. package/dist/interface/assets/{Config-DCIUUWCv.js → Config-CiCqmjhC.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionAssistant-6IUzZeNW.js → ConfigActionAssistant-DCW9F-o_.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionCameraControl-EXuiNMuG.js → ConfigActionCameraControl-V170tTXG.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-Cs4sYEk-.js → ConfigActionDelay-D1CZOls9.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-gUM6RQ6Y.js → ConfigActionHttp-ZOsjh7jZ.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-CPl5kVgO.js → ConfigActionImageInput-Dq5NtDno.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-BeBMCOJ-.js → ConfigActionMqtt-Cyk0f9mh.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-DJFHdFDN.js → ConfigActionNotification-Ca6IygV-.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-BXoztPTs.js → ConfigActionNotificationControl-CCiWBmJq.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-BGrFWqZ1.js → ConfigActionOutput-B4zPAsNS.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-CdIIMcJZ.js → ConfigActionPlugin-C25suoOA.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-MRVGJ22A.js → ConfigActionSensor-CgIBk5qS.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-CxA4f5ag.js → ConfigActionSnapshot-Dj4_bcR-.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-DmU4seLh.js → ConfigActionVariable-CDlIj4Ji.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-Tgdrk7lo.js → ConfigConditionIfElse-B9Q2pZxM.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-CyyzoL6Q.js → ConfigConditionSensorState-DrOBPrDB.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-DprK5AbR.js → ConfigConditionSwitch-BdfA75Z4.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-CDruEvBp.js → ConfigConditionTime-CCpFkanY.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-BhlgTOW9.js → ConfigSensorValueInput-B7Qc06SA.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-4vdEST9Y.js → ConfigTriggerDetection-QOLhT23F.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerGeofence-1B0BdCOw.js → ConfigTriggerGeofence-HUhmtzd_.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerManual-BQLDqwZh.js → ConfigTriggerManual-Bpyy9Jzz.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-B3YNOB6U.js → ConfigTriggerMqtt-wxB4LtkP.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-DhbJGOT7.js → ConfigTriggerSchedule-D7X5Oa5t.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-iMPg_Pmb.js → ConfigTriggerSensor-DM7qewdx.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-MaNZTO3h.js → ConfigTriggerSystem-CK573JKn.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-B3WfXjPv.js → ConfigTriggerWebhook-yoouSRHG.js} +1 -1
  41. package/dist/interface/assets/{Console-BQLINPCG.js → Console-BCL2lVJv.js} +1 -1
  42. package/dist/interface/assets/{CuiAssistantConversation-yCRlgjtr.js → CuiAssistantConversation-BmjsGo2l.js} +1 -1
  43. package/dist/interface/assets/{CuiAutomationRunsDialog-CJ0mzDLL.js → CuiAutomationRunsDialog-BFZjtF9o.js} +1 -1
  44. package/dist/interface/assets/CuiBottomSheet-CVHz2Vrq.js +1 -0
  45. package/dist/interface/assets/{CuiBottomSheet-BbP0T2v3.js → CuiBottomSheet-DLtu4FrC.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraPipCard-1EhYM5kQ.js → CuiCameraPipCard-BGZQsVHc.js} +1 -1
  47. package/dist/interface/assets/{CuiCameraRecordings-D2jG47AV.js → CuiCameraRecordings-5pcLjdf8.js} +1 -1
  48. package/dist/interface/assets/{CuiCameraShares-IpkomKkl.js → CuiCameraShares-CNNvqXns.js} +1 -1
  49. package/dist/interface/assets/CuiCameraTable-BDN5NGr2.js +1 -0
  50. package/dist/interface/assets/{CuiCameraTable-DlL-z_na.js → CuiCameraTable-DF_IOFyD.js} +1 -1
  51. package/dist/interface/assets/{CuiChartTable-B0EPcrgv.js → CuiChartTable-rOLdUaOa.js} +1 -1
  52. package/dist/interface/assets/{CuiConsole-D8Xk2LXY.js → CuiConsole-B75tQO-y.js} +1 -1
  53. package/dist/interface/assets/{CuiDataTable-DtRTB560.js → CuiDataTable-C8ZywwaZ.js} +1 -1
  54. package/dist/interface/assets/{CuiLightControl-CtL3sA8k.js → CuiLightControl-D6PaG8aL.js} +1 -1
  55. package/dist/interface/assets/{CuiList-Bn7DT_Ao.js → CuiList-B8wJe291.js} +1 -1
  56. package/dist/interface/assets/{CuiMarkdownContent-CyJxfnFA.js → CuiMarkdownContent-D-S1LZy3.js} +1 -1
  57. package/dist/interface/assets/CuiMarkdownContent-yHrnDzQd.js +1 -0
  58. package/dist/interface/assets/{CuiPluginCard-B-4x6Mno.js → CuiPluginCard-aGMkvpeM.js} +2 -2
  59. package/dist/interface/assets/{CuiPluginCategoryChip-Dih4zKtO.js → CuiPluginCategoryChip-BCgADU71.js} +1 -1
  60. package/dist/interface/assets/{CuiPluginOAuthButton-D-Y9KYJz.js → CuiPluginOAuthButton-mrm1vDAP.js} +2 -2
  61. package/dist/interface/assets/{CuiPluginTrustBadge-_g3Ctrg4.js → CuiPluginTrustBadge-J3818in1.js} +1 -1
  62. package/dist/interface/assets/{CuiQRCode-D6hzmPzV.js → CuiQRCode-Dv4w0udN.js} +1 -1
  63. package/dist/interface/assets/{CuiSchema-Dh8Mu4BK.js → CuiSchema-Cn5geGt7.js} +1 -1
  64. package/dist/interface/assets/{CuiTopNavbarItem-CgX21E5K.js → CuiTopNavbarItem-cP_SiDnw.js} +1 -1
  65. package/dist/interface/assets/{Faces-CgDoKVkp.js → Faces-b611-5Ep.js} +1 -1
  66. package/dist/interface/assets/{FirstSteps-CZSTX7Ot.js → FirstSteps-DcVdjoXr.js} +1 -1
  67. package/dist/interface/assets/{Floorplan-CRvmaf45.js → Floorplan-CZu7D3L2.js} +1 -1
  68. package/dist/interface/assets/{Instances-DRkhTQKC.js → Instances-BGM2M_vr.js} +1 -1
  69. package/dist/interface/assets/{Logs-CIDJSpdH.js → Logs-BXDALPw6.js} +1 -1
  70. package/dist/interface/assets/{Menu-CM_F1jfd.js → Menu-DV63hDK5.js} +1 -1
  71. package/dist/interface/assets/{Metrics-DgJEg-ZK.js → Metrics-CrojTUIw.js} +1 -1
  72. package/dist/interface/assets/{OAuthDeviceFlow-BZ9LcgmJ.js → OAuthDeviceFlow-E2q5BNUN.js} +1 -1
  73. package/dist/interface/assets/{Plugin-BBDpg6U_.js → Plugin-BFovKMPD.js} +1 -1
  74. package/dist/interface/assets/{PluginConsole-DxVlTuNy.js → PluginConsole-BLG5Srww.js} +1 -1
  75. package/dist/interface/assets/{PluginDetail-fLGD3R-u.js → PluginDetail-Dghf_z9y.js} +2 -2
  76. package/dist/interface/assets/{PluginSchema-CewD2H-K.js → PluginSchema-C3u0PCYu.js} +1 -1
  77. package/dist/interface/assets/PluginSearch-DQb6r45_.js +1 -0
  78. package/dist/interface/assets/{PluginSearch-5wX7WEcz.js → PluginSearch-XaJOsyFA.js} +2 -2
  79. package/dist/interface/assets/{PluginUpdateProgress-B7Lj0ttd.js → PluginUpdateProgress-tMIWjHFs.js} +1 -1
  80. package/dist/interface/assets/{Plugins-DVQ476iL.js → Plugins-DgKXf65s.js} +1 -1
  81. package/dist/interface/assets/{RecentEventsFilter-CWNBI2Ge.js → RecentEventsFilter-DlzWA8QR.js} +1 -1
  82. package/dist/interface/assets/{Recordings-DSRgRVhN.js → Recordings-DC47F4WC.js} +1 -1
  83. package/dist/interface/assets/{SensorEdit-B1mYmxDV.js → SensorEdit-BDeJ0tjj.js} +1 -1
  84. package/dist/interface/assets/{SensorHistory-D1kKroxp.js → SensorHistory-C8oPVJEX.js} +1 -1
  85. package/dist/interface/assets/{Sensors-yAc1M-oO.js → Sensors-C29BBaNa.js} +2 -2
  86. package/dist/interface/assets/{Settings-DBKgECRK.js → Settings-bn3Pokuq.js} +1 -1
  87. package/dist/interface/assets/SettingsAccount-B-SSNfmo.js +1 -0
  88. package/dist/interface/assets/{SettingsAccount-CM3XGNL6.js → SettingsAccount-BXClgcHw.js} +1 -1
  89. package/dist/interface/assets/SettingsAppearance-1KCm8sJO.js +1 -0
  90. package/dist/interface/assets/{SettingsAppearance-C-nllv3m.js → SettingsAppearance-C5rHbPxY.js} +1 -1
  91. package/dist/interface/assets/{SettingsAssistant-ClRO04fv.js → SettingsAssistant-ndgpk0jF.js} +1 -1
  92. package/dist/interface/assets/{SettingsBackup-Cq_eLVCR.js → SettingsBackup-Cw0OoGGY.js} +1 -1
  93. package/dist/interface/assets/{SettingsList-Bklt3TQO.js → SettingsList--FB27rY6.js} +1 -1
  94. package/dist/interface/assets/{SettingsMqtt-BLkP0en6.js → SettingsMqtt-DrHwxyfj.js} +1 -1
  95. package/dist/interface/assets/{SettingsNotifications-CeUKfEnH.js → SettingsNotifications-CHFxYyBM.js} +1 -1
  96. package/dist/interface/assets/{SettingsPermissions-Cpka-k3Q.js → SettingsPermissions-CtR3k4N9.js} +1 -1
  97. package/dist/interface/assets/{SettingsRecordings-k20qTe7K.js → SettingsRecordings-YTMBWiO2.js} +1 -1
  98. package/dist/interface/assets/{SettingsRemote-CdUj0nZ1.js → SettingsRemote-DTZo7Tnk.js} +1 -1
  99. package/dist/interface/assets/{SettingsSystem-6OChvWL7.js → SettingsSystem-C9L3_BPg.js} +2 -2
  100. package/dist/interface/assets/{SettingsUsers-B57uZ8jn.js → SettingsUsers-BK6d7cMj.js} +1 -1
  101. package/dist/interface/assets/{Terminal-WMgVSORW.js → Terminal-DWa4f8GL.js} +1 -1
  102. package/dist/interface/assets/{Training-BkWlywj_.js → Training-BsgWYOlp.js} +1 -1
  103. package/dist/interface/assets/{Updates-Dwrd6PQl.js → Updates-CSvohiVI.js} +2 -2
  104. package/dist/interface/assets/{VariableInput-CDJXnzEV.js → VariableInput-CiWT5dul.js} +1 -1
  105. package/dist/interface/assets/{VariableSuggestions-CNq7O1o-.js → VariableSuggestions-pbXYBWuw.js} +1 -1
  106. package/dist/interface/assets/{VersionsHandler-C0A8Ryhn.js → VersionsHandler-BE-YNUTe.js} +1 -1
  107. package/dist/interface/assets/{VirtualSensorCreate-zEehu8Fg.js → VirtualSensorCreate-Ba4XwvcD.js} +1 -1
  108. package/dist/interface/assets/{Workers-Be7q2vOK.js → Workers-BtHqRqzx.js} +1 -1
  109. package/dist/interface/assets/{account-6TLZf1iz.js → account-BxoX10XU.js} +1 -1
  110. package/dist/interface/assets/{alert-circle-CWUV5Xzc.js → alert-circle-pr3uC6jZ.js} +1 -1
  111. package/dist/interface/assets/{alert-outline-8Rb4Kt7A.js → alert-outline-DHaYL1DY.js} +1 -1
  112. package/dist/interface/assets/{api-CSl3-BNZ.js → api--1J-SAjn.js} +1 -1
  113. package/dist/interface/assets/{api-vegsDz6n.js → api-C7-TgfI0.js} +3 -3
  114. package/dist/interface/assets/{arrow-left-CR_6L2Na.js → arrow-left-5ht64ZGB.js} +1 -1
  115. package/dist/interface/assets/{assistant-jARIkvB1.js → assistant-Cl_fhAuJ.js} +1 -1
  116. package/dist/interface/assets/{assistantModels-frQFfeed.js → assistantModels-DPcZCyld.js} +1 -1
  117. package/dist/interface/assets/{auth-Bov4B1jy.js → auth-CbzQl7TC.js} +1 -1
  118. package/dist/interface/assets/{automations-CJe7TvLk.js → automations-tJ_M8mwQ.js} +1 -1
  119. package/dist/interface/assets/{back-filled-xrzKyz1B.js → back-filled-BncmhmK7.js} +1 -1
  120. package/dist/interface/assets/{bell-ring-CP1gJErL.js → bell-ring-BrHmFuCb.js} +1 -1
  121. package/dist/interface/assets/{brain-BTo05kAx.js → brain-DbFpT7Cq.js} +1 -1
  122. package/dist/interface/assets/{cameraSources-CDiYtBzG.js → cameraSources-BoPq2cHU.js} +1 -1
  123. package/dist/interface/assets/{cctv-jOxIizQH.js → cctv-DO-BmfXS.js} +1 -1
  124. package/dist/interface/assets/{check-circle-CXfnFKFA.js → check-circle-DefdZO6b.js} +1 -1
  125. package/dist/interface/assets/{check-circle-outline-BXLVwqwM.js → check-circle-outline-DLeND8yu.js} +1 -1
  126. package/dist/interface/assets/{chevron-down-BmHRUHVR.js → chevron-down-COQqnpYB.js} +1 -1
  127. package/dist/interface/assets/{chevron-up-BIxCAmMr.js → chevron-up-D1Xd7VoH.js} +1 -1
  128. package/dist/interface/assets/{clock-outline-D9YYXYjG.js → clock-outline-DLIhBBQh.js} +1 -1
  129. package/dist/interface/assets/{close-Gg5h2MPz.js → close-C_pY8d5W.js} +1 -1
  130. package/dist/interface/assets/{close-circle-DmuCMtNe.js → close-circle-CUM5zI7N.js} +1 -1
  131. package/dist/interface/assets/{cloud-check-CB0qNXSP.js → cloud-check-CqURJGod.js} +1 -1
  132. package/dist/interface/assets/cloudHandoff-U-ME7kxo.js +1 -0
  133. package/dist/interface/assets/{config-iO2vrtak.js → config-ConCokYZ.js} +1 -1
  134. package/dist/interface/assets/{content-copy-DBYFzNui.js → content-copy-M0zk9eVL.js} +1 -1
  135. package/dist/interface/assets/{copy-CF7J0cxP.js → copy-DbP_BYcc.js} +1 -1
  136. package/dist/interface/assets/{cube-scan-Bzsgslh2.js → cube-scan-DUOB_hmY.js} +1 -1
  137. package/dist/interface/assets/{delete-CRNIa5a0.js → delete-rtnOkwr8.js} +1 -1
  138. package/dist/interface/assets/{dist-CKsmPF0O.js → dist-Ce8wBKXN.js} +1 -1
  139. package/dist/interface/assets/{dots-vertical-C4DlXZyp.js → dots-vertical-BBZiQrJI.js} +1 -1
  140. package/dist/interface/assets/{download-C4gHcSTT.js → download-CV7ETeuV.js} +1 -1
  141. package/dist/interface/assets/esm-B0uV7sCS.js +1 -0
  142. package/dist/interface/assets/esm-B2yI2eHV.js +1 -0
  143. package/dist/interface/assets/esm-BGznyI26.js +1 -0
  144. package/dist/interface/assets/esm-BU06bvS2.js +1 -0
  145. package/dist/interface/assets/esm-CDZvvPo-.js +1 -0
  146. package/dist/interface/assets/esm-CQhKa6pe.js +1 -0
  147. package/dist/interface/assets/esm-C_cunepi.js +1 -0
  148. package/dist/interface/assets/esm-D7Wl3e71.js +1 -0
  149. package/dist/interface/assets/esm-DF51BosK.js +1 -0
  150. package/dist/interface/assets/esm-DGnwYAQM.js +1 -0
  151. package/dist/interface/assets/esm-DOPi7vcu.js +1 -0
  152. package/dist/interface/assets/esm-DhUjXDgk.js +1 -0
  153. package/dist/interface/assets/esm-Dy2zOjxI.js +1 -0
  154. package/dist/interface/assets/esm-kUcKqIWx.js +1 -0
  155. package/dist/interface/assets/{eventIcons-BPQ-zSnz.js → eventIcons-CCFi3Fbj.js} +1 -1
  156. package/dist/interface/assets/{eye-off-D7-qb6Nm.js → eye-off-CvhN3zxZ.js} +1 -1
  157. package/dist/interface/assets/{eye-off-outline-DO1W1tdl.js → eye-off-outline-CCqCZfJ6.js} +1 -1
  158. package/dist/interface/assets/{flowSchema-B0vIoy4y.js → flowSchema-CmXSZKQe.js} +1 -1
  159. package/dist/interface/assets/{help-circle-outline-BrCQn_fb.js → help-circle-outline-CQl2D4oN.js} +1 -1
  160. package/dist/interface/assets/{history-uQmxYRH-.js → history-BXFIMe6V.js} +1 -1
  161. package/dist/interface/assets/{home-CPvD8R_d.js → home-D7fG7atW.js} +1 -1
  162. package/dist/interface/assets/{information-outline-Bo2TPoHa.js → information-outline-1WzSLz5m.js} +1 -1
  163. package/dist/interface/assets/{intercomService-IAAXcRPG.js → intercomService-DyUZK0Im.js} +1 -1
  164. package/dist/interface/assets/{lan-pTYzHgPx.js → lan-CbNzy3jQ.js} +1 -1
  165. package/dist/interface/assets/{main-DQgH1fon.js → main-D4ZrTpOr.js} +2 -2
  166. package/dist/interface/assets/{microphone-Crj84LWD.js → microphone-CRLenDoX.js} +1 -1
  167. package/dist/interface/assets/{minus-DTDhg2EM.js → minus-COYpQ3vD.js} +1 -1
  168. package/dist/interface/assets/{mqtt-DfpSLxes.js → mqtt-C_RLsZgN.js} +1 -1
  169. package/dist/interface/assets/native-Chu05rXa.js +1 -0
  170. package/dist/interface/assets/native-DtAgV_35.js +1 -0
  171. package/dist/interface/assets/{nodeDefinitions-Jb3-KbSO.js → nodeDefinitions-DgM5EMJ0.js} +1 -1
  172. package/dist/interface/assets/{notifications-jTSwwN1i.js → notifications-B8VdKX2U.js} +1 -1
  173. package/dist/interface/assets/{pause-B7ud2O8d.js → pause-DvYzloru.js} +1 -1
  174. package/dist/interface/assets/{pencil-CuQeB4kE.js → pencil-Cd5KnMGq.js} +1 -1
  175. package/dist/interface/assets/{pencil-outline-BsdKHhHl.js → pencil-outline-BiVfpCP6.js} +1 -1
  176. package/dist/interface/assets/plugin-CWPz0s-n.js +1 -0
  177. package/dist/interface/assets/{plugins-ChyJXprl.js → plugins-CqWe1lUn.js} +1 -1
  178. package/dist/interface/assets/{plus-x5XqrG-6.js → plus-CjwCt143.js} +1 -1
  179. package/dist/interface/assets/{plus-Jda3x3mB.js → plus-IEiNd6x0.js} +1 -1
  180. package/dist/interface/assets/{power-et3ptczv.js → power-C4NWLKUx.js} +1 -1
  181. package/dist/interface/assets/{radar-D0eG7gya.js → radar-DBqhxkLO.js} +1 -1
  182. package/dist/interface/assets/{refresh-zUwVhGRH.js → refresh-DBLQ62l4.js} +1 -1
  183. package/dist/interface/assets/{restore-D2nuKfs4.js → restore-mXNfiEUq.js} +1 -1
  184. package/dist/interface/assets/{ring-resize-MiubMIoG.js → ring-resize-DrTdJJZT.js} +1 -1
  185. package/dist/interface/assets/{rooms-BMWJpAXC.js → rooms-CIxV7WRD.js} +1 -1
  186. package/dist/interface/assets/{round-alt-arrow-left-bold-DJ2t35Ab.js → round-alt-arrow-left-bold-BlJgH1Gs.js} +1 -1
  187. package/dist/interface/assets/{search-CSFYlWFv.js → search-CGxnUtuo.js} +1 -1
  188. package/dist/interface/assets/{sensorIcons-dUp8Tone.js → sensorIcons-CtsJEtFd.js} +1 -1
  189. package/dist/interface/assets/{sensorSlots-CosoVMys.js → sensorSlots-B0rJeEuw.js} +1 -1
  190. package/dist/interface/assets/{sensors-DLdbNuoj.js → sensors-CyseZmxe.js} +1 -1
  191. package/dist/interface/assets/{server-D-qkU2-U.js → server-BvOtzDbz.js} +1 -1
  192. package/dist/interface/assets/{settings-b9NE6YOU.js → settings-wlG-pPuL.js} +1 -1
  193. package/dist/interface/assets/{source-branch-DA1N9TmJ.js → source-branch-AyOkkO8S.js} +1 -1
  194. package/dist/interface/assets/{theme-DhneHMji.js → theme-CqKA1ClW.js} +1 -1
  195. package/dist/interface/assets/{trash-2-D3UqAJmg.js → trash-2-BKLI42HM.js} +1 -1
  196. package/dist/interface/assets/{trash-can-outline-B7IPK5NP.js → trash-can-outline-BFiV5RfR.js} +1 -1
  197. package/dist/interface/assets/{trash-fill-DIW5RIZu.js → trash-fill-hfLSPgsP.js} +1 -1
  198. package/dist/interface/assets/{trash2-D_pJJ_Dw.js → trash2-lr9UJJWi.js} +1 -1
  199. package/dist/interface/assets/{types-DDpq8alD.js → types-48CQutaE.js} +1 -1
  200. package/dist/interface/assets/{types-DdyAGRju.js → types-BRmIeoRR.js} +1 -1
  201. package/dist/interface/assets/{types-CngwbyEy.js → types-BlFbLEIJ.js} +1 -1
  202. package/dist/interface/assets/{undo-CNP-pN7J.js → undo-nleJllpv.js} +1 -1
  203. package/dist/interface/assets/{ungrouped-e2tQIZD2.js → ungrouped-D4Eyspkn.js} +1 -1
  204. package/dist/interface/assets/{updates-DnVisGT3.js → updates-iwZh9X-d.js} +1 -1
  205. package/dist/interface/assets/{upload-DeHCHra3.js → upload-1FIs_qFI.js} +1 -1
  206. package/dist/interface/assets/{upload-BzANK-MP.js → upload-BOBHxpZk.js} +1 -1
  207. package/dist/interface/assets/{useAppVersion-gtzMlM4b.js → useAppVersion-m7hrV2QZ.js} +1 -1
  208. package/dist/interface/assets/{useAssistantActions-BIHVky9T.js → useAssistantActions-BY-FVxFl.js} +1 -1
  209. package/dist/interface/assets/{useBackupRestore-DfgufKp3.js → useBackupRestore-BJSrIE1j.js} +1 -1
  210. package/dist/interface/assets/{useCameraOptions-B9yEPgGd.js → useCameraOptions-U3cPq_8f.js} +1 -1
  211. package/dist/interface/assets/{useKeyboardInset-1sUlRSeV.js → useKeyboardInset-Ce6esuI4.js} +1 -1
  212. package/dist/interface/assets/{useLogsSocket-C2QUQqkZ.js → useLogsSocket-BprgpXs0.js} +1 -1
  213. package/dist/interface/assets/{useNavLayout-Br4MtSjQ.js → useNavLayout-DKsBYcN-.js} +1 -1
  214. package/dist/interface/assets/{usePermissions-B8pw9jk1.js → usePermissions-MJCC2mYf.js} +1 -1
  215. package/dist/interface/assets/{usePluginUpdates-Cx9PwENn.js → usePluginUpdates-DaoikUxc.js} +1 -1
  216. package/dist/interface/assets/{usePushRegistration-CLEyagJM.js → usePushRegistration-MBn4GqtF.js} +2 -2
  217. package/dist/interface/assets/{useServerRestart-BBp4cko_.js → useServerRestart-_gMUanhL.js} +1 -1
  218. package/dist/interface/assets/{useStreamStatus-BrPjpyzs.js → useStreamStatus-C1aDump3.js} +1 -1
  219. package/dist/interface/assets/{useTabSwipe-B4edrv6o.js → useTabSwipe-SnHqt6pf.js} +1 -1
  220. package/dist/interface/assets/{useUpdateChannel-DugwYo8J.js → useUpdateChannel-BpYMuseR.js} +1 -1
  221. package/dist/interface/assets/{useUpdatesSocket-CgCXGGVg.js → useUpdatesSocket-8rAwSOk0.js} +1 -1
  222. package/dist/interface/assets/useUserOptions-BWz8j6Bt.js +1 -0
  223. package/dist/interface/assets/{variable-Dv4JwY3Y.js → variable-BH_88zve.js} +1 -1
  224. package/dist/interface/assets/{vendor-CP-WYrgy.js → vendor-CFZm55ei.js} +11 -11
  225. package/dist/interface/assets/{vendor-cameraui-D0VXSxSF.js → vendor-cameraui-DTALowLr.js} +46 -46
  226. package/dist/interface/assets/{vendor-capacitor--M3rv96M.js → vendor-capacitor-NUBkdqQG.js} +2 -2
  227. package/dist/interface/assets/{vendor-chart-UrRD4pPC.js → vendor-chart-BQ9z8Beo.js} +1 -1
  228. package/dist/interface/assets/{vendor-core-Ba81bBNM.js → vendor-core-DF66V0xE.js} +1 -1
  229. package/dist/interface/assets/{vendor-dnd-DiqNDDW5.js → vendor-dnd-55LKiquc.js} +1 -1
  230. package/dist/interface/assets/{vendor-draggabilly-Cc8Eip6N.js → vendor-draggabilly-C2H7F3yh.js} +1 -1
  231. package/dist/interface/assets/{vendor-markdown-BcxN-Nmd.js → vendor-markdown-CvrBrdq-.js} +1 -1
  232. package/dist/interface/assets/{vendor-primevue-LZEE4d1W.js → vendor-primevue-CpTHHdUJ.js} +1 -1
  233. package/dist/interface/assets/{vendor-vueflow-C5XdKBYg.js → vendor-vueflow-DGnDS4SG.js} +1 -1
  234. package/dist/interface/assets/web-1T-T_0WZ.js +1 -0
  235. package/dist/interface/assets/web-62WbTjlc.js +1 -0
  236. package/dist/interface/assets/web-BjKL51lK-6pj2Scsz.js +1 -0
  237. package/dist/interface/assets/web-BtY56waW.js +1 -0
  238. package/dist/interface/assets/web-Bv7Xkik0.js +1 -0
  239. package/dist/interface/assets/web-BvBEXTJW.js +1 -0
  240. package/dist/interface/assets/web-CFeS7fH5.js +1 -0
  241. package/dist/interface/assets/web-CUtMdd2B.js +1 -0
  242. package/dist/interface/assets/web-D6yoMUkZ.js +1 -0
  243. package/dist/interface/assets/web-DIOYyMNl.js +1 -0
  244. package/dist/interface/assets/web-D_hRP2qx.js +1 -0
  245. package/dist/interface/assets/web-DsY8tWI-.js +1 -0
  246. package/dist/interface/assets/web-DvetlpoV.js +1 -0
  247. package/dist/interface/assets/web-kt-Rh6Kp.js +1 -0
  248. package/dist/interface/assets/{webhook-UyZZIMaa.js → webhook-JRvzS9ld.js} +1 -1
  249. package/dist/interface/assets/workbox-window.prod.es5-Bd3XD_Q4.js +1 -0
  250. package/dist/interface/assets/{zoom-in-BdZ7kiwk.js → zoom-in-CWYu7bwA.js} +1 -1
  251. package/dist/interface/ha/{404-CkAIe5nc.js → 404-m6-uXJZq.js} +1 -1
  252. package/dist/interface/ha/{About-C7HxP7hM.js → About-CNVuMwKe.js} +4 -4
  253. package/dist/interface/ha/{Assistant-DJYxiCOY.js → Assistant-C8ffhO3m.js} +6 -6
  254. package/dist/interface/ha/{Automation-CfNHCeIm.js → Automation-C6tJrgcC.js} +33 -33
  255. package/dist/interface/ha/{AutomationImport-Dn3C1604.js → AutomationImport-DH1bdVRV.js} +7 -7
  256. package/dist/interface/ha/{AutomationStore-D63G9w2Y.js → AutomationStore-Ckn6ExG6.js} +5 -5
  257. package/dist/interface/ha/{AutomationStoreDetail-HoUC8cSY.js → AutomationStoreDetail-BDXaoPzo.js} +7 -7
  258. package/dist/interface/ha/{Automations-BOlE1Evb.js → Automations-B5uu-r94.js} +5 -5
  259. package/dist/interface/ha/{Camera-6Vvo7nee.js → Camera-B4CwxT3A.js} +7 -7
  260. package/dist/interface/ha/{CameraConsole-DYSNDW4P.js → CameraConsole-BzaY7lMs.js} +3 -3
  261. package/dist/interface/ha/{Cameras-CxgwXUaG.js → Cameras-B1vU95xU.js} +9 -9
  262. package/dist/interface/ha/{Camview-DPjoUMSP.js → Camview-BcgBR-RV.js} +5 -5
  263. package/dist/interface/ha/{CertificateUpload-BVJWfTRx.js → CertificateUpload-BqyveJeF.js} +1 -1
  264. package/dist/interface/ha/{Config-BzBFIWVF.js → Config-C81MLCdk.js} +8 -8
  265. package/dist/interface/ha/{ConfigActionAssistant-BpHf4Pdi.js → ConfigActionAssistant-DQfehzH6.js} +6 -6
  266. package/dist/interface/ha/{ConfigActionCameraControl-CmbCTwZ8.js → ConfigActionCameraControl-C3MnsSHv.js} +4 -4
  267. package/dist/interface/ha/{ConfigActionDelay-2xePO25t.js → ConfigActionDelay-CQDVG521.js} +1 -1
  268. package/dist/interface/ha/{ConfigActionHttp-BxN2KOA6.js → ConfigActionHttp-VqM0i3cV.js} +4 -4
  269. package/dist/interface/ha/{ConfigActionImageInput-CrXUZ-cM.js → ConfigActionImageInput-D7Maj3R-.js} +2 -2
  270. package/dist/interface/ha/{ConfigActionMqtt-DYq-6_S6.js → ConfigActionMqtt-Cm51kwWp.js} +6 -6
  271. package/dist/interface/ha/{ConfigActionNotification-DPUSAVLI.js → ConfigActionNotification-L5oaXgIQ.js} +5 -5
  272. package/dist/interface/ha/{ConfigActionNotificationControl-h4zta4Db.js → ConfigActionNotificationControl-DUa2iWvF.js} +3 -3
  273. package/dist/interface/ha/{ConfigActionOutput-Dwa0-7cq.js → ConfigActionOutput-6e9FLeyi.js} +2 -2
  274. package/dist/interface/ha/{ConfigActionPlugin-DXx1a-Hr.js → ConfigActionPlugin-DfWMHSOu.js} +6 -6
  275. package/dist/interface/ha/{ConfigActionSensor-CfLIHqS8.js → ConfigActionSensor-KMyKW8a4.js} +5 -5
  276. package/dist/interface/ha/{ConfigActionSnapshot-O0OBVq-R.js → ConfigActionSnapshot-BXUyBDrZ.js} +3 -3
  277. package/dist/interface/ha/{ConfigActionVariable-CbaIxRRe.js → ConfigActionVariable-5gjlEinD.js} +2 -2
  278. package/dist/interface/ha/{ConfigConditionIfElse-B7ax92bG.js → ConfigConditionIfElse-KVINr4wM.js} +4 -4
  279. package/dist/interface/ha/{ConfigConditionSensorState-B5XIrEGU.js → ConfigConditionSensorState-DfA7Z-rZ.js} +5 -5
  280. package/dist/interface/ha/{ConfigConditionSwitch-DJSz6bI5.js → ConfigConditionSwitch-MMBCtsCG.js} +5 -5
  281. package/dist/interface/ha/{ConfigConditionTime-CRn4k6uE.js → ConfigConditionTime-BFHFgE8n.js} +1 -1
  282. package/dist/interface/ha/{ConfigSensorValueInput-fE2SBn1B.js → ConfigSensorValueInput-BGPONs-v.js} +4 -4
  283. package/dist/interface/ha/{ConfigTriggerDetection-BuShu78G.js → ConfigTriggerDetection-Bl5RLc9-.js} +3 -3
  284. package/dist/interface/ha/{ConfigTriggerGeofence-pBgXBkb6.js → ConfigTriggerGeofence-C2P-lZvJ.js} +3 -3
  285. package/dist/interface/ha/{ConfigTriggerManual-3hhEe1f3.js → ConfigTriggerManual-BHrZRxUA.js} +1 -1
  286. package/dist/interface/ha/{ConfigTriggerMqtt-Dyf_TLfU.js → ConfigTriggerMqtt-DxE9E_We.js} +2 -2
  287. package/dist/interface/ha/{ConfigTriggerSchedule-ldJM8l6b.js → ConfigTriggerSchedule-DBaslXZn.js} +1 -1
  288. package/dist/interface/ha/{ConfigTriggerSensor-C5YUm9ff.js → ConfigTriggerSensor-BW6R5G1E.js} +2 -2
  289. package/dist/interface/ha/{ConfigTriggerSystem-CylHWw4i.js → ConfigTriggerSystem-WTcomTVB.js} +3 -3
  290. package/dist/interface/ha/{ConfigTriggerWebhook-ZlHsaLu4.js → ConfigTriggerWebhook-BuweCREC.js} +2 -2
  291. package/dist/interface/ha/{Console-PNAQjW_1.js → Console--3yf5q4a.js} +5 -5
  292. package/dist/interface/ha/{CuiAutomationRunsDialog-D_q8K7QO.js → CuiAutomationRunsDialog-Bjx5DXXc.js} +4 -4
  293. package/dist/interface/ha/{CuiBottomSheet-BbJG-998.js → CuiBottomSheet-CUWIERuK.js} +2 -2
  294. package/dist/interface/ha/{CuiCameraRecordings-BSI8Yn3v.js → CuiCameraRecordings-DDBEVW_L.js} +4 -4
  295. package/dist/interface/ha/{CuiCameraShares-DKHZJT-z.js → CuiCameraShares-BaPKNvSs.js} +2 -2
  296. package/dist/interface/ha/{CuiCameraTable-BTdP1pEP.js → CuiCameraTable-CA7TQUBj.js} +3 -3
  297. package/dist/interface/ha/{CuiChartTable-aFRfsewt.js → CuiChartTable-Cjck-ymw.js} +4 -4
  298. package/dist/interface/ha/{CuiConsole-BD9jYvrD.js → CuiConsole-4y2SrBqu.js} +4 -4
  299. package/dist/interface/ha/{CuiDataTable-C2lOduPV.js → CuiDataTable-3tEK7pxb.js} +2 -2
  300. package/dist/interface/ha/{CuiList-Dr0Kypm1.js → CuiList-1RbiYIWw.js} +1 -1
  301. package/dist/interface/ha/{CuiPluginCard-C-gpcLCH.js → CuiPluginCard-BfRbo1oT.js} +9 -9
  302. package/dist/interface/ha/{CuiPluginOAuthButton-B763Rz1n.js → CuiPluginOAuthButton-DcZ5KJTX.js} +4 -4
  303. package/dist/interface/ha/{CuiPluginTrustBadge-j5PKYI-V.js → CuiPluginTrustBadge-DG9TJtBN.js} +1 -1
  304. package/dist/interface/ha/{CuiQRCode-D7WV4czh.js → CuiQRCode-D_pWqA6W.js} +3 -3
  305. package/dist/interface/ha/{CuiSchema-BfsT0mAh.js → CuiSchema-BYnQRNtd.js} +4 -4
  306. package/dist/interface/ha/{CuiTopNavbarItem-BwpXgGJ-.js → CuiTopNavbarItem-BLPX9F5P.js} +1 -1
  307. package/dist/interface/ha/{Faces-C0e-m9EY.js → Faces-Do8dklvm.js} +4 -4
  308. package/dist/interface/ha/{FirstSteps-DsDmM44G.js → FirstSteps-1jyVgIMo.js} +6 -6
  309. package/dist/interface/ha/{Floorplan-Bei9kIhS.js → Floorplan-DqpGLQc-.js} +6 -6
  310. package/dist/interface/ha/{Instances-BY5G1zFD.js → Instances-ChgYCEv4.js} +4 -4
  311. package/dist/interface/ha/{Logs-DDycObDv.js → Logs-Dhi1-h8b.js} +8 -8
  312. package/dist/interface/ha/{Menu-9r_oFG_-.js → Menu-C6ZrgRfI.js} +4 -4
  313. package/dist/interface/ha/{Metrics-BMTIXqn6.js → Metrics-BNTz7Ktd.js} +9 -9
  314. package/dist/interface/ha/{OAuthDeviceFlow-Dee5fynX.js → OAuthDeviceFlow-DjWARnbi.js} +4 -4
  315. package/dist/interface/ha/{Plugin-B5o4pLyu.js → Plugin-juDjFBUz.js} +8 -8
  316. package/dist/interface/ha/{PluginConsole-REtxP1Wi.js → PluginConsole-DqwmWMS6.js} +4 -4
  317. package/dist/interface/ha/{PluginDetail-BHrKifvP.js → PluginDetail-Dg0s42Rn.js} +6 -6
  318. package/dist/interface/ha/{PluginSearch-oNHMMeJD.js → PluginSearch-CER_e1EL.js} +5 -5
  319. package/dist/interface/ha/{PluginUpdateProgress-CqllA4eR.js → PluginUpdateProgress-D3viAJ-T.js} +3 -3
  320. package/dist/interface/ha/{Plugins-B6y7z5yD.js → Plugins-D6Q_xWx9.js} +9 -9
  321. package/dist/interface/ha/{RecentEventsFilter-C1deXNIS.js → RecentEventsFilter-DXlTE7iI.js} +1 -1
  322. package/dist/interface/ha/{Recordings-CyhOVNoM.js → Recordings-BEb8EGDn.js} +7 -7
  323. package/dist/interface/ha/{SensorEdit-CnUU2PEv.js → SensorEdit-BjGyc2MJ.js} +5 -5
  324. package/dist/interface/ha/{SensorHistory-z5hDuybW.js → SensorHistory-Dm4WiNdC.js} +3 -3
  325. package/dist/interface/ha/{Sensors-wpoB-X4r.js → Sensors-5vAka-K6.js} +7 -7
  326. package/dist/interface/ha/{Settings-C6wTksxb.js → Settings-Cb4v7LRJ.js} +4 -4
  327. package/dist/interface/ha/{SettingsAccount-DByg5uzj.js → SettingsAccount-DeZOlBDQ.js} +6 -6
  328. package/dist/interface/ha/{SettingsAppearance-QgPo4M8O.js → SettingsAppearance-CDyMzncv.js} +6 -6
  329. package/dist/interface/ha/{SettingsAssistant-Bg4BhUgb.js → SettingsAssistant-DqGnG1RI.js} +6 -6
  330. package/dist/interface/ha/{SettingsBackup-BgtZSRub.js → SettingsBackup-BnqZ-qlE.js} +4 -4
  331. package/dist/interface/ha/{SettingsList-DB3j7buh.js → SettingsList-CAIX3jD9.js} +3 -3
  332. package/dist/interface/ha/{SettingsMqtt-DVx0z8vf.js → SettingsMqtt-Dxqjg4OT.js} +4 -4
  333. package/dist/interface/ha/{SettingsNotifications-osO2kMMO.js → SettingsNotifications-PAst5uDP.js} +6 -6
  334. package/dist/interface/ha/{SettingsPermissions-D_RGxpFE.js → SettingsPermissions-DFbjoUf-.js} +2 -2
  335. package/dist/interface/ha/{SettingsRecordings-BFEp160g.js → SettingsRecordings-GwPkWVQl.js} +6 -6
  336. package/dist/interface/ha/{SettingsRemote-DQW4FhFn.js → SettingsRemote-CzYyIfWg.js} +6 -6
  337. package/dist/interface/ha/{SettingsSystem-Cs1MHOTi.js → SettingsSystem-BC8IIFe2.js} +9 -9
  338. package/dist/interface/ha/{SettingsUsers-BtbuHlRZ.js → SettingsUsers-DS6HTws4.js} +5 -5
  339. package/dist/interface/ha/{Terminal-BuXCoMle.js → Terminal-DHXMgeMz.js} +6 -6
  340. package/dist/interface/ha/{Training-CnsWyeaJ.js → Training-CBSlZKBT.js} +3 -3
  341. package/dist/interface/ha/{Updates-BxU1Jpru.js → Updates-DTod9Jwm.js} +6 -6
  342. package/dist/interface/ha/{VariableInput-DgENnHvk.js → VariableInput-CuhqW4K7.js} +1 -1
  343. package/dist/interface/ha/{VariableSuggestions-Cn7J50Mp.js → VariableSuggestions-D15u2aH6.js} +1 -1
  344. package/dist/interface/ha/{VersionsHandler-DQTSSqti.js → VersionsHandler-Bafq9Ej7.js} +9 -9
  345. package/dist/interface/ha/{VirtualSensorCreate-Bsr6zTQp.js → VirtualSensorCreate-DCc5pfdG.js} +2 -2
  346. package/dist/interface/ha/{Workers-0jZDuLbP.js → Workers-BFJWJvkK.js} +8 -8
  347. package/dist/interface/ha/{api-VnpXqKYj.js → api-CMboY32E.js} +47 -40
  348. package/dist/interface/ha/{api-B8xb-N_g.js → api-CibPJ53n.js} +1 -1
  349. package/dist/interface/ha/{assistant-DDwonneA.js → assistant-B5j5Rwlf.js} +1 -1
  350. package/dist/interface/ha/{auth-CXX7ago-.js → auth-C9gqBg0w.js} +1 -1
  351. package/dist/interface/ha/{automationBlueprint-BUkXOKb1.js → automationBlueprint-DS2u4IQM.js} +3 -3
  352. package/dist/interface/ha/cameraui-cards.js +1 -1
  353. package/dist/interface/ha/{cards-CMel6uVq.js → cards-PAF_pPbZ.js} +7 -7
  354. package/dist/interface/ha/{config-9vwosYC8.js → config-DoZvm13z.js} +1 -1
  355. package/dist/interface/ha/{dist-jxJIsKjm.js → dist-DLZYY_4u.js} +55 -52
  356. package/dist/interface/ha/{intercomService-Dwd0bhSN.js → intercomService-WdbgAuZn.js} +189 -181
  357. package/dist/interface/ha/{mqtt-Fm_GzbBi.js → mqtt-Bq2AL0mf.js} +1 -1
  358. package/dist/interface/ha/{notifications-CwSeoLx0.js → notifications-Cb1PNQoG.js} +1 -1
  359. package/dist/interface/ha/{plugins-CgqO91Hg.js → plugins-BAng0szW.js} +1 -1
  360. package/dist/interface/ha/{protocol-BB4jdtUC-BcZnYd-h.js → protocol-BB4jdtUC-CbXTLEB7.js} +6 -4
  361. package/dist/interface/ha/{rooms-DGnhPCGr.js → rooms-BulA3xbr.js} +1 -1
  362. package/dist/interface/ha/{server-BqNJbXKJ.js → server-Ndqx0RmV.js} +1 -1
  363. package/dist/interface/ha/{types-Ca-1kOA9.js → types-CSqHjs73.js} +1 -1
  364. package/dist/interface/ha/{ungrouped-B1RIFH36.js → ungrouped-CEyEfdNm.js} +4 -4
  365. package/dist/interface/ha/{updates-Dn9WR43I.js → updates-BK41HPRa.js} +5 -5
  366. package/dist/interface/ha/{useAppVersion-FMZfQhEd.js → useAppVersion-PLf1za07.js} +2 -2
  367. package/dist/interface/ha/{useAssistantActions-B6KFp1pU.js → useAssistantActions-Uf0kmQ_Z.js} +1 -1
  368. package/dist/interface/ha/{useLogsSocket-Ch8C8inE.js → useLogsSocket-CRUB4tiT.js} +1 -1
  369. package/dist/interface/ha/{useNavLayout-DPjjtXVR.js → useNavLayout-hpvRlYIg.js} +1 -1
  370. package/dist/interface/ha/{usePermissions-DuuC_X9H.js → usePermissions-CEX3lAii.js} +1 -1
  371. package/dist/interface/ha/{useServerRestart-DoozgL8o.js → useServerRestart-BN_2Gvwy.js} +1 -1
  372. package/dist/interface/ha/{useTabSwipe-CxXAmZNc.js → useTabSwipe-BhBi1bXW.js} +2 -2
  373. package/dist/interface/ha/{useUpdateChannel-CBwS4cI2.js → useUpdateChannel-DoPFCimM.js} +2 -2
  374. package/dist/interface/ha/{useUpdatesSocket-GrlBqyU4.js → useUpdatesSocket-CQ2qyv6W.js} +1 -1
  375. package/dist/interface/ha/{useUserOptions-54hnf6hX.js → useUserOptions-Ck6NrMAe.js} +1 -1
  376. package/dist/interface/ha/{vue-i18n-BBObX4QY.js → vue-i18n-CxWAK5Gn.js} +541 -528
  377. package/dist/interface/index.html +67 -67
  378. package/dist/interface/sw.js +1 -1
  379. package/dist/server/package.json +7 -6
  380. package/dist/server/requirements.txt +1 -1
  381. package/dist/server/src/camera/controller.d.ts +2 -1
  382. package/dist/server/src/camera/controller.js +30 -20
  383. package/dist/server/src/camera/controller.js.map +1 -1
  384. package/dist/server/src/camera/utils.d.ts +1 -0
  385. package/dist/server/src/camera/utils.js +84 -38
  386. package/dist/server/src/camera/utils.js.map +1 -1
  387. package/package.json +7 -6
  388. package/dist/interface/assets/CuiBottomSheet-BpMMQhmJ.js +0 -1
  389. package/dist/interface/assets/CuiCameraTable-CNclH1KS.js +0 -1
  390. package/dist/interface/assets/CuiMarkdownContent-BFa5gUZe.js +0 -1
  391. package/dist/interface/assets/PluginSearch-rDbuXm2z.js +0 -1
  392. package/dist/interface/assets/SettingsAccount-i2nzGFdV.js +0 -1
  393. package/dist/interface/assets/SettingsAppearance-DCgu01FJ.js +0 -1
  394. package/dist/interface/assets/cloudHandoff-BoV37fDI.js +0 -1
  395. package/dist/interface/assets/esm-2nC0_qfD.js +0 -1
  396. package/dist/interface/assets/esm-5ij5yeYw.js +0 -1
  397. package/dist/interface/assets/esm-B7WAXxd1.js +0 -1
  398. package/dist/interface/assets/esm-BF0RZje6.js +0 -1
  399. package/dist/interface/assets/esm-BSpFwAXD.js +0 -1
  400. package/dist/interface/assets/esm-C6ZQtRp-.js +0 -1
  401. package/dist/interface/assets/esm-Cp0yoO9D.js +0 -1
  402. package/dist/interface/assets/esm-Cwvl7oSa.js +0 -1
  403. package/dist/interface/assets/esm-DICA8W-V.js +0 -1
  404. package/dist/interface/assets/esm-DP8Ax-oq.js +0 -1
  405. package/dist/interface/assets/esm-DWOHxqOV.js +0 -1
  406. package/dist/interface/assets/esm-cynfGnag.js +0 -1
  407. package/dist/interface/assets/esm-gQ1ovTKo.js +0 -1
  408. package/dist/interface/assets/esm-jaStWfus.js +0 -1
  409. package/dist/interface/assets/native-CEh02TWu.js +0 -1
  410. package/dist/interface/assets/native-DxU_bhe3.js +0 -1
  411. package/dist/interface/assets/plugin-DRu2N4CD.js +0 -1
  412. package/dist/interface/assets/useUserOptions-DTlKtp_u.js +0 -1
  413. package/dist/interface/assets/web-771Nph0i.js +0 -1
  414. package/dist/interface/assets/web-BGEzD1BX.js +0 -1
  415. package/dist/interface/assets/web-BjKL51lK-Q2ZqYaHQ.js +0 -1
  416. package/dist/interface/assets/web-BvtLpTUy.js +0 -1
  417. package/dist/interface/assets/web-C9hWWX9T.js +0 -1
  418. package/dist/interface/assets/web-CIwUdOBC.js +0 -1
  419. package/dist/interface/assets/web-CpaCeLiq.js +0 -1
  420. package/dist/interface/assets/web-DJN-qQx6.js +0 -1
  421. package/dist/interface/assets/web-DMGPhsii.js +0 -1
  422. package/dist/interface/assets/web-Dd6usIKp.js +0 -1
  423. package/dist/interface/assets/web-DeXV8b3y.js +0 -1
  424. package/dist/interface/assets/web-EZ83Sgj4.js +0 -1
  425. package/dist/interface/assets/web-EZcS3dL0.js +0 -1
  426. package/dist/interface/assets/web-Ycu87MZJ.js +0 -1
  427. package/dist/interface/assets/workbox-window.prod.es5-fQWwwJhH.js +0 -1
@@ -1 +1 @@
1
- import{Vr as e,la as t,q as ee}from"./vendor-cameraui-D0VXSxSF.js";import{Bn as n,Vn as r,v as i,xr as a,y as o,yn as te}from"./api-vegsDz6n.js";import{$n as s,Cr as c,Fn as ne,In as l,Rn as re,cn as u,dn as d,dr as f,gn as p,hn as m,or as h,rn as ie,sn as g,un as _,vn as v,yr as y}from"./vendor-CP-WYrgy.js";import{p as b}from"./vendor-core-Ba81bBNM.js";import{K as ae,j as oe,z as se}from"./vendor-primevue-LZEE4d1W.js";import{n as ce,r as le}from"./useNavLayout-Br4MtSjQ.js";import{n as x}from"./theme-DhneHMji.js";var S={class:`flex flex-col w-full gap-6`},C={key:0},w={class:`card-title`},T={class:`flex flex-col gap-6`},E={class:`flex flex-col field-gap`},D={class:`cui-label`},O={class:`w-full flex flex-col gap-2`},k={class:`flex flex-col field-gap cui-toggle-switch`},A={class:`flex items-center gap-4`},j={class:`flex flex-col field-switch-gap`},M={class:`cui-label-switch`},N={key:1},P={class:`card-title`},F={class:`flex flex-col gap-6`},I={class:`flex flex-col field-gap`},L={class:`cui-label`},R={key:2},z={class:`card-title`},B={class:`flex flex-col gap-6`},V={class:`flex flex-col field-gap`},H={class:`cui-label`},U={key:0,class:`flex flex-col field-gap`},W={class:`cui-label`},ue={class:`flex flex-col field-gap`},de={class:`cui-label`},fe={class:`w-full flex flex-col gap-2`},pe={class:`flex flex-col field-gap cui-toggle-switch`},me={class:`flex items-center gap-4`},he={class:`flex flex-col field-switch-gap`},ge={class:`cui-label-switch`},_e={key:3},ve={class:`card-title`},ye={class:`w-full flex flex-col gap-2`},be={class:`flex flex-col field-gap cui-toggle-switch`},xe={class:`flex items-center gap-4`},Se={class:`flex flex-col field-switch-gap`},Ce={class:`cui-label-switch`},we={class:`flex items-center gap-4`},Te={class:`flex flex-col field-switch-gap`},Ee={class:`cui-label-switch`},De={class:`card-title`},Oe={class:`w-full flex flex-col gap-2`},ke={class:`flex flex-col field-gap cui-toggle-switch`},Ae={class:`flex items-center gap-4`},je={class:`flex flex-col field-switch-gap`},Me={class:`cui-label-switch`},Ne={class:`flex flex-col field-gap cui-toggle-switch`},Pe={class:`flex items-center gap-4`},Fe={class:`flex flex-col field-switch-gap`},Ie={class:`cui-label-switch`},G=v({__name:`SettingsAppearance`,props:{compact:{type:Boolean,default:!1}},setup(v){let{t:G}=e(),{settingsInNav:K,isCollapsible:Le,setCollapsible:Re,setSettingsInNav:ze}=le(),Be=i(),{language:q,languageOptions:Ve}=b(Be),He=x(),{colors:Ue,theme:J,autoMode:Y}=b(He),We=r(),{uiSettings:X}=b(We),Z=f(t.isRecording()),Q=f(t.isDebug()),$=[5,10,15,25,50,100],Ge=g(()=>[...ce,...K.value?[`settings`]:[]]),Ke=g(()=>o().map(e=>({label:G(`navigation.${e.meta.name}`),value:e.path}))),qe=g(()=>n.map(e=>({label:G(`navigation.${e}`),value:e}))),Je=t.onChange(()=>{Z.value=t.isRecording(),Q.value=t.isDebug()});function Ye(e){t.setRecording(e),e||t.clear()}function Xe(e){t.setDebug(e)}return ne(Je),(e,t)=>{let n=oe,r=se,i=ae,o=ee;return l(),d(`div`,null,[u(`div`,S,[y(a)()?_(``,!0):(l(),d(`div`,C,[u(`span`,w,c(e.$t(`views.settings.theme`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,T,[u(`div`,E,[u(`label`,D,c(e.$t(`components.form.label.theme`)),1),p(n,{modelValue:y(J),"onUpdate:modelValue":t[0]||=e=>h(J)?J.value=e:null,options:y(Ue),disabled:y(Y)},null,8,[`modelValue`,`options`,`disabled`])]),u(`div`,O,[u(`div`,k,[u(`div`,A,[u(`div`,j,[u(`label`,M,c(e.$t(`components.form.label.system_preference`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.system_preference`)),1)]),_:1})]),p(i,{modelValue:y(Y),"onUpdate:modelValue":t[1]||=e=>h(Y)?Y.value=e:null,class:`ml-auto shrink-0`},null,8,[`modelValue`])])])])])]),_:1})])),y(a)()?_(``,!0):(l(),d(`div`,N,[u(`span`,P,c(e.$t(`views.settings.locale`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,F,[u(`div`,I,[u(`label`,L,c(e.$t(`components.form.label.language`)),1),p(n,{modelValue:y(q),"onUpdate:modelValue":t[2]||=e=>h(q)?q.value=e:null,options:y(Ve),"option-label":`label`,"option-value":`value`},null,8,[`modelValue`,`options`])])])]),_:1})])),v.compact?_(``,!0):(l(),d(`div`,R,[u(`span`,z,c(e.$t(`views.settings.interface`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,B,[u(`div`,V,[u(`label`,H,c(e.$t(`components.form.label.default_landing_page`)),1),p(n,{modelValue:y(X).interface.landingPage,"onUpdate:modelValue":t[3]||=e=>y(X).interface.landingPage=e,options:y(Ke),"option-label":`label`,"option-value":`value`},null,8,[`modelValue`,`options`]),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.default_landing_page`)),1)]),_:1})]),(`hasPermission`in e?e.hasPermission:y(te))(void 0,`admin`)?(l(),d(`div`,U,[u(`label`,W,c(e.$t(`components.form.label.default_settings_page`)),1),p(n,{modelValue:y(X).interface.selectedSettingsView,"onUpdate:modelValue":t[4]||=e=>y(X).interface.selectedSettingsView=e,options:y(qe),"option-label":`label`,"option-value":`value`},null,8,[`modelValue`,`options`]),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.default_settings_page`)),1)]),_:1})])):_(``,!0),u(`div`,ue,[u(`label`,de,c(e.$t(`components.form.label.table_rows`)),1),p(n,{modelValue:y(X).interface.tableRows,"onUpdate:modelValue":t[5]||=e=>y(X).interface.tableRows=e,options:$},null,8,[`modelValue`]),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.table_rows`)),1)]),_:1})]),u(`div`,fe,[u(`div`,pe,[u(`div`,me,[u(`div`,he,[u(`label`,ge,c(e.$t(`components.form.label.navbar_stay_collapsed`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.navbar_stay_collapsed`)),1)]),_:1})]),p(i,{modelValue:y(X).interface.navbarStayCollapsed,"onUpdate:modelValue":t[6]||=e=>y(X).interface.navbarStayCollapsed=e,class:`ml-auto shrink-0`},null,8,[`modelValue`])])])])])]),_:1})])),v.compact?_(``,!0):(l(),d(`div`,_e,[u(`span`,ve,c(e.$t(`views.settings.navigation`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,ye,[u(`div`,be,[u(`div`,xe,[u(`div`,Se,[u(`label`,Ce,c(e.$t(`components.form.label.nav_settings_in_nav`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.nav_settings_in_nav`)),1)]),_:1})]),p(i,{"model-value":y(K),class:`ml-auto shrink-0`,"onUpdate:modelValue":t[7]||=e=>y(ze)(e)},null,8,[`model-value`])])]),(l(!0),d(ie,null,re(y(Ge),t=>(l(),d(`div`,{key:t,class:`flex flex-col field-gap cui-toggle-switch`},[u(`div`,we,[u(`div`,Te,[u(`label`,Ee,c(e.$t(`components.form.label.nav_group_collapsible`,{group:e.$t(`navigation.group_${t}`)})),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.nav_group_collapsible`,{group:e.$t(`navigation.group_${t}`)})),1)]),_:2},1024)]),p(i,{"model-value":y(Le)(t),class:`ml-auto shrink-0`,"onUpdate:modelValue":e=>y(Re)(t,e)},null,8,[`model-value`,`onUpdate:modelValue`])])]))),128))])]),_:1})])),u(`div`,null,[u(`span`,De,c(e.$t(`views.settings.debugging`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,Oe,[u(`div`,ke,[u(`div`,Ae,[u(`div`,je,[u(`label`,Me,c(e.$t(`components.form.label.debug_verbose`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.debug_verbose`)),1)]),_:1})]),p(i,{"model-value":y(Q),class:`ml-auto shrink-0`,"onUpdate:modelValue":Xe},null,8,[`model-value`])])]),u(`div`,Ne,[u(`div`,Pe,[u(`div`,Fe,[u(`label`,Ie,c(e.$t(`components.form.label.record_logs`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.record_logs`)),1)]),_:1})]),p(i,{"model-value":y(Z),class:`ml-auto shrink-0`,"onUpdate:modelValue":Ye},null,8,[`model-value`])])])])]),_:1})])])])}}});export{G as t};
1
+ import{Vr as e,la as t,q as ee}from"./vendor-cameraui-DTALowLr.js";import{Bn as n,Vn as r,v as i,xr as a,y as o,yn as te}from"./api-C7-TgfI0.js";import{$n as s,Cr as c,Fn as ne,In as l,Rn as re,cn as u,dn as d,dr as f,gn as p,hn as m,or as h,rn as ie,sn as g,un as _,vn as v,yr as y}from"./vendor-CFZm55ei.js";import{p as b}from"./vendor-core-DF66V0xE.js";import{K as ae,j as oe,z as se}from"./vendor-primevue-CpTHHdUJ.js";import{n as ce,r as le}from"./useNavLayout-DKsBYcN-.js";import{n as x}from"./theme-CqKA1ClW.js";var S={class:`flex flex-col w-full gap-6`},C={key:0},w={class:`card-title`},T={class:`flex flex-col gap-6`},E={class:`flex flex-col field-gap`},D={class:`cui-label`},O={class:`w-full flex flex-col gap-2`},k={class:`flex flex-col field-gap cui-toggle-switch`},A={class:`flex items-center gap-4`},j={class:`flex flex-col field-switch-gap`},M={class:`cui-label-switch`},N={key:1},P={class:`card-title`},F={class:`flex flex-col gap-6`},I={class:`flex flex-col field-gap`},L={class:`cui-label`},R={key:2},z={class:`card-title`},B={class:`flex flex-col gap-6`},V={class:`flex flex-col field-gap`},H={class:`cui-label`},U={key:0,class:`flex flex-col field-gap`},W={class:`cui-label`},ue={class:`flex flex-col field-gap`},de={class:`cui-label`},fe={class:`w-full flex flex-col gap-2`},pe={class:`flex flex-col field-gap cui-toggle-switch`},me={class:`flex items-center gap-4`},he={class:`flex flex-col field-switch-gap`},ge={class:`cui-label-switch`},_e={key:3},ve={class:`card-title`},ye={class:`w-full flex flex-col gap-2`},be={class:`flex flex-col field-gap cui-toggle-switch`},xe={class:`flex items-center gap-4`},Se={class:`flex flex-col field-switch-gap`},Ce={class:`cui-label-switch`},we={class:`flex items-center gap-4`},Te={class:`flex flex-col field-switch-gap`},Ee={class:`cui-label-switch`},De={class:`card-title`},Oe={class:`w-full flex flex-col gap-2`},ke={class:`flex flex-col field-gap cui-toggle-switch`},Ae={class:`flex items-center gap-4`},je={class:`flex flex-col field-switch-gap`},Me={class:`cui-label-switch`},Ne={class:`flex flex-col field-gap cui-toggle-switch`},Pe={class:`flex items-center gap-4`},Fe={class:`flex flex-col field-switch-gap`},Ie={class:`cui-label-switch`},G=v({__name:`SettingsAppearance`,props:{compact:{type:Boolean,default:!1}},setup(v){let{t:G}=e(),{settingsInNav:K,isCollapsible:Le,setCollapsible:Re,setSettingsInNav:ze}=le(),Be=i(),{language:q,languageOptions:Ve}=b(Be),He=x(),{colors:Ue,theme:J,autoMode:Y}=b(He),We=r(),{uiSettings:X}=b(We),Z=f(t.isRecording()),Q=f(t.isDebug()),$=[5,10,15,25,50,100],Ge=g(()=>[...ce,...K.value?[`settings`]:[]]),Ke=g(()=>o().map(e=>({label:G(`navigation.${e.meta.name}`),value:e.path}))),qe=g(()=>n.map(e=>({label:G(`navigation.${e}`),value:e}))),Je=t.onChange(()=>{Z.value=t.isRecording(),Q.value=t.isDebug()});function Ye(e){t.setRecording(e),e||t.clear()}function Xe(e){t.setDebug(e)}return ne(Je),(e,t)=>{let n=oe,r=se,i=ae,o=ee;return l(),d(`div`,null,[u(`div`,S,[y(a)()?_(``,!0):(l(),d(`div`,C,[u(`span`,w,c(e.$t(`views.settings.theme`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,T,[u(`div`,E,[u(`label`,D,c(e.$t(`components.form.label.theme`)),1),p(n,{modelValue:y(J),"onUpdate:modelValue":t[0]||=e=>h(J)?J.value=e:null,options:y(Ue),disabled:y(Y)},null,8,[`modelValue`,`options`,`disabled`])]),u(`div`,O,[u(`div`,k,[u(`div`,A,[u(`div`,j,[u(`label`,M,c(e.$t(`components.form.label.system_preference`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.system_preference`)),1)]),_:1})]),p(i,{modelValue:y(Y),"onUpdate:modelValue":t[1]||=e=>h(Y)?Y.value=e:null,class:`ml-auto shrink-0`},null,8,[`modelValue`])])])])])]),_:1})])),y(a)()?_(``,!0):(l(),d(`div`,N,[u(`span`,P,c(e.$t(`views.settings.locale`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,F,[u(`div`,I,[u(`label`,L,c(e.$t(`components.form.label.language`)),1),p(n,{modelValue:y(q),"onUpdate:modelValue":t[2]||=e=>h(q)?q.value=e:null,options:y(Ve),"option-label":`label`,"option-value":`value`},null,8,[`modelValue`,`options`])])])]),_:1})])),v.compact?_(``,!0):(l(),d(`div`,R,[u(`span`,z,c(e.$t(`views.settings.interface`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,B,[u(`div`,V,[u(`label`,H,c(e.$t(`components.form.label.default_landing_page`)),1),p(n,{modelValue:y(X).interface.landingPage,"onUpdate:modelValue":t[3]||=e=>y(X).interface.landingPage=e,options:y(Ke),"option-label":`label`,"option-value":`value`},null,8,[`modelValue`,`options`]),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.default_landing_page`)),1)]),_:1})]),(`hasPermission`in e?e.hasPermission:y(te))(void 0,`admin`)?(l(),d(`div`,U,[u(`label`,W,c(e.$t(`components.form.label.default_settings_page`)),1),p(n,{modelValue:y(X).interface.selectedSettingsView,"onUpdate:modelValue":t[4]||=e=>y(X).interface.selectedSettingsView=e,options:y(qe),"option-label":`label`,"option-value":`value`},null,8,[`modelValue`,`options`]),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.default_settings_page`)),1)]),_:1})])):_(``,!0),u(`div`,ue,[u(`label`,de,c(e.$t(`components.form.label.table_rows`)),1),p(n,{modelValue:y(X).interface.tableRows,"onUpdate:modelValue":t[5]||=e=>y(X).interface.tableRows=e,options:$},null,8,[`modelValue`]),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.table_rows`)),1)]),_:1})]),u(`div`,fe,[u(`div`,pe,[u(`div`,me,[u(`div`,he,[u(`label`,ge,c(e.$t(`components.form.label.navbar_stay_collapsed`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.navbar_stay_collapsed`)),1)]),_:1})]),p(i,{modelValue:y(X).interface.navbarStayCollapsed,"onUpdate:modelValue":t[6]||=e=>y(X).interface.navbarStayCollapsed=e,class:`ml-auto shrink-0`},null,8,[`modelValue`])])])])])]),_:1})])),v.compact?_(``,!0):(l(),d(`div`,_e,[u(`span`,ve,c(e.$t(`views.settings.navigation`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,ye,[u(`div`,be,[u(`div`,xe,[u(`div`,Se,[u(`label`,Ce,c(e.$t(`components.form.label.nav_settings_in_nav`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.nav_settings_in_nav`)),1)]),_:1})]),p(i,{"model-value":y(K),class:`ml-auto shrink-0`,"onUpdate:modelValue":t[7]||=e=>y(ze)(e)},null,8,[`model-value`])])]),(l(!0),d(ie,null,re(y(Ge),t=>(l(),d(`div`,{key:t,class:`flex flex-col field-gap cui-toggle-switch`},[u(`div`,we,[u(`div`,Te,[u(`label`,Ee,c(e.$t(`components.form.label.nav_group_collapsible`,{group:e.$t(`navigation.group_${t}`)})),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.nav_group_collapsible`,{group:e.$t(`navigation.group_${t}`)})),1)]),_:2},1024)]),p(i,{"model-value":y(Le)(t),class:`ml-auto shrink-0`,"onUpdate:modelValue":e=>y(Re)(t,e)},null,8,[`model-value`,`onUpdate:modelValue`])])]))),128))])]),_:1})])),u(`div`,null,[u(`span`,De,c(e.$t(`views.settings.debugging`)),1),p(o,{class:`cui-card`},{content:s(()=>[u(`div`,Oe,[u(`div`,ke,[u(`div`,Ae,[u(`div`,je,[u(`label`,Me,c(e.$t(`components.form.label.debug_verbose`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.debug_verbose`)),1)]),_:1})]),p(i,{"model-value":y(Q),class:`ml-auto shrink-0`,"onUpdate:modelValue":Xe},null,8,[`model-value`])])]),u(`div`,Ne,[u(`div`,Pe,[u(`div`,Fe,[u(`label`,Ie,c(e.$t(`components.form.label.record_logs`)),1),p(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:s(()=>[m(c(e.$t(`components.form.hint.record_logs`)),1)]),_:1})]),p(i,{"model-value":y(Z),class:`ml-auto shrink-0`,"onUpdate:modelValue":Ye},null,8,[`model-value`])])])])]),_:1})])])])}}});export{G as t};
@@ -1 +1 @@
1
- import{Bt as e,It as t,Kt as n,L as r,Vr as i,q as a}from"./vendor-cameraui-D0VXSxSF.js";import{Er as o,Fr as s,gt as ee,i as te,kn as c,m as l,o as u,pn as d,st as f,z as p}from"./api-vegsDz6n.js";import{$n as m,An as h,Bn as ne,Cr as g,In as _,Jn as v,Rn as y,Xn as b,br as x,cn as S,dn as C,dr as w,er as T,gn as E,hn as D,hr as O,ln as k,or as A,rn as j,sn as M,sr as N,un as P,vn as F,yr as I}from"./vendor-CP-WYrgy.js";import{q as L}from"./types-CngwbyEy.js";import{B as re,G as ie,H as ae,K as oe,L as se,R as ce,S as le,V as ue,W as de,_ as fe,a as pe,i as me,j as he,l as ge,s as _e,w as ve,z as ye}from"./vendor-primevue-LZEE4d1W.js";import{t as be}from"./chevron-down-BmHRUHVR.js";import{t as R}from"./assistant-jARIkvB1.js";import{a as xe,d as Se,i as Ce,n as z,o as we,r as Te,s as Ee,t as De}from"./assistantModels-frQFfeed.js";import{t as Oe}from"./pencil-outline-BsdKHhHl.js";import{t as ke}from"./content-copy-DBYFzNui.js";import{t as Ae}from"./plus-x5XqrG-6.js";import{t as je}from"./restore-D2nuKfs4.js";import{t as Me}from"./CuiDataTable-DtRTB560.js";import{t as Ne}from"./pause-B7ud2O8d.js";import{t as Pe}from"./dots-vertical-C4DlXZyp.js";var Fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return _(),C(`svg`,Fe,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`m22.61 19l-9.08-9.09c.93-2.34.47-5.1-1.44-7C9.79.61 6.21.4 3.66 2.26L7.5 6.11L6.08 7.5L2.25 3.69C.39 6.23.6 9.82 2.9 12.11c1.86 1.86 4.57 2.35 6.89 1.48l9.11 9.11c.39.39 1.02.39 1.41 0l2.3-2.3c.39-.4.39-1.01 0-1.4m-3 1.59l-9.46-9.46c-.61.45-1.29.72-2 .82c-1.36.2-2.79-.21-3.83-1.25C3.37 9.76 2.93 8.5 3 7.26l3.09 3.09l4.24-4.24L7.24 3c1.26-.05 2.49.39 3.44 1.33a4.47 4.47 0 0 1 1.24 3.96a4.35 4.35 0 0 1-.88 1.96l9.46 9.45z`},null,-1)]])}var Ie=N({name:`mdi-wrench-outline`,render:B}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Le(e,t){return _(),C(`svg`,V,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M11 9.47V11h3.76L13 14.53V13H9.24zM13 1L6 15h5v8l7-14h-5z`},null,-1)]])}var Re=N({name:`mdi-lightning-bolt-outline`,render:Le}),ze={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return _(),C(`svg`,ze,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`m12 15.39l-3.76 2.27l.99-4.28l-3.32-2.88l4.38-.37L12 6.09l1.71 4.04l4.38.37l-3.32 2.88l.99 4.28M22 9.24l-7.19-.61L12 2L9.19 8.63L2 9.24l5.45 4.73L5.82 21L12 17.27L18.18 21l-1.64-7.03z`},null,-1)]])}var Be=N({name:`mdi-star-outline`,render:H}),U={class:`flex w-full flex-col gap-6`},Ve={class:`flex flex-col field-gap`},He={for:`assistantModelProvider`,class:`cui-label`},Ue={key:0,class:`flex flex-col field-gap`},We={for:`assistantModelBaseUrl`,class:`cui-label`},Ge={key:1,class:`flex flex-col field-gap`},W={for:`assistantModelKey`,class:`cui-label`},G={class:`flex flex-col field-gap`},K={for:`assistantModelModel`,class:`cui-label`},q={class:`flex flex-col field-gap`},Ke={for:`assistantModelName`,class:`cui-label`},J={class:`flex items-center gap-4 cui-toggle-switch`},Y={class:`flex flex-col field-switch-gap`},qe={for:`assistantModelUsers`,class:`cui-label-switch`},Je={key:2,class:`flex items-center gap-4 cui-toggle-switch`},X={class:`flex flex-col field-switch-gap`},Ye={for:`assistantModelImages`,class:`cui-label-switch`},Xe=F({__name:`AssistantModel`,props:{entry:{},models:{}},setup(e,{expose:t}){let n=new R,a=e,{t:s}=i(),ee=o(),te=n.listAssistantModelsMutation(),c=w(a.entry?.provider??`ollama`),l=w(a.entry?.baseURL??``),u=w(``),d=w(a.entry?.model??``),f=w(a.entry&&a.entry.name!==a.entry.model?a.entry.name:``),p=w(a.entry?.sendImages??!1),ne=w(a.entry?.userAccess!==!1),v=w(`new`),y=w([]),b=w([]),x=w(!1),T=M(()=>z.includes(c.value)),O=M(()=>c.value===`ollama`||c.value===`openai-compatible`),N=M(()=>a.entry?.apiKeySet===!0&&a.entry.provider===c.value),F=M(()=>a.models.filter(e=>e._id!==a.entry?._id&&e.provider===c.value&&e.apiKeySet)),L=M(()=>[{label:N.value?s(`views.settings.assistant_api_key_stored`):s(`views.settings.assistant_api_key_new`),value:`new`},...F.value.map(e=>({label:s(`views.settings.assistant_api_key_from`,{name:e.name}),value:e._id}))]),re=M(()=>T.value&&v.value===`new`&&!u.value&&!N.value);function ie(){return N.value?`new`:F.value[0]?._id??`new`}function ae(){let e=v.value===`new`?u.value?{apiKey:u.value}:a.entry&&!N.value?{apiKey:null}:{}:{copyKeyFrom:v.value};return{...a.entry?{id:a.entry._id,retest:!0,sendImages:p.value}:{},...e,name:f.value,provider:c.value,baseURL:O.value&&l.value?l.value:null,model:d.value.trim(),userAccess:ne.value}}function se(){l.value=``,d.value=``,y.value=[],b.value=[],v.value=ie()}function ce(e){let t=e.query.toLowerCase();b.value=y.value.filter(e=>e.toLowerCase().includes(t))}async function le(){let e=await te.mutateAsync(ae());if(e.error){ee.add({severity:`warn`,detail:s(`views.settings.assistant_models_failed`,{message:e.error}),life:5e3});return}y.value=e.models,b.value=e.models}return h(()=>{v.value=ie()}),t({onConfirm:async()=>!d.value.trim()||re.value?(x.value=!0,null):ae()}),(t,n)=>{let i=he,a=ye,o=r,s=_e,ee=ve,h=oe;return _(),C(`div`,U,[S(`div`,Ve,[S(`label`,He,g(t.$t(`views.settings.assistant_provider_label`)),1),E(i,{modelValue:I(c),"onUpdate:modelValue":n[0]||=e=>A(c)?c.value=e:null,"input-id":`assistantModelProvider`,options:I(Te),"option-label":`label`,"option-value":`value`,fluid:``,onChange:se},null,8,[`modelValue`,`options`]),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_provider_hint_${I(c).replace(`-`,`_`)}`)),1)]),_:1})]),I(O)?(_(),C(`div`,Ue,[S(`label`,We,g(t.$t(`views.settings.assistant_base_url_label`)),1),E(o,{id:`assistantModelBaseUrl`,modelValue:I(l),"onUpdate:modelValue":n[1]||=e=>A(l)?l.value=e:null,modelModifiers:{trim:!0},placeholder:I(De)[I(c)],fluid:``,autocomplete:`off`},null,8,[`modelValue`,`placeholder`])])):P(``,!0),I(T)||I(c)===`openai-compatible`?(_(),C(`div`,Ge,[S(`label`,W,g(t.$t(`views.settings.assistant_api_key_label`)),1),I(F).length?(_(),k(i,{key:0,modelValue:I(v),"onUpdate:modelValue":n[2]||=e=>A(v)?v.value=e:null,options:I(L),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`])):P(``,!0),I(v)===I(`new`)?(_(),C(j,{key:1},[E(s,{modelValue:I(u),"onUpdate:modelValue":n[3]||=e=>A(u)?u.value=e:null,"input-id":`assistantModelKey`,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`new-password`,invalid:I(x)&&I(re),placeholder:I(N)?`••••••••`:``},null,8,[`modelValue`,`invalid`,`placeholder`]),I(N)?(_(),k(a,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_api_key_keep_hint`)),1)]),_:1})):I(T)?P(``,!0):(_(),k(a,{key:1,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_api_key_optional`)),1)]),_:1}))],64)):P(``,!0)])):P(``,!0),S(`div`,G,[S(`label`,K,g(t.$t(`views.settings.assistant_model_label`)),1),E(ee,{modelValue:I(d),"onUpdate:modelValue":n[4]||=e=>A(d)?d.value=e:null,"input-id":`assistantModelModel`,suggestions:I(b),loading:I(te).isPending.value,invalid:I(x)&&!I(d).trim(),dropdown:``,fluid:``,placeholder:t.$t(`views.settings.assistant_model_placeholder`),onComplete:ce,onDropdownClick:le},null,8,[`modelValue`,`suggestions`,`loading`,`invalid`,`placeholder`]),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_model_info`)),1)]),_:1})]),S(`div`,q,[S(`label`,Ke,g(t.$t(`views.settings.assistant_model_name_label`)),1),E(o,{id:`assistantModelName`,modelValue:I(f),"onUpdate:modelValue":n[5]||=e=>A(f)?f.value=e:null,modelModifiers:{trim:!0},placeholder:I(d).trim()||t.$t(`views.settings.assistant_model_name_placeholder`),maxlength:`40`,fluid:``},null,8,[`modelValue`,`placeholder`])]),S(`div`,J,[S(`div`,Y,[S(`label`,qe,g(t.$t(`views.settings.assistant_model_users`)),1),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_model_users_info`)),1)]),_:1})]),E(h,{modelValue:I(ne),"onUpdate:modelValue":n[6]||=e=>A(ne)?ne.value=e:null,"input-id":`assistantModelUsers`,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),e.entry?(_(),C(`div`,Je,[S(`div`,X,[S(`label`,Ye,g(t.$t(`views.settings.assistant_send_images`)),1),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(e.entry.capabilities?.vision===!1?t.$t(`views.settings.assistant_send_images_no_vision`):t.$t(`views.settings.assistant_send_images_info`)),1)]),_:1})]),E(h,{modelValue:I(p),"onUpdate:modelValue":n[7]||=e=>A(p)?p.value=e:null,"input-id":`assistantModelImages`,class:`ml-auto shrink-0`},null,8,[`modelValue`])])):P(``,!0)])}}}),Ze={class:`w-full h-full`},Qe={key:0,class:`w-full h-full flex items-center justify-center`},$e={key:1,class:`flex flex-col w-full gap-6`},et={class:`card-title`},tt={class:`flex items-center gap-4`},nt={class:`flex flex-col field-switch-gap min-w-0`},rt={class:`text-sm font-bold text-color`},it={class:`card-title`},at={class:`flex flex-col gap-6`},ot={class:`flex items-center gap-4 cui-toggle-switch`},st={class:`flex flex-col field-switch-gap`},ct={for:`enabled`,class:`cui-label-switch`},lt={key:0,class:`flex flex-col divide-y divide-(--border-color)`},ut={class:`flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1`},dt={class:`max-w-full basis-full truncate font-medium text-color md:basis-auto`},ft={class:`order-3 mt-1 flex flex-wrap items-center gap-1.5 md:order-2 md:mt-0`},pt={class:`order-2 basis-full truncate text-muted md:order-3`},mt={key:0,class:`order-4 basis-full text-xs text-danger line-clamp-2`},ht={class:`hidden shrink-0 items-center gap-1 md:flex`},gt={class:`shrink-0 md:hidden`},_t={key:1,class:`text-sm text-muted`},vt={class:`flex`},yt={class:`card-title`},bt={class:`flex flex-col gap-6`},xt={class:`flex min-w-0 items-center gap-2`},St=[`for`],Ct={key:1,class:`text-sm text-muted`},wt={class:`flex`},Tt={class:`card-title`},Et={class:`flex flex-col gap-6`},Dt={class:`flex items-center gap-4 cui-toggle-switch`},Ot={class:`flex flex-col field-switch-gap`},kt={for:`memoryEnabled`,class:`cui-label-switch`},At={class:`flex items-center gap-4 cui-toggle-switch`},jt={class:`flex flex-col field-switch-gap`},Mt={for:`terminalEnabled`,class:`cui-label-switch`},Nt={class:`flex flex-col field-gap`},Pt={for:`language`,class:`cui-label`},Ft={class:`flex flex-col field-gap`},It={for:`reasoning`,class:`cui-label`},Lt={class:`flex flex-col md:flex-row gap-6`},Rt={class:`flex flex-col field-gap flex-1`},zt={for:`maxIterations`,class:`cui-label`},Bt={class:`flex flex-col field-gap flex-1`},Vt={for:`maxToolCalls`,class:`cui-label`},Ht={class:`flex flex-col field-gap`},Ut={for:`contextTokens`,class:`cui-label`},Wt={class:`flex flex-col md:flex-row gap-4`},Gt={class:`flex flex-col field-gap flex-1`},Kt={for:`historyThreads`,class:`cui-label`},qt={class:`flex flex-col field-gap flex-1`},Jt={for:`historyImages`,class:`cui-label`},Yt={class:`flex flex-col field-gap`},Xt={for:`systemPromptExtra`,class:`cui-label`},Zt={class:`flex items-center gap-2`},Qt={class:`card-title`},$t={class:`flex flex-col gap-6`},en={class:`flex flex-col gap-4`},tn={class:`flex items-center justify-between gap-4`},nn={class:`flex flex-col`},rn={class:`text-sm font-medium text-color`},an={class:`text-xs text-muted`},on={class:`flex items-center justify-between gap-4`},sn={class:`flex flex-col`},cn={class:`text-sm font-medium text-color`},ln={class:`text-xs text-muted`},un={key:0,class:`flex flex-col gap-6`},dn={class:`flex flex-col field-gap`},fn={for:`mcpEndpoint`,class:`cui-label`},pn={class:`flex flex-col field-gap`},mn={for:`mcpClient`,class:`cui-label`},hn={class:`flex`},gn={class:`card-title`},_n={class:`flex flex-col gap-6`},vn=[`aria-expanded`,`onClick`],yn={class:`flex min-w-0 flex-1 flex-col gap-0.5`},bn={class:`truncate text-sm font-medium text-color`},xn=[`inert`],Sn={class:`flex flex-col gap-4 px-4 pb-4`},Cn={class:`flex items-center gap-4 cui-toggle-switch`},wn={class:`flex flex-col field-switch-gap`},Tn=[`for`],En={class:`flex flex-col md:flex-row gap-4`},Dn={class:`flex flex-col field-gap md:w-56`},On=[`for`],kn={class:`flex flex-col field-gap flex-1`},An=[`for`],jn={class:`flex flex-col field-gap`},Mn=[`for`],Nn={class:`flex items-center gap-4 cui-toggle-switch`},Pn={class:`flex flex-col field-switch-gap`},Fn=[`for`],In={class:`flex`},Ln={class:`flex items-center gap-2`},Rn={class:`card-title`},zn={class:`flex flex-col gap-6`},Bn={key:0,class:`flex flex-col divide-y divide-(--border-color)`},Vn={class:`max-w-full basis-full truncate font-medium text-color md:basis-auto`},Hn={class:`flex flex-wrap items-center gap-1.5`},Un={class:`basis-full text-muted line-clamp-2`},Wn={class:`basis-full text-xs text-muted`},Gn={key:0},Kn={key:1},qn={key:0,class:`basis-full text-xs text-danger line-clamp-2`},Jn={class:`shrink-0`},Yn={class:`hidden items-center gap-1 md:flex`},Xn={class:`md:hidden`},Zn={class:`flex flex-col md:flex-row gap-6`},Qn={class:`flex flex-col field-gap flex-1`},$n={for:`scheduleTitle`,class:`cui-label`},er={class:`flex flex-col field-gap w-full md:w-52 shrink-0`},tr={for:`scheduleDeliver`,class:`cui-label`},nr={class:`flex flex-col field-gap`},rr={for:`schedulePrompt`,class:`cui-label`},ir={key:0,class:`flex flex-col field-gap`},ar={for:`scheduleProfile`,class:`cui-label`},or={class:`flex flex-col md:flex-row gap-6`},sr={class:`flex flex-col field-gap flex-1`},cr={for:`schedulePreset`,class:`cui-label`},lr={key:0,class:`flex flex-col field-gap w-full md:w-40 shrink-0`},ur={for:`scheduleTime`,class:`cui-label`},dr={key:1,class:`flex flex-col field-gap flex-1`},fr={for:`scheduleCron`,class:`cui-label`},pr={class:`flex`},mr={class:`card-title`},hr={class:`flex flex-col gap-3`},gr={class:`text-sm text-muted`},_r={class:`truncate`},vr={class:`truncate`},yr={class:`card-title`},br={key:0,class:`text-sm text-muted`},xr={key:1,class:`flex flex-col gap-6`},Sr={key:0,class:`mb-4 flex flex-col field-gap`},Cr=[`for`],wr={class:`flex max-h-96 flex-col divide-y divide-(--border-color) overflow-y-auto pr-2`},Tr={class:`min-w-0 flex-1`},Er={class:`flex flex-wrap items-center gap-2`},Dr={class:`font-medium text-color`},Or={class:`text-muted`},kr={key:0,class:`flex`},Z=`none`,Ar=c(F({__name:`SettingsAssistant`,setup(c){let h={icon:p,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{severity:`danger`}},N={memoryEnabled:!0,terminalEnabled:!1,language:null,reasoning:`default`,maxIterations:8,maxToolCalls:25,contextTokens:48e3,historyThreads:50,historyImages:24},F={columnHeaderContent:{class:`justify-end`}},ve={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},z=new R,De=o(),Fe=f(),{t:B,locale:V}=i(),{data:Le,isLoading:ze}=z.usageAllQuery(),{data:H}=z.getAssistantInfoQuery(),U=z.patchAssistantInfoMutation(),{data:Ve}=z.listProfilesQuery(),{data:He}=z.listSchedulesQuery(),Ue=z.createScheduleMutation(),We=z.patchScheduleMutation(),Ge=z.deleteScheduleMutation(),W=z.runScheduleMutation(),G=w(null),K=w({title:``,prompt:``,preset:`daily`,time:`20:00`,cron:``,deliver:`push`,profileId:null}),q=w({}),Ke=w([]),J=w([]),Y=w(`claude-code`),qe=w(`core`),Je=v(`rowMenuRef`),X=M(()=>H.value?.settings.models??[]),Ye=M(()=>H.value?xe(H.value.settings):void 0),Ar=M(()=>[{label:B(`views.settings.assistant_plugin_no_access`),value:Z},...X.value.map(e=>({label:e.name,value:e._id}))]),jr=M(()=>{let e=new Map;for(let t of H.value?.tools??[]){let n=t.source.kind===`plugin`?t.source.pluginId:t.source.kind===`external`?t.source.serverId:`core`,r=t.source.kind===`plugin`?t.source.pluginName:t.source.kind===`external`?t.source.serverName:`camera.ui`,i=e.get(n)??{key:n,label:r,serverId:t.source.kind===`external`?t.source.serverId:void 0,tools:[]};i.tools.push(t),e.set(n,i)}return Array.from(e.values())}),Mr=M(()=>Le.value?.map(e=>({...e,key:`${e.userId}-${e.month}-${e.provider}-${e.model}`}))),Q=M(()=>H.value?.status),Nr=M(()=>{let e=new Intl.DisplayNames([V.value],{type:`language`}),t=L.map(t=>({label:e.of(t)??t,value:t})).sort((e,t)=>e.label.localeCompare(t.label,V.value));return[{label:B(`views.settings.assistant_language_auto`),value:null},...t]}),Pr=M(()=>[`default`,`off`,`low`,`high`].map(e=>({label:B(`views.settings.assistant_reasoning_${e}`),value:e}))),Fr=M(()=>new URL(`${s.defaults.baseURL??`/api`}/assistant/mcp`.replace(/\/{2,}/g,`/`),window.location.origin).toString()),Ir=M(()=>[{label:`Claude Code`,value:`claude-code`},{label:`Cursor, Windsurf, VS Code`,value:`cursor`},{label:`Claude Desktop`,value:`claude-desktop`}]),Lr=M(()=>{let e=Fr.value;return Y.value===`claude-code`?`claude mcp add --transport http camera-ui ${e} --header "Authorization: Bearer <api token>"`:Y.value===`cursor`?JSON.stringify({mcpServers:{"camera-ui":{url:e,headers:{Authorization:`Bearer <api token>`}}}},null,2):JSON.stringify({mcpServers:{"camera-ui":{command:`npx`,args:[`-y`,`mcp-remote`,e,`--header`,`Authorization: Bearer <api token>`]}}},null,2)}),Rr=M(()=>[`push`,`thread`,`both`].map(e=>({label:B(`views.settings.assistant_schedule_deliver_${e}`),value:e}))),zr=M(()=>[`daily`,`weekdays`,`weekends`,`weekly`,`hourly`,`custom`].map(e=>({label:B(`views.settings.assistant_schedule_preset_${e}`),value:e}))),Br=M(()=>{let{preset:e,time:t,cron:n}=K.value,[r,i]=t.split(`:`).map(e=>Number.parseInt(e,10));return e===`custom`?n.trim():e===`hourly`?`0 * * * *`:Number.isNaN(r)||Number.isNaN(i)?``:`${i} ${r} * * ${e===`weekdays`?`1-5`:e===`weekends`?`0,6`:e===`weekly`?`0`:`*`}`}),Vr=M(()=>{switch(Q.value?.state){case`ready`:return`success`;case`unconfigured`:return`warn`;default:return`secondary`}}),Hr=M(()=>B(`views.settings.assistant_state_${Q.value?.state??`disabled`}`)),Ur=M(()=>Q.value?Q.value.state===`ready`?B(`views.settings.assistant_status_ready`,{model:Q.value.model}):B(`views.settings.assistant_status_info`):``);function Wr(e){let t=/^(\d+) (\d+) \* \* (\*|1-5|0,6|0)$/.exec(e);if(!t)return e;let n=`${t[2].padStart(2,`0`)}:${t[1].padStart(2,`0`)}`,r=t[3]===`*`?`daily`:t[3]===`1-5`?`weekdays`:t[3]===`0`?`weekly`:`weekends`;return`${B(`views.settings.assistant_schedule_preset_${r}`)} ${n}`}function Gr(e){return e===`push`?`info`:e===`thread`?`secondary`:`success`}function Kr(e){return new Date(e).toLocaleString(V.value,{day:`2-digit`,month:`2-digit`,hour:`2-digit`,minute:`2-digit`})}async function qr(){await Ue.mutateAsync({title:K.value.title,prompt:K.value.prompt,cron:Br.value,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,language:V.value,deliver:K.value.deliver,profileId:K.value.profileId,enabled:!0}),K.value={...K.value,title:``,prompt:``,cron:``,profileId:null}}function Jr(e){return e.replace(/^\[[^\]]+\]\s*/,``)}function Yr(e){if(e.source.kind!==`external`)return e.approval;let{serverId:t,toolName:n}=e.source;return G.value?.mcpServers.find(e=>e.id===t)?.toolApproval[n]??e.approval}function Xr(e){return e.tools.flatMap(e=>e.source.kind===`external`?[{label:Se(e.name),value:e.source.toolName}]:[])}function Zr(e){return e.tools.flatMap(e=>e.source.kind===`external`&&!Yr(e)?[e.source.toolName]:[])}function Qr(e,t){let n=G.value?.mcpServers.find(t=>t.id===e.serverId);n&&(n.toolApproval=Object.fromEntries(Xr(e).map(e=>[e.value,!t.includes(e.value)])))}function $r(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(+(e<1e4))}k`:`${(e/1e6).toFixed(2)}M`}function ei(e){return H.value?.external.find(t=>t.id===e)}function ti(e){let t=ei(e);return t?t.state===`connected`?B(`views.settings.assistant_external_state_connected`,{n:t.toolCount}):t.state===`error`?B(`views.settings.assistant_external_state_error`,{message:t.error??``}):B(`views.settings.assistant_external_state_${t.state}`):``}function ni(e){let t=ei(e)?.state;return t===`connected`?`text-success`:t===`error`?`text-danger`:`text-muted`}function ri(){if(!G.value)return;let e=l();G.value.mcpServers.push({id:e,name:``,url:``,enabled:!0,insecure:!1,tokenSet:!1,toolApproval:{}}),J.value.push(e)}function ii(e){J.value=J.value.includes(e)?J.value.filter(t=>t!==e):[...J.value,e]}function ai(e){G.value&&(G.value.mcpServers=G.value.mcpServers.filter(t=>t.id!==e),J.value=J.value.filter(t=>t!==e),delete q.value[e])}function oi(){let e=u(G.value);return{language:e.language,maxIterations:e.maxIterations,maxToolCalls:e.maxToolCalls,contextTokens:e.contextTokens,historyThreads:e.historyThreads,historyImages:e.historyImages,terminalEnabled:e.terminalEnabled,reasoning:e.reasoning,systemPromptExtra:e.systemPromptExtra,mcpEnabled:e.mcpEnabled,mcpWrites:e.mcpWrites,memoryEnabled:e.memoryEnabled,plugins:e.plugins.map(({pluginId:e,modelId:t})=>({pluginId:e,modelId:t})),mcpServers:e.mcpServers.filter(e=>e.name.trim()||e.url.trim()).map(e=>({id:e.id,name:e.name.trim(),url:e.url.trim(),enabled:e.enabled,insecure:e.insecure,toolApproval:e.toolApproval,...q.value[e.id]?{token:q.value[e.id]}:{}}))}}function si(){G.value&&Object.assign(G.value,N)}async function ci(){G.value&&(await U.mutateAsync(oi()),q.value={})}function li(e){return Te.find(t=>t.value===e)?.label??e}async function ui(e){return U.mutateAsync({models:e})}function di(e,t){Ke.value=[{label:B(`views.settings.assistant_model_make_default`),icon:Be,hide:t._id===Ye.value?._id,disabled:U.isPending.value,onClick:()=>_i(t)},{label:B(`views.settings.assistant_model_edit`),icon:Oe,onClick:()=>mi(t)},{...h,label:B(`views.settings.assistant_model_delete`),onClick:()=>gi(t)}],Je.value?.toggleMenu(e)}function fi(e){We.mutate({scheduleId:e._id,patch:{enabled:!e.enabled}})}function pi(e,t){Ke.value=[{label:B(`views.settings.assistant_schedule_run`),icon:Re,onClick:()=>W.mutate(t._id)},t.enabled?{label:B(`views.settings.assistant_schedule_pause`),icon:Ne,onClick:()=>fi(t)}:{label:B(`views.settings.assistant_schedule_resume`),icon:Ee,onClick:()=>fi(t)},{...h,label:B(`views.settings.assistant_schedule_delete`),onClick:()=>Ge.mutate(t._id)}],Je.value?.toggleMenu(e)}function mi(e){let t=new Set(X.value.map(e=>e._id));Fe.openComponentDialog(Xe,{data:{title:B(e?`views.settings.assistant_model_edit`:`views.settings.assistant_model_add`),confirmText:B(`components.form.button.save`),awaitConfirm:!0,contentProps:{entry:e?O(e):void 0,models:O(X.value)}},onConfirm:async n=>{hi((await ui(e?X.value.map(t=>t._id===e._id?n:we(t)):[...X.value.map(we),n])).settings.models.find(n=>e?n._id===e._id:!t.has(n._id)))}})}function hi(e){let t=e?.capabilities;if(!t)return;let n=t.error?B(`views.settings.assistant_test_failed`,{message:t.error}):t.toolCalling?t.vision===!1?B(`views.settings.assistant_test_vision_missing`):``:B(`views.settings.assistant_test_tools_missing`);n&&De.add({severity:t.error?`error`:`warn`,detail:n,life:8e3})}function gi(e){Fe.openTextDialog({data:{title:B(`views.settings.assistant_model_delete`),contentText:B(`views.settings.assistant_model_delete_confirm`,{name:e.name}),confirmText:B(`views.settings.assistant_model_delete`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{await ui(X.value.filter(t=>t._id!==e._id).map(we))}})}async function _i(e){await U.mutateAsync({defaultModelId:e._id})}function vi(e){return G.value?.plugins.find(t=>t.pluginId===e)?.modelId??Z}function yi(e){return X.value.find(t=>t._id===vi(e))}function bi(e,t){if(!G.value)return;let n=G.value.plugins.filter(t=>t.pluginId!==e);G.value.plugins=t===Z?n:[...n,{pluginId:e,modelId:t}]}function xi(e){return X.value.find(t=>t.provider===e.provider&&t.model===e.model)?.name??e.model}function Si(e){return Ve.value?.find(t=>t._id===e)?.name}return b(H,e=>{e&&!G.value&&(G.value=u(e.settings))},{immediate:!0}),(i,o)=>{let s=t,c=ye,l=pe,u=a,f=oe,h=Be,v=e,b=Oe,w=p,O=Pe,M=Ae,N=he,L=fe,R=me,xe=je,z=r,we=ee,Te=se,De=ce,Fe=ne(`RouterLink`),B=be,V=_e,Le=Re,We=Ne,Xe=Ee,Z=le,Q=Me,ei=re,oi=ue,ui=ge,hi=Ie,Ci=ae,wi=de,Ti=ie,$=n;return _(),C(`div`,Ze,[I(G)?(_(),C(`div`,$e,[S(`div`,null,[S(`span`,et,g(i.$t(`views.settings.status`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,tt,[S(`div`,nt,[S(`span`,rt,g(i.$t(`views.settings.assistant_title`)),1),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:m(()=>[D(g(I(Ur)),1)]),_:1})]),E(l,{class:`ml-auto shrink-0`,severity:I(Vr),value:I(Hr)},null,8,[`severity`,`value`])])]),_:1})]),S(`div`,null,[S(`span`,it,g(i.$t(`views.settings.assistant_model`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,at,[S(`div`,ot,[S(`div`,st,[S(`label`,ct,g(i.$t(`components.form.label.enabled`)),1),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_enabled_info`)),1)]),_:1})]),E(f,{"model-value":I(H)?.settings.enabled??!1,"input-id":`enabled`,disabled:I(U).isPending.value,class:`ml-auto shrink-0`,"onUpdate:modelValue":o[0]||=e=>I(U).mutate({enabled:e})},null,8,[`model-value`,`disabled`])]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_models_info`)),1)]),_:1}),I(X).length?(_(),C(`div`,lt,[(_(!0),C(j,null,y(I(X),e=>(_(),C(`div`,{key:e._id,class:`flex items-start gap-3 py-3 text-sm`},[S(`div`,ut,[S(`span`,dt,g(e.name),1),S(`div`,ft,[e._id===I(Ye)?._id?(_(),k(l,{key:0,severity:`info`,value:i.$t(`views.settings.assistant_model_default`),class:`text-[10px]`},null,8,[`value`])):P(``,!0),e.userAccess===!1?(_(),k(l,{key:1,severity:`secondary`,value:i.$t(`views.settings.assistant_model_admins_only`),class:`text-[10px]`},null,8,[`value`])):P(``,!0),(_(!0),C(j,null,y(I(Ce)(e),e=>(_(),k(l,{key:e.key,severity:e.severity,value:i.$t(`views.settings.assistant_capability_${e.key}`),class:`text-[10px]`},null,8,[`severity`,`value`]))),128))]),S(`div`,pt,g(li(e.provider))+` · `+g(e.model),1),e.capabilities?.error?(_(),C(`div`,mt,g(e.capabilities.error),1)):P(``,!0)]),S(`div`,ht,[e._id===I(Ye)?._id?P(``,!0):T((_(),k(v,{key:0,type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,disabled:I(U).isPending.value,onClick:t=>_i(e)},{icon:m(()=>[E(h,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`onClick`])),[[$,{value:i.$t(`views.settings.assistant_model_make_default`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>mi(e)},{icon:m(()=>[E(b,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`views.settings.assistant_model_edit`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>gi(e)},{icon:m(()=>[E(w,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`views.settings.assistant_model_delete`)},void 0,{top:!0}]])]),S(`div`,gt,[E(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>di(t,e)},{icon:m(()=>[E(O,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])])]))),128))])):(_(),C(`div`,_t,g(i.$t(`views.settings.assistant_models_empty`)),1)),S(`div`,vt,[E(v,{type:`button`,severity:`secondary`,outlined:``,class:`cui-button-medium ml-auto`,label:i.$t(`views.settings.assistant_model_add`),disabled:I(X).length>=20,onClick:o[1]||=e=>mi()},{icon:m(()=>[E(M,{class:`w-4 h-4`})]),_:1},8,[`label`,`disabled`])])])]),_:1})]),S(`div`,null,[S(`span`,yt,g(i.$t(`views.settings.assistant_plugins`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,bt,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_plugins_info`)),1)]),_:1}),I(H)?.plugins.length?(_(!0),C(j,{key:0},y(I(H).plugins,e=>(_(),C(`div`,{key:e.id,class:`flex flex-col field-gap`},[S(`div`,xt,[S(`label`,{for:`plugin-${e.id}`,class:`cui-label truncate`},g(e.name),9,St),yi(e.id)?.capabilities?.vision===!1?(_(),k(l,{key:0,severity:`warn`,value:i.$t(`views.settings.assistant_capability_no_vision`),class:`shrink-0 text-[10px]`},null,8,[`value`])):P(``,!0)]),E(N,{"model-value":vi(e.id),"input-id":`plugin-${e.id}`,options:I(Ar),"option-label":`label`,"option-value":`value`,fluid:``,"onUpdate:modelValue":t=>bi(e.id,t)},null,8,[`model-value`,`input-id`,`options`,`onUpdate:modelValue`])]))),128)):(_(),C(`div`,Ct,g(i.$t(`views.settings.assistant_plugins_empty`)),1)),S(`div`,wt,[E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,Tt,g(i.$t(`views.settings.assistant_behavior`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,Et,[S(`div`,Dt,[S(`div`,Ot,[S(`label`,kt,g(i.$t(`views.settings.assistant_memory`)),1),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_memory_info`)),1)]),_:1})]),E(f,{modelValue:I(G).memoryEnabled,"onUpdate:modelValue":o[2]||=e=>I(G).memoryEnabled=e,"input-id":`memoryEnabled`,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),S(`div`,At,[S(`div`,jt,[S(`label`,Mt,g(i.$t(`views.settings.assistant_terminal`)),1),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_terminal_info`)),1)]),_:1})]),E(f,{modelValue:I(G).terminalEnabled,"onUpdate:modelValue":o[3]||=e=>I(G).terminalEnabled=e,"input-id":`terminalEnabled`,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),S(`div`,Nt,[S(`label`,Pt,g(i.$t(`views.settings.assistant_language_label`)),1),E(N,{modelValue:I(G).language,"onUpdate:modelValue":o[4]||=e=>I(G).language=e,"input-id":`language`,options:I(Nr),"option-label":`label`,"option-value":`value`,filter:``,fluid:``},null,8,[`modelValue`,`options`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_language_info`)),1)]),_:1})]),S(`div`,Ft,[S(`label`,It,g(i.$t(`views.settings.assistant_reasoning_label`)),1),E(N,{modelValue:I(G).reasoning,"onUpdate:modelValue":o[5]||=e=>I(G).reasoning=e,"input-id":`reasoning`,options:I(Pr),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_reasoning_info`)),1)]),_:1})]),S(`div`,Lt,[S(`div`,Rt,[S(`label`,zt,g(i.$t(`views.settings.assistant_max_iterations_label`)),1),E(L,{modelValue:I(G).maxIterations,"onUpdate:modelValue":o[6]||=e=>I(G).maxIterations=e,min:1,max:30,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_max_iterations_info`)),1)]),_:1})]),S(`div`,Bt,[S(`label`,Vt,g(i.$t(`views.settings.assistant_max_tool_calls_label`)),1),E(L,{modelValue:I(G).maxToolCalls,"onUpdate:modelValue":o[7]||=e=>I(G).maxToolCalls=e,min:1,max:100,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_max_tool_calls_info`)),1)]),_:1})])]),S(`div`,Ht,[S(`label`,Ut,g(i.$t(`views.settings.assistant_context_tokens_label`)),1),E(L,{id:`contextTokens`,modelValue:I(G).contextTokens,"onUpdate:modelValue":o[8]||=e=>I(G).contextTokens=e,min:8e3,max:4e5,step:1e3,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_context_tokens_info`)),1)]),_:1})]),S(`div`,Wt,[S(`div`,Gt,[S(`label`,Kt,g(i.$t(`views.settings.assistant_history_threads_label`)),1),E(L,{id:`historyThreads`,modelValue:I(G).historyThreads,"onUpdate:modelValue":o[9]||=e=>I(G).historyThreads=e,min:5,max:500,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_history_threads_info`)),1)]),_:1})]),S(`div`,qt,[S(`label`,Jt,g(i.$t(`views.settings.assistant_history_images_label`)),1),E(L,{id:`historyImages`,modelValue:I(G).historyImages,"onUpdate:modelValue":o[10]||=e=>I(G).historyImages=e,min:0,max:200,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_history_images_info`)),1)]),_:1})])]),S(`div`,Yt,[S(`label`,Xt,g(i.$t(`views.settings.assistant_extra_prompt_label`)),1),E(R,{modelValue:I(G).systemPromptExtra,"onUpdate:modelValue":o[11]||=e=>I(G).systemPromptExtra=e,rows:`3`,"auto-resize":``,placeholder:i.$t(`views.settings.assistant_extra_prompt_placeholder`)},null,8,[`modelValue`,`placeholder`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_extra_prompt_info`)),1)]),_:1})]),S(`div`,Zt,[E(v,{type:`button`,severity:`secondary`,outlined:``,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.reset_defaults`),onClick:si},{icon:m(()=>[E(xe,{class:`w-4 h-4`})]),_:1},8,[`label`]),E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,Qt,g(i.$t(`views.settings.assistant_mcp`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,$t,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_mcp_info`)),1)]),_:1}),S(`div`,en,[S(`div`,tn,[S(`div`,nn,[S(`span`,rn,g(i.$t(`views.settings.assistant_mcp_enabled_label`)),1),S(`span`,an,g(i.$t(`views.settings.assistant_mcp_enabled_info`)),1)]),E(f,{modelValue:I(G).mcpEnabled,"onUpdate:modelValue":o[12]||=e=>I(G).mcpEnabled=e},null,8,[`modelValue`])]),S(`div`,on,[S(`div`,sn,[S(`span`,cn,g(i.$t(`views.settings.assistant_mcp_writes_label`)),1),S(`span`,ln,g(i.$t(`views.settings.assistant_mcp_writes_info`)),1)]),E(f,{modelValue:I(G).mcpWrites,"onUpdate:modelValue":o[13]||=e=>I(G).mcpWrites=e,disabled:!I(G).mcpEnabled},null,8,[`modelValue`,`disabled`])])]),I(G).mcpEnabled?(_(),C(`div`,un,[S(`div`,dn,[S(`label`,fn,g(i.$t(`views.settings.assistant_mcp_endpoint_label`)),1),E(De,null,{default:m(()=>[E(z,{id:`mcpEndpoint`,"model-value":I(Fr),readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),E(Te,null,{default:m(()=>[E(we,{"action-text":i.$t(`components.form.tooltip.copied`),icon:I(ke),"button-props":{severity:`secondary`,text:!0},onAction:o[14]||=e=>I(te)(I(Fr))},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_mcp_token_info`))+` `,1),E(Fe,{to:{name:`SettingsAccount`},class:`underline`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_mcp_token_link`)),1)]),_:1})]),_:1})]),S(`div`,pn,[S(`label`,mn,g(i.$t(`views.settings.assistant_mcp_client_label`)),1),E(N,{modelValue:I(Y),"onUpdate:modelValue":o[15]||=e=>A(Y)?Y.value=e:null,"input-id":`mcpClient`,options:I(Ir),"option-label":`label`,"option-value":`value`,class:`w-full`},null,8,[`modelValue`,`options`]),E(De,null,{default:m(()=>[E(R,{id:`mcpSnippet`,"model-value":I(Lr),readonly:``,"auto-resize":``,rows:`3`,class:`font-mono text-xs`},null,8,[`model-value`]),E(Te,null,{default:m(()=>[E(we,{"action-text":i.$t(`components.form.tooltip.copied`),icon:I(ke),"button-props":{severity:`secondary`,text:!0},onAction:o[16]||=e=>I(te)(I(Lr))},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_mcp_snippet_info`)),1)]),_:1})])])):P(``,!0),S(`div`,hn,[E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,gn,g(i.$t(`views.settings.assistant_external`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,_n,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_external_info`)),1)]),_:1}),(_(!0),C(j,null,y(I(G).mcpServers,e=>(_(),C(`div`,{key:e.id,class:`cui-assistant-server overflow-hidden rounded-xl`},[S(`button`,{type:`button`,class:`flex w-full cursor-pointer items-center gap-3 p-4 text-left`,"aria-expanded":I(J).includes(e.id),onClick:t=>ii(e.id)},[S(`div`,yn,[S(`span`,bn,g(e.name||i.$t(`views.settings.assistant_external_new`)),1),ti(e.id)?(_(),C(`span`,{key:0,class:x([`truncate text-xs`,ni(e.id)])},g(ti(e.id)),3)):P(``,!0)]),E(B,{class:x([`h-5 w-5 shrink-0 text-muted transition-transform duration-200`,{"rotate-180":I(J).includes(e.id)}])},null,8,[`class`])],8,vn),S(`div`,{class:x([`cui-assistant-server-body grid`,{"cui-assistant-server-open":I(J).includes(e.id)}])},[S(`div`,{class:`min-h-0 overflow-hidden`,inert:!I(J).includes(e.id)},[S(`div`,Sn,[S(`div`,Cn,[S(`div`,wn,[S(`label`,{for:`server-enabled-${e.id}`,class:`cui-label-switch`},g(i.$t(`components.form.label.enabled`)),9,Tn),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_external_enabled_info`)),1)]),_:1})]),E(f,{modelValue:e.enabled,"onUpdate:modelValue":t=>e.enabled=t,"input-id":`server-enabled-${e.id}`,class:`ml-auto shrink-0`},null,8,[`modelValue`,`onUpdate:modelValue`,`input-id`])]),S(`div`,En,[S(`div`,Dn,[S(`label`,{for:`server-name-${e.id}`,class:`cui-label`},g(i.$t(`views.settings.assistant_external_name`)),9,On),E(z,{id:`server-name-${e.id}`,modelValue:e.name,"onUpdate:modelValue":t=>e.name=t,fluid:``,placeholder:`Home Assistant`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])]),S(`div`,kn,[S(`label`,{for:`server-url-${e.id}`,class:`cui-label`},g(i.$t(`views.settings.assistant_external_url`)),9,An),E(z,{id:`server-url-${e.id}`,modelValue:e.url,"onUpdate:modelValue":t=>e.url=t,fluid:``,placeholder:`http://homeassistant.local:8123/api/mcp`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])])]),S(`div`,jn,[S(`label`,{for:`server-token-${e.id}`,class:`cui-label`},g(i.$t(`views.settings.assistant_external_token`)),9,Mn),E(V,{id:`server-token-${e.id}`,modelValue:I(q)[e.id],"onUpdate:modelValue":t=>I(q)[e.id]=t,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`new-password`,placeholder:e.tokenSet?`••••••••`:``},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`placeholder`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(e.tokenSet?i.$t(`views.settings.assistant_external_token_set`):i.$t(`views.settings.assistant_external_token_info`)),1)]),_:2},1024)]),S(`div`,Nn,[S(`div`,Pn,[S(`label`,{for:`server-insecure-${e.id}`,class:`cui-label-switch`},g(i.$t(`views.settings.assistant_external_insecure`)),9,Fn),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_external_insecure_info`)),1)]),_:1})]),E(f,{"input-id":`server-insecure-${e.id}`,modelValue:e.insecure,"onUpdate:modelValue":t=>e.insecure=t,class:`ml-auto shrink-0`},null,8,[`input-id`,`modelValue`,`onUpdate:modelValue`])]),S(`div`,In,[E(v,{type:`button`,severity:`danger`,outlined:``,class:`cui-button-medium ml-auto`,label:i.$t(`views.settings.assistant_external_remove`),onClick:t=>ai(e.id)},{icon:m(()=>[E(w,{class:`w-4 h-4`})]),_:1},8,[`label`,`onClick`])])])],8,xn)],2)]))),128)),S(`div`,Ln,[E(v,{type:`button`,severity:`secondary`,outlined:``,class:`cui-button-medium`,label:i.$t(`views.settings.assistant_external_add`),disabled:I(G).mcpServers.length>=10,onClick:ri},{icon:m(()=>[E(M,{class:`w-4 h-4`})]),_:1},8,[`label`,`disabled`]),E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,Rn,g(i.$t(`views.settings.assistant_schedules`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,zn,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_schedules_info`)),1)]),_:1}),I(He)?.length?(_(),C(`div`,Bn,[(_(!0),C(j,null,y(I(He),e=>(_(),C(`div`,{key:e._id,class:`flex items-start gap-3 py-3 text-sm`},[S(`div`,{class:x([`flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1`,{"opacity-60":!e.enabled}])},[S(`span`,Vn,g(e.title),1),S(`div`,Hn,[E(l,{severity:`secondary`,value:Wr(e.cron),class:`text-[10px]`},null,8,[`value`]),E(l,{severity:Gr(e.deliver),value:i.$t(`views.settings.assistant_schedule_deliver_${e.deliver}`),class:`text-[10px]`},null,8,[`severity`,`value`]),e.profileId?(_(),k(l,{key:0,severity:Si(e.profileId)?`secondary`:`warn`,value:Si(e.profileId)??i.$t(`views.settings.assistant_schedule_profile_missing`),class:`text-[10px]`},null,8,[`severity`,`value`])):P(``,!0)]),S(`div`,Un,g(e.prompt),1),S(`div`,Wn,[e.enabled&&e.nextRun?(_(),C(`span`,Gn,g(i.$t(`views.settings.assistant_schedule_next`,{time:Kr(e.nextRun)})),1)):e.enabled?P(``,!0):(_(),C(`span`,Kn,g(i.$t(`views.settings.assistant_schedule_paused`)),1)),e.lastRun?(_(),C(`span`,{key:2,class:x({"text-danger":e.lastRun.status===`error`})},` · `+g(i.$t(`views.settings.assistant_schedule_last_${e.lastRun.status}`,{time:Kr(e.lastRun.at)})),3)):P(``,!0)]),e.lastRun?.status===`error`&&e.lastRun.message?(_(),C(`div`,qn,g(e.lastRun.message),1)):P(``,!0)],2),S(`div`,Jn,[S(`div`,Yn,[T((_(),k(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,loading:I(W).isPending.value&&I(W).variables.value===e._id,onClick:t=>I(W).mutate(e._id)},{icon:m(()=>[E(Le,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[$,{value:i.$t(`views.settings.assistant_schedule_run`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>fi(e)},{icon:m(()=>[e.enabled?(_(),k(We,{key:0,width:`100%`,height:`100%`})):(_(),k(Xe,{key:1,width:`100%`,height:`100%`}))]),_:2},1032,[`onClick`])),[[$,{value:e.enabled?i.$t(`views.settings.assistant_schedule_pause`):i.$t(`views.settings.assistant_schedule_resume`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>I(Ge).mutate(e._id)},{icon:m(()=>[E(w,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`views.settings.assistant_schedule_delete`)},void 0,{top:!0}]])]),S(`div`,Xn,[E(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,loading:I(W).isPending.value&&I(W).variables.value===e._id,onClick:t=>pi(t,e)},{icon:m(()=>[E(O,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])])])]))),128))])):P(``,!0),S(`div`,{class:x([`flex flex-col gap-6`,{"cui-assistant-schedule-form":I(He)?.length}])},[S(`div`,Zn,[S(`div`,Qn,[S(`label`,$n,g(i.$t(`views.settings.assistant_schedule_title_label`)),1),E(z,{modelValue:I(K).title,"onUpdate:modelValue":o[17]||=e=>I(K).title=e,modelModifiers:{trim:!0},type:`text`,placeholder:i.$t(`views.settings.assistant_schedule_title_placeholder`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),S(`div`,er,[S(`label`,tr,g(i.$t(`views.settings.assistant_schedule_deliver_label`)),1),E(N,{modelValue:I(K).deliver,"onUpdate:modelValue":o[18]||=e=>I(K).deliver=e,options:I(Rr),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`])])]),S(`div`,nr,[S(`label`,rr,g(i.$t(`views.settings.assistant_schedule_prompt_label`)),1),E(R,{modelValue:I(K).prompt,"onUpdate:modelValue":o[19]||=e=>I(K).prompt=e,rows:`2`,"auto-resize":``,placeholder:i.$t(`views.settings.assistant_schedule_prompt_placeholder`)},null,8,[`modelValue`,`placeholder`])]),I(Ve)?.length?(_(),C(`div`,ir,[S(`label`,ar,g(i.$t(`views.settings.assistant_schedule_profile_label`)),1),E(N,{modelValue:I(K).profileId,"onUpdate:modelValue":o[20]||=e=>I(K).profileId=e,"input-id":`scheduleProfile`,options:I(Ve),"option-label":`name`,"option-value":`_id`,"show-clear":``,fluid:``,placeholder:i.$t(`views.settings.assistant_schedule_profile_none`)},null,8,[`modelValue`,`options`,`placeholder`])])):P(``,!0),S(`div`,or,[S(`div`,sr,[S(`label`,cr,g(i.$t(`views.settings.assistant_schedule_when_label`)),1),E(N,{modelValue:I(K).preset,"onUpdate:modelValue":o[21]||=e=>I(K).preset=e,options:I(zr),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`])]),I(K).preset!==`hourly`&&I(K).preset!==`custom`?(_(),C(`div`,lr,[S(`label`,ur,g(i.$t(`views.settings.assistant_schedule_time_label`)),1),E(z,{modelValue:I(K).time,"onUpdate:modelValue":o[22]||=e=>I(K).time=e,type:`time`,class:`cui-time-input w-full`},null,8,[`modelValue`])])):P(``,!0),I(K).preset===`custom`?(_(),C(`div`,dr,[S(`label`,fr,g(i.$t(`views.settings.assistant_schedule_cron_label`)),1),E(z,{modelValue:I(K).cron,"onUpdate:modelValue":o[23]||=e=>I(K).cron=e,modelModifiers:{trim:!0},type:`text`,placeholder:`0 20 * * *`,class:`w-full font-mono text-sm`},null,8,[`modelValue`])])):P(``,!0)]),S(`div`,pr,[E(v,{type:`button`,loading:I(Ue).isPending.value,disabled:!I(K).title||!I(K).prompt||!I(Br),class:`cui-button-medium ml-auto`,label:i.$t(`views.settings.assistant_schedule_add`),onClick:qr},null,8,[`loading`,`disabled`,`label`])])],2)])]),_:1})]),S(`div`,null,[S(`span`,mr,g(i.$t(`views.settings.assistant_usage`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,hr,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_usage_info`)),1)]),_:1}),E(Q,{value:I(Mr)??[],"data-key":`key`,loading:I(ze),pt:ve,"striped-rows":``,scrollable:``},{loading:m(()=>[E(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:m(()=>[S(`span`,gr,g(i.$t(`views.settings.assistant_usage_empty`)),1)]),default:m(()=>[E(Z,{field:`month`,header:i.$t(`views.settings.assistant_usage_month`),"header-class":`p-2`,class:`p-2 tabular-nums`},null,8,[`header`]),E(Z,{field:`username`,header:i.$t(`views.settings.assistant_usage_user`),"header-class":`p-2`,class:`p-2`},{body:m(({data:e})=>[S(`span`,_r,g(e.pluginName??e.username??e.userId),1)]),_:1},8,[`header`]),E(Z,{field:`model`,header:i.$t(`views.settings.assistant_usage_model`),"header-class":`p-2`,class:`p-2`},{body:m(({data:e})=>[S(`span`,vr,g(xi(e)),1)]),_:1},8,[`header`]),E(Z,{field:`runs`,header:i.$t(`views.settings.assistant_usage_runs`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},null,8,[`header`]),E(Z,{field:`promptTokens`,header:i.$t(`views.settings.assistant_usage_in`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},{body:m(({data:e})=>[D(g($r(e.promptTokens)),1)]),_:1},8,[`header`]),E(Z,{field:`completionTokens`,header:i.$t(`views.settings.assistant_usage_out`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},{body:m(({data:e})=>[D(g($r(e.completionTokens)),1)]),_:1},8,[`header`]),E(Z,{field:`costUsd`,header:i.$t(`views.settings.assistant_usage_cost`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},{body:m(({data:e})=>[D(g(e.costUsd?`$${e.costUsd.toFixed(e.costUsd<1?3:2)}`:`–`),1)]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])])]),_:1})]),S(`div`,null,[S(`span`,yr,g(i.$t(`views.settings.assistant_tools`)),1),E(u,{class:`cui-card`},{content:m(()=>[I(jr).length?(_(),C(`div`,xr,[E(Ti,{value:I(qe),"onUpdate:value":o[24]||=e=>A(qe)?qe.value=e:null,scrollable:``},{default:m(()=>[E(oi,{class:`mb-3`},{default:m(()=>[(_(!0),C(j,null,y(I(jr),e=>(_(),k(ei,{key:e.key,value:e.key,class:`text-sm`},{default:m(()=>[D(g(e.label)+` (`+g(e.tools.length)+`)`,1)]),_:2},1032,[`value`]))),128))]),_:1}),E(wi,{class:`!p-0 !bg-transparent`},{default:m(()=>[(_(!0),C(j,null,y(I(jr),e=>(_(),k(Ci,{key:e.key,value:e.key},{default:m(()=>[e.serverId?(_(),C(`div`,Sr,[S(`label`,{for:`trusted-${e.key}`,class:`cui-label`},g(i.$t(`views.settings.assistant_tools_trusted_label`)),9,Cr),E(ui,{"model-value":Zr(e),"input-id":`trusted-${e.key}`,options:Xr(e),"option-label":`label`,"option-value":`value`,"max-selected-labels":3,"selected-items-label":i.$t(`views.settings.assistant_tools_trusted_selected`,{n:Zr(e).length}),placeholder:i.$t(`views.settings.assistant_tools_trusted_none`),filter:``,fluid:``,"onUpdate:modelValue":t=>Qr(e,t)},null,8,[`model-value`,`input-id`,`options`,`selected-items-label`,`placeholder`,`onUpdate:modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_tools_trusted_info`)),1)]),_:1})])):P(``,!0),S(`div`,wr,[(_(!0),C(j,null,y(e.tools,e=>(_(),C(`div`,{key:e.name,class:`flex items-start gap-3 py-2 text-sm`},[E(hi,{class:`w-4 h-4 mt-0.5 shrink-0 text-muted`}),S(`div`,Tr,[S(`div`,Er,[S(`span`,Dr,g(I(Se)(e.name)),1),Yr(e)?(_(),k(l,{key:0,severity:`warn`,value:i.$t(`views.settings.assistant_tool_approval`),class:`text-[10px]`},null,8,[`value`])):P(``,!0),e.adminOnly?(_(),k(l,{key:1,severity:`info`,value:i.$t(`views.settings.assistant_tool_admin`),class:`text-[10px]`},null,8,[`value`])):P(``,!0)]),S(`div`,Or,g(Jr(e.description)),1)])]))),128))])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`value`]),I(jr).some(e=>e.serverId)?(_(),C(`div`,kr,[E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])):P(``,!0)])):(_(),C(`div`,br,g(i.$t(`views.settings.assistant_tools_empty`)),1))]),_:1})])])):(_(),C(`div`,Qe,[E(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])),E(d,{ref_key:`rowMenuRef`,ref:Je,items:I(Ke),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),[[`__scopeId`,`data-v-69f75eeb`]]);export{Ar as default};
1
+ import{Bt as e,It as t,Kt as n,L as r,Vr as i,q as a}from"./vendor-cameraui-DTALowLr.js";import{Er as o,Fr as s,gt as ee,i as te,kn as c,m as l,o as u,pn as d,st as f,z as p}from"./api-C7-TgfI0.js";import{$n as m,An as h,Bn as ne,Cr as g,In as _,Jn as v,Rn as y,Xn as b,br as x,cn as S,dn as C,dr as w,er as T,gn as E,hn as D,hr as O,ln as k,or as A,rn as j,sn as M,sr as N,un as P,vn as F,yr as I}from"./vendor-CFZm55ei.js";import{q as L}from"./types-BlFbLEIJ.js";import{B as re,G as ie,H as ae,K as oe,L as se,R as ce,S as le,V as ue,W as de,_ as fe,a as pe,i as me,j as he,l as ge,s as _e,w as ve,z as ye}from"./vendor-primevue-CpTHHdUJ.js";import{t as be}from"./chevron-down-COQqnpYB.js";import{t as R}from"./assistant-Cl_fhAuJ.js";import{a as xe,d as Se,i as Ce,n as z,o as we,r as Te,s as Ee,t as De}from"./assistantModels-DPcZCyld.js";import{t as Oe}from"./pencil-outline-BiVfpCP6.js";import{t as ke}from"./content-copy-M0zk9eVL.js";import{t as Ae}from"./plus-CjwCt143.js";import{t as je}from"./restore-mXNfiEUq.js";import{t as Me}from"./CuiDataTable-C8ZywwaZ.js";import{t as Ne}from"./pause-DvYzloru.js";import{t as Pe}from"./dots-vertical-BBZiQrJI.js";var Fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return _(),C(`svg`,Fe,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`m22.61 19l-9.08-9.09c.93-2.34.47-5.1-1.44-7C9.79.61 6.21.4 3.66 2.26L7.5 6.11L6.08 7.5L2.25 3.69C.39 6.23.6 9.82 2.9 12.11c1.86 1.86 4.57 2.35 6.89 1.48l9.11 9.11c.39.39 1.02.39 1.41 0l2.3-2.3c.39-.4.39-1.01 0-1.4m-3 1.59l-9.46-9.46c-.61.45-1.29.72-2 .82c-1.36.2-2.79-.21-3.83-1.25C3.37 9.76 2.93 8.5 3 7.26l3.09 3.09l4.24-4.24L7.24 3c1.26-.05 2.49.39 3.44 1.33a4.47 4.47 0 0 1 1.24 3.96a4.35 4.35 0 0 1-.88 1.96l9.46 9.45z`},null,-1)]])}var Ie=N({name:`mdi-wrench-outline`,render:B}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Le(e,t){return _(),C(`svg`,V,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M11 9.47V11h3.76L13 14.53V13H9.24zM13 1L6 15h5v8l7-14h-5z`},null,-1)]])}var Re=N({name:`mdi-lightning-bolt-outline`,render:Le}),ze={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return _(),C(`svg`,ze,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`m12 15.39l-3.76 2.27l.99-4.28l-3.32-2.88l4.38-.37L12 6.09l1.71 4.04l4.38.37l-3.32 2.88l.99 4.28M22 9.24l-7.19-.61L12 2L9.19 8.63L2 9.24l5.45 4.73L5.82 21L12 17.27L18.18 21l-1.64-7.03z`},null,-1)]])}var Be=N({name:`mdi-star-outline`,render:H}),U={class:`flex w-full flex-col gap-6`},Ve={class:`flex flex-col field-gap`},He={for:`assistantModelProvider`,class:`cui-label`},Ue={key:0,class:`flex flex-col field-gap`},We={for:`assistantModelBaseUrl`,class:`cui-label`},Ge={key:1,class:`flex flex-col field-gap`},W={for:`assistantModelKey`,class:`cui-label`},G={class:`flex flex-col field-gap`},K={for:`assistantModelModel`,class:`cui-label`},q={class:`flex flex-col field-gap`},Ke={for:`assistantModelName`,class:`cui-label`},J={class:`flex items-center gap-4 cui-toggle-switch`},Y={class:`flex flex-col field-switch-gap`},qe={for:`assistantModelUsers`,class:`cui-label-switch`},Je={key:2,class:`flex items-center gap-4 cui-toggle-switch`},X={class:`flex flex-col field-switch-gap`},Ye={for:`assistantModelImages`,class:`cui-label-switch`},Xe=F({__name:`AssistantModel`,props:{entry:{},models:{}},setup(e,{expose:t}){let n=new R,a=e,{t:s}=i(),ee=o(),te=n.listAssistantModelsMutation(),c=w(a.entry?.provider??`ollama`),l=w(a.entry?.baseURL??``),u=w(``),d=w(a.entry?.model??``),f=w(a.entry&&a.entry.name!==a.entry.model?a.entry.name:``),p=w(a.entry?.sendImages??!1),ne=w(a.entry?.userAccess!==!1),v=w(`new`),y=w([]),b=w([]),x=w(!1),T=M(()=>z.includes(c.value)),O=M(()=>c.value===`ollama`||c.value===`openai-compatible`),N=M(()=>a.entry?.apiKeySet===!0&&a.entry.provider===c.value),F=M(()=>a.models.filter(e=>e._id!==a.entry?._id&&e.provider===c.value&&e.apiKeySet)),L=M(()=>[{label:N.value?s(`views.settings.assistant_api_key_stored`):s(`views.settings.assistant_api_key_new`),value:`new`},...F.value.map(e=>({label:s(`views.settings.assistant_api_key_from`,{name:e.name}),value:e._id}))]),re=M(()=>T.value&&v.value===`new`&&!u.value&&!N.value);function ie(){return N.value?`new`:F.value[0]?._id??`new`}function ae(){let e=v.value===`new`?u.value?{apiKey:u.value}:a.entry&&!N.value?{apiKey:null}:{}:{copyKeyFrom:v.value};return{...a.entry?{id:a.entry._id,retest:!0,sendImages:p.value}:{},...e,name:f.value,provider:c.value,baseURL:O.value&&l.value?l.value:null,model:d.value.trim(),userAccess:ne.value}}function se(){l.value=``,d.value=``,y.value=[],b.value=[],v.value=ie()}function ce(e){let t=e.query.toLowerCase();b.value=y.value.filter(e=>e.toLowerCase().includes(t))}async function le(){let e=await te.mutateAsync(ae());if(e.error){ee.add({severity:`warn`,detail:s(`views.settings.assistant_models_failed`,{message:e.error}),life:5e3});return}y.value=e.models,b.value=e.models}return h(()=>{v.value=ie()}),t({onConfirm:async()=>!d.value.trim()||re.value?(x.value=!0,null):ae()}),(t,n)=>{let i=he,a=ye,o=r,s=_e,ee=ve,h=oe;return _(),C(`div`,U,[S(`div`,Ve,[S(`label`,He,g(t.$t(`views.settings.assistant_provider_label`)),1),E(i,{modelValue:I(c),"onUpdate:modelValue":n[0]||=e=>A(c)?c.value=e:null,"input-id":`assistantModelProvider`,options:I(Te),"option-label":`label`,"option-value":`value`,fluid:``,onChange:se},null,8,[`modelValue`,`options`]),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_provider_hint_${I(c).replace(`-`,`_`)}`)),1)]),_:1})]),I(O)?(_(),C(`div`,Ue,[S(`label`,We,g(t.$t(`views.settings.assistant_base_url_label`)),1),E(o,{id:`assistantModelBaseUrl`,modelValue:I(l),"onUpdate:modelValue":n[1]||=e=>A(l)?l.value=e:null,modelModifiers:{trim:!0},placeholder:I(De)[I(c)],fluid:``,autocomplete:`off`},null,8,[`modelValue`,`placeholder`])])):P(``,!0),I(T)||I(c)===`openai-compatible`?(_(),C(`div`,Ge,[S(`label`,W,g(t.$t(`views.settings.assistant_api_key_label`)),1),I(F).length?(_(),k(i,{key:0,modelValue:I(v),"onUpdate:modelValue":n[2]||=e=>A(v)?v.value=e:null,options:I(L),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`])):P(``,!0),I(v)===I(`new`)?(_(),C(j,{key:1},[E(s,{modelValue:I(u),"onUpdate:modelValue":n[3]||=e=>A(u)?u.value=e:null,"input-id":`assistantModelKey`,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`new-password`,invalid:I(x)&&I(re),placeholder:I(N)?`••••••••`:``},null,8,[`modelValue`,`invalid`,`placeholder`]),I(N)?(_(),k(a,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_api_key_keep_hint`)),1)]),_:1})):I(T)?P(``,!0):(_(),k(a,{key:1,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_api_key_optional`)),1)]),_:1}))],64)):P(``,!0)])):P(``,!0),S(`div`,G,[S(`label`,K,g(t.$t(`views.settings.assistant_model_label`)),1),E(ee,{modelValue:I(d),"onUpdate:modelValue":n[4]||=e=>A(d)?d.value=e:null,"input-id":`assistantModelModel`,suggestions:I(b),loading:I(te).isPending.value,invalid:I(x)&&!I(d).trim(),dropdown:``,fluid:``,placeholder:t.$t(`views.settings.assistant_model_placeholder`),onComplete:ce,onDropdownClick:le},null,8,[`modelValue`,`suggestions`,`loading`,`invalid`,`placeholder`]),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_model_info`)),1)]),_:1})]),S(`div`,q,[S(`label`,Ke,g(t.$t(`views.settings.assistant_model_name_label`)),1),E(o,{id:`assistantModelName`,modelValue:I(f),"onUpdate:modelValue":n[5]||=e=>A(f)?f.value=e:null,modelModifiers:{trim:!0},placeholder:I(d).trim()||t.$t(`views.settings.assistant_model_name_placeholder`),maxlength:`40`,fluid:``},null,8,[`modelValue`,`placeholder`])]),S(`div`,J,[S(`div`,Y,[S(`label`,qe,g(t.$t(`views.settings.assistant_model_users`)),1),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(t.$t(`views.settings.assistant_model_users_info`)),1)]),_:1})]),E(h,{modelValue:I(ne),"onUpdate:modelValue":n[6]||=e=>A(ne)?ne.value=e:null,"input-id":`assistantModelUsers`,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),e.entry?(_(),C(`div`,Je,[S(`div`,X,[S(`label`,Ye,g(t.$t(`views.settings.assistant_send_images`)),1),E(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(e.entry.capabilities?.vision===!1?t.$t(`views.settings.assistant_send_images_no_vision`):t.$t(`views.settings.assistant_send_images_info`)),1)]),_:1})]),E(h,{modelValue:I(p),"onUpdate:modelValue":n[7]||=e=>A(p)?p.value=e:null,"input-id":`assistantModelImages`,class:`ml-auto shrink-0`},null,8,[`modelValue`])])):P(``,!0)])}}}),Ze={class:`w-full h-full`},Qe={key:0,class:`w-full h-full flex items-center justify-center`},$e={key:1,class:`flex flex-col w-full gap-6`},et={class:`card-title`},tt={class:`flex items-center gap-4`},nt={class:`flex flex-col field-switch-gap min-w-0`},rt={class:`text-sm font-bold text-color`},it={class:`card-title`},at={class:`flex flex-col gap-6`},ot={class:`flex items-center gap-4 cui-toggle-switch`},st={class:`flex flex-col field-switch-gap`},ct={for:`enabled`,class:`cui-label-switch`},lt={key:0,class:`flex flex-col divide-y divide-(--border-color)`},ut={class:`flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1`},dt={class:`max-w-full basis-full truncate font-medium text-color md:basis-auto`},ft={class:`order-3 mt-1 flex flex-wrap items-center gap-1.5 md:order-2 md:mt-0`},pt={class:`order-2 basis-full truncate text-muted md:order-3`},mt={key:0,class:`order-4 basis-full text-xs text-danger line-clamp-2`},ht={class:`hidden shrink-0 items-center gap-1 md:flex`},gt={class:`shrink-0 md:hidden`},_t={key:1,class:`text-sm text-muted`},vt={class:`flex`},yt={class:`card-title`},bt={class:`flex flex-col gap-6`},xt={class:`flex min-w-0 items-center gap-2`},St=[`for`],Ct={key:1,class:`text-sm text-muted`},wt={class:`flex`},Tt={class:`card-title`},Et={class:`flex flex-col gap-6`},Dt={class:`flex items-center gap-4 cui-toggle-switch`},Ot={class:`flex flex-col field-switch-gap`},kt={for:`memoryEnabled`,class:`cui-label-switch`},At={class:`flex items-center gap-4 cui-toggle-switch`},jt={class:`flex flex-col field-switch-gap`},Mt={for:`terminalEnabled`,class:`cui-label-switch`},Nt={class:`flex flex-col field-gap`},Pt={for:`language`,class:`cui-label`},Ft={class:`flex flex-col field-gap`},It={for:`reasoning`,class:`cui-label`},Lt={class:`flex flex-col md:flex-row gap-6`},Rt={class:`flex flex-col field-gap flex-1`},zt={for:`maxIterations`,class:`cui-label`},Bt={class:`flex flex-col field-gap flex-1`},Vt={for:`maxToolCalls`,class:`cui-label`},Ht={class:`flex flex-col field-gap`},Ut={for:`contextTokens`,class:`cui-label`},Wt={class:`flex flex-col md:flex-row gap-4`},Gt={class:`flex flex-col field-gap flex-1`},Kt={for:`historyThreads`,class:`cui-label`},qt={class:`flex flex-col field-gap flex-1`},Jt={for:`historyImages`,class:`cui-label`},Yt={class:`flex flex-col field-gap`},Xt={for:`systemPromptExtra`,class:`cui-label`},Zt={class:`flex items-center gap-2`},Qt={class:`card-title`},$t={class:`flex flex-col gap-6`},en={class:`flex flex-col gap-4`},tn={class:`flex items-center justify-between gap-4`},nn={class:`flex flex-col`},rn={class:`text-sm font-medium text-color`},an={class:`text-xs text-muted`},on={class:`flex items-center justify-between gap-4`},sn={class:`flex flex-col`},cn={class:`text-sm font-medium text-color`},ln={class:`text-xs text-muted`},un={key:0,class:`flex flex-col gap-6`},dn={class:`flex flex-col field-gap`},fn={for:`mcpEndpoint`,class:`cui-label`},pn={class:`flex flex-col field-gap`},mn={for:`mcpClient`,class:`cui-label`},hn={class:`flex`},gn={class:`card-title`},_n={class:`flex flex-col gap-6`},vn=[`aria-expanded`,`onClick`],yn={class:`flex min-w-0 flex-1 flex-col gap-0.5`},bn={class:`truncate text-sm font-medium text-color`},xn=[`inert`],Sn={class:`flex flex-col gap-4 px-4 pb-4`},Cn={class:`flex items-center gap-4 cui-toggle-switch`},wn={class:`flex flex-col field-switch-gap`},Tn=[`for`],En={class:`flex flex-col md:flex-row gap-4`},Dn={class:`flex flex-col field-gap md:w-56`},On=[`for`],kn={class:`flex flex-col field-gap flex-1`},An=[`for`],jn={class:`flex flex-col field-gap`},Mn=[`for`],Nn={class:`flex items-center gap-4 cui-toggle-switch`},Pn={class:`flex flex-col field-switch-gap`},Fn=[`for`],In={class:`flex`},Ln={class:`flex items-center gap-2`},Rn={class:`card-title`},zn={class:`flex flex-col gap-6`},Bn={key:0,class:`flex flex-col divide-y divide-(--border-color)`},Vn={class:`max-w-full basis-full truncate font-medium text-color md:basis-auto`},Hn={class:`flex flex-wrap items-center gap-1.5`},Un={class:`basis-full text-muted line-clamp-2`},Wn={class:`basis-full text-xs text-muted`},Gn={key:0},Kn={key:1},qn={key:0,class:`basis-full text-xs text-danger line-clamp-2`},Jn={class:`shrink-0`},Yn={class:`hidden items-center gap-1 md:flex`},Xn={class:`md:hidden`},Zn={class:`flex flex-col md:flex-row gap-6`},Qn={class:`flex flex-col field-gap flex-1`},$n={for:`scheduleTitle`,class:`cui-label`},er={class:`flex flex-col field-gap w-full md:w-52 shrink-0`},tr={for:`scheduleDeliver`,class:`cui-label`},nr={class:`flex flex-col field-gap`},rr={for:`schedulePrompt`,class:`cui-label`},ir={key:0,class:`flex flex-col field-gap`},ar={for:`scheduleProfile`,class:`cui-label`},or={class:`flex flex-col md:flex-row gap-6`},sr={class:`flex flex-col field-gap flex-1`},cr={for:`schedulePreset`,class:`cui-label`},lr={key:0,class:`flex flex-col field-gap w-full md:w-40 shrink-0`},ur={for:`scheduleTime`,class:`cui-label`},dr={key:1,class:`flex flex-col field-gap flex-1`},fr={for:`scheduleCron`,class:`cui-label`},pr={class:`flex`},mr={class:`card-title`},hr={class:`flex flex-col gap-3`},gr={class:`text-sm text-muted`},_r={class:`truncate`},vr={class:`truncate`},yr={class:`card-title`},br={key:0,class:`text-sm text-muted`},xr={key:1,class:`flex flex-col gap-6`},Sr={key:0,class:`mb-4 flex flex-col field-gap`},Cr=[`for`],wr={class:`flex max-h-96 flex-col divide-y divide-(--border-color) overflow-y-auto pr-2`},Tr={class:`min-w-0 flex-1`},Er={class:`flex flex-wrap items-center gap-2`},Dr={class:`font-medium text-color`},Or={class:`text-muted`},kr={key:0,class:`flex`},Z=`none`,Ar=c(F({__name:`SettingsAssistant`,setup(c){let h={icon:p,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{severity:`danger`}},N={memoryEnabled:!0,terminalEnabled:!1,language:null,reasoning:`default`,maxIterations:8,maxToolCalls:25,contextTokens:48e3,historyThreads:50,historyImages:24},F={columnHeaderContent:{class:`justify-end`}},ve={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},z=new R,De=o(),Fe=f(),{t:B,locale:V}=i(),{data:Le,isLoading:ze}=z.usageAllQuery(),{data:H}=z.getAssistantInfoQuery(),U=z.patchAssistantInfoMutation(),{data:Ve}=z.listProfilesQuery(),{data:He}=z.listSchedulesQuery(),Ue=z.createScheduleMutation(),We=z.patchScheduleMutation(),Ge=z.deleteScheduleMutation(),W=z.runScheduleMutation(),G=w(null),K=w({title:``,prompt:``,preset:`daily`,time:`20:00`,cron:``,deliver:`push`,profileId:null}),q=w({}),Ke=w([]),J=w([]),Y=w(`claude-code`),qe=w(`core`),Je=v(`rowMenuRef`),X=M(()=>H.value?.settings.models??[]),Ye=M(()=>H.value?xe(H.value.settings):void 0),Ar=M(()=>[{label:B(`views.settings.assistant_plugin_no_access`),value:Z},...X.value.map(e=>({label:e.name,value:e._id}))]),jr=M(()=>{let e=new Map;for(let t of H.value?.tools??[]){let n=t.source.kind===`plugin`?t.source.pluginId:t.source.kind===`external`?t.source.serverId:`core`,r=t.source.kind===`plugin`?t.source.pluginName:t.source.kind===`external`?t.source.serverName:`camera.ui`,i=e.get(n)??{key:n,label:r,serverId:t.source.kind===`external`?t.source.serverId:void 0,tools:[]};i.tools.push(t),e.set(n,i)}return Array.from(e.values())}),Mr=M(()=>Le.value?.map(e=>({...e,key:`${e.userId}-${e.month}-${e.provider}-${e.model}`}))),Q=M(()=>H.value?.status),Nr=M(()=>{let e=new Intl.DisplayNames([V.value],{type:`language`}),t=L.map(t=>({label:e.of(t)??t,value:t})).sort((e,t)=>e.label.localeCompare(t.label,V.value));return[{label:B(`views.settings.assistant_language_auto`),value:null},...t]}),Pr=M(()=>[`default`,`off`,`low`,`high`].map(e=>({label:B(`views.settings.assistant_reasoning_${e}`),value:e}))),Fr=M(()=>new URL(`${s.defaults.baseURL??`/api`}/assistant/mcp`.replace(/\/{2,}/g,`/`),window.location.origin).toString()),Ir=M(()=>[{label:`Claude Code`,value:`claude-code`},{label:`Cursor, Windsurf, VS Code`,value:`cursor`},{label:`Claude Desktop`,value:`claude-desktop`}]),Lr=M(()=>{let e=Fr.value;return Y.value===`claude-code`?`claude mcp add --transport http camera-ui ${e} --header "Authorization: Bearer <api token>"`:Y.value===`cursor`?JSON.stringify({mcpServers:{"camera-ui":{url:e,headers:{Authorization:`Bearer <api token>`}}}},null,2):JSON.stringify({mcpServers:{"camera-ui":{command:`npx`,args:[`-y`,`mcp-remote`,e,`--header`,`Authorization: Bearer <api token>`]}}},null,2)}),Rr=M(()=>[`push`,`thread`,`both`].map(e=>({label:B(`views.settings.assistant_schedule_deliver_${e}`),value:e}))),zr=M(()=>[`daily`,`weekdays`,`weekends`,`weekly`,`hourly`,`custom`].map(e=>({label:B(`views.settings.assistant_schedule_preset_${e}`),value:e}))),Br=M(()=>{let{preset:e,time:t,cron:n}=K.value,[r,i]=t.split(`:`).map(e=>Number.parseInt(e,10));return e===`custom`?n.trim():e===`hourly`?`0 * * * *`:Number.isNaN(r)||Number.isNaN(i)?``:`${i} ${r} * * ${e===`weekdays`?`1-5`:e===`weekends`?`0,6`:e===`weekly`?`0`:`*`}`}),Vr=M(()=>{switch(Q.value?.state){case`ready`:return`success`;case`unconfigured`:return`warn`;default:return`secondary`}}),Hr=M(()=>B(`views.settings.assistant_state_${Q.value?.state??`disabled`}`)),Ur=M(()=>Q.value?Q.value.state===`ready`?B(`views.settings.assistant_status_ready`,{model:Q.value.model}):B(`views.settings.assistant_status_info`):``);function Wr(e){let t=/^(\d+) (\d+) \* \* (\*|1-5|0,6|0)$/.exec(e);if(!t)return e;let n=`${t[2].padStart(2,`0`)}:${t[1].padStart(2,`0`)}`,r=t[3]===`*`?`daily`:t[3]===`1-5`?`weekdays`:t[3]===`0`?`weekly`:`weekends`;return`${B(`views.settings.assistant_schedule_preset_${r}`)} ${n}`}function Gr(e){return e===`push`?`info`:e===`thread`?`secondary`:`success`}function Kr(e){return new Date(e).toLocaleString(V.value,{day:`2-digit`,month:`2-digit`,hour:`2-digit`,minute:`2-digit`})}async function qr(){await Ue.mutateAsync({title:K.value.title,prompt:K.value.prompt,cron:Br.value,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,language:V.value,deliver:K.value.deliver,profileId:K.value.profileId,enabled:!0}),K.value={...K.value,title:``,prompt:``,cron:``,profileId:null}}function Jr(e){return e.replace(/^\[[^\]]+\]\s*/,``)}function Yr(e){if(e.source.kind!==`external`)return e.approval;let{serverId:t,toolName:n}=e.source;return G.value?.mcpServers.find(e=>e.id===t)?.toolApproval[n]??e.approval}function Xr(e){return e.tools.flatMap(e=>e.source.kind===`external`?[{label:Se(e.name),value:e.source.toolName}]:[])}function Zr(e){return e.tools.flatMap(e=>e.source.kind===`external`&&!Yr(e)?[e.source.toolName]:[])}function Qr(e,t){let n=G.value?.mcpServers.find(t=>t.id===e.serverId);n&&(n.toolApproval=Object.fromEntries(Xr(e).map(e=>[e.value,!t.includes(e.value)])))}function $r(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(+(e<1e4))}k`:`${(e/1e6).toFixed(2)}M`}function ei(e){return H.value?.external.find(t=>t.id===e)}function ti(e){let t=ei(e);return t?t.state===`connected`?B(`views.settings.assistant_external_state_connected`,{n:t.toolCount}):t.state===`error`?B(`views.settings.assistant_external_state_error`,{message:t.error??``}):B(`views.settings.assistant_external_state_${t.state}`):``}function ni(e){let t=ei(e)?.state;return t===`connected`?`text-success`:t===`error`?`text-danger`:`text-muted`}function ri(){if(!G.value)return;let e=l();G.value.mcpServers.push({id:e,name:``,url:``,enabled:!0,insecure:!1,tokenSet:!1,toolApproval:{}}),J.value.push(e)}function ii(e){J.value=J.value.includes(e)?J.value.filter(t=>t!==e):[...J.value,e]}function ai(e){G.value&&(G.value.mcpServers=G.value.mcpServers.filter(t=>t.id!==e),J.value=J.value.filter(t=>t!==e),delete q.value[e])}function oi(){let e=u(G.value);return{language:e.language,maxIterations:e.maxIterations,maxToolCalls:e.maxToolCalls,contextTokens:e.contextTokens,historyThreads:e.historyThreads,historyImages:e.historyImages,terminalEnabled:e.terminalEnabled,reasoning:e.reasoning,systemPromptExtra:e.systemPromptExtra,mcpEnabled:e.mcpEnabled,mcpWrites:e.mcpWrites,memoryEnabled:e.memoryEnabled,plugins:e.plugins.map(({pluginId:e,modelId:t})=>({pluginId:e,modelId:t})),mcpServers:e.mcpServers.filter(e=>e.name.trim()||e.url.trim()).map(e=>({id:e.id,name:e.name.trim(),url:e.url.trim(),enabled:e.enabled,insecure:e.insecure,toolApproval:e.toolApproval,...q.value[e.id]?{token:q.value[e.id]}:{}}))}}function si(){G.value&&Object.assign(G.value,N)}async function ci(){G.value&&(await U.mutateAsync(oi()),q.value={})}function li(e){return Te.find(t=>t.value===e)?.label??e}async function ui(e){return U.mutateAsync({models:e})}function di(e,t){Ke.value=[{label:B(`views.settings.assistant_model_make_default`),icon:Be,hide:t._id===Ye.value?._id,disabled:U.isPending.value,onClick:()=>_i(t)},{label:B(`views.settings.assistant_model_edit`),icon:Oe,onClick:()=>mi(t)},{...h,label:B(`views.settings.assistant_model_delete`),onClick:()=>gi(t)}],Je.value?.toggleMenu(e)}function fi(e){We.mutate({scheduleId:e._id,patch:{enabled:!e.enabled}})}function pi(e,t){Ke.value=[{label:B(`views.settings.assistant_schedule_run`),icon:Re,onClick:()=>W.mutate(t._id)},t.enabled?{label:B(`views.settings.assistant_schedule_pause`),icon:Ne,onClick:()=>fi(t)}:{label:B(`views.settings.assistant_schedule_resume`),icon:Ee,onClick:()=>fi(t)},{...h,label:B(`views.settings.assistant_schedule_delete`),onClick:()=>Ge.mutate(t._id)}],Je.value?.toggleMenu(e)}function mi(e){let t=new Set(X.value.map(e=>e._id));Fe.openComponentDialog(Xe,{data:{title:B(e?`views.settings.assistant_model_edit`:`views.settings.assistant_model_add`),confirmText:B(`components.form.button.save`),awaitConfirm:!0,contentProps:{entry:e?O(e):void 0,models:O(X.value)}},onConfirm:async n=>{hi((await ui(e?X.value.map(t=>t._id===e._id?n:we(t)):[...X.value.map(we),n])).settings.models.find(n=>e?n._id===e._id:!t.has(n._id)))}})}function hi(e){let t=e?.capabilities;if(!t)return;let n=t.error?B(`views.settings.assistant_test_failed`,{message:t.error}):t.toolCalling?t.vision===!1?B(`views.settings.assistant_test_vision_missing`):``:B(`views.settings.assistant_test_tools_missing`);n&&De.add({severity:t.error?`error`:`warn`,detail:n,life:8e3})}function gi(e){Fe.openTextDialog({data:{title:B(`views.settings.assistant_model_delete`),contentText:B(`views.settings.assistant_model_delete_confirm`,{name:e.name}),confirmText:B(`views.settings.assistant_model_delete`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{await ui(X.value.filter(t=>t._id!==e._id).map(we))}})}async function _i(e){await U.mutateAsync({defaultModelId:e._id})}function vi(e){return G.value?.plugins.find(t=>t.pluginId===e)?.modelId??Z}function yi(e){return X.value.find(t=>t._id===vi(e))}function bi(e,t){if(!G.value)return;let n=G.value.plugins.filter(t=>t.pluginId!==e);G.value.plugins=t===Z?n:[...n,{pluginId:e,modelId:t}]}function xi(e){return X.value.find(t=>t.provider===e.provider&&t.model===e.model)?.name??e.model}function Si(e){return Ve.value?.find(t=>t._id===e)?.name}return b(H,e=>{e&&!G.value&&(G.value=u(e.settings))},{immediate:!0}),(i,o)=>{let s=t,c=ye,l=pe,u=a,f=oe,h=Be,v=e,b=Oe,w=p,O=Pe,M=Ae,N=he,L=fe,R=me,xe=je,z=r,we=ee,Te=se,De=ce,Fe=ne(`RouterLink`),B=be,V=_e,Le=Re,We=Ne,Xe=Ee,Z=le,Q=Me,ei=re,oi=ue,ui=ge,hi=Ie,Ci=ae,wi=de,Ti=ie,$=n;return _(),C(`div`,Ze,[I(G)?(_(),C(`div`,$e,[S(`div`,null,[S(`span`,et,g(i.$t(`views.settings.status`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,tt,[S(`div`,nt,[S(`span`,rt,g(i.$t(`views.settings.assistant_title`)),1),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:m(()=>[D(g(I(Ur)),1)]),_:1})]),E(l,{class:`ml-auto shrink-0`,severity:I(Vr),value:I(Hr)},null,8,[`severity`,`value`])])]),_:1})]),S(`div`,null,[S(`span`,it,g(i.$t(`views.settings.assistant_model`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,at,[S(`div`,ot,[S(`div`,st,[S(`label`,ct,g(i.$t(`components.form.label.enabled`)),1),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_enabled_info`)),1)]),_:1})]),E(f,{"model-value":I(H)?.settings.enabled??!1,"input-id":`enabled`,disabled:I(U).isPending.value,class:`ml-auto shrink-0`,"onUpdate:modelValue":o[0]||=e=>I(U).mutate({enabled:e})},null,8,[`model-value`,`disabled`])]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_models_info`)),1)]),_:1}),I(X).length?(_(),C(`div`,lt,[(_(!0),C(j,null,y(I(X),e=>(_(),C(`div`,{key:e._id,class:`flex items-start gap-3 py-3 text-sm`},[S(`div`,ut,[S(`span`,dt,g(e.name),1),S(`div`,ft,[e._id===I(Ye)?._id?(_(),k(l,{key:0,severity:`info`,value:i.$t(`views.settings.assistant_model_default`),class:`text-[10px]`},null,8,[`value`])):P(``,!0),e.userAccess===!1?(_(),k(l,{key:1,severity:`secondary`,value:i.$t(`views.settings.assistant_model_admins_only`),class:`text-[10px]`},null,8,[`value`])):P(``,!0),(_(!0),C(j,null,y(I(Ce)(e),e=>(_(),k(l,{key:e.key,severity:e.severity,value:i.$t(`views.settings.assistant_capability_${e.key}`),class:`text-[10px]`},null,8,[`severity`,`value`]))),128))]),S(`div`,pt,g(li(e.provider))+` · `+g(e.model),1),e.capabilities?.error?(_(),C(`div`,mt,g(e.capabilities.error),1)):P(``,!0)]),S(`div`,ht,[e._id===I(Ye)?._id?P(``,!0):T((_(),k(v,{key:0,type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,disabled:I(U).isPending.value,onClick:t=>_i(e)},{icon:m(()=>[E(h,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`onClick`])),[[$,{value:i.$t(`views.settings.assistant_model_make_default`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>mi(e)},{icon:m(()=>[E(b,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`views.settings.assistant_model_edit`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>gi(e)},{icon:m(()=>[E(w,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`views.settings.assistant_model_delete`)},void 0,{top:!0}]])]),S(`div`,gt,[E(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>di(t,e)},{icon:m(()=>[E(O,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])])]))),128))])):(_(),C(`div`,_t,g(i.$t(`views.settings.assistant_models_empty`)),1)),S(`div`,vt,[E(v,{type:`button`,severity:`secondary`,outlined:``,class:`cui-button-medium ml-auto`,label:i.$t(`views.settings.assistant_model_add`),disabled:I(X).length>=20,onClick:o[1]||=e=>mi()},{icon:m(()=>[E(M,{class:`w-4 h-4`})]),_:1},8,[`label`,`disabled`])])])]),_:1})]),S(`div`,null,[S(`span`,yt,g(i.$t(`views.settings.assistant_plugins`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,bt,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_plugins_info`)),1)]),_:1}),I(H)?.plugins.length?(_(!0),C(j,{key:0},y(I(H).plugins,e=>(_(),C(`div`,{key:e.id,class:`flex flex-col field-gap`},[S(`div`,xt,[S(`label`,{for:`plugin-${e.id}`,class:`cui-label truncate`},g(e.name),9,St),yi(e.id)?.capabilities?.vision===!1?(_(),k(l,{key:0,severity:`warn`,value:i.$t(`views.settings.assistant_capability_no_vision`),class:`shrink-0 text-[10px]`},null,8,[`value`])):P(``,!0)]),E(N,{"model-value":vi(e.id),"input-id":`plugin-${e.id}`,options:I(Ar),"option-label":`label`,"option-value":`value`,fluid:``,"onUpdate:modelValue":t=>bi(e.id,t)},null,8,[`model-value`,`input-id`,`options`,`onUpdate:modelValue`])]))),128)):(_(),C(`div`,Ct,g(i.$t(`views.settings.assistant_plugins_empty`)),1)),S(`div`,wt,[E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,Tt,g(i.$t(`views.settings.assistant_behavior`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,Et,[S(`div`,Dt,[S(`div`,Ot,[S(`label`,kt,g(i.$t(`views.settings.assistant_memory`)),1),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_memory_info`)),1)]),_:1})]),E(f,{modelValue:I(G).memoryEnabled,"onUpdate:modelValue":o[2]||=e=>I(G).memoryEnabled=e,"input-id":`memoryEnabled`,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),S(`div`,At,[S(`div`,jt,[S(`label`,Mt,g(i.$t(`views.settings.assistant_terminal`)),1),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_terminal_info`)),1)]),_:1})]),E(f,{modelValue:I(G).terminalEnabled,"onUpdate:modelValue":o[3]||=e=>I(G).terminalEnabled=e,"input-id":`terminalEnabled`,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),S(`div`,Nt,[S(`label`,Pt,g(i.$t(`views.settings.assistant_language_label`)),1),E(N,{modelValue:I(G).language,"onUpdate:modelValue":o[4]||=e=>I(G).language=e,"input-id":`language`,options:I(Nr),"option-label":`label`,"option-value":`value`,filter:``,fluid:``},null,8,[`modelValue`,`options`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_language_info`)),1)]),_:1})]),S(`div`,Ft,[S(`label`,It,g(i.$t(`views.settings.assistant_reasoning_label`)),1),E(N,{modelValue:I(G).reasoning,"onUpdate:modelValue":o[5]||=e=>I(G).reasoning=e,"input-id":`reasoning`,options:I(Pr),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_reasoning_info`)),1)]),_:1})]),S(`div`,Lt,[S(`div`,Rt,[S(`label`,zt,g(i.$t(`views.settings.assistant_max_iterations_label`)),1),E(L,{modelValue:I(G).maxIterations,"onUpdate:modelValue":o[6]||=e=>I(G).maxIterations=e,min:1,max:30,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_max_iterations_info`)),1)]),_:1})]),S(`div`,Bt,[S(`label`,Vt,g(i.$t(`views.settings.assistant_max_tool_calls_label`)),1),E(L,{modelValue:I(G).maxToolCalls,"onUpdate:modelValue":o[7]||=e=>I(G).maxToolCalls=e,min:1,max:100,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_max_tool_calls_info`)),1)]),_:1})])]),S(`div`,Ht,[S(`label`,Ut,g(i.$t(`views.settings.assistant_context_tokens_label`)),1),E(L,{id:`contextTokens`,modelValue:I(G).contextTokens,"onUpdate:modelValue":o[8]||=e=>I(G).contextTokens=e,min:8e3,max:4e5,step:1e3,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_context_tokens_info`)),1)]),_:1})]),S(`div`,Wt,[S(`div`,Gt,[S(`label`,Kt,g(i.$t(`views.settings.assistant_history_threads_label`)),1),E(L,{id:`historyThreads`,modelValue:I(G).historyThreads,"onUpdate:modelValue":o[9]||=e=>I(G).historyThreads=e,min:5,max:500,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_history_threads_info`)),1)]),_:1})]),S(`div`,qt,[S(`label`,Jt,g(i.$t(`views.settings.assistant_history_images_label`)),1),E(L,{id:`historyImages`,modelValue:I(G).historyImages,"onUpdate:modelValue":o[10]||=e=>I(G).historyImages=e,min:0,max:200,"use-grouping":!1,fluid:``},null,8,[`modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_history_images_info`)),1)]),_:1})])]),S(`div`,Yt,[S(`label`,Xt,g(i.$t(`views.settings.assistant_extra_prompt_label`)),1),E(R,{modelValue:I(G).systemPromptExtra,"onUpdate:modelValue":o[11]||=e=>I(G).systemPromptExtra=e,rows:`3`,"auto-resize":``,placeholder:i.$t(`views.settings.assistant_extra_prompt_placeholder`)},null,8,[`modelValue`,`placeholder`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_extra_prompt_info`)),1)]),_:1})]),S(`div`,Zt,[E(v,{type:`button`,severity:`secondary`,outlined:``,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.reset_defaults`),onClick:si},{icon:m(()=>[E(xe,{class:`w-4 h-4`})]),_:1},8,[`label`]),E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,Qt,g(i.$t(`views.settings.assistant_mcp`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,$t,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_mcp_info`)),1)]),_:1}),S(`div`,en,[S(`div`,tn,[S(`div`,nn,[S(`span`,rn,g(i.$t(`views.settings.assistant_mcp_enabled_label`)),1),S(`span`,an,g(i.$t(`views.settings.assistant_mcp_enabled_info`)),1)]),E(f,{modelValue:I(G).mcpEnabled,"onUpdate:modelValue":o[12]||=e=>I(G).mcpEnabled=e},null,8,[`modelValue`])]),S(`div`,on,[S(`div`,sn,[S(`span`,cn,g(i.$t(`views.settings.assistant_mcp_writes_label`)),1),S(`span`,ln,g(i.$t(`views.settings.assistant_mcp_writes_info`)),1)]),E(f,{modelValue:I(G).mcpWrites,"onUpdate:modelValue":o[13]||=e=>I(G).mcpWrites=e,disabled:!I(G).mcpEnabled},null,8,[`modelValue`,`disabled`])])]),I(G).mcpEnabled?(_(),C(`div`,un,[S(`div`,dn,[S(`label`,fn,g(i.$t(`views.settings.assistant_mcp_endpoint_label`)),1),E(De,null,{default:m(()=>[E(z,{id:`mcpEndpoint`,"model-value":I(Fr),readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),E(Te,null,{default:m(()=>[E(we,{"action-text":i.$t(`components.form.tooltip.copied`),icon:I(ke),"button-props":{severity:`secondary`,text:!0},onAction:o[14]||=e=>I(te)(I(Fr))},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_mcp_token_info`))+` `,1),E(Fe,{to:{name:`SettingsAccount`},class:`underline`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_mcp_token_link`)),1)]),_:1})]),_:1})]),S(`div`,pn,[S(`label`,mn,g(i.$t(`views.settings.assistant_mcp_client_label`)),1),E(N,{modelValue:I(Y),"onUpdate:modelValue":o[15]||=e=>A(Y)?Y.value=e:null,"input-id":`mcpClient`,options:I(Ir),"option-label":`label`,"option-value":`value`,class:`w-full`},null,8,[`modelValue`,`options`]),E(De,null,{default:m(()=>[E(R,{id:`mcpSnippet`,"model-value":I(Lr),readonly:``,"auto-resize":``,rows:`3`,class:`font-mono text-xs`},null,8,[`model-value`]),E(Te,null,{default:m(()=>[E(we,{"action-text":i.$t(`components.form.tooltip.copied`),icon:I(ke),"button-props":{severity:`secondary`,text:!0},onAction:o[16]||=e=>I(te)(I(Lr))},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_mcp_snippet_info`)),1)]),_:1})])])):P(``,!0),S(`div`,hn,[E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,gn,g(i.$t(`views.settings.assistant_external`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,_n,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_external_info`)),1)]),_:1}),(_(!0),C(j,null,y(I(G).mcpServers,e=>(_(),C(`div`,{key:e.id,class:`cui-assistant-server overflow-hidden rounded-xl`},[S(`button`,{type:`button`,class:`flex w-full cursor-pointer items-center gap-3 p-4 text-left`,"aria-expanded":I(J).includes(e.id),onClick:t=>ii(e.id)},[S(`div`,yn,[S(`span`,bn,g(e.name||i.$t(`views.settings.assistant_external_new`)),1),ti(e.id)?(_(),C(`span`,{key:0,class:x([`truncate text-xs`,ni(e.id)])},g(ti(e.id)),3)):P(``,!0)]),E(B,{class:x([`h-5 w-5 shrink-0 text-muted transition-transform duration-200`,{"rotate-180":I(J).includes(e.id)}])},null,8,[`class`])],8,vn),S(`div`,{class:x([`cui-assistant-server-body grid`,{"cui-assistant-server-open":I(J).includes(e.id)}])},[S(`div`,{class:`min-h-0 overflow-hidden`,inert:!I(J).includes(e.id)},[S(`div`,Sn,[S(`div`,Cn,[S(`div`,wn,[S(`label`,{for:`server-enabled-${e.id}`,class:`cui-label-switch`},g(i.$t(`components.form.label.enabled`)),9,Tn),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_external_enabled_info`)),1)]),_:1})]),E(f,{modelValue:e.enabled,"onUpdate:modelValue":t=>e.enabled=t,"input-id":`server-enabled-${e.id}`,class:`ml-auto shrink-0`},null,8,[`modelValue`,`onUpdate:modelValue`,`input-id`])]),S(`div`,En,[S(`div`,Dn,[S(`label`,{for:`server-name-${e.id}`,class:`cui-label`},g(i.$t(`views.settings.assistant_external_name`)),9,On),E(z,{id:`server-name-${e.id}`,modelValue:e.name,"onUpdate:modelValue":t=>e.name=t,fluid:``,placeholder:`Home Assistant`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])]),S(`div`,kn,[S(`label`,{for:`server-url-${e.id}`,class:`cui-label`},g(i.$t(`views.settings.assistant_external_url`)),9,An),E(z,{id:`server-url-${e.id}`,modelValue:e.url,"onUpdate:modelValue":t=>e.url=t,fluid:``,placeholder:`http://homeassistant.local:8123/api/mcp`},null,8,[`id`,`modelValue`,`onUpdate:modelValue`])])]),S(`div`,jn,[S(`label`,{for:`server-token-${e.id}`,class:`cui-label`},g(i.$t(`views.settings.assistant_external_token`)),9,Mn),E(V,{id:`server-token-${e.id}`,modelValue:I(q)[e.id],"onUpdate:modelValue":t=>I(q)[e.id]=t,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`new-password`,placeholder:e.tokenSet?`••••••••`:``},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`placeholder`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(e.tokenSet?i.$t(`views.settings.assistant_external_token_set`):i.$t(`views.settings.assistant_external_token_info`)),1)]),_:2},1024)]),S(`div`,Nn,[S(`div`,Pn,[S(`label`,{for:`server-insecure-${e.id}`,class:`cui-label-switch`},g(i.$t(`views.settings.assistant_external_insecure`)),9,Fn),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_external_insecure_info`)),1)]),_:1})]),E(f,{"input-id":`server-insecure-${e.id}`,modelValue:e.insecure,"onUpdate:modelValue":t=>e.insecure=t,class:`ml-auto shrink-0`},null,8,[`input-id`,`modelValue`,`onUpdate:modelValue`])]),S(`div`,In,[E(v,{type:`button`,severity:`danger`,outlined:``,class:`cui-button-medium ml-auto`,label:i.$t(`views.settings.assistant_external_remove`),onClick:t=>ai(e.id)},{icon:m(()=>[E(w,{class:`w-4 h-4`})]),_:1},8,[`label`,`onClick`])])])],8,xn)],2)]))),128)),S(`div`,Ln,[E(v,{type:`button`,severity:`secondary`,outlined:``,class:`cui-button-medium`,label:i.$t(`views.settings.assistant_external_add`),disabled:I(G).mcpServers.length>=10,onClick:ri},{icon:m(()=>[E(M,{class:`w-4 h-4`})]),_:1},8,[`label`,`disabled`]),E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])])]),_:1})]),S(`div`,null,[S(`span`,Rn,g(i.$t(`views.settings.assistant_schedules`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,zn,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_schedules_info`)),1)]),_:1}),I(He)?.length?(_(),C(`div`,Bn,[(_(!0),C(j,null,y(I(He),e=>(_(),C(`div`,{key:e._id,class:`flex items-start gap-3 py-3 text-sm`},[S(`div`,{class:x([`flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1`,{"opacity-60":!e.enabled}])},[S(`span`,Vn,g(e.title),1),S(`div`,Hn,[E(l,{severity:`secondary`,value:Wr(e.cron),class:`text-[10px]`},null,8,[`value`]),E(l,{severity:Gr(e.deliver),value:i.$t(`views.settings.assistant_schedule_deliver_${e.deliver}`),class:`text-[10px]`},null,8,[`severity`,`value`]),e.profileId?(_(),k(l,{key:0,severity:Si(e.profileId)?`secondary`:`warn`,value:Si(e.profileId)??i.$t(`views.settings.assistant_schedule_profile_missing`),class:`text-[10px]`},null,8,[`severity`,`value`])):P(``,!0)]),S(`div`,Un,g(e.prompt),1),S(`div`,Wn,[e.enabled&&e.nextRun?(_(),C(`span`,Gn,g(i.$t(`views.settings.assistant_schedule_next`,{time:Kr(e.nextRun)})),1)):e.enabled?P(``,!0):(_(),C(`span`,Kn,g(i.$t(`views.settings.assistant_schedule_paused`)),1)),e.lastRun?(_(),C(`span`,{key:2,class:x({"text-danger":e.lastRun.status===`error`})},` · `+g(i.$t(`views.settings.assistant_schedule_last_${e.lastRun.status}`,{time:Kr(e.lastRun.at)})),3)):P(``,!0)]),e.lastRun?.status===`error`&&e.lastRun.message?(_(),C(`div`,qn,g(e.lastRun.message),1)):P(``,!0)],2),S(`div`,Jn,[S(`div`,Yn,[T((_(),k(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,loading:I(W).isPending.value&&I(W).variables.value===e._id,onClick:t=>I(W).mutate(e._id)},{icon:m(()=>[E(Le,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[$,{value:i.$t(`views.settings.assistant_schedule_run`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>fi(e)},{icon:m(()=>[e.enabled?(_(),k(We,{key:0,width:`100%`,height:`100%`})):(_(),k(Xe,{key:1,width:`100%`,height:`100%`}))]),_:2},1032,[`onClick`])),[[$,{value:e.enabled?i.$t(`views.settings.assistant_schedule_pause`):i.$t(`views.settings.assistant_schedule_resume`)},void 0,{top:!0}]]),T((_(),k(v,{type:`button`,severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,onClick:t=>I(Ge).mutate(e._id)},{icon:m(()=>[E(w,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`views.settings.assistant_schedule_delete`)},void 0,{top:!0}]])]),S(`div`,Xn,[E(v,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md`,loading:I(W).isPending.value&&I(W).variables.value===e._id,onClick:t=>pi(t,e)},{icon:m(()=>[E(O,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])])])]))),128))])):P(``,!0),S(`div`,{class:x([`flex flex-col gap-6`,{"cui-assistant-schedule-form":I(He)?.length}])},[S(`div`,Zn,[S(`div`,Qn,[S(`label`,$n,g(i.$t(`views.settings.assistant_schedule_title_label`)),1),E(z,{modelValue:I(K).title,"onUpdate:modelValue":o[17]||=e=>I(K).title=e,modelModifiers:{trim:!0},type:`text`,placeholder:i.$t(`views.settings.assistant_schedule_title_placeholder`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),S(`div`,er,[S(`label`,tr,g(i.$t(`views.settings.assistant_schedule_deliver_label`)),1),E(N,{modelValue:I(K).deliver,"onUpdate:modelValue":o[18]||=e=>I(K).deliver=e,options:I(Rr),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`])])]),S(`div`,nr,[S(`label`,rr,g(i.$t(`views.settings.assistant_schedule_prompt_label`)),1),E(R,{modelValue:I(K).prompt,"onUpdate:modelValue":o[19]||=e=>I(K).prompt=e,rows:`2`,"auto-resize":``,placeholder:i.$t(`views.settings.assistant_schedule_prompt_placeholder`)},null,8,[`modelValue`,`placeholder`])]),I(Ve)?.length?(_(),C(`div`,ir,[S(`label`,ar,g(i.$t(`views.settings.assistant_schedule_profile_label`)),1),E(N,{modelValue:I(K).profileId,"onUpdate:modelValue":o[20]||=e=>I(K).profileId=e,"input-id":`scheduleProfile`,options:I(Ve),"option-label":`name`,"option-value":`_id`,"show-clear":``,fluid:``,placeholder:i.$t(`views.settings.assistant_schedule_profile_none`)},null,8,[`modelValue`,`options`,`placeholder`])])):P(``,!0),S(`div`,or,[S(`div`,sr,[S(`label`,cr,g(i.$t(`views.settings.assistant_schedule_when_label`)),1),E(N,{modelValue:I(K).preset,"onUpdate:modelValue":o[21]||=e=>I(K).preset=e,options:I(zr),"option-label":`label`,"option-value":`value`,fluid:``},null,8,[`modelValue`,`options`])]),I(K).preset!==`hourly`&&I(K).preset!==`custom`?(_(),C(`div`,lr,[S(`label`,ur,g(i.$t(`views.settings.assistant_schedule_time_label`)),1),E(z,{modelValue:I(K).time,"onUpdate:modelValue":o[22]||=e=>I(K).time=e,type:`time`,class:`cui-time-input w-full`},null,8,[`modelValue`])])):P(``,!0),I(K).preset===`custom`?(_(),C(`div`,dr,[S(`label`,fr,g(i.$t(`views.settings.assistant_schedule_cron_label`)),1),E(z,{modelValue:I(K).cron,"onUpdate:modelValue":o[23]||=e=>I(K).cron=e,modelModifiers:{trim:!0},type:`text`,placeholder:`0 20 * * *`,class:`w-full font-mono text-sm`},null,8,[`modelValue`])])):P(``,!0)]),S(`div`,pr,[E(v,{type:`button`,loading:I(Ue).isPending.value,disabled:!I(K).title||!I(K).prompt||!I(Br),class:`cui-button-medium ml-auto`,label:i.$t(`views.settings.assistant_schedule_add`),onClick:qr},null,8,[`loading`,`disabled`,`label`])])],2)])]),_:1})]),S(`div`,null,[S(`span`,mr,g(i.$t(`views.settings.assistant_usage`)),1),E(u,{class:`cui-card`},{content:m(()=>[S(`div`,hr,[E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_usage_info`)),1)]),_:1}),E(Q,{value:I(Mr)??[],"data-key":`key`,loading:I(ze),pt:ve,"striped-rows":``,scrollable:``},{loading:m(()=>[E(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:m(()=>[S(`span`,gr,g(i.$t(`views.settings.assistant_usage_empty`)),1)]),default:m(()=>[E(Z,{field:`month`,header:i.$t(`views.settings.assistant_usage_month`),"header-class":`p-2`,class:`p-2 tabular-nums`},null,8,[`header`]),E(Z,{field:`username`,header:i.$t(`views.settings.assistant_usage_user`),"header-class":`p-2`,class:`p-2`},{body:m(({data:e})=>[S(`span`,_r,g(e.pluginName??e.username??e.userId),1)]),_:1},8,[`header`]),E(Z,{field:`model`,header:i.$t(`views.settings.assistant_usage_model`),"header-class":`p-2`,class:`p-2`},{body:m(({data:e})=>[S(`span`,vr,g(xi(e)),1)]),_:1},8,[`header`]),E(Z,{field:`runs`,header:i.$t(`views.settings.assistant_usage_runs`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},null,8,[`header`]),E(Z,{field:`promptTokens`,header:i.$t(`views.settings.assistant_usage_in`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},{body:m(({data:e})=>[D(g($r(e.promptTokens)),1)]),_:1},8,[`header`]),E(Z,{field:`completionTokens`,header:i.$t(`views.settings.assistant_usage_out`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},{body:m(({data:e})=>[D(g($r(e.completionTokens)),1)]),_:1},8,[`header`]),E(Z,{field:`costUsd`,header:i.$t(`views.settings.assistant_usage_cost`),"header-class":`p-2`,class:`p-2 text-right tabular-nums`,pt:F},{body:m(({data:e})=>[D(g(e.costUsd?`$${e.costUsd.toFixed(e.costUsd<1?3:2)}`:`–`),1)]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])])]),_:1})]),S(`div`,null,[S(`span`,yr,g(i.$t(`views.settings.assistant_tools`)),1),E(u,{class:`cui-card`},{content:m(()=>[I(jr).length?(_(),C(`div`,xr,[E(Ti,{value:I(qe),"onUpdate:value":o[24]||=e=>A(qe)?qe.value=e:null,scrollable:``},{default:m(()=>[E(oi,{class:`mb-3`},{default:m(()=>[(_(!0),C(j,null,y(I(jr),e=>(_(),k(ei,{key:e.key,value:e.key,class:`text-sm`},{default:m(()=>[D(g(e.label)+` (`+g(e.tools.length)+`)`,1)]),_:2},1032,[`value`]))),128))]),_:1}),E(wi,{class:`!p-0 !bg-transparent`},{default:m(()=>[(_(!0),C(j,null,y(I(jr),e=>(_(),k(Ci,{key:e.key,value:e.key},{default:m(()=>[e.serverId?(_(),C(`div`,Sr,[S(`label`,{for:`trusted-${e.key}`,class:`cui-label`},g(i.$t(`views.settings.assistant_tools_trusted_label`)),9,Cr),E(ui,{"model-value":Zr(e),"input-id":`trusted-${e.key}`,options:Xr(e),"option-label":`label`,"option-value":`value`,"max-selected-labels":3,"selected-items-label":i.$t(`views.settings.assistant_tools_trusted_selected`,{n:Zr(e).length}),placeholder:i.$t(`views.settings.assistant_tools_trusted_none`),filter:``,fluid:``,"onUpdate:modelValue":t=>Qr(e,t)},null,8,[`model-value`,`input-id`,`options`,`selected-items-label`,`placeholder`,`onUpdate:modelValue`]),E(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[D(g(i.$t(`views.settings.assistant_tools_trusted_info`)),1)]),_:1})])):P(``,!0),S(`div`,wr,[(_(!0),C(j,null,y(e.tools,e=>(_(),C(`div`,{key:e.name,class:`flex items-start gap-3 py-2 text-sm`},[E(hi,{class:`w-4 h-4 mt-0.5 shrink-0 text-muted`}),S(`div`,Tr,[S(`div`,Er,[S(`span`,Dr,g(I(Se)(e.name)),1),Yr(e)?(_(),k(l,{key:0,severity:`warn`,value:i.$t(`views.settings.assistant_tool_approval`),class:`text-[10px]`},null,8,[`value`])):P(``,!0),e.adminOnly?(_(),k(l,{key:1,severity:`info`,value:i.$t(`views.settings.assistant_tool_admin`),class:`text-[10px]`},null,8,[`value`])):P(``,!0)]),S(`div`,Or,g(Jr(e.description)),1)])]))),128))])]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`value`]),I(jr).some(e=>e.serverId)?(_(),C(`div`,kr,[E(v,{type:`button`,loading:I(U).isPending.value,class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`),onClick:ci},null,8,[`loading`,`label`])])):P(``,!0)])):(_(),C(`div`,br,g(i.$t(`views.settings.assistant_tools_empty`)),1))]),_:1})])])):(_(),C(`div`,Qe,[E(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])),E(d,{ref_key:`rowMenuRef`,ref:Je,items:I(Ke),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),[[`__scopeId`,`data-v-69f75eeb`]]);export{Ar as default};
@@ -1 +1 @@
1
- import{Bt as e,It as t,Kt as n,L as r,Vr as i,q as a}from"./vendor-cameraui-D0VXSxSF.js";import{Er as o,Tn as s,s as c,st as l}from"./api-vegsDz6n.js";import{$n as u,Cr as d,Hn as f,In as p,Jn as m,Pn as h,Rn as g,_r as _,cn as v,dn as y,dr as b,er as x,gn as S,hn as C,ln as w,lr as T,mr as E,nn as D,rn as O,sn as k,sr as A,un as j,vn as M,yr as N}from"./vendor-CP-WYrgy.js";import{K as ee,M as P,U as F,_ as I,j as L,z as R}from"./vendor-primevue-LZEE4d1W.js";import{a as z,c as te,i as ne,n as re,o as ie,r as ae,s as oe}from"./useBackupRestore-DfgufKp3.js";import{t as se}from"./theme-DhneHMji.js";import{t as ce}from"./trash-can-outline-B7IPK5NP.js";import{t as B}from"./close-circle-DmuCMtNe.js";import{t as le}from"./download-C4gHcSTT.js";var V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return p(),y(`svg`,V,[...t[0]||=[v(`path`,{fill:`currentColor`,d:`M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H15v-8h5V8zm-1 7V3.5L18.5 9zm4 12.66V16h5.66v2h-2.24l2.95 2.95l-1.41 1.41L19 19.41v2.24h-2z`},null,-1)]])}var U=A({name:`ic-baseline-file-open`,render:H}),W={class:`flex flex-col gap-6 p-4 items-center justify-center w-full`},G={class:`flex flex-col justify-center items-center`},K={for:`restoreInput`,class:`cursor-pointer text-center`},q=[`accept`],J={key:0,class:`text-red`},Y={class:`mx-2`},X={class:`text-muted`},ue=M({__name:`CuiUploadFiles`,props:{multiple:{type:Boolean,default:!1},accept:{},icon:{default:U}},emits:[`files-uploaded`],setup(t,{expose:n,emit:r}){let i=t,a=r,{accept:o,multiple:s}=_(i),c=m(`fileInputRef`),l=E([]),h=b(!1),g=b(!1);function x(e){let t=l.value.findIndex(t=>t.name===e);t>-1&&(l.value.splice(t,1),O())}function C(e){if(h.value=!1,g.value=!1,l.value=[],e.dataTransfer){if(!s.value&&e.dataTransfer.files.length>1)g.value=!0;else{for(let[,t]of Object.entries(e.dataTransfer.files))l.value.push(t);a(`files-uploaded`,l.value)}}}function T(e){g.value=!1,l.value=[];let t=e.target;if(t&&t.files){if(!s.value&&t.files?.length>1)g.value=!0;else{for(let[,e]of Object.entries(t.files))l.value.push(e);a(`files-uploaded`,l.value)}}}function O(){c.value&&(c.value.value=``)}function k(){l.value=[],O()}return n({reset:k}),(n,r)=>{let i=B,a=e,s=F,m=P;return p(),y(`div`,{class:`file-upload-box`,onDrop:r[0]||=D(e=>C(e),[`prevent`]),onDragover:r[1]||=D(e=>h.value=!0,[`prevent`]),onDragenter:r[2]||=D(e=>h.value=!0,[`prevent`]),onDragleave:r[3]||=D(e=>h.value=!1,[`prevent`])},[v(`div`,W,[v(`div`,G,[(p(),w(f(t.icon),{class:`w-15 h-15`})),v(`label`,K,d(n.$t(`components.upload_files.drop_or_select_file`)),1),v(`input`,{id:`restoreInput`,ref_key:`fileInputRef`,ref:c,type:`file`,class:`hidden`,accept:N(o),onChange:T},null,40,q),N(g)?(p(),y(`p`,J,d(n.$t(`components.upload_files.only_one_file_allowed`)),1)):j(``,!0)]),N(l).length>0?(p(),w(m,{key:0,items:N(l),"item-size":50,"scroll-height":`50px`,"scroll-width":`100%`,class:`w-full`},{item:u(({item:e})=>[(p(),y(`div`,{key:e.name,class:`w-full flex flex-row items-center justify-start p-2`},[S(a,{text:``,rounded:``,severity:`danger`,class:`cui-icon-md shrink-0`,onClick:t=>x(e.name)},{icon:u(()=>[S(i,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`]),v(`b`,Y,d(e.name),1),v(`span`,X,`(`+d(e.size)+` bytes)`,1)])),N(l).length>1?(p(),w(s,{key:0,class:`m-0 py-4`})):j(``,!0)]),_:1},8,[`items`])):j(``,!0)])],32)}}}),de={class:`flex flex-col w-full gap-6`},fe={class:`card-title`},pe={class:`flex flex-col gap-6`},me={class:`text-sm`},he={class:`card-title`},ge={class:`flex flex-col gap-6`},_e={class:`text-sm`},ve={class:`card-title`},ye={key:0,class:`flex w-full items-center justify-center py-6`},be={key:1,class:`flex flex-col gap-6`},xe={class:`flex items-center gap-4`},Se={class:`flex flex-col gap-1 min-w-0`},Ce={class:`text-sm`},we={class:`text-xs text-muted`},Te={class:`grid grid-cols-1 sm:grid-cols-2 gap-4`},Ee={class:`flex flex-col field-gap`},De={for:`backupInterval`,class:`cui-label`},Oe={class:`flex flex-col field-gap`},ke={for:`backupTime`,class:`cui-label`},Ae={key:0,class:`flex flex-col field-gap`},je={for:`backupWeekday`,class:`cui-label`},Me={key:1,class:`flex flex-col field-gap`},Ne={for:`backupDayOfMonth`,class:`cui-label`},Pe={class:`flex flex-col field-gap`},Fe={for:`backupRetention`,class:`cui-label`},Ie={class:`flex flex-col field-gap`},Le={for:`backupDestination`,class:`cui-label`},Re={class:`flex items-center gap-2`},ze={key:1,class:`flex flex-col gap-2`},Be={class:`text-sm font-semibold border-b-[1px] border-color pb-2`},Ve={class:`flex flex-col min-w-0`},He={class:`text-sm truncate`},Ue={class:`text-xs text-muted`},We={class:`flex gap-1 ml-auto shrink-0`},Z=M({__name:`SettingsBackup`,setup(f){let _=l(),D=o(),{t:A,locale:M}=i(),P=m(`filesRef`),F=E([]),B=b(!1),V=b(!0),H=b(!1),U=b(!1),W=b(null),G=b([]),K=b(``),q=b(),J=T({enabled:!1,interval:`daily`,time:`03:00`,weekday:0,dayOfMonth:1,retention:7,destinationPath:``}),Y=k(()=>/^([01]\d|2[0-3]):[0-5]\d$/.test(J.time)),X=k(()=>[`daily`,`weekly`,`monthly`].map(e=>({label:A(`views.settings.backup_interval_${e}`),value:e}))),Z=k(()=>Array.from({length:7},(e,t)=>({label:new Intl.DateTimeFormat(M.value,{weekday:`long`}).format(new Date(Date.UTC(2024,0,7+t,12))),value:t}))),Ge=k(()=>{if(!q.value)return A(`views.settings.backup_last_run`,{info:A(`views.settings.backup_last_run_never`)});let e=new Date(q.value.timestamp).toLocaleString(),t=q.value.status===`success`?`✓`:`✗ ${q.value.message??``}`;return A(`views.settings.backup_last_run`,{info:`${e} ${t}`})});async function Q(){B.value=!0;try{let e={},t=localStorage.getItem(`ui`);if(t)try{e.ui=JSON.parse(t)}catch{}let n=localStorage.getItem(`language`);n&&(e.language=n),localStorage.getItem(`theme`)&&(e.theme=se());let r=Date.now(),i=await ne(e);await s({blob:new Blob([i]),filename:`cameraui-backup-${r}.tar.gz`,mimeType:`application/gzip`})}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}B.value=!1}function Ke(){_.openTextDialog({data:{title:A(`components.dialog.title.confirm`),contentText:A(`components.dialog.message.confirm_restore`),confirmText:A(`components.form.button.restore_and_restart`),loading:B},onConfirm:qe})}async function qe(){let e=F.value[0];e&&(B.value=!0,await re().run(e),P.value?.reset(),B.value=!1)}function Je(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`,`TB`],n=e,r=-1;do n/=1024,r++;while(n>=1024&&r<t.length-1);return`${n.toFixed(1)} ${t[r]}`}async function $(){try{let e=await ie(),{lastRun:t,...n}=e.settings;Object.assign(J,n),q.value=t,G.value=e.backups,K.value=e.defaultDestination}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}finally{V.value=!1}}async function Ye(){if(Y.value){H.value=!0;try{let e=await oe({...J});q.value=e.lastRun,D.add({severity:`success`,detail:A(`components.toast.backup_scheduler_saved`),life:3e3})}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}finally{H.value=!1}}}async function Xe(){U.value=!0;try{let e=await te();q.value=e,D.add({severity:`success`,detail:A(`components.toast.backup_created`),life:3e3})}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}finally{U.value=!1,await $()}}async function Ze(e){W.value=e.filename;try{let t=await z(e.filename);await s({blob:new Blob([t]),filename:e.filename,mimeType:`application/gzip`})}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}finally{W.value=null}}function Qe(e){_.openTextDialog({data:{title:A(`components.dialog.title.confirm`),contentText:A(`components.dialog.message.confirm_delete_backup`,{filename:e.filename}),confirmText:A(`components.form.button.remove`)},onConfirm:async()=>{try{await ae(e.filename),D.add({severity:`success`,detail:A(`components.toast.backup_deleted`),life:3e3}),await $()}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}}})}return h($),(i,o)=>{let s=e,c=a,l=ue,f=t,m=ee,h=L,_=r,b=I,T=R,E=le,D=ce,k=n;return p(),y(`div`,null,[v(`div`,de,[v(`div`,null,[v(`span`,fe,d(i.$t(`views.settings.create_backup`)),1),S(c,{class:`cui-card`},{content:u(()=>[v(`div`,pe,[v(`span`,me,d(i.$t(`views.settings.create_backup_info`)),1),S(s,{loading:N(B),class:`ml-auto cui-button-medium`,label:i.$t(`components.form.button.download_backup_archive`),onClick:Q},null,8,[`loading`,`label`])])]),_:1})]),v(`div`,null,[v(`span`,he,d(i.$t(`views.settings.restore_backup`)),1),S(c,{class:`cui-card`},{content:u(()=>[v(`div`,ge,[v(`span`,_e,d(i.$t(`views.settings.restore_backup_info`)),1),S(l,{ref_key:`filesRef`,ref:P,accept:`application/gzip, .tar, .tar.gz`,onFilesUploaded:o[0]||=e=>F.value=e},null,512),S(s,{loading:N(B),disabled:!N(F).length,class:`ml-auto cui-button-medium`,label:i.$t(`components.form.button.restore_backup_archive`),onClick:Ke},null,8,[`loading`,`disabled`,`label`])])]),_:1})]),v(`div`,null,[v(`span`,ve,d(i.$t(`views.settings.scheduled_backup`)),1),S(c,{class:`cui-card`},{content:u(()=>[N(V)?(p(),y(`div`,ye,[S(f,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(p(),y(`div`,be,[v(`div`,xe,[v(`div`,Se,[v(`span`,Ce,d(i.$t(`views.settings.scheduled_backup_info`)),1),v(`span`,we,d(N(Ge)),1)]),S(m,{modelValue:N(J).enabled,"onUpdate:modelValue":o[1]||=e=>N(J).enabled=e,disabled:N(H),class:`ml-auto shrink-0`},null,8,[`modelValue`,`disabled`])]),N(J).enabled?(p(),y(O,{key:0},[v(`div`,Te,[v(`div`,Ee,[v(`label`,De,d(i.$t(`views.settings.backup_interval`)),1),S(h,{modelValue:N(J).interval,"onUpdate:modelValue":o[2]||=e=>N(J).interval=e,"input-id":`backupInterval`,options:N(X),"option-label":`label`,"option-value":`value`,disabled:N(H)},null,8,[`modelValue`,`options`,`disabled`])]),v(`div`,Oe,[v(`label`,ke,d(i.$t(`views.settings.backup_time`)),1),S(_,{id:`backupTime`,modelValue:N(J).time,"onUpdate:modelValue":o[3]||=e=>N(J).time=e,placeholder:`03:00`,disabled:N(H),invalid:!N(Y)},null,8,[`modelValue`,`disabled`,`invalid`])]),N(J).interval===`weekly`?(p(),y(`div`,Ae,[v(`label`,je,d(i.$t(`views.settings.backup_weekday`)),1),S(h,{modelValue:N(J).weekday,"onUpdate:modelValue":o[4]||=e=>N(J).weekday=e,"input-id":`backupWeekday`,options:N(Z),"option-label":`label`,"option-value":`value`,disabled:N(H)},null,8,[`modelValue`,`options`,`disabled`])])):j(``,!0),N(J).interval===`monthly`?(p(),y(`div`,Me,[v(`label`,Ne,d(i.$t(`views.settings.backup_day_of_month`)),1),S(b,{modelValue:N(J).dayOfMonth,"onUpdate:modelValue":o[5]||=e=>N(J).dayOfMonth=e,"input-id":`backupDayOfMonth`,min:1,max:28,"show-buttons":``,"use-grouping":!1,disabled:N(H)},null,8,[`modelValue`,`disabled`])])):j(``,!0),v(`div`,Pe,[v(`label`,Fe,d(i.$t(`views.settings.backup_retention`)),1),S(b,{modelValue:N(J).retention,"onUpdate:modelValue":o[6]||=e=>N(J).retention=e,"input-id":`backupRetention`,min:1,max:60,"show-buttons":``,"use-grouping":!1,disabled:N(H)},null,8,[`modelValue`,`disabled`]),S(T,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:u(()=>[C(d(i.$t(`views.settings.backup_retention_hint`)),1)]),_:1})])]),v(`div`,Ie,[v(`label`,Le,d(i.$t(`views.settings.backup_destination`)),1),S(_,{id:`backupDestination`,modelValue:N(J).destinationPath,"onUpdate:modelValue":o[7]||=e=>N(J).destinationPath=e,placeholder:N(K),disabled:N(H)},null,8,[`modelValue`,`placeholder`,`disabled`]),S(T,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:u(()=>[C(d(i.$t(`views.settings.backup_destination_hint`)),1)]),_:1})])],64)):j(``,!0),v(`div`,Re,[S(s,{severity:`secondary`,outlined:``,loading:N(U),disabled:N(H),class:`ml-auto cui-button-medium`,label:i.$t(`components.form.button.run_now`),onClick:Xe},null,8,[`loading`,`disabled`,`label`]),S(s,{loading:N(H),disabled:N(U)||!N(Y),class:`cui-button-medium`,label:i.$t(`components.form.button.save`),onClick:Ye},null,8,[`loading`,`disabled`,`label`])]),N(G).length?(p(),y(`div`,ze,[v(`span`,Be,d(i.$t(`views.settings.backup_existing`)),1),(p(!0),y(O,null,g(N(G),e=>(p(),y(`div`,{key:e.filename,class:`flex items-center gap-3 py-1 min-w-0`},[v(`div`,Ve,[v(`span`,He,d(e.filename),1),v(`span`,Ue,d(new Date(e.timestamp).toLocaleString())+` · `+d(Je(e.size)),1)]),v(`div`,We,[x((p(),w(s,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,disabled:N(W)===e.filename,onClick:t=>Ze(e)},{icon:u(()=>[S(E,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`onClick`])),[[k,{value:i.$t(`components.form.button.download`)},void 0,{top:!0}]]),x((p(),w(s,{text:``,rounded:``,severity:`danger`,class:`cui-icon-md`,onClick:t=>Qe(e)},{icon:u(()=>[S(D,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[k,{value:i.$t(`components.form.button.remove`)},void 0,{top:!0}]])])]))),128))])):j(``,!0)]))]),_:1})])])])}}});export{Z as default};
1
+ import{Bt as e,It as t,Kt as n,L as r,Vr as i,q as a}from"./vendor-cameraui-DTALowLr.js";import{Er as o,Tn as s,s as c,st as l}from"./api-C7-TgfI0.js";import{$n as u,Cr as d,Hn as f,In as p,Jn as m,Pn as h,Rn as g,_r as _,cn as v,dn as y,dr as b,er as x,gn as S,hn as C,ln as w,lr as T,mr as E,nn as D,rn as O,sn as k,sr as A,un as j,vn as M,yr as N}from"./vendor-CFZm55ei.js";import{K as ee,M as P,U as F,_ as I,j as L,z as R}from"./vendor-primevue-CpTHHdUJ.js";import{a as z,c as te,i as ne,n as re,o as ie,r as ae,s as oe}from"./useBackupRestore-BJSrIE1j.js";import{t as se}from"./theme-CqKA1ClW.js";import{t as ce}from"./trash-can-outline-BFiV5RfR.js";import{t as B}from"./close-circle-CUM5zI7N.js";import{t as le}from"./download-CV7ETeuV.js";var V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return p(),y(`svg`,V,[...t[0]||=[v(`path`,{fill:`currentColor`,d:`M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H15v-8h5V8zm-1 7V3.5L18.5 9zm4 12.66V16h5.66v2h-2.24l2.95 2.95l-1.41 1.41L19 19.41v2.24h-2z`},null,-1)]])}var U=A({name:`ic-baseline-file-open`,render:H}),W={class:`flex flex-col gap-6 p-4 items-center justify-center w-full`},G={class:`flex flex-col justify-center items-center`},K={for:`restoreInput`,class:`cursor-pointer text-center`},q=[`accept`],J={key:0,class:`text-red`},Y={class:`mx-2`},X={class:`text-muted`},ue=M({__name:`CuiUploadFiles`,props:{multiple:{type:Boolean,default:!1},accept:{},icon:{default:U}},emits:[`files-uploaded`],setup(t,{expose:n,emit:r}){let i=t,a=r,{accept:o,multiple:s}=_(i),c=m(`fileInputRef`),l=E([]),h=b(!1),g=b(!1);function x(e){let t=l.value.findIndex(t=>t.name===e);t>-1&&(l.value.splice(t,1),O())}function C(e){if(h.value=!1,g.value=!1,l.value=[],e.dataTransfer){if(!s.value&&e.dataTransfer.files.length>1)g.value=!0;else{for(let[,t]of Object.entries(e.dataTransfer.files))l.value.push(t);a(`files-uploaded`,l.value)}}}function T(e){g.value=!1,l.value=[];let t=e.target;if(t&&t.files){if(!s.value&&t.files?.length>1)g.value=!0;else{for(let[,e]of Object.entries(t.files))l.value.push(e);a(`files-uploaded`,l.value)}}}function O(){c.value&&(c.value.value=``)}function k(){l.value=[],O()}return n({reset:k}),(n,r)=>{let i=B,a=e,s=F,m=P;return p(),y(`div`,{class:`file-upload-box`,onDrop:r[0]||=D(e=>C(e),[`prevent`]),onDragover:r[1]||=D(e=>h.value=!0,[`prevent`]),onDragenter:r[2]||=D(e=>h.value=!0,[`prevent`]),onDragleave:r[3]||=D(e=>h.value=!1,[`prevent`])},[v(`div`,W,[v(`div`,G,[(p(),w(f(t.icon),{class:`w-15 h-15`})),v(`label`,K,d(n.$t(`components.upload_files.drop_or_select_file`)),1),v(`input`,{id:`restoreInput`,ref_key:`fileInputRef`,ref:c,type:`file`,class:`hidden`,accept:N(o),onChange:T},null,40,q),N(g)?(p(),y(`p`,J,d(n.$t(`components.upload_files.only_one_file_allowed`)),1)):j(``,!0)]),N(l).length>0?(p(),w(m,{key:0,items:N(l),"item-size":50,"scroll-height":`50px`,"scroll-width":`100%`,class:`w-full`},{item:u(({item:e})=>[(p(),y(`div`,{key:e.name,class:`w-full flex flex-row items-center justify-start p-2`},[S(a,{text:``,rounded:``,severity:`danger`,class:`cui-icon-md shrink-0`,onClick:t=>x(e.name)},{icon:u(()=>[S(i,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`]),v(`b`,Y,d(e.name),1),v(`span`,X,`(`+d(e.size)+` bytes)`,1)])),N(l).length>1?(p(),w(s,{key:0,class:`m-0 py-4`})):j(``,!0)]),_:1},8,[`items`])):j(``,!0)])],32)}}}),de={class:`flex flex-col w-full gap-6`},fe={class:`card-title`},pe={class:`flex flex-col gap-6`},me={class:`text-sm`},he={class:`card-title`},ge={class:`flex flex-col gap-6`},_e={class:`text-sm`},ve={class:`card-title`},ye={key:0,class:`flex w-full items-center justify-center py-6`},be={key:1,class:`flex flex-col gap-6`},xe={class:`flex items-center gap-4`},Se={class:`flex flex-col gap-1 min-w-0`},Ce={class:`text-sm`},we={class:`text-xs text-muted`},Te={class:`grid grid-cols-1 sm:grid-cols-2 gap-4`},Ee={class:`flex flex-col field-gap`},De={for:`backupInterval`,class:`cui-label`},Oe={class:`flex flex-col field-gap`},ke={for:`backupTime`,class:`cui-label`},Ae={key:0,class:`flex flex-col field-gap`},je={for:`backupWeekday`,class:`cui-label`},Me={key:1,class:`flex flex-col field-gap`},Ne={for:`backupDayOfMonth`,class:`cui-label`},Pe={class:`flex flex-col field-gap`},Fe={for:`backupRetention`,class:`cui-label`},Ie={class:`flex flex-col field-gap`},Le={for:`backupDestination`,class:`cui-label`},Re={class:`flex items-center gap-2`},ze={key:1,class:`flex flex-col gap-2`},Be={class:`text-sm font-semibold border-b-[1px] border-color pb-2`},Ve={class:`flex flex-col min-w-0`},He={class:`text-sm truncate`},Ue={class:`text-xs text-muted`},We={class:`flex gap-1 ml-auto shrink-0`},Z=M({__name:`SettingsBackup`,setup(f){let _=l(),D=o(),{t:A,locale:M}=i(),P=m(`filesRef`),F=E([]),B=b(!1),V=b(!0),H=b(!1),U=b(!1),W=b(null),G=b([]),K=b(``),q=b(),J=T({enabled:!1,interval:`daily`,time:`03:00`,weekday:0,dayOfMonth:1,retention:7,destinationPath:``}),Y=k(()=>/^([01]\d|2[0-3]):[0-5]\d$/.test(J.time)),X=k(()=>[`daily`,`weekly`,`monthly`].map(e=>({label:A(`views.settings.backup_interval_${e}`),value:e}))),Z=k(()=>Array.from({length:7},(e,t)=>({label:new Intl.DateTimeFormat(M.value,{weekday:`long`}).format(new Date(Date.UTC(2024,0,7+t,12))),value:t}))),Ge=k(()=>{if(!q.value)return A(`views.settings.backup_last_run`,{info:A(`views.settings.backup_last_run_never`)});let e=new Date(q.value.timestamp).toLocaleString(),t=q.value.status===`success`?`✓`:`✗ ${q.value.message??``}`;return A(`views.settings.backup_last_run`,{info:`${e} ${t}`})});async function Q(){B.value=!0;try{let e={},t=localStorage.getItem(`ui`);if(t)try{e.ui=JSON.parse(t)}catch{}let n=localStorage.getItem(`language`);n&&(e.language=n),localStorage.getItem(`theme`)&&(e.theme=se());let r=Date.now(),i=await ne(e);await s({blob:new Blob([i]),filename:`cameraui-backup-${r}.tar.gz`,mimeType:`application/gzip`})}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}B.value=!1}function Ke(){_.openTextDialog({data:{title:A(`components.dialog.title.confirm`),contentText:A(`components.dialog.message.confirm_restore`),confirmText:A(`components.form.button.restore_and_restart`),loading:B},onConfirm:qe})}async function qe(){let e=F.value[0];e&&(B.value=!0,await re().run(e),P.value?.reset(),B.value=!1)}function Je(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`,`TB`],n=e,r=-1;do n/=1024,r++;while(n>=1024&&r<t.length-1);return`${n.toFixed(1)} ${t[r]}`}async function $(){try{let e=await ie(),{lastRun:t,...n}=e.settings;Object.assign(J,n),q.value=t,G.value=e.backups,K.value=e.defaultDestination}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}finally{V.value=!1}}async function Ye(){if(Y.value){H.value=!0;try{let e=await oe({...J});q.value=e.lastRun,D.add({severity:`success`,detail:A(`components.toast.backup_scheduler_saved`),life:3e3})}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}finally{H.value=!1}}}async function Xe(){U.value=!0;try{let e=await te();q.value=e,D.add({severity:`success`,detail:A(`components.toast.backup_created`),life:3e3})}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}finally{U.value=!1,await $()}}async function Ze(e){W.value=e.filename;try{let t=await z(e.filename);await s({blob:new Blob([t]),filename:e.filename,mimeType:`application/gzip`})}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}finally{W.value=null}}function Qe(e){_.openTextDialog({data:{title:A(`components.dialog.title.confirm`),contentText:A(`components.dialog.message.confirm_delete_backup`,{filename:e.filename}),confirmText:A(`components.form.button.remove`)},onConfirm:async()=>{try{await ae(e.filename),D.add({severity:`success`,detail:A(`components.toast.backup_deleted`),life:3e3}),await $()}catch(e){D.add({severity:`error`,detail:c(e),life:3e3})}}})}return h($),(i,o)=>{let s=e,c=a,l=ue,f=t,m=ee,h=L,_=r,b=I,T=R,E=le,D=ce,k=n;return p(),y(`div`,null,[v(`div`,de,[v(`div`,null,[v(`span`,fe,d(i.$t(`views.settings.create_backup`)),1),S(c,{class:`cui-card`},{content:u(()=>[v(`div`,pe,[v(`span`,me,d(i.$t(`views.settings.create_backup_info`)),1),S(s,{loading:N(B),class:`ml-auto cui-button-medium`,label:i.$t(`components.form.button.download_backup_archive`),onClick:Q},null,8,[`loading`,`label`])])]),_:1})]),v(`div`,null,[v(`span`,he,d(i.$t(`views.settings.restore_backup`)),1),S(c,{class:`cui-card`},{content:u(()=>[v(`div`,ge,[v(`span`,_e,d(i.$t(`views.settings.restore_backup_info`)),1),S(l,{ref_key:`filesRef`,ref:P,accept:`application/gzip, .tar, .tar.gz`,onFilesUploaded:o[0]||=e=>F.value=e},null,512),S(s,{loading:N(B),disabled:!N(F).length,class:`ml-auto cui-button-medium`,label:i.$t(`components.form.button.restore_backup_archive`),onClick:Ke},null,8,[`loading`,`disabled`,`label`])])]),_:1})]),v(`div`,null,[v(`span`,ve,d(i.$t(`views.settings.scheduled_backup`)),1),S(c,{class:`cui-card`},{content:u(()=>[N(V)?(p(),y(`div`,ye,[S(f,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(p(),y(`div`,be,[v(`div`,xe,[v(`div`,Se,[v(`span`,Ce,d(i.$t(`views.settings.scheduled_backup_info`)),1),v(`span`,we,d(N(Ge)),1)]),S(m,{modelValue:N(J).enabled,"onUpdate:modelValue":o[1]||=e=>N(J).enabled=e,disabled:N(H),class:`ml-auto shrink-0`},null,8,[`modelValue`,`disabled`])]),N(J).enabled?(p(),y(O,{key:0},[v(`div`,Te,[v(`div`,Ee,[v(`label`,De,d(i.$t(`views.settings.backup_interval`)),1),S(h,{modelValue:N(J).interval,"onUpdate:modelValue":o[2]||=e=>N(J).interval=e,"input-id":`backupInterval`,options:N(X),"option-label":`label`,"option-value":`value`,disabled:N(H)},null,8,[`modelValue`,`options`,`disabled`])]),v(`div`,Oe,[v(`label`,ke,d(i.$t(`views.settings.backup_time`)),1),S(_,{id:`backupTime`,modelValue:N(J).time,"onUpdate:modelValue":o[3]||=e=>N(J).time=e,placeholder:`03:00`,disabled:N(H),invalid:!N(Y)},null,8,[`modelValue`,`disabled`,`invalid`])]),N(J).interval===`weekly`?(p(),y(`div`,Ae,[v(`label`,je,d(i.$t(`views.settings.backup_weekday`)),1),S(h,{modelValue:N(J).weekday,"onUpdate:modelValue":o[4]||=e=>N(J).weekday=e,"input-id":`backupWeekday`,options:N(Z),"option-label":`label`,"option-value":`value`,disabled:N(H)},null,8,[`modelValue`,`options`,`disabled`])])):j(``,!0),N(J).interval===`monthly`?(p(),y(`div`,Me,[v(`label`,Ne,d(i.$t(`views.settings.backup_day_of_month`)),1),S(b,{modelValue:N(J).dayOfMonth,"onUpdate:modelValue":o[5]||=e=>N(J).dayOfMonth=e,"input-id":`backupDayOfMonth`,min:1,max:28,"show-buttons":``,"use-grouping":!1,disabled:N(H)},null,8,[`modelValue`,`disabled`])])):j(``,!0),v(`div`,Pe,[v(`label`,Fe,d(i.$t(`views.settings.backup_retention`)),1),S(b,{modelValue:N(J).retention,"onUpdate:modelValue":o[6]||=e=>N(J).retention=e,"input-id":`backupRetention`,min:1,max:60,"show-buttons":``,"use-grouping":!1,disabled:N(H)},null,8,[`modelValue`,`disabled`]),S(T,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:u(()=>[C(d(i.$t(`views.settings.backup_retention_hint`)),1)]),_:1})])]),v(`div`,Ie,[v(`label`,Le,d(i.$t(`views.settings.backup_destination`)),1),S(_,{id:`backupDestination`,modelValue:N(J).destinationPath,"onUpdate:modelValue":o[7]||=e=>N(J).destinationPath=e,placeholder:N(K),disabled:N(H)},null,8,[`modelValue`,`placeholder`,`disabled`]),S(T,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:u(()=>[C(d(i.$t(`views.settings.backup_destination_hint`)),1)]),_:1})])],64)):j(``,!0),v(`div`,Re,[S(s,{severity:`secondary`,outlined:``,loading:N(U),disabled:N(H),class:`ml-auto cui-button-medium`,label:i.$t(`components.form.button.run_now`),onClick:Xe},null,8,[`loading`,`disabled`,`label`]),S(s,{loading:N(H),disabled:N(U)||!N(Y),class:`cui-button-medium`,label:i.$t(`components.form.button.save`),onClick:Ye},null,8,[`loading`,`disabled`,`label`])]),N(G).length?(p(),y(`div`,ze,[v(`span`,Be,d(i.$t(`views.settings.backup_existing`)),1),(p(!0),y(O,null,g(N(G),e=>(p(),y(`div`,{key:e.filename,class:`flex items-center gap-3 py-1 min-w-0`},[v(`div`,Ve,[v(`span`,He,d(e.filename),1),v(`span`,Ue,d(new Date(e.timestamp).toLocaleString())+` · `+d(Je(e.size)),1)]),v(`div`,We,[x((p(),w(s,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,disabled:N(W)===e.filename,onClick:t=>Ze(e)},{icon:u(()=>[S(E,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`onClick`])),[[k,{value:i.$t(`components.form.button.download`)},void 0,{top:!0}]]),x((p(),w(s,{text:``,rounded:``,severity:`danger`,class:`cui-icon-md`,onClick:t=>Qe(e)},{icon:u(()=>[S(D,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[k,{value:i.$t(`components.form.button.remove`)},void 0,{top:!0}]])])]))),128))])):j(``,!0)]))]),_:1})])])])}}});export{Z as default};
@@ -1 +1 @@
1
- import{Vr as e}from"./vendor-cameraui-D0VXSxSF.js";import{hn as t,vn as n,x as r,yn as i}from"./api-vegsDz6n.js";import{$n as a,Cr as o,Hn as s,In as c,Rn as l,cn as u,dn as d,gn as f,hn as p,ln as m,rn as h,sn as g,vn as _,yr as v}from"./vendor-CP-WYrgy.js";import{t as y}from"./CuiList-Bn7DT_Ao.js";var b={class:`card-title`},x=_({__name:`SettingsList`,setup(_){let{t:x}=e(),S=g(()=>r.find(e=>e.name===`Settings`).children.filter(e=>e.meta?.settingsBar&&i(e)).map(e=>({to:`/settings/${e.path}`,label:x(`navigation.${e.meta.name.toLowerCase()}`),icon:e.meta.settingsBar.icon.default,group:e.meta.settingsBar.group??`personal`}))),C=g(()=>[`personal`,`system`].map(e=>({key:e,items:S.value.filter(t=>t.group===e)})).filter(e=>e.items.length>0));return(e,r)=>{let i=n,g=t,_=y;return c(),d(`div`,null,[(c(!0),d(h,null,l(v(C),t=>(c(),d(h,{key:t.key},[u(`span`,b,o(e.$t(`views.settings.section_${t.key}`)),1),f(_,{size:`large`,dividers:``,class:`!h-auto mb-4`},{default:a(()=>[(c(!0),d(h,null,l(t.items,e=>(c(),m(g,{key:e.to,to:e.to},{prepend:a(()=>[(c(),m(s(e.icon),{class:`w-5 h-5 text-muted`}))]),append:a(()=>[f(i,{class:`w-5 h-5 text-muted`})]),default:a(()=>[p(` `+o(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:2},1024)],64))),128))])}}});export{x as default};
1
+ import{Vr as e}from"./vendor-cameraui-DTALowLr.js";import{hn as t,vn as n,x as r,yn as i}from"./api-C7-TgfI0.js";import{$n as a,Cr as o,Hn as s,In as c,Rn as l,cn as u,dn as d,gn as f,hn as p,ln as m,rn as h,sn as g,vn as _,yr as v}from"./vendor-CFZm55ei.js";import{t as y}from"./CuiList-B8wJe291.js";var b={class:`card-title`},x=_({__name:`SettingsList`,setup(_){let{t:x}=e(),S=g(()=>r.find(e=>e.name===`Settings`).children.filter(e=>e.meta?.settingsBar&&i(e)).map(e=>({to:`/settings/${e.path}`,label:x(`navigation.${e.meta.name.toLowerCase()}`),icon:e.meta.settingsBar.icon.default,group:e.meta.settingsBar.group??`personal`}))),C=g(()=>[`personal`,`system`].map(e=>({key:e,items:S.value.filter(t=>t.group===e)})).filter(e=>e.items.length>0));return(e,r)=>{let i=n,g=t,_=y;return c(),d(`div`,null,[(c(!0),d(h,null,l(v(C),t=>(c(),d(h,{key:t.key},[u(`span`,b,o(e.$t(`views.settings.section_${t.key}`)),1),f(_,{size:`large`,dividers:``,class:`!h-auto mb-4`},{default:a(()=>[(c(!0),d(h,null,l(t.items,e=>(c(),m(g,{key:e.to,to:e.to},{prepend:a(()=>[(c(),m(s(e.icon),{class:`w-5 h-5 text-muted`}))]),append:a(()=>[f(i,{class:`w-5 h-5 text-muted`})]),default:a(()=>[p(` `+o(e.label)+` `,1)]),_:2},1032,[`to`]))),128))]),_:2},1024)],64))),128))])}}});export{x as default};
@@ -1 +1 @@
1
- import{Bt as e,It as t,L as ee,Vr as n,q as te}from"./vendor-cameraui-D0VXSxSF.js";import{Er as r,gt as ne,hr as i,ht as a,i as o,o as s}from"./api-vegsDz6n.js";import{$n as c,C as re,Cr as l,Dn as u,In as d,S as f,Xn as p,Xt as m,cn as h,dn as g,dr as _,gn as v,hn as y,ln as b,or as ie,rn as x,sn as S,un as C,vn as w,x as T,yr as E}from"./vendor-CP-WYrgy.js";import{U as D}from"./types-CngwbyEy.js";import{K as ae,L as oe,R as se,_ as ce,a as le,i as ue,j as de,s as fe,z as pe}from"./vendor-primevue-LZEE4d1W.js";import{t as O}from"./mqtt-DfpSLxes.js";var me=D,k={class:`w-full h-full`},A={key:0,class:`w-full h-full flex items-center justify-center`},j={key:1,class:`flex flex-col w-full gap-6`},M={class:`card-title`},N={class:`flex items-center gap-4`},P={class:`flex flex-col field-switch-gap min-w-0`},F={class:`text-sm font-bold text-color`},I={class:`card-title`},L={class:`flex flex-col gap-6`},R={class:`flex items-center gap-4 cui-toggle-switch`},z={class:`flex flex-col field-switch-gap`},he={for:`enabled`,class:`cui-label-switch`},ge={class:`flex flex-col field-gap`},_e={for:`mode`,class:`cui-label`},ve={class:`flex flex-col sm:flex-row gap-6`},ye={for:`host`,class:`cui-label`},be={class:`flex flex-col field-gap w-full sm:w-40 shrink-0`},xe={for:`port`,class:`cui-label`},Se={class:`flex flex-col field-gap`},Ce={for:`protocol`,class:`cui-label`},we={class:`flex flex-col sm:flex-row gap-6`},Te={class:`flex flex-col field-gap flex-1 min-w-0`},Ee={for:`username`,class:`cui-label`},De={class:`flex flex-col field-gap flex-1 min-w-0`},Oe={for:`password`,class:`cui-label`},ke={class:`flex flex-col field-gap`},Ae={for:`brokerAddress`,class:`cui-label`},je={class:`flex flex-col sm:flex-row gap-6`},Me={class:`flex flex-col field-gap w-full sm:w-40 shrink-0`},Ne={for:`brokerPort`,class:`cui-label`},Pe={class:`flex flex-col field-gap flex-1 min-w-0`},Fe={for:`brokerUsername`,class:`cui-label`},Ie={class:`flex flex-col field-gap flex-1 min-w-0`},Le={for:`brokerPassword`,class:`cui-label`},B={class:`flex flex-col sm:flex-row gap-6`},Re={for:`clientId`,class:`cui-label`},ze={for:`topicPrefix`,class:`cui-label`},Be={class:`flex items-center gap-4 cui-toggle-switch`},Ve={class:`flex flex-col field-switch-gap`},He={for:`rejectUnauthorized`,class:`cui-label-switch`},Ue={class:`flex flex-col field-gap`},We={for:`tlsCa`,class:`cui-label`},Ge={class:`flex flex-col field-gap`},Ke={for:`tlsCert`,class:`cui-label`},qe={class:`flex flex-col field-gap`},Je={for:`tlsKey`,class:`cui-label`},Ye={class:`flex items-center gap-4 cui-toggle-switch`},Xe={class:`flex flex-col field-switch-gap`},Ze={for:`haDiscovery`,class:`cui-label-switch`},Qe={for:`haDiscovery.prefix`,class:`cui-label`},$e={class:`flex items-center gap-3`},V=w({__name:`SettingsMqtt`,setup(w){let D=new O,V=r(),{t:H}=n(),{data:U}=D.getMqttInfoQuery(),W=D.patchMqttInfoMutation(),G=D.testMqttConnectionMutation(),K=i(`/server`),et=[{label:`mqtt:// (TCP)`,value:`mqtt`},{label:`mqtts:// (TLS)`,value:`mqtts`}],tt=[{label:H(`views.settings.mqtt_mode_external`),value:`external`},{label:H(`views.settings.mqtt_mode_embedded`),value:`embedded`}],q=_(null),J=_(``),Y=_(null),X=S(()=>U.value?.passwordSet??!1),Z=S(()=>Y.value??U.value?.status??null),nt=S(()=>{switch(Z.value?.state){case`connected`:return`success`;case`connecting`:case`reconnecting`:return`warn`;case`error`:return`danger`;default:return`secondary`}}),rt=S(()=>{let e=Z.value?.state??`disabled`;return H(`views.settings.mqtt_state_${e}`)}),it=S(()=>Z.value?.lastError?Z.value.lastError:Z.value?.broker?.running?H(`views.settings.mqtt_broker_running`,{port:Z.value.broker.port}):H(`views.settings.mqtt_status_info`)),Q=S(()=>`mqtt://${window.location.hostname}:${q.value?.broker.port??1883}`);function $(){let e=s(q.value),t={enabled:e.enabled,mode:e.mode,broker:{port:e.broker.port,username:e.broker.username?.trim()?e.broker.username.trim():null,password:e.broker.password?.trim()?e.broker.password:null},host:e.host?.trim()?e.host.trim():null,port:e.port,protocol:e.protocol,username:e.username?.trim()?e.username.trim():null,clientId:e.clientId,topicPrefix:e.topicPrefix,tls:{rejectUnauthorized:e.tls.rejectUnauthorized,ca:e.tls.ca?.trim()?e.tls.ca:null,cert:e.tls.cert?.trim()?e.tls.cert:null,key:e.tls.key?.trim()?e.tls.key:null},haDiscovery:{enabled:e.haDiscovery.enabled,prefix:e.haDiscovery.prefix}};return J.value&&(t.password=J.value),t}async function at(){q.value&&(await W.mutateAsync($()),J.value=``)}async function ot(){if(!q.value)return;let e=await G.mutateAsync($());e.ok?V.add({severity:`success`,detail:H(`components.toast.mqtt_test_success`),life:3e3}):V.add({severity:`error`,detail:H(`components.toast.mqtt_test_failed`,{message:e.message??``}),life:5e3})}return p(U,e=>{e&&!q.value&&(q.value=s(e.settings))},{immediate:!0}),K.on(`mqtt-status`,e=>{Y.value=e}),K.onReady(async()=>{try{let e=await K.request(`get-mqtt-status`);e&&(Y.value=e)}catch{}}),(n,r)=>{let i=t,s=pe,p=le,_=te,S=ae,w=de,D=ee,O=ce,V=fe,H=ne,U=oe,K=se,Y=ue,Z=e;return d(),g(`div`,k,[E(q)?(d(),g(`div`,j,[h(`div`,null,[h(`span`,M,l(n.$t(`views.settings.status`)),1),v(_,{class:`cui-card`},{content:c(()=>[h(`div`,N,[h(`div`,P,[h(`span`,F,l(n.$t(`views.settings.mqtt_broker`)),1),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:c(()=>[y(l(E(it)),1)]),_:1})]),v(p,{class:`ml-auto shrink-0`,severity:E(nt),value:E(rt)},null,8,[`severity`,`value`])])]),_:1})]),v(E(re),{class:`flex flex-col w-full gap-6`,"validation-schema":E(me),onSubmit:at},{default:c(()=>[h(`div`,null,[h(`span`,I,l(n.$t(`views.settings.mqtt_broker`)),1),v(_,{class:`cui-card`},{content:c(()=>[h(`div`,L,[h(`div`,R,[h(`div`,z,[h(`label`,he,l(n.$t(`components.form.label.enabled`)),1),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_enabled_info`)),1)]),_:1})]),v(S,{modelValue:E(q).enabled,"onUpdate:modelValue":r[0]||=e=>E(q).enabled=e,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),h(`div`,ge,[h(`label`,_e,l(n.$t(`views.settings.mqtt_mode_label`)),1),v(w,{modelValue:E(q).mode,"onUpdate:modelValue":r[1]||=e=>E(q).mode=e,options:tt,"option-label":`label`,"option-value":`value`},null,8,[`modelValue`]),E(q).mode===`embedded`?(d(),b(s,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_mode_embedded_info`)),1)]),_:1})):C(``,!0)]),E(q).mode===`external`?(d(),g(x,{key:0},[h(`div`,ve,[v(E(f),{modelValue:E(q).host,"onUpdate:modelValue":r[2]||=e=>E(q).host=e,modelModifiers:{trim:!0},name:`host`,as:`div`,class:`flex flex-col field-gap flex-1 min-w-0`},{default:c(({field:e,errors:t})=>[h(`label`,ye,l(n.$t(`views.settings.mqtt_host_label`)),1),v(D,u(e,{invalid:t.length>0,type:`text`,placeholder:`192.168.1.10`,class:`w-full`}),null,16,[`invalid`]),v(m,{name:`fade`},{default:c(()=>[v(E(T),{name:`host`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),h(`div`,be,[h(`label`,xe,l(n.$t(`views.settings.mqtt_port_label`)),1),v(O,{modelValue:E(q).port,"onUpdate:modelValue":r[3]||=e=>E(q).port=e,min:1,max:65535,"use-grouping":!1,fluid:``},null,8,[`modelValue`])])]),h(`div`,Se,[h(`label`,Ce,l(n.$t(`views.settings.mqtt_protocol_label`)),1),v(w,{modelValue:E(q).protocol,"onUpdate:modelValue":r[4]||=e=>E(q).protocol=e,options:et,"option-label":`label`,"option-value":`value`},null,8,[`modelValue`])]),h(`div`,we,[h(`div`,Te,[h(`label`,Ee,l(n.$t(`views.settings.mqtt_username_label`)),1),v(D,{modelValue:E(q).username,"onUpdate:modelValue":r[5]||=e=>E(q).username=e,modelModifiers:{trim:!0},type:`text`,autocomplete:`off`,class:`w-full`},null,8,[`modelValue`])]),h(`div`,De,[h(`label`,Oe,l(n.$t(`views.settings.mqtt_password_label`)),1),v(V,{modelValue:E(J),"onUpdate:modelValue":r[6]||=e=>ie(J)?J.value=e:null,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`new-password`,placeholder:E(X)?`••••••••`:``},null,8,[`modelValue`,`placeholder`]),E(X)?(d(),b(s,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_password_keep_hint`)),1)]),_:1})):C(``,!0)])])],64)):(d(),g(x,{key:1},[h(`div`,ke,[h(`label`,Ae,l(n.$t(`views.settings.mqtt_broker_address`)),1),v(K,null,{default:c(()=>[v(D,{"model-value":E(Q),readonly:``,class:`font-mono text-xs`},null,8,[`model-value`]),v(U,null,{default:c(()=>[v(H,{"action-text":n.$t(`components.form.tooltip.copied`),icon:E(a),"button-props":{severity:`secondary`,text:!0},onAction:r[7]||=e=>E(o)(E(Q))},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_broker_address_hint`)),1)]),_:1})]),h(`div`,je,[h(`div`,Me,[h(`label`,Ne,l(n.$t(`views.settings.mqtt_port_label`)),1),v(O,{modelValue:E(q).broker.port,"onUpdate:modelValue":r[8]||=e=>E(q).broker.port=e,min:1,max:65535,"use-grouping":!1,fluid:``},null,8,[`modelValue`])]),h(`div`,Pe,[h(`label`,Fe,l(n.$t(`views.settings.mqtt_username_label`)),1),v(D,{modelValue:E(q).broker.username,"onUpdate:modelValue":r[9]||=e=>E(q).broker.username=e,modelModifiers:{trim:!0},type:`text`,autocomplete:`off`,class:`w-full`},null,8,[`modelValue`])]),h(`div`,Ie,[h(`label`,Le,l(n.$t(`views.settings.mqtt_password_label`)),1),v(K,null,{default:c(()=>[v(V,{modelValue:E(q).broker.password,"onUpdate:modelValue":r[10]||=e=>E(q).broker.password=e,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`off`},null,8,[`modelValue`]),v(U,null,{default:c(()=>[v(H,{"action-text":n.$t(`components.form.tooltip.copied`),icon:E(a),"button-props":{severity:`secondary`,text:!0},onAction:r[11]||=e=>E(o)(E(q).broker.password??``)},null,8,[`action-text`,`icon`])]),_:1})]),_:1})])])],64)),h(`div`,B,[v(E(f),{modelValue:E(q).clientId,"onUpdate:modelValue":r[12]||=e=>E(q).clientId=e,modelModifiers:{trim:!0},name:`clientId`,as:`div`,class:`flex flex-col field-gap flex-1`},{default:c(({field:e,errors:t})=>[h(`label`,Re,l(n.$t(`views.settings.mqtt_client_id_label`)),1),v(D,u(e,{invalid:t.length>0,type:`text`}),null,16,[`invalid`]),v(m,{name:`fade`},{default:c(()=>[v(E(T),{name:`clientId`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),v(E(f),{modelValue:E(q).topicPrefix,"onUpdate:modelValue":r[13]||=e=>E(q).topicPrefix=e,modelModifiers:{trim:!0},name:`topicPrefix`,as:`div`,class:`flex flex-col field-gap flex-1`},{default:c(({field:e,errors:t})=>[h(`label`,ze,l(n.$t(`views.settings.mqtt_topic_prefix_label`)),1),v(D,u(e,{invalid:t.length>0,type:`text`}),null,16,[`invalid`]),v(m,{name:`fade`},{default:c(()=>[v(E(T),{name:`topicPrefix`,class:`cui-input-error`})]),_:1}),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_topic_prefix_info`)),1)]),_:1})]),_:1},8,[`modelValue`])]),E(q).mode===`external`&&E(q).protocol===`mqtts`?(d(),g(x,{key:2},[h(`div`,Be,[h(`div`,Ve,[h(`label`,He,l(n.$t(`views.settings.mqtt_tls_reject_unauthorized`)),1),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_tls_reject_unauthorized_info`)),1)]),_:1})]),v(S,{modelValue:E(q).tls.rejectUnauthorized,"onUpdate:modelValue":r[14]||=e=>E(q).tls.rejectUnauthorized=e,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),h(`div`,Ue,[h(`label`,We,l(n.$t(`views.settings.mqtt_tls_ca_label`)),1),v(Y,{modelValue:E(q).tls.ca,"onUpdate:modelValue":r[15]||=e=>E(q).tls.ca=e,rows:`3`,"auto-resize":``,class:`font-mono text-xs`},null,8,[`modelValue`])]),h(`div`,Ge,[h(`label`,Ke,l(n.$t(`views.settings.mqtt_tls_cert_label`)),1),v(Y,{modelValue:E(q).tls.cert,"onUpdate:modelValue":r[16]||=e=>E(q).tls.cert=e,rows:`3`,"auto-resize":``,class:`font-mono text-xs`},null,8,[`modelValue`])]),h(`div`,qe,[h(`label`,Je,l(n.$t(`views.settings.mqtt_tls_key_label`)),1),v(Y,{modelValue:E(q).tls.key,"onUpdate:modelValue":r[17]||=e=>E(q).tls.key=e,rows:`3`,"auto-resize":``,class:`font-mono text-xs`},null,8,[`modelValue`])])],64)):C(``,!0),h(`div`,Ye,[h(`div`,Xe,[h(`label`,Ze,l(n.$t(`views.settings.mqtt_ha_discovery`)),1),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_ha_discovery_info`)),1)]),_:1})]),v(S,{modelValue:E(q).haDiscovery.enabled,"onUpdate:modelValue":r[18]||=e=>E(q).haDiscovery.enabled=e,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),E(q).haDiscovery.enabled?(d(),b(E(f),{key:3,modelValue:E(q).haDiscovery.prefix,"onUpdate:modelValue":r[19]||=e=>E(q).haDiscovery.prefix=e,modelModifiers:{trim:!0},name:`haDiscovery.prefix`,as:`div`,class:`flex flex-col field-gap`},{default:c(({field:e,errors:t})=>[h(`label`,Qe,l(n.$t(`views.settings.mqtt_ha_prefix_label`)),1),v(D,u(e,{invalid:t.length>0,type:`text`,placeholder:`homeassistant`}),null,16,[`invalid`]),v(m,{name:`fade`},{default:c(()=>[v(E(T),{name:`haDiscovery.prefix`,class:`cui-input-error`})]),_:1}),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_ha_prefix_info`)),1)]),_:1})]),_:1},8,[`modelValue`])):C(``,!0),h(`div`,$e,[v(Z,{type:`button`,severity:`secondary`,loading:E(G).isPending.value,disabled:E(q).mode===`external`&&!E(q).host,class:`cui-button-medium`,label:n.$t(`views.settings.mqtt_test`),onClick:ot},null,8,[`loading`,`disabled`,`label`]),v(Z,{type:`submit`,loading:E(W).isPending.value,class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.save`)},null,8,[`loading`,`label`])])])]),_:1})])]),_:1},8,[`validation-schema`])])):(d(),g(`div`,A,[v(i,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{V as default};
1
+ import{Bt as e,It as t,L as ee,Vr as n,q as te}from"./vendor-cameraui-DTALowLr.js";import{Er as r,gt as ne,hr as i,ht as a,i as o,o as s}from"./api-C7-TgfI0.js";import{$n as c,C as re,Cr as l,Dn as u,In as d,S as f,Xn as p,Xt as m,cn as h,dn as g,dr as _,gn as v,hn as y,ln as b,or as ie,rn as x,sn as S,un as C,vn as w,x as T,yr as E}from"./vendor-CFZm55ei.js";import{U as D}from"./types-BlFbLEIJ.js";import{K as ae,L as oe,R as se,_ as ce,a as le,i as ue,j as de,s as fe,z as pe}from"./vendor-primevue-CpTHHdUJ.js";import{t as O}from"./mqtt-C_RLsZgN.js";var me=D,k={class:`w-full h-full`},A={key:0,class:`w-full h-full flex items-center justify-center`},j={key:1,class:`flex flex-col w-full gap-6`},M={class:`card-title`},N={class:`flex items-center gap-4`},P={class:`flex flex-col field-switch-gap min-w-0`},F={class:`text-sm font-bold text-color`},I={class:`card-title`},L={class:`flex flex-col gap-6`},R={class:`flex items-center gap-4 cui-toggle-switch`},z={class:`flex flex-col field-switch-gap`},he={for:`enabled`,class:`cui-label-switch`},ge={class:`flex flex-col field-gap`},_e={for:`mode`,class:`cui-label`},ve={class:`flex flex-col sm:flex-row gap-6`},ye={for:`host`,class:`cui-label`},be={class:`flex flex-col field-gap w-full sm:w-40 shrink-0`},xe={for:`port`,class:`cui-label`},Se={class:`flex flex-col field-gap`},Ce={for:`protocol`,class:`cui-label`},we={class:`flex flex-col sm:flex-row gap-6`},Te={class:`flex flex-col field-gap flex-1 min-w-0`},Ee={for:`username`,class:`cui-label`},De={class:`flex flex-col field-gap flex-1 min-w-0`},Oe={for:`password`,class:`cui-label`},ke={class:`flex flex-col field-gap`},Ae={for:`brokerAddress`,class:`cui-label`},je={class:`flex flex-col sm:flex-row gap-6`},Me={class:`flex flex-col field-gap w-full sm:w-40 shrink-0`},Ne={for:`brokerPort`,class:`cui-label`},Pe={class:`flex flex-col field-gap flex-1 min-w-0`},Fe={for:`brokerUsername`,class:`cui-label`},Ie={class:`flex flex-col field-gap flex-1 min-w-0`},Le={for:`brokerPassword`,class:`cui-label`},B={class:`flex flex-col sm:flex-row gap-6`},Re={for:`clientId`,class:`cui-label`},ze={for:`topicPrefix`,class:`cui-label`},Be={class:`flex items-center gap-4 cui-toggle-switch`},Ve={class:`flex flex-col field-switch-gap`},He={for:`rejectUnauthorized`,class:`cui-label-switch`},Ue={class:`flex flex-col field-gap`},We={for:`tlsCa`,class:`cui-label`},Ge={class:`flex flex-col field-gap`},Ke={for:`tlsCert`,class:`cui-label`},qe={class:`flex flex-col field-gap`},Je={for:`tlsKey`,class:`cui-label`},Ye={class:`flex items-center gap-4 cui-toggle-switch`},Xe={class:`flex flex-col field-switch-gap`},Ze={for:`haDiscovery`,class:`cui-label-switch`},Qe={for:`haDiscovery.prefix`,class:`cui-label`},$e={class:`flex items-center gap-3`},V=w({__name:`SettingsMqtt`,setup(w){let D=new O,V=r(),{t:H}=n(),{data:U}=D.getMqttInfoQuery(),W=D.patchMqttInfoMutation(),G=D.testMqttConnectionMutation(),K=i(`/server`),et=[{label:`mqtt:// (TCP)`,value:`mqtt`},{label:`mqtts:// (TLS)`,value:`mqtts`}],tt=[{label:H(`views.settings.mqtt_mode_external`),value:`external`},{label:H(`views.settings.mqtt_mode_embedded`),value:`embedded`}],q=_(null),J=_(``),Y=_(null),X=S(()=>U.value?.passwordSet??!1),Z=S(()=>Y.value??U.value?.status??null),nt=S(()=>{switch(Z.value?.state){case`connected`:return`success`;case`connecting`:case`reconnecting`:return`warn`;case`error`:return`danger`;default:return`secondary`}}),rt=S(()=>{let e=Z.value?.state??`disabled`;return H(`views.settings.mqtt_state_${e}`)}),it=S(()=>Z.value?.lastError?Z.value.lastError:Z.value?.broker?.running?H(`views.settings.mqtt_broker_running`,{port:Z.value.broker.port}):H(`views.settings.mqtt_status_info`)),Q=S(()=>`mqtt://${window.location.hostname}:${q.value?.broker.port??1883}`);function $(){let e=s(q.value),t={enabled:e.enabled,mode:e.mode,broker:{port:e.broker.port,username:e.broker.username?.trim()?e.broker.username.trim():null,password:e.broker.password?.trim()?e.broker.password:null},host:e.host?.trim()?e.host.trim():null,port:e.port,protocol:e.protocol,username:e.username?.trim()?e.username.trim():null,clientId:e.clientId,topicPrefix:e.topicPrefix,tls:{rejectUnauthorized:e.tls.rejectUnauthorized,ca:e.tls.ca?.trim()?e.tls.ca:null,cert:e.tls.cert?.trim()?e.tls.cert:null,key:e.tls.key?.trim()?e.tls.key:null},haDiscovery:{enabled:e.haDiscovery.enabled,prefix:e.haDiscovery.prefix}};return J.value&&(t.password=J.value),t}async function at(){q.value&&(await W.mutateAsync($()),J.value=``)}async function ot(){if(!q.value)return;let e=await G.mutateAsync($());e.ok?V.add({severity:`success`,detail:H(`components.toast.mqtt_test_success`),life:3e3}):V.add({severity:`error`,detail:H(`components.toast.mqtt_test_failed`,{message:e.message??``}),life:5e3})}return p(U,e=>{e&&!q.value&&(q.value=s(e.settings))},{immediate:!0}),K.on(`mqtt-status`,e=>{Y.value=e}),K.onReady(async()=>{try{let e=await K.request(`get-mqtt-status`);e&&(Y.value=e)}catch{}}),(n,r)=>{let i=t,s=pe,p=le,_=te,S=ae,w=de,D=ee,O=ce,V=fe,H=ne,U=oe,K=se,Y=ue,Z=e;return d(),g(`div`,k,[E(q)?(d(),g(`div`,j,[h(`div`,null,[h(`span`,M,l(n.$t(`views.settings.status`)),1),v(_,{class:`cui-card`},{content:c(()=>[h(`div`,N,[h(`div`,P,[h(`span`,F,l(n.$t(`views.settings.mqtt_broker`)),1),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:c(()=>[y(l(E(it)),1)]),_:1})]),v(p,{class:`ml-auto shrink-0`,severity:E(nt),value:E(rt)},null,8,[`severity`,`value`])])]),_:1})]),v(E(re),{class:`flex flex-col w-full gap-6`,"validation-schema":E(me),onSubmit:at},{default:c(()=>[h(`div`,null,[h(`span`,I,l(n.$t(`views.settings.mqtt_broker`)),1),v(_,{class:`cui-card`},{content:c(()=>[h(`div`,L,[h(`div`,R,[h(`div`,z,[h(`label`,he,l(n.$t(`components.form.label.enabled`)),1),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_enabled_info`)),1)]),_:1})]),v(S,{modelValue:E(q).enabled,"onUpdate:modelValue":r[0]||=e=>E(q).enabled=e,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),h(`div`,ge,[h(`label`,_e,l(n.$t(`views.settings.mqtt_mode_label`)),1),v(w,{modelValue:E(q).mode,"onUpdate:modelValue":r[1]||=e=>E(q).mode=e,options:tt,"option-label":`label`,"option-value":`value`},null,8,[`modelValue`]),E(q).mode===`embedded`?(d(),b(s,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_mode_embedded_info`)),1)]),_:1})):C(``,!0)]),E(q).mode===`external`?(d(),g(x,{key:0},[h(`div`,ve,[v(E(f),{modelValue:E(q).host,"onUpdate:modelValue":r[2]||=e=>E(q).host=e,modelModifiers:{trim:!0},name:`host`,as:`div`,class:`flex flex-col field-gap flex-1 min-w-0`},{default:c(({field:e,errors:t})=>[h(`label`,ye,l(n.$t(`views.settings.mqtt_host_label`)),1),v(D,u(e,{invalid:t.length>0,type:`text`,placeholder:`192.168.1.10`,class:`w-full`}),null,16,[`invalid`]),v(m,{name:`fade`},{default:c(()=>[v(E(T),{name:`host`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),h(`div`,be,[h(`label`,xe,l(n.$t(`views.settings.mqtt_port_label`)),1),v(O,{modelValue:E(q).port,"onUpdate:modelValue":r[3]||=e=>E(q).port=e,min:1,max:65535,"use-grouping":!1,fluid:``},null,8,[`modelValue`])])]),h(`div`,Se,[h(`label`,Ce,l(n.$t(`views.settings.mqtt_protocol_label`)),1),v(w,{modelValue:E(q).protocol,"onUpdate:modelValue":r[4]||=e=>E(q).protocol=e,options:et,"option-label":`label`,"option-value":`value`},null,8,[`modelValue`])]),h(`div`,we,[h(`div`,Te,[h(`label`,Ee,l(n.$t(`views.settings.mqtt_username_label`)),1),v(D,{modelValue:E(q).username,"onUpdate:modelValue":r[5]||=e=>E(q).username=e,modelModifiers:{trim:!0},type:`text`,autocomplete:`off`,class:`w-full`},null,8,[`modelValue`])]),h(`div`,De,[h(`label`,Oe,l(n.$t(`views.settings.mqtt_password_label`)),1),v(V,{modelValue:E(J),"onUpdate:modelValue":r[6]||=e=>ie(J)?J.value=e:null,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`new-password`,placeholder:E(X)?`••••••••`:``},null,8,[`modelValue`,`placeholder`]),E(X)?(d(),b(s,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_password_keep_hint`)),1)]),_:1})):C(``,!0)])])],64)):(d(),g(x,{key:1},[h(`div`,ke,[h(`label`,Ae,l(n.$t(`views.settings.mqtt_broker_address`)),1),v(K,null,{default:c(()=>[v(D,{"model-value":E(Q),readonly:``,class:`font-mono text-xs`},null,8,[`model-value`]),v(U,null,{default:c(()=>[v(H,{"action-text":n.$t(`components.form.tooltip.copied`),icon:E(a),"button-props":{severity:`secondary`,text:!0},onAction:r[7]||=e=>E(o)(E(Q))},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_broker_address_hint`)),1)]),_:1})]),h(`div`,je,[h(`div`,Me,[h(`label`,Ne,l(n.$t(`views.settings.mqtt_port_label`)),1),v(O,{modelValue:E(q).broker.port,"onUpdate:modelValue":r[8]||=e=>E(q).broker.port=e,min:1,max:65535,"use-grouping":!1,fluid:``},null,8,[`modelValue`])]),h(`div`,Pe,[h(`label`,Fe,l(n.$t(`views.settings.mqtt_username_label`)),1),v(D,{modelValue:E(q).broker.username,"onUpdate:modelValue":r[9]||=e=>E(q).broker.username=e,modelModifiers:{trim:!0},type:`text`,autocomplete:`off`,class:`w-full`},null,8,[`modelValue`])]),h(`div`,Ie,[h(`label`,Le,l(n.$t(`views.settings.mqtt_password_label`)),1),v(K,null,{default:c(()=>[v(V,{modelValue:E(q).broker.password,"onUpdate:modelValue":r[10]||=e=>E(q).broker.password=e,feedback:!1,"toggle-mask":``,fluid:``,autocomplete:`off`},null,8,[`modelValue`]),v(U,null,{default:c(()=>[v(H,{"action-text":n.$t(`components.form.tooltip.copied`),icon:E(a),"button-props":{severity:`secondary`,text:!0},onAction:r[11]||=e=>E(o)(E(q).broker.password??``)},null,8,[`action-text`,`icon`])]),_:1})]),_:1})])])],64)),h(`div`,B,[v(E(f),{modelValue:E(q).clientId,"onUpdate:modelValue":r[12]||=e=>E(q).clientId=e,modelModifiers:{trim:!0},name:`clientId`,as:`div`,class:`flex flex-col field-gap flex-1`},{default:c(({field:e,errors:t})=>[h(`label`,Re,l(n.$t(`views.settings.mqtt_client_id_label`)),1),v(D,u(e,{invalid:t.length>0,type:`text`}),null,16,[`invalid`]),v(m,{name:`fade`},{default:c(()=>[v(E(T),{name:`clientId`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),v(E(f),{modelValue:E(q).topicPrefix,"onUpdate:modelValue":r[13]||=e=>E(q).topicPrefix=e,modelModifiers:{trim:!0},name:`topicPrefix`,as:`div`,class:`flex flex-col field-gap flex-1`},{default:c(({field:e,errors:t})=>[h(`label`,ze,l(n.$t(`views.settings.mqtt_topic_prefix_label`)),1),v(D,u(e,{invalid:t.length>0,type:`text`}),null,16,[`invalid`]),v(m,{name:`fade`},{default:c(()=>[v(E(T),{name:`topicPrefix`,class:`cui-input-error`})]),_:1}),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_topic_prefix_info`)),1)]),_:1})]),_:1},8,[`modelValue`])]),E(q).mode===`external`&&E(q).protocol===`mqtts`?(d(),g(x,{key:2},[h(`div`,Be,[h(`div`,Ve,[h(`label`,He,l(n.$t(`views.settings.mqtt_tls_reject_unauthorized`)),1),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_tls_reject_unauthorized_info`)),1)]),_:1})]),v(S,{modelValue:E(q).tls.rejectUnauthorized,"onUpdate:modelValue":r[14]||=e=>E(q).tls.rejectUnauthorized=e,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),h(`div`,Ue,[h(`label`,We,l(n.$t(`views.settings.mqtt_tls_ca_label`)),1),v(Y,{modelValue:E(q).tls.ca,"onUpdate:modelValue":r[15]||=e=>E(q).tls.ca=e,rows:`3`,"auto-resize":``,class:`font-mono text-xs`},null,8,[`modelValue`])]),h(`div`,Ge,[h(`label`,Ke,l(n.$t(`views.settings.mqtt_tls_cert_label`)),1),v(Y,{modelValue:E(q).tls.cert,"onUpdate:modelValue":r[16]||=e=>E(q).tls.cert=e,rows:`3`,"auto-resize":``,class:`font-mono text-xs`},null,8,[`modelValue`])]),h(`div`,qe,[h(`label`,Je,l(n.$t(`views.settings.mqtt_tls_key_label`)),1),v(Y,{modelValue:E(q).tls.key,"onUpdate:modelValue":r[17]||=e=>E(q).tls.key=e,rows:`3`,"auto-resize":``,class:`font-mono text-xs`},null,8,[`modelValue`])])],64)):C(``,!0),h(`div`,Ye,[h(`div`,Xe,[h(`label`,Ze,l(n.$t(`views.settings.mqtt_ha_discovery`)),1),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_ha_discovery_info`)),1)]),_:1})]),v(S,{modelValue:E(q).haDiscovery.enabled,"onUpdate:modelValue":r[18]||=e=>E(q).haDiscovery.enabled=e,class:`ml-auto shrink-0`},null,8,[`modelValue`])]),E(q).haDiscovery.enabled?(d(),b(E(f),{key:3,modelValue:E(q).haDiscovery.prefix,"onUpdate:modelValue":r[19]||=e=>E(q).haDiscovery.prefix=e,modelModifiers:{trim:!0},name:`haDiscovery.prefix`,as:`div`,class:`flex flex-col field-gap`},{default:c(({field:e,errors:t})=>[h(`label`,Qe,l(n.$t(`views.settings.mqtt_ha_prefix_label`)),1),v(D,u(e,{invalid:t.length>0,type:`text`,placeholder:`homeassistant`}),null,16,[`invalid`]),v(m,{name:`fade`},{default:c(()=>[v(E(T),{name:`haDiscovery.prefix`,class:`cui-input-error`})]),_:1}),v(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:c(()=>[y(l(n.$t(`views.settings.mqtt_ha_prefix_info`)),1)]),_:1})]),_:1},8,[`modelValue`])):C(``,!0),h(`div`,$e,[v(Z,{type:`button`,severity:`secondary`,loading:E(G).isPending.value,disabled:E(q).mode===`external`&&!E(q).host,class:`cui-button-medium`,label:n.$t(`views.settings.mqtt_test`),onClick:ot},null,8,[`loading`,`disabled`,`label`]),v(Z,{type:`submit`,loading:E(W).isPending.value,class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.save`)},null,8,[`loading`,`label`])])])]),_:1})])]),_:1},8,[`validation-schema`])])):(d(),g(`div`,A,[v(i,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{V as default};
@@ -1 +1 @@
1
- import{Bt as e,F as t,It as n,Kt as r,L as ee,Vr as i,q as te}from"./vendor-cameraui-D0VXSxSF.js";import{Er as a,pr as o,yn as s}from"./api-vegsDz6n.js";import{$n as c,Bn as ne,Cr as l,In as u,Pn as d,Rn as f,Xn as p,cn as m,dn as h,dr as g,er as re,gn as _,hn as v,ln as y,lr as b,rn as x,sn as S,tn as ie,un as C,vn as w,yr as T}from"./vendor-CP-WYrgy.js";import{i as E}from"./intercomService-IAAXcRPG.js";import{K as ae,S as oe,T as se,U as ce,z as le}from"./vendor-primevue-LZEE4d1W.js";import{t as D}from"./notifications-jTSwwN1i.js";import{t as O}from"./usePushRegistration-CLEyagJM.js";import{t as ue}from"./delete-CRNIa5a0.js";import{t as de}from"./CuiDataTable-DtRTB560.js";import{t as k}from"./usePermissions-B8pw9jk1.js";var fe={class:`flex flex-col w-full gap-6`},pe={class:`card-title`},me={class:`flex flex-col gap-6`},he={class:`text-sm`},ge={key:1,class:`flex items-center justify-center py-8`},_e={class:`flex items-center gap-4`},ve={class:`flex flex-col field-switch-gap`},ye={class:`cui-label-switch`},be={key:0,class:`flex items-center gap-4`},xe={class:`flex flex-col field-switch-gap min-w-0`},Se={class:`cui-label-switch`},Ce={key:1,class:`flex items-center gap-4`},we={class:`flex flex-col field-switch-gap min-w-0`},Te={class:`cui-label-switch`},Ee={key:2,class:`flex flex-col gap-2`},De={class:`flex items-center gap-4`},Oe={class:`flex flex-col field-switch-gap`},ke={class:`cui-label-switch`},Ae={key:0,class:`grid grid-cols-1 sm:grid-cols-3 gap-3 mt-2`},je={class:`flex flex-col field-gap`},Me={for:`qh-from`,class:`cui-label`},Ne={class:`flex flex-col field-gap`},Pe={for:`qh-to`,class:`cui-label`},Fe={class:`flex flex-col field-gap`},Ie={for:`qh-tz`,class:`cui-label`},Le={key:0},Re={class:`card-title`},ze={class:`flex flex-col gap-6`},Be={class:`text-sm`},Ve={key:0,class:`flex items-center justify-center py-8`},He={key:1,class:`text-sm text-muted text-center py-8`},Ue={key:2,class:`flex flex-col gap-3`},We={class:`flex items-center gap-4`},Ge={class:`flex flex-col field-switch-gap`},Ke={class:`cui-label-switch`},qe={key:1},Je={class:`card-title`},Ye={class:`flex flex-col gap-6`},Xe={class:`text-sm`},Ze={key:0,class:`flex items-center justify-center py-8`},Qe={key:1,class:`text-sm text-muted text-center py-8`},$e={key:2,class:`flex flex-col gap-3`},et={class:`flex items-center gap-4`},tt={class:`flex flex-col field-switch-gap`},nt={class:`cui-label-switch`},rt={key:2},it={class:`card-title`},at={class:`flex flex-col gap-6`},ot={class:`text-sm`},st={key:0,class:`flex items-center justify-center py-8`},ct={key:1,class:`text-sm text-muted text-center py-8`},lt={key:3,class:`flex justify-end gap-2`},A=w({__name:`SettingsNotifications`,setup(w){let A=new D,{t:j,te:ut}=i(),M=a(),dt=s(void 0,`admin`),{registerForPush:ft,forgetIfThisDevice:pt,getSyncState:mt,restoreMarker:ht}=O(),{isElectronApp:N,electron:P}=E(),{states:gt,refresh:_t}=k(),{data:F,isLoading:vt}=A.getSettingsQuery(),{data:I,isLoading:yt}=A.listDevicesQuery(()=>!0),{data:L,isLoading:bt}=A.listSourcesQuery(),{mutate:xt,isPending:St}=A.setSettingsQuery(),{mutateAsync:Ct}=A.setSettingsQuerySilent(),{mutate:wt}=A.revokeDeviceQuery(),{mutate:R}=A.updateDeviceQuery(),z=Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`,B=g(null),V=g(``),H=g(!1),U=g(!1),W=g(!1),G=g(!0),K=g(!1),q=g(null),J=b({}),Y=g(null),Tt=S(()=>!!B.value&&JSON.stringify(B.value)!==V.value),X=S(()=>!!B.value?.enabled),Z=S(()=>St.value),Et=S(()=>$(B.value?.quietHours?.from)),Dt=S(()=>$(B.value?.quietHours?.to));function Q(e){e&&(B.value=JSON.parse(JSON.stringify(e)),V.value=JSON.stringify(e))}function Ot(){Q(F.value)}function kt(e){B.value&&(e?B.value.quietHours={from:`22:00`,to:`07:00`,timezone:z}:delete B.value.quietHours)}function $(e){if(!e)return null;let[t,n]=e.split(`:`).map(Number);if(!Number.isFinite(t)||!Number.isFinite(n))return null;let r=new Date;return r.setHours(t,n,0,0),r}function At(e){return e?`${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}`:`00:00`}function jt(e,t){B.value?.quietHours&&(B.value.quietHours[e]=At(t))}function Mt(e){return B.value?.systemTypes?.[e]!==!1}function Nt(e,t){B.value&&(B.value.systemTypes||(B.value.systemTypes={}),t?delete B.value.systemTypes[e]:B.value.systemTypes[e]=!1)}function Pt(e){return B.value?.sources?.[e]!==!1}function Ft(e,t){B.value&&(B.value.sources||(B.value.sources={}),t?delete B.value.sources[e]:B.value.sources[e]=!1)}function It(e){let t=`views.settings.notifications.system_types.${e.type.replaceAll(`.`,`_`)}`;return ut(t)?j(t):e.label}function Lt(){B.value&&xt({settings:B.value},{onSuccess:e=>Q(e)})}async function Rt(e){if(B.value&&F.value){H.value=!0;try{Q(await Ct({settings:{...F.value,enabled:e}}))}catch(e){M.add({severity:`error`,detail:e,life:3e3})}finally{H.value=!1}}}async function zt(){let e=o(),t=e?await mt(e,I.value):{status:`unknown`};U.value=t.status===`registered`,t.status===`registered`&&t.device&&e&&await ht(e,t.device.id)}async function Bt(){if(N&&P)try{G.value=await P.invoke(`get-desktop-notifications`)}catch{}}async function Vt(e){if(P){K.value=!0;try{G.value=await P.invoke(`set-desktop-notifications`,e)}catch(e){M.add({severity:`error`,detail:e,life:3e3})}finally{K.value=!1}}}async function Ht(){W.value=!0;try{await ft(),await zt(),await A.queryClient.invalidateQueries({queryKey:[`notifications`,`devices`]})}catch(e){M.add({severity:`error`,detail:e,life:3e3})}finally{W.value=!1}}function Ut(e){q.value=e;let t=o();wt({deviceId:e},{onSuccess:async()=>{t&&await pt(t,e),zt()},onSettled:()=>q.value=null})}function Wt(e){let t=J[e.id];if(t==null)return;let n=t.trim();if(!n||n===e.name){delete J[e.id];return}Y.value=e.id,R({deviceId:e.id,patch:{name:n}},{onSuccess:()=>delete J[e.id],onSettled:()=>Y.value=null})}function Gt(e,t){Y.value=e,R({deviceId:e,patch:{active:t}},{onSettled:()=>Y.value=null})}return p(F,Q,{immediate:!0}),p(I,()=>!1,{immediate:!0}),d(()=>{N&&Bt(),_t()}),(i,a)=>{let o=ne(`RouterLink`),s=le,d=n,p=ae,g=e,b=t,S=ee,w=te,E=ce,D=oe,O=se,k=ue,A=de,j=r;return u(),h(`div`,null,[m(`div`,fe,[m(`div`,null,[m(`span`,pe,l(i.$t(`views.settings.notifications.general`)),1),_(w,{class:`cui-card`},{content:c(()=>[m(`div`,me,[m(`span`,he,l(i.$t(`views.settings.notifications.general_info`)),1),T(gt).notifications===`denied`?(u(),y(s,{key:0,severity:`warn`,size:`small`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.os_permission_denied`))+` `,1),_(o,{to:`/settings/permissions`,class:`underline`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.os_permission_link`)),1)]),_:1})]),_:1})):C(``,!0),T(vt)&&!T(B)?(u(),h(`div`,ge,[_(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):T(B)?(u(),h(x,{key:2},[m(`div`,_e,[m(`div`,ve,[m(`label`,ye,l(i.$t(`views.settings.notifications.enable`)),1),_(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.enable_info`)),1)]),_:1})]),_(p,{"model-value":T(B).enabled,loading:T(H),class:`ml-auto shrink-0`,"onUpdate:modelValue":Rt},null,8,[`model-value`,`loading`])]),T(!1)&&T(B).enabled?(u(),h(`div`,be,[m(`div`,xe,[m(`label`,Se,l(i.$t(`views.settings.notifications.this_device`)),1),_(s,{severity:T(U)?`secondary`:`warn`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(T(U)?i.$t(`views.settings.notifications.this_device_synced`):i.$t(`views.settings.notifications.this_device_unsynced`)),1)]),_:1},8,[`severity`])]),_(g,{severity:T(U)?`secondary`:void 0,loading:T(W),class:`cui-button-small ml-auto shrink-0`,label:T(U)?i.$t(`views.settings.notifications.resync`):i.$t(`views.settings.notifications.sync`),onClick:Ht},null,8,[`severity`,`loading`,`label`])])):T(N)&&T(B).enabled?(u(),h(`div`,Ce,[m(`div`,we,[m(`label`,Te,l(i.$t(`views.settings.notifications.this_device`)),1),_(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.this_device_desktop`)),1)]),_:1})]),_(p,{"model-value":T(G),loading:T(K),class:`ml-auto shrink-0`,"onUpdate:modelValue":Vt},null,8,[`model-value`,`loading`])])):C(``,!0),T(B).enabled?(u(),h(`div`,Ee,[m(`div`,De,[m(`div`,Oe,[m(`label`,ke,l(i.$t(`views.settings.notifications.quiet_hours`)),1),_(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.quiet_hours_info`)),1)]),_:1})]),_(p,{"model-value":!!T(B).quietHours,class:`ml-auto shrink-0`,"onUpdate:modelValue":kt},null,8,[`model-value`])]),T(B).quietHours?(u(),h(`div`,Ae,[m(`div`,je,[m(`label`,Me,l(i.$t(`views.settings.notifications.from`)),1),_(b,{"input-id":`qh-from`,"model-value":T(Et),"time-only":``,"show-icon":``,"icon-display":`input`,class:`w-full`,"onUpdate:modelValue":a[0]||=e=>jt(`from`,e)},null,8,[`model-value`])]),m(`div`,Ne,[m(`label`,Pe,l(i.$t(`views.settings.notifications.to`)),1),_(b,{"input-id":`qh-to`,"model-value":T(Dt),"time-only":``,"show-icon":``,"icon-display":`input`,class:`w-full`,"onUpdate:modelValue":a[1]||=e=>jt(`to`,e)},null,8,[`model-value`])]),m(`div`,Fe,[m(`label`,Ie,l(i.$t(`views.settings.notifications.timezone`)),1),_(S,{id:`qh-tz`,modelValue:T(B).quietHours.timezone,"onUpdate:modelValue":a[2]||=e=>T(B).quietHours.timezone=e,placeholder:T(z)},null,8,[`modelValue`,`placeholder`])])])):C(``,!0)])):C(``,!0)],64)):C(``,!0)])]),_:1})]),T(X)&&T(dt)?(u(),h(`div`,Le,[m(`span`,Re,l(i.$t(`views.settings.notifications.system_notifications`)),1),_(w,{class:`cui-card`},{content:c(()=>[m(`div`,ze,[m(`span`,Be,l(i.$t(`views.settings.notifications.system_notifications_info`)),1),T(bt)&&!T(L)?(u(),h(`div`,Ve,[_(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):T(L)?.system?.length?(u(),h(`div`,Ue,[(u(!0),h(x,null,f(T(L).system,(e,t)=>(u(),h(`div`,{key:e.type},[m(`div`,We,[m(`div`,Ge,[m(`label`,Ke,l(It(e)),1),e.description?(u(),y(s,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(e.description),1)]),_:2},1024)):C(``,!0)]),_(p,{"model-value":Mt(e.type),class:`ml-auto shrink-0`,"onUpdate:modelValue":t=>Nt(e.type,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),t<T(L).system.length-1?(u(),y(E,{key:0,class:`my-2`})):C(``,!0)]))),128))])):(u(),h(`div`,He,l(i.$t(`views.settings.notifications.no_system_types`)),1))])]),_:1})])):C(``,!0),T(X)?(u(),h(`div`,qe,[m(`span`,Je,l(i.$t(`views.settings.notifications.plugin_notifications`)),1),_(w,{class:`cui-card`},{content:c(()=>[m(`div`,Ye,[m(`span`,Xe,l(i.$t(`views.settings.notifications.plugin_notifications_info`)),1),T(bt)&&!T(L)?(u(),h(`div`,Ze,[_(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):T(L)?.plugins?.length?(u(),h(`div`,$e,[(u(!0),h(x,null,f(T(L).plugins,(e,t)=>(u(),h(`div`,{key:e.id},[m(`div`,et,[m(`div`,tt,[m(`label`,nt,l(e.name),1)]),_(p,{"model-value":Pt(e.id),class:`ml-auto shrink-0`,"onUpdate:modelValue":t=>Ft(e.id,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),t<T(L).plugins.length-1?(u(),y(E,{key:0,class:`my-2`})):C(``,!0)]))),128))])):(u(),h(`div`,Qe,l(i.$t(`views.settings.notifications.no_plugin_sources`)),1))])]),_:1})])):C(``,!0),T(X)?(u(),h(`div`,rt,[m(`span`,it,l(i.$t(`views.settings.notifications.devices`)),1),_(w,{class:`cui-card`},{content:c(()=>[m(`div`,at,[m(`span`,ot,l(i.$t(`views.settings.notifications.devices_info`)),1),T(yt)&&!T(I)?(u(),h(`div`,st,[_(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):T(I)?.length?(u(),y(A,{key:2,value:T(I),"striped-rows":``},{default:c(()=>[_(D,{field:`name`,header:i.$t(`views.settings.notifications.col_name`)},{body:c(({data:e})=>[_(S,{"model-value":T(J)[e.id]??e.name,disabled:T(Y)===e.id,class:`w-full max-w-xs min-w-[150px]`,"onUpdate:modelValue":t=>T(J)[e.id]=t??``,onBlur:t=>Wt(e),onKeyup:ie(t=>Wt(e),[`enter`])},null,8,[`model-value`,`disabled`,`onUpdate:modelValue`,`onBlur`,`onKeyup`])]),_:1},8,[`header`]),_(D,{field:`pluginName`,header:i.$t(`views.settings.notifications.col_plugin`)},{body:c(({data:e})=>[_(O,{label:e.pluginName,class:`text-xs`},null,8,[`label`])]),_:1},8,[`header`]),_(D,{field:`active`,header:i.$t(`views.settings.notifications.col_active`),style:{width:`7rem`}},{body:c(({data:e})=>[_(p,{"model-value":e.active,loading:T(Y)===e.id,"onUpdate:modelValue":t=>Gt(e.id,t)},null,8,[`model-value`,`loading`,`onUpdate:modelValue`])]),_:1},8,[`header`]),_(D,{field:`actions`,header:``,style:{width:`6rem`}},{body:c(({data:e})=>[re((u(),y(g,{severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,loading:T(q)===e.id,onClick:t=>Ut(e.id)},{icon:c(()=>[_(k,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[j,{value:i.$t(`views.settings.notifications.revoke`)}]])]),_:1})]),_:1},8,[`value`])):(u(),h(`div`,ct,l(i.$t(`views.settings.notifications.no_devices`)),1))])]),_:1})])):C(``,!0),T(B)&&T(Tt)?(u(),h(`div`,lt,[_(g,{severity:`secondary`,outlined:``,class:`cui-button-medium`,disabled:T(Z),label:i.$t(`views.settings.notifications.reset`),onClick:Ot},null,8,[`disabled`,`label`]),_(g,{severity:`success`,class:`cui-button-medium`,loading:T(Z),label:i.$t(`views.settings.notifications.save`),onClick:Lt},null,8,[`loading`,`label`])])):C(``,!0)])])}}});export{A as default};
1
+ import{Bt as e,F as t,It as n,Kt as r,L as ee,Vr as i,q as te}from"./vendor-cameraui-DTALowLr.js";import{Er as a,pr as o,yn as s}from"./api-C7-TgfI0.js";import{$n as c,Bn as ne,Cr as l,In as u,Pn as d,Rn as f,Xn as p,cn as m,dn as h,dr as g,er as re,gn as _,hn as v,ln as y,lr as b,rn as x,sn as S,tn as ie,un as C,vn as w,yr as T}from"./vendor-CFZm55ei.js";import{i as E}from"./intercomService-DyUZK0Im.js";import{K as ae,S as oe,T as se,U as ce,z as le}from"./vendor-primevue-CpTHHdUJ.js";import{t as D}from"./notifications-B8VdKX2U.js";import{t as O}from"./usePushRegistration-MBn4GqtF.js";import{t as ue}from"./delete-rtnOkwr8.js";import{t as de}from"./CuiDataTable-C8ZywwaZ.js";import{t as k}from"./usePermissions-MJCC2mYf.js";var fe={class:`flex flex-col w-full gap-6`},pe={class:`card-title`},me={class:`flex flex-col gap-6`},he={class:`text-sm`},ge={key:1,class:`flex items-center justify-center py-8`},_e={class:`flex items-center gap-4`},ve={class:`flex flex-col field-switch-gap`},ye={class:`cui-label-switch`},be={key:0,class:`flex items-center gap-4`},xe={class:`flex flex-col field-switch-gap min-w-0`},Se={class:`cui-label-switch`},Ce={key:1,class:`flex items-center gap-4`},we={class:`flex flex-col field-switch-gap min-w-0`},Te={class:`cui-label-switch`},Ee={key:2,class:`flex flex-col gap-2`},De={class:`flex items-center gap-4`},Oe={class:`flex flex-col field-switch-gap`},ke={class:`cui-label-switch`},Ae={key:0,class:`grid grid-cols-1 sm:grid-cols-3 gap-3 mt-2`},je={class:`flex flex-col field-gap`},Me={for:`qh-from`,class:`cui-label`},Ne={class:`flex flex-col field-gap`},Pe={for:`qh-to`,class:`cui-label`},Fe={class:`flex flex-col field-gap`},Ie={for:`qh-tz`,class:`cui-label`},Le={key:0},Re={class:`card-title`},ze={class:`flex flex-col gap-6`},Be={class:`text-sm`},Ve={key:0,class:`flex items-center justify-center py-8`},He={key:1,class:`text-sm text-muted text-center py-8`},Ue={key:2,class:`flex flex-col gap-3`},We={class:`flex items-center gap-4`},Ge={class:`flex flex-col field-switch-gap`},Ke={class:`cui-label-switch`},qe={key:1},Je={class:`card-title`},Ye={class:`flex flex-col gap-6`},Xe={class:`text-sm`},Ze={key:0,class:`flex items-center justify-center py-8`},Qe={key:1,class:`text-sm text-muted text-center py-8`},$e={key:2,class:`flex flex-col gap-3`},et={class:`flex items-center gap-4`},tt={class:`flex flex-col field-switch-gap`},nt={class:`cui-label-switch`},rt={key:2},it={class:`card-title`},at={class:`flex flex-col gap-6`},ot={class:`text-sm`},st={key:0,class:`flex items-center justify-center py-8`},ct={key:1,class:`text-sm text-muted text-center py-8`},lt={key:3,class:`flex justify-end gap-2`},A=w({__name:`SettingsNotifications`,setup(w){let A=new D,{t:j,te:ut}=i(),M=a(),dt=s(void 0,`admin`),{registerForPush:ft,forgetIfThisDevice:pt,getSyncState:mt,restoreMarker:ht}=O(),{isElectronApp:N,electron:P}=E(),{states:gt,refresh:_t}=k(),{data:F,isLoading:vt}=A.getSettingsQuery(),{data:I,isLoading:yt}=A.listDevicesQuery(()=>!0),{data:L,isLoading:bt}=A.listSourcesQuery(),{mutate:xt,isPending:St}=A.setSettingsQuery(),{mutateAsync:Ct}=A.setSettingsQuerySilent(),{mutate:wt}=A.revokeDeviceQuery(),{mutate:R}=A.updateDeviceQuery(),z=Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`,B=g(null),V=g(``),H=g(!1),U=g(!1),W=g(!1),G=g(!0),K=g(!1),q=g(null),J=b({}),Y=g(null),Tt=S(()=>!!B.value&&JSON.stringify(B.value)!==V.value),X=S(()=>!!B.value?.enabled),Z=S(()=>St.value),Et=S(()=>$(B.value?.quietHours?.from)),Dt=S(()=>$(B.value?.quietHours?.to));function Q(e){e&&(B.value=JSON.parse(JSON.stringify(e)),V.value=JSON.stringify(e))}function Ot(){Q(F.value)}function kt(e){B.value&&(e?B.value.quietHours={from:`22:00`,to:`07:00`,timezone:z}:delete B.value.quietHours)}function $(e){if(!e)return null;let[t,n]=e.split(`:`).map(Number);if(!Number.isFinite(t)||!Number.isFinite(n))return null;let r=new Date;return r.setHours(t,n,0,0),r}function At(e){return e?`${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}`:`00:00`}function jt(e,t){B.value?.quietHours&&(B.value.quietHours[e]=At(t))}function Mt(e){return B.value?.systemTypes?.[e]!==!1}function Nt(e,t){B.value&&(B.value.systemTypes||(B.value.systemTypes={}),t?delete B.value.systemTypes[e]:B.value.systemTypes[e]=!1)}function Pt(e){return B.value?.sources?.[e]!==!1}function Ft(e,t){B.value&&(B.value.sources||(B.value.sources={}),t?delete B.value.sources[e]:B.value.sources[e]=!1)}function It(e){let t=`views.settings.notifications.system_types.${e.type.replaceAll(`.`,`_`)}`;return ut(t)?j(t):e.label}function Lt(){B.value&&xt({settings:B.value},{onSuccess:e=>Q(e)})}async function Rt(e){if(B.value&&F.value){H.value=!0;try{Q(await Ct({settings:{...F.value,enabled:e}}))}catch(e){M.add({severity:`error`,detail:e,life:3e3})}finally{H.value=!1}}}async function zt(){let e=o(),t=e?await mt(e,I.value):{status:`unknown`};U.value=t.status===`registered`,t.status===`registered`&&t.device&&e&&await ht(e,t.device.id)}async function Bt(){if(N&&P)try{G.value=await P.invoke(`get-desktop-notifications`)}catch{}}async function Vt(e){if(P){K.value=!0;try{G.value=await P.invoke(`set-desktop-notifications`,e)}catch(e){M.add({severity:`error`,detail:e,life:3e3})}finally{K.value=!1}}}async function Ht(){W.value=!0;try{await ft(),await zt(),await A.queryClient.invalidateQueries({queryKey:[`notifications`,`devices`]})}catch(e){M.add({severity:`error`,detail:e,life:3e3})}finally{W.value=!1}}function Ut(e){q.value=e;let t=o();wt({deviceId:e},{onSuccess:async()=>{t&&await pt(t,e),zt()},onSettled:()=>q.value=null})}function Wt(e){let t=J[e.id];if(t==null)return;let n=t.trim();if(!n||n===e.name){delete J[e.id];return}Y.value=e.id,R({deviceId:e.id,patch:{name:n}},{onSuccess:()=>delete J[e.id],onSettled:()=>Y.value=null})}function Gt(e,t){Y.value=e,R({deviceId:e,patch:{active:t}},{onSettled:()=>Y.value=null})}return p(F,Q,{immediate:!0}),p(I,()=>!1,{immediate:!0}),d(()=>{N&&Bt(),_t()}),(i,a)=>{let o=ne(`RouterLink`),s=le,d=n,p=ae,g=e,b=t,S=ee,w=te,E=ce,D=oe,O=se,k=ue,A=de,j=r;return u(),h(`div`,null,[m(`div`,fe,[m(`div`,null,[m(`span`,pe,l(i.$t(`views.settings.notifications.general`)),1),_(w,{class:`cui-card`},{content:c(()=>[m(`div`,me,[m(`span`,he,l(i.$t(`views.settings.notifications.general_info`)),1),T(gt).notifications===`denied`?(u(),y(s,{key:0,severity:`warn`,size:`small`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.os_permission_denied`))+` `,1),_(o,{to:`/settings/permissions`,class:`underline`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.os_permission_link`)),1)]),_:1})]),_:1})):C(``,!0),T(vt)&&!T(B)?(u(),h(`div`,ge,[_(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):T(B)?(u(),h(x,{key:2},[m(`div`,_e,[m(`div`,ve,[m(`label`,ye,l(i.$t(`views.settings.notifications.enable`)),1),_(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.enable_info`)),1)]),_:1})]),_(p,{"model-value":T(B).enabled,loading:T(H),class:`ml-auto shrink-0`,"onUpdate:modelValue":Rt},null,8,[`model-value`,`loading`])]),T(!1)&&T(B).enabled?(u(),h(`div`,be,[m(`div`,xe,[m(`label`,Se,l(i.$t(`views.settings.notifications.this_device`)),1),_(s,{severity:T(U)?`secondary`:`warn`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(T(U)?i.$t(`views.settings.notifications.this_device_synced`):i.$t(`views.settings.notifications.this_device_unsynced`)),1)]),_:1},8,[`severity`])]),_(g,{severity:T(U)?`secondary`:void 0,loading:T(W),class:`cui-button-small ml-auto shrink-0`,label:T(U)?i.$t(`views.settings.notifications.resync`):i.$t(`views.settings.notifications.sync`),onClick:Ht},null,8,[`severity`,`loading`,`label`])])):T(N)&&T(B).enabled?(u(),h(`div`,Ce,[m(`div`,we,[m(`label`,Te,l(i.$t(`views.settings.notifications.this_device`)),1),_(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.this_device_desktop`)),1)]),_:1})]),_(p,{"model-value":T(G),loading:T(K),class:`ml-auto shrink-0`,"onUpdate:modelValue":Vt},null,8,[`model-value`,`loading`])])):C(``,!0),T(B).enabled?(u(),h(`div`,Ee,[m(`div`,De,[m(`div`,Oe,[m(`label`,ke,l(i.$t(`views.settings.notifications.quiet_hours`)),1),_(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(i.$t(`views.settings.notifications.quiet_hours_info`)),1)]),_:1})]),_(p,{"model-value":!!T(B).quietHours,class:`ml-auto shrink-0`,"onUpdate:modelValue":kt},null,8,[`model-value`])]),T(B).quietHours?(u(),h(`div`,Ae,[m(`div`,je,[m(`label`,Me,l(i.$t(`views.settings.notifications.from`)),1),_(b,{"input-id":`qh-from`,"model-value":T(Et),"time-only":``,"show-icon":``,"icon-display":`input`,class:`w-full`,"onUpdate:modelValue":a[0]||=e=>jt(`from`,e)},null,8,[`model-value`])]),m(`div`,Ne,[m(`label`,Pe,l(i.$t(`views.settings.notifications.to`)),1),_(b,{"input-id":`qh-to`,"model-value":T(Dt),"time-only":``,"show-icon":``,"icon-display":`input`,class:`w-full`,"onUpdate:modelValue":a[1]||=e=>jt(`to`,e)},null,8,[`model-value`])]),m(`div`,Fe,[m(`label`,Ie,l(i.$t(`views.settings.notifications.timezone`)),1),_(S,{id:`qh-tz`,modelValue:T(B).quietHours.timezone,"onUpdate:modelValue":a[2]||=e=>T(B).quietHours.timezone=e,placeholder:T(z)},null,8,[`modelValue`,`placeholder`])])])):C(``,!0)])):C(``,!0)],64)):C(``,!0)])]),_:1})]),T(X)&&T(dt)?(u(),h(`div`,Le,[m(`span`,Re,l(i.$t(`views.settings.notifications.system_notifications`)),1),_(w,{class:`cui-card`},{content:c(()=>[m(`div`,ze,[m(`span`,Be,l(i.$t(`views.settings.notifications.system_notifications_info`)),1),T(bt)&&!T(L)?(u(),h(`div`,Ve,[_(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):T(L)?.system?.length?(u(),h(`div`,Ue,[(u(!0),h(x,null,f(T(L).system,(e,t)=>(u(),h(`div`,{key:e.type},[m(`div`,We,[m(`div`,Ge,[m(`label`,Ke,l(It(e)),1),e.description?(u(),y(s,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:c(()=>[v(l(e.description),1)]),_:2},1024)):C(``,!0)]),_(p,{"model-value":Mt(e.type),class:`ml-auto shrink-0`,"onUpdate:modelValue":t=>Nt(e.type,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),t<T(L).system.length-1?(u(),y(E,{key:0,class:`my-2`})):C(``,!0)]))),128))])):(u(),h(`div`,He,l(i.$t(`views.settings.notifications.no_system_types`)),1))])]),_:1})])):C(``,!0),T(X)?(u(),h(`div`,qe,[m(`span`,Je,l(i.$t(`views.settings.notifications.plugin_notifications`)),1),_(w,{class:`cui-card`},{content:c(()=>[m(`div`,Ye,[m(`span`,Xe,l(i.$t(`views.settings.notifications.plugin_notifications_info`)),1),T(bt)&&!T(L)?(u(),h(`div`,Ze,[_(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):T(L)?.plugins?.length?(u(),h(`div`,$e,[(u(!0),h(x,null,f(T(L).plugins,(e,t)=>(u(),h(`div`,{key:e.id},[m(`div`,et,[m(`div`,tt,[m(`label`,nt,l(e.name),1)]),_(p,{"model-value":Pt(e.id),class:`ml-auto shrink-0`,"onUpdate:modelValue":t=>Ft(e.id,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),t<T(L).plugins.length-1?(u(),y(E,{key:0,class:`my-2`})):C(``,!0)]))),128))])):(u(),h(`div`,Qe,l(i.$t(`views.settings.notifications.no_plugin_sources`)),1))])]),_:1})])):C(``,!0),T(X)?(u(),h(`div`,rt,[m(`span`,it,l(i.$t(`views.settings.notifications.devices`)),1),_(w,{class:`cui-card`},{content:c(()=>[m(`div`,at,[m(`span`,ot,l(i.$t(`views.settings.notifications.devices_info`)),1),T(yt)&&!T(I)?(u(),h(`div`,st,[_(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):T(I)?.length?(u(),y(A,{key:2,value:T(I),"striped-rows":``},{default:c(()=>[_(D,{field:`name`,header:i.$t(`views.settings.notifications.col_name`)},{body:c(({data:e})=>[_(S,{"model-value":T(J)[e.id]??e.name,disabled:T(Y)===e.id,class:`w-full max-w-xs min-w-[150px]`,"onUpdate:modelValue":t=>T(J)[e.id]=t??``,onBlur:t=>Wt(e),onKeyup:ie(t=>Wt(e),[`enter`])},null,8,[`model-value`,`disabled`,`onUpdate:modelValue`,`onBlur`,`onKeyup`])]),_:1},8,[`header`]),_(D,{field:`pluginName`,header:i.$t(`views.settings.notifications.col_plugin`)},{body:c(({data:e})=>[_(O,{label:e.pluginName,class:`text-xs`},null,8,[`label`])]),_:1},8,[`header`]),_(D,{field:`active`,header:i.$t(`views.settings.notifications.col_active`),style:{width:`7rem`}},{body:c(({data:e})=>[_(p,{"model-value":e.active,loading:T(Y)===e.id,"onUpdate:modelValue":t=>Gt(e.id,t)},null,8,[`model-value`,`loading`,`onUpdate:modelValue`])]),_:1},8,[`header`]),_(D,{field:`actions`,header:``,style:{width:`6rem`}},{body:c(({data:e})=>[re((u(),y(g,{severity:`danger`,text:``,rounded:``,class:`cui-icon-md`,loading:T(q)===e.id,onClick:t=>Ut(e.id)},{icon:c(()=>[_(k,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[j,{value:i.$t(`views.settings.notifications.revoke`)}]])]),_:1})]),_:1},8,[`value`])):(u(),h(`div`,ct,l(i.$t(`views.settings.notifications.no_devices`)),1))])]),_:1})])):C(``,!0),T(B)&&T(Tt)?(u(),h(`div`,lt,[_(g,{severity:`secondary`,outlined:``,class:`cui-button-medium`,disabled:T(Z),label:i.$t(`views.settings.notifications.reset`),onClick:Ot},null,8,[`disabled`,`label`]),_(g,{severity:`success`,class:`cui-button-medium`,loading:T(Z),label:i.$t(`views.settings.notifications.save`),onClick:Lt},null,8,[`loading`,`label`])])):C(``,!0)])])}}});export{A as default};
@@ -1 +1 @@
1
- import{Bt as e,ai as t,q as n}from"./vendor-cameraui-D0VXSxSF.js";import{$n as r,Cr as i,In as a,Pn as o,Rn as s,cn as c,dn as l,dr as u,gn as d,hn as f,ln as p,rn as m,un as h,vn as g,yr as _}from"./vendor-CP-WYrgy.js";import{a as v,z as y}from"./vendor-primevue-LZEE4d1W.js";import{t as b}from"./usePermissions-B8pw9jk1.js";var x={class:`flex flex-col w-full gap-6`},S={class:`card-title`},C={class:`flex flex-col gap-6`},w={class:`text-sm`},T={class:`flex flex-col field-switch-gap min-w-0`},E={class:`cui-label-switch`},D={class:`flex items-center gap-2 ml-auto shrink-0`},O=g({__name:`SettingsPermissions`,setup(g){let{states:O,canOpenSettings:k,refresh:A,request:j,openSettings:M}=b(),N=[{name:`microphone`},{name:`location`},{name:`notifications`}],P=u(null);function F(e){return e===`granted`?`success`:e===`denied`?`danger`:e===`prompt`?`warn`:`secondary`}async function I(e){P.value=e;try{await j(e)}finally{P.value=null}}return t(document,`visibilitychange`,()=>{document.visibilityState===`visible`&&A()}),o(()=>{A()}),(t,o)=>{let u=y,g=v,b=e,A=n;return a(),l(`div`,null,[c(`div`,x,[c(`div`,null,[c(`span`,S,i(t.$t(`views.settings.permissions.general`)),1),d(A,{class:`cui-card`},{content:r(()=>[c(`div`,C,[c(`span`,w,i(t.$t(`views.settings.permissions.general_info`)),1),(a(),l(m,null,s(N,e=>c(`div`,{key:e.name,class:`flex items-center gap-4`},[c(`div`,T,[c(`label`,E,i(t.$t(`views.settings.permissions.${e.name}`)),1),d(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:r(()=>[f(i(t.$t(`views.settings.permissions.${e.name}_info`)),1)]),_:2},1024),_(O)[e.name]===`denied`&&!_(k)?(a(),p(u,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:r(()=>[f(i(t.$t(`views.settings.permissions.browser_hint`)),1)]),_:1})):h(``,!0)]),c(`div`,D,[d(g,{severity:F(_(O)[e.name]),value:t.$t(`views.settings.permissions.state_${_(O)[e.name]}`)},null,8,[`severity`,`value`]),_(O)[e.name]===`prompt`||_(O)[e.name]===`unknown`?(a(),p(b,{key:0,loading:_(P)===e.name,class:`cui-button-small`,label:t.$t(`views.settings.permissions.request`),onClick:t=>I(e.name)},null,8,[`loading`,`label`,`onClick`])):_(O)[e.name]===`denied`&&_(k)?(a(),p(b,{key:1,severity:`secondary`,class:`cui-button-small`,label:t.$t(`views.settings.permissions.open_settings`),onClick:_(M)},null,8,[`label`,`onClick`])):h(``,!0)])])),64))])]),_:1})])])])}}});export{O as default};
1
+ import{Bt as e,ai as t,q as n}from"./vendor-cameraui-DTALowLr.js";import{$n as r,Cr as i,In as a,Pn as o,Rn as s,cn as c,dn as l,dr as u,gn as d,hn as f,ln as p,rn as m,un as h,vn as g,yr as _}from"./vendor-CFZm55ei.js";import{a as v,z as y}from"./vendor-primevue-CpTHHdUJ.js";import{t as b}from"./usePermissions-MJCC2mYf.js";var x={class:`flex flex-col w-full gap-6`},S={class:`card-title`},C={class:`flex flex-col gap-6`},w={class:`text-sm`},T={class:`flex flex-col field-switch-gap min-w-0`},E={class:`cui-label-switch`},D={class:`flex items-center gap-2 ml-auto shrink-0`},O=g({__name:`SettingsPermissions`,setup(g){let{states:O,canOpenSettings:k,refresh:A,request:j,openSettings:M}=b(),N=[{name:`microphone`},{name:`location`},{name:`notifications`}],P=u(null);function F(e){return e===`granted`?`success`:e===`denied`?`danger`:e===`prompt`?`warn`:`secondary`}async function I(e){P.value=e;try{await j(e)}finally{P.value=null}}return t(document,`visibilitychange`,()=>{document.visibilityState===`visible`&&A()}),o(()=>{A()}),(t,o)=>{let u=y,g=v,b=e,A=n;return a(),l(`div`,null,[c(`div`,x,[c(`div`,null,[c(`span`,S,i(t.$t(`views.settings.permissions.general`)),1),d(A,{class:`cui-card`},{content:r(()=>[c(`div`,C,[c(`span`,w,i(t.$t(`views.settings.permissions.general_info`)),1),(a(),l(m,null,s(N,e=>c(`div`,{key:e.name,class:`flex items-center gap-4`},[c(`div`,T,[c(`label`,E,i(t.$t(`views.settings.permissions.${e.name}`)),1),d(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:r(()=>[f(i(t.$t(`views.settings.permissions.${e.name}_info`)),1)]),_:2},1024),_(O)[e.name]===`denied`&&!_(k)?(a(),p(u,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:r(()=>[f(i(t.$t(`views.settings.permissions.browser_hint`)),1)]),_:1})):h(``,!0)]),c(`div`,D,[d(g,{severity:F(_(O)[e.name]),value:t.$t(`views.settings.permissions.state_${_(O)[e.name]}`)},null,8,[`severity`,`value`]),_(O)[e.name]===`prompt`||_(O)[e.name]===`unknown`?(a(),p(b,{key:0,loading:_(P)===e.name,class:`cui-button-small`,label:t.$t(`views.settings.permissions.request`),onClick:t=>I(e.name)},null,8,[`loading`,`label`,`onClick`])):_(O)[e.name]===`denied`&&_(k)?(a(),p(b,{key:1,severity:`secondary`,class:`cui-button-small`,label:t.$t(`views.settings.permissions.open_settings`),onClick:_(M)},null,8,[`label`,`onClick`])):h(``,!0)])])),64))])]),_:1})])])])}}});export{O as default};
@@ -1 +1 @@
1
- import{At as e,Et as t,It as n,S as r,Vr as i,q as ee}from"./vendor-cameraui-D0VXSxSF.js";import{Er as a}from"./api-vegsDz6n.js";import{$n as o,Cr as s,In as c,Pn as l,Xn as u,cn as d,dn as f,dr as p,gn as m,hn as h,ln as g,sn as _,un as v,vn as y,yr as b}from"./vendor-CP-WYrgy.js";import{t as x}from"./alert-outline-8Rb4Kt7A.js";import{p as S}from"./eventIcons-BPQ-zSnz.js";import{z as C}from"./vendor-primevue-LZEE4d1W.js";import{t as te}from"./CuiSchema-Dh8Mu4BK.js";import{t as w}from"./CuiPluginOAuthButton-D-Y9KYJz.js";var T={class:`flex flex-col w-full gap-6`},E={key:0,class:`cui-banner cui-banner-error`},D={key:1,class:`cui-banner cui-banner-warn`},O={key:2,class:`cui-banner cui-banner-warn`},k={class:`card-title`},A={class:`flex items-center justify-between gap-4`},j={class:`min-w-0`},M={class:`text-sm`},N={class:`text-xs text-muted-color mt-1`},P={key:5},F={class:`card-title`},I={key:0,class:`flex items-center justify-center py-8`},L={key:1,class:`text-sm text-muted text-center py-8`},R=`@camera.ui/camera-ui-nvr`,z=y({__name:`SettingsRecordings`,setup(y){let{t:z}=i(),B=a(),{stats:V,isLoading:H,refresh:U}=r(),{state:W,refresh:G}=t(R),{isConnected:K,isLoading:q,config:J,getConfig:Y,setConfig:X,setValue:Z,submitValue:Q}=e(R),$=p(!1),ne=_(()=>({License:z(`views.settings.recordings.group_info_license`),Storage:z(`views.settings.recordings.group_info_storage`),"Face Recognition":z(`views.settings.recordings.group_info_faces`),GenAI:z(`views.settings.recordings.group_info_genai`),Moments:z(`views.settings.recordings.group_info_moments`),Episodes:z(`views.settings.recordings.group_info_episodes`)})),re=_(()=>{switch(W.value.status){case`connected`:return z(`components.oauth.connected_as`,{email:W.value.userEmail||`—`});case`awaiting_user`:case`polling`:return z(`components.oauth.tooltip_authorizing`);case`error`:return z(`components.oauth.error_generic`);default:return z(`views.settings.recordings.license_disconnected`)}});async function ie(e){try{await Z(e.key,void 0),B.add({severity:`success`,detail:z(`components.toast.config_updated`),life:3e3}),U()}catch(e){B.add({severity:`error`,detail:e,life:3e3})}}async function ae(e){try{let t=await Q(e.key,e.payload);t?.toast?B.add({severity:t.toast.type,detail:t.toast.message,life:3e3}):B.add({severity:`success`,detail:z(`components.toast.config_updated`),life:3e3}),U()}catch(e){B.add({severity:`error`,detail:e,life:3e3})}}async function oe(e){try{await X(e),B.add({severity:`success`,detail:z(`components.toast.config_updated`),life:3e3}),U()}catch(e){B.add({severity:`error`,detail:e,life:3e3})}}return u(K,async e=>{e&&await Y()},{immediate:!0}),l(async()=>{try{await G()}finally{$.value=!0}}),(e,t)=>{let r=S,i=x,a=C,l=ee,u=n;return c(),f(`div`,null,[d(`div`,T,[b(V)&&b(V).paused===!0?(c(),f(`div`,E,[m(r,{class:`shrink-0 w-5 h-5`}),d(`span`,null,s(e.$t(`views.settings.recordings.disk_critical`)),1)])):b(V)&&b(V).diskFreePercent>0&&b(V).diskFreePercent<8?(c(),f(`div`,D,[m(i,{class:`shrink-0 w-5 h-5`}),d(`span`,null,s(e.$t(`views.settings.recordings.disk_warning`)),1)])):v(``,!0),b(V)&&b(V).smallVolume?(c(),f(`div`,O,[m(i,{class:`shrink-0 w-5 h-5`}),d(`span`,null,s(e.$t(`views.settings.recordings.disk_small_volume`)),1)])):v(``,!0),b($)&&b(W).status!==`connected`?(c(),g(a,{key:3,severity:`warn`,size:`small`},{default:o(()=>[h(s(e.$t(`views.settings.recordings.cloud_login_hint`)),1)]),_:1})):v(``,!0),d(`div`,null,[d(`span`,k,s(e.$t(`views.settings.recordings.license_title`)),1),m(l,{class:`cui-card`},{content:o(()=>[d(`div`,A,[d(`div`,j,[d(`p`,M,s(b(re)),1),d(`p`,N,s(e.$t(`views.settings.recordings.license_description`)),1)]),m(w,{"plugin-name":R,class:`flex-shrink-0`})])]),_:1})]),b(J)?(c(),g(te,{key:4,"schema-form":{schema:b(J).schema,config:b(J).config},loading:b(q),"groups-as-cards":``,"group-descriptions":b(ne),onOnAction:ie,onOnSubmit:ae,onOnFormSubmit:oe},null,8,[`schema-form`,`loading`,`group-descriptions`])):(c(),f(`div`,P,[d(`span`,F,s(e.$t(`views.settings.recordings.global_settings`)),1),m(l,{class:`cui-card`},{content:o(()=>[b(H)||b(q)?(c(),f(`div`,I,[m(u,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(c(),f(`div`,L,s(e.$t(`views.settings.recordings.not_available`)),1))]),_:1})]))])])}}});export{z as default};
1
+ import{At as e,Et as t,It as n,S as r,Vr as i,q as ee}from"./vendor-cameraui-DTALowLr.js";import{Er as a}from"./api-C7-TgfI0.js";import{$n as o,Cr as s,In as c,Pn as l,Xn as u,cn as d,dn as f,dr as p,gn as m,hn as h,ln as g,sn as _,un as v,vn as y,yr as b}from"./vendor-CFZm55ei.js";import{t as x}from"./alert-outline-DHaYL1DY.js";import{p as S}from"./eventIcons-CCFi3Fbj.js";import{z as C}from"./vendor-primevue-CpTHHdUJ.js";import{t as te}from"./CuiSchema-Cn5geGt7.js";import{t as w}from"./CuiPluginOAuthButton-mrm1vDAP.js";var T={class:`flex flex-col w-full gap-6`},E={key:0,class:`cui-banner cui-banner-error`},D={key:1,class:`cui-banner cui-banner-warn`},O={key:2,class:`cui-banner cui-banner-warn`},k={class:`card-title`},A={class:`flex items-center justify-between gap-4`},j={class:`min-w-0`},M={class:`text-sm`},N={class:`text-xs text-muted-color mt-1`},P={key:5},F={class:`card-title`},I={key:0,class:`flex items-center justify-center py-8`},L={key:1,class:`text-sm text-muted text-center py-8`},R=`@camera.ui/camera-ui-nvr`,z=y({__name:`SettingsRecordings`,setup(y){let{t:z}=i(),B=a(),{stats:V,isLoading:H,refresh:U}=r(),{state:W,refresh:G}=t(R),{isConnected:K,isLoading:q,config:J,getConfig:Y,setConfig:X,setValue:Z,submitValue:Q}=e(R),$=p(!1),ne=_(()=>({License:z(`views.settings.recordings.group_info_license`),Storage:z(`views.settings.recordings.group_info_storage`),"Face Recognition":z(`views.settings.recordings.group_info_faces`),GenAI:z(`views.settings.recordings.group_info_genai`),Moments:z(`views.settings.recordings.group_info_moments`),Episodes:z(`views.settings.recordings.group_info_episodes`)})),re=_(()=>{switch(W.value.status){case`connected`:return z(`components.oauth.connected_as`,{email:W.value.userEmail||`—`});case`awaiting_user`:case`polling`:return z(`components.oauth.tooltip_authorizing`);case`error`:return z(`components.oauth.error_generic`);default:return z(`views.settings.recordings.license_disconnected`)}});async function ie(e){try{await Z(e.key,void 0),B.add({severity:`success`,detail:z(`components.toast.config_updated`),life:3e3}),U()}catch(e){B.add({severity:`error`,detail:e,life:3e3})}}async function ae(e){try{let t=await Q(e.key,e.payload);t?.toast?B.add({severity:t.toast.type,detail:t.toast.message,life:3e3}):B.add({severity:`success`,detail:z(`components.toast.config_updated`),life:3e3}),U()}catch(e){B.add({severity:`error`,detail:e,life:3e3})}}async function oe(e){try{await X(e),B.add({severity:`success`,detail:z(`components.toast.config_updated`),life:3e3}),U()}catch(e){B.add({severity:`error`,detail:e,life:3e3})}}return u(K,async e=>{e&&await Y()},{immediate:!0}),l(async()=>{try{await G()}finally{$.value=!0}}),(e,t)=>{let r=S,i=x,a=C,l=ee,u=n;return c(),f(`div`,null,[d(`div`,T,[b(V)&&b(V).paused===!0?(c(),f(`div`,E,[m(r,{class:`shrink-0 w-5 h-5`}),d(`span`,null,s(e.$t(`views.settings.recordings.disk_critical`)),1)])):b(V)&&b(V).diskFreePercent>0&&b(V).diskFreePercent<8?(c(),f(`div`,D,[m(i,{class:`shrink-0 w-5 h-5`}),d(`span`,null,s(e.$t(`views.settings.recordings.disk_warning`)),1)])):v(``,!0),b(V)&&b(V).smallVolume?(c(),f(`div`,O,[m(i,{class:`shrink-0 w-5 h-5`}),d(`span`,null,s(e.$t(`views.settings.recordings.disk_small_volume`)),1)])):v(``,!0),b($)&&b(W).status!==`connected`?(c(),g(a,{key:3,severity:`warn`,size:`small`},{default:o(()=>[h(s(e.$t(`views.settings.recordings.cloud_login_hint`)),1)]),_:1})):v(``,!0),d(`div`,null,[d(`span`,k,s(e.$t(`views.settings.recordings.license_title`)),1),m(l,{class:`cui-card`},{content:o(()=>[d(`div`,A,[d(`div`,j,[d(`p`,M,s(b(re)),1),d(`p`,N,s(e.$t(`views.settings.recordings.license_description`)),1)]),m(w,{"plugin-name":R,class:`flex-shrink-0`})])]),_:1})]),b(J)?(c(),g(te,{key:4,"schema-form":{schema:b(J).schema,config:b(J).config},loading:b(q),"groups-as-cards":``,"group-descriptions":b(ne),onOnAction:ie,onOnSubmit:ae,onOnFormSubmit:oe},null,8,[`schema-form`,`loading`,`group-descriptions`])):(c(),f(`div`,P,[d(`span`,F,s(e.$t(`views.settings.recordings.global_settings`)),1),m(l,{class:`cui-card`},{content:o(()=>[b(H)||b(q)?(c(),f(`div`,I,[m(u,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(c(),f(`div`,L,s(e.$t(`views.settings.recordings.not_available`)),1))]),_:1})]))])])}}});export{z as default};