@fastybird/smart-panel-backend 1.1.0-alpha.0 → 1.1.0-alpha.10

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 (315) hide show
  1. package/dist/app.module.js +14 -0
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/common/filters/conflict-exception.filter.d.ts +6 -0
  4. package/dist/common/filters/conflict-exception.filter.js +59 -0
  5. package/dist/common/filters/conflict-exception.filter.js.map +1 -0
  6. package/dist/common/filters/global-error.filter.js +1 -4
  7. package/dist/common/filters/global-error.filter.js.map +1 -1
  8. package/dist/common/filters/global-filters.d.ts +3 -0
  9. package/dist/common/filters/global-filters.js +22 -0
  10. package/dist/common/filters/global-filters.js.map +1 -0
  11. package/dist/common/filters/unprocessable-entity-exception.filter.d.ts +1 -0
  12. package/dist/common/filters/unprocessable-entity-exception.filter.js +15 -3
  13. package/dist/common/filters/unprocessable-entity-exception.filter.js.map +1 -1
  14. package/dist/common/utils/transform.utils.js +3 -0
  15. package/dist/common/utils/transform.utils.js.map +1 -1
  16. package/dist/main.js +2 -7
  17. package/dist/main.js.map +1 -1
  18. package/dist/modules/devices/controllers/channels.properties.controller.js +16 -4
  19. package/dist/modules/devices/controllers/channels.properties.controller.js.map +1 -1
  20. package/dist/modules/devices/controllers/devices.channels.properties.controller.js +16 -4
  21. package/dist/modules/devices/controllers/devices.channels.properties.controller.js.map +1 -1
  22. package/dist/modules/devices/devices.module.js +12 -0
  23. package/dist/modules/devices/devices.module.js.map +1 -1
  24. package/dist/modules/devices/services/channels.properties.service.d.ts +27 -3
  25. package/dist/modules/devices/services/channels.properties.service.js +304 -28
  26. package/dist/modules/devices/services/channels.properties.service.js.map +1 -1
  27. package/dist/modules/devices/services/channels.service.js +42 -38
  28. package/dist/modules/devices/services/channels.service.js.map +1 -1
  29. package/dist/modules/devices/services/command-latency-trace-collector.service.d.ts +101 -0
  30. package/dist/modules/devices/services/command-latency-trace-collector.service.js +451 -0
  31. package/dist/modules/devices/services/command-latency-trace-collector.service.js.map +1 -0
  32. package/dist/modules/devices/services/device-structure-lock.service.d.ts +10 -2
  33. package/dist/modules/devices/services/device-structure-lock.service.js +86 -7
  34. package/dist/modules/devices/services/device-structure-lock.service.js.map +1 -1
  35. package/dist/modules/devices/services/devices.service.js +37 -33
  36. package/dist/modules/devices/services/devices.service.js.map +1 -1
  37. package/dist/modules/devices/services/module-reset.service.d.ts +3 -1
  38. package/dist/modules/devices/services/module-reset.service.js +21 -16
  39. package/dist/modules/devices/services/module-reset.service.js.map +1 -1
  40. package/dist/modules/devices/services/property-command-dispatch.service.d.ts +45 -0
  41. package/dist/modules/devices/services/property-command-dispatch.service.js +227 -0
  42. package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -0
  43. package/dist/modules/devices/services/property-command-window.service.d.ts +71 -0
  44. package/dist/modules/devices/services/property-command-window.service.js +204 -0
  45. package/dist/modules/devices/services/property-command-window.service.js.map +1 -0
  46. package/dist/modules/devices/services/property-command.service.d.ts +28 -3
  47. package/dist/modules/devices/services/property-command.service.js +171 -10
  48. package/dist/modules/devices/services/property-command.service.js.map +1 -1
  49. package/dist/modules/devices/services/property-state-coordinator.service.d.ts +4 -0
  50. package/dist/modules/devices/services/property-state-coordinator.service.js +35 -0
  51. package/dist/modules/devices/services/property-state-coordinator.service.js.map +1 -0
  52. package/dist/modules/devices/services/property-value.service.d.ts +1 -0
  53. package/dist/modules/devices/services/property-value.service.js +4 -0
  54. package/dist/modules/devices/services/property-value.service.js.map +1 -1
  55. package/dist/modules/mcp/oauth/mcp-oauth-provider.factory.js.map +1 -1
  56. package/dist/modules/platform/services/platform.service.d.ts +13 -4
  57. package/dist/modules/platform/services/platform.service.js +57 -35
  58. package/dist/modules/platform/services/platform.service.js.map +1 -1
  59. package/dist/modules/remote-access/dto/update-config.dto.js +5 -0
  60. package/dist/modules/remote-access/dto/update-config.dto.js.map +1 -1
  61. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js +4 -0
  62. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js.map +1 -1
  63. package/dist/modules/remote-access/services/remote-access-status.service.d.ts +5 -1
  64. package/dist/modules/remote-access/services/remote-access-status.service.js +38 -4
  65. package/dist/modules/remote-access/services/remote-access-status.service.js.map +1 -1
  66. package/dist/modules/remote-access/services/remote-access-url.service.js +4 -0
  67. package/dist/modules/remote-access/services/remote-access-url.service.js.map +1 -1
  68. package/dist/modules/remote-access/validators/is-remote-access-url.validator.js +5 -2
  69. package/dist/modules/remote-access/validators/is-remote-access-url.validator.js.map +1 -1
  70. package/dist/modules/system/commands/command.utils.d.ts +2 -0
  71. package/dist/modules/system/commands/command.utils.js +14 -0
  72. package/dist/modules/system/commands/command.utils.js.map +1 -1
  73. package/dist/modules/system/commands/update-check.command.js +2 -3
  74. package/dist/modules/system/commands/update-check.command.js.map +1 -1
  75. package/dist/modules/system/commands/update-panel.command.js +2 -2
  76. package/dist/modules/system/commands/update-panel.command.js.map +1 -1
  77. package/dist/modules/system/commands/update-server.command.d.ts +1 -0
  78. package/dist/modules/system/commands/update-server.command.js +36 -11
  79. package/dist/modules/system/commands/update-server.command.js.map +1 -1
  80. package/dist/modules/system/dto/update-config.dto.d.ts +2 -1
  81. package/dist/modules/system/dto/update-config.dto.js +15 -0
  82. package/dist/modules/system/dto/update-config.dto.js.map +1 -1
  83. package/dist/modules/system/models/config.model.d.ts +2 -1
  84. package/dist/modules/system/models/config.model.js +13 -0
  85. package/dist/modules/system/models/config.model.js.map +1 -1
  86. package/dist/modules/system/services/privileged-worker.service.d.ts +10 -0
  87. package/dist/modules/system/services/privileged-worker.service.js +137 -11
  88. package/dist/modules/system/services/privileged-worker.service.js.map +1 -1
  89. package/dist/modules/system/services/update.service.d.ts +11 -1
  90. package/dist/modules/system/services/update.service.js +97 -35
  91. package/dist/modules/system/services/update.service.js.map +1 -1
  92. package/dist/modules/system/system.constants.d.ts +6 -0
  93. package/dist/modules/system/system.constants.js +8 -1
  94. package/dist/modules/system/system.constants.js.map +1 -1
  95. package/dist/modules/websocket/gateway/websocket.gateway.d.ts +7 -1
  96. package/dist/modules/websocket/gateway/websocket.gateway.js +67 -9
  97. package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
  98. package/dist/modules/websocket/services/command-acknowledgement-trace.service.d.ts +143 -0
  99. package/dist/modules/websocket/services/command-acknowledgement-trace.service.js +523 -0
  100. package/dist/modules/websocket/services/command-acknowledgement-trace.service.js.map +1 -0
  101. package/dist/modules/websocket/websocket.module.js +9 -1
  102. package/dist/modules/websocket/websocket.module.js.map +1 -1
  103. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +2 -1
  104. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
  105. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +2 -3
  106. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
  107. package/dist/plugins/devices-homekit/controllers/homekit-bridge.controller.d.ts +14 -0
  108. package/dist/plugins/devices-homekit/controllers/homekit-bridge.controller.js +125 -0
  109. package/dist/plugins/devices-homekit/controllers/homekit-bridge.controller.js.map +1 -0
  110. package/dist/plugins/devices-homekit/devices-homekit.constants.d.ts +16 -0
  111. package/dist/plugins/devices-homekit/devices-homekit.constants.js +57 -0
  112. package/dist/plugins/devices-homekit/devices-homekit.constants.js.map +1 -0
  113. package/dist/plugins/devices-homekit/devices-homekit.exceptions.d.ts +12 -0
  114. package/dist/plugins/devices-homekit/devices-homekit.exceptions.js +32 -0
  115. package/dist/plugins/devices-homekit/devices-homekit.exceptions.js.map +1 -0
  116. package/dist/plugins/devices-homekit/devices-homekit.openapi.d.ts +6 -0
  117. package/dist/plugins/devices-homekit/devices-homekit.openapi.js +19 -0
  118. package/dist/plugins/devices-homekit/devices-homekit.openapi.js.map +1 -0
  119. package/dist/plugins/devices-homekit/devices-homekit.plugin.d.ts +24 -0
  120. package/dist/plugins/devices-homekit/devices-homekit.plugin.js +183 -0
  121. package/dist/plugins/devices-homekit/devices-homekit.plugin.js.map +1 -0
  122. package/dist/plugins/devices-homekit/dto/bridge-map.dto.d.ts +6 -0
  123. package/dist/plugins/devices-homekit/dto/bridge-map.dto.js +50 -0
  124. package/dist/plugins/devices-homekit/dto/bridge-map.dto.js.map +1 -0
  125. package/dist/plugins/devices-homekit/dto/update-config.dto.d.ts +11 -0
  126. package/dist/plugins/devices-homekit/dto/update-config.dto.js +138 -0
  127. package/dist/plugins/devices-homekit/dto/update-config.dto.js.map +1 -0
  128. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.d.ts +8 -0
  129. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js +77 -0
  130. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js.map +1 -0
  131. package/dist/plugins/devices-homekit/mappers/base.mapper.d.ts +15 -0
  132. package/dist/plugins/devices-homekit/mappers/base.mapper.js +97 -0
  133. package/dist/plugins/devices-homekit/mappers/base.mapper.js.map +1 -0
  134. package/dist/plugins/devices-homekit/mappers/battery.mapper.d.ts +6 -0
  135. package/dist/plugins/devices-homekit/mappers/battery.mapper.js +130 -0
  136. package/dist/plugins/devices-homekit/mappers/battery.mapper.js.map +1 -0
  137. package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.d.ts +36 -0
  138. package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.js +3 -0
  139. package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.js.map +1 -0
  140. package/dist/plugins/devices-homekit/mappers/lightbulb.mapper.d.ts +9 -0
  141. package/dist/plugins/devices-homekit/mappers/lightbulb.mapper.js +115 -0
  142. package/dist/plugins/devices-homekit/mappers/lightbulb.mapper.js.map +1 -0
  143. package/dist/plugins/devices-homekit/mappers/lock.mapper.d.ts +10 -0
  144. package/dist/plugins/devices-homekit/mappers/lock.mapper.js +59 -0
  145. package/dist/plugins/devices-homekit/mappers/lock.mapper.js.map +1 -0
  146. package/dist/plugins/devices-homekit/mappers/outlet.mapper.d.ts +9 -0
  147. package/dist/plugins/devices-homekit/mappers/outlet.mapper.js +44 -0
  148. package/dist/plugins/devices-homekit/mappers/outlet.mapper.js.map +1 -0
  149. package/dist/plugins/devices-homekit/mappers/sensor.mapper.d.ts +10 -0
  150. package/dist/plugins/devices-homekit/mappers/sensor.mapper.js +168 -0
  151. package/dist/plugins/devices-homekit/mappers/sensor.mapper.js.map +1 -0
  152. package/dist/plugins/devices-homekit/mappers/switch.mapper.d.ts +9 -0
  153. package/dist/plugins/devices-homekit/mappers/switch.mapper.js +35 -0
  154. package/dist/plugins/devices-homekit/mappers/switch.mapper.js.map +1 -0
  155. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.d.ts +50 -0
  156. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js +441 -0
  157. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js.map +1 -0
  158. package/dist/plugins/devices-homekit/mappers/thermostat.mapper.d.ts +11 -0
  159. package/dist/plugins/devices-homekit/mappers/thermostat.mapper.js +97 -0
  160. package/dist/plugins/devices-homekit/mappers/thermostat.mapper.js.map +1 -0
  161. package/dist/plugins/devices-homekit/mappers/window-covering.mapper.d.ts +10 -0
  162. package/dist/plugins/devices-homekit/mappers/window-covering.mapper.js +94 -0
  163. package/dist/plugins/devices-homekit/mappers/window-covering.mapper.js.map +1 -0
  164. package/dist/plugins/devices-homekit/models/bridge-candidate.model.d.ts +15 -0
  165. package/dist/plugins/devices-homekit/models/bridge-candidate.model.js +150 -0
  166. package/dist/plugins/devices-homekit/models/bridge-candidate.model.js.map +1 -0
  167. package/dist/plugins/devices-homekit/models/bridge-status.model.d.ts +16 -0
  168. package/dist/plugins/devices-homekit/models/bridge-status.model.js +156 -0
  169. package/dist/plugins/devices-homekit/models/bridge-status.model.js.map +1 -0
  170. package/dist/plugins/devices-homekit/models/config.model.d.ts +12 -0
  171. package/dist/plugins/devices-homekit/models/config.model.js +134 -0
  172. package/dist/plugins/devices-homekit/models/config.model.js.map +1 -0
  173. package/dist/plugins/devices-homekit/services/homekit-actions.service.d.ts +14 -0
  174. package/dist/plugins/devices-homekit/services/homekit-actions.service.js +92 -0
  175. package/dist/plugins/devices-homekit/services/homekit-actions.service.js.map +1 -0
  176. package/dist/plugins/devices-homekit/services/homekit-bridge.service.d.ts +43 -0
  177. package/dist/plugins/devices-homekit/services/homekit-bridge.service.js +497 -0
  178. package/dist/plugins/devices-homekit/services/homekit-bridge.service.js.map +1 -0
  179. package/dist/plugins/devices-homekit/services/homekit-command.dispatcher.d.ts +11 -0
  180. package/dist/plugins/devices-homekit/services/homekit-command.dispatcher.js +68 -0
  181. package/dist/plugins/devices-homekit/services/homekit-command.dispatcher.js.map +1 -0
  182. package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.d.ts +34 -0
  183. package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js +179 -0
  184. package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js.map +1 -0
  185. package/dist/plugins/devices-homekit/services/homekit-wizard.service.d.ts +15 -0
  186. package/dist/plugins/devices-homekit/services/homekit-wizard.service.js +75 -0
  187. package/dist/plugins/devices-homekit/services/homekit-wizard.service.js.map +1 -0
  188. package/dist/plugins/devices-homekit/validators/is-not-forbidden-homekit-pin.validator.d.ts +2 -0
  189. package/dist/plugins/devices-homekit/validators/is-not-forbidden-homekit-pin.validator.js +30 -0
  190. package/dist/plugins/devices-homekit/validators/is-not-forbidden-homekit-pin.validator.js.map +1 -0
  191. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +18 -1
  192. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +338 -119
  193. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
  194. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +13 -1
  195. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +109 -10
  196. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
  197. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js +8 -11
  198. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js.map +1 -1
  199. package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js +4 -0
  200. package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js.map +1 -1
  201. package/dist/plugins/devices-shelly-ng/services/device-manager.service.js +5 -0
  202. package/dist/plugins/devices-shelly-ng/services/device-manager.service.js.map +1 -1
  203. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +9 -1
  204. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +59 -24
  205. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
  206. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.d.ts +0 -1
  207. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +5 -12
  208. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -1
  209. package/dist/plugins/devices-shelly-ng/utils/transform.utils.d.ts +2 -0
  210. package/dist/plugins/devices-shelly-ng/utils/transform.utils.js +14 -1
  211. package/dist/plugins/devices-shelly-ng/utils/transform.utils.js.map +1 -1
  212. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +17 -0
  213. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +147 -0
  214. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -0
  215. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +15 -0
  216. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +98 -0
  217. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -0
  218. package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.d.ts +9 -0
  219. package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js +94 -0
  220. package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js.map +1 -0
  221. package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.d.ts +9 -0
  222. package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js +92 -0
  223. package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js.map +1 -0
  224. package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.d.ts +7 -0
  225. package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js +48 -0
  226. package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js.map +1 -0
  227. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +42 -0
  228. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +352 -0
  229. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -0
  230. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.d.ts +24 -0
  231. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js +27 -0
  232. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js.map +1 -0
  233. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.d.ts +8 -0
  234. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js +19 -0
  235. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js.map +1 -0
  236. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.d.ts +4 -0
  237. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js +20 -0
  238. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js.map +1 -0
  239. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.d.ts +21 -0
  240. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js +135 -0
  241. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js.map +1 -0
  242. package/dist/plugins/remote-access-cloudflare-tunnel/scripts/cloudflared-setup.sh +185 -0
  243. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +82 -0
  244. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +507 -0
  245. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -0
  246. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +10 -0
  247. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +37 -0
  248. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -0
  249. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.d.ts +38 -0
  250. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js +147 -0
  251. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js.map +1 -0
  252. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +15 -0
  253. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +67 -0
  254. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -0
  255. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +8 -0
  256. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +46 -0
  257. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -0
  258. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.d.ts +27 -0
  259. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js +139 -0
  260. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js.map +1 -0
  261. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +1 -0
  262. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +26 -10
  263. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
  264. package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +6 -1
  265. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +28 -3
  266. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
  267. package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +19 -0
  268. package/dist/plugins/remote-access-tailscale/models/status.model.js +158 -1
  269. package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
  270. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +2 -0
  271. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +3 -1
  272. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
  273. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +13 -0
  274. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +27 -0
  275. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -0
  276. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
  277. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +2 -0
  278. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
  279. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +1 -1
  280. package/dist/plugins/remote-access-tailscale/scripts/tailscale-setup.sh +61 -0
  281. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +9 -0
  282. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +12 -0
  283. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
  284. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +1 -0
  285. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +27 -2
  286. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
  287. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +30 -1
  288. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +300 -30
  289. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
  290. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +8 -3
  291. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +39 -12
  292. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
  293. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +14 -5
  294. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +51 -16
  295. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
  296. package/dist/plugins/scenes-local/platforms/local-scene.platform.d.ts +3 -1
  297. package/dist/plugins/scenes-local/platforms/local-scene.platform.js +12 -7
  298. package/dist/plugins/scenes-local/platforms/local-scene.platform.js.map +1 -1
  299. package/dist/plugins/spaces-home-control/services/climate-intent.service.d.ts +3 -1
  300. package/dist/plugins/spaces-home-control/services/climate-intent.service.js +6 -3
  301. package/dist/plugins/spaces-home-control/services/climate-intent.service.js.map +1 -1
  302. package/dist/plugins/spaces-home-control/services/covers-intent.service.d.ts +3 -1
  303. package/dist/plugins/spaces-home-control/services/covers-intent.service.js +6 -3
  304. package/dist/plugins/spaces-home-control/services/covers-intent.service.js.map +1 -1
  305. package/dist/plugins/spaces-home-control/services/lighting-intent.service.d.ts +3 -1
  306. package/dist/plugins/spaces-home-control/services/lighting-intent.service.js +7 -4
  307. package/dist/plugins/spaces-home-control/services/lighting-intent.service.js.map +1 -1
  308. package/dist/plugins/spaces-home-control/services/space-media-activity.service.d.ts +3 -1
  309. package/dist/plugins/spaces-home-control/services/space-media-activity.service.js +11 -5
  310. package/dist/plugins/spaces-home-control/services/space-media-activity.service.js.map +1 -1
  311. package/dist/plugins/spaces-home-control/services/space-undo-history.service.d.ts +3 -1
  312. package/dist/plugins/spaces-home-control/services/space-undo-history.service.js +8 -5
  313. package/dist/plugins/spaces-home-control/services/space-undo-history.service.js.map +1 -1
  314. package/dist/tsconfig.build.tsbuildinfo +1 -1
  315. package/package.json +5 -2
@@ -18,13 +18,16 @@ const event_emitter_1 = require("@nestjs/event-emitter");
18
18
  const schedule_1 = require("@nestjs/schedule");
19
19
  const logger_1 = require("../../../common/logger");
20
20
  const semver_1 = require("../../../common/utils/semver");
21
+ const config_constants_1 = require("../../config/config.constants");
22
+ const config_service_1 = require("../../config/services/config.service");
21
23
  const notifications_constants_1 = require("../../notifications/notifications.constants");
22
24
  const notifications_service_1 = require("../../notifications/services/notifications.service");
23
25
  const system_constants_1 = require("../system.constants");
24
26
  let UpdateService = UpdateService_1 = class UpdateService {
25
- constructor(eventEmitter, notifications) {
27
+ constructor(eventEmitter, notifications, configService) {
26
28
  this.eventEmitter = eventEmitter;
27
29
  this.notifications = notifications;
30
+ this.configService = configService;
28
31
  this.logger = (0, logger_1.createExtensionLogger)(system_constants_1.SYSTEM_MODULE_NAME, 'UpdateService');
29
32
  this.NPM_REGISTRY_URL = 'https://registry.npmjs.org/@fastybird/smart-panel';
30
33
  this.GITHUB_API_URL = 'https://api.github.com/repos/FastyBird/smart-panel/releases';
@@ -143,6 +146,37 @@ let UpdateService = UpdateService_1 = class UpdateService {
143
146
  return 'beta';
144
147
  return null;
145
148
  }
149
+ resolveEffectiveChannel(explicit) {
150
+ return explicit ?? this.resolveConfiguredChannel() ?? this.detectChannel() ?? 'latest';
151
+ }
152
+ resolveConfiguredChannel() {
153
+ let configured;
154
+ try {
155
+ configured = this.configService.getModuleConfig(system_constants_1.SYSTEM_MODULE_NAME).updateChannel;
156
+ }
157
+ catch (error) {
158
+ const err = error;
159
+ this.logger.warn(`Could not read the configured update channel (${err.message}), falling back to auto`);
160
+ return null;
161
+ }
162
+ switch (configured) {
163
+ case system_constants_1.UpdateChannelType.STABLE:
164
+ return 'latest';
165
+ case system_constants_1.UpdateChannelType.BETA:
166
+ return 'beta';
167
+ case system_constants_1.UpdateChannelType.ALPHA:
168
+ return 'alpha';
169
+ default:
170
+ return null;
171
+ }
172
+ }
173
+ onConfigUpdated(event) {
174
+ if (event.type !== 'module' || event.source !== system_constants_1.SYSTEM_MODULE_NAME) {
175
+ return;
176
+ }
177
+ this.cachedServerInfo.clear();
178
+ this.serverCacheExpiresAt.clear();
179
+ }
146
180
  resolveCandidateChannels(channel) {
147
181
  const index = UpdateService_1.CHANNEL_PRECEDENCE.indexOf(channel);
148
182
  return index === -1 ? ['latest'] : [...UpdateService_1.CHANNEL_PRECEDENCE.slice(index)];
@@ -154,7 +188,7 @@ let UpdateService = UpdateService_1 = class UpdateService {
154
188
  .reduce((highest, version) => (highest === null || (0, semver_1.compareSemver)(highest, version) < 0 ? version : highest), null);
155
189
  }
156
190
  async checkServerUpdate(channel) {
157
- const resolvedChannel = channel ?? this.detectChannel() ?? 'latest';
191
+ const resolvedChannel = this.resolveEffectiveChannel(channel);
158
192
  const cached = this.cachedServerInfo.get(resolvedChannel);
159
193
  const expiresAt = this.serverCacheExpiresAt.get(resolvedChannel) ?? 0;
160
194
  if (cached && Date.now() < expiresAt) {
@@ -237,29 +271,30 @@ let UpdateService = UpdateService_1 = class UpdateService {
237
271
  async fetchLatestVersionFromGitHub(channels) {
238
272
  const wanted = new Set(channels);
239
273
  const answered = new Map();
240
- let apiFailed = false;
274
+ let apiError = null;
275
+ let scanComplete = false;
276
+ let probeConclusive = true;
241
277
  const deadline = Date.now() + UpdateService_1.GITHUB_LOOKUP_TIMEOUT_MS;
242
- if (wanted.has('latest')) {
278
+ try {
279
+ const scan = await this.fetchVersionsFromReleasesApi(channels, deadline);
280
+ scanComplete = scan.complete;
281
+ for (const version of scan.versions) {
282
+ this.recordCandidate(answered, wanted, version);
283
+ }
284
+ }
285
+ catch (error) {
286
+ apiError = error;
287
+ this.logger.warn(`Releases API lookup failed (${apiError.message}), falling back to the direct probe`);
288
+ }
289
+ if (wanted.has('latest') && !answered.has('latest')) {
243
290
  const probed = await this.fetchStableVersionFromDownloadUrl(deadline);
244
- this.recordCandidate(answered, wanted, probed);
291
+ this.recordCandidate(answered, wanted, probed.version);
292
+ probeConclusive = probed.conclusive && (probed.version === null || answered.has('latest'));
245
293
  }
246
- const remaining = channels.filter((channel) => !answered.has(channel));
247
- if (remaining.length > 0) {
248
- try {
249
- for (const version of await this.fetchVersionsFromReleasesApi(remaining, deadline)) {
250
- this.recordCandidate(answered, wanted, version);
251
- }
252
- }
253
- catch (error) {
254
- const err = error;
255
- if (answered.size === 0) {
256
- throw error;
257
- }
258
- apiFailed = true;
259
- this.logger.warn(`Releases API lookup failed (${err.message}), using directly probed version only`);
260
- }
294
+ if (answered.size === 0 && apiError !== null) {
295
+ throw apiError;
261
296
  }
262
- const complete = !apiFailed && this.requestBudget(deadline) > 0;
297
+ const complete = apiError === null && scanComplete && probeConclusive && this.requestBudget(deadline) > 0;
263
298
  return { version: this.pickHighestVersion([...answered.values()], channels), complete };
264
299
  }
265
300
  recordCandidate(answered, wanted, version) {
@@ -281,19 +316,25 @@ let UpdateService = UpdateService_1 = class UpdateService {
281
316
  });
282
317
  if (response.ok) {
283
318
  const data = (await response.json());
284
- return data.version?.replace(/^v/, '') ?? null;
319
+ const version = data.version?.replace(/^v/, '') ?? null;
320
+ return { version, conclusive: version !== null };
285
321
  }
286
- this.logger.debug(`Direct version.json returned ${response.status}, falling back to releases API`);
322
+ if (response.status === 404) {
323
+ this.logger.debug('No stable release publishes a version.json; the stable channel is empty');
324
+ return { version: null, conclusive: true };
325
+ }
326
+ this.logger.warn(`Direct version.json returned ${response.status}; the stable channel is unresolved`);
287
327
  }
288
- catch {
289
- this.logger.debug('Direct version.json fetch failed, falling back to releases API');
328
+ catch (error) {
329
+ const err = error;
330
+ this.logger.warn(`Direct version.json fetch failed (${err.message}); the stable channel is unresolved`);
290
331
  }
291
- return null;
332
+ return { version: null, conclusive: false };
292
333
  }
293
334
  async fetchVersionsFromReleasesApi(channels, deadline) {
294
335
  if (this.requestBudget(deadline) <= 0) {
295
336
  this.logger.warn('GitHub lookup budget spent before the releases listing; skipping the scan');
296
- return [];
337
+ return { versions: [], complete: false };
297
338
  }
298
339
  const response = await fetch(`${this.GITHUB_PRERELEASE_API_URL}?per_page=20`, {
299
340
  headers: {
@@ -307,33 +348,47 @@ let UpdateService = UpdateService_1 = class UpdateService {
307
348
  }
308
349
  const releases = (await response.json());
309
350
  const versions = [];
351
+ const wanted = new Set(channels);
352
+ let complete = true;
310
353
  for (const release of releases) {
354
+ const taggedChannel = this.detectChannel(release.tag_name);
355
+ if (taggedChannel !== null && !wanted.has(taggedChannel))
356
+ continue;
357
+ const versionAsset = release.assets.find((a) => a.name === 'version.json');
358
+ if (!versionAsset)
359
+ continue;
311
360
  if (this.requestBudget(deadline) <= 0) {
312
361
  this.logger.warn(`GitHub lookup hit its ${UpdateService_1.GITHUB_LOOKUP_TIMEOUT_MS}ms budget after reading ` +
313
362
  `${versions.length} release(s); continuing with partial results`);
363
+ complete = false;
314
364
  break;
315
365
  }
316
- const versionAsset = release.assets.find((a) => a.name === 'version.json');
317
- if (!versionAsset)
318
- continue;
319
366
  try {
320
367
  const assetResponse = await fetch(versionAsset.browser_download_url, {
321
368
  headers: { 'User-Agent': 'FastyBird-SmartPanel' },
322
369
  signal: AbortSignal.timeout(this.requestBudget(deadline)),
323
370
  });
324
- if (!assetResponse.ok)
371
+ if (!assetResponse.ok) {
372
+ this.logger.warn(`version.json for ${release.tag_name} returned ${assetResponse.status}; the scan is incomplete`);
373
+ complete = false;
325
374
  continue;
375
+ }
326
376
  const versionData = (await assetResponse.json());
327
377
  const version = versionData.version?.replace(/^v/, '');
328
378
  if (version) {
329
379
  versions.push(version);
330
380
  }
381
+ else {
382
+ complete = false;
383
+ }
331
384
  }
332
- catch {
333
- continue;
385
+ catch (error) {
386
+ const err = error;
387
+ this.logger.warn(`Could not read version.json for ${release.tag_name} (${err.message}); the scan is incomplete`);
388
+ complete = false;
334
389
  }
335
390
  }
336
- return versions;
391
+ return { versions, complete };
337
392
  }
338
393
  async fetchLatestVersionFromNpm(channels) {
339
394
  const response = await fetch(this.NPM_REGISTRY_URL, {
@@ -520,6 +575,12 @@ UpdateService.CHANNEL_PRECEDENCE = ['alpha', 'beta', 'latest'];
520
575
  UpdateService.IMAGE_BASE_DIR = '/opt/smart-panel';
521
576
  UpdateService.IMAGE_CURRENT_LINK = '/opt/smart-panel/current';
522
577
  UpdateService.IMAGE_MARKER_FILE = '.image-install';
578
+ __decorate([
579
+ (0, event_emitter_1.OnEvent)(config_constants_1.EventType.CONFIG_UPDATED),
580
+ __metadata("design:type", Function),
581
+ __metadata("design:paramtypes", [Object]),
582
+ __metadata("design:returntype", void 0)
583
+ ], UpdateService.prototype, "onConfigUpdated", null);
523
584
  __decorate([
524
585
  (0, schedule_1.Cron)('0 */12 * * *'),
525
586
  __metadata("design:type", Function),
@@ -529,6 +590,7 @@ __decorate([
529
590
  exports.UpdateService = UpdateService = UpdateService_1 = __decorate([
530
591
  (0, common_1.Injectable)(),
531
592
  __metadata("design:paramtypes", [event_emitter_1.EventEmitter2,
532
- notifications_service_1.NotificationsService])
593
+ notifications_service_1.NotificationsService,
594
+ config_service_1.ConfigService])
533
595
  ], UpdateService);
534
596
  //# sourceMappingURL=update.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.service.js","sourceRoot":"","sources":["../../../../src/modules/system/services/update.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.service.js","sourceRoot":"","sources":["../../../../src/modules/system/services/update.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2BAAyE;AACzE,+BAA4B;AAE5B,2CAA4C;AAC5C,yDAA+D;AAC/D,+CAAwC;AAExC,mDAA+D;AAC/D,yDAA4E;AAC5E,oEAA6E;AAC7E,yEAAqE;AACrE,yFAIqD;AACrD,8FAA0F;AAE1F,0DAAsH;AA4C/G,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAgEzB,YACkB,YAA2B,EAC3B,aAAmC,EACnC,aAA4B;QAF5B,iBAAY,GAAZ,YAAY,CAAe;QAC3B,kBAAa,GAAb,aAAa,CAAsB;QACnC,kBAAa,GAAb,aAAa,CAAe;QAlE7B,WAAM,GAAG,IAAA,8BAAqB,EAAC,qCAAkB,EAAE,eAAe,CAAC,CAAC;QAEpE,qBAAgB,GAAG,mDAAmD,CAAC;QACvE,mBAAc,GAAG,6DAA6D,CAAC;QAC/E,4BAAuB,GACvC,gFAAgF,CAAC;QACjE,8BAAyB,GAAG,6DAA6D,CAAC;QAEnG,qBAAgB,GAA6B,IAAI,GAAG,EAAE,CAAC;QACvD,oBAAe,GAAkC,IAAI,GAAG,EAAE,CAAC;QAG3D,yBAAoB,GAAwB,IAAI,GAAG,EAAE,CAAC;QACtD,wBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;QACrD,uBAAkB,GAA8B,IAAI,GAAG,EAAE,CAAC;QACjD,iBAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAM5C,oBAAe,GAAG,CAAC,CAAC;QAKpB,8BAAyB,GAA0D,IAAI,CAAC;QASxF,iBAAY,GAAqB;YACxC,MAAM,EAAE,mCAAgB,CAAC,IAAI;YAC7B,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;SACf,CAAC;QAEM,yBAAoB,GAAkB,IAAI,CAAC;QAClC,2BAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAsBtD,CAAC;IAEJ,iBAAiB;QAChB,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAEvG,CAAC;YAEF,OAAO,OAAO,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,OAAO,CAAC;QAChB,CAAC;IACF,CAAC;IAMD,cAAc;QACb,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,IAAA,iBAAY,EAAC,eAAa,CAAC,kBAAkB,CAAC,CAAC;YAIrE,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC;gBAChD,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,IAAA,WAAI,EAAC,eAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YAErD,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,eAAa,CAAC,iBAAiB,CAAC,CAAC;YAEtE,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,OAAO,OAAO,CAAC;YAChB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAGD,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,eAAa,CAAC,kBAAkB,EAAE,eAAa,CAAC,iBAAiB,CAAC,CAAC;YAE3F,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,OAAO,OAAO,CAAC;YAChB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAMD,oBAAoB;QACnB,IAAI,CAAC;YACJ,OAAO,IAAA,gBAAW,EAAC,eAAa,CAAC,cAAc,CAAC;iBAC9C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAChD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;iBACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAA,sBAAa,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;IAED,eAAe;QACd,OAAO,eAAa,CAAC,cAAc,CAAC;IACrC,CAAC;IAED,SAAS;QACR,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC;IAED,kBAAkB;QACjB,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iBAAiB;QAChB,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,OAAkC;QAC3C,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;QAEzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,4BAAS,CAAC,oBAAoB,EAAE;YACtD,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YAChC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;YAC9B,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe;YACnD,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;YAClC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;SAC9B,CAAC,CAAC;IACJ,CAAC;IAWD,aAAa,CAAC,OAAgB;QAC7B,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAIhD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC;QACjB,CAAC;QAID,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1D,IAAI,UAAU,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QAC3C,IAAI,UAAU,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QAEzC,OAAO,IAAI,CAAC;IACb,CAAC;IAUD,uBAAuB,CAAC,QAAsC;QAC7D,OAAO,QAAQ,IAAI,IAAI,CAAC,wBAAwB,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,QAAQ,CAAC;IACxF,CAAC;IAYO,wBAAwB;QAC/B,IAAI,UAAyC,CAAC;QAE9C,IAAI,CAAC;YACJ,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAoB,qCAAkB,CAAC,CAAC,aAAa,CAAC;QACtG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC;YAExG,OAAO,IAAI,CAAC;QACb,CAAC;QAED,QAAQ,UAAU,EAAE,CAAC;YAEpB,KAAK,oCAAiB,CAAC,MAAM;gBAC5B,OAAO,QAAQ,CAAC;YACjB,KAAK,oCAAiB,CAAC,IAAI;gBAC1B,OAAO,MAAM,CAAC;YACf,KAAK,oCAAiB,CAAC,KAAK;gBAC3B,OAAO,OAAO,CAAC;YAChB;gBACC,OAAO,IAAI,CAAC;QACd,CAAC;IACF,CAAC;IASD,eAAe,CAAC,KAAyB;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,qCAAkB,EAAE,CAAC;YACpE,OAAO;QACR,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAYO,wBAAwB,CAAC,OAAoC;QACpE,MAAM,KAAK,GAAG,eAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAIhE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,eAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,CAAC;IAaO,kBAAkB,CAAC,QAAkB,EAAE,QAA4C;QAC1F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,CAAC;QAE3C,OAAO,QAAQ;aACb,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;aAC9D,MAAM,CAEL,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,IAAA,sBAAa,EAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAqC;QAO5D,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtE,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC;QACf,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;QAKzE,MAAM,UAAU,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC;QAE1C,IAAI,CAAC;YACJ,IAAI,aAAa,GAAkB,IAAI,CAAC;YACxC,IAAI,QAAQ,GAAG,IAAI,CAAC;YAEpB,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;gBAE1E,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBAGP,aAAa,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,UAAU,GAAuC,IAAI,CAAC;YAE1D,IAAI,aAAa,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,IAAA,sBAAa,EAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBAEhE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACpB,eAAe,GAAG,IAAI,CAAC;oBACvB,UAAU,GAAG,IAAA,sBAAa,EAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBAC3D,CAAC;YACF,CAAC;YAED,MAAM,MAAM,GAAgB;gBAC3B,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,aAAa;gBACrB,eAAe;gBACf,UAAU;aACV,CAAC;YAKF,IAAI,UAAU,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBACnD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAC5B,eAAe,EACf,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,eAAa,CAAC,oBAAoB,CAAC,CAChF,CAAC;gBAEF,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAExE,OAAO;gBACN,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,KAAK;gBACtB,UAAU,EAAE,IAAI;aAChB,CAAC;QACH,CAAC;IACF,CAAC;IAcO,wBAAwB,CAAC,IAAiB,EAAE,OAAe;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAChD,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAErG,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAEtC,MAAM,eAAe,GACpB,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnG,IAAI,eAAe,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC9B,MAAM,EAAE,qCAAkB;gBAC1B,IAAI,EAAE,0CAAgB,CAAC,KAAK;gBAC5B,GAAG,EAAE,kBAAkB;gBACvB,QAAQ,EAAE,8CAAoB,CAAC,IAAI;gBACnC,KAAK,EAAE,UAAU,IAAI,CAAC,MAAM,eAAe;gBAC3C,OAAO,EAAE,aAAa,IAAI,CAAC,OAAO,cAAc,OAAO,GAAG;gBAC1D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gDAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC1G,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE;aACpE,CAAC,CAAC;YAEH,OAAO;QACR,CAAC;QAED,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC;QAErF,IAAI,iBAAiB,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,qCAAkB,EAAE,kBAAkB,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;IAOO,aAAa,CAAC,QAAgB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,eAAa,CAAC,gBAAgB,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC;IASO,KAAK,CAAC,4BAA4B,CACzC,QAA4C;QAE5C,MAAM,MAAM,GAAG,IAAI,GAAG,CAA8B,QAAQ,CAAC,CAAC;QAG9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuC,CAAC;QAChE,IAAI,QAAQ,GAAiB,IAAI,CAAC;QAGlC,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,eAAe,GAAG,IAAI,CAAC;QAI3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAa,CAAC,wBAAwB,CAAC;QAKrE,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEzE,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE7B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAIhB,QAAQ,GAAG,KAAc,CAAC;YAE1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,CAAC,OAAO,qCAAqC,CAAC,CAAC;QACxG,CAAC;QAMD,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;YAItE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAKvD,eAAe,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5F,CAAC;QAID,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,QAAQ,CAAC;QAChB,CAAC;QAMD,MAAM,QAAQ,GAAG,QAAQ,KAAK,IAAI,IAAI,YAAY,IAAI,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE1G,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzF,CAAC;IAQO,eAAe,CACtB,QAAkD,EAClD,MAAwC,EACxC,OAAkC;QAElC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO;QAErD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAInC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAA,sBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAaO,KAAK,CAAC,iCAAiC,CAC9C,QAAgB;QAEhB,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBAC1D,OAAO,EAAE,EAAE,YAAY,EAAE,sBAAsB,EAAE;gBACjD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACzD,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2C,CAAC;gBAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;gBAIxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAClD,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;gBAE7F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,QAAQ,CAAC,MAAM,oCAAoC,CAAC,CAAC;QACvG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,CAAC,OAAO,qCAAqC,CAAC,CAAC;QACzG,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAkBO,KAAK,CAAC,4BAA4B,CACzC,QAA4C,EAC5C,QAAgB;QAIhB,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;YAE9F,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,yBAAyB,cAAc,EAAE;YAC7E,OAAO,EAAE;gBACR,MAAM,EAAE,gCAAgC;gBACxC,YAAY,EAAE,sBAAsB;aACpC;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACzD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIrC,CAAC;QAEH,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,CAA8B,QAAQ,CAAC,CAAC;QAC9D,IAAI,QAAQ,GAAG,IAAI,CAAC;QAGpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAKhC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE3D,IAAI,aAAa,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;gBAAE,SAAS;YAEnE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;YAE3E,IAAI,CAAC,YAAY;gBAAE,SAAS;YAE5B,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,yBAAyB,eAAa,CAAC,wBAAwB,0BAA0B;oBACxF,GAAG,QAAQ,CAAC,MAAM,8CAA8C,CACjE,CAAC;gBAEF,QAAQ,GAAG,KAAK,CAAC;gBAEjB,MAAM;YACP,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,oBAAoB,EAAE;oBACpE,OAAO,EAAE,EAAE,YAAY,EAAE,sBAAsB,EAAE;oBACjD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACzD,CAAC,CAAC;gBAEH,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,oBAAoB,OAAO,CAAC,QAAQ,aAAa,aAAa,CAAC,MAAM,0BAA0B,CAC/F,CAAC;oBAEF,QAAQ,GAAG,KAAK,CAAC;oBAEjB,SAAS;gBACV,CAAC;gBAED,MAAM,WAAW,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAA2C,CAAC;gBAC3F,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAIvD,IAAI,OAAO,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBAGP,QAAQ,GAAG,KAAK,CAAC;gBAClB,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,GAAG,GAAG,KAAc,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,mCAAmC,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,OAAO,2BAA2B,CAC9F,CAAC;gBAEF,QAAQ,GAAG,KAAK,CAAC;YAClB,CAAC;QACF,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAMO,KAAK,CAAC,yBAAyB,CAAC,QAA4C;QACnF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACnD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAa,CAAC,gBAAgB,CAAC;SAC3D,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA6C,CAAC;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEzC,OAAO,IAAI,CAAC,kBAAkB,CAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5E,QAAQ,CACR,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEzD,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAiB;YAC9B,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,0DAA0D,YAAY,EAAE;YAC7E,WAAW,EAAE,IAAI;SACjB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,MAAM,GAAiB;YAC5B,OAAO,EAAE,YAAY;YACrB,IAAI,EAAG,OAAoC,CAAC,IAAI,IAAI,IAAI;YACxD,GAAG,EAAG,OAAiC,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG;YAChE,WAAW,EAAG,OAA4C,CAAC,YAAY,IAAI,IAAI;SAC/E,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO,MAAM,CAAC;IACf,CAAC;IAKD,KAAK,CAAC,uBAAuB,CAAC,OAAe;QAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,MAAM,GAAI,OAA4F,CAAC,MAAM,CAAC;QAEpH,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;YAEhE,OAAO,IAAI,CAAC;QACb,CAAC;QAGD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAEhH,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;YAEzE,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO;YACN,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,WAAW,EAAE,YAAY,CAAC,oBAAoB;YAC9C,IAAI,EAAE,YAAY,CAAC,IAAI;SACvB,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,kBAAkB,CAAC,YAAoB;QACpD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,UAAU,YAAY,EAAE,CAAC;QAE3D,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACjC,OAAO,EAAE;oBACR,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE,sBAAsB;iBACpC;gBACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAa,CAAC,gBAAgB,CAAC;aAC3D,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,MAAM,iBAAiB,YAAY,EAAE,CAAC,CAAC;gBAExF,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,YAAY,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAErF,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAGK,AAAN,KAAK,CAAC,oBAAoB;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpD,IAAI,CAAC;YACJ,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAE7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE5C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YAC7F,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;IAED,qBAAqB;QACpB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,aAAsB,KAAK;QACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE9D,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,SAAS,CAAC;YAChG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACjC,OAAO,EAAE;oBACR,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE,sBAAsB;iBACpC;gBACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAa,CAAC,gBAAgB,CAAC;aAC3D,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,OAA0G,CAAC;YAE/G,IAAI,UAAU,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoD,CAAC;gBAC5F,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAEjD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;gBACrC,CAAC;gBAED,OAAO,GAAG,KAAK,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACP,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;YACrD,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAE9C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAEnD,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAEvE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACrC,CAAC;IACF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACtC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,UAAU,YAAY,EAAE,EAAE;gBAC5E,OAAO,EAAE;oBACR,MAAM,EAAE,gCAAgC;oBACxC,YAAY,EAAE,sBAAsB;iBACpC;gBACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAa,CAAC,gBAAgB,CAAC;aAC3D,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,gBAAgB,YAAY,EAAE,CAAC,CAAC;gBAExF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;YACrC,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGrC,CAAC;YAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAc,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,YAAY,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAEnF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACrC,CAAC;IACF,CAAC;IAEO,gBAAgB,CAAC,OAGxB;QACA,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAClF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,oBAAoB;YACnC,IAAI,EAAE,CAAC,CAAC,IAAI;SACZ,CAAC,CAAC,CAAC;QAEL,OAAO;YACN,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1C,MAAM,EAAE,WAAW;SACnB,CAAC;IACH,CAAC;;AAz8BW,sCAAa;AAkCD,kCAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,AAAhB,CAAiB;AAarC,8BAAgB,GAAG,MAAM,AAAT,CAAU;AAQ1B,sCAAwB,GAAG,MAAM,AAAT,CAAU;AAGlC,gCAAkB,GAA+C,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,AAA1E,CAA2E;AAE7F,4BAAc,GAAG,kBAAkB,AAArB,CAAsB;AACpC,gCAAkB,GAAG,0BAA0B,AAA7B,CAA8B;AAChD,+BAAiB,GAAG,gBAAgB,AAAnB,CAAoB;AA+M7D;IADC,IAAA,uBAAO,EAAC,4BAAe,CAAC,cAAc,CAAC;;;;oDAQvC;AAwjBK;IADL,IAAA,eAAI,EAAC,cAAc,CAAC;;;;yDAiBpB;wBA51BW,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAkEoB,6BAAa;QACZ,4CAAoB;QACpB,8BAAa;GAnElC,aAAa,CA08BzB"}
@@ -52,6 +52,12 @@ export declare enum UpdatePhase {
52
52
  COMPLETE = "complete",
53
53
  FAILED = "failed"
54
54
  }
55
+ export declare enum UpdateChannelType {
56
+ AUTO = "auto",
57
+ STABLE = "stable",
58
+ BETA = "beta",
59
+ ALPHA = "alpha"
60
+ }
55
61
  export declare enum LogEntryType {
56
62
  SILENT = "silent",
57
63
  VERBOSE = "verbose",
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_PAGE_SIZE = exports.LogEntrySource = exports.HouseMode = exports.LogLevelType = exports.LanguageType = exports.TimeFormatType = exports.NumberFormatType = exports.DistanceUnitType = exports.PrecipitationUnitType = exports.PressureUnitType = exports.WindSpeedUnitType = exports.TemperatureUnitType = exports.LogEntryType = exports.UpdatePhase = exports.UpdateStatusType = exports.EventType = exports.EventHandlerName = exports.SYSTEM_MODULE_API_TAG_DESCRIPTION = exports.SYSTEM_MODULE_API_TAG_NAME = exports.NetworkMode = exports.SYSTEM_MODULE_NAME = exports.SYSTEM_MODULE_PREFIX = void 0;
3
+ exports.DEFAULT_PAGE_SIZE = exports.LogEntrySource = exports.HouseMode = exports.LogLevelType = exports.LanguageType = exports.TimeFormatType = exports.NumberFormatType = exports.DistanceUnitType = exports.PrecipitationUnitType = exports.PressureUnitType = exports.WindSpeedUnitType = exports.TemperatureUnitType = exports.LogEntryType = exports.UpdateChannelType = exports.UpdatePhase = exports.UpdateStatusType = exports.EventType = exports.EventHandlerName = exports.SYSTEM_MODULE_API_TAG_DESCRIPTION = exports.SYSTEM_MODULE_API_TAG_NAME = exports.NetworkMode = exports.SYSTEM_MODULE_NAME = exports.SYSTEM_MODULE_PREFIX = void 0;
4
4
  exports.SYSTEM_MODULE_PREFIX = 'system';
5
5
  exports.SYSTEM_MODULE_NAME = 'system-module';
6
6
  var NetworkMode;
@@ -60,6 +60,13 @@ var UpdatePhase;
60
60
  UpdatePhase["COMPLETE"] = "complete";
61
61
  UpdatePhase["FAILED"] = "failed";
62
62
  })(UpdatePhase || (exports.UpdatePhase = UpdatePhase = {}));
63
+ var UpdateChannelType;
64
+ (function (UpdateChannelType) {
65
+ UpdateChannelType["AUTO"] = "auto";
66
+ UpdateChannelType["STABLE"] = "stable";
67
+ UpdateChannelType["BETA"] = "beta";
68
+ UpdateChannelType["ALPHA"] = "alpha";
69
+ })(UpdateChannelType || (exports.UpdateChannelType = UpdateChannelType = {}));
63
70
  var LogEntryType;
64
71
  (function (LogEntryType) {
65
72
  LogEntryType["SILENT"] = "silent";
@@ -1 +1 @@
1
- {"version":3,"file":"system.constants.js","sourceRoot":"","sources":["../../../src/modules/system/system.constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.constants.js","sourceRoot":"","sources":["../../../src/modules/system/system.constants.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit } from '@nestjs
4
4
  import { ClientAddressService } from '../../api/services/client-address.service';
5
5
  import { CommandMessageDto } from '../dto/command-message.dto';
6
6
  import { CommandResultDto } from '../dto/command-result.dto';
7
+ import { CommandAcknowledgementTraceService } from '../services/command-acknowledgement-trace.service';
7
8
  import { CommandEventRegistryService } from '../services/command-event-registry.service';
8
9
  import { WsAuthService } from '../services/ws-auth.service';
9
10
  export declare class WebsocketGateway implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
@@ -11,10 +12,11 @@ export declare class WebsocketGateway implements OnGatewayInit, OnGatewayConnect
11
12
  private readonly eventEmitter;
12
13
  private readonly wsAuthService;
13
14
  private readonly clientAddressService;
15
+ private readonly commandAcknowledgementTrace;
14
16
  private gatewayEnabled;
15
17
  private readonly server;
16
18
  private readonly logger;
17
- constructor(commandEventRegistry: CommandEventRegistryService, eventEmitter: EventEmitter2, wsAuthService: WsAuthService, clientAddressService: ClientAddressService);
19
+ constructor(commandEventRegistry: CommandEventRegistryService, eventEmitter: EventEmitter2, wsAuthService: WsAuthService, clientAddressService: ClientAddressService, commandAcknowledgementTrace: CommandAcknowledgementTraceService);
18
20
  enable(): void;
19
21
  get enabled(): boolean;
20
22
  get clientsCount(): number;
@@ -25,10 +27,14 @@ export declare class WebsocketGateway implements OnGatewayInit, OnGatewayConnect
25
27
  handleSubscribeExchange(_message: CommandMessageDto, client: Socket): Promise<boolean>;
26
28
  handleCommand(message: CommandMessageDto, client: Socket): Promise<CommandResultDto>;
27
29
  sendMessage(event: string, payload: Record<string, any>): void;
30
+ private observeAcknowledgementTrace;
28
31
  private static readonly INTERNAL_EVENT_PREFIXES;
29
32
  private static readonly DISPLAY_TARGETED_EVENT_PREFIXES;
30
33
  private static readonly EXCHANGE_ONLY_EVENT_PREFIXES;
31
34
  private static readonly ADMIN_ONLY_EVENT_PREFIXES;
35
+ private static readonly SENSITIVE_PAYLOAD_KEYS;
36
+ private sanitizeForLogging;
37
+ private formatMessageForLogging;
32
38
  private handleBusEvent;
33
39
  private transformPayload;
34
40
  }
@@ -28,16 +28,18 @@ const users_constants_1 = require("../../users/users.constants");
28
28
  const command_message_dto_1 = require("../dto/command-message.dto");
29
29
  const command_result_dto_1 = require("../dto/command-result.dto");
30
30
  const ws_client_dto_1 = require("../dto/ws-client.dto");
31
+ const command_acknowledgement_trace_service_1 = require("../services/command-acknowledgement-trace.service");
31
32
  const command_event_registry_service_1 = require("../services/command-event-registry.service");
32
33
  const ws_auth_service_1 = require("../services/ws-auth.service");
33
34
  const websocket_constants_1 = require("../websocket.constants");
34
35
  const websocket_exceptions_1 = require("../websocket.exceptions");
35
36
  let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
36
- constructor(commandEventRegistry, eventEmitter, wsAuthService, clientAddressService) {
37
+ constructor(commandEventRegistry, eventEmitter, wsAuthService, clientAddressService, commandAcknowledgementTrace) {
37
38
  this.commandEventRegistry = commandEventRegistry;
38
39
  this.eventEmitter = eventEmitter;
39
40
  this.wsAuthService = wsAuthService;
40
41
  this.clientAddressService = clientAddressService;
42
+ this.commandAcknowledgementTrace = commandAcknowledgementTrace;
41
43
  this.gatewayEnabled = false;
42
44
  this.logger = (0, logger_1.createExtensionLogger)(websocket_constants_1.WEBSOCKET_MODULE_NAME, 'WebsocketGateway');
43
45
  this.eventEmitter.onAny((event, payload) => {
@@ -79,6 +81,7 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
79
81
  }
80
82
  async handleConnection(client) {
81
83
  try {
84
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.attachSocket(client));
82
85
  this.logger.log(`Client connected: ${client.id}`);
83
86
  await client.join(websocket_constants_1.CLIENT_DEFAULT_ROOM);
84
87
  const clientData = client.data;
@@ -110,6 +113,7 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
110
113
  }
111
114
  }
112
115
  handleDisconnect(client) {
116
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordSocketClose(client, 'gateway-disconnect'));
113
117
  this.logger.log(`Client disconnected: ${client.id}`);
114
118
  const clientData = client.data;
115
119
  const clientIp = this.clientAddressService.resolve(client.handshake).address;
@@ -136,9 +140,12 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
136
140
  async handleCommand(message, client) {
137
141
  const { event, payload } = message;
138
142
  this.logger.log(`Received command '${event}' from client ${client.id}`);
143
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordGatewayEntry(client, message));
139
144
  if (!this.commandEventRegistry.has(event)) {
140
145
  this.logger.warn(`No subscribers for event: ${event}`);
141
- return (0, transform_utils_1.toInstance)(command_result_dto_1.CommandResultDto, { status: 'error', message: `Event '${event}' is not supported.` });
146
+ const result = (0, transform_utils_1.toInstance)(command_result_dto_1.CommandResultDto, { status: 'error', message: `Event '${event}' is not supported.` });
147
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordGatewayReturn(client, message, 'error'));
148
+ return result;
142
149
  }
143
150
  try {
144
151
  const handlers = this.commandEventRegistry.get(event);
@@ -146,13 +153,17 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
146
153
  const results = (await Promise.all(handlers.map(async ({ name, handler, requiredRoles }) => {
147
154
  try {
148
155
  if (requiredRoles && (!clientData.user || !requiredRoles.includes(clientData.user.role))) {
156
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordHandlerSkipped(client, message, name));
149
157
  return { handler: name, success: false, reason: 'Insufficient permissions' };
150
158
  }
159
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordHandlerStart(client, message, name));
151
160
  const response = await handler(clientData.user, payload);
161
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordHandlerSettled(client, message, name, response === null ? 'null' : 'resolved'));
152
162
  return response !== null ? { handler: name, ...response } : null;
153
163
  }
154
164
  catch (error) {
155
165
  const err = error;
166
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordHandlerSettled(client, message, name, 'rejected'));
156
167
  this.logger.error(`Error in '${name}'`, { message: err.message, stack: err.stack });
157
168
  if (error instanceof websocket_exceptions_1.WebsocketNotAllowedException) {
158
169
  return { handler: name, success: false, reason: error.message };
@@ -160,12 +171,16 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
160
171
  return { handler: name, success: false, reason: 'Internal error' };
161
172
  }
162
173
  }))).filter((result) => result !== null);
163
- return (0, transform_utils_1.toInstance)(command_result_dto_1.CommandResultDto, { status: 'ok', message: 'Event handled successfully', results }, { excludeExtraneousValues: false });
174
+ const result = (0, transform_utils_1.toInstance)(command_result_dto_1.CommandResultDto, { status: 'ok', message: 'Event handled successfully', results }, { excludeExtraneousValues: false });
175
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordGatewayReturn(client, message, 'ok'));
176
+ return result;
164
177
  }
165
178
  catch (error) {
166
179
  const err = error;
167
180
  this.logger.error(`Error handling event: ${event}`, { message: err.message, stack: err.stack });
168
- return (0, transform_utils_1.toInstance)(command_result_dto_1.CommandResultDto, { status: 'error', message: `Failed to handle event: ${event}` });
181
+ const result = (0, transform_utils_1.toInstance)(command_result_dto_1.CommandResultDto, { status: 'error', message: `Failed to handle event: ${event}` });
182
+ this.observeAcknowledgementTrace(() => this.commandAcknowledgementTrace.recordGatewayReturn(client, message, 'error'));
183
+ return result;
169
184
  }
170
185
  }
171
186
  sendMessage(event, payload) {
@@ -186,6 +201,37 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
186
201
  this.logger.debug(`Emitting message: ${JSON.stringify(message)}`);
187
202
  this.server.emit('event', message);
188
203
  }
204
+ observeAcknowledgementTrace(callback) {
205
+ try {
206
+ callback();
207
+ }
208
+ catch {
209
+ }
210
+ }
211
+ sanitizeForLogging(obj) {
212
+ if (obj === null || typeof obj !== 'object') {
213
+ return obj;
214
+ }
215
+ if (Array.isArray(obj)) {
216
+ return obj.map((item) => this.sanitizeForLogging(item));
217
+ }
218
+ const sanitized = {};
219
+ for (const [key, value] of Object.entries(obj)) {
220
+ if (WebsocketGateway_1.SENSITIVE_PAYLOAD_KEYS.has(key)) {
221
+ sanitized[key] = '[REDACTED]';
222
+ }
223
+ else if (typeof value === 'object' && value !== null) {
224
+ sanitized[key] = this.sanitizeForLogging(value);
225
+ }
226
+ else {
227
+ sanitized[key] = value;
228
+ }
229
+ }
230
+ return sanitized;
231
+ }
232
+ formatMessageForLogging(message) {
233
+ return JSON.stringify(this.sanitizeForLogging(message));
234
+ }
189
235
  handleBusEvent(event, payload) {
190
236
  if (!this.enabled) {
191
237
  return;
@@ -208,22 +254,22 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
208
254
  const isDisplayTargeted = WebsocketGateway_1.DISPLAY_TARGETED_EVENT_PREFIXES.some((prefix) => event.startsWith(prefix)) && displayId;
209
255
  if (isDisplayTargeted) {
210
256
  const displayRoom = `display-${displayId}`;
211
- this.logger.debug(`Emitting targeted event to ${displayRoom}: ${JSON.stringify(message)}`);
257
+ this.logger.debug(`Emitting targeted event to ${displayRoom}: ${this.formatMessageForLogging(message)}`);
212
258
  this.server.to(displayRoom).emit('event', message);
213
259
  this.server.to(websocket_constants_1.EXCHANGE_ROOM).emit('event', message);
214
260
  return;
215
261
  }
216
262
  if (WebsocketGateway_1.ADMIN_ONLY_EVENT_PREFIXES.some((prefix) => event.startsWith(prefix))) {
217
- this.logger.debug(`Emitting admin-only event: ${JSON.stringify(message)}`);
263
+ this.logger.debug(`Emitting admin-only event: ${this.formatMessageForLogging(message)}`);
218
264
  this.server.to(websocket_constants_1.ADMIN_ROOM).emit('event', message);
219
265
  return;
220
266
  }
221
267
  if (WebsocketGateway_1.EXCHANGE_ONLY_EVENT_PREFIXES.some((prefix) => event.startsWith(prefix))) {
222
- this.logger.debug(`Emitting exchange-only event: ${JSON.stringify(message)}`);
268
+ this.logger.debug(`Emitting exchange-only event: ${this.formatMessageForLogging(message)}`);
223
269
  this.server.to(websocket_constants_1.EXCHANGE_ROOM).emit('event', message);
224
270
  return;
225
271
  }
226
- this.logger.debug(`Emitting event bus message: ${JSON.stringify(message)}`);
272
+ this.logger.debug(`Emitting event bus message: ${this.formatMessageForLogging(message)}`);
227
273
  this.server.to(websocket_constants_1.DISPLAY_INTERNAL_ROOM).emit('event', message);
228
274
  this.server.to(websocket_constants_1.EXCHANGE_ROOM).emit('event', message);
229
275
  }
@@ -275,7 +321,18 @@ WebsocketGateway.EXCHANGE_ONLY_EVENT_PREFIXES = [
275
321
  WebsocketGateway.ADMIN_ONLY_EVENT_PREFIXES = [
276
322
  'NotificationsModule.',
277
323
  'RemoteAccessModule.',
324
+ 'DevicesHomeKitPlugin.',
278
325
  ];
326
+ WebsocketGateway.SENSITIVE_PAYLOAD_KEYS = new Set([
327
+ 'pincode',
328
+ 'setupUri',
329
+ 'setup_uri',
330
+ 'qrCodeDataUri',
331
+ 'qr_code_data_uri',
332
+ 'password',
333
+ 'token',
334
+ 'secret',
335
+ ]);
279
336
  __decorate([
280
337
  (0, websockets_1.WebSocketServer)(),
281
338
  __metadata("design:type", socket_io_1.Server)
@@ -308,6 +365,7 @@ exports.WebsocketGateway = WebsocketGateway = WebsocketGateway_1 = __decorate([
308
365
  __metadata("design:paramtypes", [command_event_registry_service_1.CommandEventRegistryService,
309
366
  event_emitter_1.EventEmitter2,
310
367
  ws_auth_service_1.WsAuthService,
311
- client_address_service_1.ClientAddressService])
368
+ client_address_service_1.ClientAddressService,
369
+ command_acknowledgement_trace_service_1.CommandAcknowledgementTraceService])
312
370
  ], WebsocketGateway);
313
371
  //# sourceMappingURL=websocket.gateway.js.map