@camstack/addon-pipeline-orchestrator 1.2.1 → 1.2.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/_stub.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-BiLBDmU5.mjs";
2
- import { n as t, r as n, t as r } from "./_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-fPhxTvHY.mjs";
2
+ import { n as t, r as n, t as r } from "./_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cyg3CeHQ.mjs";
3
3
  import { a as i, c as a, i as o, n as s, o as c, r as l, s as u, t as d } from "./_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare__react__loadShare__.js-a8tvh93M.mjs";
4
4
  import { C as f, S as p, _ as m, a as h, b as g, c as _, d as v, f as y, g as b, h as x, i as S, l as C, m as w, n as T, o as E, p as D, r as O, s as k, t as A, u as j, v as M, w as N, x as P, y as F } from "./_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-QenARazS.mjs";
5
5
  import { n as I, r as L, t as R } from "./_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-yD-rMaFX.mjs";
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
3
3
  var e = {
4
4
  "@camstack/sdk": {
5
5
  name: "@camstack/sdk",
6
- version: "1.2.1",
6
+ version: "1.2.2",
7
7
  scope: ["default"],
8
8
  loaded: !1,
9
9
  from: "addon_pipeline_orchestrator_widgets",
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.1",
21
+ version: "1.2.2",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_orchestrator_widgets",
@@ -33,7 +33,7 @@ var e = {
33
33
  },
34
34
  "@camstack/ui-library": {
35
35
  name: "@camstack/ui-library",
36
- version: "1.2.1",
36
+ version: "1.2.2",
37
37
  scope: ["default"],
38
38
  loaded: !1,
39
39
  from: "addon_pipeline_orchestrator_widgets",
@@ -16,7 +16,7 @@ globalThis[r] ||= {
16
16
  remote: {}
17
17
  }, globalThis[r].share ||= {}, globalThis[r].remote ||= {};
18
18
  var i = globalThis[r], a, o, s, c = (e) => {
19
- e.ACCESSORY_LABEL, e.ALL_CAPABILITY_DEFINITIONS, e.APPLE_SA_TO_MACRO, e.AUDIO_BACKEND_CHOICES, e.AUDIO_MACRO_LABELS, e.AccessoriesStatusSchema, e.AccessoryKind, e.AddBrokerInputSchema, e.AddonAutoUpdateSchema, e.AddonListItemSchema, e.AddonPageDeclarationSchema, e.AddonPageInfoSchema, e.AdoptionAdoptInputSchema, e.AdoptionAdoptResultSchema, e.AdoptionFilterSchema, e.AdoptionGetCandidateInputSchema, e.AdoptionListCandidatesInputSchema, e.AdoptionListCandidatesOutputSchema, e.AdoptionReleaseInputSchema, e.AdoptionStatusSchema, e.AgentLoadSummarySchema, e.AirQualitySensorStatusSchema, e.AlarmArmModeSchema, e.AlarmPanelStatusSchema, e.AlarmStateSchema, e.AlertSchema, e.AlertSeveritySchema, e.AlertSourceSchema, e.AlertStatusSchema, e.AmbientLightSensorStatusSchema, e.ApiKeyRecordSchema, e.ApiKeySummarySchema, e.ArchiveEntrySchema, e.ArchiveManifestSchema, e.AttachmentMediaTypeSchema, e.AttachmentSchema, e.AudioAnalysisResultSchema, e.AudioAnalysisSettingsSchema, e.AudioChunkInputSchema, e.AudioClassSummarySchema, e.AudioClassificationLabelSchema, e.AudioClassificationResultSchema, e.AudioCodecInfoSchema, e.AudioDecodeSessionConfigSchema, e.AudioEncodeSchema, e.AudioEncodeSessionConfigSchema, e.AudioEncodedChunkSchema, e.AudioEventSchema, e.AudioLevelSchema, e.AudioMetricsHistoryPointSchema, e.AudioMetricsHistorySchema, e.AudioMetricsSnapshotSchema, e.AudioPcmChunkSchema, e.AuthResultSchema, e.AutoUpdateSettingsSchema, e.AutomationControlStatusSchema, e.AvailableIntegrationTypeSchema, e.BACKEND_TO_FORMAT, e.BATTERY_DEVICE_PROFILE, e.BacklightModeSchema, e.BackupDestinationInfoSchema, e.BackupEntrySchema, e.BaseAddon, e.BaseDevice, e.BaseDeviceProvider, e.BatteryStatusSchema, e.BinaryStatusSchema, e.BoundingBoxSchema, e.BrightnessStatusSchema, e.BrokerAddInputSchema, e.BrokerAudioClientSchema, e.BrokerClientsSchema, e.BrokerConnectionDetailsSchema, e.BrokerConsumerAttributionSchema, e.BrokerConsumerKindSchema, e.BrokerDecodedClientSchema, e.BrokerEncodedClientSchema, e.BrokerGetStateInputSchema, e.BrokerInfoSchema, e.BrokerProviderInfoSchema, e.BrokerPublishInputSchema, e.BrokerRegistryStatusSchema, e.BrokerRtspClientSchema, e.BrokerStatsSchema, e.BrokerStatusEnum, e.BrokerStatusSchema, e.BrokerSubscribeInputSchema, e.BrokerSubscribeResultSchema, e.BrokerTestConnectionResultSchema, e.BrokerUnsubscribeInputSchema, e.CAM_PROFILE_ORDER, e.CAPABILITY_NAMES, e.CAPABILITY_ROUTER_KEYS, e.CAP_NAMES_WITH_STATUS, e.CAP_NODE_PIN_CONTEXT_KEY, e.CAP_PROVIDER_KIND_MAP, e.COCO_80_LABELS, e.COCO_TO_MACRO, e.CamProfileSchema, e.CamStreamDescriptorSchema, e.CamStreamKindSchema, e.CamStreamResolutionSchema, e.CameraAssignmentStatusSchema, e.CameraAudioStatusSchema, e.CameraBrokerProfileSchema, e.CameraBrokerStatusSchema, e.CameraCredentialsSchema, e.CameraCredentialsStatusSchema, e.CameraDecoderShmSchema, e.CameraDecoderStatusSchema, e.CameraDetectionPhaseSchema, e.CameraDetectionProvisioningSchema, e.CameraDetectionProvisioningStateSchema, e.CameraDetectionStatusSchema, e.CameraMetricsSchema, e.CameraMetricsWithDeviceIdSchema, e.CameraMotionStatusSchema, e.CameraRecordingModeSchema, e.CameraRecordingStatusSchema, e.CameraSourceStatusSchema, e.CameraSourceStreamSchema, e.CameraStatusSchema, e.CameraStreamSchema, e.CandidateQueryFilterSchema, e.CapScopeSchema, e.CapabilityBindingsSchema, e.CarbonMonoxideStatusSchema, e.ChargingStatus, e.ClientNetworkStatsSchema, e.ClimateControlStatusSchema, e.ClipPlaybackSchema, e.ClipSchema, e.ClusterAddonNodeDeploymentSchema, e.ClusterAddonStatusEntrySchema, e.CollectionColumnSchema, e.CollectionIndexSchema, e.ColorStatusSchema, e.ConfigEntrySchema, e.ConfigSectionWithValuesSchema, e.ConfigTabDeclarationSchema, e.ConnectivityStatusSchema, e.ConsumableItemSchema, e.ConsumablesStatusSchema, e.ContactStatusSchema, e.ControlKindSchema, e.ControlStatusSchema, e.ConvertArtifactSchema, e.ConvertResultSchema, e.ConvertTargetSchema, e.CoverStateSchema, e.CoverStatusSchema, e.CreateApiKeyInputSchema, e.CreateApiKeyResultSchema, e.CreateIntegrationInputSchema, e.CreateScopedTokenInputSchema, e.CreateScopedTokenResultSchema, e.CreateUserInputSchema, e.CustomActionInputSchema, e.CustomModelDescriptorSchema, e.DATAPLANE_SECRET_HEADER, e.DEFAULT_ADDON_PLACEMENT, e.DEFAULT_AUDIO_ANALYZER_CONFIG, e.DEFAULT_DECODER_HWACCEL_CONFIG, e.DEFAULT_EVENT_COLOR, e.DEFAULT_FEATURES, e.DEFAULT_RETENTION, e.DEFAULT_SCRUB_THUMBNAIL_PRESET, e.DEVICE_BACKEND_TO_FORMAT, e.DEVICE_CAP_NAMES, e.DEVICE_PROFILES, e.DEVICE_SETTINGS_CONTRIBUTION_METHODS, e.DEVICE_STATUS_METHOD, e.DEVICE_TYPE_CONTROL_KIND, e.DEVICE_TYPE_INFO, e.DayNightModeSchema, e.DayNightOptionsSchema, e.DayNightSettingsPatchSchema, e.DayNightStatusSchema, e.DecodedAudioChunkSchema, e.DecodedFrameSchema, e.DecoderSessionConfigSchema, e.DecoderStatsSchema, e.DeleteIntegrationResultSchema, e.DetectionSourceSchema, e.DeviceCodeSeveritySchema, e.DeviceConfig, e.DeviceDiscoveryStatusSchema, e.DeviceExportExposeInputSchema, e.DeviceExportStatusSchema, e.DeviceExportUnexposeInputSchema, e.DeviceFeature, e.DeviceInfoSchema, e.DeviceLinkModeSchema, e.DeviceNetworkStatsSchema, e.DeviceRole, e.DeviceRuntimeState, e.DeviceStatusSchema, e.DeviceType, e.DiscoveredChildDeviceSchema, e.DiscoveredChildStatusSchema, e.DiscoveredDeviceSchema, e.DiscoveredTargetSchema, e.DisposerChain, e.DoorbellPressEventSchema, e.DoorbellStatusSchema, e.EVENTFUL_CAP_NAMES, e.EVENT_KIND_BY_CAP, e.EVENT_PAD_MS, e.EVENT_TAXONOMY, e.EXPRESSION_BUILTINS, e.EXPRESSION_BUILTIN_NAMES, e.EXPRESSION_COMPILE_CACHE_CAPACITY, e.EXPRESSION_IDENTIFIER_RE, e.EXPRESSION_INJECTED_NOW, e.ElementConfigStore, e.EmbeddingInfoSchema, e.EmbeddingResultSchema, e.EncodeProfileSchema, e.EncodedPacketSchema, e.EnrichedWidgetMetadataSchema, e.EnumSensorDateTimeFormatSchema, e.EnumSensorStatusSchema, e.EventCategory, e.EventEmitterStatusSchema, e.EventFireSchema, e.EventItemSchema, e.EventKindCategorySchema, e.EventKindDescriptorSchema, e.EventKindIconSchema, e.EventKindSchema, e.EventSourceType, e.ExportDownloadSchema, e.ExportOptionsSchema, e.ExportRecordSchema, e.ExportSetupFieldSchema, e.ExportSetupSchema, e.ExportSpeedSchema, e.ExportStateSchema, e.ExportTimelapseSchema, e.ExposedDeviceSchema, e.ExposureModeSchema, e.ExpressionEvalError, e.ExpressionParseError, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, e.FrameHandleFormatSchema, e.FrameHandleSchema, e.FrameInputSchema, e.GasStatusSchema, e.GetStreamWithCodecInputSchema, e.GlobalMetricsSchema, e.HF_BASE_URL, e.HF_REPO, e.HWACCEL_OPTIONS, e.HealthStatusSchema, e.HistoryPointSchema, e.HistoryResolutionEnum, e.HumidifierStatusSchema, e.HumiditySensorStatusSchema, e.HvacModeSchema, e.ImageRotateSchema, e.ImageSettingsOptionsSchema, e.ImageSettingsPatchSchema, e.ImageSettingsStatusSchema, e.ImageStatusSchema, e.IngestOwnerSchema, e.InstalledPackageSchema, e.IntegrationLiteSchema, e.IntegrationWithStateSchema, e.IntercomAbilitySchema, e.IntercomStatusSchema, e.KNOWN_CAP_NAMES, e.KeyEventSchema, e.LabelDefinitionSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, e.LlmDefaultSchema, e.LlmDefaultSelectorSchema, e.LlmErrorCodeSchema, e.LlmGenerateBaseInputSchema, e.LlmGenerateErrSchema, e.LlmGenerateOkSchema, e.LlmGenerateResultSchema, e.LlmImageSchema, e.LlmNodeModelSchema, e.LlmProfileKindDescriptorSchema, e.LlmProfileKindSchema, e.LlmProfileSchema, e.LlmRuntimeCompleteInputSchema, e.LlmRuntimeDiskUsageSchema, e.LlmRuntimeNodeSchema, e.LlmRuntimeStatusSchema, e.LlmUsageRollupSchema, e.LlmUsageSchema, e.LocateSegmentResultSchema, e.LocationStatSchema, e.LockControlStatusSchema, e.LockStateSchema, e.LogEntrySchema, e.LogLevelSchema, e.LogStreamEntrySchema, e.LoginMethodContributionSchema, e.LoginStageEnum, a = e.MACRO_LABELS, e.MAX_EXPRESSION_AST_NODES, e.MAX_EXPRESSION_BINDINGS, e.MAX_EXPRESSION_CALL_ARGS, e.MAX_EXPRESSION_EVAL_STEPS, e.MAX_EXPRESSION_SOURCE_LENGTH, e.METHOD_ACCESS_MAP, e.MODEL_FORMATS, e.MOTION_TRIGGER_FEATURE, e.ManagedModelCatalogEntrySchema, e.ManagedModelRefSchema, e.ManagedRuntimeConfigSchema, e.MaskGridDimsSchema, e.MaskGridShapeSchema, e.MaskLineShapeSchema, e.MaskPointSchema, e.MaskPolygonShapeSchema, e.MaskPolygonVerticesSchema, e.MaskRectShapeSchema, e.MaskShapeKindSchema, e.MaskShapeSchema, e.MediaFileSchema, e.MediaPlayerRepeatSchema, e.MediaPlayerStateSchema, e.MediaPlayerStatusSchema, e.MeshPeerSchema, e.MeshStatusSchema, e.MethodAccessSchema, e.ModelCatalogEntrySchema, e.ModelConvertInputSchema, e.ModelConvertMetadataSchema, e.ModelDistributeInputSchema, e.ModelDistributeResultSchema, e.ModelExtraFileSchema, e.ModelFormatEntrySchema, e.ModelFormatsSchema, e.ModelSubstitutionSchema, e.ModelVariantGroupSchema, e.MotionAnalysisResultSchema, e.MotionEventSchema, e.MotionOnMotionChangedDataSchema, e.MotionRegionSchema, e.MotionSourceEnum, e.MotionSourcesSchema, e.MotionStatusSchema, e.MotionTriggerRuntimeStateSchema, e.MotionTriggerStatusSchema, e.MotionZoneOptionsSchema, e.MotionZonePatchSchema, e.MotionZoneRegionSchema, e.MotionZoneStatusSchema, e.MqttBrokerStatusSchema, e.NativeCropBboxSchema, e.NativeCropResultSchema, e.NativeDetectionSchema, e.NativeObjectClassEnum, e.NativeObjectDetectionRuntimeStateSchema, e.NativeObjectDetectionStatusSchema, e.NetworkAccessStatusSchema, e.NetworkAddressSchema, e.NetworkEndpointSchema, e.NotificationActionSchema, e.NotificationFormatSchema, e.NotificationHistoryEntrySchema, e.NotificationRuleSchema, e.NotificationSchema, e.NotifierStatusSchema, e.NumericSensorStatusSchema, e.OPS_LOG_DEFAULT_LIMIT, e.OPS_LOG_RING_DEFAULT_MAX, e.OauthIntegrationDescriptorSchema, e.ObjectEventSchema, e.OpsLogDomainSchema, e.OpsLogEntrySchema, e.OpsLogOpSchema, e.OpsLogQueryInputSchema, e.OpsLogReasonSchema, e.OrchestratorMetricsSchema, e.OsdOverlayKindEnum, e.OsdOverlayPatchSchema, e.OsdOverlaySchema, e.OsdPositionEnum, e.OsdStatusSchema, e.PET_FEEDER_MANUAL_FEED_MAX, e.PET_FEEDER_MANUAL_FEED_MIN, e.PIPELINE_FLOW_CAPABILITY_NAMES, e.PIPELINE_OWNER_CAPABILITY_NAMES, e.PROVIDER_KIND_CAP_NAMES, e.PYTHON_SCRIPT, e.PackageUpdateSchema, e.PackageVersionInfoSchema, e.PasskeyLoginMethodSchema, e.PasskeySummarySchema, e.PcmSampleFormatSchema, e.PerScopeBreakdownSchema, e.PetFeederStatusSchema, e.PickStreamPreferencesSchema, e.PickStreamRequirementsSchema, e.PickedCamStreamSchema, e.PipelineAssignmentSchema, e.PipelineDefaultStepSchema, e.PipelineEngineChoiceSchema, e.PipelineRunResultBridge, e.PipelineStepInputSchema, e.PipelineValidationIssueSchema, e.PipelineValidationResultSchema, e.PlaceholderReasonSchema, e.PolygonPointSchema, e.PowerMeterStatusSchema, e.PresenceStatusSchema, e.PressureSensorStatusSchema, e.PrivacyMaskOptionsSchema, e.PrivacyMaskPatchSchema, e.PrivacyMaskRegionSchema, e.PrivacyMaskShapeSchema, e.PrivacyMaskStatusSchema, e.ProfileRtspEntrySchema, e.ProfileSlotSchema, e.ProfileSlotStatusSchema, e.ProviderStatusSchema, e.PtzAutotrackRuntimeStateSchema, e.PtzAutotrackSettingsSchema, e.PtzAutotrackStatusSchema, e.PtzAutotrackTargetOptionSchema, e.PtzMoveCommandSchema, e.PtzPositionSchema, e.PtzPresetSchema, e.PtzStatusSchema, e.QueryFilterSchema, e.REACHABILITY_FAILURES_TO_OFFLINE, e.REACHABILITY_POLL_INTERVAL_MS, e.REACHABILITY_PROBE_TIMEOUT_MS, e.RECOGNITION_TYPES, e.RESERVED_BINDING_NAMES, e.RUNTIME_DEFAULTS, e.RUNTIME_TO_FORMAT, e.RawStateResultSchema, e.ReadSegmentBytesResultSchema, e.ReadinessRegistry, e.ReadinessTimeoutError, e.RecentTracksPageSchema, e.RecentTracksQueryInput, e.RecordingAvailabilitySchema, e.RecordingBandModeSchema, e.RecordingBandSchema, e.RecordingBandTriggersSchema, e.RecordingConfigSchema, e.RecordingDaysSchema, e.RecordingDeviceUsageSchema, e.RecordingLocationUsageSchema, e.RecordingManifestSchema, e.RecordingModeSchema, e.RecordingRangeSchema, e.RecordingRetentionSchema, e.RecordingRuleSchema, e.RecordingScheduleSchema, e.RecordingStatusSchema, e.RecordingStorageModeSchema, e.RecordingStorageUsageSchema, e.RecordingTriggersSchema, e.RecordingWeekdaySchema, e.RedirectLoginMethodSchema, e.RenderedAsSchema, e.ReportMotionInputSchema, e.RingBuffer, e.RtpSourceSchema, e.RtspRestreamEntrySchema, e.RunnerCameraConfigSchema, e.RunnerCameraDeviceUIFields, e.RunnerFrameSourceSchema, e.RunnerLocalLoadSchema, e.RunnerLocalMetricsSchema, e.SCOPE_PRESETS, e.SCRUB_THUMBNAIL_PRESETS, e.SCRUB_THUMBNAIL_PRESET_LABELS, e.SCRUB_THUMBNAIL_PRESET_ORDER, e.SENSOR_FEATURES, e.SENSOR_MAP, e.SOURCE_INFO_METADATA_KEY, e.STREAM_PROFILE_META, e.STREAM_QUALITY_LABELS, e.SUB_DETECTION_TYPES, e.SYSTEM_CAP_NAMES, e.SceneCheckSchema, e.SceneConditionSchema, e.SceneMonitorSchema, e.SceneMonitorStateSchema, e.SceneMonitorStatusSchema, e.SceneReferenceSchema, e.ScopedTokenSchema, e.ScopedTokenSummarySchema, e.ScoredObjectEventSchema, e.ScriptRunnerStatusSchema, e.ScrubThumbnailPresetSchema, e.SearchResultSchema, e.SendEmailInputSchema, e.SendEmailResultSchema, e.SendResultSchema, e.SensorEventSchema, e.ServerBootModeSchema, e.ServerPackageStatusSchema, e.ServerRollbackInfoSchema, e.ServerUpdateActionResultSchema, e.ServerUpdateCheckResultSchema, e.ServerUpdateStateSchema, e.SettingsPatchSchema, e.SettingsRecordSchema, e.SettingsSchemaWithValuesSchema, e.SettingsUpdateResultSchema, e.ShmRingStatsSchema, e.SmokeStatusSchema, e.SmtpStatusSchema, e.SnapshotImageSchema, e.SourceInfoSchema, e.SpatialDetectionSchema, e.SsoBridgeClaimsSchema, e.StartEmbeddedInputSchema, e.StationaryObjectSchema, e.StorageAbortUploadInputSchema, e.StorageBeginDownloadInputSchema, e.StorageBeginDownloadResultSchema, e.StorageBeginUploadInputSchema, e.StorageBeginUploadResultSchema, e.StorageEndDownloadInputSchema, e.StorageFinalizeUploadInputSchema, e.StorageLocationDeclarationSchema, e.StorageLocationRefSchema, e.StorageLocationSchema, e.StorageLocationTypeSchema, e.StorageProviderInfoSchema, e.StorageReadChunkInputSchema, e.StorageTestLocationResultSchema, e.StorageWriteChunkInputSchema, e.StreamCodecSchema, e.StreamFormatSchema, e.StreamNetworkStatsSchema, e.StreamParamsOptionsSchema, e.StreamParamsStatusSchema, e.StreamProfileConfigSchema, e.StreamProfileOptionsSchema, e.StreamProfilePatchSchema, e.StreamProfileSchema, e.StreamSourceEntrySchema, e.StreamSourceSchema, e.SubscribeAudioChunksInputSchema, e.SubscribeAudioChunksResultSchema, e.SubscribeFramesInputSchema, e.SubscribeFramesResultSchema, e.SwitchStatusSchema, e.SystemMetricsSchema, e.SystemMirror, e.TAXONOMY_COLORS, e.TIMEZONES, e.TamperStatusSchema, e.TankStatusSchema, e.TargetKindCapsSchema, e.TargetKindLevelSchema, e.TargetKindSchema, e.TargetSchema, e.TemperatureSensorStatusSchema, e.TestConnectionResultSchema, e.TestResultSchema, e.ToastSchema, e.TokenScopeSchema, e.TopologyNodeSchema, e.TopologyProcessSchema, e.TopologyServiceSchema, e.TrackCascadeCountsSchema, e.TrackEnvelopeSchema, e.TrackProjectionSchema, e.TrackSchema, e.TrackStateSchema, e.TrackZoneFilterSchema, e.TrackedDetectionSchema, e.TurnServerSchema, e.UNIT_TABLE, e.UnifiedBrokerInfoSchema, e.UnitConversionError, e.UpdateIntegrationInputSchema, e.UpdateStatusSchema, e.UpdateUserInputSchema, e.UserRecordSchema, e.UserSummarySchema, e.VacuumControlStatusSchema, e.VacuumStateSchema, e.ValveStateSchema, e.ValveStatusSchema, e.VibrationStatusSchema, e.VideoEncodeSchema, e.WELL_KNOWN_TABS, e.WELL_KNOWN_TAB_MAP, e.WaterHeaterStatusSchema, e.WeatherStatusSchema, e.WebrtcStreamChoiceSchema, e.WebrtcStreamTargetSchema, e.WhiteBalanceModeSchema, e.WidgetHostEnum, e.WidgetLoginMethodSchema, e.WidgetMetadataSchema, e.WidgetRemoteSchema, e.WidgetSizeEnum, e.YAMNET_TO_MACRO, e.ZoneKindEnum, e.ZoneRuleModeEnum, e.ZoneRuleSchema, o = e.ZoneRuleStageEnum, e.ZoneRulesArraySchema, e.ZoneSchema, e.ZoneScopeBreakdownSchema, e.accessoriesCapability, e.accessoryStableId, e.addonPagesCapability, e.addonPagesSourceCapability, e.addonRoutesCapability, e.addonSettingsCapability, e.addonWidgetsCapability, e.addonWidgetsSourceCapability, e.addonsCapability, e.adminUiCapability, e.advancedNotifierCapability, e.airQualitySensorCapability, e.alarmPanelCapability, e.alertsCapability, e.ambientLightSensorCapability, e.applyTransform, e.asBoolean, e.asJsonArray, e.asJsonObject, e.asNumber, e.asString, e.audioAnalysisCapability, e.audioAnalyzerCapability, e.audioCodecCapability, e.audioMetricsCapability, e.authProviderCapability, e.autoAssignProfiles, e.automationControlCapability, e.backupCapability, e.batteryCapability, e.bestLocationMatch, e.binaryCapability, e.bindAddonActions, e.brightnessCapability, e.brokerCapability, e.buildAddonRouteProvider, e.buildEventKindDescriptor, e.buildModelVariantGroups, e.buildStreamParamsConfigSchema, e.buttonCapability, e.cameraCredentialsCapability, e.cameraPipelineConfigCapability, e.cameraStreamsCapability, e.canConvertUnit, e.carbonMonoxideCapability, e.cellsToRects, e.classifyStream, e.classifyStreams, e.climateControlCapability, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.compileExpression, e.compileExpressionSafe, e.connectivityCapability, e.consumablesCapability, e.contactCapability, e.controlCapability, e.convertUnit, e.cosineSimilarity, e.coverCapability, e.createDeviceProxy, e.createDurableState, e.createEvent, e.createExpressionScope, e.createLazyTrpcSource, e.createMirrorSource, e.createRuntimeStateBridge, e.createSliceHandle, e.createSystemProxy, e.customAction, e.customModelRegistryCapability, e.dayNightCapability, e.decoderCapability, e.defaultDeviceFor, e.defineCustomActions, e.describeModelVariant, e.detectionPipelineCapability, e.deviceAdoptionCapability, e.deviceBackendToFormat, e.deviceCustomAction, e.deviceDiscoveryCapability, e.deviceExportCapability, e.deviceManagerCapability, e.deviceMatchesProfile, e.deviceOpsCapability, e.deviceProviderCapability, e.deviceStateCapability, e.deviceStatusCapability, e.doorbellCapability, e.embeddingEncoderCapability, e.emitDownForOwnedCaps, e.emitReadiness, e.encodeProfileFromStreamShape, e.enumSensorCapability, e.enumerateInferenceDevices, e.enumerateItemArrayFields, e.enumerateSchemaFields, e.errMsg, e.evaluateAst, e.evaluateLinkExpression, e.evaluateZoneRules, e.event, e.eventEmitterCapability, e.eventsCapability, e.expandCapMethods, e.extractNestedAddonId, e.extractSourceInfoFromMetadata, e.faceGalleryCapability, e.fanControlCapability, e.featureProbeCapability, e.filesystemBrowseCapability, e.findTimezone, e.floodCapability, e.formatForBackend, e.formatForRuntime, e.gasCapability, e.getAudioMacroClassIds, e.getByPath, e.getCapsByProviderKind, e.getTaxonomyEntry, e.hasMotionTrigger, e.hfModelUrl, e.htmlToText, e.humidifierCapability, e.humiditySensorCapability, e.hydrateSchema, e.imageCapability, e.imageSettingsCapability, e.integrationsCapability, e.intercomCapability, e.isAgentOnlyPlacement, e.isArrayOutputSchema, e.isCollectionArrayMethod, e.isDeployableToAgent, e.isDeviceConfigCap, e.isEvent, e.isNode, e.isObjectInput, e.isVoidInput, e.jobKindSchema, e.kebabToCamel, e.lawnMowerControlCapability, e.lifecycleJobSchema, e.lifecycleJobScopeSchema, e.lifecycleJobStateSchema, e.lifecycleTaskSchema, e.llmCapability, e.llmRuntimeCapability, e.localNetworkCapability, e.locationSimilarity, e.lockControlCapability, e.logDestinationCapability, e.loginMethodCapability, e.looseSchema, e.makeProfileBrokerId, e.makeSourceBrokerId, e.mapAudioLabelToMacro, e.markdownToHtmlLite, e.markdownToText, e.maskUrlCredentials, e.mediaPlayerCapability, e.mergeSourceInfo, e.meshNetworkCapability, e.method, e.metricsProviderCapability, e.migrateConfigToBands, e.modelConvertCapability, e.modelDistributorCapability, e.modelFormatForRuntime, e.motionCapability, e.motionDetectionCapability, e.motionTriggerCapability, e.motionZonesCapability, e.mqttBrokerCapability, e.nativeObjectDetectionCapability, e.networkAccessCapability, e.networkQualityCapability, e.nodePin, e.nodesCapability, e.normalizeAddonInitResult, e.normalizeUnit, e.notificationOutputCapability, e.notifierCapability, e.numericSensorCapability, e.oauthIntegrationCapability, e.objectInputDeclaresAddonId, e.osdCapability, e.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProfileBrokerId, e.parseStreamParamsFormPatch, e.petFeederCapability, e.pickAccessoryControl, e.pickPreferredRtspEntry, e.pipelineAnalyticsCapability, e.pipelineExecutorCapability, e.pipelineOrchestratorCapability, e.pipelineRunnerCapability, e.plateGalleryCapability, e.platformProbeCapability, e.powerMeterCapability, e.prepareNotification, e.presenceCapability, e.pressureSensorCapability, e.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readNodePin, e.readinessKey, e.rebootCapability, e.recordingCapability, e.recordingExportCapability, e.rectsToCells, e.requiresPython, e.resolveAddonExecution, e.resolveAddonGroup, e.resolveAddonPlacement, e.resolveAddonRuntime, e.resolveCapMount, e.resolveDetectionRuntime, e.resolveDeviceControlKind, e.resolveDeviceProfile, e.resolveFormat, s = e.resolveHydratedFieldValue, e.resolveModelFormat, e.resolveMutate, e.resolveRunnerId, e.resolveScrubThumbnailGeometry, e.resolveVariantModelId, e.runInferenceStep, e.runtimeDevices, e.sceneMonitorCapability, e.scopeKey, e.scoreRuntimes, e.scriptRunnerCapability, e.selectAssignedProfileSlots, e.serverManagementCapability, e.setByPath, e.settingsStoreCapability, e.sleep, e.sleepCancellable, e.smokeCapability, e.smtpProviderCapability, e.snapshotCapability, e.ssoBridgeCapability, e.startReachabilityPoll, e.storageCapability, e.storageEvictableCapability, e.storageProviderCapability, e.streamBrokerCapability, e.streamCatalogCapability, e.streamParamsCapability, e.streamPixels, e.streamQualityLabel, e.subKindsOf, e.supportedRuntimes, e.switchCapability, e.synthesizeSourceInfo, e.systemCapability, e.tamperCapability, e.taskLogEntrySchema, e.taskPhaseSchema, e.taskTargetSchema, e.temperatureSensorCapability, e.textToHtml, e.toDeviceSummary, e.toExpressionValue, e.toStreamSourceEntry, e.toastCapability, e.tokenize, e.transcodeBody, e.tryConvertUnit, e.turnProviderCapability, e.unitDimension, e.unitsForDimension, e.updateCapability, e.userManagementCapability, e.userPasskeysCapability, e.vacuumControlCapability, e.validateExpressionSource, e.valveCapability, e.vibrationCapability, e.videoclipsCapability, e.viewerUiCapability, e.waterHeaterCapability, e.weatherCapability, e.webrtcClientHintsSchema, e.webrtcSessionCapability, e.wiringAddonHealthSchema, e.wiringHealthSnapshotSchema, e.wiringNodeHealthSchema, e.wiringProbeKindSchema, e.wiringProbeResultSchema, e.zodEntriesToConfigUI, e.zoneAnalyticsCapability, e.zoneRulesCapability, e.zonesCapability, e.default;
19
+ e.ACCESSORY_LABEL, e.ALL_CAPABILITY_DEFINITIONS, e.APPLE_SA_TO_MACRO, e.AUDIO_BACKEND_CHOICES, e.AUDIO_MACRO_LABELS, e.AccessoriesStatusSchema, e.AccessoryKind, e.AddBrokerInputSchema, e.AddonAutoUpdateSchema, e.AddonListItemSchema, e.AddonPageDeclarationSchema, e.AddonPageInfoSchema, e.AdoptionAdoptInputSchema, e.AdoptionAdoptResultSchema, e.AdoptionFilterSchema, e.AdoptionGetCandidateInputSchema, e.AdoptionListCandidatesInputSchema, e.AdoptionListCandidatesOutputSchema, e.AdoptionReleaseInputSchema, e.AdoptionStatusSchema, e.AgentLoadSummarySchema, e.AirQualitySensorStatusSchema, e.AlarmArmModeSchema, e.AlarmPanelStatusSchema, e.AlarmStateSchema, e.AlertSchema, e.AlertSeveritySchema, e.AlertSourceSchema, e.AlertStatusSchema, e.AmbientLightSensorStatusSchema, e.ApiKeyRecordSchema, e.ApiKeySummarySchema, e.ArchiveEntrySchema, e.ArchiveManifestSchema, e.AttachmentMediaTypeSchema, e.AttachmentSchema, e.AudioAnalysisResultSchema, e.AudioAnalysisSettingsSchema, e.AudioChunkInputSchema, e.AudioClassSummarySchema, e.AudioClassificationLabelSchema, e.AudioClassificationResultSchema, e.AudioCodecInfoSchema, e.AudioDecodeSessionConfigSchema, e.AudioEncodeSchema, e.AudioEncodeSessionConfigSchema, e.AudioEncodedChunkSchema, e.AudioEventSchema, e.AudioLevelSchema, e.AudioMetricsHistoryPointSchema, e.AudioMetricsHistorySchema, e.AudioMetricsSnapshotSchema, e.AudioPcmChunkSchema, e.AuthResultSchema, e.AutoUpdateSettingsSchema, e.AutomationControlStatusSchema, e.AvailableIntegrationTypeSchema, e.BACKEND_TO_FORMAT, e.BATTERY_DEVICE_PROFILE, e.BacklightModeSchema, e.BackupDestinationInfoSchema, e.BackupEntrySchema, e.BaseAddon, e.BaseDevice, e.BaseDeviceProvider, e.BatteryStatusSchema, e.BinaryStatusSchema, e.BoundingBoxSchema, e.BrightnessStatusSchema, e.BrokerAddInputSchema, e.BrokerAudioClientSchema, e.BrokerClientsSchema, e.BrokerConnectionDetailsSchema, e.BrokerConsumerAttributionSchema, e.BrokerConsumerKindSchema, e.BrokerDecodedClientSchema, e.BrokerEncodedClientSchema, e.BrokerGetStateInputSchema, e.BrokerInfoSchema, e.BrokerProviderInfoSchema, e.BrokerPublishInputSchema, e.BrokerRegistryStatusSchema, e.BrokerRtspClientSchema, e.BrokerStatsSchema, e.BrokerStatusEnum, e.BrokerStatusSchema, e.BrokerSubscribeInputSchema, e.BrokerSubscribeResultSchema, e.BrokerTestConnectionResultSchema, e.BrokerUnsubscribeInputSchema, e.CAM_PROFILE_ORDER, e.CAPABILITY_NAMES, e.CAPABILITY_ROUTER_KEYS, e.CAP_NAMES_WITH_STATUS, e.CAP_NODE_PIN_CONTEXT_KEY, e.CAP_PROVIDER_KIND_MAP, e.COCO_80_LABELS, e.COCO_TO_MACRO, e.CamProfileSchema, e.CamStreamDescriptorSchema, e.CamStreamKindSchema, e.CamStreamResolutionSchema, e.CameraAssignmentStatusSchema, e.CameraAudioStatusSchema, e.CameraBrokerProfileSchema, e.CameraBrokerStatusSchema, e.CameraCredentialsSchema, e.CameraCredentialsStatusSchema, e.CameraDecoderShmSchema, e.CameraDecoderStatusSchema, e.CameraDetectionPhaseSchema, e.CameraDetectionProvisioningSchema, e.CameraDetectionProvisioningStateSchema, e.CameraDetectionStatusSchema, e.CameraMetricsSchema, e.CameraMetricsWithDeviceIdSchema, e.CameraMotionStatusSchema, e.CameraRecordingModeSchema, e.CameraRecordingStatusSchema, e.CameraSourceStatusSchema, e.CameraSourceStreamSchema, e.CameraStatusSchema, e.CameraStreamSchema, e.CandidateQueryFilterSchema, e.CapScopeSchema, e.CapabilityBindingsSchema, e.CarbonMonoxideStatusSchema, e.ChargingStatus, e.ClientNetworkStatsSchema, e.ClimateControlStatusSchema, e.ClipPlaybackSchema, e.ClipSchema, e.ClusterAddonNodeDeploymentSchema, e.ClusterAddonStatusEntrySchema, e.CollectionColumnSchema, e.CollectionIndexSchema, e.ColorStatusSchema, e.ConfigEntrySchema, e.ConfigSectionWithValuesSchema, e.ConfigTabDeclarationSchema, e.ConnectivityStatusSchema, e.ConsumableItemSchema, e.ConsumablesStatusSchema, e.ContactStatusSchema, e.ControlKindSchema, e.ControlStatusSchema, e.ConvertArtifactSchema, e.ConvertResultSchema, e.ConvertTargetSchema, e.CoverStateSchema, e.CoverStatusSchema, e.CreateApiKeyInputSchema, e.CreateApiKeyResultSchema, e.CreateIntegrationInputSchema, e.CreateScopedTokenInputSchema, e.CreateScopedTokenResultSchema, e.CreateUserInputSchema, e.CustomActionInputSchema, e.CustomModelDescriptorSchema, e.DATAPLANE_SECRET_HEADER, e.DEFAULT_ADDON_PLACEMENT, e.DEFAULT_AUDIO_ANALYZER_CONFIG, e.DEFAULT_DECODER_HWACCEL_CONFIG, e.DEFAULT_EVENT_COLOR, e.DEFAULT_FEATURES, e.DEFAULT_RETENTION, e.DEFAULT_SCRUB_THUMBNAIL_PRESET, e.DEVICE_BACKEND_TO_FORMAT, e.DEVICE_CAP_NAMES, e.DEVICE_PROFILES, e.DEVICE_SETTINGS_CONTRIBUTION_METHODS, e.DEVICE_STATUS_METHOD, e.DEVICE_TYPE_CONTROL_KIND, e.DEVICE_TYPE_INFO, e.DayNightModeSchema, e.DayNightOptionsSchema, e.DayNightSettingsPatchSchema, e.DayNightStatusSchema, e.DecodedAudioChunkSchema, e.DecodedFrameSchema, e.DecoderSessionConfigSchema, e.DecoderStatsSchema, e.DeleteIntegrationResultSchema, e.DetectionSourceSchema, e.DeviceCodeSeveritySchema, e.DeviceConfig, e.DeviceDiscoveryStatusSchema, e.DeviceExportExposeInputSchema, e.DeviceExportStatusSchema, e.DeviceExportUnexposeInputSchema, e.DeviceFeature, e.DeviceInfoSchema, e.DeviceLinkModeSchema, e.DeviceNetworkStatsSchema, e.DeviceRole, e.DeviceRuntimeState, e.DeviceStatusSchema, e.DeviceType, e.DiscoveredChildDeviceSchema, e.DiscoveredChildStatusSchema, e.DiscoveredDeviceSchema, e.DiscoveredTargetSchema, e.DisposerChain, e.DoorbellPressEventSchema, e.DoorbellStatusSchema, e.EVENTFUL_CAP_NAMES, e.EVENT_KIND_BY_CAP, e.EVENT_PAD_MS, e.EVENT_TAXONOMY, e.EXPRESSION_BUILTINS, e.EXPRESSION_BUILTIN_NAMES, e.EXPRESSION_COMPILE_CACHE_CAPACITY, e.EXPRESSION_IDENTIFIER_RE, e.EXPRESSION_INJECTED_NOW, e.ElementConfigStore, e.EmbeddingInfoSchema, e.EmbeddingResultSchema, e.EncodeProfileSchema, e.EncodedPacketSchema, e.EnrichedWidgetMetadataSchema, e.EnumSensorDateTimeFormatSchema, e.EnumSensorStatusSchema, e.EventCategory, e.EventEmitterStatusSchema, e.EventFireSchema, e.EventItemSchema, e.EventKindCategorySchema, e.EventKindDescriptorSchema, e.EventKindIconSchema, e.EventKindSchema, e.EventSourceType, e.ExportDownloadSchema, e.ExportOptionsSchema, e.ExportRecordSchema, e.ExportSetupFieldSchema, e.ExportSetupSchema, e.ExportSpeedSchema, e.ExportStateSchema, e.ExportTimelapseSchema, e.ExposedDeviceSchema, e.ExposureModeSchema, e.ExpressionEvalError, e.ExpressionParseError, e.FanControlStatusSchema, e.FanDirectionSchema, e.FeatureManifestSchema, e.FeatureProbeStatusSchema, e.FloodStatusSchema, e.FrameHandleFormatSchema, e.FrameHandleSchema, e.FrameInputSchema, e.GasStatusSchema, e.GetStreamWithCodecInputSchema, e.GlobalMetricsSchema, e.HF_BASE_URL, e.HF_REPO, e.HWACCEL_OPTIONS, e.HealthStatusSchema, e.HistoryPointSchema, e.HistoryResolutionEnum, e.HumidifierStatusSchema, e.HumiditySensorStatusSchema, e.HvacModeSchema, e.ImageRotateSchema, e.ImageSettingsOptionsSchema, e.ImageSettingsPatchSchema, e.ImageSettingsStatusSchema, e.ImageStatusSchema, e.IngestOwnerSchema, e.InstalledPackageSchema, e.IntegrationLiteSchema, e.IntegrationWithStateSchema, e.IntercomAbilitySchema, e.IntercomStatusSchema, e.KNOWN_CAP_NAMES, e.KeyEventSchema, e.LabelDefinitionSchema, e.LawnMowerActivitySchema, e.LawnMowerControlStatusSchema, e.LinkedDeviceSchema, e.LlmDefaultSchema, e.LlmDefaultSelectorSchema, e.LlmErrorCodeSchema, e.LlmGenerateBaseInputSchema, e.LlmGenerateErrSchema, e.LlmGenerateOkSchema, e.LlmGenerateResultSchema, e.LlmImageSchema, e.LlmNodeModelSchema, e.LlmProfileKindDescriptorSchema, e.LlmProfileKindSchema, e.LlmProfileSchema, e.LlmRuntimeCompleteInputSchema, e.LlmRuntimeDiskUsageSchema, e.LlmRuntimeNodeSchema, e.LlmRuntimeStatusSchema, e.LlmUsageRollupSchema, e.LlmUsageSchema, e.LocateSegmentResultSchema, e.LocationStatSchema, e.LockControlStatusSchema, e.LockStateSchema, e.LogEntrySchema, e.LogLevelSchema, e.LogStreamEntrySchema, e.LoginMethodContributionSchema, e.LoginStageEnum, a = e.MACRO_LABELS, e.MAX_EXPRESSION_AST_NODES, e.MAX_EXPRESSION_BINDINGS, e.MAX_EXPRESSION_CALL_ARGS, e.MAX_EXPRESSION_EVAL_STEPS, e.MAX_EXPRESSION_SOURCE_LENGTH, e.METHOD_ACCESS_MAP, e.MODEL_FORMATS, e.MOTION_TRIGGER_FEATURE, e.ManagedModelCatalogEntrySchema, e.ManagedModelRefSchema, e.ManagedRuntimeConfigSchema, e.MaskGridDimsSchema, e.MaskGridShapeSchema, e.MaskLineShapeSchema, e.MaskPointSchema, e.MaskPolygonShapeSchema, e.MaskPolygonVerticesSchema, e.MaskRectShapeSchema, e.MaskShapeKindSchema, e.MaskShapeSchema, e.MediaFileSchema, e.MediaPlayerRepeatSchema, e.MediaPlayerStateSchema, e.MediaPlayerStatusSchema, e.MeshPeerSchema, e.MeshStatusSchema, e.MethodAccessSchema, e.ModelCatalogEntrySchema, e.ModelConvertInputSchema, e.ModelConvertMetadataSchema, e.ModelDistributeInputSchema, e.ModelDistributeResultSchema, e.ModelExtraFileSchema, e.ModelFormatEntrySchema, e.ModelFormatsSchema, e.ModelSubstitutionSchema, e.ModelVariantGroupSchema, e.MotionAnalysisResultSchema, e.MotionEventSchema, e.MotionOnMotionChangedDataSchema, e.MotionRegionSchema, e.MotionSourceEnum, e.MotionSourcesSchema, e.MotionStatusSchema, e.MotionTriggerRuntimeStateSchema, e.MotionTriggerStatusSchema, e.MotionZoneOptionsSchema, e.MotionZonePatchSchema, e.MotionZoneRegionSchema, e.MotionZoneStatusSchema, e.MqttBrokerStatusSchema, e.NativeCropBboxSchema, e.NativeCropResultSchema, e.NativeDetectionSchema, e.NativeObjectClassEnum, e.NativeObjectDetectionRuntimeStateSchema, e.NativeObjectDetectionStatusSchema, e.NetworkAccessStatusSchema, e.NetworkAddressSchema, e.NetworkEndpointSchema, e.NotificationActionSchema, e.NotificationFormatSchema, e.NotificationHistoryEntrySchema, e.NotificationRuleSchema, e.NotificationSchema, e.NotifierStatusSchema, e.NumericSensorStatusSchema, e.OPS_LOG_DEFAULT_LIMIT, e.OPS_LOG_RING_DEFAULT_MAX, e.OauthIntegrationDescriptorSchema, e.ObjectEventSchema, e.OpsLogDomainSchema, e.OpsLogEntrySchema, e.OpsLogOpSchema, e.OpsLogQueryInputSchema, e.OpsLogReasonSchema, e.OrchestratorMetricsSchema, e.OsdOverlayKindEnum, e.OsdOverlayPatchSchema, e.OsdOverlaySchema, e.OsdPositionEnum, e.OsdStatusSchema, e.PET_FEEDER_MANUAL_FEED_MAX, e.PET_FEEDER_MANUAL_FEED_MIN, e.PIPELINE_FLOW_CAPABILITY_NAMES, e.PIPELINE_OWNER_CAPABILITY_NAMES, e.PROVIDER_KIND_CAP_NAMES, e.PYTHON_SCRIPT, e.PackageUpdateSchema, e.PackageVersionInfoSchema, e.PasskeyLoginMethodSchema, e.PasskeySummarySchema, e.PcmSampleFormatSchema, e.PerScopeBreakdownSchema, e.PetFeederStatusSchema, e.PickStreamPreferencesSchema, e.PickStreamRequirementsSchema, e.PickedCamStreamSchema, e.PipelineAssignmentSchema, e.PipelineDefaultStepSchema, e.PipelineEngineChoiceSchema, e.PipelineRunResultBridge, e.PipelineStepInputSchema, e.PipelineValidationIssueSchema, e.PipelineValidationResultSchema, e.PlaceholderReasonSchema, e.PolygonPointSchema, e.PowerMeterStatusSchema, e.PresenceStatusSchema, e.PressureSensorStatusSchema, e.PrivacyMaskOptionsSchema, e.PrivacyMaskPatchSchema, e.PrivacyMaskRegionSchema, e.PrivacyMaskShapeSchema, e.PrivacyMaskStatusSchema, e.ProfileRtspEntrySchema, e.ProfileSlotSchema, e.ProfileSlotStatusSchema, e.ProviderStatusSchema, e.PtzAutotrackRuntimeStateSchema, e.PtzAutotrackSettingsSchema, e.PtzAutotrackStatusSchema, e.PtzAutotrackTargetOptionSchema, e.PtzMoveCommandSchema, e.PtzPositionSchema, e.PtzPresetSchema, e.PtzStatusSchema, e.QueryFilterSchema, e.REACHABILITY_FAILURES_TO_OFFLINE, e.REACHABILITY_POLL_INTERVAL_MS, e.REACHABILITY_PROBE_TIMEOUT_MS, e.RECOGNITION_TYPES, e.RESERVED_BINDING_NAMES, e.RUNTIME_DEFAULTS, e.RUNTIME_TO_FORMAT, e.RawStateResultSchema, e.ReadSegmentBytesResultSchema, e.ReadinessRegistry, e.ReadinessTimeoutError, e.RecentTracksPageSchema, e.RecentTracksQueryInput, e.RecordingAvailabilitySchema, e.RecordingBandModeSchema, e.RecordingBandSchema, e.RecordingBandTriggersSchema, e.RecordingConfigSchema, e.RecordingDaysSchema, e.RecordingDeviceUsageSchema, e.RecordingLocationUsageSchema, e.RecordingManifestSchema, e.RecordingModeSchema, e.RecordingRangeSchema, e.RecordingRetentionSchema, e.RecordingRuleSchema, e.RecordingScheduleSchema, e.RecordingStatusSchema, e.RecordingStorageModeSchema, e.RecordingStorageUsageSchema, e.RecordingTriggersSchema, e.RecordingWeekdaySchema, e.RedirectLoginMethodSchema, e.RenderedAsSchema, e.ReportMotionInputSchema, e.RingBuffer, e.RtpSourceSchema, e.RtspRestreamEntrySchema, e.RunnerCameraConfigSchema, e.RunnerCameraDeviceUIFields, e.RunnerFrameSourceSchema, e.RunnerInferenceDeviceSchema, e.RunnerLocalLoadSchema, e.RunnerLocalMetricsSchema, e.SCOPE_PRESETS, e.SCRUB_THUMBNAIL_PRESETS, e.SCRUB_THUMBNAIL_PRESET_LABELS, e.SCRUB_THUMBNAIL_PRESET_ORDER, e.SENSOR_FEATURES, e.SENSOR_MAP, e.SOURCE_INFO_METADATA_KEY, e.STREAM_PROFILE_META, e.STREAM_QUALITY_LABELS, e.SUB_DETECTION_TYPES, e.SYSTEM_CAP_NAMES, e.SceneCheckSchema, e.SceneConditionSchema, e.SceneMonitorSchema, e.SceneMonitorStateSchema, e.SceneMonitorStatusSchema, e.SceneReferenceSchema, e.ScopedTokenSchema, e.ScopedTokenSummarySchema, e.ScoredObjectEventSchema, e.ScriptRunnerStatusSchema, e.ScrubThumbnailPresetSchema, e.SearchResultSchema, e.SendEmailInputSchema, e.SendEmailResultSchema, e.SendResultSchema, e.SensorEventSchema, e.ServerBootModeSchema, e.ServerPackageStatusSchema, e.ServerRollbackInfoSchema, e.ServerUpdateActionResultSchema, e.ServerUpdateCheckResultSchema, e.ServerUpdateStateSchema, e.SettingsPatchSchema, e.SettingsRecordSchema, e.SettingsSchemaWithValuesSchema, e.SettingsUpdateResultSchema, e.ShmRingStatsSchema, e.SmokeStatusSchema, e.SmtpStatusSchema, e.SnapshotImageSchema, e.SourceInfoSchema, e.SpatialDetectionSchema, e.SsoBridgeClaimsSchema, e.StartEmbeddedInputSchema, e.StationaryObjectSchema, e.StorageAbortUploadInputSchema, e.StorageBeginDownloadInputSchema, e.StorageBeginDownloadResultSchema, e.StorageBeginUploadInputSchema, e.StorageBeginUploadResultSchema, e.StorageEndDownloadInputSchema, e.StorageFinalizeUploadInputSchema, e.StorageLocationDeclarationSchema, e.StorageLocationRefSchema, e.StorageLocationSchema, e.StorageLocationTypeSchema, e.StorageProviderInfoSchema, e.StorageReadChunkInputSchema, e.StorageTestLocationResultSchema, e.StorageWriteChunkInputSchema, e.StreamCodecSchema, e.StreamFormatSchema, e.StreamNetworkStatsSchema, e.StreamParamsOptionsSchema, e.StreamParamsStatusSchema, e.StreamProfileConfigSchema, e.StreamProfileOptionsSchema, e.StreamProfilePatchSchema, e.StreamProfileSchema, e.StreamSourceEntrySchema, e.StreamSourceSchema, e.SubscribeAudioChunksInputSchema, e.SubscribeAudioChunksResultSchema, e.SubscribeFramesInputSchema, e.SubscribeFramesResultSchema, e.SwitchStatusSchema, e.SystemMetricsSchema, e.SystemMirror, e.TAXONOMY_COLORS, e.TIMEZONES, e.TamperStatusSchema, e.TankStatusSchema, e.TargetKindCapsSchema, e.TargetKindLevelSchema, e.TargetKindSchema, e.TargetSchema, e.TemperatureSensorStatusSchema, e.TestConnectionResultSchema, e.TestResultSchema, e.ToastSchema, e.TokenScopeSchema, e.TopologyNodeSchema, e.TopologyProcessSchema, e.TopologyServiceSchema, e.TrackCascadeCountsSchema, e.TrackEnvelopeSchema, e.TrackProjectionSchema, e.TrackSchema, e.TrackStateSchema, e.TrackZoneFilterSchema, e.TrackedDetectionSchema, e.TurnServerSchema, e.UNIT_TABLE, e.UnifiedBrokerInfoSchema, e.UnitConversionError, e.UpdateIntegrationInputSchema, e.UpdateStatusSchema, e.UpdateUserInputSchema, e.UserRecordSchema, e.UserSummarySchema, e.VacuumControlStatusSchema, e.VacuumStateSchema, e.ValveStateSchema, e.ValveStatusSchema, e.VibrationStatusSchema, e.VideoEncodeSchema, e.WELL_KNOWN_TABS, e.WELL_KNOWN_TAB_MAP, e.WaterHeaterStatusSchema, e.WeatherStatusSchema, e.WebrtcStreamChoiceSchema, e.WebrtcStreamTargetSchema, e.WhiteBalanceModeSchema, e.WidgetHostEnum, e.WidgetLoginMethodSchema, e.WidgetMetadataSchema, e.WidgetRemoteSchema, e.WidgetSizeEnum, e.YAMNET_TO_MACRO, e.ZoneKindEnum, e.ZoneRuleModeEnum, e.ZoneRuleSchema, o = e.ZoneRuleStageEnum, e.ZoneRulesArraySchema, e.ZoneSchema, e.ZoneScopeBreakdownSchema, e.accessoriesCapability, e.accessoryStableId, e.addonPagesCapability, e.addonPagesSourceCapability, e.addonRoutesCapability, e.addonSettingsCapability, e.addonWidgetsCapability, e.addonWidgetsSourceCapability, e.addonsCapability, e.adminUiCapability, e.advancedNotifierCapability, e.airQualitySensorCapability, e.alarmPanelCapability, e.alertsCapability, e.ambientLightSensorCapability, e.applyTransform, e.asBoolean, e.asJsonArray, e.asJsonObject, e.asNumber, e.asString, e.audioAnalysisCapability, e.audioAnalyzerCapability, e.audioCodecCapability, e.audioMetricsCapability, e.authProviderCapability, e.autoAssignProfiles, e.automationControlCapability, e.backupCapability, e.batteryCapability, e.bestLocationMatch, e.binaryCapability, e.bindAddonActions, e.brightnessCapability, e.brokerCapability, e.buildAddonRouteProvider, e.buildEventKindDescriptor, e.buildModelVariantGroups, e.buildStreamParamsConfigSchema, e.buttonCapability, e.cameraCredentialsCapability, e.cameraPipelineConfigCapability, e.cameraStreamsCapability, e.canConvertUnit, e.carbonMonoxideCapability, e.cellsToRects, e.classifyStream, e.classifyStreams, e.climateControlCapability, e.collectHydratedFieldEntries, e.collectHydratedFieldValues, e.colorCapability, e.colorForKind, e.compileExpression, e.compileExpressionSafe, e.connectivityCapability, e.consumablesCapability, e.contactCapability, e.controlCapability, e.convertUnit, e.cosineSimilarity, e.coverCapability, e.createDeviceProxy, e.createDurableState, e.createEvent, e.createExpressionScope, e.createLazyTrpcSource, e.createMirrorSource, e.createRuntimeStateBridge, e.createSliceHandle, e.createSystemProxy, e.customAction, e.customModelRegistryCapability, e.dayNightCapability, e.decoderCapability, e.defaultDeviceFor, e.defineCustomActions, e.describeModelVariant, e.detectionPipelineCapability, e.deviceAdoptionCapability, e.deviceBackendToFormat, e.deviceCustomAction, e.deviceDiscoveryCapability, e.deviceExportCapability, e.deviceManagerCapability, e.deviceMatchesProfile, e.deviceOpsCapability, e.deviceProviderCapability, e.deviceStateCapability, e.deviceStatusCapability, e.doorbellCapability, e.embeddingEncoderCapability, e.emitDownForOwnedCaps, e.emitReadiness, e.encodeProfileFromStreamShape, e.enumSensorCapability, e.enumerateInferenceDevices, e.enumerateItemArrayFields, e.enumerateSchemaFields, e.errMsg, e.evaluateAst, e.evaluateLinkExpression, e.evaluateZoneRules, e.event, e.eventEmitterCapability, e.eventsCapability, e.expandCapMethods, e.extractNestedAddonId, e.extractSourceInfoFromMetadata, e.faceGalleryCapability, e.fanControlCapability, e.featureProbeCapability, e.filesystemBrowseCapability, e.findTimezone, e.floodCapability, e.formatForBackend, e.formatForRuntime, e.gasCapability, e.getAudioMacroClassIds, e.getByPath, e.getCapsByProviderKind, e.getTaxonomyEntry, e.hasMotionTrigger, e.hfModelUrl, e.htmlToText, e.humidifierCapability, e.humiditySensorCapability, e.hydrateSchema, e.imageCapability, e.imageSettingsCapability, e.integrationsCapability, e.intercomCapability, e.isAgentOnlyPlacement, e.isArrayOutputSchema, e.isCollectionArrayMethod, e.isDeployableToAgent, e.isDeviceConfigCap, e.isEvent, e.isNode, e.isObjectInput, e.isVoidInput, e.jobKindSchema, e.kebabToCamel, e.lawnMowerControlCapability, e.lifecycleJobSchema, e.lifecycleJobScopeSchema, e.lifecycleJobStateSchema, e.lifecycleTaskSchema, e.llmCapability, e.llmRuntimeCapability, e.localNetworkCapability, e.locationSimilarity, e.lockControlCapability, e.logDestinationCapability, e.loginMethodCapability, e.looseSchema, e.makeProfileBrokerId, e.makeSourceBrokerId, e.mapAudioLabelToMacro, e.markdownToHtmlLite, e.markdownToText, e.maskUrlCredentials, e.mediaPlayerCapability, e.mergeSourceInfo, e.meshNetworkCapability, e.method, e.metricsProviderCapability, e.migrateConfigToBands, e.modelConvertCapability, e.modelDistributorCapability, e.modelFormatForRuntime, e.motionCapability, e.motionDetectionCapability, e.motionTriggerCapability, e.motionZonesCapability, e.mqttBrokerCapability, e.nativeObjectDetectionCapability, e.networkAccessCapability, e.networkQualityCapability, e.nodePin, e.nodesCapability, e.normalizeAddonInitResult, e.normalizeUnit, e.notificationOutputCapability, e.notifierCapability, e.numericSensorCapability, e.oauthIntegrationCapability, e.objectInputDeclaresAddonId, e.osdCapability, e.parseCameraStreamConfig, e.parseExpression, e.parseJsonArray, e.parseJsonObject, e.parseJsonUnknown, e.parseProfileBrokerId, e.parseStreamParamsFormPatch, e.petFeederCapability, e.pickAccessoryControl, e.pickPreferredRtspEntry, e.pipelineAnalyticsCapability, e.pipelineExecutorCapability, e.pipelineOrchestratorCapability, e.pipelineRunnerCapability, e.plateGalleryCapability, e.platformProbeCapability, e.powerMeterCapability, e.prepareNotification, e.presenceCapability, e.pressureSensorCapability, e.privacyMaskCapability, e.procedureAuthKey, e.ptzAutotrackCapability, e.ptzCapability, e.pythonScriptForBackend, e.readNodePin, e.readinessKey, e.rebootCapability, e.recordingCapability, e.recordingExportCapability, e.rectsToCells, e.requiresPython, e.resolveAddonExecution, e.resolveAddonGroup, e.resolveAddonPlacement, e.resolveAddonRuntime, e.resolveCapMount, e.resolveDetectionRuntime, e.resolveDeviceControlKind, e.resolveDeviceProfile, e.resolveFormat, s = e.resolveHydratedFieldValue, e.resolveModelFormat, e.resolveMutate, e.resolveRunnerId, e.resolveScrubThumbnailGeometry, e.resolveVariantModelId, e.runInferenceStep, e.runtimeDevices, e.sceneMonitorCapability, e.scopeKey, e.scoreRuntimes, e.scriptRunnerCapability, e.selectAssignedProfileSlots, e.serverManagementCapability, e.setByPath, e.settingsStoreCapability, e.sleep, e.sleepCancellable, e.smokeCapability, e.smtpProviderCapability, e.snapshotCapability, e.ssoBridgeCapability, e.startReachabilityPoll, e.storageCapability, e.storageEvictableCapability, e.storageProviderCapability, e.streamBrokerCapability, e.streamCatalogCapability, e.streamParamsCapability, e.streamPixels, e.streamQualityLabel, e.subKindsOf, e.supportedRuntimes, e.switchCapability, e.synthesizeSourceInfo, e.systemCapability, e.tamperCapability, e.taskLogEntrySchema, e.taskPhaseSchema, e.taskTargetSchema, e.temperatureSensorCapability, e.textToHtml, e.toDeviceSummary, e.toExpressionValue, e.toStreamSourceEntry, e.toastCapability, e.tokenize, e.transcodeBody, e.tryConvertUnit, e.turnProviderCapability, e.unitDimension, e.unitsForDimension, e.updateCapability, e.userManagementCapability, e.userPasskeysCapability, e.vacuumControlCapability, e.validateExpressionSource, e.valveCapability, e.vibrationCapability, e.videoclipsCapability, e.viewerUiCapability, e.waterHeaterCapability, e.weatherCapability, e.webrtcClientHintsSchema, e.webrtcSessionCapability, e.wiringAddonHealthSchema, e.wiringHealthSnapshotSchema, e.wiringNodeHealthSchema, e.wiringProbeKindSchema, e.wiringProbeResultSchema, e.zodEntriesToConfigUI, e.zoneAnalyticsCapability, e.zoneRulesCapability, e.zonesCapability, e.default;
20
20
  }, l = i.share["default:@camstack/types"];
21
21
  l === void 0 ? n.then(() => {
22
22
  if (l = i.share["default:@camstack/types"], l === void 0) throw Error("[Module Federation] Shared module @camstack/types was imported before federation bootstrap finished.");
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.1",
39
+ version: "1.2.2",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -45,7 +45,7 @@ async function r() {
45
45
  }
46
46
  },
47
47
  "@camstack/sdk": {
48
- version: "1.2.1",
48
+ version: "1.2.2",
49
49
  scope: "default",
50
50
  shareConfig: {
51
51
  singleton: !0,
@@ -99,7 +99,7 @@ async function r() {
99
99
  }
100
100
  },
101
101
  "@camstack/ui-library": {
102
- version: "1.2.1",
102
+ version: "1.2.2",
103
103
  scope: "default",
104
104
  shareConfig: {
105
105
  singleton: !0,
package/dist/index.js CHANGED
@@ -11609,7 +11609,8 @@ var PipelineStepInputSchema = lazy(() => object({
11609
11609
  modelId: string().optional(),
11610
11610
  enabled: boolean().default(true),
11611
11611
  children: array(PipelineStepInputSchema).optional(),
11612
- settings: record(string(), unknown()).optional()
11612
+ settings: record(string(), unknown()).optional(),
11613
+ jumpDeviceKey: string().optional()
11613
11614
  }));
11614
11615
  var ModelSubstitutionSchema = object({
11615
11616
  addonId: string(),
@@ -12100,8 +12101,24 @@ var NativeCropBboxSchema = object({
12100
12101
  });
12101
12102
  /** Result of a best-effort native-resolution crop (`getNativeCrop`). */
12102
12103
  var NativeCropResultSchema = object({
12103
- /** Packed rgb (24-bit) pixels of the crop. */
12104
- bytes: _instanceof(Uint8Array),
12104
+ /**
12105
+ * Packed rgb (24-bit) pixels of the crop. Present on the DEFAULT (raw) path —
12106
+ * same-node (in-process / UDS) callers get zero-copy RGB and encode locally.
12107
+ * OMITTED when the caller requested `encodeJpeg` (the cross-node compressed
12108
+ * path below), where shipping raw RGB is both an invariant violation and, for
12109
+ * a native full frame (~26 MB at 4K), larger than Moleculer's 10 MB
12110
+ * `maxPacketSize` → the packet is dropped and the call 60s-times-out. That is
12111
+ * the cross-node native-media miss: `bytes` is replaced by `jpeg`.
12112
+ */
12113
+ bytes: _instanceof(Uint8Array).optional(),
12114
+ /**
12115
+ * Base64 JPEG of the crop — the COMPRESSED cross-node payload. The OWNING node
12116
+ * (which holds the native surface) encodes it in-process, so a native 4K frame
12117
+ * ships as ~0.5–2 MB (well under `maxPacketSize`) and NO raw pixels ever cross
12118
+ * a process boundary (CLAUDE.md invariant #21). Present ONLY when the request
12119
+ * set `encodeJpeg: true`; `bytes` is then absent.
12120
+ */
12121
+ jpeg: string().optional(),
12105
12122
  width: number().int().positive(),
12106
12123
  height: number().int().positive(),
12107
12124
  /**
@@ -12247,6 +12264,20 @@ var RunnerFrameSourceSchema = discriminatedUnion("kind", [object({ kind: literal
12247
12264
  hubHostnameOverride: string().optional()
12248
12265
  })]).describe("Per-camera frame-source mode for the runner (P2c)");
12249
12266
  /**
12267
+ * One ENABLED inference device on the runner's node, as the step-tree
12268
+ * device-jump resolver sees it (phase 1). The orchestrator populates this
12269
+ * roster on the attach payload whenever the camera is elected onto a specific
12270
+ * `deviceKey` and the node has ≥2 enabled devices — it is the candidate set the
12271
+ * runner auto-jumps an enrichment step to when the elected device's format
12272
+ * cannot run that step's model. `weight`/`maxSessions` mirror the balancer's
12273
+ * per-device knobs so the auto choice is weighted-least-loaded.
12274
+ */
12275
+ var RunnerInferenceDeviceSchema = object({
12276
+ deviceKey: string(),
12277
+ weight: number().positive().default(1),
12278
+ maxSessions: number().int().positive().nullable().default(null)
12279
+ });
12280
+ /**
12250
12281
  * Camera assignment payload sent by `addon-pipeline-orchestrator` to a
12251
12282
  * specific runner instance via `attachCamera`. Carries everything the
12252
12283
  * runner needs to subscribe to the local broker and execute inference.
@@ -12364,7 +12395,16 @@ var RunnerCameraConfigSchema = object({
12364
12395
  * omitted ⇒ the runner's default device. The engine itself stays node-local —
12365
12396
  * this only selects WHICH device pool of that node runs the session.
12366
12397
  */
12367
- deviceKey: string().optional()
12398
+ deviceKey: string().optional(),
12399
+ /**
12400
+ * Step-tree device-jump roster (phase 1): the node's ENABLED inference
12401
+ * devices, populated by the orchestrator ONLY when `deviceKey` is set and the
12402
+ * node has ≥2 enabled devices. The runner uses it to AUTO-jump an enrichment
12403
+ * step whose model has no build for the elected device's format onto another
12404
+ * enabled device of the SAME node (weighted-least-loaded). Absent/single-entry
12405
+ * ⇒ no jump possible; the step runs on `deviceKey`.
12406
+ */
12407
+ inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
12368
12408
  });
12369
12409
  /**
12370
12410
  * Per-device settings UI fields the runner cap owns. Co-located with
@@ -12544,7 +12584,18 @@ var RunnerLocalMetricsSchema = object({
12544
12584
  method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mutation" }), method(object({ deviceId: number() }), object({ success: literal(true) }), { kind: "mutation" }), method(ReportMotionInputSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), RunnerLocalLoadSchema), method(_void(), RunnerLocalMetricsSchema), method(object({ deviceId: number() }), CameraMetricsSchema.nullable()), method(_void(), array(CameraMetricsWithDeviceIdSchema).readonly()), method(_void(), array(number()).readonly()), method(object({
12545
12585
  handle: FrameHandleSchema,
12546
12586
  bbox: NativeCropBboxSchema,
12547
- maxWidth: number().int().positive().optional()
12587
+ maxWidth: number().int().positive().optional(),
12588
+ /**
12589
+ * When `true`, the runner encodes the resolved crop to JPEG ON THE
12590
+ * OWNING NODE and returns it in `jpeg` (base64) INSTEAD of raw `bytes`.
12591
+ * Callers set this for CROSS-NODE fetches (`handle.nodeId` is a remote
12592
+ * agent) so the compressed payload fits Moleculer's `maxPacketSize` and
12593
+ * no raw pixels cross the process boundary. Same-node callers omit it
12594
+ * and keep the zero-copy raw `bytes` path. Additive + optional: a
12595
+ * pre-encode runner (version skew) ignores it and returns `bytes`, so
12596
+ * the caller falls back to encoding locally.
12597
+ */
12598
+ encodeJpeg: boolean().optional()
12548
12599
  }), NativeCropResultSchema.nullable()), method(object({
12549
12600
  deviceId: number(),
12550
12601
  frameHandle: FrameHandleSchema.optional(),
@@ -17787,7 +17838,16 @@ var PipelineTemplateSchema = object({
17787
17838
  });
17788
17839
  var DeviceStepConfigSchema = object({
17789
17840
  modelId: string().optional(),
17790
- settings: record(string(), unknown()).optional()
17841
+ settings: record(string(), unknown()).optional(),
17842
+ /**
17843
+ * Step-tree device jump (same-node, phase 1) — OPTIONAL manual override.
17844
+ * When set, this step runs on the named enabled device of the SAME node
17845
+ * (`<backend>:<device>`) instead of the camera's elected device, bypassing
17846
+ * the runtime AUTO-jump. The orchestrator rejects a `jumpDeviceKey` pointing
17847
+ * at a disabled/absent device on that node at save time. Absent ⇒ the runner
17848
+ * auto-jumps only when the effective device's format cannot run the step.
17849
+ */
17850
+ jumpDeviceKey: string().optional()
17791
17851
  });
17792
17852
  var AgentPipelineSettingsSchema = object({
17793
17853
  maxCameras: number().int().nonnegative().nullable().default(null),
@@ -26600,6 +26660,25 @@ function defaultModelIdForDevice(deviceKey) {
26600
26660
  return "yolo26n";
26601
26661
  }
26602
26662
  /**
26663
+ * Step-tree device jump (phase 1): validate every `steps[step].jumpDeviceKey`
26664
+ * manual override in a to-be-saved `inferenceDevices` map. A jump target MUST be
26665
+ * an enabled∧available device on the SAME node and DIFFERENT from the owning
26666
+ * device. `enabledAvailableKeys` is the effective enabled∧available set (from
26667
+ * `mergeInferenceDevices(probe, submitted)`) so an absent/unplugged/disabled
26668
+ * target is rejected honestly (an operator can't route a step onto a dead pool).
26669
+ * Returns the FIRST human-readable error, or `null` when every override is
26670
+ * valid. Pure + deterministic.
26671
+ */
26672
+ function validateJumpTargets(inferenceDevices, enabledAvailableKeys) {
26673
+ for (const [deviceKey, entry] of Object.entries(inferenceDevices)) for (const [stepId, step] of Object.entries(entry.steps ?? {})) {
26674
+ const target = step.jumpDeviceKey;
26675
+ if (target === void 0) continue;
26676
+ if (target === deviceKey) return `step "${stepId}" on "${deviceKey}" has a jumpDeviceKey pointing at its own device`;
26677
+ if (!enabledAvailableKeys.has(target)) return `step "${stepId}" on "${deviceKey}" has a jumpDeviceKey "${target}" that is not an enabled, available device on this node`;
26678
+ }
26679
+ return null;
26680
+ }
26681
+ /**
26603
26682
  * Merge a node's live-probed inference devices with its stored per-device map.
26604
26683
  *
26605
26684
  * The default is **AUTO = all discovered ACCELERATORS enabled** (spec C2,
@@ -26668,6 +26747,23 @@ function eligibleInferenceDeviceWeights(probed, stored) {
26668
26747
  for (const d of mergeInferenceDevices(probed, stored)) if (d.enabled && d.available) out[d.key] = d.weight;
26669
26748
  return out;
26670
26749
  }
26750
+ /**
26751
+ * Step-tree device jump (phase 1): the attach-payload roster of a node's
26752
+ * enabled∧available inference devices with the balancer knobs (`weight`,
26753
+ * `maxSessions`) the runner uses to AUTO-jump an enrichment step off a device
26754
+ * whose format can't run it. Built from the SAME `eligible` (deviceKey→weight)
26755
+ * and `caps` (deviceKey→maxSessions) the dispatcher already computes, so the
26756
+ * roster the runner sees exactly matches the balancer's candidate set. Sorted
26757
+ * by key for determinism. Populated onto `RunnerCameraConfig.inferenceDevices`
26758
+ * ONLY when a `deviceKey` is elected and there are ≥2 entries.
26759
+ */
26760
+ function buildInferenceDeviceRoster(eligible, caps) {
26761
+ return Object.entries(eligible).map(([deviceKey, weight]) => ({
26762
+ deviceKey,
26763
+ weight: weight > 0 ? weight : 1,
26764
+ maxSessions: caps[deviceKey] ?? null
26765
+ })).toSorted((a, b) => a.deviceKey < b.deviceKey ? -1 : a.deviceKey > b.deviceKey ? 1 : 0);
26766
+ }
26671
26767
  //#endregion
26672
26768
  //#region src/orchestrator-types.ts
26673
26769
  var PHASE_MODE_VALUES = new Set([
@@ -28829,7 +28925,12 @@ function buildRunnerConfig(base, overrides) {
28829
28925
  }
28830
28926
  //#endregion
28831
28927
  //#region src/apply-device-provisioning.ts
28832
- /** Merge base then override for one step. Override keys win; undefined = inherit. */
28928
+ /**
28929
+ * Merge base then override for one step. Override keys win; undefined = inherit.
28930
+ * `jumpDeviceKey` (step-tree device jump, phase 1) is a per-(node,device) BASE
28931
+ * concept ONLY — the per-camera override never carries it (spec: per-camera jump
28932
+ * is out of scope), so it is taken from `base` verbatim.
28933
+ */
28833
28934
  function resolveStep(base, override) {
28834
28935
  if (!base && !override) return void 0;
28835
28936
  const modelId = override?.modelId ?? base?.modelId;
@@ -28837,9 +28938,11 @@ function resolveStep(base, override) {
28837
28938
  ...base?.settings,
28838
28939
  ...override?.settings
28839
28940
  } : void 0;
28941
+ const jumpDeviceKey = base?.jumpDeviceKey;
28840
28942
  return {
28841
28943
  ...modelId !== void 0 ? { modelId } : {},
28842
- ...settings ? { settings } : {}
28944
+ ...settings ? { settings } : {},
28945
+ ...jumpDeviceKey !== void 0 ? { jumpDeviceKey } : {}
28843
28946
  };
28844
28947
  }
28845
28948
  /**
@@ -28857,6 +28960,7 @@ function applyDeviceProvisioning(steps, base, override) {
28857
28960
  ...step,
28858
28961
  ...cfg?.modelId !== void 0 ? { modelId: cfg.modelId } : {},
28859
28962
  ...cfg?.settings ? { settings: cfg.settings } : {},
28963
+ ...cfg?.jumpDeviceKey !== void 0 ? { jumpDeviceKey: cfg.jumpDeviceKey } : {},
28860
28964
  ...children !== void 0 ? { children } : {}
28861
28965
  };
28862
28966
  });
@@ -29841,17 +29945,21 @@ var PlacementService = class {
29841
29945
  dispatchScore = decision.score;
29842
29946
  }
29843
29947
  const targetLoad = loads.find((load) => load.nodeId === targetNodeId);
29948
+ const eligibleDevices = await this.deps.getEligibleInferenceDevices(targetNodeId);
29949
+ const deviceCaps = await this.deps.getInferenceDeviceCaps(targetNodeId);
29844
29950
  const deviceKey = pickInferenceDevice({
29845
- eligible: await this.deps.getEligibleInferenceDevices(targetNodeId),
29951
+ eligible: eligibleDevices,
29846
29952
  loads: targetLoad?.devices ?? [],
29847
- caps: await this.deps.getInferenceDeviceCaps(targetNodeId),
29953
+ caps: deviceCaps,
29848
29954
  pinnedDeviceKey: await this.deps.readPipelineDevicePin(runnerConfig.deviceId)
29849
29955
  }) ?? void 0;
29850
29956
  const deviceBase = deviceKey ? await this.deps.settingsStore.buildNodeInferenceDeviceSteps(targetNodeId, deviceKey) : {};
29851
29957
  const deviceOverride = deviceKey ? await this.deps.settingsStore.readCameraDeviceOverride(runnerConfig.deviceId, targetNodeId, deviceKey) : {};
29958
+ const inferenceDevices = deviceKey && Object.keys(eligibleDevices).length >= 2 ? buildInferenceDeviceRoster(eligibleDevices, deviceCaps) : void 0;
29852
29959
  const attachConfig = {
29853
29960
  ...runnerConfig,
29854
29961
  ...deviceKey ? { deviceKey } : {},
29962
+ ...inferenceDevices ? { inferenceDevices } : {},
29855
29963
  ...runnerConfig.steps ? { steps: applyDeviceProvisioning(runnerConfig.steps, deviceBase, deviceOverride) } : {}
29856
29964
  };
29857
29965
  const dispatchGuard = this.deps.ledger.markDispatching(runnerConfig.deviceId);
@@ -31833,7 +31941,8 @@ var StoredAgentAddonConfigSchema = object({
31833
31941
  });
31834
31942
  var StoredDeviceStepConfigSchema = object({
31835
31943
  modelId: string().optional(),
31836
- settings: record(string(), unknown()).readonly().optional()
31944
+ settings: record(string(), unknown()).readonly().optional(),
31945
+ jumpDeviceKey: string().optional()
31837
31946
  });
31838
31947
  var StoredAgentPipelineSettingsSchema = object({
31839
31948
  addonDefaults: record(string(), StoredAgentAddonConfigSchema).optional(),
@@ -33294,10 +33403,12 @@ var SessionDispatchController = class {
33294
33403
  const deviceBase = deviceKey ? await this.deps.settingsStore.buildNodeInferenceDeviceSteps(targetNodeId, deviceKey) : {};
33295
33404
  const deviceOverride = deviceKey ? await this.deps.settingsStore.readCameraDeviceOverride(deviceId, targetNodeId, deviceKey) : {};
33296
33405
  const steps = applyDeviceProvisioning(pipelineConfig.steps, deviceBase, deviceOverride);
33406
+ const inferenceDevices = deviceKey && Object.keys(enabledDevices).length >= 2 ? buildInferenceDeviceRoster(enabledDevices, deviceCaps) : void 0;
33297
33407
  const zones = await this.deps.listZones(deviceId);
33298
33408
  const sessionConfig = {
33299
33409
  deviceId,
33300
33410
  ...deviceKey ? { deviceKey } : {},
33411
+ ...inferenceDevices ? { inferenceDevices } : {},
33301
33412
  motionCooldownMs: config.motionCooldownMs,
33302
33413
  motionFps: config.motionFps,
33303
33414
  detectionFps: config.detectionFps,
@@ -35344,6 +35455,10 @@ var PipelineOrchestratorAddon = class PipelineOrchestratorAddon extends BaseAddo
35344
35455
  * pending so a node newly given more capacity picks up stranded cameras.
35345
35456
  */
35346
35457
  async setAgentInferenceDevices(input) {
35458
+ const { probed } = await this.probeNodeInferenceDevices(input.agentNodeId);
35459
+ const enabledAvailableKeys = new Set(mergeInferenceDevices(probed, input.inferenceDevices).filter((d) => d.enabled && d.available).map((d) => d.key));
35460
+ const jumpError = validateJumpTargets(input.inferenceDevices, enabledAvailableKeys);
35461
+ if (jumpError) throw new Error(`setAgentInferenceDevices: ${jumpError}`);
35347
35462
  const existing = (await this.settingsStore.readAgentSettingsMap())[input.agentNodeId];
35348
35463
  const next = existing ? {
35349
35464
  ...existing,
package/dist/index.mjs CHANGED
@@ -11581,7 +11581,8 @@ var PipelineStepInputSchema = lazy(() => object({
11581
11581
  modelId: string().optional(),
11582
11582
  enabled: boolean().default(true),
11583
11583
  children: array(PipelineStepInputSchema).optional(),
11584
- settings: record(string(), unknown()).optional()
11584
+ settings: record(string(), unknown()).optional(),
11585
+ jumpDeviceKey: string().optional()
11585
11586
  }));
11586
11587
  var ModelSubstitutionSchema = object({
11587
11588
  addonId: string(),
@@ -12072,8 +12073,24 @@ var NativeCropBboxSchema = object({
12072
12073
  });
12073
12074
  /** Result of a best-effort native-resolution crop (`getNativeCrop`). */
12074
12075
  var NativeCropResultSchema = object({
12075
- /** Packed rgb (24-bit) pixels of the crop. */
12076
- bytes: _instanceof(Uint8Array),
12076
+ /**
12077
+ * Packed rgb (24-bit) pixels of the crop. Present on the DEFAULT (raw) path —
12078
+ * same-node (in-process / UDS) callers get zero-copy RGB and encode locally.
12079
+ * OMITTED when the caller requested `encodeJpeg` (the cross-node compressed
12080
+ * path below), where shipping raw RGB is both an invariant violation and, for
12081
+ * a native full frame (~26 MB at 4K), larger than Moleculer's 10 MB
12082
+ * `maxPacketSize` → the packet is dropped and the call 60s-times-out. That is
12083
+ * the cross-node native-media miss: `bytes` is replaced by `jpeg`.
12084
+ */
12085
+ bytes: _instanceof(Uint8Array).optional(),
12086
+ /**
12087
+ * Base64 JPEG of the crop — the COMPRESSED cross-node payload. The OWNING node
12088
+ * (which holds the native surface) encodes it in-process, so a native 4K frame
12089
+ * ships as ~0.5–2 MB (well under `maxPacketSize`) and NO raw pixels ever cross
12090
+ * a process boundary (CLAUDE.md invariant #21). Present ONLY when the request
12091
+ * set `encodeJpeg: true`; `bytes` is then absent.
12092
+ */
12093
+ jpeg: string().optional(),
12077
12094
  width: number().int().positive(),
12078
12095
  height: number().int().positive(),
12079
12096
  /**
@@ -12219,6 +12236,20 @@ var RunnerFrameSourceSchema = discriminatedUnion("kind", [object({ kind: literal
12219
12236
  hubHostnameOverride: string().optional()
12220
12237
  })]).describe("Per-camera frame-source mode for the runner (P2c)");
12221
12238
  /**
12239
+ * One ENABLED inference device on the runner's node, as the step-tree
12240
+ * device-jump resolver sees it (phase 1). The orchestrator populates this
12241
+ * roster on the attach payload whenever the camera is elected onto a specific
12242
+ * `deviceKey` and the node has ≥2 enabled devices — it is the candidate set the
12243
+ * runner auto-jumps an enrichment step to when the elected device's format
12244
+ * cannot run that step's model. `weight`/`maxSessions` mirror the balancer's
12245
+ * per-device knobs so the auto choice is weighted-least-loaded.
12246
+ */
12247
+ var RunnerInferenceDeviceSchema = object({
12248
+ deviceKey: string(),
12249
+ weight: number().positive().default(1),
12250
+ maxSessions: number().int().positive().nullable().default(null)
12251
+ });
12252
+ /**
12222
12253
  * Camera assignment payload sent by `addon-pipeline-orchestrator` to a
12223
12254
  * specific runner instance via `attachCamera`. Carries everything the
12224
12255
  * runner needs to subscribe to the local broker and execute inference.
@@ -12336,7 +12367,16 @@ var RunnerCameraConfigSchema = object({
12336
12367
  * omitted ⇒ the runner's default device. The engine itself stays node-local —
12337
12368
  * this only selects WHICH device pool of that node runs the session.
12338
12369
  */
12339
- deviceKey: string().optional()
12370
+ deviceKey: string().optional(),
12371
+ /**
12372
+ * Step-tree device-jump roster (phase 1): the node's ENABLED inference
12373
+ * devices, populated by the orchestrator ONLY when `deviceKey` is set and the
12374
+ * node has ≥2 enabled devices. The runner uses it to AUTO-jump an enrichment
12375
+ * step whose model has no build for the elected device's format onto another
12376
+ * enabled device of the SAME node (weighted-least-loaded). Absent/single-entry
12377
+ * ⇒ no jump possible; the step runs on `deviceKey`.
12378
+ */
12379
+ inferenceDevices: array(RunnerInferenceDeviceSchema).readonly().optional()
12340
12380
  });
12341
12381
  /**
12342
12382
  * Per-device settings UI fields the runner cap owns. Co-located with
@@ -12516,7 +12556,18 @@ var RunnerLocalMetricsSchema = object({
12516
12556
  method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mutation" }), method(object({ deviceId: number() }), object({ success: literal(true) }), { kind: "mutation" }), method(ReportMotionInputSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), RunnerLocalLoadSchema), method(_void(), RunnerLocalMetricsSchema), method(object({ deviceId: number() }), CameraMetricsSchema.nullable()), method(_void(), array(CameraMetricsWithDeviceIdSchema).readonly()), method(_void(), array(number()).readonly()), method(object({
12517
12557
  handle: FrameHandleSchema,
12518
12558
  bbox: NativeCropBboxSchema,
12519
- maxWidth: number().int().positive().optional()
12559
+ maxWidth: number().int().positive().optional(),
12560
+ /**
12561
+ * When `true`, the runner encodes the resolved crop to JPEG ON THE
12562
+ * OWNING NODE and returns it in `jpeg` (base64) INSTEAD of raw `bytes`.
12563
+ * Callers set this for CROSS-NODE fetches (`handle.nodeId` is a remote
12564
+ * agent) so the compressed payload fits Moleculer's `maxPacketSize` and
12565
+ * no raw pixels cross the process boundary. Same-node callers omit it
12566
+ * and keep the zero-copy raw `bytes` path. Additive + optional: a
12567
+ * pre-encode runner (version skew) ignores it and returns `bytes`, so
12568
+ * the caller falls back to encoding locally.
12569
+ */
12570
+ encodeJpeg: boolean().optional()
12520
12571
  }), NativeCropResultSchema.nullable()), method(object({
12521
12572
  deviceId: number(),
12522
12573
  frameHandle: FrameHandleSchema.optional(),
@@ -17759,7 +17810,16 @@ var PipelineTemplateSchema = object({
17759
17810
  });
17760
17811
  var DeviceStepConfigSchema = object({
17761
17812
  modelId: string().optional(),
17762
- settings: record(string(), unknown()).optional()
17813
+ settings: record(string(), unknown()).optional(),
17814
+ /**
17815
+ * Step-tree device jump (same-node, phase 1) — OPTIONAL manual override.
17816
+ * When set, this step runs on the named enabled device of the SAME node
17817
+ * (`<backend>:<device>`) instead of the camera's elected device, bypassing
17818
+ * the runtime AUTO-jump. The orchestrator rejects a `jumpDeviceKey` pointing
17819
+ * at a disabled/absent device on that node at save time. Absent ⇒ the runner
17820
+ * auto-jumps only when the effective device's format cannot run the step.
17821
+ */
17822
+ jumpDeviceKey: string().optional()
17763
17823
  });
17764
17824
  var AgentPipelineSettingsSchema = object({
17765
17825
  maxCameras: number().int().nonnegative().nullable().default(null),
@@ -26572,6 +26632,25 @@ function defaultModelIdForDevice(deviceKey) {
26572
26632
  return "yolo26n";
26573
26633
  }
26574
26634
  /**
26635
+ * Step-tree device jump (phase 1): validate every `steps[step].jumpDeviceKey`
26636
+ * manual override in a to-be-saved `inferenceDevices` map. A jump target MUST be
26637
+ * an enabled∧available device on the SAME node and DIFFERENT from the owning
26638
+ * device. `enabledAvailableKeys` is the effective enabled∧available set (from
26639
+ * `mergeInferenceDevices(probe, submitted)`) so an absent/unplugged/disabled
26640
+ * target is rejected honestly (an operator can't route a step onto a dead pool).
26641
+ * Returns the FIRST human-readable error, or `null` when every override is
26642
+ * valid. Pure + deterministic.
26643
+ */
26644
+ function validateJumpTargets(inferenceDevices, enabledAvailableKeys) {
26645
+ for (const [deviceKey, entry] of Object.entries(inferenceDevices)) for (const [stepId, step] of Object.entries(entry.steps ?? {})) {
26646
+ const target = step.jumpDeviceKey;
26647
+ if (target === void 0) continue;
26648
+ if (target === deviceKey) return `step "${stepId}" on "${deviceKey}" has a jumpDeviceKey pointing at its own device`;
26649
+ if (!enabledAvailableKeys.has(target)) return `step "${stepId}" on "${deviceKey}" has a jumpDeviceKey "${target}" that is not an enabled, available device on this node`;
26650
+ }
26651
+ return null;
26652
+ }
26653
+ /**
26575
26654
  * Merge a node's live-probed inference devices with its stored per-device map.
26576
26655
  *
26577
26656
  * The default is **AUTO = all discovered ACCELERATORS enabled** (spec C2,
@@ -26640,6 +26719,23 @@ function eligibleInferenceDeviceWeights(probed, stored) {
26640
26719
  for (const d of mergeInferenceDevices(probed, stored)) if (d.enabled && d.available) out[d.key] = d.weight;
26641
26720
  return out;
26642
26721
  }
26722
+ /**
26723
+ * Step-tree device jump (phase 1): the attach-payload roster of a node's
26724
+ * enabled∧available inference devices with the balancer knobs (`weight`,
26725
+ * `maxSessions`) the runner uses to AUTO-jump an enrichment step off a device
26726
+ * whose format can't run it. Built from the SAME `eligible` (deviceKey→weight)
26727
+ * and `caps` (deviceKey→maxSessions) the dispatcher already computes, so the
26728
+ * roster the runner sees exactly matches the balancer's candidate set. Sorted
26729
+ * by key for determinism. Populated onto `RunnerCameraConfig.inferenceDevices`
26730
+ * ONLY when a `deviceKey` is elected and there are ≥2 entries.
26731
+ */
26732
+ function buildInferenceDeviceRoster(eligible, caps) {
26733
+ return Object.entries(eligible).map(([deviceKey, weight]) => ({
26734
+ deviceKey,
26735
+ weight: weight > 0 ? weight : 1,
26736
+ maxSessions: caps[deviceKey] ?? null
26737
+ })).toSorted((a, b) => a.deviceKey < b.deviceKey ? -1 : a.deviceKey > b.deviceKey ? 1 : 0);
26738
+ }
26643
26739
  //#endregion
26644
26740
  //#region src/orchestrator-types.ts
26645
26741
  var PHASE_MODE_VALUES = new Set([
@@ -28801,7 +28897,12 @@ function buildRunnerConfig(base, overrides) {
28801
28897
  }
28802
28898
  //#endregion
28803
28899
  //#region src/apply-device-provisioning.ts
28804
- /** Merge base then override for one step. Override keys win; undefined = inherit. */
28900
+ /**
28901
+ * Merge base then override for one step. Override keys win; undefined = inherit.
28902
+ * `jumpDeviceKey` (step-tree device jump, phase 1) is a per-(node,device) BASE
28903
+ * concept ONLY — the per-camera override never carries it (spec: per-camera jump
28904
+ * is out of scope), so it is taken from `base` verbatim.
28905
+ */
28805
28906
  function resolveStep(base, override) {
28806
28907
  if (!base && !override) return void 0;
28807
28908
  const modelId = override?.modelId ?? base?.modelId;
@@ -28809,9 +28910,11 @@ function resolveStep(base, override) {
28809
28910
  ...base?.settings,
28810
28911
  ...override?.settings
28811
28912
  } : void 0;
28913
+ const jumpDeviceKey = base?.jumpDeviceKey;
28812
28914
  return {
28813
28915
  ...modelId !== void 0 ? { modelId } : {},
28814
- ...settings ? { settings } : {}
28916
+ ...settings ? { settings } : {},
28917
+ ...jumpDeviceKey !== void 0 ? { jumpDeviceKey } : {}
28815
28918
  };
28816
28919
  }
28817
28920
  /**
@@ -28829,6 +28932,7 @@ function applyDeviceProvisioning(steps, base, override) {
28829
28932
  ...step,
28830
28933
  ...cfg?.modelId !== void 0 ? { modelId: cfg.modelId } : {},
28831
28934
  ...cfg?.settings ? { settings: cfg.settings } : {},
28935
+ ...cfg?.jumpDeviceKey !== void 0 ? { jumpDeviceKey: cfg.jumpDeviceKey } : {},
28832
28936
  ...children !== void 0 ? { children } : {}
28833
28937
  };
28834
28938
  });
@@ -29813,17 +29917,21 @@ var PlacementService = class {
29813
29917
  dispatchScore = decision.score;
29814
29918
  }
29815
29919
  const targetLoad = loads.find((load) => load.nodeId === targetNodeId);
29920
+ const eligibleDevices = await this.deps.getEligibleInferenceDevices(targetNodeId);
29921
+ const deviceCaps = await this.deps.getInferenceDeviceCaps(targetNodeId);
29816
29922
  const deviceKey = pickInferenceDevice({
29817
- eligible: await this.deps.getEligibleInferenceDevices(targetNodeId),
29923
+ eligible: eligibleDevices,
29818
29924
  loads: targetLoad?.devices ?? [],
29819
- caps: await this.deps.getInferenceDeviceCaps(targetNodeId),
29925
+ caps: deviceCaps,
29820
29926
  pinnedDeviceKey: await this.deps.readPipelineDevicePin(runnerConfig.deviceId)
29821
29927
  }) ?? void 0;
29822
29928
  const deviceBase = deviceKey ? await this.deps.settingsStore.buildNodeInferenceDeviceSteps(targetNodeId, deviceKey) : {};
29823
29929
  const deviceOverride = deviceKey ? await this.deps.settingsStore.readCameraDeviceOverride(runnerConfig.deviceId, targetNodeId, deviceKey) : {};
29930
+ const inferenceDevices = deviceKey && Object.keys(eligibleDevices).length >= 2 ? buildInferenceDeviceRoster(eligibleDevices, deviceCaps) : void 0;
29824
29931
  const attachConfig = {
29825
29932
  ...runnerConfig,
29826
29933
  ...deviceKey ? { deviceKey } : {},
29934
+ ...inferenceDevices ? { inferenceDevices } : {},
29827
29935
  ...runnerConfig.steps ? { steps: applyDeviceProvisioning(runnerConfig.steps, deviceBase, deviceOverride) } : {}
29828
29936
  };
29829
29937
  const dispatchGuard = this.deps.ledger.markDispatching(runnerConfig.deviceId);
@@ -31805,7 +31913,8 @@ var StoredAgentAddonConfigSchema = object({
31805
31913
  });
31806
31914
  var StoredDeviceStepConfigSchema = object({
31807
31915
  modelId: string().optional(),
31808
- settings: record(string(), unknown()).readonly().optional()
31916
+ settings: record(string(), unknown()).readonly().optional(),
31917
+ jumpDeviceKey: string().optional()
31809
31918
  });
31810
31919
  var StoredAgentPipelineSettingsSchema = object({
31811
31920
  addonDefaults: record(string(), StoredAgentAddonConfigSchema).optional(),
@@ -33266,10 +33375,12 @@ var SessionDispatchController = class {
33266
33375
  const deviceBase = deviceKey ? await this.deps.settingsStore.buildNodeInferenceDeviceSteps(targetNodeId, deviceKey) : {};
33267
33376
  const deviceOverride = deviceKey ? await this.deps.settingsStore.readCameraDeviceOverride(deviceId, targetNodeId, deviceKey) : {};
33268
33377
  const steps = applyDeviceProvisioning(pipelineConfig.steps, deviceBase, deviceOverride);
33378
+ const inferenceDevices = deviceKey && Object.keys(enabledDevices).length >= 2 ? buildInferenceDeviceRoster(enabledDevices, deviceCaps) : void 0;
33269
33379
  const zones = await this.deps.listZones(deviceId);
33270
33380
  const sessionConfig = {
33271
33381
  deviceId,
33272
33382
  ...deviceKey ? { deviceKey } : {},
33383
+ ...inferenceDevices ? { inferenceDevices } : {},
33273
33384
  motionCooldownMs: config.motionCooldownMs,
33274
33385
  motionFps: config.motionFps,
33275
33386
  detectionFps: config.detectionFps,
@@ -35316,6 +35427,10 @@ var PipelineOrchestratorAddon = class PipelineOrchestratorAddon extends BaseAddo
35316
35427
  * pending so a node newly given more capacity picks up stranded cameras.
35317
35428
  */
35318
35429
  async setAgentInferenceDevices(input) {
35430
+ const { probed } = await this.probeNodeInferenceDevices(input.agentNodeId);
35431
+ const enabledAvailableKeys = new Set(mergeInferenceDevices(probed, input.inferenceDevices).filter((d) => d.enabled && d.available).map((d) => d.key));
35432
+ const jumpError = validateJumpTargets(input.inferenceDevices, enabledAvailableKeys);
35433
+ if (jumpError) throw new Error(`setAgentInferenceDevices: ${jumpError}`);
35319
35434
  const existing = (await this.settingsStore.readAgentSettingsMap())[input.agentNodeId];
35320
35435
  const next = existing ? {
35321
35436
  ...existing,
@@ -30,7 +30,7 @@ async function d(e) {
30
30
  }
31
31
  }
32
32
  async function f() {
33
- return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-D2fJDIWd.mjs")).catch((e) => {
33
+ return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-C48YqQ5m.mjs")).catch((e) => {
34
34
  throw l = void 0, e;
35
35
  }), l;
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-pipeline-orchestrator",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "Hub-side camera-to-agent load balancer — tracks runner capacity and dispatches attachCamera calls to the optimal pipeline-runner instance",
5
5
  "keywords": [
6
6
  "camstack",