@fastybird/smart-panel-backend 1.1.0-alpha.2 → 1.1.0-alpha.20
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.
- package/dist/app.module.js +8 -0
- package/dist/app.module.js.map +1 -1
- package/dist/common/filters/conflict-exception.filter.d.ts +6 -0
- package/dist/common/filters/conflict-exception.filter.js +59 -0
- package/dist/common/filters/conflict-exception.filter.js.map +1 -0
- package/dist/common/filters/global-error.filter.js +1 -4
- package/dist/common/filters/global-error.filter.js.map +1 -1
- package/dist/common/filters/global-filters.d.ts +3 -0
- package/dist/common/filters/global-filters.js +22 -0
- package/dist/common/filters/global-filters.js.map +1 -0
- package/dist/common/filters/unprocessable-entity-exception.filter.d.ts +1 -0
- package/dist/common/filters/unprocessable-entity-exception.filter.js +15 -3
- package/dist/common/filters/unprocessable-entity-exception.filter.js.map +1 -1
- package/dist/common/utils/transform.utils.js +3 -0
- package/dist/common/utils/transform.utils.js.map +1 -1
- package/dist/dataSource.js +1 -0
- package/dist/dataSource.js.map +1 -1
- package/dist/main.js +2 -7
- package/dist/main.js.map +1 -1
- package/dist/migrations/1000000000026-AddHardwareInputCategories.d.ts +7 -0
- package/dist/migrations/1000000000026-AddHardwareInputCategories.js +364 -0
- package/dist/migrations/1000000000026-AddHardwareInputCategories.js.map +1 -0
- package/dist/modules/devices/controllers/channels.controller.d.ts +5 -1
- package/dist/modules/devices/controllers/channels.controller.js +34 -2
- package/dist/modules/devices/controllers/channels.controller.js.map +1 -1
- package/dist/modules/devices/controllers/channels.properties.controller.js +21 -4
- package/dist/modules/devices/controllers/channels.properties.controller.js.map +1 -1
- package/dist/modules/devices/controllers/devices.channels.controller.d.ts +5 -1
- package/dist/modules/devices/controllers/devices.channels.controller.js +38 -2
- package/dist/modules/devices/controllers/devices.channels.controller.js.map +1 -1
- package/dist/modules/devices/controllers/devices.channels.properties.controller.js +21 -4
- package/dist/modules/devices/controllers/devices.channels.properties.controller.js.map +1 -1
- package/dist/modules/devices/devices.constants.d.ts +6 -0
- package/dist/modules/devices/devices.constants.js +6 -0
- package/dist/modules/devices/devices.constants.js.map +1 -1
- package/dist/modules/devices/devices.module.js +18 -0
- package/dist/modules/devices/devices.module.js.map +1 -1
- package/dist/modules/devices/devices.openapi.d.ts +3 -1
- package/dist/modules/devices/devices.openapi.js +7 -0
- package/dist/modules/devices/devices.openapi.js.map +1 -1
- package/dist/modules/devices/dto/channel-input-occurrence.dto.d.ts +10 -0
- package/dist/modules/devices/dto/channel-input-occurrence.dto.js +99 -0
- package/dist/modules/devices/dto/channel-input-occurrence.dto.js.map +1 -0
- package/dist/modules/devices/models/channel-input-capabilities.model.d.ts +20 -0
- package/dist/modules/devices/models/channel-input-capabilities.model.js +111 -0
- package/dist/modules/devices/models/channel-input-capabilities.model.js.map +1 -0
- package/dist/modules/devices/models/channel-input-occurrence.model.d.ts +22 -0
- package/dist/modules/devices/models/channel-input-occurrence.model.js +154 -0
- package/dist/modules/devices/models/channel-input-occurrence.model.js.map +1 -0
- package/dist/modules/devices/services/channel-input-deduplication.service.d.ts +17 -0
- package/dist/modules/devices/services/channel-input-deduplication.service.js +88 -0
- package/dist/modules/devices/services/channel-input-deduplication.service.js.map +1 -0
- package/dist/modules/devices/services/channel-input-occurrences.service.d.ts +21 -0
- package/dist/modules/devices/services/channel-input-occurrences.service.js +163 -0
- package/dist/modules/devices/services/channel-input-occurrences.service.js.map +1 -0
- package/dist/modules/devices/services/channels.properties.service.d.ts +27 -3
- package/dist/modules/devices/services/channels.properties.service.js +304 -28
- package/dist/modules/devices/services/channels.properties.service.js.map +1 -1
- package/dist/modules/devices/services/channels.service.js +42 -38
- package/dist/modules/devices/services/channels.service.js.map +1 -1
- package/dist/modules/devices/services/command-latency-trace-collector.service.d.ts +101 -0
- package/dist/modules/devices/services/command-latency-trace-collector.service.js +451 -0
- package/dist/modules/devices/services/command-latency-trace-collector.service.js.map +1 -0
- package/dist/modules/devices/services/device-structure-lock.service.d.ts +10 -2
- package/dist/modules/devices/services/device-structure-lock.service.js +86 -7
- package/dist/modules/devices/services/device-structure-lock.service.js.map +1 -1
- package/dist/modules/devices/services/devices.service.js +37 -33
- package/dist/modules/devices/services/devices.service.js.map +1 -1
- package/dist/modules/devices/services/module-reset.service.d.ts +3 -1
- package/dist/modules/devices/services/module-reset.service.js +21 -16
- package/dist/modules/devices/services/module-reset.service.js.map +1 -1
- package/dist/modules/devices/services/property-command-dispatch.service.d.ts +45 -0
- package/dist/modules/devices/services/property-command-dispatch.service.js +227 -0
- package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -0
- package/dist/modules/devices/services/property-command-window.service.d.ts +71 -0
- package/dist/modules/devices/services/property-command-window.service.js +204 -0
- package/dist/modules/devices/services/property-command-window.service.js.map +1 -0
- package/dist/modules/devices/services/property-command.service.d.ts +20 -3
- package/dist/modules/devices/services/property-command.service.js +56 -10
- package/dist/modules/devices/services/property-command.service.js.map +1 -1
- package/dist/modules/devices/services/property-state-coordinator.service.d.ts +4 -0
- package/dist/modules/devices/services/property-state-coordinator.service.js +35 -0
- package/dist/modules/devices/services/property-state-coordinator.service.js.map +1 -0
- package/dist/modules/devices/services/property-value.service.d.ts +1 -0
- package/dist/modules/devices/services/property-value.service.js +4 -0
- package/dist/modules/devices/services/property-value.service.js.map +1 -1
- package/dist/modules/devices/utils/schema.utils.js +1 -1
- package/dist/modules/devices/utils/schema.utils.js.map +1 -1
- package/dist/modules/platform/services/platform.service.d.ts +13 -4
- package/dist/modules/platform/services/platform.service.js +57 -35
- package/dist/modules/platform/services/platform.service.js.map +1 -1
- package/dist/modules/remote-access/dto/update-config.dto.js +5 -0
- package/dist/modules/remote-access/dto/update-config.dto.js.map +1 -1
- package/dist/modules/remote-access/validators/is-remote-access-url.validator.js +5 -2
- package/dist/modules/remote-access/validators/is-remote-access-url.validator.js.map +1 -1
- package/dist/modules/system/scripts/update-worker.sh +668 -59
- package/dist/modules/system/services/privileged-worker.service.d.ts +10 -0
- package/dist/modules/system/services/privileged-worker.service.js +137 -11
- package/dist/modules/system/services/privileged-worker.service.js.map +1 -1
- package/dist/modules/system/services/update-executor.service.d.ts +20 -2
- package/dist/modules/system/services/update-executor.service.js +256 -25
- package/dist/modules/system/services/update-executor.service.js.map +1 -1
- package/dist/modules/websocket/gateway/websocket.gateway.d.ts +4 -1
- package/dist/modules/websocket/gateway/websocket.gateway.js +28 -5
- package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
- package/dist/modules/websocket/services/command-acknowledgement-trace.service.d.ts +143 -0
- package/dist/modules/websocket/services/command-acknowledgement-trace.service.js +523 -0
- package/dist/modules/websocket/services/command-acknowledgement-trace.service.js.map +1 -0
- package/dist/modules/websocket/websocket.module.js +9 -1
- package/dist/modules/websocket/websocket.module.js.map +1 -1
- package/dist/plugins/devices-home-assistant/devices-home-assistant.openapi.d.ts +2 -2
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.d.ts +6 -1
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js +16 -1
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js.map +1 -1
- package/dist/plugins/devices-home-assistant/dto/mapping-preview.dto.d.ts +1 -0
- package/dist/plugins/devices-home-assistant/dto/mapping-preview.dto.js +11 -0
- package/dist/plugins/devices-home-assistant/dto/mapping-preview.dto.js.map +1 -1
- package/dist/plugins/devices-home-assistant/mappers/button.entity.mapper.service.d.ts +19 -0
- package/dist/plugins/devices-home-assistant/mappers/button.entity.mapper.service.js +51 -0
- package/dist/plugins/devices-home-assistant/mappers/button.entity.mapper.service.js.map +1 -0
- package/dist/plugins/devices-home-assistant/mappings/definitions/entity-mappings.yaml +56 -7
- package/dist/plugins/devices-home-assistant/models/mapping-preview.model.d.ts +1 -0
- package/dist/plugins/devices-home-assistant/models/mapping-preview.model.js +11 -0
- package/dist/plugins/devices-home-assistant/models/mapping-preview.model.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/device-adoption.service.js +17 -0
- package/dist/plugins/devices-home-assistant/services/device-adoption.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/home-assistant-raw-event.service.d.ts +27 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant-raw-event.service.js +271 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant-raw-event.service.js.map +1 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.d.ts +2 -2
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +33 -14
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/mapping-preview.service.js +24 -4
- package/dist/plugins/devices-home-assistant/services/mapping-preview.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.d.ts +4 -1
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +84 -5
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/wizard.service.js +1 -0
- package/dist/plugins/devices-home-assistant/services/wizard.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/utils/ha-event.utils.d.ts +2 -0
- package/dist/plugins/devices-home-assistant/utils/ha-event.utils.js +50 -0
- package/dist/plugins/devices-home-assistant/utils/ha-event.utils.js.map +1 -0
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.d.ts +2 -0
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js +28 -1
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/base.mapper.js +27 -4
- package/dist/plugins/devices-homekit/mappers/base.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/button.mapper.d.ts +15 -0
- package/dist/plugins/devices-homekit/mappers/button.mapper.js +143 -0
- package/dist/plugins/devices-homekit/mappers/button.mapper.js.map +1 -0
- package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.d.ts +16 -0
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.d.ts +7 -0
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js +84 -73
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js.map +1 -1
- package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.d.ts +5 -1
- package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js +42 -0
- package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js.map +1 -1
- package/dist/plugins/devices-homey/mappings/definitions/channels.yaml +50 -0
- package/dist/plugins/devices-homey/mappings/definitions/devices.yaml +18 -0
- package/dist/plugins/devices-homey/mappings/definitions/properties.yaml +55 -0
- package/dist/plugins/devices-homey/mappings/device-support.js +10 -0
- package/dist/plugins/devices-homey/mappings/device-support.js.map +1 -1
- package/dist/plugins/devices-homey/mappings/mapping-loader.service.d.ts +1 -0
- package/dist/plugins/devices-homey/mappings/mapping-loader.service.js +66 -8
- package/dist/plugins/devices-homey/mappings/mapping-loader.service.js.map +1 -1
- package/dist/plugins/devices-homey/models/inventory.model.d.ts +2 -1
- package/dist/plugins/devices-homey/models/inventory.model.js +1 -0
- package/dist/plugins/devices-homey/models/inventory.model.js.map +1 -1
- package/dist/plugins/devices-homey/models/mapping-preview.model.d.ts +1 -0
- package/dist/plugins/devices-homey/models/mapping-preview.model.js +1 -0
- package/dist/plugins/devices-homey/models/mapping-preview.model.js.map +1 -1
- package/dist/plugins/devices-homey/services/homey-mapping-preview.service.js +7 -0
- package/dist/plugins/devices-homey/services/homey-mapping-preview.service.js.map +1 -1
- package/dist/plugins/devices-homey/services/homey-synchronizer.service.d.ts +3 -1
- package/dist/plugins/devices-homey/services/homey-synchronizer.service.js +37 -6
- package/dist/plugins/devices-homey/services/homey-synchronizer.service.js.map +1 -1
- package/dist/plugins/devices-reterminal/services/reterminal-button.service.d.ts +7 -3
- package/dist/plugins/devices-reterminal/services/reterminal-button.service.js +63 -17
- package/dist/plugins/devices-reterminal/services/reterminal-button.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +38 -3
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +840 -134
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +15 -1
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +117 -10
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js +11 -13
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js +2 -0
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/mappings/definitions/inputs.yaml +80 -0
- package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js +11 -1
- package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/mappings/mapping.types.d.ts +6 -3
- package/dist/plugins/devices-shelly-ng/mappings/schema/mapping-schema.json +5 -0
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.js +130 -7
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.d.ts +48 -0
- package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.js +457 -0
- package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +12 -2
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +86 -28
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js +3 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.d.ts +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +18 -13
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/utils/transform.utils.d.ts +2 -0
- package/dist/plugins/devices-shelly-ng/utils/transform.utils.js +14 -1
- package/dist/plugins/devices-shelly-ng/utils/transform.utils.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.constants.d.ts +2 -0
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.constants.js +66 -4
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.constants.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js +2 -0
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.js +7 -0
- package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/services/device-mapper.service.d.ts +3 -1
- package/dist/plugins/devices-shelly-v1/services/device-mapper.service.js +20 -2
- package/dist/plugins/devices-shelly-v1/services/device-mapper.service.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/services/shelly-v1-input-tracker.service.d.ts +16 -0
- package/dist/plugins/devices-shelly-v1/services/shelly-v1-input-tracker.service.js +107 -0
- package/dist/plugins/devices-shelly-v1/services/shelly-v1-input-tracker.service.js.map +1 -0
- package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.d.ts +7 -1
- package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js +98 -3
- package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js.map +1 -1
- package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.d.ts +17 -0
- package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.js +205 -0
- package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.js.map +1 -0
- package/dist/plugins/devices-third-party/devices-third-party.openapi.d.ts +1 -1
- package/dist/plugins/devices-third-party/devices-third-party.plugin.js +2 -1
- package/dist/plugins/devices-third-party/devices-third-party.plugin.js.map +1 -1
- package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.d.ts +5 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.js +50 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.js.map +1 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.d.ts +8 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.js +81 -0
- package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.js.map +1 -0
- package/dist/plugins/devices-third-party/platforms/third-party-device.platform.js +19 -4
- package/dist/plugins/devices-third-party/platforms/third-party-device.platform.js.map +1 -1
- package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.d.ts +2 -0
- package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js +57 -0
- package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.d.ts +3 -0
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.js +41 -5
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/interfaces/zigbee2mqtt.interface.d.ts +7 -1
- package/dist/plugins/devices-zigbee2mqtt/mappings/config-driven.converter.js +16 -15
- package/dist/plugins/devices-zigbee2mqtt/mappings/config-driven.converter.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/mappings/definitions/remotes.yaml +505 -74
- package/dist/plugins/devices-zigbee2mqtt/mappings/schema/mapping-schema.json +3 -3
- package/dist/plugins/devices-zigbee2mqtt/mappings/transformers/transformer.types.d.ts +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.d.ts +8 -2
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js +6 -5
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/device-adoption.service.js +18 -11
- package/dist/plugins/devices-zigbee2mqtt/services/device-adoption.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.d.ts +9 -3
- package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js +166 -3
- package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js +5 -2
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.d.ts +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js +44 -4
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +17 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +147 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +15 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +98 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.d.ts +9 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js +94 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/dto/update-config.dto.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.d.ts +9 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js +92 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/config.model.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.d.ts +7 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js +48 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/install.model.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +42 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +352 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.d.ts +24 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js +27 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.d.ts +8 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js +19 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.exceptions.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.d.ts +4 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js +20 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.openapi.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.d.ts +21 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js +135 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/scripts/cloudflared-setup.sh +185 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +82 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +507 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +10 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +37 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.d.ts +38 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js +147 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +15 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +67 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +8 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +46 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.d.ts +27 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js +139 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js.map +1 -0
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +1 -0
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +26 -10
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +6 -1
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +28 -3
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +19 -0
- package/dist/plugins/remote-access-tailscale/models/status.model.js +158 -1
- package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +3 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +4 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +13 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +27 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +2 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +1 -1
- package/dist/plugins/remote-access-tailscale/scripts/tailscale-setup.sh +61 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +9 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +12 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +1 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +27 -2
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +31 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +316 -30
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +8 -3
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +39 -12
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +14 -5
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +51 -16
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
- package/dist/plugins/scenes-local/platforms/local-scene.platform.d.ts +3 -1
- package/dist/plugins/scenes-local/platforms/local-scene.platform.js +12 -7
- package/dist/plugins/scenes-local/platforms/local-scene.platform.js.map +1 -1
- package/dist/plugins/simulator/controllers/simulator.controller.d.ts +8 -2
- package/dist/plugins/simulator/controllers/simulator.controller.js +102 -2
- package/dist/plugins/simulator/controllers/simulator.controller.js.map +1 -1
- package/dist/plugins/simulator/dto/simulate-occurrence.dto.d.ts +12 -0
- package/dist/plugins/simulator/dto/simulate-occurrence.dto.js +122 -0
- package/dist/plugins/simulator/dto/simulate-occurrence.dto.js.map +1 -0
- package/dist/plugins/simulator/models/simulator-response.model.d.ts +12 -0
- package/dist/plugins/simulator/models/simulator-response.model.js +84 -1
- package/dist/plugins/simulator/models/simulator-response.model.js.map +1 -1
- package/dist/plugins/simulator/scenarios/definitions/small-apartment.yaml +78 -0
- package/dist/plugins/simulator/services/scenario-executor.service.js +3 -1
- package/dist/plugins/simulator/services/scenario-executor.service.js.map +1 -1
- package/dist/plugins/simulator/services/simulation.service.js +10 -1
- package/dist/plugins/simulator/services/simulation.service.js.map +1 -1
- package/dist/plugins/simulator/simulator.openapi.d.ts +3 -2
- package/dist/plugins/simulator/simulator.openapi.js +5 -0
- package/dist/plugins/simulator/simulator.openapi.js.map +1 -1
- package/dist/plugins/simulator/simulators/device-simulator.interface.d.ts +2 -0
- package/dist/plugins/simulator/simulators/device-simulator.interface.js +83 -0
- package/dist/plugins/simulator/simulators/device-simulator.interface.js.map +1 -1
- package/dist/plugins/simulator/simulators/index.d.ts +1 -0
- package/dist/plugins/simulator/simulators/index.js +1 -0
- package/dist/plugins/simulator/simulators/index.js.map +1 -1
- package/dist/plugins/simulator/simulators/input-controller.simulator.d.ts +10 -0
- package/dist/plugins/simulator/simulators/input-controller.simulator.js +57 -0
- package/dist/plugins/simulator/simulators/input-controller.simulator.js.map +1 -0
- package/dist/plugins/simulator/simulators/lighting.simulator.js +1 -0
- package/dist/plugins/simulator/simulators/lighting.simulator.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/climate-intent.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/climate-intent.service.js +6 -3
- package/dist/plugins/spaces-home-control/services/climate-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/covers-intent.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/covers-intent.service.js +6 -3
- package/dist/plugins/spaces-home-control/services/covers-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.js +7 -4
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.js +11 -5
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.d.ts +3 -1
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.js +8 -5
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.js.map +1 -1
- package/dist/spec/channels.d.ts +51 -1
- package/dist/spec/channels.js +64 -1
- package/dist/spec/channels.js.map +1 -1
- package/dist/spec/devices.d.ts +155 -2
- package/dist/spec/devices.js +161 -2
- package/dist/spec/devices.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -109,8 +109,11 @@ let Z2mMqttClientAdapterService = class Z2mMqttClientAdapterService extends base
|
|
|
109
109
|
this.client.on('offline', () => {
|
|
110
110
|
this.logger.warn('MQTT client is offline');
|
|
111
111
|
});
|
|
112
|
-
this.client.on('message', (topic, payload) => {
|
|
113
|
-
|
|
112
|
+
this.client.on('message', (topic, payload, packet) => {
|
|
113
|
+
const isRetained = packet?.retain === true;
|
|
114
|
+
const isDup = packet?.dup === true;
|
|
115
|
+
const packetId = packet?.messageId;
|
|
116
|
+
this.handleMessage(topic, payload.toString(), false, isRetained, { isDup, packetId });
|
|
114
117
|
});
|
|
115
118
|
}
|
|
116
119
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt-client-adapter.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mqtt-client-adapter.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ export declare class Zigbee2mqttService extends BaseManagedExtensionService {
|
|
|
29
29
|
private pendingDevices;
|
|
30
30
|
private isSyncing;
|
|
31
31
|
private transformersRestored;
|
|
32
|
+
private pendingActionStates;
|
|
32
33
|
private activeAdapter;
|
|
33
34
|
private readonly deviceJoinedSubscribers;
|
|
34
35
|
private readonly pendingJoinedIeeeAddresses;
|
|
@@ -41,6 +41,7 @@ let Zigbee2mqttService = class Zigbee2mqttService extends base_managed_extension
|
|
|
41
41
|
this.pendingDevices = null;
|
|
42
42
|
this.isSyncing = false;
|
|
43
43
|
this.transformersRestored = false;
|
|
44
|
+
this.pendingActionStates = [];
|
|
44
45
|
this.deviceJoinedSubscribers = new Set();
|
|
45
46
|
this.pendingJoinedIeeeAddresses = new Set();
|
|
46
47
|
this.activeAdapter = this.mqttAdapter;
|
|
@@ -226,6 +227,7 @@ let Zigbee2mqttService = class Zigbee2mqttService extends base_managed_extension
|
|
|
226
227
|
async doStop() {
|
|
227
228
|
this.state = 'stopping';
|
|
228
229
|
this.transformersRestored = false;
|
|
230
|
+
this.pendingActionStates = [];
|
|
229
231
|
this.logger.log('Stopping Zigbee2MQTT plugin service');
|
|
230
232
|
try {
|
|
231
233
|
await this.activeAdapter.disconnect();
|
|
@@ -250,7 +252,7 @@ let Zigbee2mqttService = class Zigbee2mqttService extends base_managed_extension
|
|
|
250
252
|
onBridgeOnline: () => this.handleBridgeOnline(),
|
|
251
253
|
onBridgeOffline: () => this.handleBridgeOffline(),
|
|
252
254
|
onDevicesReceived: (devices) => this.handleDevicesReceived(devices),
|
|
253
|
-
onDeviceStateChanged: (friendlyName, state) => this.handleDeviceStateChanged(friendlyName, state),
|
|
255
|
+
onDeviceStateChanged: (friendlyName, state, metadata) => this.handleDeviceStateChanged(friendlyName, state, metadata),
|
|
254
256
|
onDeviceAvailabilityChanged: (friendlyName, available) => this.handleDeviceAvailabilityChanged(friendlyName, available),
|
|
255
257
|
onDeviceJoined: (ieeeAddress, friendlyName) => this.handleDeviceJoined(ieeeAddress, friendlyName),
|
|
256
258
|
onDeviceLeft: (ieeeAddress, friendlyName) => this.handleDeviceLeft(ieeeAddress, friendlyName),
|
|
@@ -309,6 +311,7 @@ let Zigbee2mqttService = class Zigbee2mqttService extends base_managed_extension
|
|
|
309
311
|
this.pendingDevices = null;
|
|
310
312
|
this.isSyncing = false;
|
|
311
313
|
this.transformersRestored = false;
|
|
314
|
+
this.pendingActionStates = [];
|
|
312
315
|
this.pendingJoinedIeeeAddresses.clear();
|
|
313
316
|
try {
|
|
314
317
|
const devices = await this.devicesService.findAll(devices_zigbee2mqtt_constants_1.DEVICES_ZIGBEE2MQTT_TYPE);
|
|
@@ -335,6 +338,26 @@ let Zigbee2mqttService = class Zigbee2mqttService extends base_managed_extension
|
|
|
335
338
|
const registeredDevices = this.activeAdapter.getRegisteredDevices();
|
|
336
339
|
await this.deviceMapper.restoreTransformersForExistingDevices(registeredDevices);
|
|
337
340
|
this.transformersRestored = true;
|
|
341
|
+
if (this.pendingActionStates.length > 0) {
|
|
342
|
+
const now = Date.now();
|
|
343
|
+
const pending = this.pendingActionStates.filter((item) => now - item.queuedAt <= devices_zigbee2mqtt_constants_1.MAX_PENDING_ACTION_AGE_MS);
|
|
344
|
+
this.pendingActionStates = [];
|
|
345
|
+
for (const item of pending) {
|
|
346
|
+
try {
|
|
347
|
+
if (item.metadata !== undefined) {
|
|
348
|
+
await this.deviceMapper.updateDeviceState(item.friendlyName, item.state, item.metadata);
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
await this.deviceMapper.updateDeviceState(item.friendlyName, item.state);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
catch (error) {
|
|
355
|
+
this.logger.error(`Failed to replay pending action state for ${item.friendlyName}`, {
|
|
356
|
+
message: error instanceof Error ? error.message : String(error),
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
338
361
|
if (this.pendingJoinedIeeeAddresses.size > 0) {
|
|
339
362
|
const registryByIeee = new Map(registeredDevices.map((d) => [d.ieeeAddress, d]));
|
|
340
363
|
for (const ieeeAddress of [...this.pendingJoinedIeeeAddresses]) {
|
|
@@ -350,7 +373,7 @@ let Zigbee2mqttService = class Zigbee2mqttService extends base_managed_extension
|
|
|
350
373
|
const cachedState = this.activeAdapter.getCachedState(device.identifier);
|
|
351
374
|
if (Object.keys(cachedState).length > 0) {
|
|
352
375
|
try {
|
|
353
|
-
await this.deviceMapper.updateDeviceState(device.identifier, cachedState);
|
|
376
|
+
await this.deviceMapper.updateDeviceState(device.identifier, cachedState, { isCached: true });
|
|
354
377
|
}
|
|
355
378
|
catch (error) {
|
|
356
379
|
this.logger.debug(`Failed to process cached state for ${device.identifier}: ${error}`);
|
|
@@ -384,14 +407,31 @@ let Zigbee2mqttService = class Zigbee2mqttService extends base_managed_extension
|
|
|
384
407
|
this.isSyncing = false;
|
|
385
408
|
}
|
|
386
409
|
}
|
|
387
|
-
async handleDeviceStateChanged(friendlyName, state) {
|
|
410
|
+
async handleDeviceStateChanged(friendlyName, state, metadata) {
|
|
388
411
|
if (!this.transformersRestored) {
|
|
412
|
+
const hasAction = Object.keys(state).some((key) => key === 'action' || key === 'click' || key.startsWith('action_'));
|
|
413
|
+
if (hasAction && !metadata?.isRetained && !metadata?.isCached) {
|
|
414
|
+
if (this.pendingActionStates.length >= devices_zigbee2mqtt_constants_1.MAX_PENDING_ACTION_STATES) {
|
|
415
|
+
this.pendingActionStates.shift();
|
|
416
|
+
}
|
|
417
|
+
this.pendingActionStates.push({
|
|
418
|
+
friendlyName,
|
|
419
|
+
state,
|
|
420
|
+
metadata,
|
|
421
|
+
queuedAt: Date.now(),
|
|
422
|
+
});
|
|
423
|
+
}
|
|
389
424
|
this.logger.debug(`Skipping state update for ${friendlyName} - transformers not yet restored`);
|
|
390
425
|
return;
|
|
391
426
|
}
|
|
392
427
|
this.logger.debug(`Device state changed: ${friendlyName}, state keys: ${Object.keys(state).join(', ')}`);
|
|
393
428
|
try {
|
|
394
|
-
|
|
429
|
+
if (metadata !== undefined) {
|
|
430
|
+
await this.deviceMapper.updateDeviceState(friendlyName, state, metadata);
|
|
431
|
+
}
|
|
432
|
+
else {
|
|
433
|
+
await this.deviceMapper.updateDeviceState(friendlyName, state);
|
|
434
|
+
}
|
|
395
435
|
}
|
|
396
436
|
catch (error) {
|
|
397
437
|
this.logger.error(`Failed to update device state: ${friendlyName}`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zigbee2mqtt.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zigbee2mqtt.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ConfigService } from '../../../modules/config/services/config.service';
|
|
2
|
+
import { RemoteAccessCloudflareTunnelPluginInstallResponseModel } from '../models/install.model';
|
|
3
|
+
import { RemoteAccessCloudflareTunnelPluginStatusResponseModel } from '../models/status.model';
|
|
4
|
+
import { CloudflareTunnelManagedService } from '../services/cloudflare-tunnel-managed.service';
|
|
5
|
+
import { CloudflareTunnelProviderService } from '../services/cloudflare-tunnel-provider.service';
|
|
6
|
+
import { CloudflareTunnelSetupService } from '../services/cloudflare-tunnel-setup.service';
|
|
7
|
+
export declare class SetupController {
|
|
8
|
+
private readonly setupService;
|
|
9
|
+
private readonly providerService;
|
|
10
|
+
private readonly tunnelManagedService;
|
|
11
|
+
private readonly configService;
|
|
12
|
+
private readonly logger;
|
|
13
|
+
constructor(setupService: CloudflareTunnelSetupService, providerService: CloudflareTunnelProviderService, tunnelManagedService: CloudflareTunnelManagedService, configService: ConfigService);
|
|
14
|
+
install(): Promise<RemoteAccessCloudflareTunnelPluginInstallResponseModel>;
|
|
15
|
+
reset(): Promise<RemoteAccessCloudflareTunnelPluginStatusResponseModel>;
|
|
16
|
+
private buildStatusResponse;
|
|
17
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
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.SetupController = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
const logger_1 = require("../../../common/logger");
|
|
16
|
+
const transform_utils_1 = require("../../../common/utils/transform.utils");
|
|
17
|
+
const config_service_1 = require("../../../modules/config/services/config.service");
|
|
18
|
+
const provider_model_1 = require("../../../modules/remote-access/models/provider.model");
|
|
19
|
+
const api_documentation_decorator_1 = require("../../../modules/swagger/decorators/api-documentation.decorator");
|
|
20
|
+
const system_exceptions_1 = require("../../../modules/system/system.exceptions");
|
|
21
|
+
const roles_guard_1 = require("../../../modules/users/guards/roles.guard");
|
|
22
|
+
const users_constants_1 = require("../../../modules/users/users.constants");
|
|
23
|
+
const update_config_dto_1 = require("../dto/update-config.dto");
|
|
24
|
+
const install_model_1 = require("../models/install.model");
|
|
25
|
+
const status_model_1 = require("../models/status.model");
|
|
26
|
+
const remote_access_cloudflare_tunnel_constants_1 = require("../remote-access-cloudflare-tunnel.constants");
|
|
27
|
+
const cloudflare_tunnel_managed_service_1 = require("../services/cloudflare-tunnel-managed.service");
|
|
28
|
+
const cloudflare_tunnel_provider_service_1 = require("../services/cloudflare-tunnel-provider.service");
|
|
29
|
+
const cloudflare_tunnel_setup_service_1 = require("../services/cloudflare-tunnel-setup.service");
|
|
30
|
+
let SetupController = class SetupController {
|
|
31
|
+
constructor(setupService, providerService, tunnelManagedService, configService) {
|
|
32
|
+
this.setupService = setupService;
|
|
33
|
+
this.providerService = providerService;
|
|
34
|
+
this.tunnelManagedService = tunnelManagedService;
|
|
35
|
+
this.configService = configService;
|
|
36
|
+
this.logger = (0, logger_1.createExtensionLogger)(remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME, 'SetupController');
|
|
37
|
+
}
|
|
38
|
+
async install() {
|
|
39
|
+
this.logger.debug('Cloudflare Tunnel install requested');
|
|
40
|
+
try {
|
|
41
|
+
const { id } = await this.setupService.install();
|
|
42
|
+
const data = new install_model_1.RemoteAccessCloudflareTunnelPluginInstallModel();
|
|
43
|
+
data.job = id;
|
|
44
|
+
const response = new install_model_1.RemoteAccessCloudflareTunnelPluginInstallResponseModel();
|
|
45
|
+
response.data = data;
|
|
46
|
+
return response;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (error instanceof system_exceptions_1.PrivilegedWorkerUnavailableException) {
|
|
50
|
+
throw new common_1.ConflictException(error.message);
|
|
51
|
+
}
|
|
52
|
+
if (error instanceof cloudflare_tunnel_setup_service_1.CloudflareTunnelSetupUnavailableException) {
|
|
53
|
+
throw new common_1.UnprocessableEntityException({ code: error.code, message: error.message });
|
|
54
|
+
}
|
|
55
|
+
const err = error;
|
|
56
|
+
this.logger.error(`Failed to start Cloudflare Tunnel setup: ${err.message}`);
|
|
57
|
+
throw new common_1.InternalServerErrorException('Failed to start Cloudflare Tunnel setup');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async reset() {
|
|
61
|
+
this.logger.debug('Cloudflare Tunnel reset requested');
|
|
62
|
+
try {
|
|
63
|
+
await this.tunnelManagedService.stop();
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
this.logger.warn('Failed to stop the Cloudflare Tunnel process while resetting', {
|
|
67
|
+
message: error instanceof Error ? error.message : String(error),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
const plain = {
|
|
72
|
+
type: remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME,
|
|
73
|
+
tunnel_token: null,
|
|
74
|
+
public_hostname: null,
|
|
75
|
+
};
|
|
76
|
+
const dto = (0, transform_utils_1.toInstance)(update_config_dto_1.UpdateRemoteAccessCloudflareTunnelPluginConfigDto, plain, {
|
|
77
|
+
excludeExtraneousValues: false,
|
|
78
|
+
});
|
|
79
|
+
await this.configService.updatePluginConfig(remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME, dto, plain);
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
const err = error;
|
|
83
|
+
this.logger.error(`Failed to clear the Cloudflare Tunnel configuration during reset: ${err.message}`);
|
|
84
|
+
throw new common_1.InternalServerErrorException('Failed to reset the Cloudflare Tunnel configuration');
|
|
85
|
+
}
|
|
86
|
+
return this.buildStatusResponse();
|
|
87
|
+
}
|
|
88
|
+
async buildStatusResponse() {
|
|
89
|
+
const [status, requirements] = await Promise.all([
|
|
90
|
+
this.providerService.getStatus(),
|
|
91
|
+
this.tunnelManagedService.refreshRequirements(),
|
|
92
|
+
]);
|
|
93
|
+
const data = new status_model_1.RemoteAccessCloudflareTunnelPluginStatusModel();
|
|
94
|
+
data.type = status.type;
|
|
95
|
+
data.state = status.state;
|
|
96
|
+
data.endpoints = (0, transform_utils_1.toInstance)(provider_model_1.RemoteAccessEndpointModel, status.endpoints);
|
|
97
|
+
data.message = status.message ?? null;
|
|
98
|
+
data.details = status.details;
|
|
99
|
+
data.proxyAddresses = status.proxyAddresses;
|
|
100
|
+
data.advisories = (0, transform_utils_1.toInstance)(provider_model_1.RemoteAccessAdvisoryModel, status.advisories);
|
|
101
|
+
data.updatedAt = status.updatedAt;
|
|
102
|
+
data.requirements = (0, transform_utils_1.toInstance)(status_model_1.RemoteAccessCloudflareTunnelPluginRequirementModel, requirements);
|
|
103
|
+
data.setup = null;
|
|
104
|
+
const response = new status_model_1.RemoteAccessCloudflareTunnelPluginStatusResponseModel();
|
|
105
|
+
response.data = data;
|
|
106
|
+
return response;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
exports.SetupController = SetupController;
|
|
110
|
+
__decorate([
|
|
111
|
+
(0, swagger_1.ApiOperation)({
|
|
112
|
+
tags: [remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_API_TAG_NAME],
|
|
113
|
+
summary: 'Install cloudflared',
|
|
114
|
+
description: 'Starts the privileged setup job: installs the cloudflared package if missing. Progress is streamed as RemoteAccessModule.Setup.Progress events.',
|
|
115
|
+
operationId: 'create-remote-access-cloudflare-tunnel-plugin-install',
|
|
116
|
+
}),
|
|
117
|
+
(0, api_documentation_decorator_1.ApiAcceptedSuccessResponse)(install_model_1.RemoteAccessCloudflareTunnelPluginInstallResponseModel, 'Cloudflare Tunnel setup job started'),
|
|
118
|
+
(0, common_1.Post)('install'),
|
|
119
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.ACCEPTED),
|
|
120
|
+
__metadata("design:type", Function),
|
|
121
|
+
__metadata("design:paramtypes", []),
|
|
122
|
+
__metadata("design:returntype", Promise)
|
|
123
|
+
], SetupController.prototype, "install", null);
|
|
124
|
+
__decorate([
|
|
125
|
+
(0, swagger_1.ApiOperation)({
|
|
126
|
+
tags: [remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_API_TAG_NAME],
|
|
127
|
+
summary: 'Reset the Cloudflare Tunnel',
|
|
128
|
+
description: 'Stops the tunnel service and clears the stored tunnel token and public hostname, returning the resulting status.',
|
|
129
|
+
operationId: 'create-remote-access-cloudflare-tunnel-plugin-reset',
|
|
130
|
+
}),
|
|
131
|
+
(0, api_documentation_decorator_1.ApiSuccessResponse)(status_model_1.RemoteAccessCloudflareTunnelPluginStatusResponseModel, 'Cloudflare Tunnel status after reset'),
|
|
132
|
+
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
133
|
+
(0, common_1.Post)('reset'),
|
|
134
|
+
__metadata("design:type", Function),
|
|
135
|
+
__metadata("design:paramtypes", []),
|
|
136
|
+
__metadata("design:returntype", Promise)
|
|
137
|
+
], SetupController.prototype, "reset", null);
|
|
138
|
+
exports.SetupController = SetupController = __decorate([
|
|
139
|
+
(0, swagger_1.ApiTags)(remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_API_TAG_NAME),
|
|
140
|
+
(0, common_1.Controller)(),
|
|
141
|
+
(0, roles_guard_1.Roles)(users_constants_1.UserRole.OWNER),
|
|
142
|
+
__metadata("design:paramtypes", [cloudflare_tunnel_setup_service_1.CloudflareTunnelSetupService,
|
|
143
|
+
cloudflare_tunnel_provider_service_1.CloudflareTunnelProviderService,
|
|
144
|
+
cloudflare_tunnel_managed_service_1.CloudflareTunnelManagedService,
|
|
145
|
+
config_service_1.ConfigService])
|
|
146
|
+
], SetupController);
|
|
147
|
+
//# sourceMappingURL=setup.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.controller.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PlatformService } from '../../../modules/platform/services/platform.service';
|
|
2
|
+
import { RemoteAccessCloudflareTunnelPluginStatusResponseModel } from '../models/status.model';
|
|
3
|
+
import { CloudflareTunnelManagedService } from '../services/cloudflare-tunnel-managed.service';
|
|
4
|
+
import { CloudflareTunnelProviderService } from '../services/cloudflare-tunnel-provider.service';
|
|
5
|
+
import { CloudflareTunnelSetupService } from '../services/cloudflare-tunnel-setup.service';
|
|
6
|
+
export declare class StatusController {
|
|
7
|
+
private readonly providerService;
|
|
8
|
+
private readonly tunnelManagedService;
|
|
9
|
+
private readonly setupService;
|
|
10
|
+
private readonly platformService;
|
|
11
|
+
private readonly logger;
|
|
12
|
+
constructor(providerService: CloudflareTunnelProviderService, tunnelManagedService: CloudflareTunnelManagedService, setupService: CloudflareTunnelSetupService, platformService: PlatformService);
|
|
13
|
+
getStatus(): Promise<RemoteAccessCloudflareTunnelPluginStatusResponseModel>;
|
|
14
|
+
private buildSetupJobModel;
|
|
15
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
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.StatusController = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
const logger_1 = require("../../../common/logger");
|
|
16
|
+
const transform_utils_1 = require("../../../common/utils/transform.utils");
|
|
17
|
+
const platform_service_1 = require("../../../modules/platform/services/platform.service");
|
|
18
|
+
const provider_model_1 = require("../../../modules/remote-access/models/provider.model");
|
|
19
|
+
const api_documentation_decorator_1 = require("../../../modules/swagger/decorators/api-documentation.decorator");
|
|
20
|
+
const roles_guard_1 = require("../../../modules/users/guards/roles.guard");
|
|
21
|
+
const users_constants_1 = require("../../../modules/users/users.constants");
|
|
22
|
+
const status_model_1 = require("../models/status.model");
|
|
23
|
+
const remote_access_cloudflare_tunnel_constants_1 = require("../remote-access-cloudflare-tunnel.constants");
|
|
24
|
+
const cloudflare_tunnel_managed_service_1 = require("../services/cloudflare-tunnel-managed.service");
|
|
25
|
+
const cloudflare_tunnel_provider_service_1 = require("../services/cloudflare-tunnel-provider.service");
|
|
26
|
+
const cloudflare_tunnel_setup_service_1 = require("../services/cloudflare-tunnel-setup.service");
|
|
27
|
+
let StatusController = class StatusController {
|
|
28
|
+
constructor(providerService, tunnelManagedService, setupService, platformService) {
|
|
29
|
+
this.providerService = providerService;
|
|
30
|
+
this.tunnelManagedService = tunnelManagedService;
|
|
31
|
+
this.setupService = setupService;
|
|
32
|
+
this.platformService = platformService;
|
|
33
|
+
this.logger = (0, logger_1.createExtensionLogger)(remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME, 'StatusController');
|
|
34
|
+
}
|
|
35
|
+
async getStatus() {
|
|
36
|
+
this.logger.debug('Fetching Cloudflare Tunnel status');
|
|
37
|
+
const [status, requirements, privilegedWorkerSupport] = await Promise.all([
|
|
38
|
+
this.providerService.getStatus(),
|
|
39
|
+
this.tunnelManagedService.refreshRequirements(),
|
|
40
|
+
this.platformService.getPrivilegedWorkerSupport(),
|
|
41
|
+
]);
|
|
42
|
+
const data = new status_model_1.RemoteAccessCloudflareTunnelPluginStatusModel();
|
|
43
|
+
data.type = status.type;
|
|
44
|
+
data.state = status.state;
|
|
45
|
+
data.endpoints = (0, transform_utils_1.toInstance)(provider_model_1.RemoteAccessEndpointModel, status.endpoints);
|
|
46
|
+
data.message = status.message ?? null;
|
|
47
|
+
data.details = status.details;
|
|
48
|
+
data.proxyAddresses = status.proxyAddresses;
|
|
49
|
+
data.advisories = (0, transform_utils_1.toInstance)(provider_model_1.RemoteAccessAdvisoryModel, status.advisories);
|
|
50
|
+
data.updatedAt = status.updatedAt;
|
|
51
|
+
data.requirements = (0, transform_utils_1.toInstance)(status_model_1.RemoteAccessCloudflareTunnelPluginRequirementModel, requirements);
|
|
52
|
+
data.setup = this.buildSetupJobModel();
|
|
53
|
+
const privilegedSetup = new status_model_1.RemoteAccessCloudflareTunnelPluginPrivilegedSetupModel();
|
|
54
|
+
privilegedSetup.available = privilegedWorkerSupport.supported;
|
|
55
|
+
privilegedSetup.reason = privilegedWorkerSupport.reason;
|
|
56
|
+
data.privilegedSetup = privilegedSetup;
|
|
57
|
+
const response = new status_model_1.RemoteAccessCloudflareTunnelPluginStatusResponseModel();
|
|
58
|
+
response.data = data;
|
|
59
|
+
return response;
|
|
60
|
+
}
|
|
61
|
+
buildSetupJobModel() {
|
|
62
|
+
const lastJob = this.setupService.getLastJob();
|
|
63
|
+
if (!lastJob) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
const model = new status_model_1.RemoteAccessCloudflareTunnelPluginSetupJobModel();
|
|
67
|
+
model.jobId = lastJob.id;
|
|
68
|
+
model.state = lastJob.status.state;
|
|
69
|
+
model.step = lastJob.status.step ?? null;
|
|
70
|
+
model.message = lastJob.status.message ?? null;
|
|
71
|
+
model.updatedAt = lastJob.status.updatedAt;
|
|
72
|
+
return model;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.StatusController = StatusController;
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, swagger_1.ApiOperation)({
|
|
78
|
+
tags: [remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_API_TAG_NAME],
|
|
79
|
+
summary: 'Get Cloudflare Tunnel status',
|
|
80
|
+
description: 'Retrieve the full Cloudflare Tunnel status: connection state, published endpoints, provider-specific details and the setup requirements checklist.',
|
|
81
|
+
operationId: 'get-remote-access-cloudflare-tunnel-plugin-status',
|
|
82
|
+
}),
|
|
83
|
+
(0, api_documentation_decorator_1.ApiSuccessResponse)(status_model_1.RemoteAccessCloudflareTunnelPluginStatusResponseModel, 'Cloudflare Tunnel status retrieved successfully'),
|
|
84
|
+
(0, common_1.Get)('status'),
|
|
85
|
+
__metadata("design:type", Function),
|
|
86
|
+
__metadata("design:paramtypes", []),
|
|
87
|
+
__metadata("design:returntype", Promise)
|
|
88
|
+
], StatusController.prototype, "getStatus", null);
|
|
89
|
+
exports.StatusController = StatusController = __decorate([
|
|
90
|
+
(0, swagger_1.ApiTags)(remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_API_TAG_NAME),
|
|
91
|
+
(0, common_1.Controller)(),
|
|
92
|
+
(0, roles_guard_1.Roles)(users_constants_1.UserRole.ADMIN, users_constants_1.UserRole.OWNER),
|
|
93
|
+
__metadata("design:paramtypes", [cloudflare_tunnel_provider_service_1.CloudflareTunnelProviderService,
|
|
94
|
+
cloudflare_tunnel_managed_service_1.CloudflareTunnelManagedService,
|
|
95
|
+
cloudflare_tunnel_setup_service_1.CloudflareTunnelSetupService,
|
|
96
|
+
platform_service_1.PlatformService])
|
|
97
|
+
], StatusController);
|
|
98
|
+
//# sourceMappingURL=status.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.controller.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UpdatePluginConfigDto } from '../../../modules/config/dto/config.dto';
|
|
2
|
+
import { CloudflareTunnelProtocol } from '../remote-access-cloudflare-tunnel.constants';
|
|
3
|
+
export declare class UpdateRemoteAccessCloudflareTunnelPluginConfigDto extends UpdatePluginConfigDto {
|
|
4
|
+
type: string;
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
publicHostname?: string | null;
|
|
7
|
+
protocol?: CloudflareTunnelProtocol;
|
|
8
|
+
tunnelToken?: string | null;
|
|
9
|
+
}
|