@fastybird/smart-panel-backend 1.1.0-alpha.1 → 1.1.0-alpha.11

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 (214) hide show
  1. package/dist/app.module.js +7 -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 +20 -3
  47. package/dist/modules/devices/services/property-command.service.js +56 -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/platform/services/platform.service.d.ts +13 -4
  56. package/dist/modules/platform/services/platform.service.js +57 -35
  57. package/dist/modules/platform/services/platform.service.js.map +1 -1
  58. package/dist/modules/remote-access/dto/update-config.dto.js +5 -0
  59. package/dist/modules/remote-access/dto/update-config.dto.js.map +1 -1
  60. package/dist/modules/remote-access/validators/is-remote-access-url.validator.js +5 -2
  61. package/dist/modules/remote-access/validators/is-remote-access-url.validator.js.map +1 -1
  62. package/dist/modules/system/services/privileged-worker.service.d.ts +10 -0
  63. package/dist/modules/system/services/privileged-worker.service.js +137 -11
  64. package/dist/modules/system/services/privileged-worker.service.js.map +1 -1
  65. package/dist/modules/websocket/gateway/websocket.gateway.d.ts +4 -1
  66. package/dist/modules/websocket/gateway/websocket.gateway.js +28 -5
  67. package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
  68. package/dist/modules/websocket/services/command-acknowledgement-trace.service.d.ts +143 -0
  69. package/dist/modules/websocket/services/command-acknowledgement-trace.service.js +523 -0
  70. package/dist/modules/websocket/services/command-acknowledgement-trace.service.js.map +1 -0
  71. package/dist/modules/websocket/websocket.module.js +9 -1
  72. package/dist/modules/websocket/websocket.module.js.map +1 -1
  73. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +2 -1
  74. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
  75. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +2 -3
  76. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
  77. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js +6 -1
  78. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js.map +1 -1
  79. package/dist/plugins/devices-homekit/mappers/base.mapper.js +27 -4
  80. package/dist/plugins/devices-homekit/mappers/base.mapper.js.map +1 -1
  81. package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.d.ts +8 -0
  82. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.d.ts +7 -0
  83. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js +84 -73
  84. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js.map +1 -1
  85. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +20 -1
  86. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +361 -119
  87. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
  88. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +13 -1
  89. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +109 -10
  90. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
  91. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js +8 -11
  92. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js.map +1 -1
  93. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js +2 -0
  94. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js.map +1 -1
  95. package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js +4 -0
  96. package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js.map +1 -1
  97. package/dist/plugins/devices-shelly-ng/services/device-manager.service.js +5 -0
  98. package/dist/plugins/devices-shelly-ng/services/device-manager.service.js.map +1 -1
  99. package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.d.ts +29 -0
  100. package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.js +233 -0
  101. package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.js.map +1 -0
  102. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +12 -2
  103. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +81 -27
  104. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
  105. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.d.ts +0 -1
  106. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +5 -12
  107. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -1
  108. package/dist/plugins/devices-shelly-ng/utils/transform.utils.d.ts +2 -0
  109. package/dist/plugins/devices-shelly-ng/utils/transform.utils.js +14 -1
  110. package/dist/plugins/devices-shelly-ng/utils/transform.utils.js.map +1 -1
  111. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +17 -0
  112. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +147 -0
  113. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -0
  114. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +15 -0
  115. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +98 -0
  116. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -0
  117. package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.d.ts +9 -0
  118. package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js +94 -0
  119. package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js.map +1 -0
  120. package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.d.ts +9 -0
  121. package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js +92 -0
  122. package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js.map +1 -0
  123. package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.d.ts +7 -0
  124. package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js +48 -0
  125. package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js.map +1 -0
  126. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +42 -0
  127. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +352 -0
  128. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -0
  129. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.d.ts +24 -0
  130. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js +27 -0
  131. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js.map +1 -0
  132. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.d.ts +8 -0
  133. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js +19 -0
  134. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js.map +1 -0
  135. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.d.ts +4 -0
  136. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js +20 -0
  137. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js.map +1 -0
  138. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.d.ts +21 -0
  139. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js +135 -0
  140. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js.map +1 -0
  141. package/dist/plugins/remote-access-cloudflare-tunnel/scripts/cloudflared-setup.sh +185 -0
  142. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +82 -0
  143. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +507 -0
  144. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -0
  145. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +10 -0
  146. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +37 -0
  147. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -0
  148. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.d.ts +38 -0
  149. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js +147 -0
  150. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js.map +1 -0
  151. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +15 -0
  152. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +67 -0
  153. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -0
  154. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +8 -0
  155. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +46 -0
  156. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -0
  157. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.d.ts +27 -0
  158. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js +139 -0
  159. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js.map +1 -0
  160. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +1 -0
  161. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +26 -10
  162. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
  163. package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +6 -1
  164. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +28 -3
  165. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
  166. package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +19 -0
  167. package/dist/plugins/remote-access-tailscale/models/status.model.js +158 -1
  168. package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
  169. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +2 -0
  170. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +3 -1
  171. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
  172. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +13 -0
  173. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +27 -0
  174. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -0
  175. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
  176. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +2 -0
  177. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
  178. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +1 -1
  179. package/dist/plugins/remote-access-tailscale/scripts/tailscale-setup.sh +61 -0
  180. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +9 -0
  181. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +12 -0
  182. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
  183. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +1 -0
  184. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +27 -2
  185. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
  186. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +30 -1
  187. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +300 -30
  188. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
  189. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +8 -3
  190. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +39 -12
  191. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
  192. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +14 -5
  193. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +51 -16
  194. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
  195. package/dist/plugins/scenes-local/platforms/local-scene.platform.d.ts +3 -1
  196. package/dist/plugins/scenes-local/platforms/local-scene.platform.js +12 -7
  197. package/dist/plugins/scenes-local/platforms/local-scene.platform.js.map +1 -1
  198. package/dist/plugins/spaces-home-control/services/climate-intent.service.d.ts +3 -1
  199. package/dist/plugins/spaces-home-control/services/climate-intent.service.js +6 -3
  200. package/dist/plugins/spaces-home-control/services/climate-intent.service.js.map +1 -1
  201. package/dist/plugins/spaces-home-control/services/covers-intent.service.d.ts +3 -1
  202. package/dist/plugins/spaces-home-control/services/covers-intent.service.js +6 -3
  203. package/dist/plugins/spaces-home-control/services/covers-intent.service.js.map +1 -1
  204. package/dist/plugins/spaces-home-control/services/lighting-intent.service.d.ts +3 -1
  205. package/dist/plugins/spaces-home-control/services/lighting-intent.service.js +7 -4
  206. package/dist/plugins/spaces-home-control/services/lighting-intent.service.js.map +1 -1
  207. package/dist/plugins/spaces-home-control/services/space-media-activity.service.d.ts +3 -1
  208. package/dist/plugins/spaces-home-control/services/space-media-activity.service.js +11 -5
  209. package/dist/plugins/spaces-home-control/services/space-media-activity.service.js.map +1 -1
  210. package/dist/plugins/spaces-home-control/services/space-undo-history.service.d.ts +3 -1
  211. package/dist/plugins/spaces-home-control/services/space-undo-history.service.js +8 -5
  212. package/dist/plugins/spaces-home-control/services/space-undo-history.service.js.map +1 -1
  213. package/dist/tsconfig.build.tsbuildinfo +1 -1
  214. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"device-manager.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-shelly-ng/services/device-manager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-manager.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-shelly-ng/services/device-manager.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { OnModuleDestroy } from '@nestjs/common';
2
+ type DelegateObservation = {
3
+ delegateId: string;
4
+ sourceDeviceId?: string;
5
+ connected: boolean;
6
+ generation: number;
7
+ };
8
+ export declare class PollPlacementDiagnosticsService implements OnModuleDestroy {
9
+ private readonly processInstanceId;
10
+ private readonly observerRuntimeHash;
11
+ private readonly delegateObservations;
12
+ private readonly config;
13
+ private snapshot;
14
+ private writePending;
15
+ private writeQueued;
16
+ private destroyed;
17
+ private cycleSequence;
18
+ constructor();
19
+ onModuleDestroy(): void;
20
+ isEnabled(): boolean;
21
+ observeDelegate(observation: DelegateObservation): void;
22
+ invalidate(reason: string): void;
23
+ observeCycle(generation: number, intervalMs: number, delegates: string[]): void;
24
+ observeSlot(delegateId: string, generation: number, decision: 'dispatch-attempt' | 'skipped', skipReason?: string): void;
25
+ private parseConfig;
26
+ private now;
27
+ private publish;
28
+ }
29
+ export {};
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PollPlacementDiagnosticsService = void 0;
13
+ const crypto_1 = require("crypto");
14
+ const promises_1 = require("fs/promises");
15
+ const path_1 = require("path");
16
+ const common_1 = require("@nestjs/common");
17
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
18
+ const MAX_DURATION_MS = 180_000;
19
+ const MAX_RECORDS = 64;
20
+ const MAX_BYTES = 256 * 1024;
21
+ let PollPlacementDiagnosticsService = class PollPlacementDiagnosticsService {
22
+ constructor() {
23
+ this.processInstanceId = (0, crypto_1.randomUUID)();
24
+ this.observerRuntimeHash = (0, crypto_1.createHash)('sha256').update('poll-placement-diagnostics-v1').digest('hex');
25
+ this.delegateObservations = new Map();
26
+ this.snapshot = null;
27
+ this.writePending = false;
28
+ this.writeQueued = false;
29
+ this.destroyed = false;
30
+ this.cycleSequence = 0;
31
+ this.config = this.parseConfig(process.env.FB_SHELLY_POLL_PLACEMENT);
32
+ if (this.config) {
33
+ const now = this.now();
34
+ this.snapshot = {
35
+ schemaVersion: 1,
36
+ runId: this.config.runId,
37
+ status: 'armed',
38
+ configFingerprint: (0, crypto_1.createHash)('sha256').update(JSON.stringify(this.config)).digest('hex'),
39
+ processInstanceId: this.processInstanceId,
40
+ processId: process.pid,
41
+ sourceDeviceId: this.config.sourceDeviceId,
42
+ observerRuntimeHash: this.observerRuntimeHash,
43
+ backendClock: 'performance-now-v1',
44
+ armedAtMonotonicMs: now,
45
+ expiresAtMonotonicMs: now + this.config.durationMs,
46
+ sequence: 0,
47
+ observations: [],
48
+ };
49
+ void this.publish();
50
+ }
51
+ }
52
+ onModuleDestroy() {
53
+ this.destroyed = true;
54
+ if (this.snapshot && (this.snapshot.status === 'armed' || this.snapshot.status === 'ready')) {
55
+ this.snapshot.status = 'invalidated';
56
+ this.snapshot.reason = 'process-shutdown';
57
+ void this.publish();
58
+ }
59
+ }
60
+ isEnabled() {
61
+ return this.snapshot !== null && !this.destroyed;
62
+ }
63
+ observeDelegate(observation) {
64
+ if (!this.snapshot || this.destroyed)
65
+ return;
66
+ this.delegateObservations.set(observation.delegateId, observation);
67
+ }
68
+ invalidate(reason) {
69
+ if (!this.snapshot || this.snapshot.status === 'invalidated')
70
+ return;
71
+ this.snapshot.status = 'invalidated';
72
+ this.snapshot.reason = reason;
73
+ void this.publish();
74
+ }
75
+ observeCycle(generation, intervalMs, delegates) {
76
+ const snapshot = this.snapshot;
77
+ if (!snapshot || this.destroyed || (snapshot.status !== 'armed' && snapshot.status !== 'ready'))
78
+ return;
79
+ if (this.now() >= snapshot.expiresAtMonotonicMs) {
80
+ snapshot.status = 'expired';
81
+ snapshot.reason = 'diagnostic-expired';
82
+ void this.publish();
83
+ return;
84
+ }
85
+ if (!Number.isInteger(generation) || !Number.isInteger(intervalMs) || intervalMs < 1 || delegates.length === 0)
86
+ return;
87
+ const ordered = delegates.slice();
88
+ const targetMatches = ordered.filter((id) => this.delegateObservations.get(id)?.sourceDeviceId === snapshot.sourceDeviceId);
89
+ const targetIndex = targetMatches.length === 1 ? ordered.indexOf(targetMatches[0]) : -1;
90
+ const targetId = targetIndex >= 0 ? ordered[targetIndex] : null;
91
+ const target = targetId ? this.delegateObservations.get(targetId) : undefined;
92
+ const delayMs = targetId ? Math.floor((targetIndex * intervalMs) / ordered.length) : null;
93
+ const before = this.now();
94
+ const after = this.now();
95
+ snapshot.observations.push({
96
+ cycleSequence: ++this.cycleSequence,
97
+ generation,
98
+ intervalMs,
99
+ anchorMonotonicMs: before,
100
+ connectedDelegateCount: ordered.length,
101
+ delegateOrderFingerprint: (0, crypto_1.createHash)('sha256').update(ordered.join('\n')).digest('hex'),
102
+ target: {
103
+ delegateId: targetId,
104
+ slotIndex: targetId ? targetIndex : null,
105
+ connected: target?.connected === true,
106
+ generation: target?.generation ?? null,
107
+ decision: 'unresolved',
108
+ skipReason: targetId ? 'slot-pending' : 'target-unresolved',
109
+ delayMs,
110
+ registrationBeforeMs: before,
111
+ registrationAfterMs: after,
112
+ },
113
+ });
114
+ snapshot.sequence++;
115
+ snapshot.status = 'ready';
116
+ if (snapshot.observations.length > MAX_RECORDS || Buffer.byteLength(JSON.stringify(snapshot)) > MAX_BYTES) {
117
+ snapshot.status = 'overflow';
118
+ snapshot.reason = 'observation-bound-exceeded';
119
+ snapshot.observations = snapshot.observations.slice(0, MAX_RECORDS);
120
+ }
121
+ void this.publish();
122
+ }
123
+ observeSlot(delegateId, generation, decision, skipReason) {
124
+ const snapshot = this.snapshot;
125
+ if (!snapshot || this.destroyed || (snapshot.status !== 'armed' && snapshot.status !== 'ready'))
126
+ return;
127
+ if (this.now() >= snapshot.expiresAtMonotonicMs) {
128
+ snapshot.status = 'expired';
129
+ snapshot.reason = 'diagnostic-expired';
130
+ void this.publish();
131
+ return;
132
+ }
133
+ const observation = snapshot.observations.at(-1);
134
+ if (!observation || observation.generation !== generation || observation.target.delegateId !== delegateId)
135
+ return;
136
+ observation.target.decision = decision;
137
+ observation.target.skipReason = skipReason;
138
+ snapshot.sequence++;
139
+ void this.publish();
140
+ }
141
+ parseConfig(raw) {
142
+ if (!raw)
143
+ return null;
144
+ try {
145
+ if (Buffer.byteLength(raw, 'utf8') > 8192)
146
+ return null;
147
+ const value = JSON.parse(raw);
148
+ if (value.schemaVersion !== 1 || typeof value.runId !== 'string' || !UUID_RE.test(value.runId))
149
+ return null;
150
+ if (typeof value.sourceDeviceId !== 'string' || !UUID_RE.test(value.sourceDeviceId))
151
+ return null;
152
+ if (typeof value.exportPath !== 'string' || !value.exportPath.startsWith('/') || value.exportPath.includes('\0'))
153
+ return null;
154
+ const durationMs = value.durationMs === undefined ? 180_000 : value.durationMs;
155
+ if (typeof durationMs !== 'number' ||
156
+ !Number.isInteger(durationMs) ||
157
+ durationMs < 1000 ||
158
+ durationMs > MAX_DURATION_MS)
159
+ return null;
160
+ const allowed = new Set(['schemaVersion', 'runId', 'sourceDeviceId', 'exportPath', 'durationMs']);
161
+ if (Object.keys(value).some((key) => !allowed.has(key)))
162
+ return null;
163
+ return {
164
+ schemaVersion: 1,
165
+ runId: value.runId,
166
+ sourceDeviceId: value.sourceDeviceId,
167
+ exportPath: value.exportPath,
168
+ durationMs,
169
+ };
170
+ }
171
+ catch {
172
+ return null;
173
+ }
174
+ }
175
+ now() {
176
+ return Number(process.hrtime.bigint()) / 1_000_000;
177
+ }
178
+ async publish() {
179
+ if (!this.snapshot || !this.config)
180
+ return;
181
+ if (this.writePending) {
182
+ this.writeQueued = true;
183
+ return;
184
+ }
185
+ this.writePending = true;
186
+ let temporary = null;
187
+ let temporaryCreated = false;
188
+ try {
189
+ await (0, promises_1.mkdir)((0, path_1.dirname)(this.config.exportPath), { recursive: true, mode: 0o700 });
190
+ temporary = this.config.exportPath + '.tmp-' + process.pid + '-' + this.snapshot.sequence;
191
+ const body = JSON.stringify(this.snapshot) + '\n';
192
+ await (0, promises_1.writeFile)(temporary, body, { mode: 0o600, flag: 'wx' });
193
+ temporaryCreated = true;
194
+ const handle = await (0, promises_1.open)(temporary, 'r');
195
+ try {
196
+ await handle.sync();
197
+ }
198
+ catch (error) {
199
+ try {
200
+ await handle.close();
201
+ }
202
+ catch {
203
+ }
204
+ throw error;
205
+ }
206
+ await handle.close();
207
+ await (0, promises_1.rename)(temporary, this.config.exportPath);
208
+ await (0, promises_1.stat)(this.config.exportPath);
209
+ }
210
+ catch {
211
+ if (temporaryCreated && temporary !== null) {
212
+ await (0, promises_1.unlink)(temporary).catch(() => undefined);
213
+ }
214
+ if (this.snapshot) {
215
+ this.snapshot.status = 'writer-failure';
216
+ this.snapshot.reason = 'export-write-failed';
217
+ }
218
+ }
219
+ finally {
220
+ this.writePending = false;
221
+ if (this.writeQueued) {
222
+ this.writeQueued = false;
223
+ void this.publish();
224
+ }
225
+ }
226
+ }
227
+ };
228
+ exports.PollPlacementDiagnosticsService = PollPlacementDiagnosticsService;
229
+ exports.PollPlacementDiagnosticsService = PollPlacementDiagnosticsService = __decorate([
230
+ (0, common_1.Injectable)(),
231
+ __metadata("design:paramtypes", [])
232
+ ], PollPlacementDiagnosticsService);
233
+ //# sourceMappingURL=poll-placement-diagnostics.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll-placement-diagnostics.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgD;AAChD,0CAA2E;AAC3E,+BAA+B;AAE/B,2CAA6D;AAsD7D,MAAM,OAAO,GAAG,4EAA4E,CAAC;AAC7F,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC;AAGtB,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAW3C;QAViB,sBAAiB,GAAG,IAAA,mBAAU,GAAE,CAAC;QACjC,wBAAmB,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjG,yBAAoB,GAAG,IAAI,GAAG,EAA+B,CAAC;QAEvE,aAAQ,GAA8B,IAAI,CAAC;QAC3C,iBAAY,GAAG,KAAK,CAAC;QACrB,gBAAW,GAAG,KAAK,CAAC;QACpB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAAG,CAAC,CAAC;QAGzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG;gBACf,aAAa,EAAE,CAAC;gBAChB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,MAAM,EAAE,OAAO;gBACf,iBAAiB,EAAE,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzF,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,SAAS,EAAE,OAAO,CAAC,GAAG;gBACtB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,YAAY,EAAE,oBAAoB;gBAClC,kBAAkB,EAAE,GAAG;gBACvB,oBAAoB,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClD,QAAQ,EAAE,CAAC;gBACX,YAAY,EAAE,EAAE;aAChB,CAAC;YACF,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;IACF,CAAC;IAED,eAAe;QACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,kBAAkB,CAAC;YAC1C,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;IACF,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAClD,CAAC;IAED,eAAe,CAAC,WAAgC;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC7C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,UAAU,CAAC,MAAc;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,aAAa;YAAE,OAAO;QACrE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,UAAkB,EAAE,UAAkB,EAAE,SAAmB;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO;QACxG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YACjD,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;YAC5B,QAAQ,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACvC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAC7G,OAAO;QACR,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CACnC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,cAAc,KAAK,QAAQ,CAAC,cAAc,CACrF,CAAC;QACF,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;YAC1B,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa;YACnC,UAAU;YACV,UAAU;YACV,iBAAiB,EAAE,MAAM;YACzB,sBAAsB,EAAE,OAAO,CAAC,MAAM;YACtC,wBAAwB,EAAE,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACvF,MAAM,EAAE;gBACP,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;gBACxC,SAAS,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI;gBACrC,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI;gBACtC,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB;gBAC3D,OAAO;gBACP,oBAAoB,EAAE,MAAM;gBAC5B,mBAAmB,EAAE,KAAK;aAC1B;SACD,CAAC,CAAC;QACH,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpB,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC;QAC1B,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;YAC3G,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;YAC7B,QAAQ,CAAC,MAAM,GAAG,4BAA4B,CAAC;YAC/C,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,WAAW,CACV,UAAkB,EAClB,UAAkB,EAClB,QAAwC,EACxC,UAAmB;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO;QACxG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YACjD,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;YAC5B,QAAQ,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACvC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,KAAK,UAAU,IAAI,WAAW,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU;YAAE,OAAO;QAClH,WAAW,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACvC,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC3C,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAEO,WAAW,CAAC,GAAuB;QAC1C,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC;YACJ,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;YACzD,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5G,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBAAE,OAAO,IAAI,CAAC;YACjG,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC/G,OAAO,IAAI,CAAC;YACb,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC/E,IACC,OAAO,UAAU,KAAK,QAAQ;gBAC9B,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC7B,UAAU,GAAG,IAAI;gBACjB,UAAU,GAAG,eAAe;gBAE5B,OAAO,IAAI,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;YAClG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrE,OAAO;gBACN,aAAa,EAAE,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU;aACV,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,GAAG;QACV,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,OAAO;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAC3C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC;YACJ,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/E,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YAClD,MAAM,IAAA,oBAAS,EAAC,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,IAAA,eAAI,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACJ,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACJ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAA,iBAAM,EAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,IAAA,eAAI,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,gBAAgB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC5C,MAAM,IAAA,iBAAM,EAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,gBAAgB,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,qBAAqB,CAAC;YAC9C,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;QACF,CAAC;IACF,CAAC;CACD,CAAA;AAnNY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;;GACA,+BAA+B,CAmN3C"}