@camstack/types 1.1.52 → 1.1.54

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/index.mjs CHANGED
@@ -173,6 +173,17 @@ var ModelCatalogEntrySchema = z.object({
173
173
  "imagenet",
174
174
  "none"
175
175
  ]).optional(),
176
+ /**
177
+ * The model already applies softmax IN-GRAPH — its raw output is a
178
+ * probability distribution, not logits. When set, the `softmax`
179
+ * postprocessor must NOT re-apply softmax: re-softmaxing an already-normalised
180
+ * probability vector collapses it toward uniform (top-1 score craters far
181
+ * below its true value, making every confidence gate meaningless). Absent ⇒
182
+ * the output is raw logits and the postprocessor applies softmax (the normal
183
+ * case). Set on the Google AIY Birds `bird-classifier` (softmax baked into the
184
+ * TF graph). Threaded to the Python pool via `PoolModelConfig.outputProbabilities`.
185
+ */
186
+ outputProbabilities: z.boolean().optional(),
176
187
  preprocessMode: z.enum(["letterbox", "resize"]).optional(),
177
188
  /**
178
189
  * Per-MODEL postprocessor override. Absent ⇒ the step's own
@@ -8211,7 +8222,14 @@ var pipelineExecutorCapability = {
8211
8222
  * (inputClasses ≠ null) are skipped and served per-track via
8212
8223
  * pipelineRunner.runDetailSubtree (two-plane design).
8213
8224
  */
8214
- plane: z.enum(["full", "frame"]).optional()
8225
+ plane: z.enum(["full", "frame"]).optional(),
8226
+ /**
8227
+ * Inference-device selector (Phase 2 multi-device). Format
8228
+ * `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`).
8229
+ * Omitted ⇒ the runner's default device (current single-engine
8230
+ * behaviour). Selects WHICH device pool of the node runs the call.
8231
+ */
8232
+ deviceKey: z.string().optional()
8215
8233
  }), PipelineRunResultBridge, { kind: "mutation" }),
8216
8234
  /**
8217
8235
  * Batched run — N raw frames packed into one cap call. The provider
@@ -8229,7 +8247,20 @@ var pipelineExecutorCapability = {
8229
8247
  steps: z.array(PipelineStepInputSchema).min(1),
8230
8248
  frames: z.array(FrameInputSchema).min(1).max(255),
8231
8249
  deviceId: z.number().optional(),
8232
- sessionId: z.string().optional()
8250
+ sessionId: z.string().optional(),
8251
+ /**
8252
+ * Pure-inference benchmark hint. A NONZERO uint32 pins every frame in
8253
+ * the batch to the Python pool's bench preprocess cache
8254
+ * (`_bench_frame_id`) so a REPEATED benchmark frame is decoded +
8255
+ * preprocessed ONCE and every later inference is a pure-inference cache
8256
+ * hit — the sustained-throughput run measures inference, not
8257
+ * decode+preprocess+infer. Omitted/0 for live frames (all different →
8258
+ * full preprocess every call, correct). Fresh per sustained run;
8259
+ * released via `uncacheFrame`.
8260
+ */
8261
+ frameId: z.number().int().nonnegative().optional(),
8262
+ /** Inference-device selector (Phase 2 multi-device); see runPipeline. */
8263
+ deviceKey: z.string().optional()
8233
8264
  }), z.object({ results: z.array(PipelineRunResultBridge).readonly() }), { kind: "mutation" }),
8234
8265
  /**
8235
8266
  * Cache a raw frame inside the Python inference pool's memory.
@@ -8683,7 +8714,14 @@ var RunnerCameraConfigSchema = z.object({
8683
8714
  * camera's detect node differs from its source-owner (P2d, gated by the
8684
8715
  * `remoteSourcingNodes` rollout setting).
8685
8716
  */
8686
- frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" })
8717
+ frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" }),
8718
+ /**
8719
+ * Inference-device selector for this camera's sessions (Phase 2 multi-device).
8720
+ * Format `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`);
8721
+ * omitted ⇒ the runner's default device. The engine itself stays node-local —
8722
+ * this only selects WHICH device pool of that node runs the session.
8723
+ */
8724
+ deviceKey: z.string().optional()
8687
8725
  });
8688
8726
  /**
8689
8727
  * Per-device settings UI fields the runner cap owns. Co-located with
@@ -12787,6 +12825,182 @@ function enumerateItemArrayFields(itemArray) {
12787
12825
  }));
12788
12826
  }
12789
12827
  //#endregion
12828
+ //#region src/device/device-control-resolution.ts
12829
+ /**
12830
+ * Device-control RESOLUTION LOGIC — the single, presentation-free source of
12831
+ * truth for "given a device's `type` (+ its cap `features`), which control
12832
+ * should render?".
12833
+ *
12834
+ * This module is deliberately framework-free: NO react / react-native / lucide
12835
+ * imports, no JSX, no platform widgets. It encodes only the DECISION; each
12836
+ * client (admin-ui's `@camstack/ui-library` web registry, the RN viewer's
12837
+ * accessory registry) maps the returned control-KIND onto its own
12838
+ * platform-specific components. That's the one duplication we remove — the
12839
+ * presentational components stay platform-specific by necessity.
12840
+ *
12841
+ * Two decision surfaces live here, at two granularities:
12842
+ *
12843
+ * 1. `resolveDeviceControlKind(type)` — the BASE type → control-kind decision
12844
+ * used by the admin-ui device list / device-detail hero. Exhaustive over
12845
+ * every `DeviceType`; a light is a single `'light'` kind (dim-vs-plain is
12846
+ * refined inside the light component).
12847
+ *
12848
+ * 2. `pickAccessoryControl({ type, features })` — the FINER accessory-row
12849
+ * decision used by the viewer's per-camera accessory list. It refines a
12850
+ * `light` into `'brightness'` vs `'switch'` and a `sensor`/`presence` into
12851
+ * a specific sensor cap, because an accessory row renders ONE compact
12852
+ * control chosen by priority.
12853
+ *
12854
+ * The two agree on every overlapping type EXCEPT `light` (see the notes on
12855
+ * `pickAccessoryControl`): the base decision keeps a dedicated `'light'`
12856
+ * control; the accessory decision collapses a non-dimmable light onto the
12857
+ * generic `'switch'` control. That is a deliberate granularity difference, not
12858
+ * a contradiction — the base kind is what the admin-ui renders, the accessory
12859
+ * pick is what a compact camera-accessory row renders.
12860
+ */
12861
+ /**
12862
+ * Exhaustive `DeviceType` → `DeviceControlKind` map. Omitting a new enum member
12863
+ * fails the build here (the single place the type→kind decision is encoded).
12864
+ * `'dummy'` marks types with no interactive control (Camera/Hub/Generic and the
12865
+ * placeholder HA types whose inline control renders a dash).
12866
+ */
12867
+ var DEVICE_TYPE_CONTROL_KIND = {
12868
+ [DeviceType.Cover]: "cover",
12869
+ [DeviceType.Valve]: "valve",
12870
+ [DeviceType.Humidifier]: "humidifier",
12871
+ [DeviceType.WaterHeater]: "water-heater",
12872
+ [DeviceType.Camera]: "dummy",
12873
+ [DeviceType.Hub]: "dummy",
12874
+ [DeviceType.Switch]: "switch",
12875
+ [DeviceType.Siren]: "switch",
12876
+ [DeviceType.Light]: "light",
12877
+ [DeviceType.Fan]: "fan",
12878
+ [DeviceType.Sensor]: "sensor",
12879
+ [DeviceType.Thermostat]: "thermostat",
12880
+ [DeviceType.Climate]: "climate",
12881
+ [DeviceType.Button]: "button",
12882
+ [DeviceType.EventEmitter]: "dummy",
12883
+ [DeviceType.Update]: "update",
12884
+ [DeviceType.Generic]: "dummy",
12885
+ [DeviceType.Notifier]: "dummy",
12886
+ [DeviceType.Script]: "dummy",
12887
+ [DeviceType.Automation]: "dummy",
12888
+ [DeviceType.Lock]: "lock",
12889
+ [DeviceType.MediaPlayer]: "media-player",
12890
+ [DeviceType.AlarmPanel]: "alarm",
12891
+ [DeviceType.Control]: "control",
12892
+ [DeviceType.Presence]: "sensor",
12893
+ [DeviceType.Weather]: "weather",
12894
+ [DeviceType.Vacuum]: "vacuum",
12895
+ [DeviceType.LawnMower]: "lawn-mower",
12896
+ [DeviceType.Container]: "dummy",
12897
+ [DeviceType.Image]: "image",
12898
+ [DeviceType.PetFeeder]: "pet-feeder"
12899
+ };
12900
+ var DEVICE_TYPE_VALUES = new Set(Object.values(DeviceType));
12901
+ /**
12902
+ * Runtime-string-safe base resolver: a device row's `type` crosses the wire as
12903
+ * a plain string, so an unrecognised value resolves to `null` instead of
12904
+ * indexing the map with an unverified key. `DEVICE_TYPE_VALUES.has(type)`
12905
+ * narrows the string to a `DeviceType` before indexing (documented enum-string
12906
+ * boundary).
12907
+ */
12908
+ function resolveDeviceControlKind(type) {
12909
+ return DEVICE_TYPE_VALUES.has(type) ? DEVICE_TYPE_CONTROL_KIND[type] : null;
12910
+ }
12911
+ /** Kebab feature flag advertised by an accessory that auto-activates when its
12912
+ * parent camera detects motion. The cap's kebab name is `motion-trigger` (see
12913
+ * `motion-trigger.cap.ts`). It is INDEPENDENT of the row's primary control: a
12914
+ * siren/light/switch can expose BOTH a `switch` on/off AND a `motion-trigger`
12915
+ * "activate on motion" toggle. */
12916
+ var MOTION_TRIGGER_FEATURE = "motion-trigger";
12917
+ /** True when an accessory advertises the `motion-trigger` cap — drives the
12918
+ * inline "On motion" toggle rendered alongside its primary control. Pure +
12919
+ * testable. */
12920
+ function hasMotionTrigger(features) {
12921
+ return features.includes(MOTION_TRIGGER_FEATURE);
12922
+ }
12923
+ /** Kebab-case sensor cap names → the read-only sensor-value control. The
12924
+ * accessory pick scans these (in order) to choose which sensor cap to read. */
12925
+ var SENSOR_FEATURES = [
12926
+ "temperature-sensor",
12927
+ "humidity-sensor",
12928
+ "ambient-light-sensor",
12929
+ "numeric-sensor",
12930
+ "enum-sensor"
12931
+ ];
12932
+ /**
12933
+ * Pick the primary control for an accessory. The control is chosen by the
12934
+ * device's canonical `type` (the `DeviceType` enum value — the same key
12935
+ * `resolveDeviceControlKind` maps on), NOT by the `features` list (which holds
12936
+ * secondary flags). For a `light` we consult `features` to choose dim vs plain
12937
+ * on/off, and for a `sensor`/`presence` to pick which sensor value to read.
12938
+ * Pure: same input → same output. Returns `{ kind: 'none' }` for types with no
12939
+ * accessory-row control.
12940
+ */
12941
+ function pickAccessoryControl(device) {
12942
+ const set = new Set(device.features);
12943
+ switch (device.type) {
12944
+ case DeviceType.Cover: return { kind: "cover" };
12945
+ case DeviceType.Valve: return { kind: "valve" };
12946
+ case DeviceType.Lock: return { kind: "lock" };
12947
+ case DeviceType.AlarmPanel: return { kind: "alarm" };
12948
+ case DeviceType.Light: return set.has("brightness") ? { kind: "brightness" } : { kind: "switch" };
12949
+ case DeviceType.Switch:
12950
+ case DeviceType.Siren: return { kind: "switch" };
12951
+ case DeviceType.Sensor:
12952
+ case DeviceType.Presence: {
12953
+ const sensor = SENSOR_FEATURES.find((f) => set.has(f));
12954
+ return sensor ? {
12955
+ kind: "sensor",
12956
+ sensorFeature: sensor
12957
+ } : { kind: "none" };
12958
+ }
12959
+ default: return { kind: "none" };
12960
+ }
12961
+ }
12962
+ /** Kebab sensor cap → its numeric-value mapping. `enum-sensor` is handled
12963
+ * separately by callers (it reads a raw string `value`, not a numeric field),
12964
+ * so it intentionally has no entry here. */
12965
+ var SENSOR_MAP = {
12966
+ "temperature-sensor": {
12967
+ capKey: "temperatureSensor",
12968
+ field: "celsius",
12969
+ fallbackUnit: "°C"
12970
+ },
12971
+ "humidity-sensor": {
12972
+ capKey: "humiditySensor",
12973
+ field: "percent",
12974
+ fallbackUnit: "%"
12975
+ },
12976
+ "ambient-light-sensor": {
12977
+ capKey: "ambientLightSensor",
12978
+ field: "lux",
12979
+ fallbackUnit: "lx"
12980
+ },
12981
+ "numeric-sensor": {
12982
+ capKey: "numericSensor",
12983
+ field: "value"
12984
+ }
12985
+ };
12986
+ /** True when a value is a navigable node: a plain object OR a tRPC v11 client
12987
+ * proxy node (a callable `Proxy(noop)` → `typeof === 'function'`, NOT an
12988
+ * object). A `typeof === 'object'`-only check REJECTS every real client proxy,
12989
+ * so `resolveMutate` would return null and EVERY control becomes a silent
12990
+ * no-op. Framework-free: operates on the SDK proxy shape only. */
12991
+ function isNode(value) {
12992
+ return value !== null && (typeof value === "object" || typeof value === "function");
12993
+ }
12994
+ /** Resolve `router.<method>.mutate` to a callable, or `null`. Walks the tRPC
12995
+ * client proxy defensively (each hop guarded by `isNode`). */
12996
+ function resolveMutate(router, method) {
12997
+ if (!isNode(router)) return null;
12998
+ const proc = router[method];
12999
+ if (!isNode(proc)) return null;
13000
+ const mutate = proc.mutate;
13001
+ return typeof mutate === "function" ? mutate : null;
13002
+ }
13003
+ //#endregion
12790
13004
  //#region src/utils/zone-rule-eval.ts
12791
13005
  /**
12792
13006
  * Evaluate `rules` against `items`. Returns the items partitioned
@@ -23552,17 +23766,28 @@ var PlatformScoreSchema = z.object({
23552
23766
  format: z.enum([
23553
23767
  "onnx",
23554
23768
  "coreml",
23555
- "openvino"
23769
+ "openvino",
23770
+ "tflite"
23556
23771
  ]),
23557
23772
  score: z.number(),
23558
23773
  reason: z.string(),
23559
23774
  available: z.boolean()
23560
23775
  });
23776
+ var InferenceDeviceDescriptorSchema = z.object({
23777
+ key: z.string(),
23778
+ backend: z.string(),
23779
+ device: z.string(),
23780
+ format: ModelFormatSchema,
23781
+ runtime: z.literal("python"),
23782
+ score: z.number(),
23783
+ available: z.boolean()
23784
+ });
23561
23785
  var PlatformCapabilitiesSchema = z.object({
23562
23786
  hardware: HardwareInfoSchema,
23563
23787
  scores: z.array(PlatformScoreSchema).readonly(),
23564
23788
  bestScore: PlatformScoreSchema,
23565
- pythonPath: z.string().nullable()
23789
+ pythonPath: z.string().nullable(),
23790
+ devices: z.array(InferenceDeviceDescriptorSchema).readonly()
23566
23791
  });
23567
23792
  var ModelRequirementSchema = z.object({
23568
23793
  modelId: z.string(),
@@ -31219,6 +31444,7 @@ function modelFormatForRuntime(id) {
31219
31444
  * - coreml: score 95, darwin+arm64
31220
31445
  * - cuda: score 85, nvidia gpu
31221
31446
  * - openvino: score 90 if intel-npu present, else 80 if intel gpu
31447
+ * - edgetpu: score 70, coral usb present
31222
31448
  * - cpu: score 50 (universal floor, always included)
31223
31449
  *
31224
31450
  * All hardware-matched entries are `available: true`.
@@ -31254,6 +31480,14 @@ function scoreRuntimes(hw) {
31254
31480
  available: true
31255
31481
  });
31256
31482
  }
31483
+ if (hw.coral != null) scores.push({
31484
+ runtime: "python",
31485
+ backend: "edgetpu",
31486
+ format: "tflite",
31487
+ score: 70,
31488
+ reason: "Coral Edge TPU (Python LiteRT)",
31489
+ available: true
31490
+ });
31257
31491
  scores.push({
31258
31492
  runtime: "python",
31259
31493
  backend: "cpu",
@@ -31268,5 +31502,32 @@ function scoreRuntimes(hw) {
31268
31502
  best: sorted.find((s) => s.available) ?? sorted[sorted.length - 1]
31269
31503
  };
31270
31504
  }
31505
+ var DEVICE_FOR_BACKEND = {
31506
+ openvino: "gpu",
31507
+ cuda: "gpu",
31508
+ edgetpu: "usb",
31509
+ coreml: "all",
31510
+ cpu: "cpu"
31511
+ };
31512
+ /**
31513
+ * Enumerate every usable inference device on a node, one descriptor per scored
31514
+ * backend. Unlike the elected `bestScore`, this returns the FULL set so the
31515
+ * orchestrator can run and balance across all accelerators concurrently.
31516
+ */
31517
+ function enumerateInferenceDevices(hw) {
31518
+ const { scores } = scoreRuntimes(hw);
31519
+ return scores.map((s) => {
31520
+ const device = DEVICE_FOR_BACKEND[s.backend] ?? s.backend;
31521
+ return {
31522
+ key: s.backend === "cpu" ? "cpu" : `${s.backend}:${device}`,
31523
+ backend: s.backend,
31524
+ device,
31525
+ format: s.format,
31526
+ runtime: "python",
31527
+ score: s.score,
31528
+ available: s.available
31529
+ };
31530
+ });
31531
+ }
31271
31532
  //#endregion
31272
- export { ACCESSORY_LABEL, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationControlStatusSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BATTERY_DEVICE_PROFILE, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, COCO_80_LABELS, COCO_TO_MACRO, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusSchema, CameraStreamSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_RETENTION, DEFAULT_SCRUB_THUMBNAIL_PRESET, DEVICE_CAP_NAMES, DEVICE_PROFILES, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DEVICE_TYPE_INFO, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceLinkModeSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, EVENT_KIND_BY_CAP, EVENT_PAD_MS, EVENT_TAXONOMY, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventSourceType, ExportDownloadSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionEvalError, ExpressionParseError, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LabelDefinitionSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LinkedDeviceSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmUsageRollupSchema, LlmUsageSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, ManagedModelCatalogEntrySchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, NativeDetectionSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionSchema, NotificationFormatSchema, NotificationHistoryEntrySchema, NotificationRuleSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OauthIntegrationDescriptorSchema, ObjectEventSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingModeSchema, RecordingRangeSchema, RecordingRetentionSchema, RecordingRuleSchema, RecordingScheduleSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RenderedAsSchema, ReportMotionInputSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SCRUB_THUMBNAIL_PRESETS, SCRUB_THUMBNAIL_PRESET_LABELS, SCRUB_THUMBNAIL_PRESET_ORDER, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SceneCheckSchema, SceneConditionSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, ScrubThumbnailPresetSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMEZONES, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestResultSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackProjectionSchema, TrackSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VibrationStatusSchema, VideoEncodeSchema, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advancedNotifierCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, applyTransform, asBoolean, asJsonArray, asJsonObject, asNumber, asString, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildEventKindDescriptor, buildModelVariantGroups, buildStreamParamsConfigSchema, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, carbonMonoxideCapability, cellsToRects, classifyStream, classifyStreams, climateControlCapability, collectHydratedFieldEntries, collectHydratedFieldValues, colorCapability, colorForKind, compileExpression, compileExpressionSafe, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, cosineSimilarity, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dayNightCapability, decoderCapability, defaultDeviceFor, defineCustomActions, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, enumSensorCapability, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateLinkExpression, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, gasCapability, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getTaxonomyEntry, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, isAgentOnlyPlacement, isArrayOutputSchema, isCollectionArrayMethod, isDeployableToAgent, isDeviceConfigCap, isEvent, isObjectInput, isVoidInput, jobKindSchema, kebabToCamel, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logDestinationCapability, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, metricsProviderCapability, migrateConfigToBands, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, petFeederCapability, pickPreferredRtspEntry, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readNodePin, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceProfile, resolveFormat, resolveHydratedFieldValue, resolveModelFormat, resolveRunnerId, resolveScrubThumbnailGeometry, resolveVariantModelId, runInferenceStep, runtimeDevices, sceneMonitorCapability, scopeKey, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, storageCapability, storageEvictableCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, subKindsOf, supportedRuntimes, switchCapability, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, textToHtml, toDeviceSummary, toExpressionValue, toStreamSourceEntry, toastCapability, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, valveCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
31533
+ export { ACCESSORY_LABEL, ALL_CAPABILITY_DEFINITIONS, APPLE_SA_TO_MACRO, AUDIO_BACKEND_CHOICES, AUDIO_MACRO_LABELS, AccessoriesStatusSchema, AccessoryKind, AddBrokerInputSchema, AddonAutoUpdateSchema, AddonListItemSchema, AddonPageDeclarationSchema, AddonPageInfoSchema, AdoptInputSchema as AdoptionAdoptInputSchema, AdoptResultSchema as AdoptionAdoptResultSchema, AdoptionFilterSchema, GetCandidateInputSchema as AdoptionGetCandidateInputSchema, ListCandidatesInputSchema as AdoptionListCandidatesInputSchema, ListCandidatesOutputSchema as AdoptionListCandidatesOutputSchema, ReleaseInputSchema as AdoptionReleaseInputSchema, AdoptionStatusSchema, AgentLoadSummarySchema, AirQualitySensorStatusSchema, AlarmArmModeSchema, AlarmPanelStatusSchema, AlarmStateSchema, AlertSchema, AlertSeveritySchema, AlertSourceSchema, AlertStatusSchema, AmbientLightSensorStatusSchema, ApiKeyRecordSchema, ApiKeySummarySchema, ArchiveEntrySchema, ArchiveManifestSchema, AttachmentMediaTypeSchema, AttachmentSchema, AudioAnalysisResultSchema, AudioAnalysisSettingsSchema, AudioChunkInputSchema, AudioClassSummarySchema, AudioClassificationLabelSchema, AudioClassificationResultSchema, AudioCodecInfoSchema, AudioDecodeSessionConfigSchema, AudioEncodeSchema, AudioEncodeSessionConfigSchema, AudioEncodedChunkSchema, AudioEventSchema, AudioLevelSchema, AudioMetricsHistoryPointSchema, AudioMetricsHistorySchema, AudioMetricsSnapshotSchema, AudioPcmChunkSchema, AuthResultSchema, AutoUpdateSettingsSchema, AutomationControlStatusSchema, AvailableIntegrationTypeSchema, BACKEND_TO_FORMAT, BATTERY_DEVICE_PROFILE, BacklightModeSchema, BackupDestinationInfoSchema, BackupEntrySchema, BaseAddon, BaseDevice, BaseDeviceProvider, BatteryStatusSchema, BinaryStatusSchema, BoundingBoxSchema, BrightnessStatusSchema, AddInputSchema as BrokerAddInputSchema, BrokerAudioClientSchema, BrokerClientsSchema, BrokerConnectionDetailsSchema, BrokerConsumerAttributionSchema, BrokerConsumerKindSchema, BrokerDecodedClientSchema, BrokerEncodedClientSchema, GetStateInputSchema as BrokerGetStateInputSchema, BrokerInfoSchema, BrokerProviderInfoSchema, PublishInputSchema as BrokerPublishInputSchema, RegistryStatusSchema as BrokerRegistryStatusSchema, BrokerRtspClientSchema, BrokerStatsSchema, BrokerStatusEnum, BrokerStatusSchema, SubscribeInputSchema as BrokerSubscribeInputSchema, SubscribeResultSchema as BrokerSubscribeResultSchema, TestConnectionResultSchema as BrokerTestConnectionResultSchema, UnsubscribeInputSchema as BrokerUnsubscribeInputSchema, CAM_PROFILE_ORDER, CAPABILITY_NAMES, CAPABILITY_ROUTER_KEYS, CAP_NAMES_WITH_STATUS, CAP_NODE_PIN_CONTEXT_KEY, CAP_PROVIDER_KIND_MAP, COCO_80_LABELS, COCO_TO_MACRO, CamProfileSchema, CamStreamDescriptorSchema, CamStreamKindSchema, CamStreamResolutionSchema, CameraAssignmentStatusSchema, CameraAudioStatusSchema, CameraBrokerProfileSchema, CameraBrokerStatusSchema, CameraCredentialsSchema, CameraCredentialsStatusSchema, CameraDecoderShmSchema, CameraDecoderStatusSchema, CameraDetectionPhaseSchema, CameraDetectionProvisioningSchema, CameraDetectionProvisioningStateSchema, CameraDetectionStatusSchema, CameraMetricsSchema, CameraMetricsWithDeviceIdSchema, CameraMotionStatusSchema, CameraRecordingModeSchema, CameraRecordingStatusSchema, CameraSourceStatusSchema, CameraSourceStreamSchema, CameraStatusSchema, CameraStreamSchema, CandidateQueryFilterSchema, CapScopeSchema, CapabilityBindingsSchema, CarbonMonoxideStatusSchema, ChargingStatus, ClientNetworkStatsSchema, ClimateControlStatusSchema, ClipPlaybackSchema, ClipSchema, ClusterAddonNodeDeploymentSchema, ClusterAddonStatusEntrySchema, CollectionColumnSchema, CollectionIndexSchema, ColorStatusSchema, ConfigEntrySchema, ConfigSectionWithValuesSchema, ConfigTabDeclarationSchema, ConnectivityStatusSchema, ConsumableItemSchema, ConsumablesStatusSchema, ContactStatusSchema, ControlKindSchema, ControlStatusSchema, ConvertArtifactSchema, ConvertResultSchema, ConvertTargetSchema, CoverStateSchema, CoverStatusSchema, CreateApiKeyInputSchema, CreateApiKeyResultSchema, CreateIntegrationInputSchema, CreateScopedTokenInputSchema, CreateScopedTokenResultSchema, CreateUserInputSchema, CustomActionInputSchema, CustomModelDescriptorSchema, DATAPLANE_SECRET_HEADER, DEFAULT_ADDON_PLACEMENT, DEFAULT_AUDIO_ANALYZER_CONFIG, DEFAULT_DECODER_HWACCEL_CONFIG, DEFAULT_EVENT_COLOR, DEFAULT_FEATURES, DEFAULT_RETENTION, DEFAULT_SCRUB_THUMBNAIL_PRESET, DEVICE_CAP_NAMES, DEVICE_PROFILES, DEVICE_SETTINGS_CONTRIBUTION_METHODS, DEVICE_STATUS_METHOD, DEVICE_TYPE_CONTROL_KIND, DEVICE_TYPE_INFO, DayNightModeSchema, DayNightOptionsSchema, DayNightSettingsPatchSchema, DayNightStatusSchema, DecodedAudioChunkSchema, DecodedFrameSchema, DecoderSessionConfigSchema, DecoderStatsSchema, DeleteIntegrationResultSchema, DetectionSourceSchema, DeviceCodeSeveritySchema, DeviceConfig, DeviceDiscoveryStatusSchema, ExposeInputSchema as DeviceExportExposeInputSchema, DeviceExportStatusSchema, UnexposeInputSchema as DeviceExportUnexposeInputSchema, DeviceFeature, DeviceInfoSchema, DeviceLinkModeSchema, DeviceNetworkStatsSchema, DeviceRole, DeviceRuntimeState, DeviceStatusSchema, DeviceType, DiscoveredChildDeviceSchema, DiscoveredChildStatusSchema, DiscoveredDeviceSchema, DiscoveredTargetSchema, DisposerChain, DoorbellPressEventSchema, DoorbellStatusSchema, EVENTFUL_CAP_NAMES, EVENT_KIND_BY_CAP, EVENT_PAD_MS, EVENT_TAXONOMY, EXPRESSION_BUILTINS, EXPRESSION_BUILTIN_NAMES, EXPRESSION_COMPILE_CACHE_CAPACITY, EXPRESSION_IDENTIFIER_RE, EXPRESSION_INJECTED_NOW, ElementConfigStore, EmbeddingInfoSchema, EmbeddingResultSchema, EncodeProfileSchema, EncodedPacketSchema, EnrichedWidgetMetadataSchema, EnumSensorDateTimeFormatSchema, EnumSensorStatusSchema, EventCategory, EventEmitterStatusSchema, EventFireSchema, EventItemSchema, EventKindCategorySchema, EventKindDescriptorSchema, EventKindIconSchema, EventKindSchema, EventSourceType, ExportDownloadSchema, ExportOptionsSchema, ExportRecordSchema, ExportSetupFieldSchema, ExportSetupSchema, ExportSpeedSchema, ExportStateSchema, ExportTimelapseSchema, ExposedDeviceSchema, ExposureModeSchema, ExpressionEvalError, ExpressionParseError, FanControlStatusSchema, FanDirectionSchema, FeatureManifestSchema, FeatureProbeStatusSchema, FloodStatusSchema, FrameHandleFormatSchema, FrameHandleSchema, FrameInputSchema, GasStatusSchema, GetStreamWithCodecInputSchema, GlobalMetricsSchema, HF_BASE_URL, HF_REPO, HWACCEL_OPTIONS, HealthStatusSchema, HistoryPointSchema, HistoryResolutionEnum, HumidifierStatusSchema, HumiditySensorStatusSchema, HvacModeSchema, ImageRotateSchema, ImageSettingsOptionsSchema, ImageSettingsPatchSchema, ImageSettingsStatusSchema, ImageStatusSchema, IngestOwnerSchema, InstalledPackageSchema, IntegrationLiteSchema, IntegrationWithStateSchema, IntercomAbilitySchema, IntercomStatusSchema, KNOWN_CAP_NAMES, KeyEventSchema, LabelDefinitionSchema, LawnMowerActivitySchema, LawnMowerControlStatusSchema, LinkedDeviceSchema, LlmDefaultSchema, LlmDefaultSelectorSchema, LlmErrorCodeSchema, LlmGenerateBaseInputSchema, LlmGenerateErrSchema, LlmGenerateOkSchema, LlmGenerateResultSchema, LlmImageSchema, LlmNodeModelSchema, LlmProfileKindDescriptorSchema, LlmProfileKindSchema, LlmProfileSchema, LlmRuntimeCompleteInputSchema, LlmRuntimeDiskUsageSchema, LlmRuntimeNodeSchema, LlmRuntimeStatusSchema, LlmUsageRollupSchema, LlmUsageSchema, LocateSegmentResultSchema, LocationStatSchema, LockControlStatusSchema, LockStateSchema, LogEntrySchema, LogLevelSchema, LogStreamEntrySchema, LoginMethodContributionSchema, LoginStageEnum, MACRO_LABELS, MAX_EXPRESSION_AST_NODES, MAX_EXPRESSION_BINDINGS, MAX_EXPRESSION_CALL_ARGS, MAX_EXPRESSION_EVAL_STEPS, MAX_EXPRESSION_SOURCE_LENGTH, METHOD_ACCESS_MAP, MODEL_FORMATS, MOTION_TRIGGER_FEATURE, ManagedModelCatalogEntrySchema, ManagedModelRefSchema, ManagedRuntimeConfigSchema, MaskGridDimsSchema, MaskGridShapeSchema, MaskLineShapeSchema, MaskPointSchema, MaskPolygonShapeSchema, MaskPolygonVerticesSchema, MaskRectShapeSchema, MaskShapeKindSchema, MaskShapeSchema, MediaFileSchema, MediaPlayerRepeatSchema, MediaPlayerStateSchema, MediaPlayerStatusSchema, MeshPeerSchema, MeshStatusSchema, MethodAccessSchema, ModelCatalogEntrySchema, ModelConvertInputSchema, ModelConvertMetadataSchema, ModelDistributeInputSchema, ModelDistributeResultSchema, ModelExtraFileSchema, ModelFormatEntrySchema, ModelFormatsSchema, ModelSubstitutionSchema, ModelVariantGroupSchema, MotionAnalysisResultSchema, MotionEventSchema, MotionOnMotionChangedDataSchema, MotionRegionSchema, MotionSourceEnum, MotionSourcesSchema, MotionStatusSchema, MotionTriggerRuntimeStateSchema, MotionTriggerStatusSchema, MotionZoneOptionsSchema, MotionZonePatchSchema, MotionZoneRegionSchema, MotionZoneStatusSchema, StatusSchema as MqttBrokerStatusSchema, NativeDetectionSchema, NativeObjectClassEnum, NativeObjectDetectionRuntimeStateSchema, NativeObjectDetectionStatusSchema, NetworkAccessStatusSchema, NetworkAddressSchema, NetworkEndpointSchema, NotificationActionSchema, NotificationFormatSchema, NotificationHistoryEntrySchema, NotificationRuleSchema, NotificationSchema, NotifierStatusSchema, NumericSensorStatusSchema, OPS_LOG_DEFAULT_LIMIT, OPS_LOG_RING_DEFAULT_MAX, OauthIntegrationDescriptorSchema, ObjectEventSchema, OpsLogDomainSchema, OpsLogEntrySchema, OpsLogOpSchema, OpsLogQueryInputSchema, OpsLogReasonSchema, OrchestratorMetricsSchema, OsdOverlayKindEnum, OsdOverlayPatchSchema, OsdOverlaySchema, OsdPositionEnum, OsdStatusSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, PIPELINE_FLOW_CAPABILITY_NAMES, PIPELINE_OWNER_CAPABILITY_NAMES, PROVIDER_KIND_CAP_NAMES, PYTHON_SCRIPT, PackageUpdateSchema, PackageVersionInfoSchema, PasskeyLoginMethodSchema, PasskeySummarySchema, PcmSampleFormatSchema, PerScopeBreakdownSchema, PetFeederStatusSchema, PickStreamPreferencesSchema, PickStreamRequirementsSchema, PickedCamStreamSchema, PipelineAssignmentSchema, PipelineDefaultStepSchema, PipelineEngineChoiceSchema, PipelineRunResultBridge, PipelineStepInputSchema, PipelineValidationIssueSchema, PipelineValidationResultSchema, PlaceholderReasonSchema, PolygonPointSchema, PowerMeterStatusSchema, PresenceStatusSchema, PressureSensorStatusSchema, PrivacyMaskOptionsSchema, PrivacyMaskPatchSchema, PrivacyMaskRegionSchema, PrivacyMaskShapeSchema, PrivacyMaskStatusSchema, ProfileRtspEntrySchema, ProfileSlotSchema, ProfileSlotStatusSchema, ProviderStatusSchema, PtzAutotrackRuntimeStateSchema, PtzAutotrackSettingsSchema, PtzAutotrackStatusSchema, PtzAutotrackTargetOptionSchema, PtzMoveCommandSchema, PtzPositionSchema, PtzPresetSchema, PtzStatusSchema, QueryFilterSchema, REACHABILITY_FAILURES_TO_OFFLINE, REACHABILITY_POLL_INTERVAL_MS, REACHABILITY_PROBE_TIMEOUT_MS, RECOGNITION_TYPES, RESERVED_BINDING_NAMES, RUNTIME_DEFAULTS, RUNTIME_TO_FORMAT, RawStateResultSchema, ReadSegmentBytesResultSchema, ReadinessRegistry, ReadinessTimeoutError, RecentTracksPageSchema, RecentTracksQueryInput, RecordingAvailabilitySchema, RecordingBandModeSchema, RecordingBandSchema, RecordingBandTriggersSchema, RecordingConfigSchema, RecordingDaysSchema, RecordingDeviceUsageSchema, RecordingLocationUsageSchema, RecordingManifestSchema, RecordingModeSchema, RecordingRangeSchema, RecordingRetentionSchema, RecordingRuleSchema, RecordingScheduleSchema, RecordingStatusSchema, RecordingStorageModeSchema, RecordingStorageUsageSchema, RecordingTriggersSchema, RecordingWeekdaySchema, RedirectLoginMethodSchema, RenderedAsSchema, ReportMotionInputSchema, RingBuffer, RtpSourceSchema, RtspRestreamEntrySchema, RunnerCameraConfigSchema, RunnerCameraDeviceUIFields, RunnerFrameSourceSchema, RunnerLocalLoadSchema, RunnerLocalMetricsSchema, SCOPE_PRESETS, SCRUB_THUMBNAIL_PRESETS, SCRUB_THUMBNAIL_PRESET_LABELS, SCRUB_THUMBNAIL_PRESET_ORDER, SENSOR_FEATURES, SENSOR_MAP, SOURCE_INFO_METADATA_KEY, STREAM_PROFILE_META, STREAM_QUALITY_LABELS, SUB_DETECTION_TYPES, SYSTEM_CAP_NAMES, SceneCheckSchema, SceneConditionSchema, SceneMonitorSchema, SceneMonitorStateSchema, SceneMonitorStatusSchema, SceneReferenceSchema, ScopedTokenSchema, ScopedTokenSummarySchema, ScoredObjectEventSchema, ScriptRunnerStatusSchema, ScrubThumbnailPresetSchema, SearchResultSchema, SendEmailInputSchema, SendEmailResultSchema, SendResultSchema, SensorEventSchema, ServerBootModeSchema, ServerPackageStatusSchema, ServerRollbackInfoSchema, ServerUpdateActionResultSchema, ServerUpdateCheckResultSchema, ServerUpdateStateSchema, SettingsPatchSchema, SettingsRecordSchema, SettingsSchemaWithValuesSchema, SettingsUpdateResultSchema, ShmRingStatsSchema, SmokeStatusSchema, SmtpStatusSchema, SnapshotImageSchema, SourceInfoSchema, SpatialDetectionSchema, SsoBridgeClaimsSchema, StartEmbeddedInputSchema, StationaryObjectSchema, AbortUploadInputSchema as StorageAbortUploadInputSchema, BeginDownloadInputSchema as StorageBeginDownloadInputSchema, BeginDownloadResultSchema as StorageBeginDownloadResultSchema, BeginUploadInputSchema as StorageBeginUploadInputSchema, BeginUploadResultSchema as StorageBeginUploadResultSchema, EndDownloadInputSchema as StorageEndDownloadInputSchema, FinalizeUploadInputSchema as StorageFinalizeUploadInputSchema, StorageLocationDeclarationSchema, StorageLocationRefSchema, StorageLocationSchema, StorageLocationTypeSchema, ProviderInfoSchema as StorageProviderInfoSchema, ReadChunkInputSchema as StorageReadChunkInputSchema, TestLocationResultSchema as StorageTestLocationResultSchema, WriteChunkInputSchema as StorageWriteChunkInputSchema, StreamCodecSchema, StreamFormatSchema, StreamNetworkStatsSchema, StreamParamsOptionsSchema, StreamParamsStatusSchema, StreamProfileConfigSchema, StreamProfileOptionsSchema, StreamProfilePatchSchema, StreamProfileSchema, StreamSourceEntrySchema, StreamSourceSchema, SubscribeAudioChunksInputSchema, SubscribeAudioChunksResultSchema, SubscribeFramesInputSchema, SubscribeFramesResultSchema, SwitchStatusSchema, SystemMetricsSchema, SystemMirror, TAXONOMY_COLORS, TIMEZONES, TamperStatusSchema, TankStatusSchema, TargetKindCapsSchema, TargetKindLevelSchema, TargetKindSchema, TargetSchema, TemperatureSensorStatusSchema, TestConnectionResultSchema$1 as TestConnectionResultSchema, TestResultSchema, ToastSchema, TokenScopeSchema, TopologyNodeSchema, TopologyProcessSchema, TopologyServiceSchema, TrackCascadeCountsSchema, TrackEnvelopeSchema, TrackProjectionSchema, TrackSchema, TrackStateSchema, TrackZoneFilterSchema, TrackedDetectionSchema, TurnServerSchema, UNIT_TABLE, BrokerInfoSchema$1 as UnifiedBrokerInfoSchema, UnitConversionError, UpdateIntegrationInputSchema, UpdateStatusSchema, UpdateUserInputSchema, UserRecordSchema, UserSummarySchema, VacuumControlStatusSchema, VacuumStateSchema, ValveStateSchema, ValveStatusSchema, VibrationStatusSchema, VideoEncodeSchema, WELL_KNOWN_TABS, WELL_KNOWN_TAB_MAP, WaterHeaterStatusSchema, WeatherStatusSchema, WebrtcStreamChoiceSchema, WebrtcStreamTargetSchema, WhiteBalanceModeSchema, WidgetHostEnum, WidgetLoginMethodSchema, WidgetMetadataSchema, WidgetRemoteSchema, WidgetSizeEnum, YAMNET_TO_MACRO, ZoneKindEnum, ZoneRuleModeEnum, ZoneRuleSchema, ZoneRuleStageEnum, ZoneRulesArraySchema, ZoneSchema, ZoneScopeBreakdownSchema, accessoriesCapability, accessoryStableId, addonPagesCapability, addonPagesSourceCapability, addonRoutesCapability, addonSettingsCapability, addonWidgetsCapability, addonWidgetsSourceCapability, addonsCapability, adminUiCapability, advancedNotifierCapability, airQualitySensorCapability, alarmPanelCapability, alertsCapability, ambientLightSensorCapability, applyTransform, asBoolean, asJsonArray, asJsonObject, asNumber, asString, audioAnalysisCapability, audioAnalyzerCapability, audioCodecCapability, audioMetricsCapability, authProviderCapability, autoAssignProfiles, automationControlCapability, backupCapability, batteryCapability, bestLocationMatch, binaryCapability, bindAddonActions, brightnessCapability, brokerCapability, buildAddonRouteProvider, buildEventKindDescriptor, buildModelVariantGroups, buildStreamParamsConfigSchema, buttonCapability, cameraCredentialsCapability, cameraPipelineConfigCapability, cameraStreamsCapability, canConvertUnit, carbonMonoxideCapability, cellsToRects, classifyStream, classifyStreams, climateControlCapability, collectHydratedFieldEntries, collectHydratedFieldValues, colorCapability, colorForKind, compileExpression, compileExpressionSafe, connectivityCapability, consumablesCapability, contactCapability, controlCapability, convertUnit, cosineSimilarity, coverCapability, createDeviceProxy, createDurableState, createEvent, createExpressionScope, createLazyTrpcSource, createMirrorSource, createRuntimeStateBridge, createSliceHandle, createSystemProxy, customAction, customModelRegistryCapability, dayNightCapability, decoderCapability, defaultDeviceFor, defineCustomActions, describeModelVariant, detectionPipelineCapability, deviceAdoptionCapability, deviceCustomAction, deviceDiscoveryCapability, deviceExportCapability, deviceManagerCapability, deviceMatchesProfile, deviceOpsCapability, deviceProviderCapability, deviceStateCapability, deviceStatusCapability, doorbellCapability, embeddingEncoderCapability, emitDownForOwnedCaps, emitReadiness, encodeProfileFromStreamShape, enumSensorCapability, enumerateInferenceDevices, enumerateItemArrayFields, enumerateSchemaFields, errMsg, evaluateAst, evaluateLinkExpression, evaluateZoneRules, event, eventEmitterCapability, eventsCapability, expandCapMethods, extractNestedAddonId, extractSourceInfoFromMetadata, faceGalleryCapability, fanControlCapability, featureProbeCapability, filesystemBrowseCapability, findTimezone, floodCapability, formatForBackend, formatForRuntime, gasCapability, getAudioMacroClassIds, getByPath, getCapsByProviderKind, getTaxonomyEntry, hasMotionTrigger, hfModelUrl, htmlToText, humidifierCapability, humiditySensorCapability, hydrateSchema, imageCapability, imageSettingsCapability, integrationsCapability, intercomCapability, isAgentOnlyPlacement, isArrayOutputSchema, isCollectionArrayMethod, isDeployableToAgent, isDeviceConfigCap, isEvent, isNode, isObjectInput, isVoidInput, jobKindSchema, kebabToCamel, lawnMowerControlCapability, lifecycleJobSchema, lifecycleJobScopeSchema, lifecycleJobStateSchema, lifecycleTaskSchema, llmCapability, llmRuntimeCapability, localNetworkCapability, locationSimilarity, lockControlCapability, logDestinationCapability, loginMethodCapability, looseSchema, makeProfileBrokerId, makeSourceBrokerId, mapAudioLabelToMacro, markdownToHtmlLite, markdownToText, maskUrlCredentials, mediaPlayerCapability, mergeSourceInfo, meshNetworkCapability, method, metricsProviderCapability, migrateConfigToBands, modelConvertCapability, modelDistributorCapability, modelFormatForRuntime, motionCapability, motionDetectionCapability, motionTriggerCapability, motionZonesCapability, mqttBrokerCapability, nativeObjectDetectionCapability, networkAccessCapability, networkQualityCapability, nodePin, nodesCapability, normalizeAddonInitResult, normalizeUnit, notificationOutputCapability, notifierCapability, numericSensorCapability, oauthIntegrationCapability, objectInputDeclaresAddonId, osdCapability, parseCameraStreamConfig, parseExpression, parseJsonArray, parseJsonObject, parseJsonUnknown, parseProfileBrokerId, parseStreamParamsFormPatch, petFeederCapability, pickAccessoryControl, pickPreferredRtspEntry, pipelineAnalyticsCapability, pipelineExecutorCapability, pipelineOrchestratorCapability, pipelineRunnerCapability, plateGalleryCapability, platformProbeCapability, powerMeterCapability, prepareNotification, presenceCapability, pressureSensorCapability, privacyMaskCapability, procedureAuthKey, ptzAutotrackCapability, ptzCapability, pythonScriptForBackend, readNodePin, readinessKey, rebootCapability, recordingCapability, recordingExportCapability, rectsToCells, requiresPython, resolveAddonExecution, resolveAddonGroup, resolveAddonPlacement, resolveAddonRuntime, resolveCapMount, resolveDetectionRuntime, resolveDeviceControlKind, resolveDeviceProfile, resolveFormat, resolveHydratedFieldValue, resolveModelFormat, resolveMutate, resolveRunnerId, resolveScrubThumbnailGeometry, resolveVariantModelId, runInferenceStep, runtimeDevices, sceneMonitorCapability, scopeKey, scoreRuntimes, scriptRunnerCapability, selectAssignedProfileSlots, serverManagementCapability, setByPath, settingsStoreCapability, sleep, sleepCancellable, smokeCapability, smtpProviderCapability, snapshotCapability, ssoBridgeCapability, startReachabilityPoll, storageCapability, storageEvictableCapability, storageProviderCapability, streamBrokerCapability, streamCatalogCapability, streamParamsCapability, streamPixels, streamQualityLabel, subKindsOf, supportedRuntimes, switchCapability, synthesizeSourceInfo, systemCapability, tamperCapability, taskLogEntrySchema, taskPhaseSchema, taskTargetSchema, temperatureSensorCapability, textToHtml, toDeviceSummary, toExpressionValue, toStreamSourceEntry, toastCapability, tokenize, transcodeBody, tryConvertUnit, turnProviderCapability, unitDimension, unitsForDimension, updateCapability, userManagementCapability, userPasskeysCapability, vacuumControlCapability, validateExpressionSource, valveCapability, vibrationCapability, videoclipsCapability, viewerUiCapability, waterHeaterCapability, weatherCapability, webrtcClientHintsSchema, webrtcSessionCapability, wiringAddonHealthSchema, wiringHealthSnapshotSchema, wiringNodeHealthSchema, wiringProbeKindSchema, wiringProbeResultSchema, zodEntriesToConfigUI, zoneAnalyticsCapability, zoneRulesCapability, zonesCapability };
@@ -14,6 +14,16 @@ export interface DeviceOption {
14
14
  readonly value: string;
15
15
  readonly label: string;
16
16
  }
17
+ export interface InferenceDeviceDescriptor {
18
+ /** Stable per-node device id, e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`. */
19
+ readonly key: string;
20
+ readonly backend: string;
21
+ readonly device: string;
22
+ readonly format: ModelFormat;
23
+ readonly runtime: 'python';
24
+ readonly score: number;
25
+ readonly available: boolean;
26
+ }
17
27
  /**
18
28
  * Returns the list of supported runtime IDs for given hardware.
19
29
  * onnx is always included (universal floor); accelerators added when hw matches.
@@ -44,6 +54,7 @@ interface ScoreRuntimesResult {
44
54
  * - coreml: score 95, darwin+arm64
45
55
  * - cuda: score 85, nvidia gpu
46
56
  * - openvino: score 90 if intel-npu present, else 80 if intel gpu
57
+ * - edgetpu: score 70, coral usb present
47
58
  * - cpu: score 50 (universal floor, always included)
48
59
  *
49
60
  * All hardware-matched entries are `available: true`.
@@ -51,4 +62,10 @@ interface ScoreRuntimesResult {
51
62
  * (or last entry as fallback).
52
63
  */
53
64
  export declare function scoreRuntimes(hw: HardwareInfo): ScoreRuntimesResult;
65
+ /**
66
+ * Enumerate every usable inference device on a node, one descriptor per scored
67
+ * backend. Unlike the elected `bestScore`, this returns the FULL set so the
68
+ * orchestrator can run and balance across all accelerators concurrently.
69
+ */
70
+ export declare function enumerateInferenceDevices(hw: HardwareInfo): readonly InferenceDeviceDescriptor[];
54
71
  export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,4 @@
1
+ import type { InferenceDeviceDescriptor } from '../inference/runtime-capabilities.js';
1
2
  /** Hardware information detected at boot */
2
3
  export interface HardwareInfo {
3
4
  readonly platform: 'darwin' | 'linux' | 'win32';
@@ -38,7 +39,7 @@ export interface CoralInfo {
38
39
  export interface PlatformScore {
39
40
  readonly runtime: 'node' | 'python';
40
41
  readonly backend: string;
41
- readonly format: 'onnx' | 'coreml' | 'openvino';
42
+ readonly format: 'onnx' | 'coreml' | 'openvino' | 'tflite';
42
43
  readonly score: number;
43
44
  readonly reason: string;
44
45
  readonly available: boolean;
@@ -49,6 +50,8 @@ export interface PlatformCapabilities {
49
50
  readonly scores: readonly PlatformScore[];
50
51
  readonly bestScore: PlatformScore;
51
52
  readonly pythonPath: string | null;
53
+ /** Every usable inference device on this node (enumerate, don't elect). */
54
+ readonly devices: readonly InferenceDeviceDescriptor[];
52
55
  }
53
56
  /** Model requirement declared by an addon */
54
57
  export interface ModelRequirement {
@@ -214,6 +214,7 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
214
214
  imagenet: "imagenet";
215
215
  none: "none";
216
216
  }>>;
217
+ outputProbabilities: z.ZodOptional<z.ZodBoolean>;
217
218
  preprocessMode: z.ZodOptional<z.ZodEnum<{
218
219
  letterbox: "letterbox";
219
220
  resize: "resize";
@@ -434,6 +435,7 @@ export declare const ConvertResultSchema: z.ZodObject<{
434
435
  imagenet: "imagenet";
435
436
  none: "none";
436
437
  }>>;
438
+ outputProbabilities: z.ZodOptional<z.ZodBoolean>;
437
439
  preprocessMode: z.ZodOptional<z.ZodEnum<{
438
440
  letterbox: "letterbox";
439
441
  resize: "resize";
@@ -82,6 +82,16 @@ export interface StepDefinition {
82
82
  readonly defaultConfidence: number;
83
83
  /** Runtime label lookup (e.g., class name arrays for softmax, charset for CTC) */
84
84
  readonly labels?: readonly string[];
85
+ /**
86
+ * Classifier output classes that must NEVER be emitted — a hard reject list
87
+ * applied to the top-1 winner AND the alternates after classification.
88
+ * Used for a "background"/"none" catch-all class a classifier emits when the
89
+ * crop is not a member of any real class (e.g. the Google AIY bird model's
90
+ * index-964 `background`): without this the classifier would surface
91
+ * `background` as a species label on cats/people/foliage. Compared
92
+ * case-insensitively against the predicted class name. Absent ⇒ no rejection.
93
+ */
94
+ readonly rejectClasses?: readonly string[];
85
95
  /** Character set for CTC decode (index 0 = blank token) */
86
96
  readonly charset?: readonly string[];
87
97
  /** COCO-to-macro class mapping (e.g., 'car' → 'vehicle') */
@@ -144,6 +154,23 @@ export interface PoolModelConfig {
144
154
  readonly inputChannels?: number;
145
155
  /** How to preprocess the image before inference */
146
156
  readonly preprocessMode: 'letterbox' | 'resize';
157
+ /**
158
+ * Input pixel normalization. Absent / `'zero-one'` / `'none'` ⇒ the default
159
+ * `/255` rescale only (byte-identical to the historical unconditional path,
160
+ * used by every detector + CLIP/ArcFace + the AIY bird classifier which bakes
161
+ * its own scale). `'imagenet'` ⇒ additionally subtract the ImageNet
162
+ * mean/std per channel — required by the EfficientNet/MobileNetV3 animal +
163
+ * vehicle classifiers (their `labels.json` declares `normalize: imagenet`).
164
+ * Threaded from `ModelCatalogEntry.inputNormalization`.
165
+ */
166
+ readonly inputNormalization?: 'zero-one' | 'imagenet' | 'none';
167
+ /**
168
+ * The model's output is ALREADY a softmax probability distribution (softmax
169
+ * baked into the graph). When true the `softmax` postprocessor skips its own
170
+ * softmax pass and consumes the raw output as probabilities. See
171
+ * `ModelCatalogEntry.outputProbabilities`.
172
+ */
173
+ readonly outputProbabilities?: boolean;
147
174
  /** Postprocessor to apply to raw output in Python */
148
175
  readonly postprocessor: PostprocessorType;
149
176
  /** Confidence threshold for NMS / filtering */
@@ -9,6 +9,19 @@ export interface TrackedDetection extends SpatialDetection {
9
9
  readonly dy: number;
10
10
  };
11
11
  readonly path: readonly BoundingBox[];
12
+ /**
13
+ * True when this track was associated to a REAL detection on the frame that
14
+ * produced this emission; false when the track is merely COASTING (the tracker
15
+ * kept it alive inside its coast budget with a frozen/extrapolated bbox — the
16
+ * subject was NOT observed this frame). Consumers that capture per-frame media
17
+ * (thumbnail / keyFrame / snapshot) MUST treat a `false` entry as media-
18
+ * INELIGIBLE: a coasted box is by definition not a current view of the subject,
19
+ * so cropping it yields the empty scene ("crop del nulla", media-bugs RC-3).
20
+ * Optional for backward compatibility — a runner that predates this field emits
21
+ * it absent, and absent should be read as "unknown → treat as matched" so an
22
+ * old runner is never worse than before. The SORT tracker always populates it.
23
+ */
24
+ readonly matchedThisFrame?: boolean;
12
25
  }
13
26
  export interface TrackedObjectState {
14
27
  readonly trackId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.1.52",
3
+ "version": "1.1.54",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",