@camstack/types 1.2.7 → 1.2.8

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/addon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sleep = require("./sleep-eVjOy4ev.js");
2
+ const require_sleep = require("./sleep-D1IRluEi.js");
3
3
  const require_event_category = require("./event-category-CGj9fI4L.js");
4
4
  const require_err_msg = require("./err-msg-COpsHMw2.js");
5
5
  exports.BaseAddon = require_sleep.BaseAddon;
package/dist/addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as parseJsonUnknown, D as asString, I as scopeKey, M as ReadinessRegistry, N as ReadinessTimeoutError, S as DeviceType, T as asJsonObject, a as viewerUiCapability, bt as DisposerChain, ct as BaseAddon, ft as emitReadiness, i as deviceOpsCapability, j as DATAPLANE_SECRET_HEADER, lt as normalizeAddonInitResult, m as expandCapMethods, o as adminUiCapability, s as createDeviceProxy, t as sleep } from "./sleep-BQ60XlE9.mjs";
1
+ import { A as parseJsonUnknown, D as asString, I as scopeKey, M as ReadinessRegistry, N as ReadinessTimeoutError, S as DeviceType, T as asJsonObject, a as viewerUiCapability, bt as DisposerChain, ct as BaseAddon, ft as emitReadiness, i as deviceOpsCapability, j as DATAPLANE_SECRET_HEADER, lt as normalizeAddonInitResult, m as expandCapMethods, o as adminUiCapability, s as createDeviceProxy, t as sleep } from "./sleep-BTyHhhpv.mjs";
2
2
  import { t as EventCategory } from "./event-category-D4HJq7Mw.mjs";
3
3
  import { t as errMsg } from "./err-msg-IQTHeDzc.mjs";
4
4
  export { BaseAddon, DATAPLANE_SECRET_HEADER, DeviceType, DisposerChain, EventCategory, ReadinessRegistry, ReadinessTimeoutError, adminUiCapability, asJsonObject, asString, createDeviceProxy, deviceOpsCapability, emitReadiness, errMsg, expandCapMethods, normalizeAddonInitResult, parseJsonUnknown, scopeKey, sleep, viewerUiCapability };
@@ -27,6 +27,31 @@ export type CapabilityMethodKind = 'query' | 'mutation' | 'subscription';
27
27
  * (the unscoped role) which the middleware lets through unconditionally.
28
28
  */
29
29
  export type CapabilityMethodAuth = 'public' | 'protected' | 'admin';
30
+ /**
31
+ * Server-injected caller identity for methods declared with
32
+ * `caller: 'required'` (D-1, notification-center P0).
33
+ *
34
+ * The hub cap-router builder derives this from the AUTHENTICATED tRPC
35
+ * session (`ctx.user`) and injects it into the input object handed to
36
+ * the provider — it is NOT part of the wire Zod schema, and any
37
+ * client-supplied `caller` field is discarded before injection, so the
38
+ * value is spoof-proof by construction. `isAdmin` is the single source
39
+ * of authority for caps (the v2 role collapse).
40
+ */
41
+ export interface CapCaller {
42
+ readonly userId: string;
43
+ readonly isAdmin: boolean;
44
+ }
45
+ /**
46
+ * Caller-identity requirement for a capability method.
47
+ * `'required'` — the router injects {@link CapCaller} from the
48
+ * authenticated session and FAILS the call (UNAUTHORIZED) when no
49
+ * authenticated user is on the context. Only valid on query/mutation
50
+ * methods with an OBJECT input schema (the injected field needs an
51
+ * object to live on); the runtime builder rejects other shapes at
52
+ * router-build time.
53
+ */
54
+ export type CapabilityMethodCaller = 'required';
30
55
  /**
31
56
  * Optional semantic role used by the admin UI's unified "Integrations"
32
57
  * page to group caps by what kind of external system they integrate
@@ -69,6 +94,19 @@ export interface CapabilityMethodSchema<TInput extends z.ZodType = z.ZodType, TO
69
94
  * rationale as the status-Partial on native providers.
70
95
  */
71
96
  readonly systemOnly?: boolean;
97
+ /**
98
+ * Opt-in caller-identity injection (D-1). When `'required'`, the hub
99
+ * cap-router injects a server-derived {@link CapCaller} into the input
100
+ * object handed to the provider (never trusted from the client) and
101
+ * fails the call with UNAUTHORIZED when the context carries no
102
+ * authenticated user. `InferProvider` / `InferNativeProvider` type the
103
+ * provider's input as `Input & { caller: CapCaller }` for such methods.
104
+ * Declare via `method(in, out, { caller: 'required', ... })` so the
105
+ * static type carries the literal (a plain optional field on a
106
+ * `method()` call without the option would inject at runtime but leave
107
+ * the provider input untyped).
108
+ */
109
+ readonly caller?: CapabilityMethodCaller;
72
110
  }
73
111
  /** Schema for a capability event (emitted to EventBus) */
74
112
  export interface CapabilityEventSchema<TData extends z.ZodType = z.ZodType> {
@@ -649,8 +687,21 @@ export interface DeviceStatusContribution<TStatus> {
649
687
  readonly deviceId: number;
650
688
  }) => Promise<TStatus | null>;
651
689
  }
690
+ /**
691
+ * Provider-side input for a method: the wire input, plus the
692
+ * server-injected {@link CapCaller} when the method declares
693
+ * `caller: 'required'`. The `caller` field is NOT part of the wire Zod
694
+ * schema — the hub router injects it after validation, so only the
695
+ * PROVIDER type carries it (clients never send it; if they do, the
696
+ * router discards it).
697
+ */
698
+ type ProviderMethodInput<M, TIn extends z.ZodType> = M extends {
699
+ readonly caller: 'required';
700
+ } ? z.infer<TIn> & {
701
+ readonly caller: CapCaller;
702
+ } : z.infer<TIn>;
652
703
  export type InferProvider<T extends CapabilityDefinition> = {
653
- readonly [K in keyof T['methods']]: T['methods'][K] extends CapabilityMethodSchema<infer TIn, infer TOut> ? T['methods'][K]['kind'] extends 'subscription' ? (input: z.infer<TIn>, push: (value: z.infer<TOut>) => void) => (() => void) | void : (input: z.infer<TIn>) => Promise<z.infer<TOut>> : never;
704
+ readonly [K in keyof T['methods']]: T['methods'][K] extends CapabilityMethodSchema<infer TIn, infer TOut> ? T['methods'][K]['kind'] extends 'subscription' ? (input: z.infer<TIn>, push: (value: z.infer<TOut>) => void) => (() => void) | void : (input: ProviderMethodInput<T['methods'][K], TIn>) => Promise<z.infer<TOut>> : never;
654
705
  } & (T['exposesDeviceSettings'] extends true ? DeviceSettingsContribution : Record<never, never>) & (T extends {
655
706
  status: CapabilityStatusSchema;
656
707
  } ? DeviceStatusContribution<InferStatus<T>> : Record<never, never>);
@@ -667,7 +718,7 @@ export type InferProvider<T extends CapabilityDefinition> = {
667
718
  * separate stops every device class (RtspCamera, OnvifCamera, …) from
668
719
  * having to stub out three unused methods.
669
720
  */
670
- type NativeMethodFn<M> = M extends CapabilityMethodSchema<infer TIn, infer TOut> ? M['kind'] extends 'subscription' ? (input: z.infer<TIn>, push: (value: z.infer<TOut>) => void) => (() => void) | void : (input: z.infer<TIn>) => Promise<z.infer<TOut>> : never;
721
+ type NativeMethodFn<M> = M extends CapabilityMethodSchema<infer TIn, infer TOut> ? M['kind'] extends 'subscription' ? (input: z.infer<TIn>, push: (value: z.infer<TOut>) => void) => (() => void) | void : (input: ProviderMethodInput<M, TIn>) => Promise<z.infer<TOut>> : never;
671
722
  export type InferNativeProvider<T extends CapabilityDefinition> = {
672
723
  readonly [K in keyof T['methods'] as T['methods'][K] extends {
673
724
  systemOnly: true;
@@ -748,8 +799,28 @@ export interface CapabilityMethodOptions<TKind extends CapabilityMethodKind = Ca
748
799
  readonly access?: CapabilityMethodAccess;
749
800
  /** Moleculer action timeout override (ms). Overrides broker global requestTimeout for this action only. */
750
801
  readonly timeoutMs?: number;
802
+ /**
803
+ * Opt-in caller-identity injection (D-1). `'required'` ⇒ the router
804
+ * injects a server-derived {@link CapCaller} into the provider input
805
+ * and rejects unauthenticated calls. See
806
+ * {@link CapabilityMethodSchema.caller}.
807
+ */
808
+ readonly caller?: CapabilityMethodCaller;
751
809
  }
752
- /** Shorthand to define a method schema */
810
+ /**
811
+ * Shorthand to define a method schema.
812
+ *
813
+ * Overloaded so `{ caller: 'required' }` in the options is carried into
814
+ * the RETURN TYPE as a literal (`& { readonly caller: 'required' }`) —
815
+ * that literal is what `InferProvider` / `InferNativeProvider` key on to
816
+ * add the injected `caller: CapCaller` field to the provider's input
817
+ * type. Same pattern as `systemMethod()`'s `systemOnly: true` literal.
818
+ */
819
+ export declare function method<TIn extends z.ZodType, TOut extends z.ZodType, TKind extends CapabilityMethodKind = 'query'>(input: TIn, output: TOut, options: CapabilityMethodOptions<TKind> & {
820
+ readonly caller: 'required';
821
+ }): CapabilityMethodSchema<TIn, TOut, TKind> & {
822
+ readonly caller: 'required';
823
+ };
753
824
  export declare function method<TIn extends z.ZodType, TOut extends z.ZodType, TKind extends CapabilityMethodKind = 'query'>(input: TIn, output: TOut, options?: CapabilityMethodOptions<TKind>): CapabilityMethodSchema<TIn, TOut, TKind>;
754
825
  /**
755
826
  * A wrapper/system-only method: served exclusively by the cap's system-level
@@ -41,7 +41,7 @@ export { ArchiveEntrySchema, ArchiveManifestSchema, BackupDestinationInfoSchema,
41
41
  export { BrokerAddInputSchema, BrokerGetStateInputSchema, type BrokerInfo as UnifiedBrokerInfo, BrokerInfoSchema as UnifiedBrokerInfoSchema, type BrokerProviderInfo, BrokerProviderInfoSchema, BrokerPublishInputSchema, BrokerRegistryStatusSchema, type BrokerStatus as UnifiedBrokerStatus, BrokerStatusEnum, BrokerSubscribeInputSchema, BrokerSubscribeResultSchema, BrokerTestConnectionResultSchema, BrokerUnsubscribeInputSchema, brokerCapability, type IBrokerProvider, } from './broker.cap.js';
42
42
  export { cameraPipelineConfigCapability, type ICameraPipelineConfigProvider, } from './camera-pipeline-config.cap.js';
43
43
  export { cameraStreamsCapability, type ICameraStreamsProvider, type PickedCamStream, PickedCamStreamSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, type StreamCodec, StreamCodecSchema, } from './camera-streams.cap.js';
44
- export type { CapabilityDefinition, CapabilityEventSchema, CapabilityMethodAuth, CapabilityMethodKind, CapabilityMethodOptions, CapabilityMethodSchema, CapabilityMountHint, CapabilityMountKind, CapabilityStatusItemArray, CapabilityStatusKind, CapabilityStatusSchema, DeviceConfigDerivedFormUi, DeviceConfigSpec, DeviceConfigUiSpec, DeviceConfigWidgetUi, DeviceSettingsContribution, InferDeviceProxyCap, InferEvents, InferName, InferNativeProvider, InferProvider, InferRuntimeState, ProviderKind, UiContribution, UiContributionKind, UiContributionRemote, } from './capability-definition.js';
44
+ export type { CapCaller, CapabilityDefinition, CapabilityEventSchema, CapabilityMethodAuth, CapabilityMethodCaller, CapabilityMethodKind, CapabilityMethodOptions, CapabilityMethodSchema, CapabilityMountHint, CapabilityMountKind, CapabilityStatusItemArray, CapabilityStatusKind, CapabilityStatusSchema, DeviceConfigDerivedFormUi, DeviceConfigSpec, DeviceConfigUiSpec, DeviceConfigWidgetUi, DeviceSettingsContribution, InferDeviceProxyCap, InferEvents, InferName, InferNativeProvider, InferProvider, InferRuntimeState, ProviderKind, UiContribution, UiContributionKind, UiContributionRemote, } from './capability-definition.js';
45
45
  export { DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, event, expandCapMethods, isDeviceConfigCap, method, resolveCapMount, } from './capability-definition.js';
46
46
  export { extractNestedAddonId, isArrayOutputSchema, isCollectionArrayMethod, isObjectInput, isVoidInput, kebabToCamel, looseSchema, objectInputDeclaresAddonId, procedureAuthKey, } from './cap-router-predicates.js';
47
47
  export * from './custom-actions.js';
@@ -73,6 +73,7 @@ export { AddBrokerInputSchema, BrokerConnectionDetailsSchema, BrokerInfoSchema,
73
73
  export type { NetworkAccessStatus, NetworkEndpoint } from './network-access.cap.js';
74
74
  export { NetworkAccessStatusSchema, NetworkEndpointSchema, networkAccessCapability, } from './network-access.cap.js';
75
75
  export { type Attachment, AttachmentMediaTypeSchema, type AttachmentMediaType, AttachmentSchema, type DiscoveredTarget, DiscoveredTargetSchema, type INotificationOutputProvider, type NotificationAction, NotificationActionSchema, type NotificationFormat, NotificationFormatSchema, NotificationSchema, type RenderedAs, RenderedAsSchema, type SendResult, SendResultSchema, type Target, type TargetKind, type TargetKindCaps, TargetKindCapsSchema, type TargetKindLevel, TargetKindLevelSchema, TargetKindSchema, TargetSchema, type TestResult, TestResultSchema, notificationOutputCapability, } from './notification-output.cap.js';
76
+ export { type INotificationRulesProvider, NC_CONDITION_CATALOG, NC_MAX_PER_TRACK_IMMEDIATE, type NcConditionDescriptor, NcConditionDescriptorSchema, type NcConditions, NcConditionsSchema, type NcDelivery, NcDeliverySchema, type NcMediaPolicy, NcMediaPolicySchema, type NcPlateMatcher, NcPlateMatcherSchema, type NcRule, type NcRuleInput, NcRuleInputSchema, type NcRulePatch, NcRulePatchSchema, NcRuleSchema, type NcRuleTarget, NcRuleTargetSchema, type NcSchedule, NcScheduleSchema, type NcScheduleWindow, NcScheduleWindowSchema, type NcTestResult, NcTestResultSchema, type NcThrottle, NcThrottleSchema, type NcZoneCondition, NcZoneConditionSchema, notificationRulesCapability, } from './notification-rules.cap.js';
76
77
  export { type ILlmProvider, type LlmDefault, type LlmDefaultSelector, LlmDefaultSchema, LlmDefaultSelectorSchema, llmCapability, type LlmProfile, type LlmProfileKind, type LlmProfileKindDescriptor, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, type LlmRuntimeNode, LlmRuntimeNodeSchema, type LlmUsageRollup, LlmUsageRollupSchema, type ManagedModelCatalogEntry, ManagedModelCatalogEntrySchema, } from './llm.cap.js';
77
78
  export { type ILlmRuntimeProvider, llmRuntimeCapability, type LlmNodeModel, LlmNodeModelSchema, type LlmRuntimeCompleteInput, LlmRuntimeCompleteInputSchema, type LlmRuntimeDiskUsage, LlmRuntimeDiskUsageSchema, type LlmRuntimeStatus, LlmRuntimeStatusSchema, type ManagedModelRef, ManagedModelRefSchema, type ManagedRuntimeConfig, ManagedRuntimeConfigSchema, } from './llm-runtime.cap.js';
78
79
  export { type LlmErrorCode, LlmErrorCodeSchema, type LlmGenerateBaseInput, LlmGenerateBaseInputSchema, type LlmGenerateErr, LlmGenerateErrSchema, type LlmGenerateOk, LlmGenerateOkSchema, type LlmGenerateResult, LlmGenerateResultSchema, type LlmImage, LlmImageSchema, type LlmUsage, LlmUsageSchema, } from './llm-shared.js';
@@ -277,6 +278,7 @@ import type { nodesCapability } from './nodes.cap.js';
277
278
  import type { llmCapability } from './llm.cap.js';
278
279
  import type { llmRuntimeCapability } from './llm-runtime.cap.js';
279
280
  import type { notificationOutputCapability } from './notification-output.cap.js';
281
+ import type { notificationRulesCapability } from './notification-rules.cap.js';
280
282
  import type { notifierCapability } from './notifier.cap.js';
281
283
  import type { numericSensorCapability } from './numeric-sensor.cap.js';
282
284
  import type { oauthIntegrationCapability } from './oauth-integration.cap.js';
@@ -323,6 +325,6 @@ import type { webrtcSessionCapability } from './webrtc-session.cap.js';
323
325
  import type { zoneAnalyticsCapability } from './zone-analytics.cap.js';
324
326
  import type { zoneRulesCapability } from './zone-rules.cap.js';
325
327
  import type { zonesCapability } from './zones.cap.js';
326
- type AnyCapability = typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof settingsStoreCapability | typeof logDestinationCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof advancedNotifierCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof consumablesCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingExportCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof imageSettingsCapability;
328
+ type AnyCapability = typeof addonSettingsCapability | typeof alertsCapability | typeof storageCapability | typeof storageProviderCapability | typeof storageEvictableCapability | typeof filesystemBrowseCapability | typeof backupCapability | typeof settingsStoreCapability | typeof logDestinationCapability | typeof adminUiCapability | typeof viewerUiCapability | typeof ssoBridgeCapability | typeof userPasskeysCapability | typeof smtpProviderCapability | typeof mqttBrokerCapability | typeof brokerCapability | typeof deviceAdoptionCapability | typeof deviceExportCapability | typeof addonPagesCapability | typeof addonPagesSourceCapability | typeof addonWidgetsCapability | typeof addonWidgetsSourceCapability | typeof customModelRegistryCapability | typeof modelDistributorCapability | typeof modelConvertCapability | typeof addonRoutesCapability | typeof streamBrokerCapability | typeof decoderCapability | typeof webrtcSessionCapability | typeof cameraStreamsCapability | typeof motionDetectionCapability | typeof pipelineExecutorCapability | typeof detectionPipelineCapability | typeof cameraPipelineConfigCapability | typeof pipelineRunnerCapability | typeof pipelineOrchestratorCapability | typeof audioAnalyzerCapability | typeof audioAnalysisCapability | typeof audioCodecCapability | typeof embeddingEncoderCapability | typeof deviceProviderCapability | typeof deviceManagerCapability | typeof deviceStateCapability | typeof authProviderCapability | typeof loginMethodCapability | typeof networkAccessCapability | typeof turnProviderCapability | typeof snapshotCapability | typeof llmCapability | typeof llmRuntimeCapability | typeof notificationOutputCapability | typeof notificationRulesCapability | typeof advancedNotifierCapability | typeof pipelineAnalyticsCapability | typeof metricsProviderCapability | typeof ptzCapability | typeof ptzAutotrackCapability | typeof consumablesCapability | typeof rebootCapability | typeof deviceDiscoveryCapability | typeof brightnessCapability | typeof colorCapability | typeof climateControlCapability | typeof coverCapability | typeof valveCapability | typeof humidifierCapability | typeof waterHeaterCapability | typeof weatherCapability | typeof imageCapability | typeof lockControlCapability | typeof vacuumControlCapability | typeof petFeederCapability | typeof lawnMowerControlCapability | typeof fanControlCapability | typeof controlCapability | typeof notifierCapability | typeof mediaPlayerCapability | typeof alarmPanelCapability | typeof presenceCapability | typeof scriptRunnerCapability | typeof automationControlCapability | typeof motionTriggerCapability | typeof eventsCapability | typeof zonesCapability | typeof zoneRulesCapability | typeof zoneAnalyticsCapability | typeof audioMetricsCapability | typeof motionCapability | typeof contactCapability | typeof floodCapability | typeof smokeCapability | typeof carbonMonoxideCapability | typeof gasCapability | typeof tamperCapability | typeof vibrationCapability | typeof connectivityCapability | typeof binaryCapability | typeof temperatureSensorCapability | typeof humiditySensorCapability | typeof ambientLightSensorCapability | typeof pressureSensorCapability | typeof powerMeterCapability | typeof airQualitySensorCapability | typeof numericSensorCapability | typeof enumSensorCapability | typeof recordingCapability | typeof recordingExportCapability | typeof deviceOpsCapability | typeof platformProbeCapability | typeof localNetworkCapability | typeof meshNetworkCapability | typeof userManagementCapability | typeof systemCapability | typeof networkQualityCapability | typeof toastCapability | typeof nodesCapability | typeof serverManagementCapability | typeof integrationsCapability | typeof addonsCapability | typeof oauthIntegrationCapability | typeof streamParamsCapability | typeof streamCatalogCapability | typeof motionZonesCapability | typeof sceneMonitorCapability | typeof privacyMaskCapability | typeof dayNightCapability | typeof imageSettingsCapability;
327
329
  export type CapabilityName = AnyCapability['name'];
328
330
  export type ITypedReadinessRegistry = IReadinessRegistry<CapabilityName>;