@camera.ui/server 2.2.2 → 2.2.3

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 (398) hide show
  1. package/dist/interface/assets/{404-bSMSPWcp.js → 404-D0S6IGok.js} +1 -1
  2. package/dist/interface/assets/{About-DqMxC4AO.js → About-DAw9u8ZY.js} +1 -1
  3. package/dist/interface/assets/{Assistant-CIHF-bHs.js → Assistant-Gi6_YkEY.js} +1 -1
  4. package/dist/interface/assets/{Automation-CUDypjZw.js → Automation-6eFKPJPu.js} +3 -3
  5. package/dist/interface/assets/{AutomationImport-Cr14tF-Q.js → AutomationImport-95PfbPvG.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-BnZgfI9i.js → AutomationStore-BHxzzx7a.js} +2 -2
  7. package/dist/interface/assets/AutomationStoreDetail-DEVlRllt.js +2 -0
  8. package/dist/interface/assets/Automations-DEivoiS1.js +2 -0
  9. package/dist/interface/assets/Camera-B5l_gv7t.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-BK8TqHgA.js → CameraConsole-B8bBYQzk.js} +1 -1
  11. package/dist/interface/assets/Cameras-HblWPGCv.js +651 -0
  12. package/dist/interface/assets/Camview-DEKrbg5R.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-PfgVZa4M.js → CertificateUpload-CC6YtX7h.js} +1 -1
  14. package/dist/interface/assets/{Config-DapgreIX.js → Config-DQEaOnaN.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionAssistant-v0w4E-mE.js → ConfigActionAssistant-C_XRnBzo.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionCameraControl-fdrsnRyE.js → ConfigActionCameraControl-oRzM9rjX.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-C_dq3ozL.js → ConfigActionDelay-Dc-NZS5L.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-1hDI-38w.js → ConfigActionHttp-Nw0wt-JZ.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-DCF8qeg9.js → ConfigActionImageInput-Do60Upqm.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-XpVD7lFg.js → ConfigActionMqtt-BeQVgaGX.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-CB1ymMRz.js → ConfigActionNotification-BA0FjOWs.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-BfDtLS5h.js → ConfigActionNotificationControl-Ce3Kd_Xv.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-CMfXI1b3.js → ConfigActionOutput-ChiOMWDy.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-CZo6SudQ.js → ConfigActionPlugin-Cn3r0glk.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-CetFuASa.js → ConfigActionSensor-DkdBCu-6.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-BpPhHpIk.js → ConfigActionSnapshot-CLlaDFUV.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-SJomTISn.js → ConfigActionVariable-D4x3Luxl.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-ClTxvZJz.js → ConfigConditionIfElse-BpL8KZ5X.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-FbLmmHyP.js → ConfigConditionSensorState-CSQexUF_.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch--qAHkOdE.js → ConfigConditionSwitch-CB2J_5kr.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-BqjDUPVR.js → ConfigConditionTime-X9fsNsYu.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-B1dLcmSO.js → ConfigSensorValueInput-VPhPxrQl.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-CMZyEWui.js → ConfigTriggerDetection-Dhzng4X5.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerGeofence-B9JPVvhP.js → ConfigTriggerGeofence-Cm0CLNf5.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerManual-CSdF69jM.js → ConfigTriggerManual-CRi3rsgG.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-BzN7_xVm.js → ConfigTriggerMqtt-Ck__CWck.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-BK_Ogvxn.js → ConfigTriggerSchedule-C1PZrHEu.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-BaQklhHP.js → ConfigTriggerSensor-9xVgCtkn.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DIX95l0X.js → ConfigTriggerSystem-Denf1gkO.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-_EOJAgNk.js → ConfigTriggerWebhook-im24LkCn.js} +1 -1
  41. package/dist/interface/assets/Console-Q1HpmyO_.js +1 -0
  42. package/dist/interface/assets/CuiAssistantConversation-BxJf9sdu.js +5 -0
  43. package/dist/interface/assets/{CuiAssistantConversation-CWCLLi3b.css → CuiAssistantConversation-DmSdiv1b.css} +1 -1
  44. package/dist/interface/assets/{CuiAutomationRunsDialog-DpskKeEe.js → CuiAutomationRunsDialog-B3tJ-Cma.js} +1 -1
  45. package/dist/interface/assets/CuiBottomSheet-C37blNu-.js +1 -0
  46. package/dist/interface/assets/{CuiBottomSheet-Bg_AIuGY.js → CuiBottomSheet-kvvLw1MQ.js} +1 -1
  47. package/dist/interface/assets/CuiCameraPipCard-TVAf5ZYQ.js +1 -0
  48. package/dist/interface/assets/CuiCameraRecordings-C26rX8dh.css +1 -0
  49. package/dist/interface/assets/CuiCameraRecordings-IHg1dNf4.js +1 -0
  50. package/dist/interface/assets/CuiCameraShares-B5ghuJS-.js +1 -0
  51. package/dist/interface/assets/{CuiCameraTable-CyAYYPvd.js → CuiCameraTable-Y5XUkU7w.js} +2 -2
  52. package/dist/interface/assets/CuiCameraTable-xDZz7Wpe.js +1 -0
  53. package/dist/interface/assets/{CuiChartTable-BklHSjRr.js → CuiChartTable-CXdupaj5.js} +1 -1
  54. package/dist/interface/assets/CuiChartTable-DXY7rY3O.css +1 -0
  55. package/dist/interface/assets/{CuiConsole-4rDfDj0a.js → CuiConsole-5KgXSOS5.js} +2 -2
  56. package/dist/interface/assets/CuiDataTable-DPIbKnvU.css +1 -0
  57. package/dist/interface/assets/CuiDataTable-hArZWV9B.js +1 -0
  58. package/dist/interface/assets/CuiLightControl-MRpR0XIZ.js +1 -0
  59. package/dist/interface/assets/{CuiList-BafzuN0H.js → CuiList-D-l4HrBP.js} +1 -1
  60. package/dist/interface/assets/CuiPluginCard-whoQ5YHn.js +2 -0
  61. package/dist/interface/assets/{CuiPluginCategoryChip-B4w2DH_j.js → CuiPluginCategoryChip-CH53zk2o.js} +1 -1
  62. package/dist/interface/assets/{CuiPluginOAuthButton-C_jxPrPQ.js → CuiPluginOAuthButton-BBA0AzVO.js} +2 -2
  63. package/dist/interface/assets/{CuiPluginTrustBadge-pLnF2Ggn.js → CuiPluginTrustBadge-C0EX5aCI.js} +1 -1
  64. package/dist/interface/assets/{CuiQRCode-8Q6cFdfs.js → CuiQRCode-BRT0NO5c.js} +1 -1
  65. package/dist/interface/assets/CuiSchema-DBY1x1BT.js +1 -0
  66. package/dist/interface/assets/{CuiTopNavbarItem-BZXzuV42.js → CuiTopNavbarItem-CpMT8_0r.js} +1 -1
  67. package/dist/interface/assets/Faces-Dqi30qs9.js +1 -0
  68. package/dist/interface/assets/{FirstSteps-BNcAFp2c.js → FirstSteps-B8n4fGK3.js} +1 -1
  69. package/dist/interface/assets/Floorplan-ZHXNaZA8.js +1 -0
  70. package/dist/interface/assets/{Instances-DUWWy-El.js → Instances-DEj3gs6H.js} +1 -1
  71. package/dist/interface/assets/{Logs-7CxXc2Re.js → Logs-CwHvSKd6.js} +2 -2
  72. package/dist/interface/assets/Menu-C4BxUV0P.js +1 -0
  73. package/dist/interface/assets/Metrics-BCOE-rcw.js +9 -0
  74. package/dist/interface/assets/OAuthDeviceFlow-D6bjZOYS.js +1 -0
  75. package/dist/interface/assets/Plugin-ppCvxkl4.js +1 -0
  76. package/dist/interface/assets/{PluginConsole-BOaU7Ey0.js → PluginConsole-BP42Qpee.js} +1 -1
  77. package/dist/interface/assets/PluginDetail-BnX5lZGz.js +2 -0
  78. package/dist/interface/assets/{PluginSchema-BWlRMPo6.js → PluginSchema-uVKXzfo6.js} +1 -1
  79. package/dist/interface/assets/PluginSearch-C4MvWyLb.js +1 -0
  80. package/dist/interface/assets/PluginSearch-no79fTuf.js +2 -0
  81. package/dist/interface/assets/{PluginUpdateProgress-DFg14vV8.js → PluginUpdateProgress-73jprYHA.js} +1 -1
  82. package/dist/interface/assets/Plugins-DtEqS6_j.js +1 -0
  83. package/dist/interface/assets/{RecentEventsFilter-B6Ph-pxb.js → RecentEventsFilter-CtyCbt6Z.js} +1 -1
  84. package/dist/interface/assets/Recordings-DrcOsRLn.js +1 -0
  85. package/dist/interface/assets/{SensorEdit-DEenjJ8S.js → SensorEdit-D4-mMg8S.js} +1 -1
  86. package/dist/interface/assets/{SensorHistory-CU1Uwf5f.js → SensorHistory-C-X7VI-f.js} +1 -1
  87. package/dist/interface/assets/{Sensors-LnVLPDWf.js → Sensors-BJh8BkCR.js} +2 -2
  88. package/dist/interface/assets/{Settings-uk3RVXCS.js → Settings-B9CZvA-d.js} +1 -1
  89. package/dist/interface/assets/SettingsAccount-CkvScQmF.js +1 -0
  90. package/dist/interface/assets/SettingsAccount-D3zF2kLc.js +1 -0
  91. package/dist/interface/assets/{SettingsAppearance-CRYcal9v.js → SettingsAppearance-CbG8M38w.js} +1 -1
  92. package/dist/interface/assets/SettingsAppearance-ZHqNXXIL.js +1 -0
  93. package/dist/interface/assets/SettingsAssistant-BESab92C.css +1 -0
  94. package/dist/interface/assets/SettingsAssistant-DxYPnbms.js +1 -0
  95. package/dist/interface/assets/{SettingsBackup-CSvGqsru.js → SettingsBackup-DZBzUyQm.js} +1 -1
  96. package/dist/interface/assets/{SettingsList-BQR6jnP-.js → SettingsList-DFg8g7IM.js} +1 -1
  97. package/dist/interface/assets/SettingsMqtt-BeujOZkh.js +1 -0
  98. package/dist/interface/assets/{SettingsNotifications-8sSoP-8S.js → SettingsNotifications-DtSTE76r.js} +1 -1
  99. package/dist/interface/assets/{SettingsPermissions-D7kYdjfw.js → SettingsPermissions-CPOAefv0.js} +1 -1
  100. package/dist/interface/assets/{SettingsRecordings-DjLYqbKo.js → SettingsRecordings-ClAtT4Bh.js} +1 -1
  101. package/dist/interface/assets/SettingsRemote-58S4Thfp.js +2 -0
  102. package/dist/interface/assets/{SettingsSystem-BxQNJc8n.js → SettingsSystem-tTGpuiRW.js} +2 -2
  103. package/dist/interface/assets/SettingsUsers-D8b7I5c2.js +1 -0
  104. package/dist/interface/assets/{Terminal-Bsnvs8gs.js → Terminal-1_Fi0VW-.js} +2 -2
  105. package/dist/interface/assets/Training-CQHfQjUP.css +1 -0
  106. package/dist/interface/assets/Training-DfOqDTHJ.js +1 -0
  107. package/dist/interface/assets/{Updates-Dsn_fJ-N.js → Updates-BW0p7Wc5.js} +1 -1
  108. package/dist/interface/assets/{VariableInput-DCWiIgaZ.js → VariableInput-sqnLuk6S.js} +1 -1
  109. package/dist/interface/assets/{VariableSuggestions-BhIlXJ6r.js → VariableSuggestions-3pbnxhyT.js} +1 -1
  110. package/dist/interface/assets/{VersionsHandler-DM_Jf4EA.js → VersionsHandler-CWmjDygB.js} +1 -1
  111. package/dist/interface/assets/{VirtualSensorCreate-Q4kd0dfE.js → VirtualSensorCreate-BzmFlvYD.js} +1 -1
  112. package/dist/interface/assets/Workers-Dm9o2wMo.js +2 -0
  113. package/dist/interface/assets/{api-BKiE8A_V.css → api-B6TtU9Ew.css} +1 -1
  114. package/dist/interface/assets/{api-LjAY3aa3.js → api-CQ-3I3-i.js} +1 -1
  115. package/dist/interface/assets/api-DPgKdIQZ.js +4 -0
  116. package/dist/interface/assets/{assistant-BFc44oq-.js → assistant-0UymvpMy.js} +1 -1
  117. package/dist/interface/assets/{auth-CUPvHARA.js → auth-C0jhqNaz.js} +1 -1
  118. package/dist/interface/assets/{automations-Dw4L5sT0.js → automations-Bj30nb8s.js} +1 -1
  119. package/dist/interface/assets/{cameraSources-CzENFiZx.js → cameraSources-CiMjIjsh.js} +1 -1
  120. package/dist/interface/assets/cloudHandoff-Cxljjl7N.js +1 -0
  121. package/dist/interface/assets/{config-EBcNBZkb.js → config-D-uVfwYp.js} +1 -1
  122. package/dist/interface/assets/{flowSchema-CdzBw69a.js → flowSchema-D3nNJVLL.js} +1 -1
  123. package/dist/interface/assets/{intercomService-DIfdcsXc.js → intercomService-BeoNs-09.js} +1 -1
  124. package/dist/interface/assets/main-BrNGfemk.js +3 -0
  125. package/dist/interface/assets/{mqtt-D_wH18eJ.js → mqtt-D7jRwifB.js} +1 -1
  126. package/dist/interface/assets/{notifications-wLsrlI9N.js → notifications-BpRVoerg.js} +1 -1
  127. package/dist/interface/assets/pause-B7ud2O8d.js +1 -0
  128. package/dist/interface/assets/{plugins-DwmkpOPJ.js → plugins-wZ4RDxCb.js} +1 -1
  129. package/dist/interface/assets/rooms-CFcu2dU1.js +1 -0
  130. package/dist/interface/assets/{sensorIcons-BY853M0u.js → sensorIcons-B117n8l2.js} +1 -1
  131. package/dist/interface/assets/{sensorSlots-DnRJdaTG.js → sensorSlots-CAr3prFc.js} +1 -1
  132. package/dist/interface/assets/{sensors-B9etOqBI.js → sensors-oriEG3KR.js} +1 -1
  133. package/dist/interface/assets/{server-BTKgKMye.js → server-Ce6ou2NV.js} +1 -1
  134. package/dist/interface/assets/{theme-CbtGvohq.js → theme-CBTC6-Lp.js} +1 -1
  135. package/dist/interface/assets/{types-CEhVWRYD.js → types-C-amdBz6.js} +1 -1
  136. package/dist/interface/assets/{types-COlvVtDn.js → types-CjU6-JvD.js} +1 -1
  137. package/dist/interface/assets/types-CzjppLwt.js +1 -0
  138. package/dist/interface/assets/{ungrouped-Dbr16vFt.css → ungrouped-AYNBKz52.css} +1 -1
  139. package/dist/interface/assets/ungrouped-BQzKp2PT.js +1 -0
  140. package/dist/interface/assets/{updates-BQ6Ugcup.js → updates-Cohtc6vb.js} +1 -1
  141. package/dist/interface/assets/{useAppVersion-BO-3jbup.js → useAppVersion-xxi6fR7J.js} +1 -1
  142. package/dist/interface/assets/{useAssistantActions-CRVHZw4o.js → useAssistantActions-BkRK1FBg.js} +1 -1
  143. package/dist/interface/assets/useBackupRestore-BGvhSqJB.js +1 -0
  144. package/dist/interface/assets/{useCameraOptions-C7tgceJ1.js → useCameraOptions-ophs2V4p.js} +1 -1
  145. package/dist/interface/assets/{useKeyboardInset-yu3BVnj7.js → useKeyboardInset-Cpz6Hs5c.js} +1 -1
  146. package/dist/interface/assets/{useLogsSocket-B4wTnSno.js → useLogsSocket-CB07yhv4.js} +1 -1
  147. package/dist/interface/assets/{useNavLayout-Z61-OsIG.js → useNavLayout-BYEejBpb.js} +1 -1
  148. package/dist/interface/assets/{usePermissions-Bjx4t0x3.js → usePermissions-yWhjYMcr.js} +1 -1
  149. package/dist/interface/assets/{usePluginUpdates-Dv3_XJTK.js → usePluginUpdates-9rvsWfdJ.js} +1 -1
  150. package/dist/interface/assets/{usePushRegistration-CHNMZ94f.js → usePushRegistration-b5owOzjH.js} +1 -1
  151. package/dist/interface/assets/{useServerRestart-C-AsOdJP.js → useServerRestart-yRXDWnH_.js} +1 -1
  152. package/dist/interface/assets/{useStreamStatus-BJoJF68x.js → useStreamStatus-BHyWrAHu.js} +1 -1
  153. package/dist/interface/assets/{useTabSwipe-b_K3BIkW.js → useTabSwipe-Dr9HYP1J.js} +1 -1
  154. package/dist/interface/assets/{useUpdateChannel-Cc4IrrDy.js → useUpdateChannel-IVj0XKlN.js} +1 -1
  155. package/dist/interface/assets/{useUpdatesSocket-Cz9lN4Bc.js → useUpdatesSocket-CuPHbSF7.js} +1 -1
  156. package/dist/interface/assets/{useUserOptions-DrNB17kY.js → useUserOptions-zIfrMDiG.js} +1 -1
  157. package/dist/interface/assets/{vendor-cameraui-CqKq4Yeo.js → vendor-cameraui-Dhg7MEnt.js} +2 -2
  158. package/dist/interface/assets/{vendor-core-BTkC8NzR.js → vendor-core-CQ2HVu0L.js} +1 -1
  159. package/dist/interface/assets/{vendor-primevue-DQz5Qnqu.js → vendor-primevue-CeWNZxSE.js} +1 -1
  160. package/dist/interface/assets/{vendor-zod-BigRv4ty.js → vendor-zod-CBbC1rE7.js} +2 -2
  161. package/dist/interface/ha/{404-Bg2Vlt5S.js → 404-B70KNhsW.js} +1 -1
  162. package/dist/interface/ha/{About-C6u2wgUi.js → About-DLNqqctZ.js} +6 -6
  163. package/dist/interface/ha/{Assistant-BCyiVnwD.js → Assistant-Duvvoz2B.js} +334 -319
  164. package/dist/interface/ha/{Automation-DU_qv5xD.js → Automation-DZ8zvsvo.js} +189 -189
  165. package/dist/interface/ha/{AutomationImport-BpDyhabF.js → AutomationImport-DOCdim5O.js} +6 -6
  166. package/dist/interface/ha/{AutomationStore-DPQsunpH.js → AutomationStore-Bjoubp-m.js} +7 -7
  167. package/dist/interface/ha/{AutomationStoreDetail-CASMQ-mD.js → AutomationStoreDetail-H-RWNpwm.js} +13 -13
  168. package/dist/interface/ha/{Automations-DSHVzwX4.js → Automations-GyofQfo7.js} +99 -112
  169. package/dist/interface/ha/{Camera-ESmteicm.js → Camera-Bo5nMQaU.js} +27 -27
  170. package/dist/interface/ha/{CameraConsole-BE_jl4Co.js → CameraConsole-BmDQ3rcS.js} +5 -5
  171. package/dist/interface/ha/{Cameras-otaj2xZO.js → Cameras-BfHoFjpC.js} +242 -242
  172. package/dist/interface/ha/{Camview-BU1027if.js → Camview-DVoIdM3o.js} +520 -520
  173. package/dist/interface/ha/{Config-BlEvHYVP.js → Config-CC8tQiOy.js} +110 -110
  174. package/dist/interface/ha/{ConfigActionAssistant-uDf5fgoJ.js → ConfigActionAssistant-hfsz38an.js} +4 -4
  175. package/dist/interface/ha/{ConfigActionCameraControl-BAQsXVLz.js → ConfigActionCameraControl-C0-wxlAS.js} +3 -3
  176. package/dist/interface/ha/{ConfigActionHttp-Dy2MZHSm.js → ConfigActionHttp-CM_3bIUq.js} +2 -2
  177. package/dist/interface/ha/{ConfigActionImageInput-B5kyV3Un.js → ConfigActionImageInput-B5306Z_7.js} +1 -1
  178. package/dist/interface/ha/{ConfigActionMqtt-DHCgh1xx.js → ConfigActionMqtt-DLiM83Kz.js} +4 -4
  179. package/dist/interface/ha/{ConfigActionNotification-mbA5PfcJ.js → ConfigActionNotification-36VBlfim.js} +3 -3
  180. package/dist/interface/ha/{ConfigActionNotificationControl-TLaL7tYm.js → ConfigActionNotificationControl-DRjDvA1H.js} +2 -2
  181. package/dist/interface/ha/{ConfigActionOutput-CJ40Fniw.js → ConfigActionOutput-BkGHERoJ.js} +1 -1
  182. package/dist/interface/ha/{ConfigActionPlugin-BwTd-mdQ.js → ConfigActionPlugin-Ds1_Pow7.js} +5 -5
  183. package/dist/interface/ha/{ConfigActionSensor-BI438ihg.js → ConfigActionSensor-22uKE0d0.js} +5 -5
  184. package/dist/interface/ha/{ConfigActionSnapshot-DJ4zI2a0.js → ConfigActionSnapshot-uTTsTfo2.js} +2 -2
  185. package/dist/interface/ha/{ConfigActionVariable-Bhy5jf_w.js → ConfigActionVariable-DNMJBiQV.js} +1 -1
  186. package/dist/interface/ha/{ConfigConditionIfElse-I7Qq8nfN.js → ConfigConditionIfElse-BVzmIDKK.js} +3 -3
  187. package/dist/interface/ha/{ConfigConditionSensorState-CTLP3ppx.js → ConfigConditionSensorState-Di7Ic1xI.js} +4 -4
  188. package/dist/interface/ha/{ConfigConditionSwitch-UUupXf1b.js → ConfigConditionSwitch-D8CcTHJ1.js} +5 -5
  189. package/dist/interface/ha/{ConfigSensorValueInput-CoHheDT0.js → ConfigSensorValueInput-DthsOthT.js} +4 -4
  190. package/dist/interface/ha/{ConfigTriggerDetection-Cg_jKNed.js → ConfigTriggerDetection-BDYanDEV.js} +2 -2
  191. package/dist/interface/ha/{ConfigTriggerGeofence-WlJbu3sC.js → ConfigTriggerGeofence-Binp0lYx.js} +5 -5
  192. package/dist/interface/ha/{ConfigTriggerMqtt-BeRJoceK.js → ConfigTriggerMqtt-BaPzSHbK.js} +1 -1
  193. package/dist/interface/ha/{ConfigTriggerSensor-k58gVKdG.js → ConfigTriggerSensor-DiTaTZXm.js} +1 -1
  194. package/dist/interface/ha/{ConfigTriggerSystem-Ckm5yoUm.js → ConfigTriggerSystem-CsdWiz-S.js} +2 -2
  195. package/dist/interface/ha/{ConfigTriggerWebhook-D425z-p1.js → ConfigTriggerWebhook-Ca0PsUmU.js} +6 -6
  196. package/dist/interface/ha/{Console-C1Ub4Rji.js → Console-0amlIoZR.js} +10 -10
  197. package/dist/interface/ha/{CuiAutomationRunsDialog-opy5qXwE.js → CuiAutomationRunsDialog-DNBuwkgL.js} +2 -2
  198. package/dist/interface/ha/{CuiBottomSheet-DbCwVXl1.js → CuiBottomSheet-CdXBYz4P.js} +1 -1
  199. package/dist/interface/ha/{CuiCameraRecordings-CifJLj7G.js → CuiCameraRecordings-D4ZB56nd.js} +14 -15
  200. package/dist/interface/ha/{CuiCameraShares-Xty8LRcn.js → CuiCameraShares-YmzZusZR.js} +7 -7
  201. package/dist/interface/ha/{CuiCameraTable-CqfxX0Yn.js → CuiCameraTable-DFzhCO3J.js} +9 -9
  202. package/dist/interface/ha/{CuiChartTable-ABHnLdR0.js → CuiChartTable-BvfJbFNS.js} +46 -44
  203. package/dist/interface/ha/{CuiConsole-3JwbeUYD.js → CuiConsole-DtxyD6Sd.js} +1 -1
  204. package/dist/interface/ha/{CuiDataTable-BwE7D2h5.js → CuiDataTable-CHvx6ALQ.js} +16 -10
  205. package/dist/interface/ha/{CuiPluginCard-bzxiy1yb.js → CuiPluginCard-B3vU57eD.js} +77 -77
  206. package/dist/interface/ha/{CuiPluginOAuthButton-DSxrzDmg.js → CuiPluginOAuthButton-DgOFfP5e.js} +6 -6
  207. package/dist/interface/ha/{CuiPluginTrustBadge-g0XkvDt8.js → CuiPluginTrustBadge-udmtgGHt.js} +1 -1
  208. package/dist/interface/ha/{CuiQRCode-uyRFbzd6.js → CuiQRCode-8yDZMC3o.js} +6 -6
  209. package/dist/interface/ha/{CuiSchema-DZIrlY8R.js → CuiSchema-0Hikg2mm.js} +138 -138
  210. package/dist/interface/ha/{CuiTopNavbarItem-C3a5NA7u.js → CuiTopNavbarItem-B139fVxP.js} +1 -1
  211. package/dist/interface/ha/{Faces-D2eca8MN.js → Faces-YdAf9USr.js} +107 -107
  212. package/dist/interface/ha/{FirstSteps-CdTE1cvw.js → FirstSteps-Dts6TJ6O.js} +7 -7
  213. package/dist/interface/ha/{Floorplan-BrEC2Au5.js → Floorplan-D6XXe8ni.js} +193 -193
  214. package/dist/interface/ha/{Instances-ClOsPOi8.js → Instances-DsIsonqp.js} +68 -68
  215. package/dist/interface/ha/{Logs-DnY1gTnb.js → Logs-Cyo3LC94.js} +11 -11
  216. package/dist/interface/ha/{Menu-cLDE76XZ.js → Menu-yh_sI9d9.js} +15 -20
  217. package/dist/interface/ha/{Metrics-pMQX_0m1.js → Metrics-VehQmsmN.js} +64 -64
  218. package/dist/interface/ha/{OAuthDeviceFlow-D1PGQ8r9.js → OAuthDeviceFlow-CXp9NvbY.js} +9 -9
  219. package/dist/interface/ha/{Plugin-DiC23P97.js → Plugin-BqvlXx43.js} +97 -97
  220. package/dist/interface/ha/{PluginConsole-B-lX5KJu.js → PluginConsole-Dx84BNoO.js} +4 -4
  221. package/dist/interface/ha/{PluginDetail-B_tVJf6y.js → PluginDetail-DUpDS2nD.js} +6 -6
  222. package/dist/interface/ha/{PluginSearch-n8nfjx9q.js → PluginSearch-Cvh0P9VB.js} +124 -124
  223. package/dist/interface/ha/{PluginUpdateProgress-BjsYyrRk.js → PluginUpdateProgress-CfyI2Qdp.js} +3 -3
  224. package/dist/interface/ha/{Plugins-CFhOUaqq.js → Plugins-DXreIUwr.js} +173 -173
  225. package/dist/interface/ha/{Recordings-B07eUJwH.js → Recordings-Cb8ifRcB.js} +225 -227
  226. package/dist/interface/ha/{SensorEdit-DFPiBXQD.js → SensorEdit-CsNXxcdj.js} +58 -58
  227. package/dist/interface/ha/{SensorHistory-B2FOK4Qa.js → SensorHistory-DToDalOm.js} +2 -2
  228. package/dist/interface/ha/{Sensors-DtzmTc-L.js → Sensors-B6giaowJ.js} +434 -434
  229. package/dist/interface/ha/{Settings-ClqSoFjT.js → Settings-CVed7MM_.js} +22 -22
  230. package/dist/interface/ha/{SettingsAccount-Bh8FfH7J.js → SettingsAccount-CvvsLPoT.js} +31 -31
  231. package/dist/interface/ha/{SettingsAppearance--FJgY8cj.js → SettingsAppearance-BDJeNGTd.js} +6 -6
  232. package/dist/interface/ha/{SettingsAssistant-ClDfxd_d.js → SettingsAssistant-B168p5HB.js} +615 -508
  233. package/dist/interface/ha/{SettingsBackup-BYM55pQ7.js → SettingsBackup-Bz_9xJ61.js} +14 -14
  234. package/dist/interface/ha/{SettingsList-CMSEKVCD.js → SettingsList-B42rajJc.js} +1 -1
  235. package/dist/interface/ha/{SettingsMqtt-CFpgJ-E5.js → SettingsMqtt-B5Qy6bxD.js} +148 -148
  236. package/dist/interface/ha/SettingsNotifications-C59UxYic.js +529 -0
  237. package/dist/interface/ha/{SettingsRecordings-Bz686yU7.js → SettingsRecordings-CkJGOiyQ.js} +7 -7
  238. package/dist/interface/ha/{SettingsRemote-DT4ZMjJO.js → SettingsRemote-Cc-qt3si.js} +231 -231
  239. package/dist/interface/ha/{SettingsSystem-CHctt06D.js → SettingsSystem-Cco2XXsS.js} +9 -9
  240. package/dist/interface/ha/{SettingsUsers-C_hvntON.js → SettingsUsers-BDh-3saR.js} +33 -33
  241. package/dist/interface/ha/{Terminal-B5FXq4-Z.js → Terminal-D2U-kFPW.js} +8 -8
  242. package/dist/interface/ha/Training-DWcaCI-3.js +1499 -0
  243. package/dist/interface/ha/{Updates-D0osNjqS.js → Updates-DGHNcvO9.js} +13 -13
  244. package/dist/interface/ha/{VariableInput-BK0qqMc7.js → VariableInput-Bujz1T1I.js} +1 -1
  245. package/dist/interface/ha/{VersionsHandler-B-vpKHJN.js → VersionsHandler-CXvbeKbl.js} +10 -10
  246. package/dist/interface/ha/{VirtualSensorCreate-Bp2201iM.js → VirtualSensorCreate-DOYONbgu.js} +2 -2
  247. package/dist/interface/ha/{Workers-BQ_luGWk.js → Workers-tQbC3WS6.js} +90 -90
  248. package/dist/interface/ha/{api-JPS8NpNG.js → api-BI6_Fcag.js} +8979 -8895
  249. package/dist/interface/ha/{api-BufZW7-A.js → api-DfJZj7ht.js} +1 -1
  250. package/dist/interface/ha/{assistant-BXVGCw2q.js → assistant-BqSg4N8v.js} +25 -25
  251. package/dist/interface/ha/{auth-CJC9G9BA.js → auth-BFoSqfzS.js} +34 -34
  252. package/dist/interface/ha/{automationBlueprint-DWuBiu_Q.js → automationBlueprint-Q0yt2MdH.js} +3 -3
  253. package/dist/interface/ha/cameraui-cards.js +1 -1
  254. package/dist/interface/ha/{cards-CGP6dWjy.js → cards-BW9I5B5Z.js} +114 -114
  255. package/dist/interface/ha/{config-BVURO_DZ.js → config-CeNHEP9A.js} +9 -9
  256. package/dist/interface/ha/{dist-Ca4K4HIm.js → dist-BV3OfApt.js} +1 -1
  257. package/dist/interface/ha/{mqtt-DY6EvMC9.js → mqtt-BkYa2CXH.js} +7 -7
  258. package/dist/interface/ha/{notifications-BdIqgnrC.js → notifications-E3WSCGpc.js} +12 -12
  259. package/dist/interface/ha/pause-Ch6v65wA.js +19 -0
  260. package/dist/interface/ha/{pinia-CqffEnzx.js → pinia-DoDLbPZ3.js} +11 -7
  261. package/dist/interface/ha/{plugins-Bnq2Iw00.js → plugins-2jjU7TfW.js} +30 -30
  262. package/dist/interface/ha/{rooms-AiJ5Tfir.js → rooms-BkEw1ev-.js} +1 -1
  263. package/dist/interface/ha/{server-BHhFn2RZ.js → server-CuK4o2fS.js} +15 -15
  264. package/dist/interface/ha/{types-7oMK8VO-.js → types-BRHWeX0a.js} +36 -22
  265. package/dist/interface/ha/{ungrouped-hib17Nvu.js → ungrouped-BDwep3kg.js} +195 -213
  266. package/dist/interface/ha/{updates-DvnEEUsx.js → updates-R4xTxour.js} +24 -24
  267. package/dist/interface/ha/{useAppVersion-BmWXr96y.js → useAppVersion-uaFjqUpx.js} +1 -1
  268. package/dist/interface/ha/{useLogsSocket-BKlJKGCB.js → useLogsSocket-BZq9GXfy.js} +1 -1
  269. package/dist/interface/ha/{useNavLayout-Dt0NH-G5.js → useNavLayout-BJdDE__R.js} +2 -2
  270. package/dist/interface/ha/{useServerRestart-DWs2dqQc.js → useServerRestart-DDCKnE6c.js} +1 -1
  271. package/dist/interface/ha/{useTabSwipe-vX79p6V_.js → useTabSwipe-CEH6ltIZ.js} +1 -1
  272. package/dist/interface/ha/{useUpdateChannel-CHlRp8uj.js → useUpdateChannel-CHt1il2V.js} +2 -2
  273. package/dist/interface/ha/{useUpdatesSocket-B40Cx-2L.js → useUpdatesSocket-BnVaNioY.js} +1 -1
  274. package/dist/interface/ha/{useUserOptions-hXz79rIV.js → useUserOptions-C7cQ1P3Q.js} +1 -1
  275. package/dist/interface/index.html +34 -34
  276. package/dist/interface/sw.js +1 -1
  277. package/dist/server/package.json +6 -7
  278. package/dist/server/requirements.txt +1 -1
  279. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +2 -0
  280. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +2 -0
  281. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +9 -5
  282. package/dist/server/src/api/controllers/assistant.controller.js +2 -1
  283. package/dist/server/src/api/controllers/assistant.controller.js.map +1 -1
  284. package/dist/server/src/api/controllers/plugins.controller.js +3 -3
  285. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  286. package/dist/server/src/api/database/index.d.ts +1 -1
  287. package/dist/server/src/api/database/index.js +1 -1
  288. package/dist/server/src/api/database/index.js.map +1 -1
  289. package/dist/server/src/api/database/migrations/v2-2-3.d.ts +3 -0
  290. package/dist/server/src/api/database/migrations/v2-2-3.js +22 -0
  291. package/dist/server/src/api/database/migrations/v2-2-3.js.map +1 -0
  292. package/dist/server/src/api/schemas/cameras.schema.d.ts +32 -16
  293. package/dist/server/src/api/schemas/cameras.schema.js +5 -5
  294. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  295. package/dist/server/src/api/websocket/nsp/logs.d.ts +5 -2
  296. package/dist/server/src/api/websocket/nsp/logs.js +20 -5
  297. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  298. package/dist/server/src/api/websocket/nsp/training.d.ts +1 -1
  299. package/dist/server/src/api/websocket/nsp/training.js +3 -2
  300. package/dist/server/src/api/websocket/nsp/training.js.map +1 -1
  301. package/dist/server/src/assistant/manager.d.ts +1 -0
  302. package/dist/server/src/assistant/manager.js +24 -2
  303. package/dist/server/src/assistant/manager.js.map +1 -1
  304. package/dist/server/src/assistant/reasoning.d.ts +1 -1
  305. package/dist/server/src/assistant/reasoning.js +6 -3
  306. package/dist/server/src/assistant/reasoning.js.map +1 -1
  307. package/dist/server/src/assistant/retry.d.ts +4 -0
  308. package/dist/server/src/assistant/retry.js +3 -0
  309. package/dist/server/src/assistant/retry.js.map +1 -1
  310. package/dist/server/src/assistant/tool-names.d.ts +2 -0
  311. package/dist/server/src/assistant/tool-names.js +23 -0
  312. package/dist/server/src/assistant/tool-names.js.map +1 -0
  313. package/dist/server/src/assistant/tools/api.js +2 -0
  314. package/dist/server/src/assistant/tools/api.js.map +1 -1
  315. package/dist/server/src/assistant/tools/docs.js +1 -0
  316. package/dist/server/src/assistant/tools/docs.js.map +1 -1
  317. package/dist/server/src/assistant/tools/memory.js +1 -0
  318. package/dist/server/src/assistant/tools/memory.js.map +1 -1
  319. package/dist/server/src/assistant/tools/settings.js +1 -0
  320. package/dist/server/src/assistant/tools/settings.js.map +1 -1
  321. package/dist/server/src/automations/utilities/imageInput.js +4 -2
  322. package/dist/server/src/automations/utilities/imageInput.js.map +1 -1
  323. package/dist/server/src/camera/controller.d.ts +3 -0
  324. package/dist/server/src/camera/controller.js +41 -28
  325. package/dist/server/src/camera/controller.js.map +1 -1
  326. package/dist/server/src/camera/index.d.ts +1 -7
  327. package/dist/server/src/camera/index.js +0 -13
  328. package/dist/server/src/camera/index.js.map +1 -1
  329. package/dist/server/src/camera/privacy/snapshot.js +4 -2
  330. package/dist/server/src/camera/privacy/snapshot.js.map +1 -1
  331. package/dist/server/src/camera/snapshot-store.d.ts +22 -0
  332. package/dist/server/src/camera/snapshot-store.js +78 -0
  333. package/dist/server/src/camera/snapshot-store.js.map +1 -0
  334. package/dist/server/src/camera/streaming/fmp4-session.d.ts +2 -1
  335. package/dist/server/src/camera/streaming/fmp4-session.js +4 -0
  336. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  337. package/dist/server/src/camera/streaming/rtp-session.js +1 -0
  338. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
  339. package/dist/server/src/manager/trainingCandidateManager.js +17 -13
  340. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
  341. package/dist/server/src/manager/types.d.ts +4 -0
  342. package/dist/server/src/rpc/interfaces/device.d.ts +1 -0
  343. package/dist/server/src/sensors/registry.js +2 -2
  344. package/dist/server/src/sensors/registry.js.map +1 -1
  345. package/dist/server/src/utils/image.d.ts +1 -0
  346. package/dist/server/src/utils/image.js +95 -0
  347. package/dist/server/src/utils/image.js.map +1 -0
  348. package/package.json +6 -7
  349. package/dist/interface/assets/AutomationStoreDetail-btcIglkw.js +0 -2
  350. package/dist/interface/assets/Automations-CKpwXTyc.js +0 -2
  351. package/dist/interface/assets/Camera-BEP_HAQm.js +0 -2
  352. package/dist/interface/assets/Cameras-DJreIgtW.js +0 -651
  353. package/dist/interface/assets/Camview-D4VNMv_l.js +0 -1
  354. package/dist/interface/assets/Console-Y1IutnkC.js +0 -1
  355. package/dist/interface/assets/CuiAssistantConversation-C4RYcMAM.js +0 -5
  356. package/dist/interface/assets/CuiBottomSheet-S8bM23jj.js +0 -1
  357. package/dist/interface/assets/CuiCameraPipCard-HTjvF3yG.js +0 -1
  358. package/dist/interface/assets/CuiCameraRecordings-B7BhgPpP.css +0 -1
  359. package/dist/interface/assets/CuiCameraRecordings-Cx6FYz3Y.js +0 -1
  360. package/dist/interface/assets/CuiCameraShares-J728G9wF.js +0 -1
  361. package/dist/interface/assets/CuiCameraTable-CKur0qLE.js +0 -1
  362. package/dist/interface/assets/CuiChartTable-DCGY-zVy.css +0 -1
  363. package/dist/interface/assets/CuiDataTable-BLyeEEAp.js +0 -1
  364. package/dist/interface/assets/CuiDataTable-DbkFXZeg.css +0 -1
  365. package/dist/interface/assets/CuiLightControl-C1YSJSWd.js +0 -1
  366. package/dist/interface/assets/CuiPluginCard-enc00hbc.js +0 -2
  367. package/dist/interface/assets/CuiSchema-CRHUMY0B.js +0 -1
  368. package/dist/interface/assets/Faces-fMMd6-PY.js +0 -1
  369. package/dist/interface/assets/Floorplan-BQbOWCCf.js +0 -1
  370. package/dist/interface/assets/Menu-B3VA0LMx.js +0 -1
  371. package/dist/interface/assets/Metrics-C0q2BdKH.js +0 -9
  372. package/dist/interface/assets/OAuthDeviceFlow-ZiCl4400.js +0 -1
  373. package/dist/interface/assets/Plugin-C0CPlt4f.js +0 -1
  374. package/dist/interface/assets/PluginDetail-DDh6PfMd.js +0 -2
  375. package/dist/interface/assets/PluginSearch-BR_ei8Pa.js +0 -1
  376. package/dist/interface/assets/PluginSearch-C2AXz2KG.js +0 -2
  377. package/dist/interface/assets/Plugins-CN1YIfNk.js +0 -1
  378. package/dist/interface/assets/Recordings-jhxwdrQY.js +0 -1
  379. package/dist/interface/assets/SettingsAccount-CJ_fPrT-.js +0 -1
  380. package/dist/interface/assets/SettingsAccount-CYn81m0Z.js +0 -1
  381. package/dist/interface/assets/SettingsAppearance-DFe8JsT5.js +0 -1
  382. package/dist/interface/assets/SettingsAssistant-CDyI6fee.css +0 -1
  383. package/dist/interface/assets/SettingsAssistant-Dm4oINqB.js +0 -1
  384. package/dist/interface/assets/SettingsMqtt-ByQYIRkm.js +0 -1
  385. package/dist/interface/assets/SettingsRemote-7iDccnV9.js +0 -2
  386. package/dist/interface/assets/SettingsUsers-yYobKcPv.js +0 -1
  387. package/dist/interface/assets/Training-BUhrkDzA.css +0 -1
  388. package/dist/interface/assets/Training-SOWa6Ay1.js +0 -1
  389. package/dist/interface/assets/Workers-D7mXpfvC.js +0 -2
  390. package/dist/interface/assets/api-Cl7JjXOQ.js +0 -4
  391. package/dist/interface/assets/cloudHandoff-CGMLCwMb.js +0 -1
  392. package/dist/interface/assets/main-W8WcKa2g.js +0 -3
  393. package/dist/interface/assets/rooms-D_7As09p.js +0 -1
  394. package/dist/interface/assets/types-BEy4uGJ0.js +0 -1
  395. package/dist/interface/assets/ungrouped-BJyBDv5e.js +0 -1
  396. package/dist/interface/assets/useBackupRestore-D305pYHT.js +0 -1
  397. package/dist/interface/ha/SettingsNotifications-CzgsBNtW.js +0 -529
  398. package/dist/interface/ha/Training-BgvpsKPM.js +0 -1469
@@ -1,127 +1,143 @@
1
1
  import { F as e, G as t, H as n, Jt as r, Tt as i, Wt as a, _t as o, d as s, f as c, gt as l, kt as u, l as d, lt as f, ot as p, p as m, q as ee, r as h, rt as g, u as _, ut as v, v as y, x as b, xt as x, y as S } from "./runtime-core.esm-bundler-DCktklpY.js";
2
2
  import { t as C } from "./tooltip-X5MY9FoG.js";
3
3
  import { t as te } from "./message-BExXUXHN.js";
4
- import { t as w } from "./tag-Bko2QYOK.js";
5
- import { $t as T, Dn as ne, Et as E, Qt as D, Tn as O, Tt as re, V as k, Yi as A, Zt as ie, a as j, dn as M, lt as ae, mt as N, p as P, r as oe, un as se, vi as ce, vr as le, wt as ue, yr as de } from "./api-JPS8NpNG.js";
6
- import { i as fe } from "./intercomService-Dwd0bhSN.js";
7
- import { K as pe } from "./pinia-CqffEnzx.js";
4
+ import { t as w } from "./chevron-down-CN3LNAsG.js";
5
+ import { t as ne } from "./tag-Bko2QYOK.js";
6
+ import { $t as T, Dt as E, En as D, Et as re, On as ie, Qt as O, Tt as ae, V as k, Xi as A, a as j, br as oe, dn as se, en as ce, fn as le, ht as M, p as ue, r as de, ut as fe, yi as pe, yr as N } from "./api-BI6_Fcag.js";
7
+ import { i as me } from "./intercomService-Dwd0bhSN.js";
8
+ import { K as P } from "./pinia-DoDLbPZ3.js";
8
9
  import { n as F } from "./vue-i18n-BBObX4QY.js";
9
- import { t as me } from "./button-DJDZxmKj.js";
10
- import { t as he } from "./inputtext-vdcrNX6K.js";
11
- import { t as ge } from "./select-CaVzuLaS.js";
12
- import { t as I } from "./autocomplete-gFZBpGxE.js";
13
- import { i as _e, t as ve } from "./CuiDataTable-BwE7D2h5.js";
14
- import { t as ye } from "./inputnumber-MSv4Pb-P.js";
15
- import { t as be } from "./multiselect-B0fAnW75.js";
16
- import { t as xe } from "./textarea-DrKQ6YMZ.js";
17
- import { t as L } from "./assistant-BXVGCw2q.js";
18
- import { t as Se } from "./content-copy-ChfuNPUb.js";
19
- import { u as Ce } from "./cards-CGP6dWjy.js";
20
- import { a as we, c as Te, d as Ee, i as De, l as R, o as z, s as Oe, u as B } from "./types-B9Rna2FN.js";
21
- import { t as ke } from "./restore-DMczh46P.js";
22
- import { t as Ae } from "./dots-vertical-BEPlUtxU.js";
23
- import { t as je } from "./pencil-outline-3AYc7WXi.js";
10
+ import { t as he } from "./button-DJDZxmKj.js";
11
+ import { t as ge } from "./inputtext-vdcrNX6K.js";
12
+ import { t as _e } from "./select-CaVzuLaS.js";
13
+ import { t as ve } from "./autocomplete-gFZBpGxE.js";
14
+ import { i as ye, t as be } from "./CuiDataTable-CHvx6ALQ.js";
15
+ import { t as xe } from "./inputnumber-MSv4Pb-P.js";
16
+ import { t as Se } from "./multiselect-B0fAnW75.js";
17
+ import { t as Ce } from "./textarea-DrKQ6YMZ.js";
18
+ import { t as I } from "./assistant-BqSg4N8v.js";
19
+ import { t as we } from "./content-copy-ChfuNPUb.js";
20
+ import { u as Te } from "./cards-BW9I5B5Z.js";
21
+ import { a as L, c as Ee, d as De, i as Oe, l as R, o as ke, s as Ae, u as z } from "./types-B9Rna2FN.js";
22
+ import { t as je } from "./pause-Ch6v65wA.js";
23
+ import { t as Me } from "./restore-DMczh46P.js";
24
+ import { t as Ne } from "./dots-vertical-BEPlUtxU.js";
25
+ import { t as Pe } from "./pencil-outline-3AYc7WXi.js";
24
26
  //#region ~icons/mdi/wrench-outline
25
- var V = {
27
+ var Fe = {
26
28
  viewBox: "0 0 24 24",
27
29
  width: "1.2em",
28
30
  height: "1.2em"
29
31
  };
30
- function H(e, t) {
31
- return n(), m("svg", V, [...t[0] ||= [_("path", {
32
+ function B(e, t) {
33
+ return n(), m("svg", Fe, [...t[0] ||= [_("path", {
32
34
  fill: "currentColor",
33
35
  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"
34
36
  }, null, -1)]]);
35
37
  }
36
- var Me = o({
38
+ var Ie = o({
37
39
  name: "mdi-wrench-outline",
38
- render: H
39
- }), Ne = {
40
+ render: B
41
+ }), V = {
42
+ viewBox: "0 0 24 24",
43
+ width: "1.2em",
44
+ height: "1.2em"
45
+ };
46
+ function Le(e, t) {
47
+ return n(), m("svg", V, [...t[0] ||= [_("path", {
48
+ fill: "currentColor",
49
+ d: "M11 9.47V11h3.76L13 14.53V13H9.24zM13 1L6 15h5v8l7-14h-5z"
50
+ }, null, -1)]]);
51
+ }
52
+ var Re = o({
53
+ name: "mdi-lightning-bolt-outline",
54
+ render: Le
55
+ }), ze = {
40
56
  viewBox: "0 0 24 24",
41
57
  width: "1.2em",
42
58
  height: "1.2em"
43
59
  };
44
- function Pe(e, t) {
45
- return n(), m("svg", Ne, [...t[0] ||= [_("path", {
60
+ function H(e, t) {
61
+ return n(), m("svg", ze, [...t[0] ||= [_("path", {
46
62
  fill: "currentColor",
47
63
  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"
48
64
  }, null, -1)]]);
49
65
  }
50
- var Fe = o({
66
+ var Be = o({
51
67
  name: "mdi-star-outline",
52
- render: Pe
53
- }), U = { class: "flex w-full flex-col gap-6" }, W = { class: "flex flex-col field-gap" }, Ie = {
68
+ render: H
69
+ }), U = { class: "flex w-full flex-col gap-6" }, Ve = { class: "flex flex-col field-gap" }, He = {
54
70
  for: "assistantModelProvider",
55
71
  class: "cui-label"
56
- }, Le = {
72
+ }, Ue = {
57
73
  key: 0,
58
74
  class: "flex flex-col field-gap"
59
- }, Re = {
75
+ }, We = {
60
76
  for: "assistantModelBaseUrl",
61
77
  class: "cui-label"
62
- }, ze = {
78
+ }, Ge = {
63
79
  key: 1,
64
80
  class: "flex flex-col field-gap"
65
- }, Be = {
81
+ }, W = {
66
82
  for: "assistantModelKey",
67
83
  class: "cui-label"
68
- }, Ve = { class: "flex flex-col field-gap" }, G = {
84
+ }, G = { class: "flex flex-col field-gap" }, K = {
69
85
  for: "assistantModelModel",
70
86
  class: "cui-label"
71
- }, K = { class: "flex flex-col field-gap" }, q = {
87
+ }, q = { class: "flex flex-col field-gap" }, Ke = {
72
88
  for: "assistantModelName",
73
89
  class: "cui-label"
74
- }, J = { class: "flex items-center gap-4 cui-toggle-switch" }, Y = { class: "flex flex-col field-switch-gap" }, He = {
90
+ }, J = { class: "flex items-center gap-4 cui-toggle-switch" }, Y = { class: "flex flex-col field-switch-gap" }, qe = {
75
91
  for: "assistantModelUsers",
76
92
  class: "cui-label-switch"
77
- }, Ue = {
93
+ }, Je = {
78
94
  key: 2,
79
95
  class: "flex items-center gap-4 cui-toggle-switch"
80
- }, X = { class: "flex flex-col field-switch-gap" }, We = {
96
+ }, X = { class: "flex flex-col field-switch-gap" }, Ye = {
81
97
  for: "assistantModelImages",
82
98
  class: "cui-label-switch"
83
- }, Ge = /* @__PURE__ */ b({
99
+ }, Xe = /* @__PURE__ */ b({
84
100
  __name: "AssistantModel",
85
101
  props: {
86
102
  entry: {},
87
103
  models: {}
88
104
  },
89
105
  setup(t, { expose: i }) {
90
- let a = new L(), o = t, { t: p } = F(), ee = ce(), g = a.listAssistantModelsMutation(), v = x(o.entry?.provider ?? "ollama"), b = x(o.entry?.baseURL ?? ""), C = x(""), w = x(o.entry?.model ?? ""), T = x(o.entry && o.entry.name !== o.entry.model ? o.entry.name : ""), E = x(o.entry?.sendImages ?? !1), D = x(o.entry?.userAccess !== !1), O = x("new"), re = x([]), k = x([]), A = x(!1), ie = d(() => z.includes(v.value)), j = d(() => v.value === "ollama" || v.value === "openai-compatible"), M = d(() => o.entry?.apiKeySet === !0 && o.entry.provider === v.value), N = d(() => o.models.filter((e) => e._id !== o.entry?._id && e.provider === v.value && e.apiKeySet)), P = d(() => [{
91
- label: M.value ? p("views.settings.assistant_api_key_stored") : p("views.settings.assistant_api_key_new"),
106
+ let a = new I(), o = t, { t: p } = F(), ee = pe(), g = a.listAssistantModelsMutation(), v = x(o.entry?.provider ?? "ollama"), b = x(o.entry?.baseURL ?? ""), C = x(""), w = x(o.entry?.model ?? ""), ne = x(o.entry && o.entry.name !== o.entry.model ? o.entry.name : ""), T = x(o.entry?.sendImages ?? !1), E = x(o.entry?.userAccess !== !1), D = x("new"), re = x([]), O = x([]), ae = x(!1), k = d(() => ke.includes(v.value)), A = d(() => v.value === "ollama" || v.value === "openai-compatible"), j = d(() => o.entry?.apiKeySet === !0 && o.entry.provider === v.value), oe = d(() => o.models.filter((e) => e._id !== o.entry?._id && e.provider === v.value && e.apiKeySet)), se = d(() => [{
107
+ label: j.value ? p("views.settings.assistant_api_key_stored") : p("views.settings.assistant_api_key_new"),
92
108
  value: "new"
93
- }, ...N.value.map((e) => ({
109
+ }, ...oe.value.map((e) => ({
94
110
  label: p("views.settings.assistant_api_key_from", { name: e.name }),
95
111
  value: e._id
96
- }))]), oe = d(() => ie.value && O.value === "new" && !C.value && !M.value);
97
- function se() {
98
- return M.value ? "new" : N.value[0]?._id ?? "new";
99
- }
112
+ }))]), ce = d(() => k.value && D.value === "new" && !C.value && !j.value);
100
113
  function le() {
101
- let e = O.value === "new" ? C.value ? { apiKey: C.value } : o.entry && !M.value ? { apiKey: null } : {} : { copyKeyFrom: O.value };
114
+ return j.value ? "new" : oe.value[0]?._id ?? "new";
115
+ }
116
+ function M() {
117
+ let e = D.value === "new" ? C.value ? { apiKey: C.value } : o.entry && !j.value ? { apiKey: null } : {} : { copyKeyFrom: D.value };
102
118
  return {
103
119
  ...o.entry ? {
104
120
  id: o.entry._id,
105
121
  retest: !0,
106
- sendImages: E.value
122
+ sendImages: T.value
107
123
  } : {},
108
124
  ...e,
109
- name: T.value,
125
+ name: ne.value,
110
126
  provider: v.value,
111
- baseURL: j.value && b.value ? b.value : null,
127
+ baseURL: A.value && b.value ? b.value : null,
112
128
  model: w.value.trim(),
113
- userAccess: D.value
129
+ userAccess: E.value
114
130
  };
115
131
  }
116
132
  function ue() {
117
- b.value = "", w.value = "", re.value = [], k.value = [], O.value = se();
133
+ b.value = "", w.value = "", re.value = [], O.value = [], D.value = le();
118
134
  }
119
135
  function de(e) {
120
136
  let t = e.query.toLowerCase();
121
- k.value = re.value.filter((e) => e.toLowerCase().includes(t));
137
+ O.value = re.value.filter((e) => e.toLowerCase().includes(t));
122
138
  }
123
- async function fe() {
124
- let e = await g.mutateAsync(le());
139
+ async function N() {
140
+ let e = await g.mutateAsync(M());
125
141
  if (e.error) {
126
142
  ee.add({
127
143
  severity: "warn",
@@ -130,20 +146,20 @@ var Fe = o({
130
146
  });
131
147
  return;
132
148
  }
133
- re.value = e.models, k.value = e.models;
149
+ re.value = e.models, O.value = e.models;
134
150
  }
135
151
  return e(() => {
136
- O.value = se();
137
- }), i({ onConfirm: async () => !w.value.trim() || oe.value ? (A.value = !0, null) : le() }), (e, i) => {
138
- let a = ge, o = te, d = he, p = ae, ee = I, x = ne;
152
+ D.value = le();
153
+ }), i({ onConfirm: async () => !w.value.trim() || ce.value ? (ae.value = !0, null) : M() }), (e, i) => {
154
+ let a = _e, o = te, d = ge, p = fe, ee = ve, x = ie;
139
155
  return n(), m("div", U, [
140
- _("div", W, [
141
- _("label", Ie, r(e.$t("views.settings.assistant_provider_label")), 1),
156
+ _("div", Ve, [
157
+ _("label", He, r(e.$t("views.settings.assistant_provider_label")), 1),
142
158
  S(a, {
143
159
  modelValue: u(v),
144
160
  "onUpdate:modelValue": i[0] ||= (e) => l(v) ? v.value = e : null,
145
161
  "input-id": "assistantModelProvider",
146
- options: u(Oe),
162
+ options: u(Ae),
147
163
  "option-label": "label",
148
164
  "option-value": "value",
149
165
  fluid: "",
@@ -159,27 +175,27 @@ var Fe = o({
159
175
  _: 1
160
176
  })
161
177
  ]),
162
- u(j) ? (n(), m("div", Le, [_("label", Re, r(e.$t("views.settings.assistant_base_url_label")), 1), S(d, {
178
+ u(A) ? (n(), m("div", Ue, [_("label", We, r(e.$t("views.settings.assistant_base_url_label")), 1), S(d, {
163
179
  id: "assistantModelBaseUrl",
164
180
  modelValue: u(b),
165
181
  "onUpdate:modelValue": i[1] ||= (e) => l(b) ? b.value = e : null,
166
182
  modelModifiers: { trim: !0 },
167
- placeholder: u(we)[u(v)],
183
+ placeholder: u(L)[u(v)],
168
184
  fluid: "",
169
185
  autocomplete: "off"
170
186
  }, null, 8, ["modelValue", "placeholder"])])) : c("", !0),
171
- u(ie) || u(v) === "openai-compatible" ? (n(), m("div", ze, [
172
- _("label", Be, r(e.$t("views.settings.assistant_api_key_label")), 1),
173
- u(N).length ? (n(), s(a, {
187
+ u(k) || u(v) === "openai-compatible" ? (n(), m("div", Ge, [
188
+ _("label", W, r(e.$t("views.settings.assistant_api_key_label")), 1),
189
+ u(oe).length ? (n(), s(a, {
174
190
  key: 0,
175
- modelValue: u(O),
176
- "onUpdate:modelValue": i[2] ||= (e) => l(O) ? O.value = e : null,
177
- options: u(P),
191
+ modelValue: u(D),
192
+ "onUpdate:modelValue": i[2] ||= (e) => l(D) ? D.value = e : null,
193
+ options: u(se),
178
194
  "option-label": "label",
179
195
  "option-value": "value",
180
196
  fluid: ""
181
197
  }, null, 8, ["modelValue", "options"])) : c("", !0),
182
- u(O) === u("new") ? (n(), m(h, { key: 1 }, [S(p, {
198
+ u(D) === u("new") ? (n(), m(h, { key: 1 }, [S(p, {
183
199
  modelValue: u(C),
184
200
  "onUpdate:modelValue": i[3] ||= (e) => l(C) ? C.value = e : null,
185
201
  "input-id": "assistantModelKey",
@@ -187,13 +203,13 @@ var Fe = o({
187
203
  "toggle-mask": "",
188
204
  fluid: "",
189
205
  autocomplete: "new-password",
190
- invalid: u(A) && u(oe),
191
- placeholder: u(M) ? "••••••••" : ""
206
+ invalid: u(ae) && u(ce),
207
+ placeholder: u(j) ? "••••••••" : ""
192
208
  }, null, 8, [
193
209
  "modelValue",
194
210
  "invalid",
195
211
  "placeholder"
196
- ]), u(M) ? (n(), s(o, {
212
+ ]), u(j) ? (n(), s(o, {
197
213
  key: 0,
198
214
  severity: "secondary",
199
215
  variant: "simple",
@@ -202,7 +218,7 @@ var Fe = o({
202
218
  }, {
203
219
  default: f(() => [y(r(e.$t("views.settings.assistant_api_key_keep_hint")), 1)]),
204
220
  _: 1
205
- })) : u(ie) ? c("", !0) : (n(), s(o, {
221
+ })) : u(k) ? c("", !0) : (n(), s(o, {
206
222
  key: 1,
207
223
  severity: "secondary",
208
224
  variant: "simple",
@@ -213,20 +229,20 @@ var Fe = o({
213
229
  _: 1
214
230
  }))], 64)) : c("", !0)
215
231
  ])) : c("", !0),
216
- _("div", Ve, [
217
- _("label", G, r(e.$t("views.settings.assistant_model_label")), 1),
232
+ _("div", G, [
233
+ _("label", K, r(e.$t("views.settings.assistant_model_label")), 1),
218
234
  S(ee, {
219
235
  modelValue: u(w),
220
236
  "onUpdate:modelValue": i[4] ||= (e) => l(w) ? w.value = e : null,
221
237
  "input-id": "assistantModelModel",
222
- suggestions: u(k),
238
+ suggestions: u(O),
223
239
  loading: u(g).isPending.value,
224
- invalid: u(A) && !u(w).trim(),
240
+ invalid: u(ae) && !u(w).trim(),
225
241
  dropdown: "",
226
242
  fluid: "",
227
243
  placeholder: e.$t("views.settings.assistant_model_placeholder"),
228
244
  onComplete: de,
229
- onDropdownClick: fe
245
+ onDropdownClick: N
230
246
  }, null, 8, [
231
247
  "modelValue",
232
248
  "suggestions",
@@ -244,16 +260,16 @@ var Fe = o({
244
260
  _: 1
245
261
  })
246
262
  ]),
247
- _("div", K, [_("label", q, r(e.$t("views.settings.assistant_model_name_label")), 1), S(d, {
263
+ _("div", q, [_("label", Ke, r(e.$t("views.settings.assistant_model_name_label")), 1), S(d, {
248
264
  id: "assistantModelName",
249
- modelValue: u(T),
250
- "onUpdate:modelValue": i[5] ||= (e) => l(T) ? T.value = e : null,
265
+ modelValue: u(ne),
266
+ "onUpdate:modelValue": i[5] ||= (e) => l(ne) ? ne.value = e : null,
251
267
  modelModifiers: { trim: !0 },
252
268
  placeholder: u(w).trim() || e.$t("views.settings.assistant_model_name_placeholder"),
253
269
  maxlength: "40",
254
270
  fluid: ""
255
271
  }, null, 8, ["modelValue", "placeholder"])]),
256
- _("div", J, [_("div", Y, [_("label", He, r(e.$t("views.settings.assistant_model_users")), 1), S(o, {
272
+ _("div", J, [_("div", Y, [_("label", qe, r(e.$t("views.settings.assistant_model_users")), 1), S(o, {
257
273
  severity: "secondary",
258
274
  variant: "simple",
259
275
  size: "small",
@@ -262,12 +278,12 @@ var Fe = o({
262
278
  default: f(() => [y(r(e.$t("views.settings.assistant_model_users_info")), 1)]),
263
279
  _: 1
264
280
  })]), S(x, {
265
- modelValue: u(D),
266
- "onUpdate:modelValue": i[6] ||= (e) => l(D) ? D.value = e : null,
281
+ modelValue: u(E),
282
+ "onUpdate:modelValue": i[6] ||= (e) => l(E) ? E.value = e : null,
267
283
  "input-id": "assistantModelUsers",
268
284
  class: "ml-auto shrink-0"
269
285
  }, null, 8, ["modelValue"])]),
270
- t.entry ? (n(), m("div", Ue, [_("div", X, [_("label", We, r(e.$t("views.settings.assistant_send_images")), 1), S(o, {
286
+ t.entry ? (n(), m("div", Je, [_("div", X, [_("label", Ye, r(e.$t("views.settings.assistant_send_images")), 1), S(o, {
271
287
  severity: "secondary",
272
288
  variant: "simple",
273
289
  size: "small",
@@ -276,123 +292,131 @@ var Fe = o({
276
292
  default: f(() => [y(r(t.entry.capabilities?.vision === !1 ? e.$t("views.settings.assistant_send_images_no_vision") : e.$t("views.settings.assistant_send_images_info")), 1)]),
277
293
  _: 1
278
294
  })]), S(x, {
279
- modelValue: u(E),
280
- "onUpdate:modelValue": i[7] ||= (e) => l(E) ? E.value = e : null,
295
+ modelValue: u(T),
296
+ "onUpdate:modelValue": i[7] ||= (e) => l(T) ? T.value = e : null,
281
297
  "input-id": "assistantModelImages",
282
298
  class: "ml-auto shrink-0"
283
299
  }, null, 8, ["modelValue"])])) : c("", !0)
284
300
  ]);
285
301
  };
286
302
  }
287
- }), Ke = { class: "w-full h-full" }, qe = {
303
+ }), Ze = { class: "w-full h-full" }, Qe = {
288
304
  key: 0,
289
305
  class: "w-full h-full flex items-center justify-center"
290
- }, Je = {
306
+ }, $e = {
291
307
  key: 1,
292
308
  class: "flex flex-col w-full gap-6"
293
- }, Ye = { class: "card-title" }, Xe = { class: "flex items-center gap-4" }, Ze = { class: "flex flex-col field-switch-gap min-w-0" }, Qe = { class: "text-sm font-bold text-color" }, $e = { class: "card-title" }, et = { class: "flex flex-col gap-6" }, tt = { class: "flex items-center gap-4 cui-toggle-switch" }, nt = { class: "flex flex-col field-switch-gap" }, rt = {
309
+ }, 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 = {
294
310
  for: "enabled",
295
311
  class: "cui-label-switch"
296
- }, it = {
312
+ }, lt = {
297
313
  key: 0,
298
314
  class: "flex flex-col divide-y divide-(--border-color)"
299
- }, at = { class: "flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1" }, ot = { class: "max-w-full basis-full truncate font-medium text-color md:basis-auto" }, st = { class: "order-3 mt-1 flex flex-wrap items-center gap-1.5 md:order-2 md:mt-0" }, ct = { class: "order-2 basis-full truncate text-muted md:order-3" }, lt = {
315
+ }, 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 = {
300
316
  key: 0,
301
317
  class: "order-4 basis-full text-xs text-danger line-clamp-2"
302
- }, ut = { class: "hidden shrink-0 items-center gap-1 md:flex" }, dt = {
318
+ }, ht = { class: "hidden shrink-0 items-center gap-1 md:flex" }, gt = { class: "shrink-0 md:hidden" }, _t = {
303
319
  key: 1,
304
320
  class: "text-sm text-muted"
305
- }, ft = { class: "flex" }, pt = { class: "card-title" }, mt = { class: "flex flex-col gap-6" }, ht = { class: "flex min-w-0 items-center gap-2" }, gt = ["for"], _t = {
321
+ }, 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 = {
306
322
  key: 1,
307
323
  class: "text-sm text-muted"
308
- }, vt = { class: "flex" }, yt = { class: "card-title" }, bt = { class: "flex flex-col gap-6" }, xt = { class: "flex items-center gap-4 cui-toggle-switch" }, St = { class: "flex flex-col field-switch-gap" }, Ct = {
324
+ }, 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 = {
309
325
  for: "memoryEnabled",
310
326
  class: "cui-label-switch"
311
- }, wt = { class: "flex items-center gap-4 cui-toggle-switch" }, Tt = { class: "flex flex-col field-switch-gap" }, Et = {
327
+ }, At = { class: "flex items-center gap-4 cui-toggle-switch" }, jt = { class: "flex flex-col field-switch-gap" }, Mt = {
312
328
  for: "terminalEnabled",
313
329
  class: "cui-label-switch"
314
- }, Dt = { class: "flex flex-col field-gap" }, Ot = {
330
+ }, Nt = { class: "flex flex-col field-gap" }, Pt = {
315
331
  for: "language",
316
332
  class: "cui-label"
317
- }, kt = { class: "flex flex-col field-gap" }, At = {
333
+ }, Ft = { class: "flex flex-col field-gap" }, It = {
318
334
  for: "reasoning",
319
335
  class: "cui-label"
320
- }, jt = { class: "flex flex-col md:flex-row gap-6" }, Mt = { class: "flex flex-col field-gap flex-1" }, Nt = {
336
+ }, Lt = { class: "flex flex-col md:flex-row gap-6" }, Rt = { class: "flex flex-col field-gap flex-1" }, zt = {
321
337
  for: "maxIterations",
322
338
  class: "cui-label"
323
- }, Pt = { class: "flex flex-col field-gap flex-1" }, Ft = {
339
+ }, Bt = { class: "flex flex-col field-gap flex-1" }, Vt = {
324
340
  for: "maxToolCalls",
325
341
  class: "cui-label"
326
- }, It = { class: "flex flex-col field-gap" }, Lt = {
342
+ }, Ht = { class: "flex flex-col field-gap" }, Ut = {
327
343
  for: "contextTokens",
328
344
  class: "cui-label"
329
- }, Rt = { class: "flex flex-col md:flex-row gap-4" }, zt = { class: "flex flex-col field-gap flex-1" }, Bt = {
345
+ }, Wt = { class: "flex flex-col md:flex-row gap-4" }, Gt = { class: "flex flex-col field-gap flex-1" }, Kt = {
330
346
  for: "historyThreads",
331
347
  class: "cui-label"
332
- }, Vt = { class: "flex flex-col field-gap flex-1" }, Ht = {
348
+ }, qt = { class: "flex flex-col field-gap flex-1" }, Jt = {
333
349
  for: "historyImages",
334
350
  class: "cui-label"
335
- }, Ut = { class: "flex flex-col field-gap" }, Wt = {
351
+ }, Yt = { class: "flex flex-col field-gap" }, Xt = {
336
352
  for: "systemPromptExtra",
337
353
  class: "cui-label"
338
- }, Gt = { class: "flex items-center gap-2" }, Kt = { class: "card-title" }, qt = { class: "flex flex-col gap-6" }, Jt = { class: "flex flex-col gap-4" }, Yt = { class: "flex items-center justify-between gap-4" }, Xt = { class: "flex flex-col" }, Zt = { class: "text-sm font-medium text-color" }, Qt = { class: "text-xs text-muted" }, $t = { class: "flex items-center justify-between gap-4" }, en = { class: "flex flex-col" }, tn = { class: "text-sm font-medium text-color" }, nn = { class: "text-xs text-muted" }, rn = {
354
+ }, 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 = {
339
355
  key: 0,
340
356
  class: "flex flex-col gap-6"
341
- }, an = { class: "flex flex-col field-gap" }, on = {
357
+ }, dn = { class: "flex flex-col field-gap" }, fn = {
342
358
  for: "mcpEndpoint",
343
359
  class: "cui-label"
344
- }, sn = { class: "flex flex-col field-gap" }, cn = {
360
+ }, pn = { class: "flex flex-col field-gap" }, mn = {
345
361
  for: "mcpClient",
346
362
  class: "cui-label"
347
- }, ln = { class: "flex" }, un = { class: "card-title" }, dn = { class: "flex flex-col gap-6" }, fn = { class: "flex items-center gap-3" }, pn = { class: "text-sm font-medium text-color truncate" }, mn = { class: "flex flex-col md:flex-row gap-4" }, hn = { class: "flex flex-col field-gap md:w-56" }, gn = ["for"], _n = { class: "flex flex-col field-gap flex-1" }, vn = ["for"], yn = { class: "flex flex-col field-gap" }, bn = ["for"], xn = { class: "flex items-center gap-4 cui-toggle-switch" }, Sn = { class: "flex flex-col field-switch-gap" }, Cn = ["for"], wn = { class: "flex items-center gap-2" }, Tn = { class: "card-title" }, En = { class: "flex flex-col gap-6" }, Dn = {
363
+ }, 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 = {
348
364
  key: 0,
349
365
  class: "flex flex-col divide-y divide-(--border-color)"
350
- }, On = { class: "min-w-0 flex-1" }, kn = { class: "flex flex-wrap items-center gap-2" }, An = { class: "font-medium text-color" }, jn = { class: "mt-0.5 text-muted line-clamp-2" }, Mn = { class: "mt-1 text-xs text-muted" }, Nn = { key: 0 }, Pn = { key: 1 }, Fn = { class: "flex shrink-0 items-center gap-1" }, In = { class: "flex flex-col md:flex-row gap-6" }, Ln = { class: "flex flex-col field-gap flex-1" }, Rn = {
366
+ }, 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 = {
367
+ key: 0,
368
+ class: "basis-full text-xs text-danger line-clamp-2"
369
+ }, 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 = {
351
370
  for: "scheduleTitle",
352
371
  class: "cui-label"
353
- }, zn = { class: "flex flex-col field-gap w-full md:w-52 shrink-0" }, Bn = {
372
+ }, er = { class: "flex flex-col field-gap w-full md:w-52 shrink-0" }, tr = {
354
373
  for: "scheduleDeliver",
355
374
  class: "cui-label"
356
- }, Vn = { class: "flex flex-col field-gap" }, Hn = {
375
+ }, nr = { class: "flex flex-col field-gap" }, rr = {
357
376
  for: "schedulePrompt",
358
377
  class: "cui-label"
359
- }, Un = {
378
+ }, ir = {
360
379
  key: 0,
361
380
  class: "flex flex-col field-gap"
362
- }, Wn = {
381
+ }, ar = {
363
382
  for: "scheduleProfile",
364
383
  class: "cui-label"
365
- }, Gn = { class: "flex flex-col md:flex-row gap-6" }, Kn = { class: "flex flex-col field-gap flex-1" }, qn = {
384
+ }, or = { class: "flex flex-col md:flex-row gap-6" }, sr = { class: "flex flex-col field-gap flex-1" }, cr = {
366
385
  for: "schedulePreset",
367
386
  class: "cui-label"
368
- }, Jn = {
387
+ }, lr = {
369
388
  key: 0,
370
389
  class: "flex flex-col field-gap w-full md:w-40 shrink-0"
371
- }, Yn = {
390
+ }, ur = {
372
391
  for: "scheduleTime",
373
392
  class: "cui-label"
374
- }, Xn = {
393
+ }, dr = {
375
394
  key: 1,
376
395
  class: "flex flex-col field-gap flex-1"
377
- }, Zn = {
396
+ }, fr = {
378
397
  for: "scheduleCron",
379
398
  class: "cui-label"
380
- }, Qn = { class: "flex" }, $n = { class: "card-title" }, er = { class: "flex flex-col gap-3" }, tr = { class: "text-sm text-muted" }, nr = { class: "truncate" }, rr = { class: "truncate" }, ir = { class: "card-title" }, ar = {
399
+ }, 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 = {
381
400
  key: 0,
382
401
  class: "text-sm text-muted"
383
- }, or = {
402
+ }, xr = {
384
403
  key: 1,
385
404
  class: "flex flex-col gap-6"
386
- }, sr = {
405
+ }, Sr = {
387
406
  key: 0,
388
407
  class: "mb-4 flex flex-col field-gap"
389
- }, cr = ["for"], lr = { class: "flex max-h-96 flex-col divide-y divide-(--border-color) overflow-y-auto pr-2" }, ur = { class: "min-w-0 flex-1" }, dr = { class: "flex flex-wrap items-center gap-2" }, fr = { class: "font-medium text-color" }, pr = { class: "text-muted" }, mr = {
408
+ }, 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 = {
390
409
  key: 0,
391
410
  class: "flex"
392
- }, hr = "none", gr = /*#__PURE__*/ le(/* @__PURE__ */ b({
411
+ }, Z = "none", Ar = /*#__PURE__*/ N(/* @__PURE__ */ b({
393
412
  __name: "SettingsAssistant",
394
413
  setup(e) {
395
414
  let o = {
415
+ icon: k,
416
+ iconProps: { class: "text-red-500" },
417
+ labelProps: { class: "text-red-500" },
418
+ buttonProps: { severity: "danger" }
419
+ }, b = {
396
420
  memoryEnabled: !0,
397
421
  terminalEnabled: !1,
398
422
  language: null,
@@ -402,10 +426,10 @@ var Fe = o({
402
426
  contextTokens: 48e3,
403
427
  historyThreads: 50,
404
428
  historyImages: 24
405
- }, b = { columnHeaderContent: { class: "justify-end" } }, le = {
429
+ }, N = { columnHeaderContent: { class: "justify-end" } }, ve = {
406
430
  bodyRow: { class: "text-sm text-secondary" },
407
431
  column: { columnTitle: { class: "text-sm" } }
408
- }, I = new L(), we = ce(), z = N(), { t: V, locale: H } = F(), { data: Ne, isLoading: Pe } = I.usageAllQuery(), { data: U } = I.getAssistantInfoQuery(), W = I.patchAssistantInfoMutation(), { data: Ie } = I.listProfilesQuery(), { data: Le } = I.listSchedulesQuery(), Re = I.createScheduleMutation(), ze = I.patchScheduleMutation(), Be = I.deleteScheduleMutation(), Ve = I.runScheduleMutation(), G = x(null), K = x({
432
+ }, L = new I(), ke = pe(), Fe = M(), { t: B, locale: V } = F(), { data: Le, isLoading: ze } = L.usageAllQuery(), { data: H } = L.getAssistantInfoQuery(), U = L.patchAssistantInfoMutation(), { data: Ve } = L.listProfilesQuery(), { data: He } = L.listSchedulesQuery(), Ue = L.createScheduleMutation(), We = L.patchScheduleMutation(), Ge = L.deleteScheduleMutation(), W = L.runScheduleMutation(), G = x(null), K = x({
409
433
  title: "",
410
434
  prompt: "",
411
435
  preset: "daily",
@@ -413,39 +437,15 @@ var Fe = o({
413
437
  cron: "",
414
438
  deliver: "push",
415
439
  profileId: null
416
- }), q = x({}), J = x(null), Y = x("claude-code"), He = x("core"), Ue = g("modelMenuRef"), X = d(() => U.value?.settings.models ?? []), We = d(() => U.value ? R(U.value.settings) : void 0), gr = d(() => {
417
- let e = J.value;
418
- return e ? [
419
- {
420
- label: V("views.settings.assistant_model_make_default"),
421
- icon: Fe,
422
- hide: e._id === We.value?._id,
423
- disabled: W.isPending.value,
424
- onClick: () => ei(e)
425
- },
426
- {
427
- label: V("views.settings.assistant_model_edit"),
428
- icon: je,
429
- onClick: () => Zr(e)
430
- },
431
- {
432
- label: V("views.settings.assistant_model_delete"),
433
- icon: k,
434
- iconProps: { class: "text-red-500" },
435
- labelProps: { class: "text-red-500" },
436
- buttonProps: { severity: "danger" },
437
- onClick: () => $r(e)
438
- }
439
- ] : [];
440
- }), _r = d(() => [{
441
- label: V("views.settings.assistant_plugin_no_access"),
442
- value: hr
440
+ }), q = x({}), Ke = x([]), J = x([]), Y = x("claude-code"), qe = x("core"), Je = g("rowMenuRef"), X = d(() => H.value?.settings.models ?? []), Ye = d(() => H.value ? R(H.value.settings) : void 0), Ar = d(() => [{
441
+ label: B("views.settings.assistant_plugin_no_access"),
442
+ value: Z
443
443
  }, ...X.value.map((e) => ({
444
444
  label: e.name,
445
445
  value: e._id
446
- }))]), vr = d(() => {
446
+ }))]), jr = d(() => {
447
447
  let e = /* @__PURE__ */ new Map();
448
- for (let t of U.value?.tools ?? []) {
448
+ for (let t of H.value?.tools ?? []) {
449
449
  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) ?? {
450
450
  key: n,
451
451
  label: r,
@@ -455,27 +455,27 @@ var Fe = o({
455
455
  i.tools.push(t), e.set(n, i);
456
456
  }
457
457
  return Array.from(e.values());
458
- }), yr = d(() => Ne.value?.map((e) => ({
458
+ }), Mr = d(() => Le.value?.map((e) => ({
459
459
  ...e,
460
460
  key: `${e.userId}-${e.month}-${e.provider}-${e.model}`
461
- }))), Z = d(() => U.value?.status), br = d(() => {
462
- let e = new Intl.DisplayNames([H.value], { type: "language" }), t = pe.map((t) => ({
461
+ }))), Q = d(() => H.value?.status), Nr = d(() => {
462
+ let e = new Intl.DisplayNames([V.value], { type: "language" }), t = P.map((t) => ({
463
463
  label: e.of(t) ?? t,
464
464
  value: t
465
- })).sort((e, t) => e.label.localeCompare(t.label, H.value));
465
+ })).sort((e, t) => e.label.localeCompare(t.label, V.value));
466
466
  return [{
467
- label: V("views.settings.assistant_language_auto"),
467
+ label: B("views.settings.assistant_language_auto"),
468
468
  value: null
469
469
  }, ...t];
470
- }), xr = d(() => [
470
+ }), Pr = d(() => [
471
471
  "default",
472
472
  "off",
473
473
  "low",
474
474
  "high"
475
475
  ].map((e) => ({
476
- label: V(`views.settings.assistant_reasoning_${e}`),
476
+ label: B(`views.settings.assistant_reasoning_${e}`),
477
477
  value: e
478
- }))), Sr = d(() => new URL(`${A.defaults.baseURL ?? "/api"}/assistant/mcp`.replace(/\/{2,}/g, "/"), window.location.origin).toString()), Cr = d(() => [
478
+ }))), Fr = d(() => new URL(`${A.defaults.baseURL ?? "/api"}/assistant/mcp`.replace(/\/{2,}/g, "/"), window.location.origin).toString()), Ir = d(() => [
479
479
  {
480
480
  label: "Claude Code",
481
481
  value: "claude-code"
@@ -488,8 +488,8 @@ var Fe = o({
488
488
  label: "Claude Desktop",
489
489
  value: "claude-desktop"
490
490
  }
491
- ]), wr = d(() => {
492
- let e = Sr.value;
491
+ ]), Lr = d(() => {
492
+ let e = Fr.value;
493
493
  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": {
494
494
  url: e,
495
495
  headers: { Authorization: "Bearer <api token>" }
@@ -503,14 +503,14 @@ var Fe = o({
503
503
  "Authorization: Bearer <api token>"
504
504
  ]
505
505
  } } }, null, 2);
506
- }), Tr = d(() => [
506
+ }), Rr = d(() => [
507
507
  "push",
508
508
  "thread",
509
509
  "both"
510
510
  ].map((e) => ({
511
- label: V(`views.settings.assistant_schedule_deliver_${e}`),
511
+ label: B(`views.settings.assistant_schedule_deliver_${e}`),
512
512
  value: e
513
- }))), Er = d(() => [
513
+ }))), zr = d(() => [
514
514
  "daily",
515
515
  "weekdays",
516
516
  "weekends",
@@ -518,42 +518,42 @@ var Fe = o({
518
518
  "hourly",
519
519
  "custom"
520
520
  ].map((e) => ({
521
- label: V(`views.settings.assistant_schedule_preset_${e}`),
521
+ label: B(`views.settings.assistant_schedule_preset_${e}`),
522
522
  value: e
523
- }))), Dr = d(() => {
523
+ }))), Br = d(() => {
524
524
  let { preset: e, time: t, cron: n } = K.value, [r, i] = t.split(":").map((e) => Number.parseInt(e, 10));
525
525
  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" : "*"}`;
526
- }), Or = d(() => {
527
- switch (Z.value?.state) {
526
+ }), Vr = d(() => {
527
+ switch (Q.value?.state) {
528
528
  case "ready": return "success";
529
529
  case "unconfigured": return "warn";
530
530
  default: return "secondary";
531
531
  }
532
- }), kr = d(() => V(`views.settings.assistant_state_${Z.value?.state ?? "disabled"}`)), Ar = d(() => Z.value ? Z.value.state === "ready" ? V("views.settings.assistant_status_ready", { model: Z.value.model }) : V("views.settings.assistant_status_info") : "");
533
- function jr(e) {
532
+ }), Hr = d(() => B(`views.settings.assistant_state_${Q.value?.state ?? "disabled"}`)), Ur = d(() => Q.value ? Q.value.state === "ready" ? B("views.settings.assistant_status_ready", { model: Q.value.model }) : B("views.settings.assistant_status_info") : "");
533
+ function Wr(e) {
534
534
  let t = /^(\d+) (\d+) \* \* (\*|1-5|0,6|0)$/.exec(e);
535
535
  if (!t) return e;
536
536
  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";
537
- return `${V(`views.settings.assistant_schedule_preset_${r}`)} ${n}`;
537
+ return `${B(`views.settings.assistant_schedule_preset_${r}`)} ${n}`;
538
538
  }
539
- function Mr(e) {
539
+ function Gr(e) {
540
540
  return e === "push" ? "info" : e === "thread" ? "secondary" : "success";
541
541
  }
542
- function Nr(e) {
543
- return new Date(e).toLocaleString(H.value, {
542
+ function Kr(e) {
543
+ return new Date(e).toLocaleString(V.value, {
544
544
  day: "2-digit",
545
545
  month: "2-digit",
546
546
  hour: "2-digit",
547
547
  minute: "2-digit"
548
548
  });
549
549
  }
550
- async function Pr() {
551
- await Re.mutateAsync({
550
+ async function qr() {
551
+ await Ue.mutateAsync({
552
552
  title: K.value.title,
553
553
  prompt: K.value.prompt,
554
- cron: Dr.value,
554
+ cron: Br.value,
555
555
  timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
556
- language: H.value,
556
+ language: V.value,
557
557
  deliver: K.value.deliver,
558
558
  profileId: K.value.profileId,
559
559
  enabled: !0
@@ -565,56 +565,61 @@ var Fe = o({
565
565
  profileId: null
566
566
  };
567
567
  }
568
- function Fr(e) {
568
+ function Jr(e) {
569
569
  return e.replace(/^\[[^\]]+\]\s*/, "");
570
570
  }
571
- function Ir(e) {
571
+ function Yr(e) {
572
572
  if (e.source.kind !== "external") return e.approval;
573
573
  let { serverId: t, toolName: n } = e.source;
574
574
  return G.value?.mcpServers.find((e) => e.id === t)?.toolApproval[n] ?? e.approval;
575
575
  }
576
- function Lr(e) {
576
+ function Xr(e) {
577
577
  return e.tools.flatMap((e) => e.source.kind === "external" ? [{
578
- label: De(e.name),
578
+ label: Oe(e.name),
579
579
  value: e.source.toolName
580
580
  }] : []);
581
581
  }
582
- function Rr(e) {
583
- return e.tools.flatMap((e) => e.source.kind === "external" && !Ir(e) ? [e.source.toolName] : []);
582
+ function Zr(e) {
583
+ return e.tools.flatMap((e) => e.source.kind === "external" && !Yr(e) ? [e.source.toolName] : []);
584
584
  }
585
- function zr(e, t) {
585
+ function Qr(e, t) {
586
586
  let n = G.value?.mcpServers.find((t) => t.id === e.serverId);
587
- n && (n.toolApproval = Object.fromEntries(Lr(e).map((e) => [e.value, !t.includes(e.value)])));
587
+ n && (n.toolApproval = Object.fromEntries(Xr(e).map((e) => [e.value, !t.includes(e.value)])));
588
588
  }
589
- function Br(e) {
589
+ function $r(e) {
590
590
  return e < 1e3 ? String(e) : e < 1e6 ? `${(e / 1e3).toFixed(+(e < 1e4))}k` : `${(e / 1e6).toFixed(2)}M`;
591
591
  }
592
- function Vr(e) {
593
- return U.value?.external.find((t) => t.id === e);
592
+ function ei(e) {
593
+ return H.value?.external.find((t) => t.id === e);
594
594
  }
595
- function Hr(e) {
596
- let t = Vr(e);
597
- return t ? t.state === "connected" ? V("views.settings.assistant_external_state_connected", { n: t.toolCount }) : t.state === "error" ? V("views.settings.assistant_external_state_error", { message: t.error ?? "" }) : V(`views.settings.assistant_external_state_${t.state}`) : "";
595
+ function ti(e) {
596
+ let t = ei(e);
597
+ 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}`) : "";
598
598
  }
599
- function Ur(e) {
600
- let t = Vr(e)?.state;
599
+ function ni(e) {
600
+ let t = ei(e)?.state;
601
601
  return t === "connected" ? "text-success" : t === "error" ? "text-danger" : "text-muted";
602
602
  }
603
- function Wr() {
604
- G.value && G.value.mcpServers.push({
605
- id: P(),
603
+ function ri() {
604
+ if (!G.value) return;
605
+ let e = ue();
606
+ G.value.mcpServers.push({
607
+ id: e,
606
608
  name: "",
607
609
  url: "",
608
610
  enabled: !0,
609
611
  insecure: !1,
610
612
  tokenSet: !1,
611
613
  toolApproval: {}
612
- });
614
+ }), J.value.push(e);
613
615
  }
614
- function Gr(e) {
615
- G.value && (G.value.mcpServers = G.value.mcpServers.filter((t) => t.id !== e), delete q.value[e]);
616
+ function ii(e) {
617
+ J.value = J.value.includes(e) ? J.value.filter((t) => t !== e) : [...J.value, e];
618
+ }
619
+ function ai(e) {
620
+ 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]);
616
621
  }
617
- function Kr() {
622
+ function oi() {
618
623
  let e = j(G.value);
619
624
  return {
620
625
  language: e.language,
@@ -644,27 +649,74 @@ var Fe = o({
644
649
  }))
645
650
  };
646
651
  }
647
- function qr() {
648
- G.value && Object.assign(G.value, o);
652
+ function si() {
653
+ G.value && Object.assign(G.value, b);
649
654
  }
650
- async function Q() {
651
- G.value && (await W.mutateAsync(Kr()), q.value = {});
655
+ async function ci() {
656
+ G.value && (await U.mutateAsync(oi()), q.value = {});
652
657
  }
653
- function Jr(e) {
654
- return Oe.find((t) => t.value === e)?.label ?? e;
658
+ function li(e) {
659
+ return Ae.find((t) => t.value === e)?.label ?? e;
655
660
  }
656
- async function Yr(e) {
657
- return W.mutateAsync({ models: e });
661
+ async function ui(e) {
662
+ return U.mutateAsync({ models: e });
658
663
  }
659
- function Xr(e, t) {
660
- J.value = t, Ue.value?.toggleMenu(e);
664
+ function di(e, t) {
665
+ Ke.value = [
666
+ {
667
+ label: B("views.settings.assistant_model_make_default"),
668
+ icon: Be,
669
+ hide: t._id === Ye.value?._id,
670
+ disabled: U.isPending.value,
671
+ onClick: () => _i(t)
672
+ },
673
+ {
674
+ label: B("views.settings.assistant_model_edit"),
675
+ icon: Pe,
676
+ onClick: () => mi(t)
677
+ },
678
+ {
679
+ ...o,
680
+ label: B("views.settings.assistant_model_delete"),
681
+ onClick: () => gi(t)
682
+ }
683
+ ], Je.value?.toggleMenu(e);
661
684
  }
662
- function Zr(e) {
685
+ function fi(e) {
686
+ We.mutate({
687
+ scheduleId: e._id,
688
+ patch: { enabled: !e.enabled }
689
+ });
690
+ }
691
+ function pi(e, t) {
692
+ Ke.value = [
693
+ {
694
+ label: B("views.settings.assistant_schedule_run"),
695
+ icon: Re,
696
+ onClick: () => W.mutate(t._id)
697
+ },
698
+ t.enabled ? {
699
+ label: B("views.settings.assistant_schedule_pause"),
700
+ icon: je,
701
+ onClick: () => fi(t)
702
+ } : {
703
+ label: B("views.settings.assistant_schedule_resume"),
704
+ icon: De,
705
+ onClick: () => fi(t)
706
+ },
707
+ {
708
+ ...o,
709
+ label: B("views.settings.assistant_schedule_delete"),
710
+ onClick: () => Ge.mutate(t._id)
711
+ }
712
+ ], Je.value?.toggleMenu(e);
713
+ }
714
+ function mi(e) {
663
715
  let t = new Set(X.value.map((e) => e._id));
664
- z.openComponentDialog(Ge, {
716
+ Fe.openComponentDialog(Xe, {
665
717
  data: {
666
- title: V(e ? "views.settings.assistant_model_edit" : "views.settings.assistant_model_add"),
667
- confirmText: V("components.form.button.save"),
718
+ title: B(e ? "views.settings.assistant_model_edit" : "views.settings.assistant_model_add"),
719
+ confirmText: B("components.form.button.save"),
668
720
  awaitConfirm: !0,
669
721
  contentProps: {
670
722
  entry: e ? i(e) : void 0,
@@ -672,80 +724,80 @@ var Fe = o({
672
724
  }
673
725
  },
674
726
  onConfirm: async (n) => {
675
- Qr((await Yr(e ? X.value.map((t) => t._id === e._id ? n : B(t)) : [...X.value.map(B), n])).settings.models.find((n) => e ? n._id === e._id : !t.has(n._id)));
727
+ hi((await ui(e ? X.value.map((t) => t._id === e._id ? n : z(t)) : [...X.value.map(z), n])).settings.models.find((n) => e ? n._id === e._id : !t.has(n._id)));
676
728
  }
677
729
  });
678
730
  }
679
- function Qr(e) {
731
+ function hi(e) {
680
732
  let t = e?.capabilities;
681
733
  if (!t) return;
682
- let n = t.error ? V("views.settings.assistant_test_failed", { message: t.error }) : t.toolCalling ? t.vision === !1 ? V("views.settings.assistant_test_vision_missing") : "" : V("views.settings.assistant_test_tools_missing");
683
- n && we.add({
734
+ 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");
735
+ n && ke.add({
684
736
  severity: t.error ? "error" : "warn",
685
737
  detail: n,
686
738
  life: 8e3
687
739
  });
688
740
  }
689
- function $r(e) {
690
- z.openTextDialog({
741
+ function gi(e) {
742
+ Fe.openTextDialog({
691
743
  data: {
692
- title: V("views.settings.assistant_model_delete"),
693
- contentText: V("views.settings.assistant_model_delete_confirm", { name: e.name }),
694
- confirmText: V("views.settings.assistant_model_delete"),
744
+ title: B("views.settings.assistant_model_delete"),
745
+ contentText: B("views.settings.assistant_model_delete_confirm", { name: e.name }),
746
+ confirmText: B("views.settings.assistant_model_delete"),
695
747
  confirmButtonProps: { severity: "danger" }
696
748
  },
697
749
  onConfirm: async () => {
698
- await Yr(X.value.filter((t) => t._id !== e._id).map(B));
750
+ await ui(X.value.filter((t) => t._id !== e._id).map(z));
699
751
  }
700
752
  });
701
753
  }
702
- async function ei(e) {
703
- await W.mutateAsync({ defaultModelId: e._id });
754
+ async function _i(e) {
755
+ await U.mutateAsync({ defaultModelId: e._id });
704
756
  }
705
- function ti(e) {
706
- return G.value?.plugins.find((t) => t.pluginId === e)?.modelId ?? hr;
757
+ function vi(e) {
758
+ return G.value?.plugins.find((t) => t.pluginId === e)?.modelId ?? Z;
707
759
  }
708
- function ni(e) {
709
- return X.value.find((t) => t._id === ti(e));
760
+ function yi(e) {
761
+ return X.value.find((t) => t._id === vi(e));
710
762
  }
711
- function ri(e, t) {
763
+ function bi(e, t) {
712
764
  if (!G.value) return;
713
765
  let n = G.value.plugins.filter((t) => t.pluginId !== e);
714
- G.value.plugins = t === hr ? n : [...n, {
766
+ G.value.plugins = t === Z ? n : [...n, {
715
767
  pluginId: e,
716
768
  modelId: t
717
769
  }];
718
770
  }
719
- function ii(e) {
771
+ function xi(e) {
720
772
  return X.value.find((t) => t.provider === e.provider && t.model === e.model)?.name ?? e.model;
721
773
  }
722
- function ai(e) {
723
- return Ie.value?.find((t) => t._id === e)?.name;
774
+ function Si(e) {
775
+ return Ve.value?.find((t) => t._id === e)?.name;
724
776
  }
725
- return p(U, (e) => {
777
+ return p(H, (e) => {
726
778
  e && !G.value && (G.value = j(e.settings));
727
779
  }, { immediate: !0 }), (e, i) => {
728
- let o = de, d = te, p = w, g = fe, x = ne, A = Fe, j = me, N = je, P = k, ce = Ae, pe = Ce, F = ge, I = ye, L = xe, we = ke, R = he, z = ue, Oe = re, B = E, V = ee("RouterLink"), H = ae, Ne = Ee, J = _e, Ge = ve, hr = ie, Z = D, Vr = be, Kr = Me, Yr = T, Qr = se, oi = M, $ = C;
729
- return n(), m("div", Ke, [u(G) ? (n(), m("div", Je, [
730
- _("div", null, [_("span", Ye, r(e.$t("views.settings.status")), 1), S(g, { class: "cui-card" }, {
731
- content: f(() => [_("div", Xe, [_("div", Ze, [_("span", Qe, r(e.$t("views.settings.assistant_title")), 1), S(d, {
780
+ let o = oe, d = te, p = ne, g = me, b = ie, x = Be, A = he, j = Pe, M = k, ue = Ne, pe = Te, P = _e, F = xe, I = Ce, L = Me, R = ge, ke = ae, Ae = re, z = E, Fe = ee("RouterLink"), B = w, V = fe, Le = Re, We = je, Xe = De, Z = ye, Q = be, ei = O, oi = T, ui = Se, hi = Ie, Ci = ce, wi = se, Ti = le, $ = C;
781
+ return n(), m("div", Ze, [u(G) ? (n(), m("div", $e, [
782
+ _("div", null, [_("span", et, r(e.$t("views.settings.status")), 1), S(g, { class: "cui-card" }, {
783
+ content: f(() => [_("div", tt, [_("div", nt, [_("span", rt, r(e.$t("views.settings.assistant_title")), 1), S(d, {
732
784
  severity: "secondary",
733
785
  variant: "simple",
734
786
  size: "small",
735
787
  class: "cui-input-switch-hint truncate"
736
788
  }, {
737
- default: f(() => [y(r(u(Ar)), 1)]),
789
+ default: f(() => [y(r(u(Ur)), 1)]),
738
790
  _: 1
739
791
  })]), S(p, {
740
792
  class: "ml-auto shrink-0",
741
- severity: u(Or),
742
- value: u(kr)
793
+ severity: u(Vr),
794
+ value: u(Hr)
743
795
  }, null, 8, ["severity", "value"])])]),
744
796
  _: 1
745
797
  })]),
746
- _("div", null, [_("span", $e, r(e.$t("views.settings.assistant_model")), 1), S(g, { class: "cui-card" }, {
747
- content: f(() => [_("div", et, [
748
- _("div", tt, [_("div", nt, [_("label", rt, r(e.$t("components.form.label.enabled")), 1), S(d, {
798
+ _("div", null, [_("span", it, r(e.$t("views.settings.assistant_model")), 1), S(g, { class: "cui-card" }, {
799
+ content: f(() => [_("div", at, [
800
+ _("div", ot, [_("div", st, [_("label", ct, r(e.$t("components.form.label.enabled")), 1), S(d, {
749
801
  severity: "secondary",
750
802
  variant: "simple",
751
803
  size: "small",
@@ -753,12 +805,12 @@ var Fe = o({
753
805
  }, {
754
806
  default: f(() => [y(r(e.$t("views.settings.assistant_enabled_info")), 1)]),
755
807
  _: 1
756
- })]), S(x, {
757
- "model-value": u(U)?.settings.enabled ?? !1,
808
+ })]), S(b, {
809
+ "model-value": u(H)?.settings.enabled ?? !1,
758
810
  "input-id": "enabled",
759
- disabled: u(W).isPending.value,
811
+ disabled: u(U).isPending.value,
760
812
  class: "ml-auto shrink-0",
761
- "onUpdate:modelValue": i[0] ||= (e) => u(W).mutate({ enabled: e })
813
+ "onUpdate:modelValue": i[0] ||= (e) => u(U).mutate({ enabled: e })
762
814
  }, null, 8, ["model-value", "disabled"])]),
763
815
  S(d, {
764
816
  severity: "secondary",
@@ -769,14 +821,14 @@ var Fe = o({
769
821
  default: f(() => [y(r(e.$t("views.settings.assistant_models_info")), 1)]),
770
822
  _: 1
771
823
  }),
772
- u(X).length ? (n(), m("div", it, [(n(!0), m(h, null, t(u(X), (i) => (n(), m("div", {
824
+ u(X).length ? (n(), m("div", lt, [(n(!0), m(h, null, t(u(X), (i) => (n(), m("div", {
773
825
  key: i._id,
774
826
  class: "flex items-start gap-3 py-3 text-sm"
775
827
  }, [
776
- _("div", at, [
777
- _("span", ot, r(i.name), 1),
778
- _("div", st, [
779
- i._id === u(We)?._id ? (n(), s(p, {
828
+ _("div", ut, [
829
+ _("span", dt, r(i.name), 1),
830
+ _("div", ft, [
831
+ i._id === u(Ye)?._id ? (n(), s(p, {
780
832
  key: 0,
781
833
  severity: "info",
782
834
  value: e.$t("views.settings.assistant_model_default"),
@@ -788,28 +840,28 @@ var Fe = o({
788
840
  value: e.$t("views.settings.assistant_model_admins_only"),
789
841
  class: "text-[10px]"
790
842
  }, null, 8, ["value"])) : c("", !0),
791
- (n(!0), m(h, null, t(u(Te)(i), (t) => (n(), s(p, {
843
+ (n(!0), m(h, null, t(u(Ee)(i), (t) => (n(), s(p, {
792
844
  key: t.key,
793
845
  severity: t.severity,
794
846
  value: e.$t(`views.settings.assistant_capability_${t.key}`),
795
847
  class: "text-[10px]"
796
848
  }, null, 8, ["severity", "value"]))), 128))
797
849
  ]),
798
- _("div", ct, r(Jr(i.provider)) + " · " + r(i.model), 1),
799
- i.capabilities?.error ? (n(), m("div", lt, r(i.capabilities.error), 1)) : c("", !0)
850
+ _("div", pt, r(li(i.provider)) + " · " + r(i.model), 1),
851
+ i.capabilities?.error ? (n(), m("div", mt, r(i.capabilities.error), 1)) : c("", !0)
800
852
  ]),
801
- _("div", ut, [
802
- i._id === u(We)?._id ? c("", !0) : v((n(), s(j, {
853
+ _("div", ht, [
854
+ i._id === u(Ye)?._id ? c("", !0) : v((n(), s(A, {
803
855
  key: 0,
804
856
  type: "button",
805
857
  severity: "secondary",
806
858
  text: "",
807
859
  rounded: "",
808
860
  class: "cui-icon-md",
809
- disabled: u(W).isPending.value,
810
- onClick: (e) => ei(i)
861
+ disabled: u(U).isPending.value,
862
+ onClick: (e) => _i(i)
811
863
  }, {
812
- icon: f(() => [S(A, {
864
+ icon: f(() => [S(x, {
813
865
  width: "100%",
814
866
  height: "100%"
815
867
  })]),
@@ -820,15 +872,15 @@ var Fe = o({
820
872
  void 0,
821
873
  { top: !0 }
822
874
  ]]),
823
- v((n(), s(j, {
875
+ v((n(), s(A, {
824
876
  type: "button",
825
877
  severity: "secondary",
826
878
  text: "",
827
879
  rounded: "",
828
880
  class: "cui-icon-md",
829
- onClick: (e) => Zr(i)
881
+ onClick: (e) => mi(i)
830
882
  }, {
831
- icon: f(() => [S(N, {
883
+ icon: f(() => [S(j, {
832
884
  width: "100%",
833
885
  height: "100%"
834
886
  })]),
@@ -839,15 +891,15 @@ var Fe = o({
839
891
  void 0,
840
892
  { top: !0 }
841
893
  ]]),
842
- v((n(), s(j, {
894
+ v((n(), s(A, {
843
895
  type: "button",
844
896
  severity: "danger",
845
897
  text: "",
846
898
  rounded: "",
847
899
  class: "cui-icon-md",
848
- onClick: (e) => $r(i)
900
+ onClick: (e) => gi(i)
849
901
  }, {
850
- icon: f(() => [S(P, {
902
+ icon: f(() => [S(M, {
851
903
  width: "100%",
852
904
  height: "100%"
853
905
  })]),
@@ -859,29 +911,29 @@ var Fe = o({
859
911
  { top: !0 }
860
912
  ]])
861
913
  ]),
862
- S(j, {
914
+ _("div", gt, [S(A, {
863
915
  type: "button",
864
916
  severity: "secondary",
865
917
  text: "",
866
918
  rounded: "",
867
- class: "cui-icon-md shrink-0 md:hidden",
868
- onClick: (e) => Xr(e, i)
919
+ class: "cui-icon-md",
920
+ onClick: (e) => di(e, i)
869
921
  }, {
870
- icon: f(() => [S(ce, {
922
+ icon: f(() => [S(ue, {
871
923
  width: "100%",
872
924
  height: "100%"
873
925
  })]),
874
926
  _: 1
875
- }, 8, ["onClick"])
876
- ]))), 128))])) : (n(), m("div", dt, r(e.$t("views.settings.assistant_models_empty")), 1)),
877
- _("div", ft, [S(j, {
927
+ }, 8, ["onClick"])])
928
+ ]))), 128))])) : (n(), m("div", _t, r(e.$t("views.settings.assistant_models_empty")), 1)),
929
+ _("div", vt, [S(A, {
878
930
  type: "button",
879
931
  severity: "secondary",
880
932
  outlined: "",
881
933
  class: "cui-button-medium ml-auto",
882
934
  label: e.$t("views.settings.assistant_model_add"),
883
935
  disabled: u(X).length >= 20,
884
- onClick: i[1] ||= (e) => Zr()
936
+ onClick: i[1] ||= (e) => mi()
885
937
  }, {
886
938
  icon: f(() => [S(pe, { class: "w-4 h-4" })]),
887
939
  _: 1
@@ -889,8 +941,8 @@ var Fe = o({
889
941
  ])]),
890
942
  _: 1
891
943
  })]),
892
- _("div", null, [_("span", pt, r(e.$t("views.settings.assistant_plugins")), 1), S(g, { class: "cui-card" }, {
893
- content: f(() => [_("div", mt, [
944
+ _("div", null, [_("span", yt, r(e.$t("views.settings.assistant_plugins")), 1), S(g, { class: "cui-card" }, {
945
+ content: f(() => [_("div", bt, [
894
946
  S(d, {
895
947
  severity: "secondary",
896
948
  variant: "simple",
@@ -900,44 +952,44 @@ var Fe = o({
900
952
  default: f(() => [y(r(e.$t("views.settings.assistant_plugins_info")), 1)]),
901
953
  _: 1
902
954
  }),
903
- u(U)?.plugins.length ? (n(!0), m(h, { key: 0 }, t(u(U).plugins, (t) => (n(), m("div", {
955
+ u(H)?.plugins.length ? (n(!0), m(h, { key: 0 }, t(u(H).plugins, (t) => (n(), m("div", {
904
956
  key: t.id,
905
957
  class: "flex flex-col field-gap"
906
- }, [_("div", ht, [_("label", {
958
+ }, [_("div", xt, [_("label", {
907
959
  for: `plugin-${t.id}`,
908
960
  class: "cui-label truncate"
909
- }, r(t.name), 9, gt), ni(t.id)?.capabilities?.vision === !1 ? (n(), s(p, {
961
+ }, r(t.name), 9, St), yi(t.id)?.capabilities?.vision === !1 ? (n(), s(p, {
910
962
  key: 0,
911
963
  severity: "warn",
912
964
  value: e.$t("views.settings.assistant_capability_no_vision"),
913
965
  class: "shrink-0 text-[10px]"
914
- }, null, 8, ["value"])) : c("", !0)]), S(F, {
915
- "model-value": ti(t.id),
966
+ }, null, 8, ["value"])) : c("", !0)]), S(P, {
967
+ "model-value": vi(t.id),
916
968
  "input-id": `plugin-${t.id}`,
917
- options: u(_r),
969
+ options: u(Ar),
918
970
  "option-label": "label",
919
971
  "option-value": "value",
920
972
  fluid: "",
921
- "onUpdate:modelValue": (e) => ri(t.id, e)
973
+ "onUpdate:modelValue": (e) => bi(t.id, e)
922
974
  }, null, 8, [
923
975
  "model-value",
924
976
  "input-id",
925
977
  "options",
926
978
  "onUpdate:modelValue"
927
- ])]))), 128)) : (n(), m("div", _t, r(e.$t("views.settings.assistant_plugins_empty")), 1)),
928
- _("div", vt, [S(j, {
979
+ ])]))), 128)) : (n(), m("div", Ct, r(e.$t("views.settings.assistant_plugins_empty")), 1)),
980
+ _("div", wt, [S(A, {
929
981
  type: "button",
930
- loading: u(W).isPending.value,
982
+ loading: u(U).isPending.value,
931
983
  class: "cui-button-medium ml-auto",
932
984
  label: e.$t("components.form.button.save"),
933
- onClick: Q
985
+ onClick: ci
934
986
  }, null, 8, ["loading", "label"])])
935
987
  ])]),
936
988
  _: 1
937
989
  })]),
938
- _("div", null, [_("span", yt, r(e.$t("views.settings.assistant_behavior")), 1), S(g, { class: "cui-card" }, {
939
- content: f(() => [_("div", bt, [
940
- _("div", xt, [_("div", St, [_("label", Ct, r(e.$t("views.settings.assistant_memory")), 1), S(d, {
990
+ _("div", null, [_("span", Tt, r(e.$t("views.settings.assistant_behavior")), 1), S(g, { class: "cui-card" }, {
991
+ content: f(() => [_("div", Et, [
992
+ _("div", Dt, [_("div", Ot, [_("label", kt, r(e.$t("views.settings.assistant_memory")), 1), S(d, {
941
993
  severity: "secondary",
942
994
  variant: "simple",
943
995
  size: "small",
@@ -945,13 +997,13 @@ var Fe = o({
945
997
  }, {
946
998
  default: f(() => [y(r(e.$t("views.settings.assistant_memory_info")), 1)]),
947
999
  _: 1
948
- })]), S(x, {
1000
+ })]), S(b, {
949
1001
  modelValue: u(G).memoryEnabled,
950
1002
  "onUpdate:modelValue": i[2] ||= (e) => u(G).memoryEnabled = e,
951
1003
  "input-id": "memoryEnabled",
952
1004
  class: "ml-auto shrink-0"
953
1005
  }, null, 8, ["modelValue"])]),
954
- _("div", wt, [_("div", Tt, [_("label", Et, r(e.$t("views.settings.assistant_terminal")), 1), S(d, {
1006
+ _("div", At, [_("div", jt, [_("label", Mt, r(e.$t("views.settings.assistant_terminal")), 1), S(d, {
955
1007
  severity: "secondary",
956
1008
  variant: "simple",
957
1009
  size: "small",
@@ -959,19 +1011,19 @@ var Fe = o({
959
1011
  }, {
960
1012
  default: f(() => [y(r(e.$t("views.settings.assistant_terminal_info")), 1)]),
961
1013
  _: 1
962
- })]), S(x, {
1014
+ })]), S(b, {
963
1015
  modelValue: u(G).terminalEnabled,
964
1016
  "onUpdate:modelValue": i[3] ||= (e) => u(G).terminalEnabled = e,
965
1017
  "input-id": "terminalEnabled",
966
1018
  class: "ml-auto shrink-0"
967
1019
  }, null, 8, ["modelValue"])]),
968
- _("div", Dt, [
969
- _("label", Ot, r(e.$t("views.settings.assistant_language_label")), 1),
970
- S(F, {
1020
+ _("div", Nt, [
1021
+ _("label", Pt, r(e.$t("views.settings.assistant_language_label")), 1),
1022
+ S(P, {
971
1023
  modelValue: u(G).language,
972
1024
  "onUpdate:modelValue": i[4] ||= (e) => u(G).language = e,
973
1025
  "input-id": "language",
974
- options: u(br),
1026
+ options: u(Nr),
975
1027
  "option-label": "label",
976
1028
  "option-value": "value",
977
1029
  filter: "",
@@ -987,13 +1039,13 @@ var Fe = o({
987
1039
  _: 1
988
1040
  })
989
1041
  ]),
990
- _("div", kt, [
991
- _("label", At, r(e.$t("views.settings.assistant_reasoning_label")), 1),
992
- S(F, {
1042
+ _("div", Ft, [
1043
+ _("label", It, r(e.$t("views.settings.assistant_reasoning_label")), 1),
1044
+ S(P, {
993
1045
  modelValue: u(G).reasoning,
994
1046
  "onUpdate:modelValue": i[5] ||= (e) => u(G).reasoning = e,
995
1047
  "input-id": "reasoning",
996
- options: u(xr),
1048
+ options: u(Pr),
997
1049
  "option-label": "label",
998
1050
  "option-value": "value",
999
1051
  fluid: ""
@@ -1008,9 +1060,9 @@ var Fe = o({
1008
1060
  _: 1
1009
1061
  })
1010
1062
  ]),
1011
- _("div", jt, [_("div", Mt, [
1012
- _("label", Nt, r(e.$t("views.settings.assistant_max_iterations_label")), 1),
1013
- S(I, {
1063
+ _("div", Lt, [_("div", Rt, [
1064
+ _("label", zt, r(e.$t("views.settings.assistant_max_iterations_label")), 1),
1065
+ S(F, {
1014
1066
  modelValue: u(G).maxIterations,
1015
1067
  "onUpdate:modelValue": i[6] ||= (e) => u(G).maxIterations = e,
1016
1068
  min: 1,
@@ -1027,9 +1079,9 @@ var Fe = o({
1027
1079
  default: f(() => [y(r(e.$t("views.settings.assistant_max_iterations_info")), 1)]),
1028
1080
  _: 1
1029
1081
  })
1030
- ]), _("div", Pt, [
1031
- _("label", Ft, r(e.$t("views.settings.assistant_max_tool_calls_label")), 1),
1032
- S(I, {
1082
+ ]), _("div", Bt, [
1083
+ _("label", Vt, r(e.$t("views.settings.assistant_max_tool_calls_label")), 1),
1084
+ S(F, {
1033
1085
  modelValue: u(G).maxToolCalls,
1034
1086
  "onUpdate:modelValue": i[7] ||= (e) => u(G).maxToolCalls = e,
1035
1087
  min: 1,
@@ -1047,9 +1099,9 @@ var Fe = o({
1047
1099
  _: 1
1048
1100
  })
1049
1101
  ])]),
1050
- _("div", It, [
1051
- _("label", Lt, r(e.$t("views.settings.assistant_context_tokens_label")), 1),
1052
- S(I, {
1102
+ _("div", Ht, [
1103
+ _("label", Ut, r(e.$t("views.settings.assistant_context_tokens_label")), 1),
1104
+ S(F, {
1053
1105
  id: "contextTokens",
1054
1106
  modelValue: u(G).contextTokens,
1055
1107
  "onUpdate:modelValue": i[8] ||= (e) => u(G).contextTokens = e,
@@ -1069,9 +1121,9 @@ var Fe = o({
1069
1121
  _: 1
1070
1122
  })
1071
1123
  ]),
1072
- _("div", Rt, [_("div", zt, [
1073
- _("label", Bt, r(e.$t("views.settings.assistant_history_threads_label")), 1),
1074
- S(I, {
1124
+ _("div", Wt, [_("div", Gt, [
1125
+ _("label", Kt, r(e.$t("views.settings.assistant_history_threads_label")), 1),
1126
+ S(F, {
1075
1127
  id: "historyThreads",
1076
1128
  modelValue: u(G).historyThreads,
1077
1129
  "onUpdate:modelValue": i[9] ||= (e) => u(G).historyThreads = e,
@@ -1089,9 +1141,9 @@ var Fe = o({
1089
1141
  default: f(() => [y(r(e.$t("views.settings.assistant_history_threads_info")), 1)]),
1090
1142
  _: 1
1091
1143
  })
1092
- ]), _("div", Vt, [
1093
- _("label", Ht, r(e.$t("views.settings.assistant_history_images_label")), 1),
1094
- S(I, {
1144
+ ]), _("div", qt, [
1145
+ _("label", Jt, r(e.$t("views.settings.assistant_history_images_label")), 1),
1146
+ S(F, {
1095
1147
  id: "historyImages",
1096
1148
  modelValue: u(G).historyImages,
1097
1149
  "onUpdate:modelValue": i[10] ||= (e) => u(G).historyImages = e,
@@ -1110,9 +1162,9 @@ var Fe = o({
1110
1162
  _: 1
1111
1163
  })
1112
1164
  ])]),
1113
- _("div", Ut, [
1114
- _("label", Wt, r(e.$t("views.settings.assistant_extra_prompt_label")), 1),
1115
- S(L, {
1165
+ _("div", Yt, [
1166
+ _("label", Xt, r(e.$t("views.settings.assistant_extra_prompt_label")), 1),
1167
+ S(I, {
1116
1168
  modelValue: u(G).systemPromptExtra,
1117
1169
  "onUpdate:modelValue": i[11] ||= (e) => u(G).systemPromptExtra = e,
1118
1170
  rows: "3",
@@ -1129,28 +1181,28 @@ var Fe = o({
1129
1181
  _: 1
1130
1182
  })
1131
1183
  ]),
1132
- _("div", Gt, [S(j, {
1184
+ _("div", Zt, [S(A, {
1133
1185
  type: "button",
1134
1186
  severity: "secondary",
1135
1187
  outlined: "",
1136
1188
  class: "cui-button-medium ml-auto",
1137
1189
  label: e.$t("components.form.button.reset_defaults"),
1138
- onClick: qr
1190
+ onClick: si
1139
1191
  }, {
1140
- icon: f(() => [S(we, { class: "w-4 h-4" })]),
1192
+ icon: f(() => [S(L, { class: "w-4 h-4" })]),
1141
1193
  _: 1
1142
- }, 8, ["label"]), S(j, {
1194
+ }, 8, ["label"]), S(A, {
1143
1195
  type: "button",
1144
- loading: u(W).isPending.value,
1196
+ loading: u(U).isPending.value,
1145
1197
  class: "cui-button-medium",
1146
1198
  label: e.$t("components.form.button.save"),
1147
- onClick: Q
1199
+ onClick: ci
1148
1200
  }, null, 8, ["loading", "label"])])
1149
1201
  ])]),
1150
1202
  _: 1
1151
1203
  })]),
1152
- _("div", null, [_("span", Kt, r(e.$t("views.settings.assistant_mcp")), 1), S(g, { class: "cui-card" }, {
1153
- content: f(() => [_("div", qt, [
1204
+ _("div", null, [_("span", Qt, r(e.$t("views.settings.assistant_mcp")), 1), S(g, { class: "cui-card" }, {
1205
+ content: f(() => [_("div", $t, [
1154
1206
  S(d, {
1155
1207
  severity: "secondary",
1156
1208
  variant: "simple",
@@ -1160,31 +1212,31 @@ var Fe = o({
1160
1212
  default: f(() => [y(r(e.$t("views.settings.assistant_mcp_info")), 1)]),
1161
1213
  _: 1
1162
1214
  }),
1163
- _("div", Jt, [_("div", Yt, [_("div", Xt, [_("span", Zt, r(e.$t("views.settings.assistant_mcp_enabled_label")), 1), _("span", Qt, r(e.$t("views.settings.assistant_mcp_enabled_info")), 1)]), S(x, {
1215
+ _("div", en, [_("div", tn, [_("div", nn, [_("span", rn, r(e.$t("views.settings.assistant_mcp_enabled_label")), 1), _("span", an, r(e.$t("views.settings.assistant_mcp_enabled_info")), 1)]), S(b, {
1164
1216
  modelValue: u(G).mcpEnabled,
1165
1217
  "onUpdate:modelValue": i[12] ||= (e) => u(G).mcpEnabled = e
1166
- }, null, 8, ["modelValue"])]), _("div", $t, [_("div", en, [_("span", tn, r(e.$t("views.settings.assistant_mcp_writes_label")), 1), _("span", nn, r(e.$t("views.settings.assistant_mcp_writes_info")), 1)]), S(x, {
1218
+ }, null, 8, ["modelValue"])]), _("div", on, [_("div", sn, [_("span", cn, r(e.$t("views.settings.assistant_mcp_writes_label")), 1), _("span", ln, r(e.$t("views.settings.assistant_mcp_writes_info")), 1)]), S(b, {
1167
1219
  modelValue: u(G).mcpWrites,
1168
1220
  "onUpdate:modelValue": i[13] ||= (e) => u(G).mcpWrites = e,
1169
1221
  disabled: !u(G).mcpEnabled
1170
1222
  }, null, 8, ["modelValue", "disabled"])])]),
1171
- u(G).mcpEnabled ? (n(), m("div", rn, [_("div", an, [
1172
- _("label", on, r(e.$t("views.settings.assistant_mcp_endpoint_label")), 1),
1173
- S(B, null, {
1223
+ u(G).mcpEnabled ? (n(), m("div", un, [_("div", dn, [
1224
+ _("label", fn, r(e.$t("views.settings.assistant_mcp_endpoint_label")), 1),
1225
+ S(z, null, {
1174
1226
  default: f(() => [S(R, {
1175
1227
  id: "mcpEndpoint",
1176
- "model-value": u(Sr),
1228
+ "model-value": u(Fr),
1177
1229
  readonly: "",
1178
1230
  class: "font-mono text-sm"
1179
- }, null, 8, ["model-value"]), S(Oe, null, {
1180
- default: f(() => [S(z, {
1231
+ }, null, 8, ["model-value"]), S(Ae, null, {
1232
+ default: f(() => [S(ke, {
1181
1233
  "action-text": e.$t("components.form.tooltip.copied"),
1182
- icon: u(Se),
1234
+ icon: u(we),
1183
1235
  "button-props": {
1184
1236
  severity: "secondary",
1185
1237
  text: !0
1186
1238
  },
1187
- onAction: i[14] ||= (e) => u(oe)(u(Sr))
1239
+ onAction: i[14] ||= (e) => u(de)(u(Fr))
1188
1240
  }, null, 8, ["action-text", "icon"])]),
1189
1241
  _: 1
1190
1242
  })]),
@@ -1196,7 +1248,7 @@ var Fe = o({
1196
1248
  size: "small",
1197
1249
  class: "cui-input-hint"
1198
1250
  }, {
1199
- default: f(() => [y(r(e.$t("views.settings.assistant_mcp_token_info")) + " ", 1), S(V, {
1251
+ default: f(() => [y(r(e.$t("views.settings.assistant_mcp_token_info")) + " ", 1), S(Fe, {
1200
1252
  to: { name: "SettingsAccount" },
1201
1253
  class: "underline"
1202
1254
  }, {
@@ -1205,34 +1257,34 @@ var Fe = o({
1205
1257
  })]),
1206
1258
  _: 1
1207
1259
  })
1208
- ]), _("div", sn, [
1209
- _("label", cn, r(e.$t("views.settings.assistant_mcp_client_label")), 1),
1210
- S(F, {
1260
+ ]), _("div", pn, [
1261
+ _("label", mn, r(e.$t("views.settings.assistant_mcp_client_label")), 1),
1262
+ S(P, {
1211
1263
  modelValue: u(Y),
1212
1264
  "onUpdate:modelValue": i[15] ||= (e) => l(Y) ? Y.value = e : null,
1213
1265
  "input-id": "mcpClient",
1214
- options: u(Cr),
1266
+ options: u(Ir),
1215
1267
  "option-label": "label",
1216
1268
  "option-value": "value",
1217
1269
  class: "w-full"
1218
1270
  }, null, 8, ["modelValue", "options"]),
1219
- S(B, null, {
1220
- default: f(() => [S(L, {
1271
+ S(z, null, {
1272
+ default: f(() => [S(I, {
1221
1273
  id: "mcpSnippet",
1222
- "model-value": u(wr),
1274
+ "model-value": u(Lr),
1223
1275
  readonly: "",
1224
1276
  "auto-resize": "",
1225
1277
  rows: "3",
1226
1278
  class: "font-mono text-xs"
1227
- }, null, 8, ["model-value"]), S(Oe, null, {
1228
- default: f(() => [S(z, {
1279
+ }, null, 8, ["model-value"]), S(Ae, null, {
1280
+ default: f(() => [S(ke, {
1229
1281
  "action-text": e.$t("components.form.tooltip.copied"),
1230
- icon: u(Se),
1282
+ icon: u(we),
1231
1283
  "button-props": {
1232
1284
  severity: "secondary",
1233
1285
  text: !0
1234
1286
  },
1235
- onAction: i[16] ||= (e) => u(oe)(u(wr))
1287
+ onAction: i[16] ||= (e) => u(de)(u(Lr))
1236
1288
  }, null, 8, ["action-text", "icon"])]),
1237
1289
  _: 1
1238
1290
  })]),
@@ -1248,18 +1300,18 @@ var Fe = o({
1248
1300
  _: 1
1249
1301
  })
1250
1302
  ])])) : c("", !0),
1251
- _("div", ln, [S(j, {
1303
+ _("div", hn, [S(A, {
1252
1304
  type: "button",
1253
- loading: u(W).isPending.value,
1305
+ loading: u(U).isPending.value,
1254
1306
  class: "cui-button-medium ml-auto",
1255
1307
  label: e.$t("components.form.button.save"),
1256
- onClick: Q
1308
+ onClick: ci
1257
1309
  }, null, 8, ["loading", "label"])])
1258
1310
  ])]),
1259
1311
  _: 1
1260
1312
  })]),
1261
- _("div", null, [_("span", un, r(e.$t("views.settings.assistant_external")), 1), S(g, { class: "cui-card" }, {
1262
- content: f(() => [_("div", dn, [
1313
+ _("div", null, [_("span", gn, r(e.$t("views.settings.assistant_external")), 1), S(g, { class: "cui-card" }, {
1314
+ content: f(() => [_("div", _n, [
1263
1315
  S(d, {
1264
1316
  severity: "secondary",
1265
1317
  variant: "simple",
@@ -1271,37 +1323,44 @@ var Fe = o({
1271
1323
  }),
1272
1324
  (n(!0), m(h, null, t(u(G).mcpServers, (t) => (n(), m("div", {
1273
1325
  key: t.id,
1274
- class: "cui-assistant-server flex flex-col gap-4 rounded-xl p-4"
1275
- }, [
1276
- _("div", fn, [
1277
- _("span", pn, r(t.name || e.$t("views.settings.assistant_external_new")), 1),
1278
- _("span", { class: a(["text-xs", Ur(t.id)]) }, r(Hr(t.id)), 3),
1279
- S(x, {
1280
- modelValue: t.enabled,
1281
- "onUpdate:modelValue": (e) => t.enabled = e,
1282
- class: "ml-auto shrink-0"
1283
- }, null, 8, ["modelValue", "onUpdate:modelValue"]),
1284
- v((n(), s(j, {
1285
- type: "button",
1286
- severity: "secondary",
1287
- text: "",
1288
- rounded: "",
1289
- class: "cui-icon-md shrink-0",
1290
- onClick: (e) => Gr(t.id)
1291
- }, {
1292
- icon: f(() => [S(P, { class: "w-4 h-4" })]),
1293
- _: 1
1294
- }, 8, ["onClick"])), [[
1295
- $,
1296
- { value: e.$t("views.settings.assistant_external_remove") },
1297
- void 0,
1298
- { top: !0 }
1299
- ]])
1300
- ]),
1301
- _("div", mn, [_("div", hn, [_("label", {
1326
+ class: "cui-assistant-server overflow-hidden rounded-xl"
1327
+ }, [_("button", {
1328
+ type: "button",
1329
+ class: "flex w-full cursor-pointer items-center gap-3 p-4 text-left",
1330
+ "aria-expanded": u(J).includes(t.id),
1331
+ onClick: (e) => ii(t.id)
1332
+ }, [_("div", yn, [_("span", bn, r(t.name || e.$t("views.settings.assistant_external_new")), 1), ti(t.id) ? (n(), m("span", {
1333
+ key: 0,
1334
+ class: a(["truncate text-xs", ni(t.id)])
1335
+ }, r(ti(t.id)), 3)) : c("", !0)]), S(B, { class: a(["h-5 w-5 shrink-0 text-muted transition-transform duration-200", { "rotate-180": u(J).includes(t.id) }]) }, null, 8, ["class"])], 8, vn), _("div", { class: a(["cui-assistant-server-body grid", { "cui-assistant-server-open": u(J).includes(t.id) }]) }, [_("div", {
1336
+ class: "min-h-0 overflow-hidden",
1337
+ inert: !u(J).includes(t.id)
1338
+ }, [_("div", Sn, [
1339
+ _("div", Cn, [_("div", wn, [_("label", {
1340
+ for: `server-enabled-${t.id}`,
1341
+ class: "cui-label-switch"
1342
+ }, r(e.$t("components.form.label.enabled")), 9, Tn), S(d, {
1343
+ severity: "secondary",
1344
+ variant: "simple",
1345
+ size: "small",
1346
+ class: "cui-input-switch-hint"
1347
+ }, {
1348
+ default: f(() => [y(r(e.$t("views.settings.assistant_external_enabled_info")), 1)]),
1349
+ _: 1
1350
+ })]), S(b, {
1351
+ modelValue: t.enabled,
1352
+ "onUpdate:modelValue": (e) => t.enabled = e,
1353
+ "input-id": `server-enabled-${t.id}`,
1354
+ class: "ml-auto shrink-0"
1355
+ }, null, 8, [
1356
+ "modelValue",
1357
+ "onUpdate:modelValue",
1358
+ "input-id"
1359
+ ])]),
1360
+ _("div", En, [_("div", Dn, [_("label", {
1302
1361
  for: `server-name-${t.id}`,
1303
1362
  class: "cui-label"
1304
- }, r(e.$t("views.settings.assistant_external_name")), 9, gn), S(R, {
1363
+ }, r(e.$t("views.settings.assistant_external_name")), 9, On), S(R, {
1305
1364
  id: `server-name-${t.id}`,
1306
1365
  modelValue: t.name,
1307
1366
  "onUpdate:modelValue": (e) => t.name = e,
@@ -1311,10 +1370,10 @@ var Fe = o({
1311
1370
  "id",
1312
1371
  "modelValue",
1313
1372
  "onUpdate:modelValue"
1314
- ])]), _("div", _n, [_("label", {
1373
+ ])]), _("div", kn, [_("label", {
1315
1374
  for: `server-url-${t.id}`,
1316
1375
  class: "cui-label"
1317
- }, r(e.$t("views.settings.assistant_external_url")), 9, vn), S(R, {
1376
+ }, r(e.$t("views.settings.assistant_external_url")), 9, An), S(R, {
1318
1377
  id: `server-url-${t.id}`,
1319
1378
  modelValue: t.url,
1320
1379
  "onUpdate:modelValue": (e) => t.url = e,
@@ -1325,12 +1384,12 @@ var Fe = o({
1325
1384
  "modelValue",
1326
1385
  "onUpdate:modelValue"
1327
1386
  ])])]),
1328
- _("div", yn, [
1387
+ _("div", jn, [
1329
1388
  _("label", {
1330
1389
  for: `server-token-${t.id}`,
1331
1390
  class: "cui-label"
1332
- }, r(e.$t("views.settings.assistant_external_token")), 9, bn),
1333
- S(H, {
1391
+ }, r(e.$t("views.settings.assistant_external_token")), 9, Mn),
1392
+ S(V, {
1334
1393
  id: `server-token-${t.id}`,
1335
1394
  modelValue: u(q)[t.id],
1336
1395
  "onUpdate:modelValue": (e) => u(q)[t.id] = e,
@@ -1355,10 +1414,10 @@ var Fe = o({
1355
1414
  _: 2
1356
1415
  }, 1024)
1357
1416
  ]),
1358
- _("div", xn, [_("div", Sn, [_("label", {
1417
+ _("div", Nn, [_("div", Pn, [_("label", {
1359
1418
  for: `server-insecure-${t.id}`,
1360
1419
  class: "cui-label-switch"
1361
- }, r(e.$t("views.settings.assistant_external_insecure")), 9, Cn), S(d, {
1420
+ }, r(e.$t("views.settings.assistant_external_insecure")), 9, Fn), S(d, {
1362
1421
  severity: "secondary",
1363
1422
  variant: "simple",
1364
1423
  size: "small",
@@ -1366,7 +1425,7 @@ var Fe = o({
1366
1425
  }, {
1367
1426
  default: f(() => [y(r(e.$t("views.settings.assistant_external_insecure_info")), 1)]),
1368
1427
  _: 1
1369
- })]), S(x, {
1428
+ })]), S(b, {
1370
1429
  "input-id": `server-insecure-${t.id}`,
1371
1430
  modelValue: t.insecure,
1372
1431
  "onUpdate:modelValue": (e) => t.insecure = e,
@@ -1375,31 +1434,42 @@ var Fe = o({
1375
1434
  "input-id",
1376
1435
  "modelValue",
1377
1436
  "onUpdate:modelValue"
1378
- ])])
1379
- ]))), 128)),
1380
- _("div", wn, [S(j, {
1437
+ ])]),
1438
+ _("div", In, [S(A, {
1439
+ type: "button",
1440
+ severity: "danger",
1441
+ outlined: "",
1442
+ class: "cui-button-medium ml-auto",
1443
+ label: e.$t("views.settings.assistant_external_remove"),
1444
+ onClick: (e) => ai(t.id)
1445
+ }, {
1446
+ icon: f(() => [S(M, { class: "w-4 h-4" })]),
1447
+ _: 1
1448
+ }, 8, ["label", "onClick"])])
1449
+ ])], 8, xn)], 2)]))), 128)),
1450
+ _("div", Ln, [S(A, {
1381
1451
  type: "button",
1382
1452
  severity: "secondary",
1383
1453
  outlined: "",
1384
1454
  class: "cui-button-medium",
1385
1455
  label: e.$t("views.settings.assistant_external_add"),
1386
1456
  disabled: u(G).mcpServers.length >= 10,
1387
- onClick: Wr
1457
+ onClick: ri
1388
1458
  }, {
1389
1459
  icon: f(() => [S(pe, { class: "w-4 h-4" })]),
1390
1460
  _: 1
1391
- }, 8, ["label", "disabled"]), S(j, {
1461
+ }, 8, ["label", "disabled"]), S(A, {
1392
1462
  type: "button",
1393
- loading: u(W).isPending.value,
1463
+ loading: u(U).isPending.value,
1394
1464
  class: "cui-button-medium ml-auto",
1395
1465
  label: e.$t("components.form.button.save"),
1396
- onClick: Q
1466
+ onClick: ci
1397
1467
  }, null, 8, ["loading", "label"])])
1398
1468
  ])]),
1399
1469
  _: 1
1400
1470
  })]),
1401
- _("div", null, [_("span", Tn, r(e.$t("views.settings.assistant_schedules")), 1), S(g, { class: "cui-card" }, {
1402
- content: f(() => [_("div", En, [
1471
+ _("div", null, [_("span", Rn, r(e.$t("views.settings.assistant_schedules")), 1), S(g, { class: "cui-card" }, {
1472
+ content: f(() => [_("div", zn, [
1403
1473
  S(d, {
1404
1474
  severity: "secondary",
1405
1475
  variant: "simple",
@@ -1409,45 +1479,46 @@ var Fe = o({
1409
1479
  default: f(() => [y(r(e.$t("views.settings.assistant_schedules_info")), 1)]),
1410
1480
  _: 1
1411
1481
  }),
1412
- u(Le)?.length ? (n(), m("div", Dn, [(n(!0), m(h, null, t(u(Le), (t) => (n(), m("div", {
1482
+ u(He)?.length ? (n(), m("div", Bn, [(n(!0), m(h, null, t(u(He), (t) => (n(), m("div", {
1413
1483
  key: t._id,
1414
1484
  class: "flex items-start gap-3 py-3 text-sm"
1415
- }, [_("div", On, [
1416
- _("div", kn, [
1417
- _("span", An, r(t.title), 1),
1485
+ }, [_("div", { class: a(["flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1", { "opacity-60": !t.enabled }]) }, [
1486
+ _("span", Vn, r(t.title), 1),
1487
+ _("div", Hn, [
1418
1488
  S(p, {
1419
1489
  severity: "secondary",
1420
- value: jr(t.cron),
1490
+ value: Wr(t.cron),
1421
1491
  class: "text-[10px]"
1422
1492
  }, null, 8, ["value"]),
1423
1493
  S(p, {
1424
- severity: Mr(t.deliver),
1494
+ severity: Gr(t.deliver),
1425
1495
  value: e.$t(`views.settings.assistant_schedule_deliver_${t.deliver}`),
1426
1496
  class: "text-[10px]"
1427
1497
  }, null, 8, ["severity", "value"]),
1428
1498
  t.profileId ? (n(), s(p, {
1429
1499
  key: 0,
1430
- severity: ai(t.profileId) ? "secondary" : "warn",
1431
- value: ai(t.profileId) ?? e.$t("views.settings.assistant_schedule_profile_missing"),
1500
+ severity: Si(t.profileId) ? "secondary" : "warn",
1501
+ value: Si(t.profileId) ?? e.$t("views.settings.assistant_schedule_profile_missing"),
1432
1502
  class: "text-[10px]"
1433
1503
  }, null, 8, ["severity", "value"])) : c("", !0)
1434
1504
  ]),
1435
- _("div", jn, r(t.prompt), 1),
1436
- _("div", Mn, [t.enabled && t.nextRun ? (n(), m("span", Nn, r(e.$t("views.settings.assistant_schedule_next", { time: Nr(t.nextRun) })), 1)) : t.enabled ? c("", !0) : (n(), m("span", Pn, r(e.$t("views.settings.assistant_schedule_paused")), 1)), t.lastRun ? (n(), m("span", {
1505
+ _("div", Un, r(t.prompt), 1),
1506
+ _("div", Wn, [t.enabled && t.nextRun ? (n(), m("span", Gn, r(e.$t("views.settings.assistant_schedule_next", { time: Kr(t.nextRun) })), 1)) : t.enabled ? c("", !0) : (n(), m("span", Kn, r(e.$t("views.settings.assistant_schedule_paused")), 1)), t.lastRun ? (n(), m("span", {
1437
1507
  key: 2,
1438
- class: a(t.lastRun.status === "error" ? "text-danger" : "")
1439
- }, [y(" · " + r(e.$t(`views.settings.assistant_schedule_last_${t.lastRun.status}`, { time: Nr(t.lastRun.at) })) + " ", 1), t.lastRun.message ? (n(), m(h, { key: 0 }, [y("(" + r(t.lastRun.message) + ")", 1)], 64)) : c("", !0)], 2)) : c("", !0)])
1440
- ]), _("div", Fn, [
1441
- v((n(), s(j, {
1508
+ class: a({ "text-danger": t.lastRun.status === "error" })
1509
+ }, " · " + r(e.$t(`views.settings.assistant_schedule_last_${t.lastRun.status}`, { time: Kr(t.lastRun.at) })), 3)) : c("", !0)]),
1510
+ t.lastRun?.status === "error" && t.lastRun.message ? (n(), m("div", qn, r(t.lastRun.message), 1)) : c("", !0)
1511
+ ], 2), _("div", Jn, [_("div", Yn, [
1512
+ v((n(), s(A, {
1442
1513
  type: "button",
1443
1514
  severity: "secondary",
1444
1515
  text: "",
1445
1516
  rounded: "",
1446
1517
  class: "cui-icon-md",
1447
- loading: u(Ve).isPending.value && u(Ve).variables.value === t._id,
1448
- onClick: (e) => u(Ve).mutate(t._id)
1518
+ loading: u(W).isPending.value && u(W).variables.value === t._id,
1519
+ onClick: (e) => u(W).mutate(t._id)
1449
1520
  }, {
1450
- icon: f(() => [S(Ne, {
1521
+ icon: f(() => [S(Le, {
1451
1522
  width: "100%",
1452
1523
  height: "100%"
1453
1524
  })]),
@@ -1458,56 +1529,92 @@ var Fe = o({
1458
1529
  void 0,
1459
1530
  { top: !0 }
1460
1531
  ]]),
1461
- S(x, {
1462
- "model-value": t.enabled,
1463
- "onUpdate:modelValue": (e) => u(ze).mutate({
1464
- scheduleId: t._id,
1465
- patch: { enabled: e }
1466
- })
1467
- }, null, 8, ["model-value", "onUpdate:modelValue"]),
1468
- S(j, {
1532
+ v((n(), s(A, {
1533
+ type: "button",
1534
+ severity: "secondary",
1535
+ text: "",
1536
+ rounded: "",
1537
+ class: "cui-icon-md",
1538
+ onClick: (e) => fi(t)
1539
+ }, {
1540
+ icon: f(() => [t.enabled ? (n(), s(We, {
1541
+ key: 0,
1542
+ width: "100%",
1543
+ height: "100%"
1544
+ })) : (n(), s(Xe, {
1545
+ key: 1,
1546
+ width: "100%",
1547
+ height: "100%"
1548
+ }))]),
1549
+ _: 2
1550
+ }, 1032, ["onClick"])), [[
1551
+ $,
1552
+ { value: t.enabled ? e.$t("views.settings.assistant_schedule_pause") : e.$t("views.settings.assistant_schedule_resume") },
1553
+ void 0,
1554
+ { top: !0 }
1555
+ ]]),
1556
+ v((n(), s(A, {
1469
1557
  type: "button",
1470
1558
  severity: "danger",
1471
1559
  text: "",
1472
1560
  rounded: "",
1473
1561
  class: "cui-icon-md",
1474
- onClick: (e) => u(Be).mutate(t._id)
1562
+ onClick: (e) => u(Ge).mutate(t._id)
1475
1563
  }, {
1476
- icon: f(() => [S(P, {
1564
+ icon: f(() => [S(M, {
1477
1565
  width: "100%",
1478
1566
  height: "100%"
1479
1567
  })]),
1480
1568
  _: 1
1481
- }, 8, ["onClick"])
1482
- ])]))), 128))])) : c("", !0),
1483
- _("div", { class: a(["flex flex-col gap-6", { "cui-assistant-schedule-form": u(Le)?.length }]) }, [
1484
- _("div", In, [_("div", Ln, [_("label", Rn, r(e.$t("views.settings.assistant_schedule_title_label")), 1), S(R, {
1569
+ }, 8, ["onClick"])), [[
1570
+ $,
1571
+ { value: e.$t("views.settings.assistant_schedule_delete") },
1572
+ void 0,
1573
+ { top: !0 }
1574
+ ]])
1575
+ ]), _("div", Xn, [S(A, {
1576
+ type: "button",
1577
+ severity: "secondary",
1578
+ text: "",
1579
+ rounded: "",
1580
+ class: "cui-icon-md",
1581
+ loading: u(W).isPending.value && u(W).variables.value === t._id,
1582
+ onClick: (e) => pi(e, t)
1583
+ }, {
1584
+ icon: f(() => [S(ue, {
1585
+ width: "100%",
1586
+ height: "100%"
1587
+ })]),
1588
+ _: 1
1589
+ }, 8, ["loading", "onClick"])])])]))), 128))])) : c("", !0),
1590
+ _("div", { class: a(["flex flex-col gap-6", { "cui-assistant-schedule-form": u(He)?.length }]) }, [
1591
+ _("div", Zn, [_("div", Qn, [_("label", $n, r(e.$t("views.settings.assistant_schedule_title_label")), 1), S(R, {
1485
1592
  modelValue: u(K).title,
1486
1593
  "onUpdate:modelValue": i[17] ||= (e) => u(K).title = e,
1487
1594
  modelModifiers: { trim: !0 },
1488
1595
  type: "text",
1489
1596
  placeholder: e.$t("views.settings.assistant_schedule_title_placeholder"),
1490
1597
  class: "w-full"
1491
- }, null, 8, ["modelValue", "placeholder"])]), _("div", zn, [_("label", Bn, r(e.$t("views.settings.assistant_schedule_deliver_label")), 1), S(F, {
1598
+ }, null, 8, ["modelValue", "placeholder"])]), _("div", er, [_("label", tr, r(e.$t("views.settings.assistant_schedule_deliver_label")), 1), S(P, {
1492
1599
  modelValue: u(K).deliver,
1493
1600
  "onUpdate:modelValue": i[18] ||= (e) => u(K).deliver = e,
1494
- options: u(Tr),
1601
+ options: u(Rr),
1495
1602
  "option-label": "label",
1496
1603
  "option-value": "value",
1497
1604
  fluid: ""
1498
1605
  }, null, 8, ["modelValue", "options"])])]),
1499
- _("div", Vn, [_("label", Hn, r(e.$t("views.settings.assistant_schedule_prompt_label")), 1), S(L, {
1606
+ _("div", nr, [_("label", rr, r(e.$t("views.settings.assistant_schedule_prompt_label")), 1), S(I, {
1500
1607
  modelValue: u(K).prompt,
1501
1608
  "onUpdate:modelValue": i[19] ||= (e) => u(K).prompt = e,
1502
1609
  rows: "2",
1503
1610
  "auto-resize": "",
1504
1611
  placeholder: e.$t("views.settings.assistant_schedule_prompt_placeholder")
1505
1612
  }, null, 8, ["modelValue", "placeholder"])]),
1506
- u(Ie)?.length ? (n(), m("div", Un, [_("label", Wn, r(e.$t("views.settings.assistant_schedule_profile_label")), 1), S(F, {
1613
+ u(Ve)?.length ? (n(), m("div", ir, [_("label", ar, r(e.$t("views.settings.assistant_schedule_profile_label")), 1), S(P, {
1507
1614
  modelValue: u(K).profileId,
1508
1615
  "onUpdate:modelValue": i[20] ||= (e) => u(K).profileId = e,
1509
1616
  "input-id": "scheduleProfile",
1510
- options: u(Ie),
1617
+ options: u(Ve),
1511
1618
  "option-label": "name",
1512
1619
  "option-value": "_id",
1513
1620
  "show-clear": "",
@@ -1518,22 +1625,22 @@ var Fe = o({
1518
1625
  "options",
1519
1626
  "placeholder"
1520
1627
  ])])) : c("", !0),
1521
- _("div", Gn, [
1522
- _("div", Kn, [_("label", qn, r(e.$t("views.settings.assistant_schedule_when_label")), 1), S(F, {
1628
+ _("div", or, [
1629
+ _("div", sr, [_("label", cr, r(e.$t("views.settings.assistant_schedule_when_label")), 1), S(P, {
1523
1630
  modelValue: u(K).preset,
1524
1631
  "onUpdate:modelValue": i[21] ||= (e) => u(K).preset = e,
1525
- options: u(Er),
1632
+ options: u(zr),
1526
1633
  "option-label": "label",
1527
1634
  "option-value": "value",
1528
1635
  fluid: ""
1529
1636
  }, null, 8, ["modelValue", "options"])]),
1530
- u(K).preset !== "hourly" && u(K).preset !== "custom" ? (n(), m("div", Jn, [_("label", Yn, r(e.$t("views.settings.assistant_schedule_time_label")), 1), S(R, {
1637
+ u(K).preset !== "hourly" && u(K).preset !== "custom" ? (n(), m("div", lr, [_("label", ur, r(e.$t("views.settings.assistant_schedule_time_label")), 1), S(R, {
1531
1638
  modelValue: u(K).time,
1532
1639
  "onUpdate:modelValue": i[22] ||= (e) => u(K).time = e,
1533
1640
  type: "time",
1534
1641
  class: "cui-time-input w-full"
1535
1642
  }, null, 8, ["modelValue"])])) : c("", !0),
1536
- u(K).preset === "custom" ? (n(), m("div", Xn, [_("label", Zn, r(e.$t("views.settings.assistant_schedule_cron_label")), 1), S(R, {
1643
+ u(K).preset === "custom" ? (n(), m("div", dr, [_("label", fr, r(e.$t("views.settings.assistant_schedule_cron_label")), 1), S(R, {
1537
1644
  modelValue: u(K).cron,
1538
1645
  "onUpdate:modelValue": i[23] ||= (e) => u(K).cron = e,
1539
1646
  modelModifiers: { trim: !0 },
@@ -1542,13 +1649,13 @@ var Fe = o({
1542
1649
  class: "w-full font-mono text-sm"
1543
1650
  }, null, 8, ["modelValue"])])) : c("", !0)
1544
1651
  ]),
1545
- _("div", Qn, [S(j, {
1652
+ _("div", pr, [S(A, {
1546
1653
  type: "button",
1547
- loading: u(Re).isPending.value,
1548
- disabled: !u(K).title || !u(K).prompt || !u(Dr),
1654
+ loading: u(Ue).isPending.value,
1655
+ disabled: !u(K).title || !u(K).prompt || !u(Br),
1549
1656
  class: "cui-button-medium ml-auto",
1550
1657
  label: e.$t("views.settings.assistant_schedule_add"),
1551
- onClick: Pr
1658
+ onClick: qr
1552
1659
  }, null, 8, [
1553
1660
  "loading",
1554
1661
  "disabled",
@@ -1558,8 +1665,8 @@ var Fe = o({
1558
1665
  ])]),
1559
1666
  _: 1
1560
1667
  })]),
1561
- _("div", null, [_("span", $n, r(e.$t("views.settings.assistant_usage")), 1), S(g, { class: "cui-card" }, {
1562
- content: f(() => [_("div", er, [S(d, {
1668
+ _("div", null, [_("span", mr, r(e.$t("views.settings.assistant_usage")), 1), S(g, { class: "cui-card" }, {
1669
+ content: f(() => [_("div", hr, [S(d, {
1563
1670
  severity: "secondary",
1564
1671
  variant: "simple",
1565
1672
  size: "small",
@@ -1567,11 +1674,11 @@ var Fe = o({
1567
1674
  }, {
1568
1675
  default: f(() => [y(r(e.$t("views.settings.assistant_usage_info")), 1)]),
1569
1676
  _: 1
1570
- }), S(Ge, {
1571
- value: u(yr) ?? [],
1677
+ }), S(Q, {
1678
+ value: u(Mr) ?? [],
1572
1679
  "data-key": "key",
1573
- loading: u(Pe),
1574
- pt: le,
1680
+ loading: u(ze),
1681
+ pt: ve,
1575
1682
  "striped-rows": "",
1576
1683
  scrollable: ""
1577
1684
  }, {
@@ -1579,65 +1686,65 @@ var Fe = o({
1579
1686
  class: "w-[30px] h-[30px] m-0",
1580
1687
  "stroke-width": "5"
1581
1688
  })]),
1582
- empty: f(() => [_("span", tr, r(e.$t("views.settings.assistant_usage_empty")), 1)]),
1689
+ empty: f(() => [_("span", gr, r(e.$t("views.settings.assistant_usage_empty")), 1)]),
1583
1690
  default: f(() => [
1584
- S(J, {
1691
+ S(Z, {
1585
1692
  field: "month",
1586
1693
  header: e.$t("views.settings.assistant_usage_month"),
1587
1694
  "header-class": "p-2",
1588
1695
  class: "p-2 tabular-nums"
1589
1696
  }, null, 8, ["header"]),
1590
- S(J, {
1697
+ S(Z, {
1591
1698
  field: "username",
1592
1699
  header: e.$t("views.settings.assistant_usage_user"),
1593
1700
  "header-class": "p-2",
1594
1701
  class: "p-2"
1595
1702
  }, {
1596
- body: f(({ data: e }) => [_("span", nr, r(e.pluginName ?? e.username ?? e.userId), 1)]),
1703
+ body: f(({ data: e }) => [_("span", _r, r(e.pluginName ?? e.username ?? e.userId), 1)]),
1597
1704
  _: 1
1598
1705
  }, 8, ["header"]),
1599
- S(J, {
1706
+ S(Z, {
1600
1707
  field: "model",
1601
1708
  header: e.$t("views.settings.assistant_usage_model"),
1602
1709
  "header-class": "p-2",
1603
1710
  class: "p-2"
1604
1711
  }, {
1605
- body: f(({ data: e }) => [_("span", rr, r(ii(e)), 1)]),
1712
+ body: f(({ data: e }) => [_("span", vr, r(xi(e)), 1)]),
1606
1713
  _: 1
1607
1714
  }, 8, ["header"]),
1608
- S(J, {
1715
+ S(Z, {
1609
1716
  field: "runs",
1610
1717
  header: e.$t("views.settings.assistant_usage_runs"),
1611
1718
  "header-class": "p-2",
1612
1719
  class: "p-2 text-right tabular-nums",
1613
- pt: b
1720
+ pt: N
1614
1721
  }, null, 8, ["header"]),
1615
- S(J, {
1722
+ S(Z, {
1616
1723
  field: "promptTokens",
1617
1724
  header: e.$t("views.settings.assistant_usage_in"),
1618
1725
  "header-class": "p-2",
1619
1726
  class: "p-2 text-right tabular-nums",
1620
- pt: b
1727
+ pt: N
1621
1728
  }, {
1622
- body: f(({ data: e }) => [y(r(Br(e.promptTokens)), 1)]),
1729
+ body: f(({ data: e }) => [y(r($r(e.promptTokens)), 1)]),
1623
1730
  _: 1
1624
1731
  }, 8, ["header"]),
1625
- S(J, {
1732
+ S(Z, {
1626
1733
  field: "completionTokens",
1627
1734
  header: e.$t("views.settings.assistant_usage_out"),
1628
1735
  "header-class": "p-2",
1629
1736
  class: "p-2 text-right tabular-nums",
1630
- pt: b
1737
+ pt: N
1631
1738
  }, {
1632
- body: f(({ data: e }) => [y(r(Br(e.completionTokens)), 1)]),
1739
+ body: f(({ data: e }) => [y(r($r(e.completionTokens)), 1)]),
1633
1740
  _: 1
1634
1741
  }, 8, ["header"]),
1635
- S(J, {
1742
+ S(Z, {
1636
1743
  field: "costUsd",
1637
1744
  header: e.$t("views.settings.assistant_usage_cost"),
1638
1745
  "header-class": "p-2",
1639
1746
  class: "p-2 text-right tabular-nums",
1640
- pt: b
1747
+ pt: N
1641
1748
  }, {
1642
1749
  body: f(({ data: e }) => [y(r(e.costUsd ? `$${e.costUsd.toFixed(e.costUsd < 1 ? 3 : 2)}` : "–"), 1)]),
1643
1750
  _: 1
@@ -1647,14 +1754,14 @@ var Fe = o({
1647
1754
  }, 8, ["value", "loading"])])]),
1648
1755
  _: 1
1649
1756
  })]),
1650
- _("div", null, [_("span", ir, r(e.$t("views.settings.assistant_tools")), 1), S(g, { class: "cui-card" }, {
1651
- content: f(() => [u(vr).length ? (n(), m("div", or, [S(oi, {
1652
- value: u(He),
1653
- "onUpdate:value": i[24] ||= (e) => l(He) ? He.value = e : null,
1757
+ _("div", null, [_("span", yr, r(e.$t("views.settings.assistant_tools")), 1), S(g, { class: "cui-card" }, {
1758
+ content: f(() => [u(jr).length ? (n(), m("div", xr, [S(Ti, {
1759
+ value: u(qe),
1760
+ "onUpdate:value": i[24] ||= (e) => l(qe) ? qe.value = e : null,
1654
1761
  scrollable: ""
1655
1762
  }, {
1656
- default: f(() => [S(Z, { class: "mb-3" }, {
1657
- default: f(() => [(n(!0), m(h, null, t(u(vr), (e) => (n(), s(hr, {
1763
+ default: f(() => [S(oi, { class: "mb-3" }, {
1764
+ default: f(() => [(n(!0), m(h, null, t(u(jr), (e) => (n(), s(ei, {
1658
1765
  key: e.key,
1659
1766
  value: e.key,
1660
1767
  class: "text-sm"
@@ -1663,28 +1770,28 @@ var Fe = o({
1663
1770
  _: 2
1664
1771
  }, 1032, ["value"]))), 128))]),
1665
1772
  _: 1
1666
- }), S(Qr, { class: "!p-0 !bg-transparent" }, {
1667
- default: f(() => [(n(!0), m(h, null, t(u(vr), (i) => (n(), s(Yr, {
1773
+ }), S(wi, { class: "!p-0 !bg-transparent" }, {
1774
+ default: f(() => [(n(!0), m(h, null, t(u(jr), (i) => (n(), s(Ci, {
1668
1775
  key: i.key,
1669
1776
  value: i.key
1670
1777
  }, {
1671
- default: f(() => [i.serverId ? (n(), m("div", sr, [
1778
+ default: f(() => [i.serverId ? (n(), m("div", Sr, [
1672
1779
  _("label", {
1673
1780
  for: `trusted-${i.key}`,
1674
1781
  class: "cui-label"
1675
- }, r(e.$t("views.settings.assistant_tools_trusted_label")), 9, cr),
1676
- S(Vr, {
1677
- "model-value": Rr(i),
1782
+ }, r(e.$t("views.settings.assistant_tools_trusted_label")), 9, Cr),
1783
+ S(ui, {
1784
+ "model-value": Zr(i),
1678
1785
  "input-id": `trusted-${i.key}`,
1679
- options: Lr(i),
1786
+ options: Xr(i),
1680
1787
  "option-label": "label",
1681
1788
  "option-value": "value",
1682
1789
  "max-selected-labels": 3,
1683
- "selected-items-label": e.$t("views.settings.assistant_tools_trusted_selected", { n: Rr(i).length }),
1790
+ "selected-items-label": e.$t("views.settings.assistant_tools_trusted_selected", { n: Zr(i).length }),
1684
1791
  placeholder: e.$t("views.settings.assistant_tools_trusted_none"),
1685
1792
  filter: "",
1686
1793
  fluid: "",
1687
- "onUpdate:modelValue": (e) => zr(i, e)
1794
+ "onUpdate:modelValue": (e) => Qr(i, e)
1688
1795
  }, null, 8, [
1689
1796
  "model-value",
1690
1797
  "input-id",
@@ -1702,12 +1809,12 @@ var Fe = o({
1702
1809
  default: f(() => [y(r(e.$t("views.settings.assistant_tools_trusted_info")), 1)]),
1703
1810
  _: 1
1704
1811
  })
1705
- ])) : c("", !0), _("div", lr, [(n(!0), m(h, null, t(i.tools, (t) => (n(), m("div", {
1812
+ ])) : c("", !0), _("div", wr, [(n(!0), m(h, null, t(i.tools, (t) => (n(), m("div", {
1706
1813
  key: t.name,
1707
1814
  class: "flex items-start gap-3 py-2 text-sm"
1708
- }, [S(Kr, { class: "w-4 h-4 mt-0.5 shrink-0 text-muted" }), _("div", ur, [_("div", dr, [
1709
- _("span", fr, r(u(De)(t.name)), 1),
1710
- Ir(t) ? (n(), s(p, {
1815
+ }, [S(hi, { class: "w-4 h-4 mt-0.5 shrink-0 text-muted" }), _("div", Tr, [_("div", Er, [
1816
+ _("span", Dr, r(u(Oe)(t.name)), 1),
1817
+ Yr(t) ? (n(), s(p, {
1711
1818
  key: 0,
1712
1819
  severity: "warn",
1713
1820
  value: e.$t("views.settings.assistant_tool_approval"),
@@ -1719,32 +1826,32 @@ var Fe = o({
1719
1826
  value: e.$t("views.settings.assistant_tool_admin"),
1720
1827
  class: "text-[10px]"
1721
1828
  }, null, 8, ["value"])) : c("", !0)
1722
- ]), _("div", pr, r(Fr(t.description)), 1)])]))), 128))])]),
1829
+ ]), _("div", Or, r(Jr(t.description)), 1)])]))), 128))])]),
1723
1830
  _: 2
1724
1831
  }, 1032, ["value"]))), 128))]),
1725
1832
  _: 1
1726
1833
  })]),
1727
1834
  _: 1
1728
- }, 8, ["value"]), u(vr).some((e) => e.serverId) ? (n(), m("div", mr, [S(j, {
1835
+ }, 8, ["value"]), u(jr).some((e) => e.serverId) ? (n(), m("div", kr, [S(A, {
1729
1836
  type: "button",
1730
- loading: u(W).isPending.value,
1837
+ loading: u(U).isPending.value,
1731
1838
  class: "cui-button-medium ml-auto",
1732
1839
  label: e.$t("components.form.button.save"),
1733
- onClick: Q
1734
- }, null, 8, ["loading", "label"])])) : c("", !0)])) : (n(), m("div", ar, r(e.$t("views.settings.assistant_tools_empty")), 1))]),
1840
+ onClick: ci
1841
+ }, null, 8, ["loading", "label"])])) : c("", !0)])) : (n(), m("div", br, r(e.$t("views.settings.assistant_tools_empty")), 1))]),
1735
1842
  _: 1
1736
1843
  })])
1737
- ])) : (n(), m("div", qe, [S(o, {
1844
+ ])) : (n(), m("div", Qe, [S(o, {
1738
1845
  class: "w-[30px] h-[30px] m-0",
1739
1846
  "stroke-width": "5"
1740
- })])), S(O, {
1741
- ref_key: "modelMenuRef",
1742
- ref: Ue,
1743
- items: u(gr),
1847
+ })])), S(D, {
1848
+ ref_key: "rowMenuRef",
1849
+ ref: Je,
1850
+ items: u(Ke),
1744
1851
  popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
1745
1852
  }, null, 8, ["items"])]);
1746
1853
  };
1747
1854
  }
1748
- }), [["__scopeId", "data-v-35aea200"]]);
1855
+ }), [["__scopeId", "data-v-69f75eeb"]]);
1749
1856
  //#endregion
1750
- export { gr as default };
1857
+ export { Ar as default };