@camera.ui/server 0.0.110 → 0.0.112

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 (224) hide show
  1. package/dist/interface/assets/{404-CZDMFg2Z.js → 404-Dd3AyWdE.js} +1 -1
  2. package/dist/interface/assets/{About-TDIJXs5o.js → About-DAV31RZ5.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-Cciuxh1q.js → Adminpanel-zLLSmbSt.js} +1 -1
  4. package/dist/interface/assets/Automation-Dx--ghuY.js +2 -0
  5. package/dist/interface/assets/AutomationImport-chsxrEfX.js +2 -0
  6. package/dist/interface/assets/AutomationStore-BhL1O1qq.js +2 -0
  7. package/dist/interface/assets/AutomationStore-Q25Okhz8.css +1 -0
  8. package/dist/interface/assets/AutomationStoreDetail--egqUOqn.css +1 -0
  9. package/dist/interface/assets/AutomationStoreDetail-pW5g8G4I.js +2 -0
  10. package/dist/interface/assets/Automations-CQioiNmw.js +2 -0
  11. package/dist/interface/assets/{Camera-BlN_KppY.js → Camera-DVJbyl93.js} +2 -2
  12. package/dist/interface/assets/{CameraConsole-DGbeilsL.js → CameraConsole-DOiCJAQS.js} +1 -1
  13. package/dist/interface/assets/{Cameras-CVID1akl.js → Cameras-Dz7bZyRE.js} +2 -2
  14. package/dist/interface/assets/Camview-CBywGGI8.js +1 -0
  15. package/dist/interface/assets/{Camview-Gxca3bvT.css → Camview-CDM4Q_tc.css} +1 -1
  16. package/dist/interface/assets/Config-BfijMggp.js +2 -0
  17. package/dist/interface/assets/{ConfigActionCameraControl-BRgTU6MP.js → ConfigActionCameraControl-B2xFxVNO.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionDelay-CYz0z9Od.js → ConfigActionDelay-DOUAx4lh.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionHttp-C9nEQ-7w.js → ConfigActionHttp-BGz4r_Nr.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionImageInput-D8ipnlfe.js → ConfigActionImageInput-BhO3ekJT.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-FzGgJM9i.js → ConfigActionNotification-hmTEfMw3.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-BB-jkCdD.js → ConfigActionOutput-P0WY0DlF.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-C1OSUQ3_.js → ConfigActionPlugin-BgKKvqAy.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSensor-C6DOrCYd.js → ConfigActionSensor-Du072tTI.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSnapshot-k8RM-NMf.js → ConfigActionSnapshot-9aGopbuJ.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-D-1zVFz-.js → ConfigActionVariable-B2BoiQPb.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-pp0wRFeJ.js → ConfigConditionIfElse-Bhd2FYyz.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-CIbkk6LA.js → ConfigConditionSensorState-D2IIsthA.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSwitch-BPdEa--b.js → ConfigConditionSwitch-CC0w-Hvy.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionTime-bHKJ8kBR.js → ConfigConditionTime-lhWiIy2x.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerDetection-BrtBsd1t.js → ConfigTriggerDetection-CYJOEkHi.js} +1 -1
  32. package/dist/interface/assets/ConfigTriggerGeofence-4t1aW1Iw.js +1 -0
  33. package/dist/interface/assets/{ConfigTriggerManual-DDmBGqnC.js → ConfigTriggerManual-ChsUsNCK.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerSchedule-vC9yyRct.js → ConfigTriggerSchedule-CE47WiIV.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSensor-BbKksZMP.js → ConfigTriggerSensor-CVzeR8ac.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSystem-CO06Crjg.js → ConfigTriggerSystem-5TI9H8mj.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerWebhook-CrtHc6Q3.js → ConfigTriggerWebhook-D3cHvW8H.js} +1 -1
  38. package/dist/interface/assets/{Console-B4SQZA5X.js → Console-COaJF4Fu.js} +1 -1
  39. package/dist/interface/assets/{CuiActionButton-CNTiGrTt.js → CuiActionButton-Bl7gqhIV.js} +1 -1
  40. package/dist/interface/assets/{CuiAvatar-DUucUxIP.js → CuiAvatar-Drdaxxcm.js} +1 -1
  41. package/dist/interface/assets/{CuiBBoxPlayground-DOcoHCTQ.js → CuiBBoxPlayground-CIU5kteO.js} +1 -1
  42. package/dist/interface/assets/CuiBottomSheet-CrsJjITg.js +1 -0
  43. package/dist/interface/assets/{CuiBottomSheet-zPb4AI5w.js → CuiBottomSheet-ljGYA9W5.js} +1 -1
  44. package/dist/interface/assets/CuiCameraCard-O22PEfyi.js +1 -0
  45. package/dist/interface/assets/{CuiCameraPipCard-DehPfhfs.js → CuiCameraPipCard-BDZ3W5sh.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraRecordings-bqChEXwx.js → CuiCameraRecordings-BWlxU4qP.js} +1 -1
  47. package/dist/interface/assets/{CuiCameraShares-BvwB4H_0.js → CuiCameraShares-BIXFV72I.js} +1 -1
  48. package/dist/interface/assets/{CuiCameraSnapshot-C33nUgVt.js → CuiCameraSnapshot-BAwo37N7.js} +1 -1
  49. package/dist/interface/assets/{CuiCameraTable-B5wQAGfM.js → CuiCameraTable-6tWx74Nl.js} +1 -1
  50. package/dist/interface/assets/{CuiDataTable-D9GqApg1.js → CuiDataTable-saRt0sBc.js} +1 -1
  51. package/dist/interface/assets/{CuiFloatingButton-BLCO4wJw.js → CuiFloatingButton-B5YMdr0X.js} +1 -1
  52. package/dist/interface/assets/{CuiImage-B3eMhhIS.js → CuiImage-KyBpvv-t.js} +1 -1
  53. package/dist/interface/assets/{CuiMarkdownContent-YieurDkL.js → CuiMarkdownContent-DaJ8HzaP.js} +1 -1
  54. package/dist/interface/assets/CuiMarkdownContent-qIS8eQHX.js +1 -0
  55. package/dist/interface/assets/{CuiMenu-BO2e4LK5.js → CuiMenu-BBequFn_.js} +1 -1
  56. package/dist/interface/assets/{CuiPluginCard-Bu_rNdQH.js → CuiPluginCard-Bnb0YKK1.js} +2 -2
  57. package/dist/interface/assets/CuiPluginCategoryChip-CdGrTCxH.css +1 -0
  58. package/dist/interface/assets/CuiPluginCategoryChip-rfdhCEi-.js +1 -0
  59. package/dist/interface/assets/{CuiPluginOAuthButton-Q2CBmZzv.js → CuiPluginOAuthButton-CvVnSP0h.js} +2 -2
  60. package/dist/interface/assets/CuiPluginTrustBadge-QHTLaN1n.css +1 -0
  61. package/dist/interface/assets/CuiPluginTrustBadge-YhfqGTyR.js +1 -0
  62. package/dist/interface/assets/{CuiQRCode-CVHjvjZP.js → CuiQRCode-Di0RLqfL.js} +1 -1
  63. package/dist/interface/assets/{CuiRecordingsGrid-BFHPh2dn.js → CuiRecordingsGrid-DNw21B-r.js} +1 -1
  64. package/dist/interface/assets/{CuiSchema-DEYDened.js → CuiSchema-Cr90oo-T.js} +1 -1
  65. package/dist/interface/assets/{CuiTopNavbarItem-CqM9AHmU.js → CuiTopNavbarItem-Q7M4nMw5.js} +1 -1
  66. package/dist/interface/assets/{CuiTopbarSlot-DbzQRnbt.js → CuiTopbarSlot-ac4GLLbf.js} +1 -1
  67. package/dist/interface/assets/{Faces-u9Rxm4Ti.js → Faces-CFN1J-o4.js} +1 -1
  68. package/dist/interface/assets/FirstSteps-uzffNroi.js +1 -0
  69. package/dist/interface/assets/{Instances-CWzMYIvB.js → Instances-CsAKq-HH.js} +1 -1
  70. package/dist/interface/assets/Logs-DKwNBSz9.js +6 -0
  71. package/dist/interface/assets/{Menu-uW8DUGLM.js → Menu-Db1mi08W.js} +1 -1
  72. package/dist/interface/assets/{OAuthDeviceFlow-CxJbM1jZ.js → OAuthDeviceFlow-B4cT3UTT.js} +1 -1
  73. package/dist/interface/assets/Plugin-BDwSHzi9.js +1 -0
  74. package/dist/interface/assets/{PluginConsole-C-ndOnmZ.js → PluginConsole-Bs9HqX_F.js} +1 -1
  75. package/dist/interface/assets/PluginDetail-B2odw9DA.css +1 -0
  76. package/dist/interface/assets/PluginDetail-C3j4zIxC.js +2 -0
  77. package/dist/interface/assets/{PluginSchema-BcLXAX-Q.js → PluginSchema-D3BCVJNa.js} +1 -1
  78. package/dist/interface/assets/PluginSearch-BLWXmn9w.js +2 -0
  79. package/dist/interface/assets/PluginSearch-BOWQC1zl.css +1 -0
  80. package/dist/interface/assets/PluginSearch-BwG61G-G.js +1 -0
  81. package/dist/interface/assets/Plugins-DD8FPbtv.js +1 -0
  82. package/dist/interface/assets/{Recordings-Daf0TCPA.js → Recordings-Bt8clj2R.js} +1 -1
  83. package/dist/interface/assets/{Settings-Bz7u44Pl.js → Settings-Bj_41fdw.js} +1 -1
  84. package/dist/interface/assets/{SettingsAccount-C_pQPGoW.js → SettingsAccount-CWVj8S8j.js} +1 -1
  85. package/dist/interface/assets/SettingsAccount-DnZKU_tM.js +1 -0
  86. package/dist/interface/assets/{SettingsAppearance-CwPSvzkX.js → SettingsAppearance-DNaNlO1q.js} +1 -1
  87. package/dist/interface/assets/SettingsAppearance-k5WMN34x.js +1 -0
  88. package/dist/interface/assets/{SettingsBackup-CCEtuJsQ.js → SettingsBackup-stUbnWJf.js} +1 -1
  89. package/dist/interface/assets/{SettingsNotifications-OV4-nraE.js → SettingsNotifications-Do2Cy2yf.js} +1 -1
  90. package/dist/interface/assets/{SettingsRecordings-uNRwROAh.js → SettingsRecordings-DWX69m9b.js} +1 -1
  91. package/dist/interface/assets/SettingsRemote-RqXtq3dF.js +1 -0
  92. package/dist/interface/assets/{SettingsSystem-DwXSeR_Z.js → SettingsSystem-BZ14jaFr.js} +2 -2
  93. package/dist/interface/assets/{SettingsUsers-CimG6HaL.js → SettingsUsers-Cb6zolu8.js} +1 -1
  94. package/dist/interface/assets/{Terminal-h5vqtN-o.js → Terminal-D2zkV1fJ.js} +1 -1
  95. package/dist/interface/assets/{VariableInput-tPI6hxP8.js → VariableInput-CFs-kzqd.js} +1 -1
  96. package/dist/interface/assets/{VariableSuggestions-K3CHs8XG.js → VariableSuggestions-PEzupqiE.js} +1 -1
  97. package/dist/interface/assets/VersionsHandler-nZK8BEJK.js +7 -0
  98. package/dist/interface/assets/{Workers-xo6c0O5M.js → Workers-CKR9yslJ.js} +1 -1
  99. package/dist/interface/assets/account-DqOHQKv8.js +1 -0
  100. package/dist/interface/assets/api-Cntxdwiu.js +2 -0
  101. package/dist/interface/assets/api-CrAOxyt8.css +2 -0
  102. package/dist/interface/assets/api-CvihG9kg.js +1 -0
  103. package/dist/interface/assets/{auth-Czmir2ST.js → auth-BeYrbk7B.js} +1 -1
  104. package/dist/interface/assets/automationBlueprint-DMjszOs4.js +1 -0
  105. package/dist/interface/assets/{automations-C2J4u5Uj.js → automations-C309DNNg.js} +1 -1
  106. package/dist/interface/assets/automations-egbiXwMx.js +1 -0
  107. package/dist/interface/assets/{backup-BcXXJ1y6.js → backup-82y2bZBX.js} +1 -1
  108. package/dist/interface/assets/bell-ring-CenQn4Yt.js +1 -0
  109. package/dist/interface/assets/bug-DPw8k4Lk.js +1 -0
  110. package/dist/interface/assets/cameras-DRRy289F.js +1 -0
  111. package/dist/interface/assets/{cameras.schema-CuVLJONJ.js → cameras.schema-qOAUe-E9.js} +1 -1
  112. package/dist/interface/assets/cctv-CBtg_v6o.js +1 -0
  113. package/dist/interface/assets/clock-outline-MhJC2-0d.js +1 -0
  114. package/dist/interface/assets/cloudHandoff-CiV159TL.js +1 -0
  115. package/dist/interface/assets/{deviceId-BM0pOHhg.js → deviceId-DXf6AlPA.js} +1 -1
  116. package/dist/interface/assets/github-DLhaVazy.js +1 -0
  117. package/dist/interface/assets/{hasPermission-B724PtFJ.js → hasPermission-CPgoH1JH.js} +1 -1
  118. package/dist/interface/assets/{instances-5MeVN25v.js → instances-Crs3gwnp.js} +1 -1
  119. package/dist/interface/assets/{locale-hdhgxXOX.js → locale-BCQeXbI8.js} +1 -1
  120. package/dist/interface/assets/main-D0vO1lt0.js +3 -0
  121. package/dist/interface/assets/motion-sensor-DD8SfD-m.js +1 -0
  122. package/dist/interface/assets/nodeDefinitions-Dvawtk76.js +1 -0
  123. package/dist/interface/assets/{notifications-Cq1bDRQk.js → notifications-AiaxATml.js} +1 -1
  124. package/dist/interface/assets/plugins-C_Mh_UEw.js +1 -0
  125. package/dist/interface/assets/puzzle-filled-C1z2qa5-.js +1 -0
  126. package/dist/interface/assets/refresh-rounded-Bqiw9DUu.js +1 -0
  127. package/dist/interface/assets/{round-restart-alt-bbbi50F4.js → round-restart-alt-BJAngKc7.js} +1 -1
  128. package/dist/interface/assets/router-C2x34pNg.js +2 -0
  129. package/dist/interface/assets/{routerState-ByP_jZ8E.js → routerState-dQtObsFs.js} +1 -1
  130. package/dist/interface/assets/{server-BW0jfXav.js → server-GaO6jF81.js} +1 -1
  131. package/dist/interface/assets/shares-Cw2NYamp.js +1 -0
  132. package/dist/interface/assets/source-branch-Cd8fHY0E.js +1 -0
  133. package/dist/interface/assets/{theme-B2fORWV9.js → theme-cGiCxaXN.js} +1 -1
  134. package/dist/interface/assets/types-6RvFwckU.js +1 -0
  135. package/dist/interface/assets/types-aZM1hCux.js +1 -0
  136. package/dist/interface/assets/types-v-mK9gdq.css +1 -0
  137. package/dist/interface/assets/{ui-CnzJLu9N.js → ui-DrzKhUXW.js} +1 -1
  138. package/dist/interface/assets/{useBiometricCredentials-BGl37Skw.js → useBiometricCredentials-CEmbsdFy.js} +1 -1
  139. package/dist/interface/assets/{useCameraOptions-D0rQaUuh.js → useCameraOptions-quplvW_7.js} +1 -1
  140. package/dist/interface/assets/{useCuiCameraDrawer-2I0LB3ff.js → useCuiCameraDrawer-DnN9lwiy.js} +1 -1
  141. package/dist/interface/assets/useCuiDialog-j9ybKsCK.js +2 -0
  142. package/dist/interface/assets/{useFileDownload-BLbAIlSX.js → useFileDownload-BcOErnCc.js} +1 -1
  143. package/dist/interface/assets/{useLogsSocket-BnU6ynWU.js → useLogsSocket-gXiAENMr.js} +1 -1
  144. package/dist/interface/assets/{useSharedComposables-DjDddcdT.js → useSharedComposables-gpJ--qZh.js} +1 -1
  145. package/dist/interface/assets/{useStreamStatus-Dy3K_ILd.js → useStreamStatus-bjptbs6u.js} +1 -1
  146. package/dist/interface/assets/useUserOptions-CA-AJeEh.js +1 -0
  147. package/dist/interface/assets/users.schema-DaXV2Jq7.js +1 -0
  148. package/dist/interface/assets/{vendor-cameraui-B9wC4-mi.js → vendor-cameraui-DgSMexWY.js} +1 -1
  149. package/dist/interface/assets/{vendor-core-CBFMCwgj.js → vendor-core-BKHiXSX7.js} +1 -1
  150. package/dist/interface/assets/{vendor-primevue-DYHQyonV.js → vendor-primevue-7iEzPOvf.js} +1 -1
  151. package/dist/interface/assets/{vendor-zod-V2qTUMVc.js → vendor-zod-DycFxUhi.js} +1 -1
  152. package/dist/interface/assets/{view-grid-D39XDBn9.js → view-grid-Coh7iX5e.js} +1 -1
  153. package/dist/interface/assets/webhook-Dgi5u5S_.js +1 -0
  154. package/dist/interface/index.html +49 -43
  155. package/dist/interface/sw.js +1 -1
  156. package/dist/interface/{workbox-5f44db27.js → workbox-778a14ff.js} +1 -1
  157. package/dist/server/package.json +2 -2
  158. package/dist/server/src/api/controllers/automations.controller.d.ts +3 -1
  159. package/dist/server/src/api/controllers/automations.controller.js +26 -1
  160. package/dist/server/src/api/controllers/automations.controller.js.map +1 -1
  161. package/dist/server/src/api/controllers/cameras.controller.d.ts +1 -5
  162. package/dist/server/src/api/controllers/cameras.controller.js +0 -359
  163. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  164. package/dist/server/src/api/controllers/plugins.controller.d.ts +4 -0
  165. package/dist/server/src/api/controllers/plugins.controller.js +165 -53
  166. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  167. package/dist/server/src/api/routes/automations.routes.js +23 -1
  168. package/dist/server/src/api/routes/automations.routes.js.map +1 -1
  169. package/dist/server/src/api/routes/cameras.routes.js +1 -12
  170. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  171. package/dist/server/src/api/schemas/automations.schema.d.ts +8 -0
  172. package/dist/server/src/api/schemas/automations.schema.js +6 -0
  173. package/dist/server/src/api/schemas/automations.schema.js.map +1 -1
  174. package/dist/server/src/api/schemas/cameras.schema.d.ts +0 -14
  175. package/dist/server/src/api/schemas/cameras.schema.js +0 -103
  176. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  177. package/dist/server/src/api/schemas/plugins.schema.d.ts +1 -0
  178. package/dist/server/src/api/schemas/plugins.schema.js +1 -0
  179. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  180. package/dist/server/src/api/services/backup.service.js +7 -1
  181. package/dist/server/src/api/services/backup.service.js.map +1 -1
  182. package/dist/server/src/api/services/cameras.service.d.ts +2 -3
  183. package/dist/server/src/api/services/cameras.service.js +0 -67
  184. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  185. package/dist/server/src/api/types/index.d.ts +28 -29
  186. package/dist/server/src/api/types/index.js.map +1 -1
  187. package/dist/server/src/utils/automation-registry/index.d.ts +17 -0
  188. package/dist/server/src/utils/automation-registry/index.js +58 -0
  189. package/dist/server/src/utils/automation-registry/index.js.map +1 -0
  190. package/dist/server/src/utils/plugin-registry/index.d.ts +27 -0
  191. package/dist/server/src/utils/plugin-registry/index.js +127 -0
  192. package/dist/server/src/utils/plugin-registry/index.js.map +1 -0
  193. package/package.json +2 -2
  194. package/dist/interface/assets/Automation-CMMDPrn0.js +0 -2
  195. package/dist/interface/assets/Automations-by_LN5br.js +0 -1
  196. package/dist/interface/assets/Camview-B-Pqm0Fw.js +0 -1
  197. package/dist/interface/assets/Config-CfunWNtM.js +0 -2
  198. package/dist/interface/assets/ConfigTriggerGeofence-DCqAqAG3.js +0 -1
  199. package/dist/interface/assets/CuiBottomSheet-DSG6iONb.js +0 -1
  200. package/dist/interface/assets/CuiCameraCard-kI_GNoa7.js +0 -1
  201. package/dist/interface/assets/FirstSteps-YNR-3tqt.js +0 -1
  202. package/dist/interface/assets/Logs-CpAkrsEJ.js +0 -6
  203. package/dist/interface/assets/Plugin-CWjFyBeK.js +0 -1
  204. package/dist/interface/assets/Plugins-B7ZOk3ld.js +0 -2
  205. package/dist/interface/assets/Plugins-s1k811lf.css +0 -1
  206. package/dist/interface/assets/SettingsAccount-BgpeeHsR.js +0 -1
  207. package/dist/interface/assets/SettingsAppearance-DSNXI3t4.js +0 -1
  208. package/dist/interface/assets/SettingsRemote-Dg3BfdmI.js +0 -1
  209. package/dist/interface/assets/VersionsHandler-BrfHmvOf.js +0 -7
  210. package/dist/interface/assets/api-B8LDDNgZ.js +0 -2
  211. package/dist/interface/assets/api-BB9AG_h5.css +0 -2
  212. package/dist/interface/assets/api-Cm9H8gwG.js +0 -1
  213. package/dist/interface/assets/automations-DVc4ovPU.js +0 -1
  214. package/dist/interface/assets/cameras-BEBBV7mz.js +0 -1
  215. package/dist/interface/assets/cloudHandoff-Cnd7f4Es.js +0 -1
  216. package/dist/interface/assets/github-DNzKZdHG.js +0 -1
  217. package/dist/interface/assets/main-D0dJIe_X.js +0 -3
  218. package/dist/interface/assets/nodeDefinitions-blmt-d7H.js +0 -1
  219. package/dist/interface/assets/plugins-BMys-WCs.js +0 -1
  220. package/dist/interface/assets/router-DUCivZj8.js +0 -2
  221. package/dist/interface/assets/shares-D0r3nTB0.js +0 -1
  222. package/dist/interface/assets/types-CztXMZ5X.js +0 -1
  223. package/dist/interface/assets/useCuiDialog-DZvxI8xi.js +0 -2
  224. package/dist/interface/assets/users.schema-2wYWhJ9W.js +0 -1
@@ -13,11 +13,24 @@ import { PluginManager } from '../../plugins/index.js';
13
13
  import { ConfigService } from '../../services/config/index.js';
14
14
  import { checkEngineCompatibility } from '../../utils/engines.js';
15
15
  import { checkForUpdate, extractPackage, getManifest, getPackument, getVersionsAndDistTags, invalidatePackage, searchPackages } from '../../utils/npm/index.js';
16
+ import { computeTrust, getBlock, getBlocklist, getCatalog, getVerified, getWeeklyDownloads, invalidateRegistry } from '../../utils/plugin-registry/index.js';
16
17
  import { CamerasService } from '../services/cameras.service.js';
17
18
  import { PluginsService } from '../services/plugins.service.js';
18
19
  import { resolvePluginName } from '../utils/plugin.js';
19
20
  const searchResultBlacklist = new Set(['camera.ui', 'homebridge-camera-ui']);
20
21
  const pluginLogoCache = new TTLCache({ max: 100, ttl: 1000 * 60 * 60 * 24 });
22
+ function normalizeRepoUrl(url) {
23
+ let normalized = url.trim().replace(/^git\+/, '');
24
+ const scpMatch = /^git@([^:]+):(.+)$/.exec(normalized);
25
+ if (scpMatch) {
26
+ normalized = `https://${scpMatch[1]}/${scpMatch[2]}`;
27
+ }
28
+ normalized = normalized
29
+ .replace(/^ssh:\/\/git@/, 'https://')
30
+ .replace(/^git:\/\//, 'https://')
31
+ .replace(/\.git$/, '');
32
+ return normalized;
33
+ }
21
34
  export class PluginsController {
22
35
  app;
23
36
  logger;
@@ -179,23 +192,14 @@ export class PluginsController {
179
192
  try {
180
193
  const pluginName = resolvePluginName(req.params);
181
194
  const plugin = this.service.getPluginByName(pluginName);
182
- if (!plugin) {
183
- return reply.code(200).send(Buffer.from('').toString('base64'));
184
- }
185
- const logoPath = join(plugin.installPath, 'logo.png');
186
- if (!(await pathExists(logoPath))) {
187
- return reply.code(200).send(Buffer.from('').toString('base64'));
188
- }
189
- let base64Logo;
190
195
  pluginLogoCache.purgeStale();
191
- if (pluginLogoCache.has(pluginName)) {
192
- base64Logo = pluginLogoCache.get(pluginName);
193
- }
194
- else {
195
- const logo = await sharp(logoPath).resize({ width: 100, height: 100, fit: 'cover', kernel: 'nearest' }).toBuffer();
196
- base64Logo = Buffer.from(logo).toString('base64');
197
- pluginLogoCache.set(pluginName, base64Logo);
196
+ const cacheKey = plugin ? pluginName : `${pluginName}@latest`;
197
+ let base64Logo = pluginLogoCache.get(cacheKey) ?? null;
198
+ base64Logo ??= plugin ? await this.readLogoFromPath(join(plugin.installPath, 'logo.png')) : await this.readLogoFromTarball(pluginName);
199
+ if (!base64Logo) {
200
+ return reply.code(200).send(Buffer.from('').toString('base64'));
198
201
  }
202
+ pluginLogoCache.set(cacheKey, base64Logo);
199
203
  reply.header('Content-Type', 'image/png');
200
204
  return reply.code(200).send(`data:image/png;base64,${base64Logo}`);
201
205
  }
@@ -385,13 +389,7 @@ export class PluginsController {
385
389
  try {
386
390
  const pluginName = resolvePluginName(req.params);
387
391
  const plugin = this.service.getPluginByName(pluginName);
388
- if (!plugin) {
389
- return reply.code(404).send({
390
- statusCode: 404,
391
- message: 'Plugin not exists',
392
- });
393
- }
394
- const file = await this.readPluginDoc(pluginName, plugin.installPath, plugin.info.installedVersion, 'README.md', req.query.pluginversion);
392
+ const file = await this.readPluginDoc(pluginName, plugin?.installPath, plugin?.info.installedVersion, 'README.md', req.query.pluginversion);
395
393
  if (file === null) {
396
394
  return reply.code(404).send({
397
395
  statusCode: 404,
@@ -412,13 +410,7 @@ export class PluginsController {
412
410
  try {
413
411
  const pluginName = resolvePluginName(req.params);
414
412
  const plugin = this.service.getPluginByName(pluginName);
415
- if (!plugin) {
416
- return reply.code(404).send({
417
- statusCode: 404,
418
- message: 'Plugin not exists',
419
- });
420
- }
421
- const file = await this.readPluginDoc(pluginName, plugin.installPath, plugin.info.installedVersion, 'CHANGELOG.md', req.query.pluginversion);
413
+ const file = await this.readPluginDoc(pluginName, plugin?.installPath, plugin?.info.installedVersion, 'CHANGELOG.md', req.query.pluginversion);
422
414
  if (file === null) {
423
415
  return reply.code(404).send({
424
416
  statusCode: 404,
@@ -554,12 +546,39 @@ export class PluginsController {
554
546
  try {
555
547
  const query = req.query.pluginname ?? '';
556
548
  const text = (query?.length ? `${query} ` : '') + 'keywords:camera-ui-plugin not:deprecated';
549
+ if (req.query.refresh) {
550
+ invalidateRegistry();
551
+ invalidatePackage();
552
+ }
557
553
  const searchResults = await searchPackages(text, 30);
558
- const result = searchResults
559
- .filter((pkg) => pkg.name.startsWith('camera-ui-') || this.isScopedPlugin(pkg.name))
560
- .filter((pkg) => !searchResultBlacklist.has(pkg.name))
561
- .map((pkg) => {
562
- let plugin = {
554
+ const [catalog, verified, blocklist] = await Promise.all([getCatalog(), getVerified(), getBlocklist()]);
555
+ const installedPlugins = this.service.listPlugins();
556
+ const result = [];
557
+ for (const pkg of searchResults) {
558
+ if (!(pkg.name.startsWith('camera-ui-') || this.isScopedPlugin(pkg.name))) {
559
+ continue;
560
+ }
561
+ if (searchResultBlacklist.has(pkg.name)) {
562
+ continue;
563
+ }
564
+ const isInstalled = installedPlugins.find((installedPlugin) => installedPlugin.pluginName === pkg.name);
565
+ if (isInstalled) {
566
+ const plugin = isInstalled.info;
567
+ plugin.lastUpdated = pkg.date;
568
+ const block = getBlock(pkg.name, plugin.installedVersion, blocklist);
569
+ if (block) {
570
+ plugin.blocked = block;
571
+ await this.autoDisableBlockedPlugin(isInstalled, block);
572
+ }
573
+ this.enrichPlugin(plugin, pkg, catalog, verified);
574
+ result.push(plugin);
575
+ continue;
576
+ }
577
+ // Blocked plugins are never shown in the store and cannot be installed.
578
+ if (getBlock(pkg.name, pkg.version, blocklist)) {
579
+ continue;
580
+ }
581
+ const plugin = {
563
582
  id: '0',
564
583
  pluginName: pkg.name,
565
584
  displayName: PluginManager.transformDisplaName(pkg.name),
@@ -567,6 +586,13 @@ export class PluginsController {
567
586
  isPython: false,
568
587
  isGo: false,
569
588
  isNode: true,
589
+ publicPackage: true,
590
+ installedVersion: undefined,
591
+ latestVersion: pkg.version,
592
+ lastUpdated: pkg.date,
593
+ description: pkg.description ? pkg.description.replace(/(?:https?|ftp):\/\/[\n\S]+/g, '').trim() : pkg.name,
594
+ links: pkg.links,
595
+ author: pkg.publisher?.username,
570
596
  contract: {
571
597
  role: PluginRole.SensorProvider,
572
598
  provides: [],
@@ -575,22 +601,16 @@ export class PluginsController {
575
601
  name: '',
576
602
  },
577
603
  };
578
- const installedPlugins = this.service.listPlugins();
579
- const isInstalled = installedPlugins.find((installedPlugin) => installedPlugin.pluginName === plugin.pluginName);
580
- if (isInstalled) {
581
- plugin = isInstalled.info;
582
- plugin.lastUpdated = pkg.date;
583
- return plugin;
604
+ this.enrichPlugin(plugin, pkg, catalog, verified);
605
+ result.push(plugin);
606
+ }
607
+ const downloads = await getWeeklyDownloads(result.map((plugin) => plugin.pluginName));
608
+ for (const plugin of result) {
609
+ const weekly = downloads[plugin.pluginName];
610
+ if (typeof weekly === 'number') {
611
+ plugin.downloads = { weekly };
584
612
  }
585
- plugin.publicPackage = true;
586
- plugin.installedVersion = undefined;
587
- plugin.latestVersion = pkg.version;
588
- plugin.lastUpdated = pkg.date;
589
- plugin.description = pkg.description ? pkg.description.replace(/(?:https?|ftp):\/\/[\n\S]+/g, '').trim() : pkg.name;
590
- plugin.links = pkg.links;
591
- plugin.author = pkg.publisher?.username;
592
- return plugin;
593
- });
613
+ }
594
614
  if (!result.length && (query.startsWith('camera-ui-') || this.isScopedPlugin(query)) && !searchResultBlacklist.has(query.toLowerCase())) {
595
615
  const singlePluginQuey = await this.searchNpmRegistrySingle(query.toLowerCase());
596
616
  return singlePluginQuey ? [singlePluginQuey] : [];
@@ -660,6 +680,14 @@ export class PluginsController {
660
680
  }
661
681
  async installOrUpdate(req, reply) {
662
682
  try {
683
+ const blocklist = await getBlocklist();
684
+ const block = getBlock(req.body.pluginname, req.body.pluginversion, blocklist);
685
+ if (block) {
686
+ return reply.code(403).send({
687
+ statusCode: 403,
688
+ message: `Plugin is blocked: ${block.reason}`,
689
+ });
690
+ }
663
691
  let plugin = this.pluginManager.plugins.get(req.body.pluginname);
664
692
  const command = plugin ? 'update' : 'install';
665
693
  this.logger.log(`${plugin ? 'Updating' : 'Installing'} plugin: ${req.body.pluginname}@${req.body.pluginversion}`);
@@ -741,14 +769,75 @@ export class PluginsController {
741
769
  });
742
770
  }
743
771
  }
772
+ async readLogoFromPath(logoPath) {
773
+ if (!(await pathExists(logoPath))) {
774
+ return null;
775
+ }
776
+ const logo = await sharp(logoPath).resize({ width: 100, height: 100, fit: 'cover', kernel: 'nearest' }).toBuffer();
777
+ return Buffer.from(logo).toString('base64');
778
+ }
779
+ async readLogoFromTarball(pluginName) {
780
+ const tmpDir = await mkdtemp(join(tmpdir(), 'camera.ui-logo-'));
781
+ try {
782
+ await extractPackage(`${pluginName}@latest`, tmpDir);
783
+ return await this.readLogoFromPath(join(tmpDir, 'logo.png'));
784
+ }
785
+ catch {
786
+ return null;
787
+ }
788
+ finally {
789
+ await remove(tmpDir);
790
+ }
791
+ }
792
+ enrichPlugin(plugin, pkg, catalog, verified) {
793
+ plugin.trust = computeTrust(plugin.pluginName, verified, plugin.latestVersion);
794
+ const catalogEntry = catalog[plugin.pluginName];
795
+ if (catalogEntry) {
796
+ if (catalogEntry.displayName) {
797
+ plugin.displayName = catalogEntry.displayName;
798
+ }
799
+ plugin.category = catalogEntry.category;
800
+ plugin.featured = catalogEntry.featured;
801
+ plugin.tagline = catalogEntry.tagline;
802
+ plugin.logo = catalogEntry.logo;
803
+ plugin.screenshots = catalogEntry.screenshots;
804
+ }
805
+ if (plugin.links?.repository) {
806
+ plugin.links.repository = normalizeRepoUrl(plugin.links.repository);
807
+ }
808
+ const keywords = pkg.keywords?.filter((keyword) => keyword !== 'camera-ui-plugin');
809
+ if (keywords?.length) {
810
+ plugin.keywords = keywords;
811
+ }
812
+ }
813
+ async autoDisableBlockedPlugin(plugin, block) {
814
+ if (plugin.disabled) {
815
+ return;
816
+ }
817
+ try {
818
+ plugin.disabled = true;
819
+ if (!this.configService.config.plugins.disabledPlugins.includes(plugin.pluginName)) {
820
+ this.configService.config.plugins.disabledPlugins.push(plugin.pluginName);
821
+ this.configService.writeConfig();
822
+ }
823
+ await this.pluginManager.stopPluginChild(plugin.pluginName);
824
+ this.logger.warn(`Auto-disabled blocked plugin ${plugin.pluginName}: ${block.reason}`);
825
+ }
826
+ catch (error) {
827
+ this.logger.error(`Failed to auto-disable blocked plugin ${plugin.pluginName}: ${error.message}`);
828
+ }
829
+ }
744
830
  async readPluginDoc(pluginName, installPath, installedVersion, fileName, requestedVersion) {
745
- if (requestedVersion && requestedVersion !== installedVersion) {
831
+ if (!installPath || (requestedVersion && requestedVersion !== installedVersion)) {
746
832
  const tmpDir = await mkdtemp(join(tmpdir(), 'camera.ui-doc-'));
747
833
  try {
748
- await extractPackage(`${pluginName}@${requestedVersion}`, tmpDir);
834
+ await extractPackage(`${pluginName}@${requestedVersion ?? 'latest'}`, tmpDir);
749
835
  const filePath = join(tmpDir, fileName);
750
836
  return (await pathExists(filePath)) ? readFile(filePath, 'utf8') : null;
751
837
  }
838
+ catch {
839
+ return null;
840
+ }
752
841
  finally {
753
842
  await remove(tmpDir);
754
843
  }
@@ -777,31 +866,49 @@ export class PluginsController {
777
866
  if (!pkg.keywords?.includes('camera-ui-plugin')) {
778
867
  return;
779
868
  }
869
+ const [catalog, verified, blocklist] = await Promise.all([getCatalog(), getVerified(), getBlocklist()]);
780
870
  let plugin;
781
871
  const installedPlugins = this.service.listPlugins();
782
872
  const isInstalled = installedPlugins.find((installedPlugin) => installedPlugin.pluginName === pkg.name);
873
+ const latestVersion = pkg['dist-tags'] ? pkg['dist-tags'].latest : undefined;
874
+ const searchPkg = { name: pkg.name, version: latestVersion ?? '', keywords: pkg.keywords };
783
875
  if (isInstalled) {
784
876
  plugin = isInstalled.info;
785
877
  plugin.lastUpdated = pkg.time.modified;
878
+ const block = getBlock(pkg.name, plugin.installedVersion, blocklist);
879
+ if (block) {
880
+ plugin.blocked = block;
881
+ await this.autoDisableBlockedPlugin(isInstalled, block);
882
+ }
883
+ this.enrichPlugin(plugin, searchPkg, catalog, verified);
786
884
  return plugin;
787
885
  }
886
+ // Blocked plugins are never shown in the store and cannot be installed.
887
+ if (getBlock(pkg.name, latestVersion, blocklist)) {
888
+ return;
889
+ }
890
+ const manifest = latestVersion ? pkg.versions?.[latestVersion] : undefined;
891
+ const packageDisplayName = pkg.displayName ?? manifest?.displayName;
788
892
  plugin = {
789
893
  id: '0',
790
894
  pluginName: pkg.name,
791
895
  private: false,
792
- displayName: PluginManager.transformDisplaName(pkg.name),
896
+ displayName: packageDisplayName ?? PluginManager.transformDisplaName(pkg.name),
793
897
  description: pkg.description ? pkg.description.replace(/(?:https?|ftp):\/\/[\n\S]+/g, '').trim() : pkg.name,
794
898
  isPython: false,
795
899
  isGo: false,
796
900
  isNode: true,
797
901
  publicPackage: true,
798
- latestVersion: pkg['dist-tags'] ? pkg['dist-tags'].latest : undefined,
902
+ latestVersion,
799
903
  lastUpdated: pkg.time.modified,
800
904
  links: {
801
905
  npm: `https://www.npmjs.com/package/${pkg.name}`,
802
906
  homepage: pkg.homepage,
907
+ repository: pkg.repository?.url,
908
+ bugs: pkg.bugs?.url,
803
909
  },
804
910
  author: pkg.maintainers[0]?.name,
911
+ license: pkg.license,
805
912
  contract: {
806
913
  role: PluginRole.SensorProvider,
807
914
  provides: [],
@@ -810,6 +917,11 @@ export class PluginsController {
810
917
  name: '',
811
918
  },
812
919
  };
920
+ this.enrichPlugin(plugin, searchPkg, catalog, verified);
921
+ const downloads = await getWeeklyDownloads([pkg.name]);
922
+ if (typeof downloads[pkg.name] === 'number') {
923
+ plugin.downloads = { weekly: downloads[pkg.name] };
924
+ }
813
925
  return plugin;
814
926
  }
815
927
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/plugins.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/plugins.controller.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AutomationsController } from '../controllers/automations.controller.js';
2
2
  import { onlyAdminCanDoThisAction } from '../middlewares/authPermission.middleware.js';
3
3
  import { validJWTNeeded } from '../middlewares/authValidation.middleware.js';
4
- import { automationParamsSchema, createAutomationSchema, geofenceParamsSchema, importBlueprintSchema, locationBodySchema, patchAutomationSchema, webhookBodySchema, webhookParamsSchema, } from '../schemas/automations.schema.js';
4
+ import { automationParamsSchema, automationStoreParamsSchema, automationStoreQuerySchema, createAutomationSchema, geofenceParamsSchema, importBlueprintSchema, locationBodySchema, patchAutomationSchema, webhookBodySchema, webhookParamsSchema, } from '../schemas/automations.schema.js';
5
5
  export const AutomationsRoute = async (app) => {
6
6
  const controller = new AutomationsController(app);
7
7
  app.route({
@@ -14,6 +14,28 @@ export const AutomationsRoute = async (app) => {
14
14
  summary: 'List all automations',
15
15
  },
16
16
  });
17
+ app.withTypeProvider().route({
18
+ url: '/store',
19
+ method: 'GET',
20
+ preValidation: [validJWTNeeded, onlyAdminCanDoThisAction],
21
+ handler: controller.storeList.bind(controller),
22
+ schema: {
23
+ tags: ['Automations'],
24
+ summary: 'Browse the community automations store',
25
+ querystring: automationStoreQuerySchema,
26
+ },
27
+ });
28
+ app.withTypeProvider().route({
29
+ url: '/store/:id',
30
+ method: 'GET',
31
+ preValidation: [validJWTNeeded, onlyAdminCanDoThisAction],
32
+ handler: controller.storeItem.bind(controller),
33
+ schema: {
34
+ tags: ['Automations'],
35
+ summary: 'Get a community automation blueprint from the store',
36
+ params: automationStoreParamsSchema,
37
+ },
38
+ });
17
39
  app.withTypeProvider().route({
18
40
  url: '/:id',
19
41
  method: 'GET',
@@ -1 +1 @@
1
- {"version":3,"file":"automations.routes.js","sourceRoot":"","sources":["../../../../../src/api/routes/automations.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"automations.routes.js","sourceRoot":"","sources":["../../../../../src/api/routes/automations.routes.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { CamerasController } from '../controllers/cameras.controller.js';
2
2
  import { onlyAdminCanDoThisAction } from '../middlewares/authPermission.middleware.js';
3
3
  import { validJWTNeeded } from '../middlewares/authValidation.middleware.js';
4
4
  import { pages } from '../middlewares/pagination.middleware.js';
5
- import { cameraParamsSchema, cameraSourceParamsSchema, createCameraSchema, detectionLineSchema, detectionZoneSchema, extensionTypeQuerySchema, pairCameraSchema, patchCameraSchema, cameraPluginParamsSchema, previewCameraSchema, probeQuerySchema, scopedPluginParamsSchema, scopedSensorParamsSchema, sensorParamsSchema, snapshotQuerySchema, streamParamsSchema, } from '../schemas/cameras.schema.js';
5
+ import { cameraParamsSchema, cameraSourceParamsSchema, createCameraSchema, detectionLineSchema, detectionZoneSchema, extensionTypeQuerySchema, patchCameraSchema, cameraPluginParamsSchema, previewCameraSchema, probeQuerySchema, scopedPluginParamsSchema, scopedSensorParamsSchema, sensorParamsSchema, snapshotQuerySchema, streamParamsSchema, } from '../schemas/cameras.schema.js';
6
6
  import { paginationQuerySchema } from '../schemas/common.schema.js';
7
7
  import { patchStorageSchema, setStorageSchema, submitStorageSchema } from '../schemas/storage.schema.js';
8
8
  export const CamerasRoute = async (app) => {
@@ -50,17 +50,6 @@ export const CamerasRoute = async (app) => {
50
50
  params: streamParamsSchema,
51
51
  },
52
52
  });
53
- app.withTypeProvider().route({
54
- url: '/pair',
55
- method: 'POST',
56
- preValidation: [validJWTNeeded, onlyAdminCanDoThisAction],
57
- handler: camerasController.pairCamera.bind(camerasController),
58
- schema: {
59
- tags: ['Cameras'],
60
- summary: 'Pair a camera using a supported protocol',
61
- body: pairCameraSchema,
62
- },
63
- });
64
53
  app.withTypeProvider().route({
65
54
  url: '/preview',
66
55
  method: 'POST',