@fastybird/smart-panel-backend 0.5.0-alpha.0 → 0.5.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/dist/app.constants.js.map +1 -1
  2. package/dist/app.module.js +9 -17
  3. package/dist/app.module.js.map +1 -1
  4. package/dist/common/filters/bad-request-exception.filter.js +0 -6
  5. package/dist/common/filters/bad-request-exception.filter.js.map +1 -1
  6. package/dist/common/filters/global-error.filter.js +2 -6
  7. package/dist/common/filters/global-error.filter.js.map +1 -1
  8. package/dist/common/filters/internal-server-error-exception.filter.js +0 -5
  9. package/dist/common/filters/internal-server-error-exception.filter.js.map +1 -1
  10. package/dist/common/filters/not-found-exception.filter.d.ts +4 -0
  11. package/dist/common/filters/not-found-exception.filter.js +22 -3
  12. package/dist/common/filters/not-found-exception.filter.js.map +1 -1
  13. package/dist/common/filters/query-failed-exception.filter.js +0 -5
  14. package/dist/common/filters/query-failed-exception.filter.js.map +1 -1
  15. package/dist/common/filters/unprocessable-entity-exception.filter.js +0 -5
  16. package/dist/common/filters/unprocessable-entity-exception.filter.js.map +1 -1
  17. package/dist/common/services/app-instance-holder.service.d.ts +1 -2
  18. package/dist/common/services/app-instance-holder.service.js.map +1 -1
  19. package/dist/common/utils/config.utils.d.ts +0 -1
  20. package/dist/common/utils/config.utils.js +1 -11
  21. package/dist/common/utils/config.utils.js.map +1 -1
  22. package/dist/main.js +19 -5
  23. package/dist/main.js.map +1 -1
  24. package/dist/migrations/1000000000000-InitialSetup.js +8 -0
  25. package/dist/migrations/1000000000000-InitialSetup.js.map +1 -1
  26. package/dist/migrations/1000000000002-AddTokenLastUsedAt.d.ts +6 -0
  27. package/dist/migrations/1000000000002-AddTokenLastUsedAt.js +15 -0
  28. package/dist/migrations/1000000000002-AddTokenLastUsedAt.js.map +1 -0
  29. package/dist/modules/auth/auth.module.js +17 -1
  30. package/dist/modules/auth/auth.module.js.map +1 -1
  31. package/dist/modules/auth/controllers/auth.controller.js +6 -0
  32. package/dist/modules/auth/controllers/auth.controller.js.map +1 -1
  33. package/dist/modules/auth/controllers/tokens.controller.d.ts +10 -3
  34. package/dist/modules/auth/controllers/tokens.controller.js +96 -7
  35. package/dist/modules/auth/controllers/tokens.controller.js.map +1 -1
  36. package/dist/modules/auth/dto/create-personal-token.dto.d.ts +8 -0
  37. package/dist/modules/auth/dto/create-personal-token.dto.js +75 -0
  38. package/dist/modules/auth/dto/create-personal-token.dto.js.map +1 -0
  39. package/dist/modules/auth/dto/register.dto.d.ts +1 -1
  40. package/dist/modules/auth/dto/register.dto.js +13 -11
  41. package/dist/modules/auth/dto/register.dto.js.map +1 -1
  42. package/dist/modules/auth/entities/auth.entity.d.ts +1 -0
  43. package/dist/modules/auth/entities/auth.entity.js +13 -0
  44. package/dist/modules/auth/entities/auth.entity.js.map +1 -1
  45. package/dist/modules/auth/guards/auth.guard.js +7 -17
  46. package/dist/modules/auth/guards/auth.guard.js.map +1 -1
  47. package/dist/modules/auth/services/auth.service.js +1 -1
  48. package/dist/modules/auth/services/auth.service.js.map +1 -1
  49. package/dist/modules/auth/services/tokens.service.d.ts +10 -0
  50. package/dist/modules/auth/services/tokens.service.js +35 -0
  51. package/dist/modules/auth/services/tokens.service.js.map +1 -1
  52. package/dist/modules/buddy/buddy.module.js +2 -1
  53. package/dist/modules/buddy/buddy.module.js.map +1 -1
  54. package/dist/modules/buddy/buddy.utils.d.ts +8 -0
  55. package/dist/modules/buddy/buddy.utils.js +49 -0
  56. package/dist/modules/buddy/buddy.utils.js.map +1 -1
  57. package/dist/modules/buddy/controllers/buddy-suggestions.controller.js +2 -2
  58. package/dist/modules/buddy/controllers/buddy-suggestions.controller.js.map +1 -1
  59. package/dist/modules/buddy/entities/buddy-conversation.entity.js +3 -3
  60. package/dist/modules/buddy/entities/buddy-conversation.entity.js.map +1 -1
  61. package/dist/modules/buddy/entities/buddy-message.entity.js +2 -2
  62. package/dist/modules/buddy/entities/buddy-message.entity.js.map +1 -1
  63. package/dist/modules/buddy/entities/buddy-suggestion.entity.d.ts +19 -0
  64. package/dist/modules/buddy/entities/buddy-suggestion.entity.js +93 -0
  65. package/dist/modules/buddy/entities/buddy-suggestion.entity.js.map +1 -0
  66. package/dist/modules/buddy/platforms/llm-provider.platform.d.ts +6 -0
  67. package/dist/modules/buddy/platforms/openai-sdk.utils.d.ts +2 -1
  68. package/dist/modules/buddy/platforms/openai-sdk.utils.js +12 -1
  69. package/dist/modules/buddy/platforms/openai-sdk.utils.js.map +1 -1
  70. package/dist/modules/buddy/services/buddy-conversation.service.js +23 -8
  71. package/dist/modules/buddy/services/buddy-conversation.service.js.map +1 -1
  72. package/dist/modules/buddy/services/heartbeat.service.js +1 -1
  73. package/dist/modules/buddy/services/heartbeat.service.js.map +1 -1
  74. package/dist/modules/buddy/services/llm-provider.service.js +2 -10
  75. package/dist/modules/buddy/services/llm-provider.service.js.map +1 -1
  76. package/dist/modules/buddy/services/module-reset.service.d.ts +3 -1
  77. package/dist/modules/buddy/services/module-reset.service.js +6 -1
  78. package/dist/modules/buddy/services/module-reset.service.js.map +1 -1
  79. package/dist/modules/buddy/services/pattern-detector.service.d.ts +4 -1
  80. package/dist/modules/buddy/services/pattern-detector.service.js +10 -3
  81. package/dist/modules/buddy/services/pattern-detector.service.js.map +1 -1
  82. package/dist/modules/buddy/services/scene-suggestion-evaluator.service.d.ts +4 -1
  83. package/dist/modules/buddy/services/scene-suggestion-evaluator.service.js +10 -4
  84. package/dist/modules/buddy/services/scene-suggestion-evaluator.service.js.map +1 -1
  85. package/dist/modules/buddy/services/stt-provider.service.js +2 -10
  86. package/dist/modules/buddy/services/stt-provider.service.js.map +1 -1
  87. package/dist/modules/buddy/services/suggestion-engine.service.d.ts +19 -13
  88. package/dist/modules/buddy/services/suggestion-engine.service.js +170 -103
  89. package/dist/modules/buddy/services/suggestion-engine.service.js.map +1 -1
  90. package/dist/modules/buddy/services/tts-provider.service.js +2 -10
  91. package/dist/modules/buddy/services/tts-provider.service.js.map +1 -1
  92. package/dist/modules/config/services/config.service.js +1 -1
  93. package/dist/modules/config/services/config.service.js.map +1 -1
  94. package/dist/modules/devices/services/devices.service.js.map +1 -1
  95. package/dist/modules/extensions/controllers/actions.controller.d.ts +9 -4
  96. package/dist/modules/extensions/controllers/actions.controller.js +63 -10
  97. package/dist/modules/extensions/controllers/actions.controller.js.map +1 -1
  98. package/dist/modules/extensions/extensions.module.js +3 -1
  99. package/dist/modules/extensions/extensions.module.js.map +1 -1
  100. package/dist/modules/extensions/extensions.openapi.d.ts +3 -3
  101. package/dist/modules/extensions/extensions.openapi.js +2 -0
  102. package/dist/modules/extensions/extensions.openapi.js.map +1 -1
  103. package/dist/modules/extensions/models/action.model.d.ts +13 -0
  104. package/dist/modules/extensions/models/action.model.js +89 -3
  105. package/dist/modules/extensions/models/action.model.js.map +1 -1
  106. package/dist/modules/extensions/models/actions-response.model.d.ts +4 -1
  107. package/dist/modules/extensions/models/actions-response.model.js +19 -1
  108. package/dist/modules/extensions/models/actions-response.model.js.map +1 -1
  109. package/dist/modules/extensions/models/extension.model.js +5 -0
  110. package/dist/modules/extensions/models/extension.model.js.map +1 -1
  111. package/dist/modules/extensions/models/service-status.model.js +7 -0
  112. package/dist/modules/extensions/models/service-status.model.js.map +1 -1
  113. package/dist/modules/extensions/services/action-audit.service.d.ts +21 -0
  114. package/dist/modules/extensions/services/action-audit.service.js +49 -0
  115. package/dist/modules/extensions/services/action-audit.service.js.map +1 -0
  116. package/dist/modules/extensions/services/base-managed-plugin.service.d.ts +11 -0
  117. package/dist/modules/extensions/services/base-managed-plugin.service.js +28 -0
  118. package/dist/modules/extensions/services/base-managed-plugin.service.js.map +1 -0
  119. package/dist/modules/extensions/services/extension-action-registry.service.d.ts +6 -1
  120. package/dist/modules/extensions/services/extension-action-registry.service.js +22 -3
  121. package/dist/modules/extensions/services/extension-action-registry.service.js.map +1 -1
  122. package/dist/modules/extensions/services/extension-action.interface.d.ts +3 -0
  123. package/dist/modules/extensions/services/extension-action.interface.js +3 -1
  124. package/dist/modules/extensions/services/extension-action.interface.js.map +1 -1
  125. package/dist/modules/platform/dto/system-info.dto.d.ts +2 -0
  126. package/dist/modules/platform/dto/system-info.dto.js +7 -0
  127. package/dist/modules/platform/dto/system-info.dto.js.map +1 -1
  128. package/dist/modules/platform/platforms/abstract.platform.d.ts +44 -0
  129. package/dist/modules/platform/platforms/abstract.platform.js +267 -0
  130. package/dist/modules/platform/platforms/abstract.platform.js.map +1 -1
  131. package/dist/modules/platform/platforms/docker.platform.d.ts +2 -0
  132. package/dist/modules/platform/platforms/docker.platform.js +3 -0
  133. package/dist/modules/platform/platforms/docker.platform.js.map +1 -1
  134. package/dist/modules/platform/platforms/generic.platform.d.ts +2 -1
  135. package/dist/modules/platform/platforms/generic.platform.js +17 -15
  136. package/dist/modules/platform/platforms/generic.platform.js.map +1 -1
  137. package/dist/modules/platform/platforms/home-assistant.platform.d.ts +4 -0
  138. package/dist/modules/platform/platforms/home-assistant.platform.js +21 -0
  139. package/dist/modules/platform/platforms/home-assistant.platform.js.map +1 -1
  140. package/dist/modules/platform/platforms/raspberry.platform.js +22 -40
  141. package/dist/modules/platform/platforms/raspberry.platform.js.map +1 -1
  142. package/dist/modules/platform/services/platform.service.d.ts +2 -0
  143. package/dist/modules/platform/services/platform.service.js +7 -0
  144. package/dist/modules/platform/services/platform.service.js.map +1 -1
  145. package/dist/modules/stats/controllers/prometheus.controller.js +0 -2
  146. package/dist/modules/stats/controllers/prometheus.controller.js.map +1 -1
  147. package/dist/modules/storage/models/config.model.js +2 -4
  148. package/dist/modules/storage/models/config.model.js.map +1 -1
  149. package/dist/modules/storage/services/storage.service.d.ts +4 -10
  150. package/dist/modules/storage/services/storage.service.js +21 -60
  151. package/dist/modules/storage/services/storage.service.js.map +1 -1
  152. package/dist/modules/storage/storage.constants.d.ts +2 -0
  153. package/dist/modules/storage/storage.constants.js +3 -1
  154. package/dist/modules/storage/storage.constants.js.map +1 -1
  155. package/dist/modules/storage/storage.module.js +1 -3
  156. package/dist/modules/storage/storage.module.js.map +1 -1
  157. package/dist/modules/swagger/commands/serve-swagger.command.d.ts +14 -0
  158. package/dist/modules/swagger/commands/serve-swagger.command.js +60 -0
  159. package/dist/modules/swagger/commands/serve-swagger.command.js.map +1 -0
  160. package/dist/modules/swagger/swagger.module.js +2 -0
  161. package/dist/modules/swagger/swagger.module.js.map +1 -1
  162. package/dist/modules/system/models/system.model.d.ts +3 -1
  163. package/dist/modules/system/models/system.model.js +26 -0
  164. package/dist/modules/system/models/system.model.js.map +1 -1
  165. package/dist/modules/system/scripts/update-worker.sh +304 -0
  166. package/dist/modules/system/services/system-command.service.d.ts +7 -1
  167. package/dist/modules/system/services/system-command.service.js +24 -4
  168. package/dist/modules/system/services/system-command.service.js.map +1 -1
  169. package/dist/modules/system/services/system.service.js +4 -1
  170. package/dist/modules/system/services/system.service.js.map +1 -1
  171. package/dist/modules/system/services/update-executor.service.d.ts +4 -0
  172. package/dist/modules/system/services/update-executor.service.js +104 -1
  173. package/dist/modules/system/services/update-executor.service.js.map +1 -1
  174. package/dist/modules/system/system.constants.d.ts +7 -0
  175. package/dist/modules/system/system.constants.js +9 -1
  176. package/dist/modules/system/system.constants.js.map +1 -1
  177. package/dist/modules/system/system.module.js +6 -3
  178. package/dist/modules/system/system.module.js.map +1 -1
  179. package/dist/modules/users/controllers/users.controller.js +9 -0
  180. package/dist/modules/users/controllers/users.controller.js.map +1 -1
  181. package/dist/modules/users/dto/create-user.dto.js +1 -0
  182. package/dist/modules/users/dto/create-user.dto.js.map +1 -1
  183. package/dist/modules/users/dto/update-user.dto.d.ts +1 -0
  184. package/dist/modules/users/dto/update-user.dto.js +15 -1
  185. package/dist/modules/users/dto/update-user.dto.js.map +1 -1
  186. package/dist/modules/users/services/users.service.d.ts +1 -0
  187. package/dist/modules/users/services/users.service.js +12 -2
  188. package/dist/modules/users/services/users.service.js.map +1 -1
  189. package/dist/modules/websocket/dto/client-user.dto.js +25 -0
  190. package/dist/modules/websocket/dto/client-user.dto.js.map +1 -1
  191. package/dist/modules/websocket/dto/ws-client.dto.js +26 -0
  192. package/dist/modules/websocket/dto/ws-client.dto.js.map +1 -1
  193. package/dist/modules/websocket/gateway/websocket.gateway.js +7 -2
  194. package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
  195. package/dist/modules/websocket/services/command-event-registry.service.d.ts +3 -1
  196. package/dist/modules/websocket/services/command-event-registry.service.js +5 -4
  197. package/dist/modules/websocket/services/command-event-registry.service.js.map +1 -1
  198. package/dist/plugins/buddy-openai/platforms/openai.provider.js +1 -0
  199. package/dist/plugins/buddy-openai/platforms/openai.provider.js.map +1 -1
  200. package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js +2 -0
  201. package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js.map +1 -1
  202. package/dist/plugins/devices-home-assistant/dto/home-assistant-discovered-helper.dto.js +22 -2
  203. package/dist/plugins/devices-home-assistant/dto/home-assistant-discovered-helper.dto.js.map +1 -1
  204. package/dist/plugins/devices-home-assistant/models/config.model.d.ts +1 -0
  205. package/dist/plugins/devices-home-assistant/models/config.model.js +12 -0
  206. package/dist/plugins/devices-home-assistant/models/config.model.js.map +1 -1
  207. package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.d.ts +3 -1
  208. package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js +14 -2
  209. package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js.map +1 -1
  210. package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.d.ts +10 -0
  211. package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.js +47 -0
  212. package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.js.map +1 -0
  213. package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.d.ts +3 -1
  214. package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.js +8 -2
  215. package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.js.map +1 -1
  216. package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.d.ts +5 -1
  217. package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.js +35 -12
  218. package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.js.map +1 -1
  219. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.d.ts +9 -7
  220. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +64 -24
  221. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
  222. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +1 -0
  223. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
  224. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +4 -0
  225. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +83 -11
  226. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
  227. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +6 -0
  228. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +42 -0
  229. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
  230. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.d.ts +6 -1
  231. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js +42 -2
  232. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js.map +1 -1
  233. package/dist/plugins/devices-shelly-ng/dto/update-config.dto.d.ts +1 -0
  234. package/dist/plugins/devices-shelly-ng/dto/update-config.dto.js +24 -6
  235. package/dist/plugins/devices-shelly-ng/dto/update-config.dto.js.map +1 -1
  236. package/dist/plugins/devices-shelly-ng/entities/devices-shelly-ng.entity.js +12 -0
  237. package/dist/plugins/devices-shelly-ng/entities/devices-shelly-ng.entity.js.map +1 -1
  238. package/dist/plugins/devices-shelly-ng/entities/shelly-ng-device-address.entity.js +2 -0
  239. package/dist/plugins/devices-shelly-ng/entities/shelly-ng-device-address.entity.js.map +1 -1
  240. package/dist/plugins/devices-shelly-ng/models/config.model.d.ts +1 -0
  241. package/dist/plugins/devices-shelly-ng/models/config.model.js +18 -6
  242. package/dist/plugins/devices-shelly-ng/models/config.model.js.map +1 -1
  243. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +14 -7
  244. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +91 -14
  245. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
  246. package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.d.ts +5 -0
  247. package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js +3 -0
  248. package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js.map +1 -1
  249. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.d.ts +28 -0
  250. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +197 -0
  251. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -0
  252. package/dist/plugins/devices-shelly-v1/services/shellies-adapter.service.d.ts +6 -2
  253. package/dist/plugins/devices-shelly-v1/services/shellies-adapter.service.js +68 -20
  254. package/dist/plugins/devices-shelly-v1/services/shellies-adapter.service.js.map +1 -1
  255. package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.d.ts +3 -6
  256. package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js +7 -20
  257. package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js.map +1 -1
  258. package/dist/plugins/devices-wled/services/wled.service.d.ts +3 -6
  259. package/dist/plugins/devices-wled/services/wled.service.js +3 -20
  260. package/dist/plugins/devices-wled/services/wled.service.js.map +1 -1
  261. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.d.ts +3 -6
  262. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js +3 -20
  263. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js.map +1 -1
  264. package/dist/{modules/storage/plugins/influx-v1/influx-v1.update-config.dto.d.ts → plugins/influx-v1/dto/update-config.dto.d.ts} +1 -1
  265. package/dist/{modules/storage/plugins/influx-v1/influx-v1.update-config.dto.js → plugins/influx-v1/dto/update-config.dto.js} +3 -3
  266. package/dist/plugins/influx-v1/dto/update-config.dto.js.map +1 -0
  267. package/dist/plugins/influx-v1/influx-v1.constants.js.map +1 -0
  268. package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.openapi.d.ts +1 -1
  269. package/dist/plugins/influx-v1/influx-v1.openapi.js +7 -0
  270. package/dist/plugins/influx-v1/influx-v1.openapi.js.map +1 -0
  271. package/dist/plugins/influx-v1/influx-v1.plugin.d.ts +15 -0
  272. package/dist/{modules/storage/plugins/influx-v1/influx-v1.module.js → plugins/influx-v1/influx-v1.plugin.js} +24 -43
  273. package/dist/plugins/influx-v1/influx-v1.plugin.js.map +1 -0
  274. package/dist/{modules/storage/plugins/influx-v1/influx-v1.config.model.d.ts → plugins/influx-v1/models/config.model.d.ts} +1 -1
  275. package/dist/{modules/storage/plugins/influx-v1/influx-v1.config.model.js → plugins/influx-v1/models/config.model.js} +3 -3
  276. package/dist/plugins/influx-v1/models/config.model.js.map +1 -0
  277. package/dist/plugins/influx-v1/services/influx-v1-managed.service.d.ts +20 -0
  278. package/dist/plugins/influx-v1/services/influx-v1-managed.service.js +128 -0
  279. package/dist/plugins/influx-v1/services/influx-v1-managed.service.js.map +1 -0
  280. package/dist/{modules/storage/plugins/influx-v1/influx-v1.plugin.d.ts → plugins/influx-v1/services/influx-v1.storage.d.ts} +3 -3
  281. package/dist/{modules/storage/plugins/influx-v1/influx-v1.plugin.js → plugins/influx-v1/services/influx-v1.storage.js} +9 -9
  282. package/dist/plugins/influx-v1/services/influx-v1.storage.js.map +1 -0
  283. package/dist/plugins/influx-v2/dto/update-config.dto.d.ts +8 -0
  284. package/dist/plugins/influx-v2/dto/update-config.dto.js +82 -0
  285. package/dist/plugins/influx-v2/dto/update-config.dto.js.map +1 -0
  286. package/dist/plugins/influx-v2/influx-v2.constants.d.ts +4 -0
  287. package/dist/plugins/influx-v2/influx-v2.constants.js +8 -0
  288. package/dist/plugins/influx-v2/influx-v2.constants.js.map +1 -0
  289. package/dist/plugins/influx-v2/influx-v2.openapi.d.ts +2 -0
  290. package/dist/plugins/influx-v2/influx-v2.openapi.js +7 -0
  291. package/dist/plugins/influx-v2/influx-v2.openapi.js.map +1 -0
  292. package/dist/plugins/influx-v2/influx-v2.plugin.d.ts +15 -0
  293. package/dist/plugins/influx-v2/influx-v2.plugin.js +76 -0
  294. package/dist/plugins/influx-v2/influx-v2.plugin.js.map +1 -0
  295. package/dist/plugins/influx-v2/models/config.model.d.ts +9 -0
  296. package/dist/plugins/influx-v2/models/config.model.js +93 -0
  297. package/dist/plugins/influx-v2/models/config.model.js.map +1 -0
  298. package/dist/plugins/influx-v2/services/influx-v2-managed.service.d.ts +20 -0
  299. package/dist/plugins/influx-v2/services/influx-v2-managed.service.js +132 -0
  300. package/dist/plugins/influx-v2/services/influx-v2-managed.service.js.map +1 -0
  301. package/dist/plugins/influx-v2/services/influx-v2.storage.d.ts +33 -0
  302. package/dist/plugins/influx-v2/services/influx-v2.storage.js +230 -0
  303. package/dist/plugins/influx-v2/services/influx-v2.storage.js.map +1 -0
  304. package/dist/{modules/storage/plugins/memory/memory.update-config.dto.d.ts → plugins/memory-storage/dto/update-config.dto.d.ts} +1 -1
  305. package/dist/{modules/storage/plugins/memory/memory.update-config.dto.js → plugins/memory-storage/dto/update-config.dto.js} +5 -5
  306. package/dist/plugins/memory-storage/dto/update-config.dto.js.map +1 -0
  307. package/dist/{modules/storage/plugins/memory/memory.constants.js → plugins/memory-storage/memory-storage.constants.js} +1 -1
  308. package/dist/plugins/memory-storage/memory-storage.constants.js.map +1 -0
  309. package/dist/{modules/storage/plugins/memory/memory.openapi.d.ts → plugins/memory-storage/memory-storage.openapi.d.ts} +1 -1
  310. package/dist/plugins/memory-storage/memory-storage.openapi.js +7 -0
  311. package/dist/plugins/memory-storage/memory-storage.openapi.js.map +1 -0
  312. package/dist/plugins/memory-storage/memory-storage.plugin.d.ts +15 -0
  313. package/dist/{modules/storage/plugins/memory/memory.module.js → plugins/memory-storage/memory-storage.plugin.js} +29 -28
  314. package/dist/plugins/memory-storage/memory-storage.plugin.js.map +1 -0
  315. package/dist/{modules/storage/plugins/memory/memory.config.model.d.ts → plugins/memory-storage/models/config.model.d.ts} +1 -1
  316. package/dist/{modules/storage/plugins/memory/memory.config.model.js → plugins/memory-storage/models/config.model.js} +5 -5
  317. package/dist/plugins/memory-storage/models/config.model.js.map +1 -0
  318. package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/in-memory-timeseries.store.d.ts +1 -1
  319. package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/in-memory-timeseries.store.js +4 -4
  320. package/dist/plugins/memory-storage/services/in-memory-timeseries.store.js.map +1 -0
  321. package/dist/plugins/memory-storage/services/influxql-parser.js.map +1 -0
  322. package/dist/plugins/memory-storage/services/memory-storage-managed.service.d.ts +14 -0
  323. package/dist/plugins/memory-storage/services/memory-storage-managed.service.js +87 -0
  324. package/dist/plugins/memory-storage/services/memory-storage-managed.service.js.map +1 -0
  325. package/dist/{modules/storage/plugins/memory/memory.plugin.d.ts → plugins/memory-storage/services/memory-storage.storage.d.ts} +3 -3
  326. package/dist/{modules/storage/plugins/memory/memory.plugin.js → plugins/memory-storage/services/memory-storage.storage.js} +8 -8
  327. package/dist/plugins/memory-storage/services/memory-storage.storage.js.map +1 -0
  328. package/dist/plugins/simulator/services/simulator-actions.service.js +3 -0
  329. package/dist/plugins/simulator/services/simulator-actions.service.js.map +1 -1
  330. package/dist/tsconfig.build.tsbuildinfo +1 -1
  331. package/package.json +6 -2
  332. package/dist/modules/storage/plugins/influx-v1/influx-v1.config.model.js.map +0 -1
  333. package/dist/modules/storage/plugins/influx-v1/influx-v1.constants.js.map +0 -1
  334. package/dist/modules/storage/plugins/influx-v1/influx-v1.module.d.ts +0 -17
  335. package/dist/modules/storage/plugins/influx-v1/influx-v1.module.js.map +0 -1
  336. package/dist/modules/storage/plugins/influx-v1/influx-v1.openapi.js +0 -7
  337. package/dist/modules/storage/plugins/influx-v1/influx-v1.openapi.js.map +0 -1
  338. package/dist/modules/storage/plugins/influx-v1/influx-v1.plugin.js.map +0 -1
  339. package/dist/modules/storage/plugins/influx-v1/influx-v1.update-config.dto.js.map +0 -1
  340. package/dist/modules/storage/plugins/memory/in-memory-timeseries.store.js.map +0 -1
  341. package/dist/modules/storage/plugins/memory/influxql-parser.js.map +0 -1
  342. package/dist/modules/storage/plugins/memory/memory.config.model.js.map +0 -1
  343. package/dist/modules/storage/plugins/memory/memory.constants.js.map +0 -1
  344. package/dist/modules/storage/plugins/memory/memory.module.d.ts +0 -13
  345. package/dist/modules/storage/plugins/memory/memory.module.js.map +0 -1
  346. package/dist/modules/storage/plugins/memory/memory.openapi.js +0 -7
  347. package/dist/modules/storage/plugins/memory/memory.openapi.js.map +0 -1
  348. package/dist/modules/storage/plugins/memory/memory.plugin.js.map +0 -1
  349. package/dist/modules/storage/plugins/memory/memory.update-config.dto.js.map +0 -1
  350. /package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.constants.d.ts +0 -0
  351. /package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.constants.js +0 -0
  352. /package/dist/{modules/storage/plugins/memory/memory.constants.d.ts → plugins/memory-storage/memory-storage.constants.d.ts} +0 -0
  353. /package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/influxql-parser.d.ts +0 -0
  354. /package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/influxql-parser.js +0 -0
@@ -1,14 +1,260 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.Platform = void 0;
4
7
  const class_validator_1 = require("class-validator");
8
+ const promises_1 = __importDefault(require("fs/promises"));
9
+ const node_child_process_1 = require("node:child_process");
10
+ const os_1 = __importDefault(require("os"));
11
+ const systeminformation_1 = __importDefault(require("systeminformation"));
12
+ const util_1 = require("util");
5
13
  const logger_1 = require("../../../common/logger");
6
14
  const transform_utils_1 = require("../../../common/utils/transform.utils");
15
+ const system_constants_1 = require("../../system/system.constants");
16
+ const system_info_dto_1 = require("../dto/system-info.dto");
17
+ const throttle_status_dto_1 = require("../dto/throttle-status.dto");
7
18
  const platform_constants_1 = require("../platform.constants");
8
19
  const platform_exceptions_1 = require("../platform.exceptions");
20
+ const execFileAsync = (0, util_1.promisify)(node_child_process_1.execFile);
9
21
  class Platform {
10
22
  constructor() {
11
23
  this.logger = (0, logger_1.createExtensionLogger)(platform_constants_1.PLATFORM_MODULE_NAME, 'Platform');
24
+ this.siOsInfoCache = null;
25
+ this.siGraphicsCache = null;
26
+ this.siNetworkInterfacesCache = null;
27
+ this.siFsSizeCache = null;
28
+ this.networkModeCache = null;
29
+ }
30
+ async cachedOsInfo() {
31
+ if (this.siOsInfoCache && Date.now() - this.siOsInfoCache.at < Platform.SLOW_CACHE_TTL_MS) {
32
+ return this.siOsInfoCache.data;
33
+ }
34
+ const data = await systeminformation_1.default.osInfo();
35
+ this.siOsInfoCache = { data, at: Date.now() };
36
+ return data;
37
+ }
38
+ async cachedGraphics() {
39
+ if (this.siGraphicsCache && Date.now() - this.siGraphicsCache.at < Platform.SLOW_CACHE_TTL_MS) {
40
+ return this.siGraphicsCache.data;
41
+ }
42
+ const data = await systeminformation_1.default.graphics();
43
+ this.siGraphicsCache = { data, at: Date.now() };
44
+ return data;
45
+ }
46
+ async cachedNetworkInterfaces() {
47
+ if (this.siNetworkInterfacesCache && Date.now() - this.siNetworkInterfacesCache.at < Platform.SLOW_CACHE_TTL_MS) {
48
+ return this.siNetworkInterfacesCache.data;
49
+ }
50
+ const data = await systeminformation_1.default.networkInterfaces('default');
51
+ this.siNetworkInterfacesCache = { data, at: Date.now() };
52
+ return data;
53
+ }
54
+ async cachedFsSize() {
55
+ if (this.siFsSizeCache && Date.now() - this.siFsSizeCache.at < Platform.STORAGE_CACHE_TTL_MS) {
56
+ return this.siFsSizeCache.data;
57
+ }
58
+ const data = await systeminformation_1.default.fsSize();
59
+ this.siFsSizeCache = { data, at: Date.now() };
60
+ return data;
61
+ }
62
+ parseThrottleFlags(status) {
63
+ return {
64
+ undervoltage: !!(status & 0x1),
65
+ frequencyCapping: !!(status & 0x2),
66
+ throttling: !!(status & 0x4),
67
+ softTempLimit: !!(status & 0x8),
68
+ };
69
+ }
70
+ async readThrottleFromSysfs() {
71
+ try {
72
+ const data = await promises_1.default.readFile(Platform.THROTTLE_SYSFS_PATH, 'utf-8');
73
+ const status = parseInt(data.trim(), 16);
74
+ if (!isNaN(status)) {
75
+ return this.validateDto(throttle_status_dto_1.ThrottleStatusDto, this.parseThrottleFlags(status));
76
+ }
77
+ }
78
+ catch {
79
+ }
80
+ return null;
81
+ }
82
+ async readContainerMemory() {
83
+ try {
84
+ const [maxRaw, currentRaw] = await Promise.all([
85
+ promises_1.default.readFile('/sys/fs/cgroup/memory.max', 'utf-8'),
86
+ promises_1.default.readFile('/sys/fs/cgroup/memory.current', 'utf-8'),
87
+ ]);
88
+ const max = maxRaw.trim();
89
+ const current = parseInt(currentRaw.trim(), 10);
90
+ if (max !== 'max' && !isNaN(current)) {
91
+ const total = parseInt(max, 10);
92
+ if (!isNaN(total) && total > 0) {
93
+ return { total, used: current, free: Math.max(0, total - current) };
94
+ }
95
+ }
96
+ }
97
+ catch {
98
+ }
99
+ try {
100
+ const [limitRaw, usageRaw] = await Promise.all([
101
+ promises_1.default.readFile('/sys/fs/cgroup/memory/memory.limit_in_bytes', 'utf-8'),
102
+ promises_1.default.readFile('/sys/fs/cgroup/memory/memory.usage_in_bytes', 'utf-8'),
103
+ ]);
104
+ const limit = parseInt(limitRaw.trim(), 10);
105
+ const usage = parseInt(usageRaw.trim(), 10);
106
+ if (!isNaN(limit) && !isNaN(usage) && limit < 2 ** 62) {
107
+ return { total: limit, used: usage, free: Math.max(0, limit - usage) };
108
+ }
109
+ }
110
+ catch {
111
+ }
112
+ return null;
113
+ }
114
+ async readContainerCpuCount() {
115
+ try {
116
+ const raw = await promises_1.default.readFile('/sys/fs/cgroup/cpu.max', 'utf-8');
117
+ const [quotaStr, periodStr] = raw.trim().split(/\s+/);
118
+ if (quotaStr !== 'max') {
119
+ const quota = parseInt(quotaStr, 10);
120
+ const period = parseInt(periodStr, 10);
121
+ if (!isNaN(quota) && quota > 0 && !isNaN(period) && period > 0) {
122
+ return quota / period;
123
+ }
124
+ }
125
+ }
126
+ catch {
127
+ }
128
+ try {
129
+ const [quotaRaw, periodRaw] = await Promise.all([
130
+ promises_1.default.readFile('/sys/fs/cgroup/cpu/cpu.cfs_quota_us', 'utf-8'),
131
+ promises_1.default.readFile('/sys/fs/cgroup/cpu/cpu.cfs_period_us', 'utf-8'),
132
+ ]);
133
+ const quota = parseInt(quotaRaw.trim(), 10);
134
+ const period = parseInt(periodRaw.trim(), 10);
135
+ if (!isNaN(quota) && quota > 0 && !isNaN(period) && period > 0) {
136
+ return quota / period;
137
+ }
138
+ }
139
+ catch {
140
+ }
141
+ return os_1.default.cpus().length || 1;
142
+ }
143
+ async readContainerCpuLoad() {
144
+ const cpuCount = await this.readContainerCpuCount();
145
+ try {
146
+ const readV2 = async () => {
147
+ const stat = await promises_1.default.readFile('/sys/fs/cgroup/cpu.stat', 'utf-8');
148
+ const match = stat.match(/usage_usec\s+(\d+)/);
149
+ if (!match) {
150
+ throw new Error('usage_usec not found');
151
+ }
152
+ return parseInt(match[1], 10);
153
+ };
154
+ const t1 = Date.now();
155
+ const u1 = await readV2();
156
+ await new Promise((r) => setTimeout(r, 200));
157
+ const t2 = Date.now();
158
+ const u2 = await readV2();
159
+ const elapsedUs = (t2 - t1) * 1000;
160
+ const cpuUs = u2 - u1;
161
+ if (elapsedUs > 0) {
162
+ return Math.min(100, (cpuUs / (elapsedUs * cpuCount)) * 100);
163
+ }
164
+ }
165
+ catch {
166
+ }
167
+ try {
168
+ const readV1 = async () => {
169
+ const raw = await promises_1.default.readFile('/sys/fs/cgroup/cpuacct/cpuacct.usage', 'utf-8');
170
+ return parseInt(raw.trim(), 10);
171
+ };
172
+ const t1 = Date.now();
173
+ const u1 = await readV1();
174
+ await new Promise((r) => setTimeout(r, 200));
175
+ const t2 = Date.now();
176
+ const u2 = await readV1();
177
+ const elapsedNs = (t2 - t1) * 1_000_000;
178
+ const cpuNs = u2 - u1;
179
+ if (elapsedNs > 0) {
180
+ return Math.min(100, (cpuNs / (elapsedNs * cpuCount)) * 100);
181
+ }
182
+ }
183
+ catch {
184
+ }
185
+ return null;
186
+ }
187
+ filterContainerStorage(fsList) {
188
+ const PSEUDO_FS = new Set(['tmpfs', 'devtmpfs', 'squashfs', 'proc', 'sysfs', 'ramfs']);
189
+ return fsList
190
+ .filter((d) => d.size > 0 && !PSEUDO_FS.has(d.type) && !d.type.startsWith('cgroup'))
191
+ .map((d) => ({ fs: d.fs, used: d.used, size: d.size, available: d.available }));
192
+ }
193
+ async getContainerSystemInfo() {
194
+ const [hostCpu, hostMemory, temp, network, containerMemory, containerCpu, storage, osInfo, graphics, networkInterface,] = await Promise.all([
195
+ systeminformation_1.default.currentLoad(),
196
+ systeminformation_1.default.mem(),
197
+ systeminformation_1.default.cpuTemperature(),
198
+ systeminformation_1.default.networkStats(),
199
+ this.readContainerMemory(),
200
+ this.readContainerCpuLoad(),
201
+ this.cachedFsSize(),
202
+ this.cachedOsInfo(),
203
+ this.cachedGraphics(),
204
+ this.cachedNetworkInterfaces(),
205
+ ]);
206
+ const time = systeminformation_1.default.time();
207
+ const memory = containerMemory ?? {
208
+ total: hostMemory.total,
209
+ used: hostMemory.used,
210
+ free: hostMemory.free,
211
+ };
212
+ const cpuLoad = containerCpu ?? hostCpu.currentLoad;
213
+ const containerStorage = this.filterContainerStorage(storage);
214
+ const defaultNetworkInterface = Array.isArray(networkInterface) ? networkInterface[0] : networkInterface;
215
+ const networkMode = await this.detectNetworkMode(defaultNetworkInterface?.ip4 ?? '');
216
+ const rawData = {
217
+ networkMode,
218
+ cpuLoad,
219
+ memory,
220
+ storage: containerStorage,
221
+ primaryStorage: containerStorage[0] ?? { fs: '', used: 0, size: 0, available: 0 },
222
+ os: {
223
+ platform: osInfo.platform,
224
+ distro: osInfo.distro,
225
+ release: osInfo.release,
226
+ uptime: Math.floor(process.uptime()),
227
+ node: process.version.replace(/^v/, ''),
228
+ npm: null,
229
+ timezone: time.timezone,
230
+ },
231
+ temperature: {
232
+ cpu: temp.main,
233
+ },
234
+ network: network.map((row) => ({
235
+ interface: row.iface,
236
+ rxBytes: row.rx_bytes,
237
+ txBytes: row.tx_bytes,
238
+ })),
239
+ defaultNetwork: {
240
+ interface: defaultNetworkInterface?.iface ?? '',
241
+ ip4: defaultNetworkInterface?.ip4 ?? '',
242
+ ip6: defaultNetworkInterface?.ip6 ?? '',
243
+ mac: defaultNetworkInterface?.mac ?? '',
244
+ hostname: osInfo.hostname,
245
+ },
246
+ display: {
247
+ resolutionX: graphics.displays[0]?.resolutionX || 0,
248
+ resolutionY: graphics.displays[0]?.resolutionY || 0,
249
+ currentResX: graphics.displays[0]?.currentResX || 0,
250
+ currentResY: graphics.displays[0]?.currentResY || 0,
251
+ },
252
+ process: {
253
+ pid: process.pid,
254
+ uptime: Math.floor(process.uptime()),
255
+ },
256
+ };
257
+ return this.validateDto(system_info_dto_1.SystemInfoDto, rawData);
12
258
  }
13
259
  async validateDto(dtoClass, rawData) {
14
260
  const instance = (0, transform_utils_1.toInstance)(dtoClass, rawData);
@@ -22,6 +268,27 @@ class Platform {
22
268
  this.logger.debug(`DTO validation passed: ${dtoClass.name}`);
23
269
  return instance;
24
270
  }
271
+ async detectNetworkMode(ip4) {
272
+ if (this.networkModeCache &&
273
+ this.networkModeCache.ip4 === ip4 &&
274
+ Date.now() - this.networkModeCache.at < Platform.NETWORK_MODE_CACHE_TTL_MS) {
275
+ return this.networkModeCache.data;
276
+ }
277
+ let mode;
278
+ try {
279
+ await execFileAsync('systemctl', ['is-active', 'smart-panel-portal.service'], { timeout: 2000 });
280
+ mode = system_constants_1.NetworkMode.SETUP;
281
+ }
282
+ catch {
283
+ mode = ip4 && ip4 !== '0.0.0.0' ? system_constants_1.NetworkMode.ONLINE : system_constants_1.NetworkMode.OFFLINE;
284
+ }
285
+ this.networkModeCache = { data: mode, ip4, at: Date.now() };
286
+ return mode;
287
+ }
25
288
  }
26
289
  exports.Platform = Platform;
290
+ Platform.SLOW_CACHE_TTL_MS = 60_000;
291
+ Platform.STORAGE_CACHE_TTL_MS = 30_000;
292
+ Platform.NETWORK_MODE_CACHE_TTL_MS = 30_000;
293
+ Platform.THROTTLE_SYSFS_PATH = '/sys/devices/platform/soc/soc:firmware/get_throttled';
27
294
  //# sourceMappingURL=abstract.platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.platform.js","sourceRoot":"","sources":["../../../../src/modules/platform/platforms/abstract.platform.ts"],"names":[],"mappings":";;;AAAA,qDAA2C;AAE3C,mDAA+D;AAC/D,2EAAmE;AAMnE,8DAA6D;AAC7D,gEAA2D;AAE3D,MAAsB,QAAQ;IAA9B;QACW,WAAM,GAAG,IAAA,8BAAqB,EAAC,yCAAoB,EAAE,UAAU,CAAC,CAAC;IAoC5E,CAAC;IAjBU,KAAK,CAAC,WAAW,CAAmB,QAAqB,EAAE,OAAgB;QACpF,MAAM,QAAQ,GAAG,IAAA,4BAAU,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,IAAI,EAAE,EAAE;gBAChE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aAC/C,CAAC,CAAC;YAEH,MAAM,IAAI,uCAAiB,CAAC,sDAAsD,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD;AArCD,4BAqCC"}
1
+ {"version":3,"file":"abstract.platform.js","sourceRoot":"","sources":["../../../../src/modules/platform/platforms/abstract.platform.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA2C;AAC3C,2DAA6B;AAC7B,2DAA8C;AAC9C,4CAAoB;AACpB,0EAA0D;AAC1D,+BAAiC;AAEjC,mDAA+D;AAC/D,2EAAmE;AACnE,oEAA4D;AAE5D,4DAAmE;AAEnE,oEAA+D;AAE/D,8DAA6D;AAC7D,gEAA2D;AAE3D,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,6BAAQ,CAAC,CAAC;AAO1C,MAAsB,QAAQ;IAA9B;QACW,WAAM,GAAG,IAAA,8BAAqB,EAAC,yCAAoB,EAAE,UAAU,CAAC,CAAC;QASnE,kBAAa,GAAgD,IAAI,CAAC;QAClE,oBAAe,GAAsD,IAAI,CAAC;QAC1E,6BAAwB,GAErB,IAAI,CAAC;QACR,kBAAa,GAAsD,IAAI,CAAC;QACxE,qBAAgB,GAAkD,IAAI,CAAC;IA4ahF,CAAC;IAzaU,KAAK,CAAC,YAAY;QAC3B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,2BAAE,CAAC,MAAM,EAAE,CAAC;QAE/B,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAE9C,OAAO,IAAI,CAAC;IACb,CAAC;IAES,KAAK,CAAC,cAAc;QAC7B,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/F,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,2BAAE,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAEhD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,KAAK,CAAC,uBAAuB;QAGtC,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACjH,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;QAC3C,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,2BAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEnD,IAAI,CAAC,wBAAwB,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAEzD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,KAAK,CAAC,YAAY;QAC3B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YAC9F,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,2BAAE,CAAC,MAAM,EAAE,CAAC;QAE/B,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAE9C,OAAO,IAAI,CAAC;IACb,CAAC;IAwBS,kBAAkB,CAAC,MAAc;QAC1C,OAAO;YACN,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;YAC9B,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;YAClC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;YAC5B,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;SAC/B,CAAC;IACH,CAAC;IAMS,KAAK,CAAC,qBAAqB;QACpC,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAEzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,WAAW,CAAC,uCAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7E,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAUS,KAAK,CAAC,mBAAmB;QAElC,IAAI,CAAC;YACJ,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9C,kBAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;gBACjD,kBAAE,CAAC,QAAQ,CAAC,+BAA+B,EAAE,OAAO,CAAC;aACrD,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAGhD,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAEhC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBAChC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;gBACrE,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAGD,IAAI,CAAC;YACJ,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9C,kBAAE,CAAC,QAAQ,CAAC,6CAA6C,EAAE,OAAO,CAAC;gBACnE,kBAAE,CAAC,QAAQ,CAAC,6CAA6C,EAAE,OAAO,CAAC;aACnE,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAG5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;YACxE,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAMS,KAAK,CAAC,qBAAqB;QAEpC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEtD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAEvC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChE,OAAO,KAAK,GAAG,MAAM,CAAC;gBACvB,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAGD,IAAI,CAAC;YACJ,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,kBAAE,CAAC,QAAQ,CAAC,qCAAqC,EAAE,OAAO,CAAC;gBAC3D,kBAAE,CAAC,QAAQ,CAAC,sCAAsC,EAAE,OAAO,CAAC;aAC5D,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,OAAO,KAAK,GAAG,MAAM,CAAC;YACvB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;IAC9B,CAAC;IAQS,KAAK,CAAC,oBAAoB;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAGpD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,KAAK,IAAqB,EAAE;gBAC1C,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;gBACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAE/C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACzC,CAAC;gBAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAE1B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAE7C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAE1B,MAAM,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;YACnC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;YAEtB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAGD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,KAAK,IAAqB,EAAE;gBAC1C,MAAM,GAAG,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC;gBAE/E,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAE1B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAE7C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,CAAC;YAE1B,MAAM,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;YACxC,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;YAEtB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC9D,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAMS,sBAAsB,CAC/B,MAAyG;QAEzG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEvF,OAAO,MAAM;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;aACnF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAOS,KAAK,CAAC,sBAAsB;QAGrC,MAAM,CACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,OAAO,EACP,eAAe,EACf,YAAY,EACZ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrB,2BAAE,CAAC,WAAW,EAAE;YAChB,2BAAE,CAAC,GAAG,EAAE;YACR,2BAAE,CAAC,cAAc,EAAE;YACnB,2BAAE,CAAC,YAAY,EAAE;YACjB,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,oBAAoB,EAAE;YAC3B,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,uBAAuB,EAAE;SAC9B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,2BAAE,CAAC,IAAI,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,eAAe,IAAI;YACjC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,IAAI,EAAE,UAAU,CAAC,IAAI;SACrB,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;QAGpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE9D,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAEzG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAErF,MAAM,OAAO,GAAG;YACf,WAAW;YACX,OAAO;YACP,MAAM;YACN,OAAO,EAAE,gBAAgB;YACzB,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;YACjF,EAAE,EAAE;gBACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,GAAG,EAAE,IAAI;gBACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB;YACD,WAAW,EAAE;gBACZ,GAAG,EAAE,IAAI,CAAC,IAAI;aACd;YACD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC9B,SAAS,EAAE,GAAG,CAAC,KAAK;gBACpB,OAAO,EAAE,GAAG,CAAC,QAAQ;gBACrB,OAAO,EAAE,GAAG,CAAC,QAAQ;aACrB,CAAC,CAAC;YACH,cAAc,EAAE;gBACf,SAAS,EAAE,uBAAuB,EAAE,KAAK,IAAI,EAAE;gBAC/C,GAAG,EAAE,uBAAuB,EAAE,GAAG,IAAI,EAAE;gBACvC,GAAG,EAAE,uBAAuB,EAAE,GAAG,IAAI,EAAE;gBACvC,GAAG,EAAE,uBAAuB,EAAE,GAAG,IAAI,EAAE;gBACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;aACzB;YACD,OAAO,EAAE;gBACR,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC;gBACnD,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC;gBACnD,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC;gBACnD,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC;aACnD;YACD,OAAO,EAAE;gBACR,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACpC;SACD,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC,+BAAa,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAES,KAAK,CAAC,WAAW,CAAmB,QAAqB,EAAE,OAAgB;QACpF,MAAM,QAAQ,GAAG,IAAA,4BAAU,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,IAAI,EAAE,EAAE;gBAChE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aAC/C,CAAC,CAAC;YAEH,MAAM,IAAI,uCAAiB,CAAC,sDAAsD,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,OAAO,QAAQ,CAAC;IACjB,CAAC;IAYS,KAAK,CAAC,iBAAiB,CAAC,GAAW;QAC5C,IACC,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,GAAG;YACjC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,QAAQ,CAAC,yBAAyB,EACzE,CAAC;YACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAmB,CAAC;QAClD,CAAC;QAED,IAAI,IAAiB,CAAC;QAEtB,IAAI,CAAC;YAGJ,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,4BAA4B,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAEjG,IAAI,GAAG,8BAAW,CAAC,KAAK,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YAER,IAAI,GAAG,GAAG,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,8BAAW,CAAC,MAAM,CAAC,CAAC,CAAC,8BAAW,CAAC,OAAO,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAE5D,OAAO,IAAI,CAAC;IACb,CAAC;;AA3bF,4BA4bC;AArbwB,0BAAiB,GAAG,MAAM,AAAT,CAAU;AAC3B,6BAAoB,GAAG,MAAM,AAAT,CAAU;AAS9B,kCAAyB,GAAG,MAAM,AAAT,CAAU;AAqEjC,4BAAmB,GAAG,sDAAsD,AAAzD,CAA0D"}
@@ -1,5 +1,7 @@
1
+ import { SystemInfoDto } from '../dto/system-info.dto';
1
2
  import { GenericPlatform } from './generic.platform';
2
3
  export declare class DockerPlatform extends GenericPlatform {
4
+ getSystemInfo(): Promise<SystemInfoDto>;
3
5
  rebootDevice(): Promise<void>;
4
6
  powerOffDevice(): Promise<void>;
5
7
  private getContainerId;
@@ -11,6 +11,9 @@ const util_1 = require("util");
11
11
  const generic_platform_1 = require("./generic.platform");
12
12
  const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
13
13
  class DockerPlatform extends generic_platform_1.GenericPlatform {
14
+ async getSystemInfo() {
15
+ return this.getContainerSystemInfo();
16
+ }
14
17
  async rebootDevice() {
15
18
  this.logger.log('[SYSTEM] Restarting container via Docker API...');
16
19
  const containerId = await this.getContainerId();
@@ -1 +1 @@
1
- {"version":3,"file":"docker.platform.js","sourceRoot":"","sources":["../../../../src/modules/platform/platforms/docker.platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker.platform.js","sourceRoot":"","sources":["../../../../src/modules/platform/platforms/docker.platform.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { NetworkStatsDto } from '../dto/network-stats.dto';
2
2
  import { StorageDto, SystemInfoDto } from '../dto/system-info.dto';
3
3
  import { TemperatureDto } from '../dto/temperature.dto';
4
+ import { ThrottleStatusDto } from '../dto/throttle-status.dto';
4
5
  import { WifiNetworksDto } from '../dto/wifi-networks.dto';
5
6
  import { Platform } from './abstract.platform';
6
7
  export declare class GenericPlatform extends Platform {
7
8
  private cachedNpmVersion;
8
9
  getSystemInfo(): Promise<SystemInfoDto>;
9
- getThrottleStatus(): Promise<never>;
10
+ getThrottleStatus(): Promise<ThrottleStatusDto>;
10
11
  getTemperature(): Promise<TemperatureDto>;
11
12
  getNetworkStats(): Promise<NetworkStatsDto[]>;
12
13
  getWifiNetworks(): Promise<WifiNetworksDto[]>;
@@ -19,19 +19,21 @@ class GenericPlatform extends abstract_platform_1.Platform {
19
19
  this.cachedNpmVersion = null;
20
20
  }
21
21
  async getSystemInfo() {
22
- const [cpu, memory, storage, os, temp, network, graphics, networkInterface] = await Promise.all([
22
+ const [cpu, memory, temp, network, storage, osInfo, graphics, networkInterface] = await Promise.all([
23
23
  systeminformation_1.default.currentLoad(),
24
24
  systeminformation_1.default.mem(),
25
- systeminformation_1.default.fsSize(),
26
- systeminformation_1.default.osInfo(),
27
25
  systeminformation_1.default.cpuTemperature(),
28
26
  systeminformation_1.default.networkStats(),
29
- systeminformation_1.default.graphics(),
30
- systeminformation_1.default.networkInterfaces('default'),
27
+ this.cachedFsSize(),
28
+ this.cachedOsInfo(),
29
+ this.cachedGraphics(),
30
+ this.cachedNetworkInterfaces(),
31
31
  ]);
32
32
  const time = systeminformation_1.default.time();
33
- const defaultNetworkInterface = (Array.isArray(networkInterface) ? networkInterface[0] : networkInterface);
33
+ const defaultNetworkInterface = Array.isArray(networkInterface) ? networkInterface[0] : networkInterface;
34
+ const networkMode = await this.detectNetworkMode(defaultNetworkInterface?.ip4 ?? '');
34
35
  const rawData = {
36
+ networkMode,
35
37
  cpuLoad: cpu.currentLoad,
36
38
  memory: {
37
39
  total: memory.total,
@@ -46,9 +48,9 @@ class GenericPlatform extends abstract_platform_1.Platform {
46
48
  })),
47
49
  primaryStorage: await this.getPrimaryDisk(),
48
50
  os: {
49
- platform: os.platform,
50
- distro: os.distro,
51
- release: os.release,
51
+ platform: osInfo.platform,
52
+ distro: osInfo.distro,
53
+ release: osInfo.release,
52
54
  uptime: time.uptime,
53
55
  node: await this.getNodeVersion(),
54
56
  npm: await this.getNpmVersion(),
@@ -63,11 +65,11 @@ class GenericPlatform extends abstract_platform_1.Platform {
63
65
  txBytes: row.tx_bytes,
64
66
  })),
65
67
  defaultNetwork: {
66
- interface: defaultNetworkInterface.iface,
67
- ip4: defaultNetworkInterface.ip4,
68
- ip6: defaultNetworkInterface.ip6,
69
- mac: defaultNetworkInterface.mac,
70
- hostname: os.hostname,
68
+ interface: defaultNetworkInterface?.iface ?? '',
69
+ ip4: defaultNetworkInterface?.ip4 ?? '',
70
+ ip6: defaultNetworkInterface?.ip6 ?? '',
71
+ mac: defaultNetworkInterface?.mac ?? '',
72
+ hostname: osInfo.hostname,
71
73
  },
72
74
  display: {
73
75
  resolutionX: graphics.displays[0]?.resolutionX || 0,
@@ -160,7 +162,7 @@ class GenericPlatform extends abstract_platform_1.Platform {
160
162
  }
161
163
  async getPrimaryDisk() {
162
164
  const targetPath = process.cwd();
163
- const fsList = await systeminformation_1.default.fsSize();
165
+ const fsList = await this.cachedFsSize();
164
166
  const filtered = fsList.filter((d) => !this.isPseudoFs(d.type) && d.size > 0);
165
167
  const normalized = node_path_1.default.resolve(targetPath);
166
168
  let best = null;
@@ -1 +1 @@
1
- {"version":3,"file":"generic.platform.js","sourceRoot":"","sources":["../../../../src/modules/platform/platforms/generic.platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic.platform.js","sourceRoot":"","sources":["../../../../src/modules/platform/platforms/generic.platform.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
+ import { SystemInfoDto } from '../dto/system-info.dto';
2
+ import { ThrottleStatusDto } from '../dto/throttle-status.dto';
1
3
  import { GenericPlatform } from './generic.platform';
2
4
  export declare class HomeAssistantPlatform extends GenericPlatform {
3
5
  private readonly supervisorToken;
4
6
  private readonly supervisorUrl;
5
7
  constructor();
8
+ getSystemInfo(): Promise<SystemInfoDto>;
9
+ getThrottleStatus(): Promise<ThrottleStatusDto>;
6
10
  rebootDevice(): Promise<void>;
7
11
  powerOffDevice(): Promise<void>;
8
12
  private callSupervisorApi;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HomeAssistantPlatform = void 0;
4
+ const throttle_status_dto_1 = require("../dto/throttle-status.dto");
4
5
  const platform_exceptions_1 = require("../platform.exceptions");
5
6
  const generic_platform_1 = require("./generic.platform");
6
7
  class HomeAssistantPlatform extends generic_platform_1.GenericPlatform {
@@ -9,6 +10,16 @@ class HomeAssistantPlatform extends generic_platform_1.GenericPlatform {
9
10
  this.supervisorToken = process.env.SUPERVISOR_TOKEN ?? null;
10
11
  this.supervisorUrl = process.env.SUPERVISOR_URL ?? 'http://supervisor';
11
12
  }
13
+ async getSystemInfo() {
14
+ return this.getContainerSystemInfo();
15
+ }
16
+ async getThrottleStatus() {
17
+ const result = await this.readThrottleFromSysfs();
18
+ if (result) {
19
+ return result;
20
+ }
21
+ return this.validateDto(throttle_status_dto_1.ThrottleStatusDto, this.parseThrottleFlags(0));
22
+ }
12
23
  async rebootDevice() {
13
24
  this.logger.log('[SYSTEM] Restarting add-on via HA Supervisor API...');
14
25
  await this.callSupervisorApi('/addons/self/restart', 'POST');
@@ -22,6 +33,8 @@ class HomeAssistantPlatform extends generic_platform_1.GenericPlatform {
22
33
  throw new platform_exceptions_1.PlatformException('SUPERVISOR_TOKEN is not set. This platform requires the Home Assistant Supervisor environment.');
23
34
  }
24
35
  const url = `${this.supervisorUrl}${endpoint}`;
36
+ const controller = new AbortController();
37
+ const timeoutId = setTimeout(() => controller.abort(), 30_000);
25
38
  try {
26
39
  const response = await fetch(url, {
27
40
  method,
@@ -29,6 +42,7 @@ class HomeAssistantPlatform extends generic_platform_1.GenericPlatform {
29
42
  Authorization: `Bearer ${this.supervisorToken}`,
30
43
  'Content-Type': 'application/json',
31
44
  },
45
+ signal: controller.signal,
32
46
  });
33
47
  if (!response.ok) {
34
48
  throw new Error(`HTTP ${response.status}: ${response.statusText}`);
@@ -37,9 +51,16 @@ class HomeAssistantPlatform extends generic_platform_1.GenericPlatform {
37
51
  }
38
52
  catch (error) {
39
53
  const err = error;
54
+ if (err.name === 'AbortError') {
55
+ this.logger.error(`Supervisor API call timed out: ${method} ${endpoint}`);
56
+ throw new platform_exceptions_1.PlatformException(`Home Assistant Supervisor API call timed out: ${method} ${endpoint}`);
57
+ }
40
58
  this.logger.error(`Supervisor API call failed: ${method} ${endpoint} - ${err.message}`);
41
59
  throw new platform_exceptions_1.PlatformException(`Home Assistant Supervisor API call failed: ${err.message}`);
42
60
  }
61
+ finally {
62
+ clearTimeout(timeoutId);
63
+ }
43
64
  }
44
65
  }
45
66
  exports.HomeAssistantPlatform = HomeAssistantPlatform;
@@ -1 +1 @@
1
- {"version":3,"file":"home-assistant.platform.js","sourceRoot":"","sources":["../../../../src/modules/platform/platforms/home-assistant.platform.ts"],"names":[],"mappings":";;;AAAA,gEAA2D;AAE3D,yDAAqD;AAErD,MAAa,qBAAsB,SAAQ,kCAAe;IAIzD;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC;QAC5D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,mBAAmB,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QAEvE,MAAM,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QAErE,MAAM,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,MAAc;QAC/D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3B,MAAM,IAAI,uCAAiB,CAC1B,gGAAgG,CAChG,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,QAAQ,EAAE,CAAC;QAE/C,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACjC,MAAM;gBACN,OAAO,EAAE;oBACR,aAAa,EAAE,UAAU,IAAI,CAAC,eAAe,EAAE;oBAC/C,cAAc,EAAE,kBAAkB;iBAClC;aACD,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,MAAM,IAAI,QAAQ,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAExF,MAAM,IAAI,uCAAiB,CAAC,8CAA8C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1F,CAAC;IACF,CAAC;CACD;AAtDD,sDAsDC"}
1
+ {"version":3,"file":"home-assistant.platform.js","sourceRoot":"","sources":["../../../../src/modules/platform/platforms/home-assistant.platform.ts"],"names":[],"mappings":"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"}