@camstack/addon-provider-dreo 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/addon.js CHANGED
@@ -17859,7 +17859,17 @@ var AgentAddonConfigSchema = object({
17859
17859
  });
17860
17860
  var AgentPipelineSettingsSchema = object({
17861
17861
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
17862
- maxCameras: number().int().nonnegative().nullable().default(null)
17862
+ maxCameras: number().int().nonnegative().nullable().default(null),
17863
+ /** Per-node detection weight (relative share for the quota balancer). */
17864
+ detectWeight: number().positive().optional(),
17865
+ /** Node is eligible to run the detection pipeline (decode + inference). */
17866
+ detect: boolean().optional(),
17867
+ /** Node is eligible to host decoder sessions. */
17868
+ decode: boolean().optional(),
17869
+ /** Node is eligible to run audio-analyzer sessions. */
17870
+ audio: boolean().optional(),
17871
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
17872
+ ingest: boolean().optional()
17863
17873
  });
17864
17874
  var CameraPipelineForAgentSchema = object({
17865
17875
  steps: array(PipelineStepInputSchema).readonly(),
@@ -17934,7 +17944,10 @@ var AgentLoadSummarySchema = object({
17934
17944
  online: boolean(),
17935
17945
  load: RunnerLocalLoadSchema,
17936
17946
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
17937
- score: number()
17947
+ score: number(),
17948
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
17949
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
17950
+ decodeHwaccel: string().nullable()
17938
17951
  });
17939
17952
  /**
17940
17953
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -18162,6 +18175,21 @@ method(object({
18162
18175
  }), object({ success: literal(true) }), {
18163
18176
  kind: "mutation",
18164
18177
  auth: "admin"
18178
+ }), method(object({
18179
+ agentNodeId: string(),
18180
+ detectWeight: number().positive().nullable()
18181
+ }), object({ success: literal(true) }), {
18182
+ kind: "mutation",
18183
+ auth: "admin"
18184
+ }), method(object({
18185
+ agentNodeId: string(),
18186
+ detect: boolean().nullable().optional(),
18187
+ decode: boolean().nullable().optional(),
18188
+ audio: boolean().nullable().optional(),
18189
+ ingest: boolean().nullable().optional()
18190
+ }), object({ success: literal(true) }), {
18191
+ kind: "mutation",
18192
+ auth: "admin"
18165
18193
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
18166
18194
  deviceId: number(),
18167
18195
  addonId: string(),
@@ -20470,7 +20498,7 @@ var HardwareEncoderIdSchema = _enum([
20470
20498
  "libx264",
20471
20499
  "libx265"
20472
20500
  ]);
20473
- var HardwareEncodersSchema = object({
20501
+ object({
20474
20502
  encoders: array(object({
20475
20503
  encoder: HardwareEncoderIdSchema,
20476
20504
  codec: _enum(["H264", "H265"]),
@@ -20489,15 +20517,7 @@ var HardwareEncodersSchema = object({
20489
20517
  defaultH265: HardwareEncoderIdSchema,
20490
20518
  probedAt: number()
20491
20519
  });
20492
- /**
20493
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
20494
- * methods the configured ffmpeg binary actually supports (parsed from
20495
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
20496
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
20497
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
20498
- * software fallback — this only filters out wholly-unsupported backends.
20499
- */
20500
- var HardwareDecodeAccelsSchema = object({
20520
+ object({
20501
20521
  methods: array(string()).readonly(),
20502
20522
  probedAt: number()
20503
20523
  });
@@ -20560,13 +20580,7 @@ var ResolvedInferenceConfigSchema = object({
20560
20580
  format: ModelFormatSchema,
20561
20581
  reason: string()
20562
20582
  });
20563
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
20564
- kind: "mutation",
20565
- auth: "admin"
20566
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
20567
- kind: "mutation",
20568
- auth: "admin"
20569
- });
20583
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
20570
20584
  var PtzPresetSchema = object({
20571
20585
  id: string(),
20572
20586
  name: string()
@@ -24035,6 +24049,18 @@ Object.freeze({
24035
24049
  addonId: null,
24036
24050
  access: "create"
24037
24051
  },
24052
+ "pipelineOrchestrator.setAgentCapabilities": {
24053
+ capName: "pipeline-orchestrator",
24054
+ capScope: "system",
24055
+ addonId: null,
24056
+ access: "create"
24057
+ },
24058
+ "pipelineOrchestrator.setAgentDetectWeight": {
24059
+ capName: "pipeline-orchestrator",
24060
+ capScope: "system",
24061
+ addonId: null,
24062
+ access: "create"
24063
+ },
24038
24064
  "pipelineOrchestrator.setAgentMaxCameras": {
24039
24065
  capName: "pipeline-orchestrator",
24040
24066
  capScope: "system",
@@ -24191,30 +24217,6 @@ Object.freeze({
24191
24217
  addonId: null,
24192
24218
  access: "view"
24193
24219
  },
24194
- "platformProbe.getHardwareDecodeAccels": {
24195
- capName: "platform-probe",
24196
- capScope: "system",
24197
- addonId: null,
24198
- access: "view"
24199
- },
24200
- "platformProbe.getHardwareEncoders": {
24201
- capName: "platform-probe",
24202
- capScope: "system",
24203
- addonId: null,
24204
- access: "view"
24205
- },
24206
- "platformProbe.refreshHardwareDecodeAccels": {
24207
- capName: "platform-probe",
24208
- capScope: "system",
24209
- addonId: null,
24210
- access: "create"
24211
- },
24212
- "platformProbe.refreshHardwareEncoders": {
24213
- capName: "platform-probe",
24214
- capScope: "system",
24215
- addonId: null,
24216
- access: "create"
24217
- },
24218
24220
  "platformProbe.resolveHwAccel": {
24219
24221
  capName: "platform-probe",
24220
24222
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -17860,7 +17860,17 @@ var AgentAddonConfigSchema = object({
17860
17860
  });
17861
17861
  var AgentPipelineSettingsSchema = object({
17862
17862
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
17863
- maxCameras: number().int().nonnegative().nullable().default(null)
17863
+ maxCameras: number().int().nonnegative().nullable().default(null),
17864
+ /** Per-node detection weight (relative share for the quota balancer). */
17865
+ detectWeight: number().positive().optional(),
17866
+ /** Node is eligible to run the detection pipeline (decode + inference). */
17867
+ detect: boolean().optional(),
17868
+ /** Node is eligible to host decoder sessions. */
17869
+ decode: boolean().optional(),
17870
+ /** Node is eligible to run audio-analyzer sessions. */
17871
+ audio: boolean().optional(),
17872
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
17873
+ ingest: boolean().optional()
17864
17874
  });
17865
17875
  var CameraPipelineForAgentSchema = object({
17866
17876
  steps: array(PipelineStepInputSchema).readonly(),
@@ -17935,7 +17945,10 @@ var AgentLoadSummarySchema = object({
17935
17945
  online: boolean(),
17936
17946
  load: RunnerLocalLoadSchema,
17937
17947
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
17938
- score: number()
17948
+ score: number(),
17949
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
17950
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
17951
+ decodeHwaccel: string().nullable()
17939
17952
  });
17940
17953
  /**
17941
17954
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -18163,6 +18176,21 @@ method(object({
18163
18176
  }), object({ success: literal(true) }), {
18164
18177
  kind: "mutation",
18165
18178
  auth: "admin"
18179
+ }), method(object({
18180
+ agentNodeId: string(),
18181
+ detectWeight: number().positive().nullable()
18182
+ }), object({ success: literal(true) }), {
18183
+ kind: "mutation",
18184
+ auth: "admin"
18185
+ }), method(object({
18186
+ agentNodeId: string(),
18187
+ detect: boolean().nullable().optional(),
18188
+ decode: boolean().nullable().optional(),
18189
+ audio: boolean().nullable().optional(),
18190
+ ingest: boolean().nullable().optional()
18191
+ }), object({ success: literal(true) }), {
18192
+ kind: "mutation",
18193
+ auth: "admin"
18166
18194
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
18167
18195
  deviceId: number(),
18168
18196
  addonId: string(),
@@ -20471,7 +20499,7 @@ var HardwareEncoderIdSchema = _enum([
20471
20499
  "libx264",
20472
20500
  "libx265"
20473
20501
  ]);
20474
- var HardwareEncodersSchema = object({
20502
+ object({
20475
20503
  encoders: array(object({
20476
20504
  encoder: HardwareEncoderIdSchema,
20477
20505
  codec: _enum(["H264", "H265"]),
@@ -20490,15 +20518,7 @@ var HardwareEncodersSchema = object({
20490
20518
  defaultH265: HardwareEncoderIdSchema,
20491
20519
  probedAt: number()
20492
20520
  });
20493
- /**
20494
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
20495
- * methods the configured ffmpeg binary actually supports (parsed from
20496
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
20497
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
20498
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
20499
- * software fallback — this only filters out wholly-unsupported backends.
20500
- */
20501
- var HardwareDecodeAccelsSchema = object({
20521
+ object({
20502
20522
  methods: array(string()).readonly(),
20503
20523
  probedAt: number()
20504
20524
  });
@@ -20561,13 +20581,7 @@ var ResolvedInferenceConfigSchema = object({
20561
20581
  format: ModelFormatSchema,
20562
20582
  reason: string()
20563
20583
  });
20564
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
20565
- kind: "mutation",
20566
- auth: "admin"
20567
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
20568
- kind: "mutation",
20569
- auth: "admin"
20570
- });
20584
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
20571
20585
  var PtzPresetSchema = object({
20572
20586
  id: string(),
20573
20587
  name: string()
@@ -24036,6 +24050,18 @@ Object.freeze({
24036
24050
  addonId: null,
24037
24051
  access: "create"
24038
24052
  },
24053
+ "pipelineOrchestrator.setAgentCapabilities": {
24054
+ capName: "pipeline-orchestrator",
24055
+ capScope: "system",
24056
+ addonId: null,
24057
+ access: "create"
24058
+ },
24059
+ "pipelineOrchestrator.setAgentDetectWeight": {
24060
+ capName: "pipeline-orchestrator",
24061
+ capScope: "system",
24062
+ addonId: null,
24063
+ access: "create"
24064
+ },
24039
24065
  "pipelineOrchestrator.setAgentMaxCameras": {
24040
24066
  capName: "pipeline-orchestrator",
24041
24067
  capScope: "system",
@@ -24192,30 +24218,6 @@ Object.freeze({
24192
24218
  addonId: null,
24193
24219
  access: "view"
24194
24220
  },
24195
- "platformProbe.getHardwareDecodeAccels": {
24196
- capName: "platform-probe",
24197
- capScope: "system",
24198
- addonId: null,
24199
- access: "view"
24200
- },
24201
- "platformProbe.getHardwareEncoders": {
24202
- capName: "platform-probe",
24203
- capScope: "system",
24204
- addonId: null,
24205
- access: "view"
24206
- },
24207
- "platformProbe.refreshHardwareDecodeAccels": {
24208
- capName: "platform-probe",
24209
- capScope: "system",
24210
- addonId: null,
24211
- access: "create"
24212
- },
24213
- "platformProbe.refreshHardwareEncoders": {
24214
- capName: "platform-probe",
24215
- capScope: "system",
24216
- addonId: null,
24217
- access: "create"
24218
- },
24219
24221
  "platformProbe.resolveHwAccel": {
24220
24222
  capName: "platform-probe",
24221
24223
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-dreo",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Dreo smart-device (fan / air-circulator / purifier / heater / humidifier) device-provider addon for CamStack — wraps the @apocaliss92/nodedreo Dreo cloud client (REST + WebSocket)",
5
5
  "keywords": [
6
6
  "camstack",