@fastybird/smart-panel-backend 0.12.0-alpha.0 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.constants.js.map +1 -1
- package/dist/app.module.js +44 -17
- package/dist/app.module.js.map +1 -1
- package/dist/common/filters/bad-request-exception.filter.js +0 -6
- package/dist/common/filters/bad-request-exception.filter.js.map +1 -1
- package/dist/common/filters/global-error.filter.js +2 -6
- package/dist/common/filters/global-error.filter.js.map +1 -1
- package/dist/common/filters/internal-server-error-exception.filter.js +0 -5
- package/dist/common/filters/internal-server-error-exception.filter.js.map +1 -1
- package/dist/common/filters/not-found-exception.filter.d.ts +4 -0
- package/dist/common/filters/not-found-exception.filter.js +22 -3
- package/dist/common/filters/not-found-exception.filter.js.map +1 -1
- package/dist/common/filters/query-failed-exception.filter.js +0 -5
- package/dist/common/filters/query-failed-exception.filter.js.map +1 -1
- package/dist/common/filters/unprocessable-entity-exception.filter.js +0 -5
- package/dist/common/filters/unprocessable-entity-exception.filter.js.map +1 -1
- package/dist/common/plugin-relations/relation-loader.interface.d.ts +5 -0
- package/dist/common/plugin-relations/relation-loader.interface.js +3 -0
- package/dist/common/plugin-relations/relation-loader.interface.js.map +1 -0
- package/dist/common/services/app-instance-holder.service.d.ts +1 -2
- package/dist/common/services/app-instance-holder.service.js.map +1 -1
- package/dist/common/utils/config.utils.d.ts +0 -1
- package/dist/common/utils/config.utils.js +1 -11
- package/dist/common/utils/config.utils.js.map +1 -1
- package/dist/main.js +25 -6
- package/dist/main.js.map +1 -1
- package/dist/migrations/1000000000000-InitialSetup.js +8 -0
- package/dist/migrations/1000000000000-InitialSetup.js.map +1 -1
- package/dist/migrations/1000000000002-AddTokenLastUsedAt.d.ts +6 -0
- package/dist/migrations/1000000000002-AddTokenLastUsedAt.js +15 -0
- package/dist/migrations/1000000000002-AddTokenLastUsedAt.js.map +1 -0
- package/dist/migrations/1000000000003-UnifySpaceRoleTables.d.ts +6 -0
- package/dist/migrations/1000000000003-UnifySpaceRoleTables.js +88 -0
- package/dist/migrations/1000000000003-UnifySpaceRoleTables.js.map +1 -0
- package/dist/migrations/1000000000004-DisplaysSpaceOnly.d.ts +6 -0
- package/dist/migrations/1000000000004-DisplaysSpaceOnly.js +165 -0
- package/dist/migrations/1000000000004-DisplaysSpaceOnly.js.map +1 -0
- package/dist/migrations/1000000000005-SpacesSignageInfoPanel.d.ts +6 -0
- package/dist/migrations/1000000000005-SpacesSignageInfoPanel.js +66 -0
- package/dist/migrations/1000000000005-SpacesSignageInfoPanel.js.map +1 -0
- package/dist/migrations/1000000000006-DropLegacyRoleTables.d.ts +6 -0
- package/dist/migrations/1000000000006-DropLegacyRoleTables.js +32 -0
- package/dist/migrations/1000000000006-DropLegacyRoleTables.js.map +1 -0
- package/dist/modules/api/interceptors/open-api-response.interceptor.js +1 -1
- package/dist/modules/api/interceptors/open-api-response.interceptor.js.map +1 -1
- package/dist/modules/auth/auth.module.js +44 -28
- package/dist/modules/auth/auth.module.js.map +1 -1
- package/dist/modules/auth/controllers/auth.controller.js +6 -0
- package/dist/modules/auth/controllers/auth.controller.js.map +1 -1
- package/dist/modules/auth/controllers/tokens.controller.d.ts +10 -3
- package/dist/modules/auth/controllers/tokens.controller.js +96 -7
- package/dist/modules/auth/controllers/tokens.controller.js.map +1 -1
- package/dist/modules/auth/dto/create-personal-token.dto.d.ts +8 -0
- package/dist/modules/auth/dto/create-personal-token.dto.js +75 -0
- package/dist/modules/auth/dto/create-personal-token.dto.js.map +1 -0
- package/dist/modules/auth/dto/register.dto.d.ts +1 -1
- package/dist/modules/auth/dto/register.dto.js +13 -11
- package/dist/modules/auth/dto/register.dto.js.map +1 -1
- package/dist/modules/auth/entities/auth.entity.d.ts +1 -0
- package/dist/modules/auth/entities/auth.entity.js +13 -0
- package/dist/modules/auth/entities/auth.entity.js.map +1 -1
- package/dist/modules/auth/guards/auth.guard.d.ts +0 -1
- package/dist/modules/auth/guards/auth.guard.js +8 -26
- package/dist/modules/auth/guards/auth.guard.js.map +1 -1
- package/dist/modules/auth/guards/display-aware-throttler.guard.d.ts +16 -0
- package/dist/modules/auth/guards/display-aware-throttler.guard.js +133 -0
- package/dist/modules/auth/guards/display-aware-throttler.guard.js.map +1 -0
- package/dist/modules/auth/services/auth.service.js +1 -1
- package/dist/modules/auth/services/auth.service.js.map +1 -1
- package/dist/modules/auth/services/tokens.service.d.ts +10 -0
- package/dist/modules/auth/services/tokens.service.js +35 -0
- package/dist/modules/auth/services/tokens.service.js.map +1 -1
- package/dist/modules/auth/utils/token.utils.d.ts +7 -0
- package/dist/modules/auth/utils/token.utils.js +12 -1
- package/dist/modules/auth/utils/token.utils.js.map +1 -1
- package/dist/modules/buddy/buddy.module.d.ts +5 -1
- package/dist/modules/buddy/buddy.module.js +42 -15
- package/dist/modules/buddy/buddy.module.js.map +1 -1
- package/dist/modules/buddy/buddy.utils.d.ts +8 -0
- package/dist/modules/buddy/buddy.utils.js +49 -0
- package/dist/modules/buddy/buddy.utils.js.map +1 -1
- package/dist/modules/buddy/controllers/buddy-suggestions.controller.js +2 -2
- package/dist/modules/buddy/controllers/buddy-suggestions.controller.js.map +1 -1
- package/dist/modules/buddy/entities/buddy-conversation.entity.js +3 -3
- package/dist/modules/buddy/entities/buddy-conversation.entity.js.map +1 -1
- package/dist/modules/buddy/entities/buddy-message.entity.js +2 -2
- package/dist/modules/buddy/entities/buddy-message.entity.js.map +1 -1
- package/dist/modules/buddy/entities/buddy-suggestion.entity.d.ts +19 -0
- package/dist/modules/buddy/entities/buddy-suggestion.entity.js +93 -0
- package/dist/modules/buddy/entities/buddy-suggestion.entity.js.map +1 -0
- package/dist/modules/buddy/listeners/media-activity-event.listener.js +3 -3
- package/dist/modules/buddy/listeners/media-activity-event.listener.js.map +1 -1
- package/dist/modules/buddy/platforms/llm-provider.platform.d.ts +6 -0
- package/dist/modules/buddy/platforms/openai-sdk.utils.d.ts +2 -1
- package/dist/modules/buddy/platforms/openai-sdk.utils.js +12 -1
- package/dist/modules/buddy/platforms/openai-sdk.utils.js.map +1 -1
- package/dist/modules/buddy/services/buddy-context.service.js +2 -2
- package/dist/modules/buddy/services/buddy-context.service.js.map +1 -1
- package/dist/modules/buddy/services/buddy-conversation.service.js +23 -8
- package/dist/modules/buddy/services/buddy-conversation.service.js.map +1 -1
- package/dist/modules/buddy/services/buddy-personality.service.d.ts +1 -1
- package/dist/modules/buddy/services/buddy-personality.service.js.map +1 -1
- package/dist/modules/buddy/services/heartbeat.service.js +2 -2
- package/dist/modules/buddy/services/heartbeat.service.js.map +1 -1
- package/dist/modules/buddy/services/llm-provider.service.js +2 -10
- package/dist/modules/buddy/services/llm-provider.service.js.map +1 -1
- package/dist/modules/buddy/services/module-reset.service.d.ts +3 -1
- package/dist/modules/buddy/services/module-reset.service.js +6 -1
- package/dist/modules/buddy/services/module-reset.service.js.map +1 -1
- package/dist/modules/buddy/services/pattern-detector.service.d.ts +4 -1
- package/dist/modules/buddy/services/pattern-detector.service.js +10 -3
- package/dist/modules/buddy/services/pattern-detector.service.js.map +1 -1
- package/dist/modules/buddy/services/scene-suggestion-evaluator.service.d.ts +4 -1
- package/dist/modules/buddy/services/scene-suggestion-evaluator.service.js +10 -4
- package/dist/modules/buddy/services/scene-suggestion-evaluator.service.js.map +1 -1
- package/dist/modules/buddy/services/stt-provider.service.js +2 -10
- package/dist/modules/buddy/services/stt-provider.service.js.map +1 -1
- package/dist/modules/buddy/services/suggestion-engine.service.d.ts +19 -13
- package/dist/modules/buddy/services/suggestion-engine.service.js +170 -103
- package/dist/modules/buddy/services/suggestion-engine.service.js.map +1 -1
- package/dist/modules/buddy/services/tts-provider.service.js +2 -10
- package/dist/modules/buddy/services/tts-provider.service.js.map +1 -1
- package/dist/modules/config/config.constants.d.ts +2 -1
- package/dist/modules/config/config.constants.js +1 -0
- package/dist/modules/config/config.constants.js.map +1 -1
- package/dist/modules/config/config.module.d.ts +5 -1
- package/dist/modules/config/config.module.js +78 -14
- package/dist/modules/config/config.module.js.map +1 -1
- package/dist/modules/config/services/config.service.d.ts +1 -0
- package/dist/modules/config/services/config.service.js +11 -1
- package/dist/modules/config/services/config.service.js.map +1 -1
- package/dist/modules/dashboard/dashboard.module.js +21 -18
- package/dist/modules/dashboard/dashboard.module.js.map +1 -1
- package/dist/modules/dashboard/entities/dashboard.relations.d.ts +1 -5
- package/dist/modules/devices/devices.module.js +24 -16
- package/dist/modules/devices/devices.module.js.map +1 -1
- package/dist/modules/devices/services/device-zones.service.js +2 -2
- package/dist/modules/devices/services/device-zones.service.js.map +1 -1
- package/dist/modules/devices/services/devices.service.js.map +1 -1
- package/dist/modules/displays/displays.constants.d.ts +0 -5
- package/dist/modules/displays/displays.constants.js +1 -7
- package/dist/modules/displays/displays.constants.js.map +1 -1
- package/dist/modules/displays/displays.module.js +27 -23
- package/dist/modules/displays/displays.module.js.map +1 -1
- package/dist/modules/displays/dto/update-display.dto.d.ts +2 -3
- package/dist/modules/displays/dto/update-display.dto.js +4 -19
- package/dist/modules/displays/dto/update-display.dto.js.map +1 -1
- package/dist/modules/displays/entities/displays.entity.d.ts +3 -4
- package/dist/modules/displays/entities/displays.entity.js +8 -25
- package/dist/modules/displays/entities/displays.entity.js.map +1 -1
- package/dist/modules/displays/services/displays.service.d.ts +4 -2
- package/dist/modules/displays/services/displays.service.js +19 -24
- package/dist/modules/displays/services/displays.service.js.map +1 -1
- package/dist/modules/displays/services/home-resolution.service.d.ts +7 -2
- package/dist/modules/displays/services/home-resolution.service.js +50 -6
- package/dist/modules/displays/services/home-resolution.service.js.map +1 -1
- package/dist/modules/displays/services/space-home-page-resolver-registry.service.d.ts +9 -0
- package/dist/modules/displays/services/space-home-page-resolver-registry.service.js +26 -0
- package/dist/modules/displays/services/space-home-page-resolver-registry.service.js.map +1 -0
- package/dist/modules/displays/services/space-selection-validator-registry.service.d.ts +9 -0
- package/dist/modules/displays/services/space-selection-validator-registry.service.js +26 -0
- package/dist/modules/displays/services/space-selection-validator-registry.service.js.map +1 -0
- package/dist/modules/energy/energy.module.js +29 -15
- package/dist/modules/energy/energy.module.js.map +1 -1
- package/dist/modules/extensions/controllers/actions.controller.d.ts +9 -4
- package/dist/modules/extensions/controllers/actions.controller.js +63 -10
- package/dist/modules/extensions/controllers/actions.controller.js.map +1 -1
- package/dist/modules/extensions/extensions.module.js +31 -28
- package/dist/modules/extensions/extensions.module.js.map +1 -1
- package/dist/modules/extensions/extensions.openapi.d.ts +3 -3
- package/dist/modules/extensions/extensions.openapi.js +2 -0
- package/dist/modules/extensions/extensions.openapi.js.map +1 -1
- package/dist/modules/extensions/models/action.model.d.ts +13 -0
- package/dist/modules/extensions/models/action.model.js +89 -3
- package/dist/modules/extensions/models/action.model.js.map +1 -1
- package/dist/modules/extensions/models/actions-response.model.d.ts +4 -1
- package/dist/modules/extensions/models/actions-response.model.js +19 -1
- package/dist/modules/extensions/models/actions-response.model.js.map +1 -1
- package/dist/modules/extensions/models/extension.model.js +5 -0
- package/dist/modules/extensions/models/extension.model.js.map +1 -1
- package/dist/modules/extensions/models/service-status.model.js +7 -0
- package/dist/modules/extensions/models/service-status.model.js.map +1 -1
- package/dist/modules/extensions/services/action-audit.service.d.ts +21 -0
- package/dist/modules/extensions/services/action-audit.service.js +49 -0
- package/dist/modules/extensions/services/action-audit.service.js.map +1 -0
- package/dist/modules/extensions/services/base-managed-plugin.service.d.ts +11 -0
- package/dist/modules/extensions/services/base-managed-plugin.service.js +28 -0
- package/dist/modules/extensions/services/base-managed-plugin.service.js.map +1 -0
- package/dist/modules/extensions/services/extension-action-registry.service.d.ts +6 -1
- package/dist/modules/extensions/services/extension-action-registry.service.js +22 -3
- package/dist/modules/extensions/services/extension-action-registry.service.js.map +1 -1
- package/dist/modules/extensions/services/extension-action.interface.d.ts +3 -0
- package/dist/modules/extensions/services/extension-action.interface.js +3 -1
- package/dist/modules/extensions/services/extension-action.interface.js.map +1 -1
- package/dist/modules/intents/intents.module.js +27 -26
- package/dist/modules/intents/intents.module.js.map +1 -1
- package/dist/modules/mdns/mdns.module.js +24 -19
- package/dist/modules/mdns/mdns.module.js.map +1 -1
- package/dist/modules/platform/dto/system-info.dto.d.ts +2 -0
- package/dist/modules/platform/dto/system-info.dto.js +7 -0
- package/dist/modules/platform/dto/system-info.dto.js.map +1 -1
- package/dist/modules/platform/platform.module.js +25 -17
- package/dist/modules/platform/platform.module.js.map +1 -1
- package/dist/modules/platform/platforms/abstract.platform.d.ts +44 -0
- package/dist/modules/platform/platforms/abstract.platform.js +267 -0
- package/dist/modules/platform/platforms/abstract.platform.js.map +1 -1
- package/dist/modules/platform/platforms/docker.platform.d.ts +2 -0
- package/dist/modules/platform/platforms/docker.platform.js +3 -0
- package/dist/modules/platform/platforms/docker.platform.js.map +1 -1
- package/dist/modules/platform/platforms/generic.platform.d.ts +2 -1
- package/dist/modules/platform/platforms/generic.platform.js +17 -15
- package/dist/modules/platform/platforms/generic.platform.js.map +1 -1
- package/dist/modules/platform/platforms/home-assistant.platform.d.ts +4 -0
- package/dist/modules/platform/platforms/home-assistant.platform.js +21 -0
- package/dist/modules/platform/platforms/home-assistant.platform.js.map +1 -1
- package/dist/modules/platform/platforms/raspberry.platform.js +22 -40
- package/dist/modules/platform/platforms/raspberry.platform.js.map +1 -1
- package/dist/modules/platform/services/platform.service.d.ts +2 -0
- package/dist/modules/platform/services/platform.service.js +7 -0
- package/dist/modules/platform/services/platform.service.js.map +1 -1
- package/dist/modules/scenes/scenes.module.js +18 -18
- package/dist/modules/scenes/scenes.module.js.map +1 -1
- package/dist/modules/security/security.module.js +22 -17
- package/dist/modules/security/security.module.js.map +1 -1
- package/dist/modules/spaces/controllers/spaces.controller.d.ts +5 -115
- package/dist/modules/spaces/controllers/spaces.controller.js +22 -1922
- package/dist/modules/spaces/controllers/spaces.controller.js.map +1 -1
- package/dist/modules/spaces/dto/create-space.dto.d.ts +1 -5
- package/dist/modules/spaces/dto/create-space.dto.js +0 -61
- package/dist/modules/spaces/dto/create-space.dto.js.map +1 -1
- package/dist/modules/spaces/dto/update-space.dto.d.ts +1 -5
- package/dist/modules/spaces/dto/update-space.dto.js +0 -61
- package/dist/modules/spaces/dto/update-space.dto.js.map +1 -1
- package/dist/modules/spaces/entities/space-role.entity.d.ts +8 -0
- package/dist/modules/spaces/entities/space-role.entity.js +58 -0
- package/dist/modules/spaces/entities/space-role.entity.js.map +1 -0
- package/dist/modules/spaces/entities/space.entity.d.ts +3 -6
- package/dist/modules/spaces/entities/space.entity.js +11 -74
- package/dist/modules/spaces/entities/space.entity.js.map +1 -1
- package/dist/modules/spaces/entities/space.relations.d.ts +11 -0
- package/dist/modules/spaces/entities/space.relations.js +3 -0
- package/dist/modules/spaces/entities/space.relations.js.map +1 -0
- package/dist/modules/spaces/models/spaces-response.model.d.ts +1 -522
- package/dist/modules/spaces/models/spaces-response.model.js +23 -4150
- package/dist/modules/spaces/models/spaces-response.model.js.map +1 -1
- package/dist/modules/spaces/services/space-create-builder-registry.service.d.ts +6 -0
- package/dist/modules/spaces/services/space-create-builder-registry.service.js +26 -0
- package/dist/modules/spaces/services/space-create-builder-registry.service.js.map +1 -0
- package/dist/modules/spaces/services/space-relations-loader-registry.service.d.ts +6 -0
- package/dist/modules/spaces/services/space-relations-loader-registry.service.js +26 -0
- package/dist/modules/spaces/services/space-relations-loader-registry.service.js.map +1 -0
- package/dist/modules/spaces/services/space-roles-type-mapper.service.d.ts +12 -0
- package/dist/modules/spaces/services/space-roles-type-mapper.service.js +39 -0
- package/dist/modules/spaces/services/space-roles-type-mapper.service.js.map +1 -0
- package/dist/modules/spaces/services/spaces-type-mapper.service.d.ts +17 -0
- package/dist/modules/spaces/services/spaces-type-mapper.service.js +36 -0
- package/dist/modules/spaces/services/spaces-type-mapper.service.js.map +1 -0
- package/dist/modules/spaces/services/spaces.service.d.ts +4 -12
- package/dist/modules/spaces/services/spaces.service.js +120 -160
- package/dist/modules/spaces/services/spaces.service.js.map +1 -1
- package/dist/modules/spaces/spaces.constants.d.ts +13 -292
- package/dist/modules/spaces/spaces.constants.js +13 -1449
- package/dist/modules/spaces/spaces.constants.js.map +1 -1
- package/dist/modules/spaces/spaces.module.d.ts +2 -9
- package/dist/modules/spaces/spaces.module.js +51 -108
- package/dist/modules/spaces/spaces.module.js.map +1 -1
- package/dist/modules/spaces/spaces.openapi.d.ts +3 -16
- package/dist/modules/spaces/spaces.openapi.js +0 -136
- package/dist/modules/spaces/spaces.openapi.js.map +1 -1
- package/dist/modules/stats/controllers/prometheus.controller.js +0 -2
- package/dist/modules/stats/controllers/prometheus.controller.js.map +1 -1
- package/dist/modules/storage/models/config.model.js +2 -4
- package/dist/modules/storage/models/config.model.js.map +1 -1
- package/dist/modules/storage/services/storage.service.d.ts +4 -10
- package/dist/modules/storage/services/storage.service.js +21 -60
- package/dist/modules/storage/services/storage.service.js.map +1 -1
- package/dist/modules/storage/storage.constants.d.ts +2 -0
- package/dist/modules/storage/storage.constants.js +3 -1
- package/dist/modules/storage/storage.constants.js.map +1 -1
- package/dist/modules/storage/storage.module.js +26 -7
- package/dist/modules/storage/storage.module.js.map +1 -1
- package/dist/modules/swagger/commands/serve-swagger.command.d.ts +14 -0
- package/dist/modules/swagger/commands/serve-swagger.command.js +60 -0
- package/dist/modules/swagger/commands/serve-swagger.command.js.map +1 -0
- package/dist/modules/swagger/swagger.module.js +2 -0
- package/dist/modules/swagger/swagger.module.js.map +1 -1
- package/dist/modules/system/backup-contribution.module.d.ts +2 -0
- package/dist/modules/system/backup-contribution.module.js +22 -0
- package/dist/modules/system/backup-contribution.module.js.map +1 -0
- package/dist/modules/system/controllers/backup.controller.d.ts +17 -0
- package/dist/modules/system/controllers/backup.controller.js +308 -0
- package/dist/modules/system/controllers/backup.controller.js.map +1 -0
- package/dist/modules/system/dto/create-backup.dto.d.ts +6 -0
- package/dist/modules/system/dto/create-backup.dto.js +43 -0
- package/dist/modules/system/dto/create-backup.dto.js.map +1 -0
- package/dist/modules/system/models/backup-response.model.d.ts +8 -0
- package/dist/modules/system/models/backup-response.model.js +46 -0
- package/dist/modules/system/models/backup-response.model.js.map +1 -0
- package/dist/modules/system/models/backup.model.d.ts +14 -0
- package/dist/modules/system/models/backup.model.js +103 -0
- package/dist/modules/system/models/backup.model.js.map +1 -0
- package/dist/modules/system/models/system.model.d.ts +3 -1
- package/dist/modules/system/models/system.model.js +26 -0
- package/dist/modules/system/models/system.model.js.map +1 -1
- package/dist/modules/system/scripts/update-worker.sh +304 -0
- package/dist/modules/system/services/backup-contribution-registry.service.d.ts +24 -0
- package/dist/modules/system/services/backup-contribution-registry.service.js +52 -0
- package/dist/modules/system/services/backup-contribution-registry.service.js.map +1 -0
- package/dist/modules/system/services/backup.service.d.ts +52 -0
- package/dist/modules/system/services/backup.service.js +630 -0
- package/dist/modules/system/services/backup.service.js.map +1 -0
- package/dist/modules/system/services/house-mode-actions.service.d.ts +1 -1
- package/dist/modules/system/services/house-mode-actions.service.js +5 -5
- package/dist/modules/system/services/house-mode-actions.service.js.map +1 -1
- package/dist/modules/system/services/system-command.service.d.ts +7 -1
- package/dist/modules/system/services/system-command.service.js +24 -4
- package/dist/modules/system/services/system-command.service.js.map +1 -1
- package/dist/modules/system/services/system.service.js +4 -1
- package/dist/modules/system/services/system.service.js.map +1 -1
- package/dist/modules/system/services/update-executor.service.d.ts +4 -0
- package/dist/modules/system/services/update-executor.service.js +130 -10
- package/dist/modules/system/services/update-executor.service.js.map +1 -1
- package/dist/modules/system/system.constants.d.ts +7 -0
- package/dist/modules/system/system.constants.js +9 -1
- package/dist/modules/system/system.constants.js.map +1 -1
- package/dist/modules/system/system.module.d.ts +5 -1
- package/dist/modules/system/system.module.js +95 -31
- package/dist/modules/system/system.module.js.map +1 -1
- package/dist/modules/system/system.openapi.d.ts +4 -1
- package/dist/modules/system/system.openapi.js +8 -0
- package/dist/modules/system/system.openapi.js.map +1 -1
- package/dist/modules/users/controllers/users.controller.js +9 -0
- package/dist/modules/users/controllers/users.controller.js.map +1 -1
- package/dist/modules/users/dto/create-user.dto.js +1 -0
- package/dist/modules/users/dto/create-user.dto.js.map +1 -1
- package/dist/modules/users/dto/update-user.dto.d.ts +1 -0
- package/dist/modules/users/dto/update-user.dto.js +15 -1
- package/dist/modules/users/dto/update-user.dto.js.map +1 -1
- package/dist/modules/users/services/users.service.d.ts +1 -0
- package/dist/modules/users/services/users.service.js +12 -2
- package/dist/modules/users/services/users.service.js.map +1 -1
- package/dist/modules/users/users.constants.d.ts +3 -0
- package/dist/modules/users/users.constants.js +35 -1
- package/dist/modules/users/users.constants.js.map +1 -1
- package/dist/modules/users/users.module.js +29 -13
- package/dist/modules/users/users.module.js.map +1 -1
- package/dist/modules/weather/weather.module.js +20 -18
- package/dist/modules/weather/weather.module.js.map +1 -1
- package/dist/modules/websocket/dto/client-user.dto.js +25 -0
- package/dist/modules/websocket/dto/client-user.dto.js.map +1 -1
- package/dist/modules/websocket/dto/ws-client.dto.js +26 -0
- package/dist/modules/websocket/dto/ws-client.dto.js.map +1 -1
- package/dist/modules/websocket/gateway/websocket.gateway.d.ts +2 -2
- package/dist/modules/websocket/gateway/websocket.gateway.js +27 -9
- package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
- package/dist/modules/websocket/services/command-event-registry.service.d.ts +3 -1
- package/dist/modules/websocket/services/command-event-registry.service.js +5 -4
- package/dist/modules/websocket/services/command-event-registry.service.js.map +1 -1
- package/dist/plugins/buddy-claude/buddy-claude.plugin.js +24 -11
- package/dist/plugins/buddy-claude/buddy-claude.plugin.js.map +1 -1
- package/dist/plugins/buddy-claude-setup-token/buddy-claude-setup-token.plugin.js +21 -11
- package/dist/plugins/buddy-claude-setup-token/buddy-claude-setup-token.plugin.js.map +1 -1
- package/dist/plugins/buddy-discord/buddy-discord.plugin.js +28 -16
- package/dist/plugins/buddy-discord/buddy-discord.plugin.js.map +1 -1
- package/dist/plugins/buddy-elevenlabs/buddy-elevenlabs.plugin.js +22 -11
- package/dist/plugins/buddy-elevenlabs/buddy-elevenlabs.plugin.js.map +1 -1
- package/dist/plugins/buddy-ollama/buddy-ollama.plugin.js +28 -12
- package/dist/plugins/buddy-ollama/buddy-ollama.plugin.js.map +1 -1
- package/dist/plugins/buddy-openai/buddy-openai.plugin.js +24 -15
- package/dist/plugins/buddy-openai/buddy-openai.plugin.js.map +1 -1
- package/dist/plugins/buddy-openai/platforms/openai.provider.js +1 -0
- package/dist/plugins/buddy-openai/platforms/openai.provider.js.map +1 -1
- package/dist/plugins/buddy-openai-codex/buddy-openai-codex.plugin.js +26 -15
- package/dist/plugins/buddy-openai-codex/buddy-openai-codex.plugin.js.map +1 -1
- package/dist/plugins/buddy-stt-whisper-local/buddy-stt-whisper-local.plugin.js +23 -9
- package/dist/plugins/buddy-stt-whisper-local/buddy-stt-whisper-local.plugin.js.map +1 -1
- package/dist/plugins/buddy-system-tts/buddy-system-tts.plugin.js +21 -10
- package/dist/plugins/buddy-system-tts/buddy-system-tts.plugin.js.map +1 -1
- package/dist/plugins/buddy-telegram/buddy-telegram.plugin.js +22 -11
- package/dist/plugins/buddy-telegram/buddy-telegram.plugin.js.map +1 -1
- package/dist/plugins/buddy-voiceai/buddy-voiceai.plugin.js +22 -12
- package/dist/plugins/buddy-voiceai/buddy-voiceai.plugin.js.map +1 -1
- package/dist/plugins/buddy-whatsapp/buddy-whatsapp.plugin.js +24 -12
- package/dist/plugins/buddy-whatsapp/buddy-whatsapp.plugin.js.map +1 -1
- package/dist/plugins/buddy-whatsapp/controllers/whatsapp-webhook.controller.d.ts +2 -2
- package/dist/plugins/buddy-whatsapp/controllers/whatsapp-webhook.controller.js +3 -3
- package/dist/plugins/buddy-whatsapp/controllers/whatsapp-webhook.controller.js.map +1 -1
- package/dist/plugins/buddy-whatsapp/platforms/whatsapp-bot.provider.d.ts +2 -1
- package/dist/plugins/buddy-whatsapp/platforms/whatsapp-bot.provider.js +31 -12
- package/dist/plugins/buddy-whatsapp/platforms/whatsapp-bot.provider.js.map +1 -1
- package/dist/plugins/data-sources-device-channel/data-sources-device-channel.plugin.js +16 -30
- package/dist/plugins/data-sources-device-channel/data-sources-device-channel.plugin.js.map +1 -1
- package/dist/plugins/data-sources-weather/data-sources-weather.plugin.js +17 -29
- package/dist/plugins/data-sources-weather/data-sources-weather.plugin.js.map +1 -1
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js +37 -136
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js.map +1 -1
- package/dist/plugins/devices-home-assistant/dto/home-assistant-discovered-helper.dto.js +22 -2
- package/dist/plugins/devices-home-assistant/dto/home-assistant-discovered-helper.dto.js.map +1 -1
- package/dist/plugins/devices-home-assistant/models/config.model.d.ts +1 -0
- package/dist/plugins/devices-home-assistant/models/config.model.js +12 -0
- package/dist/plugins/devices-home-assistant/models/config.model.js.map +1 -1
- package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.d.ts +3 -1
- package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js +11 -2
- package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/ha-mdns-discoverer.service.js +0 -6
- package/dist/plugins/devices-home-assistant/services/ha-mdns-discoverer.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.d.ts +10 -0
- package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.js +47 -0
- package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.js.map +1 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.d.ts +3 -1
- package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.js +8 -2
- package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.d.ts +5 -1
- package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.js +27 -7
- package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.d.ts +9 -7
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +58 -24
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +1 -0
- package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
- package/dist/plugins/devices-reterminal/devices-reterminal.plugin.js +20 -17
- package/dist/plugins/devices-reterminal/devices-reterminal.plugin.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/controllers/shelly-ng-devices.controller.d.ts +7 -2
- package/dist/plugins/devices-shelly-ng/controllers/shelly-ng-devices.controller.js +83 -2
- package/dist/plugins/devices-shelly-ng/controllers/shelly-ng-devices.controller.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +4 -0
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +86 -11
- 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 +8 -0
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +45 -0
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.openapi.d.ts +3 -3
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.openapi.js +4 -0
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.openapi.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.d.ts +6 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js +72 -21
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/dto/update-config.dto.d.ts +1 -0
- package/dist/plugins/devices-shelly-ng/dto/update-config.dto.js +24 -6
- package/dist/plugins/devices-shelly-ng/dto/update-config.dto.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/entities/devices-shelly-ng.entity.js +12 -0
- package/dist/plugins/devices-shelly-ng/entities/devices-shelly-ng.entity.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/entities/shelly-ng-device-address.entity.js +2 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-ng-device-address.entity.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/models/config.model.d.ts +1 -0
- package/dist/plugins/devices-shelly-ng/models/config.model.js +18 -6
- package/dist/plugins/devices-shelly-ng/models/config.model.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/models/shelly-ng-response.model.d.ts +4 -1
- package/dist/plugins/devices-shelly-ng/models/shelly-ng-response.model.js +15 -1
- package/dist/plugins/devices-shelly-ng/models/shelly-ng-response.model.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/models/shelly-ng.model.d.ts +30 -0
- package/dist/plugins/devices-shelly-ng/models/shelly-ng.model.js +269 -1
- package/dist/plugins/devices-shelly-ng/models/shelly-ng.model.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ng-discovery.service.d.ts +64 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ng-discovery.service.js +301 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ng-discovery.service.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +17 -7
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +110 -15
- 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.d.ts +5 -0
- 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 +28 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +197 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -0
- package/dist/plugins/devices-shelly-v1/controllers/shelly-v1-devices.controller.d.ts +7 -2
- package/dist/plugins/devices-shelly-v1/controllers/shelly-v1-devices.controller.js +83 -2
- package/dist/plugins/devices-shelly-v1/controllers/shelly-v1-devices.controller.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.openapi.d.ts +3 -3
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.openapi.js +4 -0
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.openapi.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js +27 -23
- package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/models/shelly-v1-response.model.d.ts +4 -1
- package/dist/plugins/devices-shelly-v1/models/shelly-v1-response.model.js +15 -1
- package/dist/plugins/devices-shelly-v1/models/shelly-v1-response.model.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/models/shelly-v1.model.d.ts +31 -0
- package/dist/plugins/devices-shelly-v1/models/shelly-v1.model.js +279 -1
- package/dist/plugins/devices-shelly-v1/models/shelly-v1.model.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.d.ts +0 -1
- package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.js +2 -9
- 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 +0 -1
- package/dist/plugins/devices-shelly-v1/services/device-mapper.service.js +2 -15
- package/dist/plugins/devices-shelly-v1/services/device-mapper.service.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/services/shellies-adapter.service.d.ts +9 -2
- package/dist/plugins/devices-shelly-v1/services/shellies-adapter.service.js +93 -20
- package/dist/plugins/devices-shelly-v1/services/shellies-adapter.service.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/services/shelly-v1-discovery.service.d.ts +62 -0
- package/dist/plugins/devices-shelly-v1/services/shelly-v1-discovery.service.js +314 -0
- package/dist/plugins/devices-shelly-v1/services/shelly-v1-discovery.service.js.map +1 -0
- package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.d.ts +3 -6
- package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js +13 -37
- package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/utils/descriptor.utils.d.ts +2 -0
- package/dist/plugins/devices-shelly-v1/utils/descriptor.utils.js +23 -0
- package/dist/plugins/devices-shelly-v1/utils/descriptor.utils.js.map +1 -0
- package/dist/plugins/devices-third-party/devices-third-party.plugin.js +19 -23
- package/dist/plugins/devices-third-party/devices-third-party.plugin.js.map +1 -1
- package/dist/plugins/devices-wled/devices-wled.plugin.js +30 -20
- package/dist/plugins/devices-wled/devices-wled.plugin.js.map +1 -1
- package/dist/plugins/devices-wled/services/wled-mdns-discoverer.service.js +0 -6
- package/dist/plugins/devices-wled/services/wled-mdns-discoverer.service.js.map +1 -1
- package/dist/plugins/devices-wled/services/wled.service.d.ts +3 -6
- package/dist/plugins/devices-wled/services/wled.service.js +3 -20
- package/dist/plugins/devices-wled/services/wled.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/controllers/zigbee2mqtt-wizard.controller.d.ts +14 -0
- package/dist/plugins/devices-zigbee2mqtt/controllers/zigbee2mqtt-wizard.controller.js +185 -0
- package/dist/plugins/devices-zigbee2mqtt/controllers/zigbee2mqtt-wizard.controller.js.map +1 -0
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.openapi.d.ts +5 -3
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.openapi.js +12 -0
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.openapi.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.plugin.js +43 -54
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.plugin.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/dto/wizard-adopt.dto.d.ts +12 -0
- package/dist/plugins/devices-zigbee2mqtt/dto/wizard-adopt.dto.js +73 -0
- package/dist/plugins/devices-zigbee2mqtt/dto/wizard-adopt.dto.js.map +1 -0
- package/dist/plugins/devices-zigbee2mqtt/models/wizard.model.d.ts +38 -0
- package/dist/plugins/devices-zigbee2mqtt/models/wizard.model.js +259 -0
- package/dist/plugins/devices-zigbee2mqtt/models/wizard.model.js.map +1 -0
- package/dist/plugins/devices-zigbee2mqtt/models/zigbee2mqtt-response.model.d.ts +7 -0
- package/dist/plugins/devices-zigbee2mqtt/models/zigbee2mqtt-response.model.js +30 -1
- package/dist/plugins/devices-zigbee2mqtt/models/zigbee2mqtt-response.model.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.d.ts +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.d.ts +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js +22 -0
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/wizard.service.d.ts +70 -0
- package/dist/plugins/devices-zigbee2mqtt/services/wizard.service.js +361 -0
- package/dist/plugins/devices-zigbee2mqtt/services/wizard.service.js.map +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/ws-client-adapter.service.d.ts +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/ws-client-adapter.service.js +23 -0
- package/dist/plugins/devices-zigbee2mqtt/services/ws-client-adapter.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.d.ts +10 -7
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js +46 -22
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js.map +1 -1
- package/dist/{modules/storage/plugins/influx-v1/influx-v1.update-config.dto.d.ts → plugins/influx-v1/dto/update-config.dto.d.ts} +1 -1
- package/dist/{modules/storage/plugins/influx-v1/influx-v1.update-config.dto.js → plugins/influx-v1/dto/update-config.dto.js} +3 -3
- package/dist/plugins/influx-v1/dto/update-config.dto.js.map +1 -0
- package/dist/plugins/influx-v1/influx-v1.constants.js.map +1 -0
- package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.openapi.d.ts +1 -1
- package/dist/plugins/influx-v1/influx-v1.openapi.js +7 -0
- package/dist/plugins/influx-v1/influx-v1.openapi.js.map +1 -0
- package/dist/plugins/influx-v1/influx-v1.plugin.d.ts +15 -0
- package/dist/plugins/influx-v1/influx-v1.plugin.js +109 -0
- package/dist/plugins/influx-v1/influx-v1.plugin.js.map +1 -0
- package/dist/{modules/storage/plugins/influx-v1/influx-v1.config.model.d.ts → plugins/influx-v1/models/config.model.d.ts} +1 -1
- package/dist/{modules/storage/plugins/influx-v1/influx-v1.config.model.js → plugins/influx-v1/models/config.model.js} +3 -3
- package/dist/plugins/influx-v1/models/config.model.js.map +1 -0
- package/dist/plugins/influx-v1/services/influx-v1-managed.service.d.ts +20 -0
- package/dist/plugins/influx-v1/services/influx-v1-managed.service.js +128 -0
- package/dist/plugins/influx-v1/services/influx-v1-managed.service.js.map +1 -0
- package/dist/{modules/storage/plugins/influx-v1/influx-v1.plugin.d.ts → plugins/influx-v1/services/influx-v1.storage.d.ts} +3 -3
- package/dist/{modules/storage/plugins/influx-v1/influx-v1.plugin.js → plugins/influx-v1/services/influx-v1.storage.js} +9 -9
- package/dist/plugins/influx-v1/services/influx-v1.storage.js.map +1 -0
- package/dist/plugins/influx-v2/dto/update-config.dto.d.ts +8 -0
- package/dist/plugins/influx-v2/dto/update-config.dto.js +82 -0
- package/dist/plugins/influx-v2/dto/update-config.dto.js.map +1 -0
- package/dist/plugins/influx-v2/influx-v2.constants.d.ts +4 -0
- package/dist/plugins/influx-v2/influx-v2.constants.js +8 -0
- package/dist/plugins/influx-v2/influx-v2.constants.js.map +1 -0
- package/dist/plugins/influx-v2/influx-v2.openapi.d.ts +2 -0
- package/dist/plugins/influx-v2/influx-v2.openapi.js +7 -0
- package/dist/plugins/influx-v2/influx-v2.openapi.js.map +1 -0
- package/dist/plugins/influx-v2/influx-v2.plugin.d.ts +15 -0
- package/dist/plugins/influx-v2/influx-v2.plugin.js +109 -0
- package/dist/plugins/influx-v2/influx-v2.plugin.js.map +1 -0
- package/dist/plugins/influx-v2/models/config.model.d.ts +9 -0
- package/dist/plugins/influx-v2/models/config.model.js +93 -0
- package/dist/plugins/influx-v2/models/config.model.js.map +1 -0
- package/dist/plugins/influx-v2/services/influx-v2-managed.service.d.ts +20 -0
- package/dist/plugins/influx-v2/services/influx-v2-managed.service.js +132 -0
- package/dist/plugins/influx-v2/services/influx-v2-managed.service.js.map +1 -0
- package/dist/plugins/influx-v2/services/influx-v2.storage.d.ts +33 -0
- package/dist/plugins/influx-v2/services/influx-v2.storage.js +230 -0
- package/dist/plugins/influx-v2/services/influx-v2.storage.js.map +1 -0
- package/dist/plugins/logger-rotating-file/logger-rotating-file.plugin.js +20 -29
- package/dist/plugins/logger-rotating-file/logger-rotating-file.plugin.js.map +1 -1
- package/dist/{modules/storage/plugins/memory/memory.update-config.dto.d.ts → plugins/memory-storage/dto/update-config.dto.d.ts} +1 -1
- package/dist/{modules/storage/plugins/memory/memory.update-config.dto.js → plugins/memory-storage/dto/update-config.dto.js} +5 -5
- package/dist/plugins/memory-storage/dto/update-config.dto.js.map +1 -0
- package/dist/{modules/storage/plugins/memory/memory.constants.js → plugins/memory-storage/memory-storage.constants.js} +1 -1
- package/dist/plugins/memory-storage/memory-storage.constants.js.map +1 -0
- package/dist/{modules/storage/plugins/memory/memory.openapi.d.ts → plugins/memory-storage/memory-storage.openapi.d.ts} +1 -1
- package/dist/plugins/memory-storage/memory-storage.openapi.js +7 -0
- package/dist/plugins/memory-storage/memory-storage.openapi.js.map +1 -0
- package/dist/plugins/memory-storage/memory-storage.plugin.d.ts +15 -0
- package/dist/plugins/memory-storage/memory-storage.plugin.js +92 -0
- package/dist/plugins/memory-storage/memory-storage.plugin.js.map +1 -0
- package/dist/{modules/storage/plugins/memory/memory.config.model.d.ts → plugins/memory-storage/models/config.model.d.ts} +1 -1
- package/dist/{modules/storage/plugins/memory/memory.config.model.js → plugins/memory-storage/models/config.model.js} +5 -5
- package/dist/plugins/memory-storage/models/config.model.js.map +1 -0
- package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/in-memory-timeseries.store.d.ts +1 -1
- package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/in-memory-timeseries.store.js +4 -4
- package/dist/plugins/memory-storage/services/in-memory-timeseries.store.js.map +1 -0
- package/dist/plugins/memory-storage/services/influxql-parser.js.map +1 -0
- package/dist/plugins/memory-storage/services/memory-storage-managed.service.d.ts +14 -0
- package/dist/plugins/memory-storage/services/memory-storage-managed.service.js +87 -0
- package/dist/plugins/memory-storage/services/memory-storage-managed.service.js.map +1 -0
- package/dist/{modules/storage/plugins/memory/memory.plugin.d.ts → plugins/memory-storage/services/memory-storage.storage.d.ts} +3 -3
- package/dist/{modules/storage/plugins/memory/memory.plugin.js → plugins/memory-storage/services/memory-storage.storage.js} +8 -8
- package/dist/plugins/memory-storage/services/memory-storage.storage.js.map +1 -0
- package/dist/plugins/pages-cards/pages-cards.plugin.js +15 -26
- package/dist/plugins/pages-cards/pages-cards.plugin.js.map +1 -1
- package/dist/plugins/pages-device-detail/pages-device-detail.plugin.js +16 -25
- package/dist/plugins/pages-device-detail/pages-device-detail.plugin.js.map +1 -1
- package/dist/plugins/pages-tiles/pages-tiles.plugin.js +15 -26
- package/dist/plugins/pages-tiles/pages-tiles.plugin.js.map +1 -1
- package/dist/plugins/scenes-local/scenes-local.plugin.js +21 -22
- package/dist/plugins/scenes-local/scenes-local.plugin.js.map +1 -1
- package/dist/plugins/simulator/services/scenario-executor.service.d.ts +5 -5
- package/dist/plugins/simulator/services/scenario-executor.service.js +7 -6
- package/dist/plugins/simulator/services/scenario-executor.service.js.map +1 -1
- package/dist/plugins/simulator/services/simulator-actions.service.js +3 -0
- package/dist/plugins/simulator/services/simulator-actions.service.js.map +1 -1
- package/dist/plugins/simulator/simulator.plugin.js +49 -58
- package/dist/plugins/simulator/simulator.plugin.js.map +1 -1
- package/dist/plugins/spaces-home-control/controllers/spaces-domain.controller.d.ts +119 -0
- package/dist/plugins/spaces-home-control/controllers/spaces-domain.controller.js +1958 -0
- package/dist/plugins/spaces-home-control/controllers/spaces-domain.controller.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/climate-intent.dto.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/climate-intent.dto.js +24 -24
- package/dist/plugins/spaces-home-control/dto/climate-intent.dto.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/climate-role.dto.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/climate-role.dto.js +4 -4
- package/dist/plugins/spaces-home-control/dto/climate-role.dto.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/covers-intent.dto.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/covers-intent.dto.js +18 -18
- package/dist/plugins/spaces-home-control/dto/covers-intent.dto.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/covers-role.dto.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/covers-role.dto.js +4 -4
- package/dist/plugins/spaces-home-control/dto/covers-role.dto.js.map +1 -0
- package/dist/plugins/spaces-home-control/dto/create-home-control-space.dto.d.ts +8 -0
- package/dist/plugins/spaces-home-control/dto/create-home-control-space.dto.js +85 -0
- package/dist/plugins/spaces-home-control/dto/create-home-control-space.dto.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/lighting-intent.dto.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/lighting-intent.dto.js +34 -34
- package/dist/plugins/spaces-home-control/dto/lighting-intent.dto.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/lighting-role.dto.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/lighting-role.dto.js +4 -4
- package/dist/plugins/spaces-home-control/dto/lighting-role.dto.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/media-activity-binding.dto.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/media-activity-binding.dto.js +4 -4
- package/dist/plugins/spaces-home-control/dto/media-activity-binding.dto.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/sensor-role.dto.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/sensor-role.dto.js +4 -4
- package/dist/plugins/spaces-home-control/dto/sensor-role.dto.js.map +1 -0
- package/dist/plugins/spaces-home-control/dto/status-widget.dto.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/suggestion.dto.d.ts +2 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/dto/suggestion.dto.js +5 -4
- package/dist/plugins/spaces-home-control/dto/suggestion.dto.js.map +1 -0
- package/dist/plugins/spaces-home-control/dto/update-config.dto.d.ts +5 -0
- package/dist/plugins/spaces-home-control/dto/update-config.dto.js +34 -0
- package/dist/plugins/spaces-home-control/dto/update-config.dto.js.map +1 -0
- package/dist/plugins/spaces-home-control/dto/update-home-control-space.dto.d.ts +8 -0
- package/dist/plugins/spaces-home-control/dto/update-home-control-space.dto.js +85 -0
- package/dist/plugins/spaces-home-control/dto/update-home-control-space.dto.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/room-space.entity.d.ts +8 -0
- package/dist/plugins/spaces-home-control/entities/room-space.entity.js +91 -0
- package/dist/plugins/spaces-home-control/entities/room-space.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-active-media-activity.entity.d.ts +11 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/entities/space-active-media-activity.entity.js +23 -30
- package/dist/plugins/spaces-home-control/entities/space-active-media-activity.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-climate-role.entity.d.ts +13 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/entities/space-climate-role.entity.js +25 -32
- package/dist/plugins/spaces-home-control/entities/space-climate-role.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-covers-role.entity.d.ts +13 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/entities/space-covers-role.entity.js +27 -34
- package/dist/plugins/spaces-home-control/entities/space-covers-role.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-lighting-role.entity.d.ts +13 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/entities/space-lighting-role.entity.js +27 -34
- package/dist/plugins/spaces-home-control/entities/space-lighting-role.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-media-activity-binding.entity.d.ts +15 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/entities/space-media-activity-binding.entity.js +20 -28
- package/dist/plugins/spaces-home-control/entities/space-media-activity-binding.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-sensor-role.entity.d.ts +13 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/entities/space-sensor-role.entity.js +27 -34
- package/dist/plugins/spaces-home-control/entities/space-sensor-role.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/zone-space.entity.d.ts +8 -0
- package/dist/plugins/spaces-home-control/entities/zone-space.entity.js +91 -0
- package/dist/plugins/spaces-home-control/entities/zone-space.entity.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/space-activity.listener.d.ts +2 -2
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/space-activity.listener.js +4 -4
- package/dist/plugins/spaces-home-control/listeners/space-activity.listener.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/space-climate-state.listener.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/space-climate-state.listener.js +6 -5
- package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/space-lighting-state.listener.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/space-lighting-state.listener.js +6 -5
- package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/space-sensor-state.listener.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/space-sensor-state.listener.js +9 -8
- package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/websocket-exchange.listener.d.ts +2 -2
- package/dist/{modules/spaces → plugins/spaces-home-control}/listeners/websocket-exchange.listener.js +5 -5
- package/dist/plugins/spaces-home-control/listeners/websocket-exchange.listener.js.map +1 -0
- package/dist/plugins/spaces-home-control/models/config.model.d.ts +5 -0
- package/dist/plugins/spaces-home-control/models/config.model.js +49 -0
- package/dist/plugins/spaces-home-control/models/config.model.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/models/derived-media-endpoint.model.d.ts +2 -2
- package/dist/{modules/spaces → plugins/spaces-home-control}/models/derived-media-endpoint.model.js +4 -4
- package/dist/plugins/spaces-home-control/models/derived-media-endpoint.model.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/models/media-activity-binding.model.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/models/media-activity-binding.model.js +1 -1
- package/dist/plugins/spaces-home-control/models/media-activity-binding.model.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/models/media-activity.model.d.ts +2 -2
- package/dist/{modules/spaces → plugins/spaces-home-control}/models/media-activity.model.js +6 -6
- package/dist/plugins/spaces-home-control/models/media-activity.model.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/models/media-routing.model.d.ts +2 -2
- package/dist/{modules/spaces → plugins/spaces-home-control}/models/media-routing.model.js +4 -4
- package/dist/plugins/spaces-home-control/models/media-routing.model.js.map +1 -0
- package/dist/plugins/spaces-home-control/models/spaces-response.model.d.ts +524 -0
- package/dist/plugins/spaces-home-control/models/spaces-response.model.js +4145 -0
- package/dist/plugins/spaces-home-control/models/spaces-response.model.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/__fixtures__/media-scenario-templates.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/__fixtures__/media-scenario-templates.js +3 -3
- package/dist/plugins/spaces-home-control/services/__fixtures__/media-scenario-templates.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/__fixtures__/media-test-harness.d.ts +1 -1
- package/dist/plugins/spaces-home-control/services/__fixtures__/media-test-harness.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/climate-intent.service.d.ts +5 -5
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/climate-intent.service.js +35 -34
- package/dist/plugins/spaces-home-control/services/climate-intent.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/covers-intent.service.d.ts +5 -5
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/covers-intent.service.js +48 -47
- package/dist/plugins/spaces-home-control/services/covers-intent.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/derived-media-endpoint.service.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/derived-media-endpoint.service.js +28 -27
- package/dist/plugins/spaces-home-control/services/derived-media-endpoint.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/home-control-home-page.resolver.d.ts +4 -0
- package/dist/plugins/spaces-home-control/services/home-control-home-page.resolver.js +20 -0
- package/dist/plugins/spaces-home-control/services/home-control-home-page.resolver.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/home-control-spaces.service.d.ts +24 -0
- package/dist/plugins/spaces-home-control/services/home-control-spaces.service.js +182 -0
- package/dist/plugins/spaces-home-control/services/home-control-spaces.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/lighting-intent.service.d.ts +6 -6
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/lighting-intent.service.js +68 -67
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/media-capability.service.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/media-capability.service.js +20 -19
- package/dist/plugins/spaces-home-control/services/media-capability.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-climate-role.service.d.ts +4 -4
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-climate-role.service.js +18 -17
- package/dist/plugins/spaces-home-control/services/space-climate-role.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-climate-state.service.d.ts +5 -5
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-climate-state.service.js +32 -31
- package/dist/plugins/spaces-home-control/services/space-climate-state.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-context-snapshot.service.d.ts +2 -2
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-context-snapshot.service.js +7 -6
- package/dist/plugins/spaces-home-control/services/space-context-snapshot.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-covers-role.service.d.ts +3 -3
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-covers-role.service.js +28 -25
- package/dist/plugins/spaces-home-control/services/space-covers-role.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-covers-state.service.d.ts +4 -4
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-covers-state.service.js +9 -8
- package/dist/plugins/spaces-home-control/services/space-covers-state.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-intent-base.service.d.ts +1 -1
- package/dist/plugins/spaces-home-control/services/space-intent-base.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-intent.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-lighting-role.service.d.ts +3 -3
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-lighting-role.service.js +25 -22
- package/dist/plugins/spaces-home-control/services/space-lighting-role.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-lighting-state.service.d.ts +3 -3
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-lighting-state.service.js +20 -19
- package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-lighting-tool.service.d.ts +4 -4
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-lighting-tool.service.js +8 -7
- package/dist/plugins/spaces-home-control/services/space-lighting-tool.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-media-activity-binding.service.d.ts +2 -2
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-media-activity-binding.service.js +31 -30
- package/dist/plugins/spaces-home-control/services/space-media-activity-binding.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-media-activity.service.d.ts +3 -3
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-media-activity.service.js +38 -37
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-sensor-role.service.d.ts +4 -4
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-sensor-role.service.js +24 -23
- package/dist/plugins/spaces-home-control/services/space-sensor-role.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-sensor-state.service.d.ts +3 -3
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-sensor-state.service.js +19 -18
- package/dist/plugins/spaces-home-control/services/space-sensor-state.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-suggestion-heartbeat.service.d.ts +2 -2
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-suggestion-heartbeat.service.js +10 -9
- package/dist/plugins/spaces-home-control/services/space-suggestion-heartbeat.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-suggestion.service.d.ts +4 -3
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-suggestion.service.js +8 -7
- package/dist/plugins/spaces-home-control/services/space-suggestion.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-undo-history.service.d.ts +3 -3
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-undo-history.service.js +5 -5
- package/dist/plugins/spaces-home-control/services/space-undo-history.service.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/spaces-seeder.service.d.ts +2 -2
- package/dist/{modules/spaces → plugins/spaces-home-control}/services/spaces-seeder.service.js +5 -5
- package/dist/plugins/spaces-home-control/services/spaces-seeder.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.constants.d.ts +297 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.constants.js +1460 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.constants.js.map +1 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.openapi.d.ts +2 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.openapi.js +155 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.openapi.js.map +1 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.plugin.d.ts +29 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js +334 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js.map +1 -0
- package/dist/plugins/spaces-home-control/spec/index.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/spec/intent-spec-loader.service.d.ts +1 -1
- package/dist/{modules/spaces → plugins/spaces-home-control}/spec/intent-spec-loader.service.js +1 -1
- package/dist/plugins/spaces-home-control/spec/intent-spec-loader.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/spec/intent-spec.types.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/validators/at-least-one-setpoint.validator.js +2 -2
- package/dist/plugins/spaces-home-control/validators/at-least-one-setpoint.validator.js.map +1 -0
- package/dist/plugins/spaces-home-control/validators/setpoint-order-constraint.validator.js.map +1 -0
- package/dist/{modules/spaces → plugins/spaces-home-control}/validators/space-category-constraint.validator.js +1 -1
- package/dist/plugins/spaces-home-control/validators/space-category-constraint.validator.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/controllers/signage-announcements.controller.d.ts +18 -0
- package/dist/plugins/spaces-signage-info-panel/controllers/signage-announcements.controller.js +219 -0
- package/dist/plugins/spaces-signage-info-panel/controllers/signage-announcements.controller.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/dto/create-announcement.dto.d.ts +13 -0
- package/dist/plugins/spaces-signage-info-panel/dto/create-announcement.dto.js +143 -0
- package/dist/plugins/spaces-signage-info-panel/dto/create-announcement.dto.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/dto/create-signage-info-panel-space.dto.d.ts +13 -0
- package/dist/plugins/spaces-signage-info-panel/dto/create-signage-info-panel-space.dto.js +130 -0
- package/dist/plugins/spaces-signage-info-panel/dto/create-signage-info-panel-space.dto.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/dto/reorder-announcements.dto.d.ts +10 -0
- package/dist/plugins/spaces-signage-info-panel/dto/reorder-announcements.dto.js +78 -0
- package/dist/plugins/spaces-signage-info-panel/dto/reorder-announcements.dto.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/dto/update-announcement.dto.d.ts +12 -0
- package/dist/plugins/spaces-signage-info-panel/dto/update-announcement.dto.js +134 -0
- package/dist/plugins/spaces-signage-info-panel/dto/update-announcement.dto.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/dto/update-config.dto.d.ts +5 -0
- package/dist/plugins/spaces-signage-info-panel/dto/update-config.dto.js +34 -0
- package/dist/plugins/spaces-signage-info-panel/dto/update-config.dto.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/dto/update-signage-info-panel-space.dto.d.ts +13 -0
- package/dist/plugins/spaces-signage-info-panel/dto/update-signage-info-panel-space.dto.js +130 -0
- package/dist/plugins/spaces-signage-info-panel/dto/update-signage-info-panel-space.dto.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/entities/signage-announcement.entity.d.ts +13 -0
- package/dist/plugins/spaces-signage-info-panel/entities/signage-announcement.entity.js +161 -0
- package/dist/plugins/spaces-signage-info-panel/entities/signage-announcement.entity.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/entities/signage-info-panel-space.entity.d.ts +13 -0
- package/dist/plugins/spaces-signage-info-panel/entities/signage-info-panel-space.entity.js +147 -0
- package/dist/plugins/spaces-signage-info-panel/entities/signage-info-panel-space.entity.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/models/config.model.d.ts +5 -0
- package/dist/plugins/spaces-signage-info-panel/models/config.model.js +49 -0
- package/dist/plugins/spaces-signage-info-panel/models/config.model.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/models/signage-announcement-response.model.d.ts +8 -0
- package/dist/plugins/spaces-signage-info-panel/models/signage-announcement-response.model.js +46 -0
- package/dist/plugins/spaces-signage-info-panel/models/signage-announcement-response.model.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/services/signage-announcements.service.d.ts +28 -0
- package/dist/plugins/spaces-signage-info-panel/services/signage-announcements.service.js +181 -0
- package/dist/plugins/spaces-signage-info-panel/services/signage-announcements.service.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/services/signage-home-page.resolver.d.ts +4 -0
- package/dist/plugins/spaces-signage-info-panel/services/signage-home-page.resolver.js +20 -0
- package/dist/plugins/spaces-signage-info-panel/services/signage-home-page.resolver.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/services/signage-info-panel-reset.service.d.ts +14 -0
- package/dist/plugins/spaces-signage-info-panel/services/signage-info-panel-reset.service.js +59 -0
- package/dist/plugins/spaces-signage-info-panel/services/signage-info-panel-reset.service.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.constants.d.ts +17 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.constants.js +23 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.constants.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.exceptions.d.ts +9 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.exceptions.js +25 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.exceptions.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.openapi.d.ts +2 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.openapi.js +31 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.openapi.js.map +1 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.plugin.d.ts +23 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.plugin.js +159 -0
- package/dist/plugins/spaces-signage-info-panel/spaces-signage-info-panel.plugin.js.map +1 -0
- package/dist/plugins/spaces-synthetic-entry/dto/create-entry-space.dto.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-entry/dto/create-entry-space.dto.js +31 -0
- package/dist/plugins/spaces-synthetic-entry/dto/create-entry-space.dto.js.map +1 -0
- package/dist/plugins/spaces-synthetic-entry/dto/update-config.dto.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-entry/dto/update-config.dto.js +34 -0
- package/dist/plugins/spaces-synthetic-entry/dto/update-config.dto.js.map +1 -0
- package/dist/plugins/spaces-synthetic-entry/dto/update-entry-space.dto.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-entry/dto/update-entry-space.dto.js +31 -0
- package/dist/plugins/spaces-synthetic-entry/dto/update-entry-space.dto.js.map +1 -0
- package/dist/plugins/spaces-synthetic-entry/entities/entry-space.entity.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-entry/entities/entry-space.entity.js +39 -0
- package/dist/plugins/spaces-synthetic-entry/entities/entry-space.entity.js.map +1 -0
- package/dist/plugins/spaces-synthetic-entry/models/config.model.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-entry/models/config.model.js +49 -0
- package/dist/plugins/spaces-synthetic-entry/models/config.model.js.map +1 -0
- package/dist/plugins/spaces-synthetic-entry/spaces-synthetic-entry.constants.d.ts +7 -0
- package/dist/plugins/spaces-synthetic-entry/spaces-synthetic-entry.constants.js +11 -0
- package/dist/plugins/spaces-synthetic-entry/spaces-synthetic-entry.constants.js.map +1 -0
- package/dist/plugins/spaces-synthetic-entry/spaces-synthetic-entry.openapi.d.ts +2 -0
- package/dist/plugins/spaces-synthetic-entry/spaces-synthetic-entry.openapi.js +16 -0
- package/dist/plugins/spaces-synthetic-entry/spaces-synthetic-entry.openapi.js.map +1 -0
- package/dist/plugins/spaces-synthetic-entry/spaces-synthetic-entry.plugin.d.ts +15 -0
- package/dist/plugins/spaces-synthetic-entry/spaces-synthetic-entry.plugin.js +124 -0
- package/dist/plugins/spaces-synthetic-entry/spaces-synthetic-entry.plugin.js.map +1 -0
- package/dist/plugins/spaces-synthetic-master/dto/create-master-space.dto.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-master/dto/create-master-space.dto.js +31 -0
- package/dist/plugins/spaces-synthetic-master/dto/create-master-space.dto.js.map +1 -0
- package/dist/plugins/spaces-synthetic-master/dto/update-config.dto.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-master/dto/update-config.dto.js +34 -0
- package/dist/plugins/spaces-synthetic-master/dto/update-config.dto.js.map +1 -0
- package/dist/plugins/spaces-synthetic-master/dto/update-master-space.dto.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-master/dto/update-master-space.dto.js +31 -0
- package/dist/plugins/spaces-synthetic-master/dto/update-master-space.dto.js.map +1 -0
- package/dist/plugins/spaces-synthetic-master/entities/master-space.entity.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-master/entities/master-space.entity.js +39 -0
- package/dist/plugins/spaces-synthetic-master/entities/master-space.entity.js.map +1 -0
- package/dist/plugins/spaces-synthetic-master/models/config.model.d.ts +5 -0
- package/dist/plugins/spaces-synthetic-master/models/config.model.js +49 -0
- package/dist/plugins/spaces-synthetic-master/models/config.model.js.map +1 -0
- package/dist/plugins/spaces-synthetic-master/spaces-synthetic-master.constants.d.ts +7 -0
- package/dist/plugins/spaces-synthetic-master/spaces-synthetic-master.constants.js +11 -0
- package/dist/plugins/spaces-synthetic-master/spaces-synthetic-master.constants.js.map +1 -0
- package/dist/plugins/spaces-synthetic-master/spaces-synthetic-master.openapi.d.ts +2 -0
- package/dist/plugins/spaces-synthetic-master/spaces-synthetic-master.openapi.js +16 -0
- package/dist/plugins/spaces-synthetic-master/spaces-synthetic-master.openapi.js.map +1 -0
- package/dist/plugins/spaces-synthetic-master/spaces-synthetic-master.plugin.d.ts +15 -0
- package/dist/plugins/spaces-synthetic-master/spaces-synthetic-master.plugin.js +124 -0
- package/dist/plugins/spaces-synthetic-master/spaces-synthetic-master.plugin.js.map +1 -0
- package/dist/plugins/tiles-device-preview/tiles-device-preview.plugin.js +16 -22
- package/dist/plugins/tiles-device-preview/tiles-device-preview.plugin.js.map +1 -1
- package/dist/plugins/tiles-scene/tiles-scene.plugin.js +15 -21
- package/dist/plugins/tiles-scene/tiles-scene.plugin.js.map +1 -1
- package/dist/plugins/tiles-time/tiles-time.plugin.js +13 -19
- package/dist/plugins/tiles-time/tiles-time.plugin.js.map +1 -1
- package/dist/plugins/tiles-weather/tiles-weather.plugin.js +16 -19
- package/dist/plugins/tiles-weather/tiles-weather.plugin.js.map +1 -1
- package/dist/plugins/weather-open-meteo/weather-open-meteo.plugin.js +32 -21
- package/dist/plugins/weather-open-meteo/weather-open-meteo.plugin.js.map +1 -1
- package/dist/plugins/weather-openweathermap/weather-openweathermap.plugin.js +22 -23
- package/dist/plugins/weather-openweathermap/weather-openweathermap.plugin.js.map +1 -1
- package/dist/plugins/weather-openweathermap-onecall/weather-openweathermap-onecall.plugin.js +27 -23
- package/dist/plugins/weather-openweathermap-onecall/weather-openweathermap-onecall.plugin.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -6
- package/dist/modules/spaces/dto/climate-intent.dto.js.map +0 -1
- package/dist/modules/spaces/dto/climate-role.dto.js.map +0 -1
- package/dist/modules/spaces/dto/covers-intent.dto.js.map +0 -1
- package/dist/modules/spaces/dto/covers-role.dto.js.map +0 -1
- package/dist/modules/spaces/dto/lighting-intent.dto.js.map +0 -1
- package/dist/modules/spaces/dto/lighting-role.dto.js.map +0 -1
- package/dist/modules/spaces/dto/media-activity-binding.dto.js.map +0 -1
- package/dist/modules/spaces/dto/sensor-role.dto.js.map +0 -1
- package/dist/modules/spaces/dto/status-widget.dto.js.map +0 -1
- package/dist/modules/spaces/dto/suggestion.dto.js.map +0 -1
- package/dist/modules/spaces/entities/space-active-media-activity.entity.d.ts +0 -12
- package/dist/modules/spaces/entities/space-active-media-activity.entity.js.map +0 -1
- package/dist/modules/spaces/entities/space-climate-role.entity.d.ts +0 -14
- package/dist/modules/spaces/entities/space-climate-role.entity.js.map +0 -1
- package/dist/modules/spaces/entities/space-covers-role.entity.d.ts +0 -14
- package/dist/modules/spaces/entities/space-covers-role.entity.js.map +0 -1
- package/dist/modules/spaces/entities/space-lighting-role.entity.d.ts +0 -14
- package/dist/modules/spaces/entities/space-lighting-role.entity.js.map +0 -1
- package/dist/modules/spaces/entities/space-media-activity-binding.entity.d.ts +0 -16
- package/dist/modules/spaces/entities/space-media-activity-binding.entity.js.map +0 -1
- package/dist/modules/spaces/entities/space-sensor-role.entity.d.ts +0 -14
- package/dist/modules/spaces/entities/space-sensor-role.entity.js.map +0 -1
- package/dist/modules/spaces/listeners/space-activity.listener.js.map +0 -1
- package/dist/modules/spaces/listeners/space-climate-state.listener.js.map +0 -1
- package/dist/modules/spaces/listeners/space-lighting-state.listener.js.map +0 -1
- package/dist/modules/spaces/listeners/space-sensor-state.listener.js.map +0 -1
- package/dist/modules/spaces/listeners/websocket-exchange.listener.js.map +0 -1
- package/dist/modules/spaces/models/derived-media-endpoint.model.js.map +0 -1
- package/dist/modules/spaces/models/media-activity-binding.model.js.map +0 -1
- package/dist/modules/spaces/models/media-activity.model.js.map +0 -1
- package/dist/modules/spaces/models/media-routing.model.js.map +0 -1
- package/dist/modules/spaces/services/__fixtures__/media-scenario-templates.js.map +0 -1
- package/dist/modules/spaces/services/__fixtures__/media-test-harness.js.map +0 -1
- package/dist/modules/spaces/services/climate-intent.service.js.map +0 -1
- package/dist/modules/spaces/services/covers-intent.service.js.map +0 -1
- package/dist/modules/spaces/services/derived-media-endpoint.service.js.map +0 -1
- package/dist/modules/spaces/services/lighting-intent.service.js.map +0 -1
- package/dist/modules/spaces/services/media-capability.service.js.map +0 -1
- package/dist/modules/spaces/services/space-climate-role.service.js.map +0 -1
- package/dist/modules/spaces/services/space-climate-state.service.js.map +0 -1
- package/dist/modules/spaces/services/space-context-snapshot.service.js.map +0 -1
- package/dist/modules/spaces/services/space-covers-role.service.js.map +0 -1
- package/dist/modules/spaces/services/space-covers-state.service.js.map +0 -1
- package/dist/modules/spaces/services/space-intent-base.service.js.map +0 -1
- package/dist/modules/spaces/services/space-intent.service.js.map +0 -1
- package/dist/modules/spaces/services/space-lighting-role.service.js.map +0 -1
- package/dist/modules/spaces/services/space-lighting-state.service.js.map +0 -1
- package/dist/modules/spaces/services/space-lighting-tool.service.js.map +0 -1
- package/dist/modules/spaces/services/space-media-activity-binding.service.js.map +0 -1
- package/dist/modules/spaces/services/space-media-activity.service.js.map +0 -1
- package/dist/modules/spaces/services/space-sensor-role.service.js.map +0 -1
- package/dist/modules/spaces/services/space-sensor-state.service.js.map +0 -1
- package/dist/modules/spaces/services/space-suggestion-heartbeat.service.js.map +0 -1
- package/dist/modules/spaces/services/space-suggestion.service.js.map +0 -1
- package/dist/modules/spaces/services/space-undo-history.service.js.map +0 -1
- package/dist/modules/spaces/services/spaces-seeder.service.js.map +0 -1
- package/dist/modules/spaces/spec/definitions/climate-intents.yaml +0 -94
- package/dist/modules/spaces/spec/definitions/covers-modes.yaml +0 -83
- package/dist/modules/spaces/spec/definitions/enums.yaml +0 -119
- package/dist/modules/spaces/spec/definitions/lighting-intents.yaml +0 -181
- package/dist/modules/spaces/spec/definitions/lighting-modes.yaml +0 -119
- package/dist/modules/spaces/spec/definitions/suggestions.yaml +0 -47
- package/dist/modules/spaces/spec/index.js.map +0 -1
- package/dist/modules/spaces/spec/intent-spec-loader.service.js.map +0 -1
- package/dist/modules/spaces/spec/intent-spec.types.js.map +0 -1
- package/dist/modules/spaces/validators/at-least-one-setpoint.validator.js.map +0 -1
- package/dist/modules/spaces/validators/setpoint-order-constraint.validator.js.map +0 -1
- package/dist/modules/spaces/validators/space-category-constraint.validator.js.map +0 -1
- package/dist/modules/storage/plugins/influx-v1/influx-v1.config.model.js.map +0 -1
- package/dist/modules/storage/plugins/influx-v1/influx-v1.constants.js.map +0 -1
- package/dist/modules/storage/plugins/influx-v1/influx-v1.module.d.ts +0 -17
- package/dist/modules/storage/plugins/influx-v1/influx-v1.module.js +0 -94
- package/dist/modules/storage/plugins/influx-v1/influx-v1.module.js.map +0 -1
- package/dist/modules/storage/plugins/influx-v1/influx-v1.openapi.js +0 -7
- package/dist/modules/storage/plugins/influx-v1/influx-v1.openapi.js.map +0 -1
- package/dist/modules/storage/plugins/influx-v1/influx-v1.plugin.js.map +0 -1
- package/dist/modules/storage/plugins/influx-v1/influx-v1.update-config.dto.js.map +0 -1
- package/dist/modules/storage/plugins/memory/in-memory-timeseries.store.js.map +0 -1
- package/dist/modules/storage/plugins/memory/influxql-parser.js.map +0 -1
- package/dist/modules/storage/plugins/memory/memory.config.model.js.map +0 -1
- package/dist/modules/storage/plugins/memory/memory.constants.js.map +0 -1
- package/dist/modules/storage/plugins/memory/memory.module.d.ts +0 -13
- package/dist/modules/storage/plugins/memory/memory.module.js +0 -75
- package/dist/modules/storage/plugins/memory/memory.module.js.map +0 -1
- package/dist/modules/storage/plugins/memory/memory.openapi.js +0 -7
- package/dist/modules/storage/plugins/memory/memory.openapi.js.map +0 -1
- package/dist/modules/storage/plugins/memory/memory.plugin.js.map +0 -1
- package/dist/modules/storage/plugins/memory/memory.update-config.dto.js.map +0 -1
- /package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.constants.d.ts +0 -0
- /package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.constants.js +0 -0
- /package/dist/{modules/storage/plugins/memory/memory.constants.d.ts → plugins/memory-storage/memory-storage.constants.d.ts} +0 -0
- /package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/influxql-parser.d.ts +0 -0
- /package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/influxql-parser.js +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/dto/status-widget.dto.d.ts +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/dto/status-widget.dto.js +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/services/__fixtures__/media-test-harness.js +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-intent-base.service.js +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-intent.service.d.ts +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/services/space-intent.service.js +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/spec/index.d.ts +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/spec/index.js +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/spec/intent-spec.types.d.ts +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/spec/intent-spec.types.js +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/validators/at-least-one-setpoint.validator.d.ts +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/validators/setpoint-order-constraint.validator.d.ts +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/validators/setpoint-order-constraint.validator.js +0 -0
- /package/dist/{modules/spaces → plugins/spaces-home-control}/validators/space-category-constraint.validator.d.ts +0 -0
|
@@ -63,28 +63,44 @@ let UsersModule = class UsersModule {
|
|
|
63
63
|
name: 'Users',
|
|
64
64
|
description: 'User accounts and roles management',
|
|
65
65
|
author: 'FastyBird',
|
|
66
|
-
readme: `# Users
|
|
66
|
+
readme: `# Users
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
> Module · by FastyBird
|
|
69
|
+
|
|
70
|
+
Manages user accounts and role-based access control for the Smart Panel. The auth module verifies who you are; this module decides what you're allowed to do and stores the human-facing details (display name, email, language, avatar).
|
|
71
|
+
|
|
72
|
+
## What it gives you
|
|
73
|
+
|
|
74
|
+
- A clear role hierarchy — \`owner\` ➜ \`admin\` ➜ \`user\` — that every module can rely on through standard guards / decorators
|
|
75
|
+
- A bootstrapping safeguard: there is always exactly one owner; deleting or demoting it is refused
|
|
76
|
+
- Per-user preferences (language, theme, time-zone, dashboard layout overrides) so the same backend can serve mixed households
|
|
69
77
|
|
|
70
78
|
## Features
|
|
71
79
|
|
|
72
|
-
- **
|
|
73
|
-
- **Role-
|
|
74
|
-
- **Profile
|
|
75
|
-
- **
|
|
80
|
+
- **Account management** — create, update and delete user accounts; password changes are routed through the auth module's hashing logic
|
|
81
|
+
- **Role-based access** — \`@Roles()\` decorator and a registered guard enforce role checks across every other module without each module reinventing it
|
|
82
|
+
- **Profile management** — users can edit their own display name, email, password and preferences; admins can edit anyone except the owner
|
|
83
|
+
- **Bootstrapping** — first run promotes a single account to \`owner\` via the auth CLI; this module guarantees that role always exists
|
|
84
|
+
- **Factory reset** — user data (except the owner) is cleared on factory reset; the owner's password is preserved unless explicitly reset
|
|
85
|
+
- **Validation** — \`UserExists\` constraint exported for any module that wants to bind data to a user (favourites, preferences, audit trails)
|
|
76
86
|
|
|
77
87
|
## User Roles
|
|
78
88
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
89
|
+
| Role | Description |
|
|
90
|
+
|------|-------------|
|
|
91
|
+
| \`owner\` | Full system access; can manage every setting and other users; the only role that can perform factory reset / power actions |
|
|
92
|
+
| \`admin\` | Can manage devices, displays, dashboards and most configuration; cannot remove or demote the owner |
|
|
93
|
+
| \`user\` | Can view dashboards and operate devices they have access to; cannot change configuration |
|
|
94
|
+
|
|
95
|
+
## API Endpoints
|
|
96
|
+
|
|
97
|
+
- \`GET|POST|PATCH|DELETE /api/v1/modules/users/users\` — manage users
|
|
98
|
+
- \`GET /api/v1/modules/users/users/me\` — the current user's profile
|
|
99
|
+
- \`PATCH /api/v1/modules/users/users/me\` — update your own profile
|
|
82
100
|
|
|
83
|
-
##
|
|
101
|
+
## CLI Commands
|
|
84
102
|
|
|
85
|
-
-
|
|
86
|
-
- User sessions are managed through JWT tokens
|
|
87
|
-
- Role-based guards protect sensitive endpoints`,
|
|
103
|
+
- \`pnpm run cli users:list\` — print the configured users to the console`,
|
|
88
104
|
links: {
|
|
89
105
|
documentation: 'https://smart-panel.fastybird.com/docs',
|
|
90
106
|
repository: 'https://github.com/FastyBird/smart-panel',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.module.js","sourceRoot":"","sources":["../../../src/modules/users/users.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AACtD,uCAAyC;AACzC,6CAAgD;AAEhD,gGAA0F;AAC1F,kFAA8E;AAC9E,2DAAoD;AACpD,kFAA6E;AAC7E,+EAAiE;AACjE,yGAAmG;AACnG,8DAA0D;AAC1D,sGAAgG;AAEhG,sEAAiE;AACjE,qEAAiE;AACjE,+DAA+D;AAC/D,0DAAqD;AACrD,sDAAkD;AAClD,wDAAyD;AACzD,0EAAqE;AACrE,0EAAqE;AACrE,4DAAwD;AACxD,uDAAmH;AACnH,mDAA6D;AAC7D,oGAA8F;AAuBvF,IAAM,WAAW,GAAjB,MAAM,WAAW;IACvB,YACkB,WAA+B,EAC/B,YAAgC,EAChC,oBAAiD,EACjD,YAAiC,EACjC,eAA6C,EAC7C,oBAA8C,EAC9C,iBAAoC;QANpC,gBAAW,GAAX,WAAW,CAAoB;QAC/B,iBAAY,GAAZ,YAAY,CAAoB;QAChC,yBAAoB,GAApB,oBAAoB,CAA6B;QACjD,iBAAY,GAAZ,YAAY,CAAqB;QACjC,oBAAe,GAAf,eAAe,CAA8B;QAC7C,yBAAoB,GAApB,oBAAoB,CAA0B;QAC9C,sBAAiB,GAAjB,iBAAiB,CAAmB;IACnD,CAAC;IAEJ,YAAY;QAEX,IAAI,CAAC,YAAY,CAAC,QAAQ,CACzB,mCAAiB,EACjB,KAAK,IAAmB,EAAE;YACzB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC,EACD,EAAE,CACF,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CACjC,mCAAiB,EACjB,KAAK,IAAoD,EAAE;YAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,EACD,GAAG,CACH,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,0CAA0B,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAyC;YACjF,IAAI,EAAE,mCAAiB;YACvB,KAAK,EAAE,+BAAgB;YACvB,SAAS,EAAE,wCAAoB;SAC/B,CAAC,CAAC;QAGH,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,mCAAiB;YACvB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,oCAAoC;YACjD,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"users.module.js","sourceRoot":"","sources":["../../../src/modules/users/users.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,32 +66,34 @@ let WeatherModule = class WeatherModule {
|
|
|
66
66
|
name: 'Weather',
|
|
67
67
|
description: 'Weather forecasts and geolocation services',
|
|
68
68
|
author: 'FastyBird',
|
|
69
|
-
readme: `# Weather
|
|
69
|
+
readme: `# Weather
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
> Module · by FastyBird
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
Aggregates weather data for the Smart Panel. Manages a list of named locations, delegates the actual data fetching to provider plugins, normalises the result into a single shape, and pushes updates to the panel and dashboards in real time.
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
- **Location Management** - Configure weather locations by coordinates or city name
|
|
77
|
-
- **Provider System** - Pluggable weather data providers
|
|
78
|
-
- **Historical Data** - Store and retrieve past weather data via storage
|
|
79
|
-
- **Multiple Locations** - Support for multiple weather locations
|
|
75
|
+
## What it gives you
|
|
80
76
|
|
|
81
|
-
|
|
77
|
+
- One canonical weather model regardless of which provider you use, so tiles, pages and the assistant don't care whether the bytes came from Open-Meteo or OpenWeather
|
|
78
|
+
- A long-running scheduler that keeps every location fresh in the background, with automatic retry / back-off on provider errors
|
|
79
|
+
- Time-series storage of past observations so dashboards can show trends, not just snapshots
|
|
82
80
|
|
|
83
|
-
|
|
81
|
+
## Features
|
|
84
82
|
|
|
85
|
-
- **
|
|
86
|
-
- **
|
|
83
|
+
- **Multiple locations** — keep as many locations as you need (home, weekend cabin, parents' place, …) each with its own provider configuration
|
|
84
|
+
- **Provider plugins** — pluggable data sources; pick a provider per location at creation time, swap providers without losing the location's history
|
|
85
|
+
- **Background polling** — the module schedules refreshes for every location and re-tries failures with exponential back-off; the panel never has to call the provider directly
|
|
86
|
+
- **Forecasts** — current conditions plus a multi-day outlook (resolution depends on the chosen provider)
|
|
87
|
+
- **Rich, normalised data** — temperature (current / min / max), humidity, pressure, wind speed and direction, condition code and label, sunrise / sunset, UV index, precipitation
|
|
88
|
+
- **Historical data** — every observation is written to the storage module as time-series, exposed through the \`/history\` endpoint
|
|
89
|
+
- **Real-time push** — fresh observations are broadcast over WebSocket so panel weather tiles update without polling
|
|
90
|
+
- **Validation** — location DTOs are validated by the active provider plugin so an invalid coordinate / city / API key fails fast at the API layer
|
|
87
91
|
|
|
88
|
-
##
|
|
92
|
+
## API Endpoints
|
|
89
93
|
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
- Sunrise and sunset times
|
|
94
|
-
- Multi-day forecasts`,
|
|
94
|
+
- \`GET|POST|PATCH|DELETE /api/v1/modules/weather/locations\` — manage locations
|
|
95
|
+
- \`GET /api/v1/modules/weather/locations/:id\` — current weather for a location
|
|
96
|
+
- \`GET /api/v1/modules/weather/locations/:id/history\` — historical observations`,
|
|
95
97
|
links: {
|
|
96
98
|
documentation: 'https://smart-panel.fastybird.com/docs',
|
|
97
99
|
repository: 'https://github.com/FastyBird/smart-panel',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weather.module.js","sourceRoot":"","sources":["../../../src/modules/weather/weather.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AACtD,6CAAgD;AAEhD,gGAA0F;AAC1F,kFAA8E;AAC9E,2DAAoD;AACpD,kFAA6E;AAC7E,8DAA0D;AAC1D,+EAAiE;AACjE,yGAAmG;AACnG,8DAA0D;AAC1D,sGAAgG;AAEhG,yEAAqE;AACrE,6EAAyE;AACzE,yEAAqE;AACrE,+DAAiE;AACjE,kEAAoE;AACpE,wDAA2D;AAC3D,4FAAsF;AACtF,oEAAgE;AAChE,0EAA4E;AAC5E,gFAA2E;AAC3E,oGAA8F;AAC9F,8EAAyE;AACzE,gEAA4D;AAC5D,2DAI6B;AAC7B,uDAAiE;AA2B1D,IAAM,aAAa,GAAnB,MAAM,aAAa;IACzB,YACkB,eAA6C,EAC7C,oBAA8C,EAC9C,iBAAoC,EACpC,YAAkC,EAClC,WAAsC,EACtC,YAAiC,EACjC,oBAAiD;QANjD,oBAAe,GAAf,eAAe,CAA8B;QAC7C,yBAAoB,GAApB,oBAAoB,CAA0B;QAC9C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAsB;QAClC,gBAAW,GAAX,WAAW,CAA2B;QACtC,iBAAY,GAAZ,YAAY,CAAqB;QACjC,yBAAoB,GAApB,oBAAoB,CAA6B;IAChE,CAAC;IAEJ,YAAY;QAEX,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CACjC,uCAAmB,EACnB,KAAK,IAAoD,EAAE;YAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,EACD,GAAG,CACH,CAAC;QAGF,IAAI,CAAC,YAAY,CAAC,QAAQ,CACzB,uCAAmB,EACnB,KAAK,IAAmB,EAAE;YACzB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC,EACD,GAAG,CACH,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAA6C;YACrF,IAAI,EAAE,uCAAmB;YACzB,KAAK,EAAE,iCAAkB;YACzB,SAAS,EAAE,0CAAsB;SACjC,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,8CAA4B,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,uCAAmB;YACzB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,4CAA4C;YACzD,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"weather.module.js","sourceRoot":"","sources":["../../../src/modules/weather/weather.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,35 +12,60 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.ClientUserDto = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
16
|
const auth_constants_1 = require("../../auth/auth.constants");
|
|
16
17
|
const users_constants_1 = require("../../users/users.constants");
|
|
17
18
|
class ClientUserDto {
|
|
18
19
|
}
|
|
19
20
|
exports.ClientUserDto = ClientUserDto;
|
|
20
21
|
__decorate([
|
|
22
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
23
|
+
description: 'User ID',
|
|
24
|
+
type: 'string',
|
|
25
|
+
nullable: true,
|
|
26
|
+
}),
|
|
21
27
|
(0, class_transformer_1.Expose)(),
|
|
22
28
|
(0, class_validator_1.IsOptional)(),
|
|
23
29
|
(0, class_validator_1.IsString)(),
|
|
24
30
|
__metadata("design:type", String)
|
|
25
31
|
], ClientUserDto.prototype, "id", void 0);
|
|
26
32
|
__decorate([
|
|
33
|
+
(0, swagger_1.ApiProperty)({
|
|
34
|
+
description: 'User role',
|
|
35
|
+
enum: users_constants_1.UserRole,
|
|
36
|
+
}),
|
|
27
37
|
(0, class_transformer_1.Expose)(),
|
|
28
38
|
(0, class_validator_1.IsEnum)(users_constants_1.UserRole),
|
|
29
39
|
__metadata("design:type", String)
|
|
30
40
|
], ClientUserDto.prototype, "role", void 0);
|
|
31
41
|
__decorate([
|
|
42
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
43
|
+
description: 'Client type',
|
|
44
|
+
type: 'string',
|
|
45
|
+
enum: ['user', 'token'],
|
|
46
|
+
}),
|
|
32
47
|
(0, class_transformer_1.Expose)(),
|
|
33
48
|
(0, class_validator_1.IsOptional)(),
|
|
34
49
|
(0, class_validator_1.IsString)(),
|
|
35
50
|
__metadata("design:type", String)
|
|
36
51
|
], ClientUserDto.prototype, "type", void 0);
|
|
37
52
|
__decorate([
|
|
53
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
54
|
+
name: 'owner_type',
|
|
55
|
+
description: 'Token owner type',
|
|
56
|
+
enum: auth_constants_1.TokenOwnerType,
|
|
57
|
+
}),
|
|
38
58
|
(0, class_transformer_1.Expose)({ name: 'owner_type' }),
|
|
39
59
|
(0, class_validator_1.IsOptional)(),
|
|
40
60
|
(0, class_validator_1.IsEnum)(auth_constants_1.TokenOwnerType),
|
|
41
61
|
__metadata("design:type", String)
|
|
42
62
|
], ClientUserDto.prototype, "ownerType", void 0);
|
|
43
63
|
__decorate([
|
|
64
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
65
|
+
name: 'token_id',
|
|
66
|
+
description: 'Token ID',
|
|
67
|
+
type: 'string',
|
|
68
|
+
}),
|
|
44
69
|
(0, class_transformer_1.Expose)({ name: 'token_id' }),
|
|
45
70
|
(0, class_validator_1.IsOptional)(),
|
|
46
71
|
(0, class_validator_1.IsString)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-user.dto.js","sourceRoot":"","sources":["../../../../src/modules/websocket/dto/client-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA2C;AAC3C,qDAA+D;AAE/D,8DAA2D;AAC3D,iEAAuD;AAIvD,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"client-user.dto.js","sourceRoot":"","sources":["../../../../src/modules/websocket/dto/client-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA2C;AAC3C,qDAA+D;AAE/D,6CAAmE;AAEnE,8DAA2D;AAC3D,iEAAuD;AAIvD,MAAa,aAAa;CAgDzB;AAhDD,sCAgDC;AAvCA;IARC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACd,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yCACQ;AAQnB;IANC,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,0BAAQ;KACd,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAM,EAAC,0BAAQ,CAAC;;2CACF;AAUf;IARC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;KACvB,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2CACO;AAUlB;IARC,IAAA,6BAAmB,EAAC;QACpB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE,+BAAc;KACpB,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC9B,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,+BAAc,CAAC;;gDACI;AAU3B;IARC,IAAA,6BAAmB,EAAC;QACpB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,QAAQ;KACd,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC5B,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8CACM"}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.WsClientDto = exports.WsClientEventType = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
16
|
const client_user_dto_1 = require("./client-user.dto");
|
|
16
17
|
var WsClientEventType;
|
|
17
18
|
(function (WsClientEventType) {
|
|
@@ -23,27 +24,52 @@ class WsClientDto {
|
|
|
23
24
|
}
|
|
24
25
|
exports.WsClientDto = WsClientDto;
|
|
25
26
|
__decorate([
|
|
27
|
+
(0, swagger_1.ApiProperty)({
|
|
28
|
+
name: 'socket_id',
|
|
29
|
+
description: 'WebSocket client socket ID',
|
|
30
|
+
type: 'string',
|
|
31
|
+
}),
|
|
26
32
|
(0, class_transformer_1.Expose)({ name: 'socket_id' }),
|
|
27
33
|
(0, class_validator_1.IsString)(),
|
|
28
34
|
__metadata("design:type", String)
|
|
29
35
|
], WsClientDto.prototype, "socketId", void 0);
|
|
30
36
|
__decorate([
|
|
37
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
38
|
+
name: 'ip_address',
|
|
39
|
+
description: 'Client IP address',
|
|
40
|
+
type: 'string',
|
|
41
|
+
nullable: true,
|
|
42
|
+
}),
|
|
31
43
|
(0, class_transformer_1.Expose)({ name: 'ip_address' }),
|
|
32
44
|
(0, class_validator_1.IsOptional)(),
|
|
33
45
|
(0, class_validator_1.IsString)(),
|
|
34
46
|
__metadata("design:type", String)
|
|
35
47
|
], WsClientDto.prototype, "ipAddress", void 0);
|
|
36
48
|
__decorate([
|
|
49
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
50
|
+
description: 'Connected user information',
|
|
51
|
+
type: () => client_user_dto_1.ClientUserDto,
|
|
52
|
+
nullable: true,
|
|
53
|
+
}),
|
|
37
54
|
(0, class_transformer_1.Expose)(),
|
|
38
55
|
(0, class_validator_1.IsOptional)(),
|
|
39
56
|
__metadata("design:type", client_user_dto_1.ClientUserDto)
|
|
40
57
|
], WsClientDto.prototype, "user", void 0);
|
|
41
58
|
__decorate([
|
|
59
|
+
(0, swagger_1.ApiProperty)({
|
|
60
|
+
name: 'event_type',
|
|
61
|
+
description: 'WebSocket client event type',
|
|
62
|
+
enum: WsClientEventType,
|
|
63
|
+
}),
|
|
42
64
|
(0, class_transformer_1.Expose)({ name: 'event_type' }),
|
|
43
65
|
(0, class_validator_1.IsEnum)(WsClientEventType),
|
|
44
66
|
__metadata("design:type", String)
|
|
45
67
|
], WsClientDto.prototype, "eventType", void 0);
|
|
46
68
|
__decorate([
|
|
69
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
70
|
+
description: 'Event timestamp',
|
|
71
|
+
type: 'string',
|
|
72
|
+
}),
|
|
47
73
|
(0, class_transformer_1.Expose)(),
|
|
48
74
|
(0, class_validator_1.IsOptional)(),
|
|
49
75
|
(0, class_validator_1.IsString)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-client.dto.js","sourceRoot":"","sources":["../../../../src/modules/websocket/dto/ws-client.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA2C;AAC3C,qDAA+D;AAE/D,uDAAkD;AAElD,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC5B,4CAAuB,CAAA;IACvB,kDAA6B,CAAA;IAC7B,kCAAa,CAAA;AACd,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAED,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"ws-client.dto.js","sourceRoot":"","sources":["../../../../src/modules/websocket/dto/ws-client.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA2C;AAC3C,qDAA+D;AAE/D,6CAAmE;AAEnE,uDAAkD;AAElD,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC5B,4CAAuB,CAAA;IACvB,kDAA6B,CAAA;IAC7B,kCAAa,CAAA;AACd,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAED,MAAa,WAAW;CA+CvB;AA/CD,kCA+CC;AAvCA;IAPC,IAAA,qBAAW,EAAC;QACZ,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,4BAA4B;QACzC,IAAI,EAAE,QAAQ;KACd,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC7B,IAAA,0BAAQ,GAAE;;6CACM;AAWjB;IATC,IAAA,6BAAmB,EAAC;QACpB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACd,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC9B,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8CACe;AAS1B;IAPC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,4BAA4B;QACzC,IAAI,EAAE,GAAG,EAAE,CAAC,+BAAa;QACzB,QAAQ,EAAE,IAAI;KACd,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,4BAAU,GAAE;8BACN,+BAAa;yCAAQ;AAS5B;IAPC,IAAA,qBAAW,EAAC;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,iBAAiB;KACvB,CAAC;IACD,IAAA,0BAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC9B,IAAA,wBAAM,EAAC,iBAAiB,CAAC;;8CACG;AAS7B;IAPC,IAAA,6BAAmB,EAAC;QACpB,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,QAAQ;KACd,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;8CACQ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Socket } from 'socket.io';
|
|
1
|
+
import { Server, Socket } from 'socket.io';
|
|
2
2
|
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
3
3
|
import { OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit } from '@nestjs/websockets';
|
|
4
4
|
import { CommandMessageDto } from '../dto/command-message.dto';
|
|
@@ -17,7 +17,7 @@ export declare class WebsocketGateway implements OnGatewayInit, OnGatewayConnect
|
|
|
17
17
|
get enabled(): boolean;
|
|
18
18
|
get clientsCount(): number;
|
|
19
19
|
getRoomClientsCount(room: string): number;
|
|
20
|
-
afterInit(): void;
|
|
20
|
+
afterInit(server?: Server): void;
|
|
21
21
|
handleConnection(client: Socket): Promise<void>;
|
|
22
22
|
handleDisconnect(client: Socket): void;
|
|
23
23
|
handleSubscribeExchange(_message: CommandMessageDto, client: Socket): Promise<boolean>;
|
|
@@ -18,6 +18,7 @@ const class_transformer_1 = require("class-transformer");
|
|
|
18
18
|
const class_validator_1 = require("class-validator");
|
|
19
19
|
const socket_io_1 = require("socket.io");
|
|
20
20
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
21
|
+
const throttler_1 = require("@nestjs/throttler");
|
|
21
22
|
const websockets_1 = require("@nestjs/websockets");
|
|
22
23
|
const logger_1 = require("../../../common/logger");
|
|
23
24
|
const transform_utils_1 = require("../../../common/utils/transform.utils");
|
|
@@ -53,16 +54,29 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
|
53
54
|
getRoomClientsCount(room) {
|
|
54
55
|
return this.server?.of('/')?.adapter?.rooms?.get(room)?.size ?? 0;
|
|
55
56
|
}
|
|
56
|
-
afterInit() {
|
|
57
|
+
afterInit(server) {
|
|
58
|
+
const io = server ?? this.server;
|
|
59
|
+
io?.use((client, next) => {
|
|
60
|
+
this.wsAuthService
|
|
61
|
+
.validateClient(client)
|
|
62
|
+
.then((isAllowed) => {
|
|
63
|
+
if (!isAllowed) {
|
|
64
|
+
this.logger.warn(`Unauthorized client is trying to connect: ${client.handshake?.headers.host}`);
|
|
65
|
+
next(new websocket_exceptions_1.WebsocketNotAllowedException('Unauthorized'));
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
next();
|
|
69
|
+
})
|
|
70
|
+
.catch((error) => {
|
|
71
|
+
const err = error;
|
|
72
|
+
this.logger.warn(`Unauthorized client is trying to connect: ${client.handshake?.headers.host}, ${err.message}`);
|
|
73
|
+
next(new websocket_exceptions_1.WebsocketNotAllowedException('Unauthorized'));
|
|
74
|
+
});
|
|
75
|
+
});
|
|
57
76
|
this.logger.debug('Websockets gateway started');
|
|
58
77
|
}
|
|
59
78
|
async handleConnection(client) {
|
|
60
79
|
try {
|
|
61
|
-
const isAllowed = await this.wsAuthService.validateClient(client);
|
|
62
|
-
if (!isAllowed) {
|
|
63
|
-
this.logger.warn(`Unauthorized client is trying to connect: ${client.handshake?.headers.host}`);
|
|
64
|
-
client.disconnect();
|
|
65
|
-
}
|
|
66
80
|
this.logger.log(`Client connected: ${client.id}`);
|
|
67
81
|
await client.join(websocket_constants_1.CLIENT_DEFAULT_ROOM);
|
|
68
82
|
const clientData = client.data;
|
|
@@ -84,7 +98,7 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
|
84
98
|
}
|
|
85
99
|
catch (error) {
|
|
86
100
|
const err = error;
|
|
87
|
-
this.logger.
|
|
101
|
+
this.logger.error(`Admitting client failed: ${client.id}, ${err.message}`);
|
|
88
102
|
client.disconnect();
|
|
89
103
|
}
|
|
90
104
|
}
|
|
@@ -121,9 +135,12 @@ let WebsocketGateway = WebsocketGateway_1 = class WebsocketGateway {
|
|
|
121
135
|
}
|
|
122
136
|
try {
|
|
123
137
|
const handlers = this.commandEventRegistry.get(event);
|
|
124
|
-
const
|
|
138
|
+
const clientData = client.data;
|
|
139
|
+
const results = (await Promise.all(handlers.map(async ({ name, handler, requiredRoles }) => {
|
|
125
140
|
try {
|
|
126
|
-
|
|
141
|
+
if (requiredRoles && (!clientData.user || !requiredRoles.includes(clientData.user.role))) {
|
|
142
|
+
return { handler: name, success: false, reason: 'Insufficient permissions' };
|
|
143
|
+
}
|
|
127
144
|
const response = await handler(clientData.user, payload);
|
|
128
145
|
return response !== null ? { handler: name, ...response } : null;
|
|
129
146
|
}
|
|
@@ -266,6 +283,7 @@ __decorate([
|
|
|
266
283
|
__metadata("design:returntype", Promise)
|
|
267
284
|
], WebsocketGateway.prototype, "handleCommand", null);
|
|
268
285
|
exports.WebsocketGateway = WebsocketGateway = WebsocketGateway_1 = __decorate([
|
|
286
|
+
(0, throttler_1.SkipThrottle)(),
|
|
269
287
|
(0, websockets_1.WebSocketGateway)({
|
|
270
288
|
cors: {
|
|
271
289
|
origin: '*',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.gateway.js","sourceRoot":"","sources":["../../../../src/modules/websocket/gateway/websocket.gateway.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAoD;AACpD,qDAA0C;AAC1C,yCAA2C;AAE3C,yDAAsD;AACtD,mDAS4B;AAE5B,mDAA+D;AAC/D,2EAAmE;AACnE,8DAA2D;AAE3D,oEAA+D;AAC/D,kEAA6D;AAC7D,wDAAsE;AACtE,+FAAyF;AACzF,iEAA4D;AAC5D,gDAA8D;AAC9D,gEAMgC;AAChC,kEAAuE;
|
|
1
|
+
{"version":3,"file":"websocket.gateway.js","sourceRoot":"","sources":["../../../../src/modules/websocket/gateway/websocket.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UserRole } from '../../users/users.constants';
|
|
1
2
|
import { ClientUserDto } from '../dto/client-user.dto';
|
|
2
3
|
type CommandEventHandler = (user: ClientUserDto, payload: unknown) => Promise<{
|
|
3
4
|
success: boolean;
|
|
@@ -5,10 +6,11 @@ type CommandEventHandler = (user: ClientUserDto, payload: unknown) => Promise<{
|
|
|
5
6
|
} | null>;
|
|
6
7
|
export declare class CommandEventRegistryService {
|
|
7
8
|
private readonly events;
|
|
8
|
-
register(event: string, name: string, handler: CommandEventHandler): void;
|
|
9
|
+
register(event: string, name: string, handler: CommandEventHandler, requiredRoles?: UserRole[]): void;
|
|
9
10
|
get(event: string): {
|
|
10
11
|
name: string;
|
|
11
12
|
handler: CommandEventHandler;
|
|
13
|
+
requiredRoles?: UserRole[];
|
|
12
14
|
}[];
|
|
13
15
|
has(event: string): boolean;
|
|
14
16
|
}
|
|
@@ -12,23 +12,24 @@ let CommandEventRegistryService = class CommandEventRegistryService {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
this.events = new Map();
|
|
14
14
|
}
|
|
15
|
-
register(event, name, handler) {
|
|
15
|
+
register(event, name, handler, requiredRoles) {
|
|
16
16
|
if (!this.events.has(event)) {
|
|
17
17
|
this.events.set(event, new Map());
|
|
18
18
|
}
|
|
19
19
|
if (this.events.get(event).has(name)) {
|
|
20
20
|
throw new Error(`Command event handler "${name}" for event "${event}" is already registered.`);
|
|
21
21
|
}
|
|
22
|
-
this.events.get(event).set(name, handler);
|
|
22
|
+
this.events.get(event).set(name, { handler, requiredRoles });
|
|
23
23
|
}
|
|
24
24
|
get(event) {
|
|
25
25
|
const handlers = this.events.get(event);
|
|
26
26
|
if (!handlers) {
|
|
27
27
|
return [];
|
|
28
28
|
}
|
|
29
|
-
return Array.from(handlers.entries()).map(([name,
|
|
29
|
+
return Array.from(handlers.entries()).map(([name, entry]) => ({
|
|
30
30
|
name,
|
|
31
|
-
handler,
|
|
31
|
+
handler: entry.handler,
|
|
32
|
+
requiredRoles: entry.requiredRoles,
|
|
32
33
|
}));
|
|
33
34
|
}
|
|
34
35
|
has(event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-event-registry.service.js","sourceRoot":"","sources":["../../../../src/modules/websocket/services/command-event-registry.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;
|
|
1
|
+
{"version":3,"file":"command-event-registry.service.js","sourceRoot":"","sources":["../../../../src/modules/websocket/services/command-event-registry.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAgBrC,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAAjC;QACW,WAAM,GAAG,IAAI,GAAG,EAA0C,CAAC;IA+B7E,CAAC;IA7BA,QAAQ,CAAC,KAAa,EAAE,IAAY,EAAE,OAA4B,EAAE,aAA0B;QAC7F,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAA6B,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,gBAAgB,KAAK,0BAA0B,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,GAAG,CAAC,KAAa;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa;SAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,KAAa;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACD,CAAA;AAhCY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;GACA,2BAA2B,CAgCvC"}
|
|
@@ -49,26 +49,39 @@ let BuddyClaudePlugin = class BuddyClaudePlugin {
|
|
|
49
49
|
name: 'Claude',
|
|
50
50
|
description: 'LLM provider for Buddy module using Anthropic Claude API',
|
|
51
51
|
author: 'FastyBird',
|
|
52
|
-
readme: `#
|
|
52
|
+
readme: `# Claude
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
> Plugin · by FastyBird · capability: LLM
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
Anthropic Claude as an LLM provider for the Buddy module. Powers chat conversations with Claude Sonnet, Opus or Haiku — picking the model is a single config change.
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
## What you get
|
|
59
|
+
|
|
60
|
+
- Streaming chat replies grounded on your home's real context (spaces, devices, weather, energy)
|
|
61
|
+
- Native tool calling so Claude can run scenes, control devices and adjust lighting modes through the registered Buddy tools
|
|
62
|
+
- A predictable, low-noise assistant — Claude tends to refuse confidently rather than make things up
|
|
63
|
+
- A simple privacy posture: requests are only sent when the user actually talks to Buddy; no background telemetry from this plugin
|
|
64
|
+
|
|
65
|
+
## Capabilities
|
|
66
|
+
|
|
67
|
+
- **Streaming responses** — answers stream token-by-token to the panel and admin chat
|
|
68
|
+
- **Tool calls** — uses Claude's native tool API; every device / scene action is a structured call, not parsed from prose
|
|
69
|
+
- **Configurable model** — pick any Claude model your account has access to (Sonnet for balance, Opus for hardest tasks, Haiku for fastest / cheapest)
|
|
70
|
+
- **Long context** — the full home snapshot fits comfortably in the prompt, so the assistant always has the latest state
|
|
60
71
|
|
|
61
72
|
## Setup
|
|
62
73
|
|
|
63
|
-
1. Create an account at [Anthropic](https://console.anthropic.com)
|
|
64
|
-
2. Generate an API key
|
|
65
|
-
3. Enter the API key in plugin configuration
|
|
66
|
-
4. Set the
|
|
74
|
+
1. Create an account at [Anthropic Console](https://console.anthropic.com)
|
|
75
|
+
2. Generate an API key in your dashboard
|
|
76
|
+
3. Enter the API key in this plugin's configuration
|
|
77
|
+
4. Set the Buddy module's \`provider\` to \`${buddy_claude_constants_1.BUDDY_CLAUDE_PLUGIN_NAME}\`
|
|
67
78
|
|
|
68
79
|
## Configuration
|
|
69
80
|
|
|
70
|
-
|
|
71
|
-
|
|
81
|
+
| Option | Description | Default |
|
|
82
|
+
|--------|-------------|---------|
|
|
83
|
+
| \`api_key\` | Anthropic API key (required) | — |
|
|
84
|
+
| \`model\` | Claude model to use | \`claude-sonnet-4-20250514\` |`,
|
|
72
85
|
links: {
|
|
73
86
|
documentation: 'https://smart-panel.fastybird.com/docs',
|
|
74
87
|
repository: 'https://github.com/FastyBird/smart-panel',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buddy-claude.plugin.js","sourceRoot":"","sources":["../../../src/plugins/buddy-claude/buddy-claude.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AAEtD,mEAA+D;AAC/D,8GAAwG;AACxG,sEAAkE;AAClE,2GAAqG;AACrG,kFAA8E;AAC9E,6FAAyF;AACzF,0FAA4E;AAC5E,oHAA8G;AAC9G,yEAAqE;AAErE,qEAIkC;AAClC,iEAAkF;AAClF,+DAAqE;AACrE,wDAA+D;AAC/D,iEAA6D;AAC7D,gGAA0F;AAYnF,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC7B,YACkB,YAAsC,EACtC,gBAA4C,EAC5C,cAA8B,EAC9B,eAA6C,EAC7C,iBAAoC;QAJpC,iBAAY,GAAZ,YAAY,CAA0B;QACtC,qBAAgB,GAAhB,gBAAgB,CAA4B;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAA8B;QAC7C,sBAAiB,GAAjB,iBAAiB,CAAmB;IACnD,CAAC;IAEJ,YAAY;QACX,IAAI,CAAC,YAAY,CAAC,eAAe,CAAqD;YACrF,IAAI,EAAE,iDAAwB;YAC9B,KAAK,EAAE,qCAAsB;YAC7B,SAAS,EAAE,8CAA0B;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEpD,KAAK,MAAM,KAAK,IAAI,+DAAwC,EAAE,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,iDAAwB;YAC9B,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0DAA0D;YACvE,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"buddy-claude.plugin.js","sourceRoot":"","sources":["../../../src/plugins/buddy-claude/buddy-claude.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AAEtD,mEAA+D;AAC/D,8GAAwG;AACxG,sEAAkE;AAClE,2GAAqG;AACrG,kFAA8E;AAC9E,6FAAyF;AACzF,0FAA4E;AAC5E,oHAA8G;AAC9G,yEAAqE;AAErE,qEAIkC;AAClC,iEAAkF;AAClF,+DAAqE;AACrE,wDAA+D;AAC/D,iEAA6D;AAC7D,gGAA0F;AAYnF,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC7B,YACkB,YAAsC,EACtC,gBAA4C,EAC5C,cAA8B,EAC9B,eAA6C,EAC7C,iBAAoC;QAJpC,iBAAY,GAAZ,YAAY,CAA0B;QACtC,qBAAgB,GAAhB,gBAAgB,CAA4B;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAA8B;QAC7C,sBAAiB,GAAjB,iBAAiB,CAAmB;IACnD,CAAC;IAEJ,YAAY;QACX,IAAI,CAAC,YAAY,CAAC,eAAe,CAAqD;YACrF,IAAI,EAAE,iDAAwB;YAC9B,KAAK,EAAE,qCAAsB;YAC7B,SAAS,EAAE,8CAA0B;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEpD,KAAK,MAAM,KAAK,IAAI,+DAAwC,EAAE,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,iDAAwB;YAC9B,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0DAA0D;YACvE,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;8CAyBmC,iDAAwB;;;;;;;mEAOH;YAChE,KAAK,EAAE;gBACN,aAAa,EAAE,wCAAwC;gBACvD,UAAU,EAAE,0CAA0C;aACtD;SACD,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAlEY,8CAAiB;4BAAjB,iBAAiB;IAV7B,IAAA,0BAAM,EAAC;QACP,OAAO,EAAE,iDAAwB;QACjC,WAAW,EAAE,yDAAgC;QAC7C,WAAW,EAAE,gEAAuC;KACpD,CAAC;IACD,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,CAAC,0BAAW,EAAE,4BAAY,EAAE,8BAAa,EAAE,oCAAgB,CAAC;QACrE,SAAS,EAAE,CAAC,gCAAc,EAAE,8DAA4B,CAAC;QACzD,OAAO,EAAE,CAAC,gCAAc,CAAC;KACzB,CAAC;qCAG+B,sDAAwB;QACpB,0DAA0B;QAC5B,gCAAc;QACb,8DAA4B;QAC1B,sCAAiB;GAN1C,iBAAiB,CAkE7B"}
|
|
@@ -51,26 +51,36 @@ let BuddyClaudeSetupTokenPlugin = class BuddyClaudeSetupTokenPlugin {
|
|
|
51
51
|
name: 'Claude Setup Token',
|
|
52
52
|
description: 'LLM provider for Buddy module using Anthropic Claude with setup-token authentication',
|
|
53
53
|
author: 'FastyBird',
|
|
54
|
-
readme: `#
|
|
54
|
+
readme: `# Claude (Setup Token)
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
> Plugin · by FastyBird · capability: LLM
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
Alternative Claude provider that authenticates with a setup token issued by your Claude subscription instead of an API key — useful when you have access to Claude through Claude Code rather than the API console, and don't want to pay for a separate Anthropic API key.
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
## What you get
|
|
61
|
+
|
|
62
|
+
- Use a Claude *subscription* you already have for Buddy chat, no Anthropic API key required
|
|
63
|
+
- Same streaming and tool-calling behaviour as the regular Claude plugin — switching between the two is config-only
|
|
64
|
+
- Automatic credential refresh — the plugin keeps the setup token valid in the background
|
|
65
|
+
|
|
66
|
+
## Capabilities
|
|
67
|
+
|
|
68
|
+
- **LLM (chat)** — streaming completions; native tool calling for device / scene control
|
|
69
|
+
- **Drop-in alternative** — interchangeable with the regular \`buddy-claude\` plugin from Buddy's point of view
|
|
62
70
|
|
|
63
71
|
## Setup
|
|
64
72
|
|
|
65
|
-
1.
|
|
66
|
-
2.
|
|
67
|
-
3. Paste the token
|
|
68
|
-
4. Set the
|
|
73
|
+
1. Install the [Claude Code CLI](https://docs.claude.com/claude-code) and sign in
|
|
74
|
+
2. Run \`claude setup-token\` and copy the generated token
|
|
75
|
+
3. Paste the token into this plugin's configuration
|
|
76
|
+
4. Set the Buddy module's \`provider\` to \`${buddy_claude_setup_token_constants_1.BUDDY_CLAUDE_SETUP_TOKEN_PLUGIN_NAME}\`
|
|
69
77
|
|
|
70
78
|
## Configuration
|
|
71
79
|
|
|
72
|
-
|
|
73
|
-
|
|
80
|
+
| Option | Description | Default |
|
|
81
|
+
|--------|-------------|---------|
|
|
82
|
+
| \`setup_token\` | Token from \`claude setup-token\` (required) | — |
|
|
83
|
+
| \`model\` | Claude model to use | \`claude-sonnet-4-20250514\` |`,
|
|
74
84
|
links: {
|
|
75
85
|
documentation: 'https://smart-panel.fastybird.com/docs',
|
|
76
86
|
repository: 'https://github.com/FastyBird/smart-panel',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buddy-claude-setup-token.plugin.js","sourceRoot":"","sources":["../../../src/plugins/buddy-claude-setup-token/buddy-claude-setup-token.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AAEtD,yEAAsE;AACtE,mEAA+D;AAC/D,8GAAwG;AACxG,sEAAkE;AAClE,2GAAqG;AACrG,kFAA8E;AAC9E,6FAAyF;AACzF,0FAA4E;AAC5E,oHAA8G;AAC9G,yEAAqE;AAErE,6FAI8C;AAC9C,yFAA0G;AAC1G,+DAA+E;AAC/E,wDAAyE;AACzE,yFAAmF;AACnF,wHAAgH;AAYzG,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACvC,YACkB,YAAsC,EACtC,gBAA4C,EAC5C,wBAAkD,EAClD,eAA6C,EAC7C,iBAAoC;QAJpC,iBAAY,GAAZ,YAAY,CAA0B;QACtC,qBAAgB,GAAhB,gBAAgB,CAA4B;QAC5C,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,oBAAe,GAAf,eAAe,CAA8B;QAC7C,sBAAiB,GAAjB,iBAAiB,CAAmB;IACnD,CAAC;IAEJ,YAAY;QACX,IAAI,CAAC,YAAY,CAAC,eAAe,CAAyE;YACzG,IAAI,EAAE,yEAAoC;YAC1C,KAAK,EAAE,+CAAgC;YACvC,SAAS,EAAE,wDAAoC;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAE9D,KAAK,MAAM,KAAK,IAAI,uFAAoD,EAAE,CAAC;YAC1E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,yEAAoC;YAC1C,YAAY,EAAE,CAAC,iCAAe,CAAC,GAAG,CAAC;YACnC,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,sFAAsF;YACnG,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"buddy-claude-setup-token.plugin.js","sourceRoot":"","sources":["../../../src/plugins/buddy-claude-setup-token/buddy-claude-setup-token.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AAEtD,yEAAsE;AACtE,mEAA+D;AAC/D,8GAAwG;AACxG,sEAAkE;AAClE,2GAAqG;AACrG,kFAA8E;AAC9E,6FAAyF;AACzF,0FAA4E;AAC5E,oHAA8G;AAC9G,yEAAqE;AAErE,6FAI8C;AAC9C,yFAA0G;AAC1G,+DAA+E;AAC/E,wDAAyE;AACzE,yFAAmF;AACnF,wHAAgH;AAYzG,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACvC,YACkB,YAAsC,EACtC,gBAA4C,EAC5C,wBAAkD,EAClD,eAA6C,EAC7C,iBAAoC;QAJpC,iBAAY,GAAZ,YAAY,CAA0B;QACtC,qBAAgB,GAAhB,gBAAgB,CAA4B;QAC5C,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,oBAAe,GAAf,eAAe,CAA8B;QAC7C,sBAAiB,GAAjB,iBAAiB,CAAmB;IACnD,CAAC;IAEJ,YAAY;QACX,IAAI,CAAC,YAAY,CAAC,eAAe,CAAyE;YACzG,IAAI,EAAE,yEAAoC;YAC1C,KAAK,EAAE,+CAAgC;YACvC,SAAS,EAAE,wDAAoC;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAE9D,KAAK,MAAM,KAAK,IAAI,uFAAoD,EAAE,CAAC;YAC1E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,yEAAoC;YAC1C,YAAY,EAAE,CAAC,iCAAe,CAAC,GAAG,CAAC;YACnC,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,sFAAsF;YACnG,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;8CAsBmC,yEAAoC;;;;;;;mEAOf;YAChE,KAAK,EAAE;gBACN,aAAa,EAAE,wCAAwC;gBACvD,UAAU,EAAE,0CAA0C;aACtD;SACD,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAhEY,kEAA2B;sCAA3B,2BAA2B;IAVvC,IAAA,0BAAM,EAAC;QACP,OAAO,EAAE,yEAAoC;QAC7C,WAAW,EAAE,iFAA4C;QACzD,WAAW,EAAE,wFAAmD;KAChE,CAAC;IACD,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,CAAC,0BAAW,EAAE,4BAAY,EAAE,8BAAa,EAAE,oCAAgB,CAAC;QACrE,SAAS,EAAE,CAAC,sDAAwB,EAAE,oFAAsC,CAAC;QAC7E,OAAO,EAAE,CAAC,sDAAwB,CAAC;KACnC,CAAC;qCAG+B,sDAAwB;QACpB,0DAA0B;QAClB,sDAAwB;QACjC,8DAA4B;QAC1B,sCAAiB;GAN1C,2BAA2B,CAgEvC"}
|