@kosdev-code/kos-ui-sdk 2.0.45 → 2.0.46
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/common/events/eventBus.d.ts +0 -30
- package/common/events/eventBus.d.ts.map +1 -1
- package/common/events/eventBus.functional.d.ts +0 -48
- package/common/events/eventBus.functional.d.ts.map +1 -1
- package/common/events/eventBus.state.d.ts +0 -33
- package/common/events/eventBus.state.d.ts.map +1 -1
- package/core/core/decorators/index.d.ts +0 -11
- package/core/core/decorators/index.d.ts.map +1 -1
- package/core/core/decorators/kos-child.d.ts +0 -2
- package/core/core/decorators/kos-child.d.ts.map +1 -1
- package/core/core/decorators/kos-companion.d.ts +8 -158
- package/core/core/decorators/kos-companion.d.ts.map +1 -1
- package/core/core/decorators/kos-context.d.ts +0 -6
- package/core/core/decorators/kos-context.d.ts.map +1 -1
- package/core/core/decorators/kos-http-decorators.d.ts +0 -15
- package/core/core/decorators/kos-http-decorators.d.ts.map +1 -1
- package/core/core/decorators/kos-log.d.ts +0 -4
- package/core/core/decorators/kos-log.d.ts.map +1 -1
- package/core/core/decorators/kos-model-effect.d.ts +0 -9
- package/core/core/decorators/kos-model-effect.d.ts.map +1 -1
- package/core/core/decorators/kos-parent.d.ts +0 -4
- package/core/core/decorators/kos-parent.d.ts.map +1 -1
- package/core/core/decorators/kos-reference.d.ts +0 -9
- package/core/core/decorators/kos-reference.d.ts.map +1 -1
- package/core/core/decorators/kos-topic-handler-flow-control.d.ts +1 -17
- package/core/core/decorators/kos-topic-handler-flow-control.d.ts.map +1 -1
- package/core/core/decorators/kosDependency.d.ts +1 -4
- package/core/core/decorators/kosDependency.d.ts.map +1 -1
- package/core/core/decorators/kosModel.d.ts +2 -17
- package/core/core/decorators/kosModel.d.ts.map +1 -1
- package/core/core/decorators/kosSubscribe.d.ts +0 -9
- package/core/core/decorators/kosSubscribe.d.ts.map +1 -1
- package/core/core/decorators/kosTopicHandler.d.ts +5 -87
- package/core/core/decorators/kosTopicHandler.d.ts.map +1 -1
- package/core/core/decorators/propKeys.d.ts +0 -14
- package/core/core/decorators/propKeys.d.ts.map +1 -1
- package/core/core/decorators/resolve-parameters.d.ts.map +1 -1
- package/core/core/extension/extension-manager.d.ts +4 -64
- package/core/core/extension/extension-manager.d.ts.map +1 -1
- package/core/core/extension/initialize-extension.d.ts +0 -24
- package/core/core/extension/initialize-extension.d.ts.map +1 -1
- package/core/core/extension/plugin-extension-manager.d.ts +0 -11
- package/core/core/extension/plugin-extension-manager.d.ts.map +1 -1
- package/core/core/kos-container-model.d.ts +0 -188
- package/core/core/kos-container-model.d.ts.map +1 -1
- package/core/core/kos-data-container.d.ts +1 -93
- package/core/core/kos-data-container.d.ts.map +1 -1
- package/core/core/kos-registration.d.ts.map +1 -1
- package/core/core/kos-singleton-registration.d.ts.map +1 -1
- package/core/core/kosCore.d.ts.map +1 -1
- package/core/core/kosModel.d.ts +2 -55
- package/core/core/kosModel.d.ts.map +1 -1
- package/core/core/kosModelManager.d.ts +1 -11
- package/core/core/kosModelManager.d.ts.map +1 -1
- package/core/core/log/log.d.ts.map +1 -1
- package/core/core/model/apply-kos-dev-tool-support.d.ts.map +1 -1
- package/core/core/model/kos-fsm-manager.d.ts +4 -1
- package/core/core/model/kos-fsm-manager.d.ts.map +1 -1
- package/core/core/model/kos-model-component-factory.d.ts +0 -4
- package/core/core/model/kos-model-component-factory.d.ts.map +1 -1
- package/core/core/model/kos-offline-queue.d.ts +1 -78
- package/core/core/model/kos-offline-queue.d.ts.map +1 -1
- package/core/core/model/kos-online-lifecycle-manager.d.ts.map +1 -1
- package/core/core/model/kos-subscription-manager.d.ts +0 -20
- package/core/core/model/kos-subscription-manager.d.ts.map +1 -1
- package/core/core/model/model-introspection-utils.d.ts +0 -1
- package/core/core/model/model-introspection-utils.d.ts.map +1 -1
- package/core/core/model-instantiator.d.ts +0 -19
- package/core/core/model-instantiator.d.ts.map +1 -1
- package/core/core/registration/index.d.ts +0 -1
- package/core/core/registration/index.d.ts.map +1 -1
- package/core/core/services/browser-router.d.ts.map +1 -1
- package/core/core/transport/webSocketTransport.d.ts +1 -2
- package/core/core/transport/webSocketTransport.d.ts.map +1 -1
- package/core/core/types/registration.d.ts +0 -7
- package/core/core/types/registration.d.ts.map +1 -1
- package/core/index.d.ts +1 -2
- package/core/index.d.ts.map +1 -1
- package/core/types/index.d.ts +0 -1
- package/core/types/index.d.ts.map +1 -1
- package/core/types/kos-dependency.d.ts +1 -48
- package/core/types/kos-dependency.d.ts.map +1 -1
- package/core/types/utils/kos-fetch.d.ts +0 -121
- package/core/types/utils/kos-fetch.d.ts.map +1 -1
- package/core/util/api-request-id.d.ts +0 -4
- package/core/util/api-request-id.d.ts.map +1 -1
- package/core/util/apply-mixins.d.ts +0 -4
- package/core/util/apply-mixins.d.ts.map +1 -1
- package/core/util/array-utils.d.ts +0 -4
- package/core/util/array-utils.d.ts.map +1 -1
- package/core/util/container-utils.d.ts +11 -264
- package/core/util/container-utils.d.ts.map +1 -1
- package/core/util/date-utils.d.ts +0 -29
- package/core/util/date-utils.d.ts.map +1 -1
- package/core/util/debounce.d.ts +0 -3
- package/core/util/debounce.d.ts.map +1 -1
- package/core/util/feature-flags.d.ts +0 -19
- package/core/util/feature-flags.d.ts.map +1 -1
- package/core/util/get-query-params.d.ts +0 -4
- package/core/util/get-query-params.d.ts.map +1 -1
- package/core/util/hsl-to-hex.d.ts +0 -16
- package/core/util/hsl-to-hex.d.ts.map +1 -1
- package/core/util/index.d.ts +0 -3
- package/core/util/index.d.ts.map +1 -1
- package/core/util/kos-config-init.d.ts +0 -37
- package/core/util/kos-config-init.d.ts.map +1 -1
- package/core/util/kos-data-mapper-utils.d.ts +0 -9
- package/core/util/kos-data-mapper-utils.d.ts.map +1 -1
- package/core/util/kos-fetch.d.ts +0 -12
- package/core/util/kos-fetch.d.ts.map +1 -1
- package/core/util/kos-message-utils.d.ts +0 -88
- package/core/util/kos-message-utils.d.ts.map +1 -1
- package/core/util/kos-model-utils.d.ts +0 -46
- package/core/util/kos-model-utils.d.ts.map +1 -1
- package/core/util/kos-model-visitor.d.ts +0 -2
- package/core/util/kos-model-visitor.d.ts.map +1 -1
- package/core/util/kos-service-request.d.ts +3 -43
- package/core/util/kos-service-request.d.ts.map +1 -1
- package/core/util/log-utils.d.ts +0 -12
- package/core/util/log-utils.d.ts.map +1 -1
- package/core/util/middleware.d.ts +0 -15
- package/core/util/middleware.d.ts.map +1 -1
- package/core/util/model-attribute-utils.d.ts +0 -7
- package/core/util/model-attribute-utils.d.ts.map +1 -1
- package/core/util/model-factory.d.ts +0 -4
- package/core/util/model-factory.d.ts.map +1 -1
- package/core/util/model-registration-utils.d.ts +0 -8
- package/core/util/model-registration-utils.d.ts.map +1 -1
- package/core/util/model-utils.d.ts +29 -40
- package/core/util/model-utils.d.ts.map +1 -1
- package/core/util/observable-proxy-map.d.ts +0 -11
- package/core/util/observable-proxy-map.d.ts.map +1 -1
- package/core/util/paired-client-heartbeat.d.ts +0 -2
- package/core/util/paired-client-heartbeat.d.ts.map +1 -1
- package/core/util/pipe.d.ts +0 -4
- package/core/util/pipe.d.ts.map +1 -1
- package/core/util/retry-with-exponential-backoff.d.ts +0 -3
- package/core/util/retry-with-exponential-backoff.d.ts.map +1 -1
- package/core/util/service-factory.d.ts +0 -10
- package/core/util/service-factory.d.ts.map +1 -1
- package/core/util/session-utils.d.ts +0 -8
- package/core/util/session-utils.d.ts.map +1 -1
- package/core/util/wait-for-request.d.ts +0 -16
- package/core/util/wait-for-request.d.ts.map +1 -1
- package/core/util/when-ready.d.ts +0 -3
- package/core/util/when-ready.d.ts.map +1 -1
- package/index.cjs +123 -26909
- package/index.cjs.map +1 -1
- package/index.d.cts +3 -6
- package/index.d.ts +3 -6
- package/index.d.ts.map +1 -1
- package/index.js +13460 -25275
- package/index.js.map +1 -1
- package/models/constants/index.d.ts +1 -3
- package/models/constants/index.d.ts.map +1 -1
- package/models/decorators/future-service.d.ts +2 -27
- package/models/decorators/future-service.d.ts.map +1 -1
- package/models/models/browser-router/browser-router-model.d.ts +1 -80
- package/models/models/browser-router/browser-router-model.d.ts.map +1 -1
- package/models/models/browser-router/types/index.d.ts +1 -26
- package/models/models/canvas-dispatcher/types/index.d.ts +0 -5
- package/models/models/canvas-renderer/types/index.d.ts +0 -5
- package/models/models/config-bean/config-bean-model-builder.d.ts +2 -4
- package/models/models/config-bean/config-bean-model-builder.d.ts.map +1 -1
- package/models/models/config-bean/config-bean-model.d.ts +13 -117
- package/models/models/config-bean/config-bean-model.d.ts.map +1 -1
- package/models/models/config-bean/config-bean-types.d.ts +3 -6
- package/models/models/config-bean/config-bean-types.d.ts.map +1 -1
- package/models/models/config-bean-prop/config-bean-prop-model.d.ts +1 -112
- package/models/models/config-bean-prop/config-bean-prop-model.d.ts.map +1 -1
- package/models/models/config-bean-prop/types/index.d.ts +19 -301
- package/models/models/device/device-model.d.ts +9 -219
- package/models/models/device/device-model.d.ts.map +1 -1
- package/models/models/device/device-registration.d.ts +48 -61
- package/models/models/device/device-registration.d.ts.map +1 -1
- package/models/models/device/types/index.d.ts +0 -42
- package/models/models/future/future-aware.d.ts +0 -82
- package/models/models/future/future-aware.d.ts.map +1 -1
- package/models/models/future/future-model.d.ts +5 -34
- package/models/models/future/future-model.d.ts.map +1 -1
- package/models/models/future/future-types.d.ts +9 -202
- package/models/models/future/future-types.d.ts.map +1 -1
- package/models/models/future-container/future-container-model.d.ts +2 -2
- package/models/models/index.d.ts +0 -1
- package/models/models/index.d.ts.map +1 -1
- package/models/models/key-value/index.d.ts +0 -4
- package/models/models/key-value/index.d.ts.map +1 -1
- package/models/models/key-value/key-value-model.d.ts +0 -111
- package/models/models/key-value/key-value-model.d.ts.map +1 -1
- package/models/models/key-value/services/key-value-services.d.ts +2 -124
- package/models/models/key-value/services/key-value-services.d.ts.map +1 -1
- package/models/models/key-value/types/index.d.ts +0 -57
- package/models/models/kos-log-manager/kos-log-manager-model.d.ts +14 -61
- package/models/models/kos-log-manager/kos-log-manager-model.d.ts.map +1 -1
- package/models/models/kos-log-manager/types/index.d.ts +0 -191
- package/models/models/kos-time/kos-time-model.d.ts +0 -64
- package/models/models/kos-time/kos-time-model.d.ts.map +1 -1
- package/models/models/kos-time/types/index.d.ts +0 -83
- package/models/models/log-block/log-block-container-model.d.ts +0 -132
- package/models/models/log-block/log-block-container-model.d.ts.map +1 -1
- package/models/models/log-block/log-block-model.d.ts +0 -185
- package/models/models/log-block/log-block-model.d.ts.map +1 -1
- package/models/models/log-block/types/index.d.ts +0 -133
- package/models/models/log-stream/index.d.ts +2 -6
- package/models/models/log-stream/index.d.ts.map +1 -1
- package/models/models/log-stream/log-stream-container-model.d.ts +0 -62
- package/models/models/log-stream/log-stream-container-model.d.ts.map +1 -1
- package/models/models/log-stream/log-stream-model.d.ts +0 -55
- package/models/models/log-stream/log-stream-model.d.ts.map +1 -1
- package/models/models/log-stream/services/log-stream-services.d.ts +1 -2
- package/models/models/log-stream/services/log-stream-services.d.ts.map +1 -1
- package/models/models/log-stream/types/index.d.ts +0 -79
- package/models/models/network-interface/index.d.ts +2 -6
- package/models/models/network-interface/index.d.ts.map +1 -1
- package/models/models/network-interface/network-interface-container-model.d.ts +0 -62
- package/models/models/network-interface/network-interface-container-model.d.ts.map +1 -1
- package/models/models/network-interface/network-interface-container-registration.d.ts +1 -2
- package/models/models/network-interface/network-interface-container-registration.d.ts.map +1 -1
- package/models/models/network-interface/network-interface-model.d.ts +0 -77
- package/models/models/network-interface/network-interface-model.d.ts.map +1 -1
- package/models/models/network-interface/network-interface-registration.d.ts +1 -2
- package/models/models/network-interface/network-interface-registration.d.ts.map +1 -1
- package/models/models/network-interface/services/network-interface-services.d.ts +0 -54
- package/models/models/network-interface/services/network-interface-services.d.ts.map +1 -1
- package/models/models/network-interface/types/index.d.ts +0 -22
- package/models/models/ota/ota-model.d.ts +0 -79
- package/models/models/ota/ota-model.d.ts.map +1 -1
- package/models/models/ota/types/index.d.ts +0 -177
- package/models/models/region-info/region-info-model.d.ts +3 -8
- package/models/models/region-info/region-info-model.d.ts.map +1 -1
- package/models/models/region-info/services/region-info-services.d.ts +2 -2
- package/models/models/region-info/services/region-info-services.d.ts.map +1 -1
- package/models/models/region-info/types/index.d.ts +13 -191
- package/models/models/region-info/types/index.d.ts.map +1 -1
- package/models/models/region-info/utils/unit-system-utils.d.ts.map +1 -1
- package/models/models/software-info/services/software-info-services.d.ts.map +1 -1
- package/models/models/software-info/software-info-model.d.ts +2 -74
- package/models/models/software-info/software-info-model.d.ts.map +1 -1
- package/models/models/software-info/types/index.d.ts +17 -52
- package/models/models/state-bean/state-bean-model.d.ts +9 -86
- package/models/models/state-bean/state-bean-model.d.ts.map +1 -1
- package/models/models/state-bean/types/index.d.ts +6 -117
- package/models/models/state-prop/state-prop-model.d.ts +1 -78
- package/models/models/state-prop/state-prop-model.d.ts.map +1 -1
- package/models/models/state-prop/types/index.d.ts +7 -57
- package/models/models/storage-device/services/storage-device-services.d.ts +0 -1
- package/models/models/storage-device/services/storage-device-services.d.ts.map +1 -1
- package/models/models/storage-device/storage-device-container-model.d.ts +2 -289
- package/models/models/storage-device/storage-device-container-model.d.ts.map +1 -1
- package/models/models/storage-device/storage-device-model.d.ts +2 -84
- package/models/models/storage-device/storage-device-model.d.ts.map +1 -1
- package/models/models/storage-device/types/index.d.ts +0 -114
- package/models/models/studio-properties/studio-properties-model.d.ts +0 -75
- package/models/models/studio-properties/studio-properties-model.d.ts.map +1 -1
- package/models/models/studio-properties/types/index.d.ts +0 -29
- package/models/models/translation/services/translation-services.d.ts +2 -128
- package/models/models/translation/services/translation-services.d.ts.map +1 -1
- package/models/models/translation/translation-container-model.d.ts +10 -100
- package/models/models/translation/translation-container-model.d.ts.map +1 -1
- package/models/models/translation/translation-container-registration.d.ts +1 -2
- package/models/models/translation/translation-container-registration.d.ts.map +1 -1
- package/models/models/translation/translation-context.d.ts +16 -1
- package/models/models/translation/translation-context.d.ts.map +1 -1
- package/models/models/translation/translation-model.d.ts +1 -113
- package/models/models/translation/translation-model.d.ts.map +1 -1
- package/models/models/translation/types/index.d.ts +0 -343
- package/models/models/trouble/index.d.ts +1 -2
- package/models/models/trouble/index.d.ts.map +1 -1
- package/models/models/trouble/services/trouble-services.d.ts +4 -6
- package/models/models/trouble/services/trouble-services.d.ts.map +1 -1
- package/models/models/trouble/trouble-model.d.ts +1 -4
- package/models/models/trouble/trouble-model.d.ts.map +1 -1
- package/models/models/trouble/types/index.d.ts +93 -34
- package/models/models/trouble/utils/is-trouble-aware.d.ts +2 -2
- package/models/models/trouble/utils/is-trouble-aware.d.ts.map +1 -1
- package/models/models/trouble-container/index.d.ts +3 -4
- package/models/models/trouble-container/index.d.ts.map +1 -1
- package/models/models/trouble-container/trouble-container-model.d.ts +6 -10
- package/models/models/trouble-container/trouble-container-model.d.ts.map +1 -1
- package/models/models/trouble-container/trouble-container-registration.d.ts +5 -0
- package/models/models/trouble-container/trouble-container-registration.d.ts.map +1 -0
- package/models/models/trouble-container/types/index.d.ts +15 -6
- package/models/models/usb-update/types/index.d.ts +0 -10
- package/models/services/config-bean/index.d.ts +2 -2
- package/models/services/config-bean/index.d.ts.map +1 -1
- package/models/utils/client.d.ts +12 -16
- package/models/utils/client.d.ts.map +1 -1
- package/models/utils/core-registration-manager.d.ts +1 -1
- package/models/utils/core-registration-manager.d.ts.map +1 -1
- package/models/utils/extension-manager.d.ts +13 -54
- package/models/utils/extension-manager.d.ts.map +1 -1
- package/models/utils/index.d.ts +2 -3
- package/models/utils/index.d.ts.map +1 -1
- package/models/utils/kosmodel-compatible-future-mixin.d.ts +142 -0
- package/models/utils/kosmodel-compatible-future-mixin.d.ts.map +1 -0
- package/models/utils/kosmodel-interface-companion-mixin.d.ts +83 -0
- package/models/utils/kosmodel-interface-companion-mixin.d.ts.map +1 -0
- package/models/utils/service.d.ts +13 -91
- package/models/utils/service.d.ts.map +1 -1
- package/package.json +2 -16
- package/ui/contexts/kos-core-context.d.ts.map +1 -1
- package/ui/contexts/state-bean/state-bean-provider.d.ts.map +1 -1
- package/ui/hooks/device/use-device.d.ts +0 -6
- package/ui/hooks/device/use-device.d.ts.map +1 -1
- package/ui/hooks/index.d.ts +0 -1
- package/ui/hooks/index.d.ts.map +1 -1
- package/ui/hooks/kos-time/use-kos-time.d.ts +0 -6
- package/ui/hooks/kos-time/use-kos-time.d.ts.map +1 -1
- package/ui/hooks/network-interface-container/use-network-interface-container.d.ts +0 -6
- package/ui/hooks/network-interface-container/use-network-interface-container.d.ts.map +1 -1
- package/ui/hooks/ota/use-ota.d.ts +0 -6
- package/ui/hooks/ota/use-ota.d.ts.map +1 -1
- package/ui/hooks/software-info/use-software-info.d.ts +0 -6
- package/ui/hooks/software-info/use-software-info.d.ts.map +1 -1
- package/ui/hooks/state-bean/use-state-bean.d.ts +2 -2
- package/ui/hooks/state-bean/use-state-bean.d.ts.map +1 -1
- package/ui/hooks/state-bean/with-state-bean.d.ts.map +1 -1
- package/ui/hooks/storage-device-container/use-storage-device-container.d.ts +0 -6
- package/ui/hooks/storage-device-container/use-storage-device-container.d.ts.map +1 -1
- package/ui/hooks/translation-container/trans.d.ts +0 -6
- package/ui/hooks/translation-container/trans.d.ts.map +1 -1
- package/ui/hooks/translation-container/use-translation-container.d.ts +33 -10
- package/ui/hooks/translation-container/use-translation-container.d.ts.map +1 -1
- package/ui/hooks/translation-container/use-translation.d.ts +0 -7
- package/ui/hooks/translation-container/use-translation.d.ts.map +1 -1
- package/ui/hooks/translation-container/with-translation-container.d.ts +0 -6
- package/ui/hooks/translation-container/with-translation-container.d.ts.map +1 -1
- package/ui/hooks/usb-update-container/use-usb-update-container.d.ts +0 -6
- package/ui/hooks/usb-update-container/use-usb-update-container.d.ts.map +1 -1
- package/ui/hooks/use-config-bean.d.ts +0 -6
- package/ui/hooks/use-config-bean.d.ts.map +1 -1
- package/ui/hooks/use-config-property.d.ts +0 -6
- package/ui/hooks/use-config-property.d.ts.map +1 -1
- package/ui/hooks/use-kos-model.d.ts +0 -7
- package/ui/hooks/use-kos-model.d.ts.map +1 -1
- package/ui/hooks/use-kos-regions.d.ts.map +1 -1
- package/core/constants/model-constants.d.ts +0 -9
- package/core/constants/model-constants.d.ts.map +0 -1
- package/core/core/companion-instantiator.d.ts +0 -71
- package/core/core/companion-instantiator.d.ts.map +0 -1
- package/core/core/decorators/fsm-injection-utils.d.ts +0 -16
- package/core/core/decorators/fsm-injection-utils.d.ts.map +0 -1
- package/core/core/decorators/kos-container-aware.d.ts +0 -619
- package/core/core/decorators/kos-container-aware.d.ts.map +0 -1
- package/core/core/decorators/kos-execution-context.d.ts +0 -63
- package/core/core/decorators/kos-execution-context.d.ts.map +0 -1
- package/core/core/decorators/kos-future-aware.d.ts +0 -162
- package/core/core/decorators/kos-future-aware.d.ts.map +0 -1
- package/core/core/decorators/kos-logger-aware.d.ts +0 -105
- package/core/core/decorators/kos-logger-aware.d.ts.map +0 -1
- package/core/core/decorators/kos-multiple-future-aware.d.ts +0 -217
- package/core/core/decorators/kos-multiple-future-aware.d.ts.map +0 -1
- package/core/core/decorators/kos-service-request-helpers.d.ts +0 -60
- package/core/core/decorators/kos-service-request-helpers.d.ts.map +0 -1
- package/core/core/decorators/kos-service-request.d.ts +0 -498
- package/core/core/decorators/kos-service-request.d.ts.map +0 -1
- package/core/core/decorators/kos-state-machine.d.ts +0 -534
- package/core/core/decorators/kos-state-machine.d.ts.map +0 -1
- package/core/core/decorators/kos-trouble-aware.d.ts +0 -77
- package/core/core/decorators/kos-trouble-aware.d.ts.map +0 -1
- package/core/core/decorators/kos-view-model.d.ts +0 -176
- package/core/core/decorators/kos-view-model.d.ts.map +0 -1
- package/core/core/model/kos-service-request-manager.d.ts +0 -102
- package/core/core/model/kos-service-request-manager.d.ts.map +0 -1
- package/core/core/model/service-response-store.d.ts +0 -164
- package/core/core/model/service-response-store.d.ts.map +0 -1
- package/core/types/service-response-store.d.ts +0 -162
- package/core/types/service-response-store.d.ts.map +0 -1
- package/core/util/ancestor-path-visitor.d.ts +0 -60
- package/core/util/ancestor-path-visitor.d.ts.map +0 -1
- package/core/util/error-logger.d.ts +0 -16
- package/core/util/error-logger.d.ts.map +0 -1
- package/core/util/model-error-utils.d.ts +0 -61
- package/core/util/model-error-utils.d.ts.map +0 -1
- package/core/util/model-transition-utils.d.ts +0 -41
- package/core/util/model-transition-utils.d.ts.map +0 -1
- package/core/util/model-type-guards.d.ts +0 -26
- package/core/util/model-type-guards.d.ts.map +0 -1
- package/core/util/promise-utils.d.ts +0 -58
- package/core/util/promise-utils.d.ts.map +0 -1
- package/core/util/service-request-error.d.ts +0 -60
- package/core/util/service-request-error.d.ts.map +0 -1
- package/core/util/service-response.d.ts +0 -125
- package/core/util/service-response.d.ts.map +0 -1
- package/kos-models.json +0 -426
- package/models/models/config-bean/types/index.d.ts +0 -34
- package/models/models/gpio-chip/gpio-chip-container-model.d.ts +0 -25
- package/models/models/gpio-chip/gpio-chip-container-model.d.ts.map +0 -1
- package/models/models/gpio-chip/gpio-chip-model.d.ts +0 -30
- package/models/models/gpio-chip/gpio-chip-model.d.ts.map +0 -1
- package/models/models/gpio-chip/index.d.ts +0 -7
- package/models/models/gpio-chip/index.d.ts.map +0 -1
- package/models/models/gpio-chip/services/gpio-chip-services.d.ts +0 -86
- package/models/models/gpio-chip/services/gpio-chip-services.d.ts.map +0 -1
- package/models/models/gpio-chip/services/index.d.ts +0 -2
- package/models/models/gpio-chip/services/index.d.ts.map +0 -1
- package/models/models/gpio-chip/types/index.d.ts +0 -24
- package/models/models/gpio-pin/gpio-pin-container-model.d.ts +0 -23
- package/models/models/gpio-pin/gpio-pin-container-model.d.ts.map +0 -1
- package/models/models/gpio-pin/gpio-pin-model.d.ts +0 -26
- package/models/models/gpio-pin/gpio-pin-model.d.ts.map +0 -1
- package/models/models/gpio-pin/index.d.ts +0 -6
- package/models/models/gpio-pin/index.d.ts.map +0 -1
- package/models/models/gpio-pin/types/index.d.ts +0 -23
- package/models/models/kos-expression-evaluator/index.d.ts +0 -4
- package/models/models/kos-expression-evaluator/index.d.ts.map +0 -1
- package/models/models/kos-expression-evaluator/kos-expression-evaluator-model.d.ts +0 -209
- package/models/models/kos-expression-evaluator/kos-expression-evaluator-model.d.ts.map +0 -1
- package/models/models/kos-expression-evaluator/services/index.d.ts +0 -6
- package/models/models/kos-expression-evaluator/services/index.d.ts.map +0 -1
- package/models/models/kos-expression-evaluator/services/kos-expression-evaluator-services.d.ts +0 -15
- package/models/models/kos-expression-evaluator/services/kos-expression-evaluator-services.d.ts.map +0 -1
- package/models/models/kos-expression-evaluator/types/index.d.ts +0 -6
- package/models/utils/get-kos-connection-id.d.ts +0 -2
- package/models/utils/get-kos-connection-id.d.ts.map +0 -1
- package/models/utils/openapi-index.d.ts +0 -3
- package/models/utils/openapi-index.d.ts.map +0 -1
- package/models/utils/service-accessor.d.ts +0 -86
- package/models/utils/service-accessor.d.ts.map +0 -1
- package/models/utils/services/kos/1.6.5/openapi.d.ts +0 -3809
- package/models/utils/services/kos/1.6.5/service.d.ts +0 -124
- package/models/utils/services/kos/1.6.5/service.d.ts.map +0 -1
- package/models/utils/services/kos/1.8.1/openapi.d.ts +0 -4344
- package/models/utils/services/kos/1.8.1/service.d.ts +0 -124
- package/models/utils/services/kos/1.8.1/service.d.ts.map +0 -1
- package/models/utils/services/kos/1.9.x/openapi.d.ts +0 -4597
- package/models/utils/services/kos/1.9.x/service.d.ts +0 -124
- package/models/utils/services/kos/1.9.x/service.d.ts.map +0 -1
- package/models/utils/services/kos/daily/openapi.d.ts +0 -4349
- package/models/utils/services/kos/daily/service.d.ts +0 -124
- package/models/utils/services/kos/daily/service.d.ts.map +0 -1
- package/models/utils/services/vfs/1.6.5/openapi.d.ts +0 -51
- package/models/utils/services/vfs/1.6.5/service.d.ts +0 -124
- package/models/utils/services/vfs/1.6.5/service.d.ts.map +0 -1
- package/models/utils/services/vfs/1.8.1/openapi.d.ts +0 -51
- package/models/utils/services/vfs/1.8.1/service.d.ts +0 -124
- package/models/utils/services/vfs/1.8.1/service.d.ts.map +0 -1
- package/models/utils/services/vfs/1.9.x/openapi.d.ts +0 -51
- package/models/utils/services/vfs/1.9.x/service.d.ts +0 -124
- package/models/utils/services/vfs/1.9.x/service.d.ts.map +0 -1
- package/models/utils/services/vfs/daily/openapi.d.ts +0 -51
- package/models/utils/services/vfs/daily/service.d.ts +0 -124
- package/models/utils/services/vfs/daily/service.d.ts.map +0 -1
- package/models/utils/services-index.d.ts +0 -9
- package/models/utils/services-index.d.ts.map +0 -1
- package/ui/hooks/view-model/index.d.ts +0 -2
- package/ui/hooks/view-model/index.d.ts.map +0 -1
- package/ui/hooks/view-model/use-view-model.d.ts +0 -80
- package/ui/hooks/view-model/use-view-model.d.ts.map +0 -1
|
@@ -7,297 +7,10 @@ import { IKosIdentifiable, IKosModelHolder, PublicModelInterface } from '../../.
|
|
|
7
7
|
|
|
8
8
|
export declare const MODEL_TYPE = "storage-device-container-model";
|
|
9
9
|
export declare const TOPIC_STORAGE_AVAILABILITY = "/kos/storage";
|
|
10
|
-
/**
|
|
11
|
-
* StorageDeviceContainer - Manages collections of storage devices with real-time discovery.
|
|
12
|
-
*
|
|
13
|
-
* The StorageDeviceContainer model provides centralized management of multiple storage devices
|
|
14
|
-
* connected to KOS systems. It automatically discovers devices through REST API calls and
|
|
15
|
-
* maintains real-time synchronization via WebSocket topics, handling device insertion,
|
|
16
|
-
* removal, and state updates across the entire storage ecosystem.
|
|
17
|
-
*
|
|
18
|
-
* ## Key Features
|
|
19
|
-
* - **Automatic Device Discovery** - Scans and loads all available storage devices
|
|
20
|
-
* - **Real-time Synchronization** - WebSocket updates for insertion/removal events
|
|
21
|
-
* - **Collection Management** - Add, remove, and query storage device collections
|
|
22
|
-
* - **Availability Monitoring** - Track overall storage availability status
|
|
23
|
-
* - **Volume Access** - Direct access to managed storage device instances
|
|
24
|
-
* - **Parent-Child Architecture** - Proper lifecycle management for contained devices
|
|
25
|
-
*
|
|
26
|
-
* ## Topic-Based Reactivity
|
|
27
|
-
* The model listens to these KOS topics for real-time synchronization:
|
|
28
|
-
* - **`/kos/storage`** - Storage device availability changes (insertion/removal events)
|
|
29
|
-
* - Payload: `StorageDeviceResponse[]` - Array of current storage device states
|
|
30
|
-
* - Triggers automatic model updates, additions, and removals
|
|
31
|
-
* - Handles both physical device changes and mount/unmount operations
|
|
32
|
-
*
|
|
33
|
-
* ## Storage Management Operations
|
|
34
|
-
* The container provides comprehensive storage device management:
|
|
35
|
-
* - **Device Lifecycle**: Automatic creation and cleanup of StorageDevice models
|
|
36
|
-
* - **State Synchronization**: Real-time updates from system storage changes
|
|
37
|
-
* - **Collection Queries**: Access devices by ID, status, or availability
|
|
38
|
-
* - **Volume Tracking**: Monitor mounted and available storage volumes
|
|
39
|
-
*
|
|
40
|
-
* ## Common Use Cases
|
|
41
|
-
* - **Storage Management Dashboard** - Display all connected storage devices
|
|
42
|
-
* - **File Transfer Interface** - Select available storage for operations
|
|
43
|
-
* - **System Monitoring** - Track storage availability and health
|
|
44
|
-
* - **Backup Management** - Identify backup destination devices
|
|
45
|
-
* - **Multi-node Storage** - Manage distributed storage across KOS nodes
|
|
46
|
-
* - **Device Diagnostics** - Monitor storage device runtime and status
|
|
47
|
-
*
|
|
48
|
-
* @example Basic Storage Container Usage
|
|
49
|
-
* ```typescript
|
|
50
|
-
* // Create storage device container for system management
|
|
51
|
-
* const storageContainer = StorageDeviceContainer.instance('main-storage')
|
|
52
|
-
* .options({}) // Empty configuration - behavior driven by discovery
|
|
53
|
-
* .build();
|
|
54
|
-
*
|
|
55
|
-
* // Check overall storage availability
|
|
56
|
-
* console.log(`Storage available: ${storageContainer.isStorageInserted}`);
|
|
57
|
-
* console.log(`Total volumes: ${storageContainer.volumes.length}`);
|
|
58
|
-
*
|
|
59
|
-
* // Access individual storage devices
|
|
60
|
-
* const usbDevice = storageContainer.getModel('usb-drive-1');
|
|
61
|
-
* if (usbDevice && !usbDevice.removed) {
|
|
62
|
-
* console.log(`USB device mounted at: ${usbDevice.mountDir}`);
|
|
63
|
-
* }
|
|
64
|
-
* ```
|
|
65
|
-
*
|
|
66
|
-
* @example Storage Device Discovery and Management
|
|
67
|
-
* ```typescript
|
|
68
|
-
* // Container automatically handles device discovery
|
|
69
|
-
* const storageManager = StorageDeviceContainer.instance('storage-mgr')
|
|
70
|
-
* .options({})
|
|
71
|
-
* .build();
|
|
72
|
-
*
|
|
73
|
-
* // Monitor storage changes with reactive patterns
|
|
74
|
-
* const monitorStorageChanges = () => {
|
|
75
|
-
* // Container automatically updates via /kos/storage topic
|
|
76
|
-
* const availableDevices = storageManager.data.filter(device =>
|
|
77
|
-
* !device.removed && device.mountDir
|
|
78
|
-
* );
|
|
79
|
-
*
|
|
80
|
-
* const localDevices = availableDevices.filter(device => device.local);
|
|
81
|
-
* const remoteDevices = availableDevices.filter(device => !device.local);
|
|
82
|
-
*
|
|
83
|
-
* console.log(`Available storage: ${availableDevices.length} devices`);
|
|
84
|
-
* console.log(`Local: ${localDevices.length}, Remote: ${remoteDevices.length}`);
|
|
85
|
-
*
|
|
86
|
-
* return {
|
|
87
|
-
* total: availableDevices.length,
|
|
88
|
-
* local: localDevices.length,
|
|
89
|
-
* remote: remoteDevices.length,
|
|
90
|
-
* devices: availableDevices
|
|
91
|
-
* };
|
|
92
|
-
* };
|
|
93
|
-
* ```
|
|
94
|
-
*
|
|
95
|
-
* @example React Storage Management Interface
|
|
96
|
-
* ```typescript
|
|
97
|
-
* const StorageManagerComponent: React.FC = kosComponent(() => {
|
|
98
|
-
* const storageContainer = useModel(StorageDeviceContainer, 'storage-manager');
|
|
99
|
-
*
|
|
100
|
-
* // Reactive data automatically updates via WebSocket
|
|
101
|
-
* const availableDevices = storageContainer.volumes.filter(device =>
|
|
102
|
-
* !device.removed && device.mountDir
|
|
103
|
-
* );
|
|
104
|
-
*
|
|
105
|
-
* const removedDevices = storageContainer.volumes.filter(device =>
|
|
106
|
-
* device.removed
|
|
107
|
-
* );
|
|
108
|
-
*
|
|
109
|
-
* return (
|
|
110
|
-
* <div className="storage-manager">
|
|
111
|
-
* <div className="storage-status">
|
|
112
|
-
* <h2>Storage Overview</h2>
|
|
113
|
-
* <div className="status-indicator">
|
|
114
|
-
* <span className={storageContainer.isStorageInserted ? 'online' : 'offline'}>
|
|
115
|
-
* {storageContainer.isStorageInserted ? 'Storage Available' : 'No Storage'}
|
|
116
|
-
* </span>
|
|
117
|
-
* </div>
|
|
118
|
-
* <div className="device-count">
|
|
119
|
-
* Total Devices: {storageContainer.volumes.length}
|
|
120
|
-
* </div>
|
|
121
|
-
* </div>
|
|
122
|
-
*
|
|
123
|
-
* <div className="device-sections">
|
|
124
|
-
* <section className="available-devices">
|
|
125
|
-
* <h3>Available Storage ({availableDevices.length})</h3>
|
|
126
|
-
* {availableDevices.map(device => (
|
|
127
|
-
* <StorageDeviceCard key={device.id} device={device} />
|
|
128
|
-
* ))}
|
|
129
|
-
* </section>
|
|
130
|
-
*
|
|
131
|
-
* {removedDevices.length > 0 && (
|
|
132
|
-
* <section className="removed-devices">
|
|
133
|
-
* <h3>Recently Removed ({removedDevices.length})</h3>
|
|
134
|
-
* {removedDevices.map(device => (
|
|
135
|
-
* <StorageDeviceCard key={device.id} device={device} />
|
|
136
|
-
* ))}
|
|
137
|
-
* </section>
|
|
138
|
-
* )}
|
|
139
|
-
* </div>
|
|
140
|
-
* </div>
|
|
141
|
-
* );
|
|
142
|
-
* });
|
|
143
|
-
* ```
|
|
144
|
-
*
|
|
145
|
-
* @example Storage Device Filtering and Queries
|
|
146
|
-
* ```typescript
|
|
147
|
-
* // Create storage container for advanced device management
|
|
148
|
-
* const storageController = StorageDeviceContainer.instance('storage-ctrl')
|
|
149
|
-
* .options({})
|
|
150
|
-
* .build();
|
|
151
|
-
*
|
|
152
|
-
* // Helper functions for device filtering
|
|
153
|
-
* const getStorageQueries = (container: StorageDeviceContainer) => ({
|
|
154
|
-
* // Get all available (mounted and not removed) devices
|
|
155
|
-
* getAvailableDevices: () =>
|
|
156
|
-
* container.data.filter(device => !device.removed && device.mountDir),
|
|
157
|
-
*
|
|
158
|
-
* // Get devices by specific node
|
|
159
|
-
* getDevicesByNode: (nodeId: string) =>
|
|
160
|
-
* container.data.filter(device => device.nodeId === nodeId),
|
|
161
|
-
*
|
|
162
|
-
* // Get local vs remote devices
|
|
163
|
-
* getLocalDevices: () =>
|
|
164
|
-
* container.data.filter(device => device.local),
|
|
165
|
-
*
|
|
166
|
-
* // Get devices by vendor
|
|
167
|
-
* getDevicesByVendor: (vendor: string) =>
|
|
168
|
-
* container.data.filter(device =>
|
|
169
|
-
* device.vendor.toLowerCase().includes(vendor.toLowerCase())
|
|
170
|
-
* ),
|
|
171
|
-
*
|
|
172
|
-
* // Get backup-suitable devices (available with sufficient runtime)
|
|
173
|
-
* getBackupDevices: () =>
|
|
174
|
-
* container.data.filter(device =>
|
|
175
|
-
* !device.removed &&
|
|
176
|
-
* device.mountDir &&
|
|
177
|
-
* device.runTimeMs > 300000 // More than 5 minutes runtime
|
|
178
|
-
* ),
|
|
179
|
-
*
|
|
180
|
-
* // Get device statistics
|
|
181
|
-
* getStorageStats: () => {
|
|
182
|
-
* const devices = container.data;
|
|
183
|
-
* return {
|
|
184
|
-
* total: devices.length,
|
|
185
|
-
* available: devices.filter(d => !d.removed && d.mountDir).length,
|
|
186
|
-
* removed: devices.filter(d => d.removed).length,
|
|
187
|
-
* local: devices.filter(d => d.local).length,
|
|
188
|
-
* remote: devices.filter(d => !d.local).length,
|
|
189
|
-
* averageRuntime: devices.reduce((sum, d) => sum + d.runTimeMs, 0) / devices.length
|
|
190
|
-
* };
|
|
191
|
-
* }
|
|
192
|
-
* });
|
|
193
|
-
*
|
|
194
|
-
* // Usage examples
|
|
195
|
-
* const queries = getStorageQueries(storageController);
|
|
196
|
-
*
|
|
197
|
-
* console.log('Storage Statistics:', queries.getStorageStats());
|
|
198
|
-
* console.log('Available Devices:', queries.getAvailableDevices().length);
|
|
199
|
-
* console.log('Backup-Ready Devices:', queries.getBackupDevices().length);
|
|
200
|
-
* ```
|
|
201
|
-
*
|
|
202
|
-
* @example WebSocket Topic Synchronization
|
|
203
|
-
* ```typescript
|
|
204
|
-
* // The container automatically handles /kos/storage topic updates
|
|
205
|
-
* const storageSync = StorageDeviceContainer.instance('sync-demo')
|
|
206
|
-
* .options({})
|
|
207
|
-
* .build();
|
|
208
|
-
*
|
|
209
|
-
* // Topic payload structure: StorageDeviceResponse[]
|
|
210
|
-
* // Example payload when device is inserted:
|
|
211
|
-
* // [
|
|
212
|
-
* // {
|
|
213
|
-
* // id: "usb-drive-new",
|
|
214
|
-
* // mountDir: "/media/usb-new",
|
|
215
|
-
* // vendor: "Kingston",
|
|
216
|
-
* // model: "DataTraveler",
|
|
217
|
-
* // label: "KINGSTON_32GB",
|
|
218
|
-
* // nodeId: "primary",
|
|
219
|
-
* // local: true,
|
|
220
|
-
* // removed: false,
|
|
221
|
-
* // runTimeMs: 0,
|
|
222
|
-
* // syspath: "/sys/devices/usb/new"
|
|
223
|
-
* // }
|
|
224
|
-
* // ]
|
|
225
|
-
*
|
|
226
|
-
* // Container automatically:
|
|
227
|
-
* // 1. Compares payload with existing models
|
|
228
|
-
* // 2. Removes models not in payload (device unplugged)
|
|
229
|
-
* // 3. Updates existing models with new state
|
|
230
|
-
* // 4. Creates new models for discovered devices
|
|
231
|
-
* // 5. Maintains parent-child relationships
|
|
232
|
-
*
|
|
233
|
-
* // Monitor changes reactively
|
|
234
|
-
* const logStorageChanges = () => {
|
|
235
|
-
* const currentDevices = storageSync.data.map(device => ({
|
|
236
|
-
* id: device.id,
|
|
237
|
-
* vendor: device.vendor,
|
|
238
|
-
* mounted: !!device.mountDir,
|
|
239
|
-
* removed: device.removed
|
|
240
|
-
* }));
|
|
241
|
-
*
|
|
242
|
-
* console.log('Current Storage State:', currentDevices);
|
|
243
|
-
* };
|
|
244
|
-
* ```
|
|
245
|
-
*
|
|
246
|
-
* @example Multi-Node Storage Architecture
|
|
247
|
-
* ```typescript
|
|
248
|
-
* // Container manages storage across distributed KOS nodes
|
|
249
|
-
* const distributedStorage = StorageDeviceContainer.instance('distributed')
|
|
250
|
-
* .options({})
|
|
251
|
-
* .build();
|
|
252
|
-
*
|
|
253
|
-
* // Analyze storage distribution across nodes
|
|
254
|
-
* const analyzeStorageDistribution = () => {
|
|
255
|
-
* const nodeGroups = distributedStorage.data.reduce((groups, device) => {
|
|
256
|
-
* const nodeId = device.nodeId;
|
|
257
|
-
* if (!groups[nodeId]) {
|
|
258
|
-
* groups[nodeId] = {
|
|
259
|
-
* nodeId,
|
|
260
|
-
* devices: [],
|
|
261
|
-
* available: 0,
|
|
262
|
-
* totalRuntime: 0
|
|
263
|
-
* };
|
|
264
|
-
* }
|
|
265
|
-
*
|
|
266
|
-
* groups[nodeId].devices.push(device);
|
|
267
|
-
* if (!device.removed && device.mountDir) {
|
|
268
|
-
* groups[nodeId].available++;
|
|
269
|
-
* }
|
|
270
|
-
* groups[nodeId].totalRuntime += device.runTimeMs;
|
|
271
|
-
*
|
|
272
|
-
* return groups;
|
|
273
|
-
* }, {} as Record<string, any>);
|
|
274
|
-
*
|
|
275
|
-
* // Display node distribution
|
|
276
|
-
* Object.values(nodeGroups).forEach((node: any) => {
|
|
277
|
-
* const avgRuntime = node.totalRuntime / node.devices.length;
|
|
278
|
-
* console.log(`Node ${node.nodeId}:`);
|
|
279
|
-
* console.log(` Devices: ${node.devices.length}`);
|
|
280
|
-
* console.log(` Available: ${node.available}`);
|
|
281
|
-
* console.log(` Avg Runtime: ${Math.round(avgRuntime / 60000)}min`);
|
|
282
|
-
* });
|
|
283
|
-
*
|
|
284
|
-
* return nodeGroups;
|
|
285
|
-
* };
|
|
286
|
-
* ```
|
|
287
|
-
*
|
|
288
|
-
* @group KOS Model
|
|
289
|
-
* @category Device Management
|
|
290
|
-
*
|
|
291
|
-
* @see {@link StorageDevice} - Individual storage device model
|
|
292
|
-
* @see {@link StorageDeviceOptions} - Configuration options for storage devices
|
|
293
|
-
* @see {@link StorageDeviceContainerOptions} - Container configuration options
|
|
294
|
-
* @see {@link StorageDeviceResponse} - API response structure for device discovery
|
|
295
|
-
*/
|
|
296
|
-
export type StorageDeviceContainer = PublicModelInterface<StorageDeviceContainerModelImpl>;
|
|
297
10
|
export type StorageDeviceContainerModel = PublicModelInterface<StorageDeviceContainerModelImpl>;
|
|
298
11
|
/**
|
|
299
|
-
*
|
|
300
|
-
* @
|
|
12
|
+
* Storage Device Container Model
|
|
13
|
+
* @category Model
|
|
301
14
|
*/
|
|
302
15
|
export declare class StorageDeviceContainerModelImpl implements IKosIdentifiable, IKosModelHolder<StorageDeviceModel>, IKosDataModel {
|
|
303
16
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-device-container-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/storage-device/storage-device-container-model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAIpB,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,KAAK,EACV,6BAA6B,EAE9B,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,UAAU,mCAAmC,CAAC;AAE3D,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AAEzD
|
|
1
|
+
{"version":3,"file":"storage-device-container-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/storage-device/storage-device-container-model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAIpB,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,KAAK,EACV,6BAA6B,EAE9B,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,UAAU,mCAAmC,CAAC;AAE3D,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AAEzD,MAAM,MAAM,2BAA2B,GACrC,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;AAExD;;;GAGG;AACH,qBACa,+BACX,YACE,gBAAgB,EAChB,eAAe,CAAC,kBAAkB,CAAC,EACnC,aAAa;IAEf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,MAAM,CAAmB;IACvB,OAAO,CAAC,OAAO,CAAyC;gBAEhE,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,6BAA6B,EACtC,OAAO,EAAE,kBAAkB;IAY7B,QAAQ,CAAC,EAAE,EAAE,MAAM;IAGnB,IAAI,MAAM,2CAET;IACD,IAAI,IAAI,yBAEP;IAED,QAAQ,CAAC,KAAK,EAAE,kBAAkB;IAIlC,WAAW,CAAC,EAAE,EAAE,MAAM;IAKhB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,IAAI,iBAAiB,YAEpB;IAED,IAAI,OAAO,yBAEV;IAMD,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,EAAE;IA6BpD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAc5B"}
|
|
@@ -2,108 +2,26 @@ import { StorageDeviceOptions } from './types';
|
|
|
2
2
|
import { IKosDataModel, IKosIdentifiable, KosCreationContext, PublicModelInterface } from '../../../core';
|
|
3
3
|
|
|
4
4
|
export declare const MODEL_TYPE = "storage-device-model";
|
|
5
|
-
/**
|
|
6
|
-
* StorageDevice - Manages individual USB/external storage device information and state.
|
|
7
|
-
*
|
|
8
|
-
* The StorageDevice model represents individual storage devices (USB drives, SD cards,
|
|
9
|
-
* external drives) connected to the KOS system. It tracks device hardware information,
|
|
10
|
-
* mount status, and provides access to device metadata including vendor, model, runtime
|
|
11
|
-
* statistics, and file system details.
|
|
12
|
-
*
|
|
13
|
-
* ## Key Features
|
|
14
|
-
* - **Hardware Information** - Vendor, model, and system path details
|
|
15
|
-
* - **Mount Management** - Track mount directory and removal status
|
|
16
|
-
* - **Runtime Statistics** - Device runtime and usage metrics
|
|
17
|
-
* - **Node Awareness** - Multi-node device distribution tracking
|
|
18
|
-
* - **File System Integration** - Label and mount point management
|
|
19
|
-
* - **Parent-Aware Architecture** - Designed for container model management
|
|
20
|
-
*
|
|
21
|
-
* ## Device Properties
|
|
22
|
-
* Storage devices expose comprehensive hardware and state information:
|
|
23
|
-
* - **Physical Details**: vendor, model, syspath for hardware identification
|
|
24
|
-
* - **Mount Information**: mountDir, label for file system access
|
|
25
|
-
* - **Status Tracking**: removed flag, local/remote node distribution
|
|
26
|
-
* - **Runtime Metrics**: runTimeMs for usage analytics
|
|
27
|
-
*
|
|
28
|
-
* ## Common Use Cases
|
|
29
|
-
* - **Storage Management UI** - Display available storage devices and capacity
|
|
30
|
-
* - **File Transfer Operations** - Access mount points for file operations
|
|
31
|
-
* - **System Monitoring** - Track device insertion/removal events
|
|
32
|
-
* - **Backup Management** - Identify backup destination devices
|
|
33
|
-
* - **Multi-node Systems** - Manage storage across distributed KOS nodes
|
|
34
|
-
* - **Device Diagnostics** - Runtime statistics and health monitoring
|
|
35
|
-
*
|
|
36
|
-
* @interface
|
|
37
|
-
* @example Basic Usage
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const usbDrive = StorageDevice.instance('usb-drive-1')
|
|
40
|
-
* .options({
|
|
41
|
-
* mountDir: '/media/usb1',
|
|
42
|
-
* vendor: 'SanDisk',
|
|
43
|
-
* model: 'Ultra USB 3.0',
|
|
44
|
-
* label: 'BACKUP_DRIVE',
|
|
45
|
-
* nodeId: 'primary',
|
|
46
|
-
* local: true,
|
|
47
|
-
* removed: false,
|
|
48
|
-
* runTimeMs: 1800000,
|
|
49
|
-
* syspath: '/sys/devices/usb1'
|
|
50
|
-
* })
|
|
51
|
-
* .build();
|
|
52
|
-
*
|
|
53
|
-
* // Access device properties
|
|
54
|
-
* console.log(`${usbDrive.vendor} ${usbDrive.model} at ${usbDrive.mountDir}`);
|
|
55
|
-
* ```
|
|
56
|
-
*
|
|
57
|
-
* @group KOS Model
|
|
58
|
-
* @category Device Management
|
|
59
|
-
* @useDeclaredType
|
|
60
|
-
*
|
|
61
|
-
* @see {@link StorageDeviceOptions} - Configuration options for StorageDevice instances
|
|
62
|
-
* @see {@link StorageDeviceContainerModel} - Container for managing multiple storage devices
|
|
63
|
-
* @see {@link StorageDeviceResponse} - API response structure for device data
|
|
64
|
-
*/
|
|
65
|
-
export type StorageDevice = PublicModelInterface<StorageDeviceModelImpl>;
|
|
66
5
|
export type StorageDeviceModel = PublicModelInterface<StorageDeviceModelImpl>;
|
|
67
6
|
/**
|
|
68
|
-
*
|
|
69
|
-
* @
|
|
7
|
+
* Storage Device Model
|
|
8
|
+
* @category Model
|
|
70
9
|
*/
|
|
71
10
|
export declare class StorageDeviceModelImpl implements IKosDataModel, IKosIdentifiable {
|
|
72
|
-
/** Unique identifier for the storage device model instance */
|
|
73
11
|
id: string;
|
|
74
|
-
/** File system mount directory path where device is accessible */
|
|
75
12
|
mountDir: string;
|
|
76
|
-
/** Whether the device has been physically removed from the system */
|
|
77
13
|
removed: boolean;
|
|
78
|
-
/** Device manufacturer name (e.g., 'SanDisk', 'Western Digital') */
|
|
79
14
|
vendor: string;
|
|
80
|
-
/** Total device runtime in milliseconds for usage tracking */
|
|
81
15
|
runTimeMs: number;
|
|
82
|
-
/** Device model name or identifier (e.g., 'Ultra USB 3.0', 'My Passport') */
|
|
83
16
|
model: string;
|
|
84
|
-
/** KOS node identifier where this device is connected */
|
|
85
17
|
nodeId: string;
|
|
86
|
-
/** Whether the device is connected to the local node */
|
|
87
18
|
local: boolean;
|
|
88
|
-
/** File system label or volume name for the device */
|
|
89
19
|
label: string;
|
|
90
|
-
/** System path for hardware identification and low-level access */
|
|
91
20
|
syspath: string;
|
|
92
|
-
/** Context logger for debugging and diagnostics */
|
|
93
21
|
private logger;
|
|
94
22
|
constructor(modelId: string, options: StorageDeviceOptions, context: KosCreationContext);
|
|
95
|
-
/**
|
|
96
|
-
* Updates the storage device model with new configuration options.
|
|
97
|
-
* @param options New configuration options to apply to the device
|
|
98
|
-
*/
|
|
99
23
|
updateModel(options: StorageDeviceOptions): void;
|
|
100
|
-
/**
|
|
101
|
-
* @internal
|
|
102
|
-
*/
|
|
103
24
|
init(): Promise<void>;
|
|
104
|
-
/**
|
|
105
|
-
* @internal
|
|
106
|
-
*/
|
|
107
25
|
load(): Promise<void>;
|
|
108
26
|
}
|
|
109
27
|
//# sourceMappingURL=storage-device-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-device-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/storage-device/storage-device-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAEhB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,eAAO,MAAM,UAAU,yBAAyB,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"storage-device-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/storage-device/storage-device-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAEhB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,eAAO,MAAM,UAAU,yBAAyB,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAE9E;;;GAGG;AACH,qBAEa,sBAAuB,YAAW,aAAa,EAAE,gBAAgB;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,MAAM,CAAmB;gBAE/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,kBAAkB;IAe7B,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAc1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
|
|
@@ -3,132 +3,18 @@ import { KosParentAware } from '../../../../core';
|
|
|
3
3
|
|
|
4
4
|
// --------------- StorageDevice ---------------
|
|
5
5
|
|
|
6
|
-
/**
|
|
7
|
-
* Configuration options for StorageDevice model instances.
|
|
8
|
-
*
|
|
9
|
-
* This interface defines the complete configuration structure for individual storage devices,
|
|
10
|
-
* including hardware identification, mount information, and runtime metrics. These options
|
|
11
|
-
* are typically populated from storage device discovery services and WebSocket updates.
|
|
12
|
-
*
|
|
13
|
-
* @example Basic Usage
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const device = StorageDevice.instance('usb-backup')
|
|
16
|
-
* .options({
|
|
17
|
-
* mountDir: '/media/usb-drive',
|
|
18
|
-
* vendor: 'SanDisk',
|
|
19
|
-
* model: 'Ultra USB 3.0',
|
|
20
|
-
* label: 'BACKUP_DRIVE',
|
|
21
|
-
* nodeId: 'primary',
|
|
22
|
-
* local: true,
|
|
23
|
-
* removed: false,
|
|
24
|
-
* runTimeMs: 1800000,
|
|
25
|
-
* syspath: '/sys/devices/usb1'
|
|
26
|
-
* })
|
|
27
|
-
* .build();
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* @kosService core.storage
|
|
31
|
-
* @category Model Configuration
|
|
32
|
-
* @category Device Management
|
|
33
|
-
*/
|
|
34
6
|
export interface StorageDeviceOptions extends KosParentAware {
|
|
35
|
-
/**
|
|
36
|
-
* File system mount directory path where the device is accessible.
|
|
37
|
-
* Empty string indicates the device is not currently mounted.
|
|
38
|
-
*
|
|
39
|
-
* @example "/media/usb-drive"
|
|
40
|
-
* @example "/mnt/backup-storage"
|
|
41
|
-
* @example "" // Not mounted
|
|
42
|
-
*/
|
|
43
7
|
mountDir: string;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Indicates whether the storage device has been physically removed.
|
|
47
|
-
* When true, the device is no longer accessible and mount operations will fail.
|
|
48
|
-
*
|
|
49
|
-
* @default false
|
|
50
|
-
*/
|
|
51
8
|
removed: boolean;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Hardware vendor/manufacturer name of the storage device.
|
|
55
|
-
* Used for device identification and display purposes.
|
|
56
|
-
*
|
|
57
|
-
* @example "SanDisk"
|
|
58
|
-
* @example "Western Digital"
|
|
59
|
-
* @example "Samsung"
|
|
60
|
-
*/
|
|
61
9
|
vendor: string;
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Total runtime in milliseconds since the device was first connected.
|
|
65
|
-
* Tracks cumulative usage time for analytics and maintenance scheduling.
|
|
66
|
-
*
|
|
67
|
-
* @example 1800000 // 30 minutes
|
|
68
|
-
* @example 3600000 // 1 hour
|
|
69
|
-
*/
|
|
70
10
|
runTimeMs: number;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Hardware model name/number of the storage device.
|
|
74
|
-
* Combined with vendor for complete device identification.
|
|
75
|
-
*
|
|
76
|
-
* @example "Ultra USB 3.0"
|
|
77
|
-
* @example "My Passport"
|
|
78
|
-
* @example "EVO Select 64GB"
|
|
79
|
-
*/
|
|
80
11
|
model: string;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* KOS node identifier where this storage device is physically connected.
|
|
84
|
-
* Used in multi-node systems to track device distribution.
|
|
85
|
-
*
|
|
86
|
-
* @example "primary"
|
|
87
|
-
* @example "secondary"
|
|
88
|
-
* @example "embedded-node-1"
|
|
89
|
-
*/
|
|
90
12
|
nodeId: string;
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Indicates if the device is connected to the local node (true) or remote node (false).
|
|
94
|
-
* Determines accessibility and operation capabilities from current context.
|
|
95
|
-
*
|
|
96
|
-
* @default true
|
|
97
|
-
*/
|
|
98
13
|
local: boolean;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* File system label/name assigned to the storage device.
|
|
102
|
-
* Used for user-friendly identification and mount point organization.
|
|
103
|
-
*
|
|
104
|
-
* @example "BACKUP_DRIVE"
|
|
105
|
-
* @example "CONFIG_STORAGE"
|
|
106
|
-
* @example "DATA_ARCHIVE"
|
|
107
|
-
*/
|
|
108
14
|
label: string;
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* System device path in the Linux device tree.
|
|
112
|
-
* Low-level hardware identifier for device tracking and diagnostics.
|
|
113
|
-
*
|
|
114
|
-
* @example "/sys/devices/pci0000:00/usb1/1-2"
|
|
115
|
-
* @example "/sys/devices/mmc0/mmc0:0001"
|
|
116
|
-
* @example "/sys/devices/platform/sdhci"
|
|
117
|
-
*/
|
|
118
15
|
syspath: string;
|
|
119
16
|
}
|
|
120
17
|
|
|
121
18
|
// --------------- StorageDeviceContainer ---------------
|
|
122
19
|
|
|
123
|
-
/**
|
|
124
|
-
* Configuration options for StorageDeviceContainer model instances.
|
|
125
|
-
*
|
|
126
|
-
* The container model manages collections of storage devices and handles real-time
|
|
127
|
-
* updates via WebSocket topics. Currently uses an empty configuration object as
|
|
128
|
-
* the container's behavior is primarily driven by discovered storage devices.
|
|
129
|
-
*
|
|
130
|
-
* @kosService core.storage
|
|
131
|
-
* @category Model Configuration
|
|
132
|
-
* @category Device Management
|
|
133
|
-
*/
|
|
134
20
|
export type StorageDeviceContainerOptions = object;
|
|
@@ -4,94 +4,19 @@ import { IKosIdentifiable } from '../../../core/core/types';
|
|
|
4
4
|
import { IKosDataModel, KosCreationContext } from '../../../core/core/kosModel';
|
|
5
5
|
|
|
6
6
|
export declare const MODEL_TYPE = "studio-properties-model";
|
|
7
|
-
/**
|
|
8
|
-
* StudioPropertiesModel - Real-time KOS Studio properties management with WebSocket synchronization.
|
|
9
|
-
*
|
|
10
|
-
* This model provides centralized access to KOS Studio's runtime properties and configuration
|
|
11
|
-
* values, enabling applications to access Studio-specific settings, tool states, and integration
|
|
12
|
-
* parameters. Properties are synchronized in real-time via WebSocket topics, ensuring all
|
|
13
|
-
* connected clients maintain consistent Studio state information.
|
|
14
|
-
*
|
|
15
|
-
* ## Key Features
|
|
16
|
-
* - **Real-time synchronization** - Properties update automatically via `/kos/studio/properties` topic
|
|
17
|
-
* - **Connection-scoped access** - Properties are specific to individual Studio VM connections
|
|
18
|
-
* - **Fallback handling** - Graceful degradation with default values when Studio is unavailable
|
|
19
|
-
* - **Observable properties** - Create reactive computed values for any property key
|
|
20
|
-
* - **Session management** - Automatic WebSocket session lifecycle with proper cleanup
|
|
21
|
-
*
|
|
22
|
-
* ## Topic-Based Reactivity
|
|
23
|
-
* The model listens to this KOS topic for real-time synchronization:
|
|
24
|
-
* - **`/kos/studio/properties`** - Broadcasts Studio property changes with connection-specific routing
|
|
25
|
-
*
|
|
26
|
-
* ## Common Use Cases
|
|
27
|
-
* - **Studio integration status** - Check if legacy tools or specific Studio features are enabled
|
|
28
|
-
* - **Tool configuration** - Access Studio tool settings and preferences for UI adaptation
|
|
29
|
-
* - **Connection management** - Track Studio connection state and properties for diagnostics
|
|
30
|
-
* - **Feature flags** - Access Studio-specific feature toggles and experimental settings
|
|
31
|
-
*
|
|
32
|
-
* @interface
|
|
33
|
-
* @example Basic Usage
|
|
34
|
-
* ```typescript
|
|
35
|
-
* const studioProps = StudioPropertiesModel.instance('studio-conn-1')
|
|
36
|
-
* .options({ connectionId: 'vm-connection-abc123' })
|
|
37
|
-
* .build();
|
|
38
|
-
*
|
|
39
|
-
* await studioProps.initializePropertiesSession();
|
|
40
|
-
* const legacyToolSupport = studioProps.get('kos.studio.tool.legacy');
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
* @group KOS Model
|
|
44
|
-
* @category System Integration
|
|
45
|
-
* @useDeclaredType
|
|
46
|
-
*
|
|
47
|
-
* @see {@link StudioPropertiesOptions} - Configuration options for StudioPropertiesModel instances
|
|
48
|
-
*/
|
|
49
7
|
export type StudioPropertiesModel = PublicModelInterface<StudioPropertiesModelImpl>;
|
|
50
|
-
/**
|
|
51
|
-
* @ignore
|
|
52
|
-
* @internal
|
|
53
|
-
*/
|
|
54
8
|
export declare class StudioPropertiesModelImpl implements IKosDataModel, IKosIdentifiable {
|
|
55
|
-
/** Unique identifier for the model instance */
|
|
56
9
|
id: string;
|
|
57
|
-
/** Studio VM connection identifier for property routing */
|
|
58
10
|
connectionId: string;
|
|
59
|
-
/** WebSocket subscription cleanup function */
|
|
60
11
|
private unsubscribe;
|
|
61
|
-
/** Context logger for debugging and diagnostics */
|
|
62
12
|
private logger;
|
|
63
|
-
/** Observable data store for Studio properties */
|
|
64
13
|
private data;
|
|
65
14
|
constructor(modelId: string, options: StudioPropertiesOptions, context: KosCreationContext);
|
|
66
|
-
/**
|
|
67
|
-
* @internal
|
|
68
|
-
*/
|
|
69
15
|
init(): Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* @internal
|
|
72
|
-
*/
|
|
73
16
|
load(): Promise<void>;
|
|
74
|
-
/**
|
|
75
|
-
* Terminates the WebSocket session for Studio properties.
|
|
76
|
-
* Cleans up subscriptions to prevent memory leaks.
|
|
77
|
-
*/
|
|
78
17
|
terminatePropertiesSession(): Promise<void>;
|
|
79
|
-
/**
|
|
80
|
-
* Initializes WebSocket session for real-time Studio property synchronization.
|
|
81
|
-
* Loads initial properties and subscribes to update topics.
|
|
82
|
-
*/
|
|
83
18
|
initializePropertiesSession(): Promise<void>;
|
|
84
|
-
/**
|
|
85
|
-
* Retrieves a Studio property value by key.
|
|
86
|
-
* @param key Property key to retrieve
|
|
87
|
-
* @returns The property value or undefined if not set
|
|
88
|
-
*/
|
|
89
19
|
get(key: string): any;
|
|
90
|
-
/**
|
|
91
|
-
* Creates an observable computed property for reactive updates.
|
|
92
|
-
* @param key Property key to observe
|
|
93
|
-
* @returns Observable that emits when the property changes
|
|
94
|
-
*/
|
|
95
20
|
createObservableProperty(key: string): import('mobx').IComputedValue<any>;
|
|
96
21
|
}
|
|
97
22
|
//# sourceMappingURL=studio-properties-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio-properties-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/studio-properties/studio-properties-model.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,aAAa,EAEb,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,eAAO,MAAM,UAAU,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"studio-properties-model.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/models/models/studio-properties/studio-properties-model.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,aAAa,EAEb,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,eAAO,MAAM,UAAU,4BAA4B,CAAC;AAGpD,MAAM,MAAM,qBAAqB,GAC/B,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;AAMlD,qBACa,yBACX,YAAW,aAAa,EAAE,gBAAgB;IAE1C,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,MAAM,CAAmB;IAEjC,OAAO,CAAC,IAAI,CAA+B;gBAEzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,kBAAkB;IAWvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAG3C,2BAA2B;IA8BjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAIrB,wBAAwB,CAAC,GAAG,EAAE,MAAM;CAGrC"}
|