@camstack/addon-provider-homeassistant 1.1.17 → 1.1.19

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
@@ -18125,7 +18125,17 @@ var AgentAddonConfigSchema = object({
18125
18125
  });
18126
18126
  var AgentPipelineSettingsSchema = object({
18127
18127
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
18128
- maxCameras: number().int().nonnegative().nullable().default(null)
18128
+ maxCameras: number().int().nonnegative().nullable().default(null),
18129
+ /** Per-node detection weight (relative share for the quota balancer). */
18130
+ detectWeight: number().positive().optional(),
18131
+ /** Node is eligible to run the detection pipeline (decode + inference). */
18132
+ detect: boolean().optional(),
18133
+ /** Node is eligible to host decoder sessions. */
18134
+ decode: boolean().optional(),
18135
+ /** Node is eligible to run audio-analyzer sessions. */
18136
+ audio: boolean().optional(),
18137
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
18138
+ ingest: boolean().optional()
18129
18139
  });
18130
18140
  var CameraPipelineForAgentSchema = object({
18131
18141
  steps: array(PipelineStepInputSchema).readonly(),
@@ -18200,7 +18210,10 @@ var AgentLoadSummarySchema = object({
18200
18210
  online: boolean(),
18201
18211
  load: RunnerLocalLoadSchema,
18202
18212
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
18203
- score: number()
18213
+ score: number(),
18214
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
18215
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
18216
+ decodeHwaccel: string().nullable()
18204
18217
  });
18205
18218
  /**
18206
18219
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -18428,6 +18441,21 @@ method(object({
18428
18441
  }), object({ success: literal(true) }), {
18429
18442
  kind: "mutation",
18430
18443
  auth: "admin"
18444
+ }), method(object({
18445
+ agentNodeId: string(),
18446
+ detectWeight: number().positive().nullable()
18447
+ }), object({ success: literal(true) }), {
18448
+ kind: "mutation",
18449
+ auth: "admin"
18450
+ }), method(object({
18451
+ agentNodeId: string(),
18452
+ detect: boolean().nullable().optional(),
18453
+ decode: boolean().nullable().optional(),
18454
+ audio: boolean().nullable().optional(),
18455
+ ingest: boolean().nullable().optional()
18456
+ }), object({ success: literal(true) }), {
18457
+ kind: "mutation",
18458
+ auth: "admin"
18431
18459
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
18432
18460
  deviceId: number(),
18433
18461
  addonId: string(),
@@ -20825,7 +20853,7 @@ var HardwareEncoderIdSchema = _enum([
20825
20853
  "libx264",
20826
20854
  "libx265"
20827
20855
  ]);
20828
- var HardwareEncodersSchema = object({
20856
+ object({
20829
20857
  encoders: array(object({
20830
20858
  encoder: HardwareEncoderIdSchema,
20831
20859
  codec: _enum(["H264", "H265"]),
@@ -20844,15 +20872,7 @@ var HardwareEncodersSchema = object({
20844
20872
  defaultH265: HardwareEncoderIdSchema,
20845
20873
  probedAt: number()
20846
20874
  });
20847
- /**
20848
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
20849
- * methods the configured ffmpeg binary actually supports (parsed from
20850
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
20851
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
20852
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
20853
- * software fallback — this only filters out wholly-unsupported backends.
20854
- */
20855
- var HardwareDecodeAccelsSchema = object({
20875
+ object({
20856
20876
  methods: array(string()).readonly(),
20857
20877
  probedAt: number()
20858
20878
  });
@@ -20915,13 +20935,7 @@ var ResolvedInferenceConfigSchema = object({
20915
20935
  format: ModelFormatSchema,
20916
20936
  reason: string()
20917
20937
  });
20918
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
20919
- kind: "mutation",
20920
- auth: "admin"
20921
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
20922
- kind: "mutation",
20923
- auth: "admin"
20924
- });
20938
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
20925
20939
  var PtzPresetSchema = object({
20926
20940
  id: string(),
20927
20941
  name: string()
@@ -24390,6 +24404,18 @@ Object.freeze({
24390
24404
  addonId: null,
24391
24405
  access: "create"
24392
24406
  },
24407
+ "pipelineOrchestrator.setAgentCapabilities": {
24408
+ capName: "pipeline-orchestrator",
24409
+ capScope: "system",
24410
+ addonId: null,
24411
+ access: "create"
24412
+ },
24413
+ "pipelineOrchestrator.setAgentDetectWeight": {
24414
+ capName: "pipeline-orchestrator",
24415
+ capScope: "system",
24416
+ addonId: null,
24417
+ access: "create"
24418
+ },
24393
24419
  "pipelineOrchestrator.setAgentMaxCameras": {
24394
24420
  capName: "pipeline-orchestrator",
24395
24421
  capScope: "system",
@@ -24546,30 +24572,6 @@ Object.freeze({
24546
24572
  addonId: null,
24547
24573
  access: "view"
24548
24574
  },
24549
- "platformProbe.getHardwareDecodeAccels": {
24550
- capName: "platform-probe",
24551
- capScope: "system",
24552
- addonId: null,
24553
- access: "view"
24554
- },
24555
- "platformProbe.getHardwareEncoders": {
24556
- capName: "platform-probe",
24557
- capScope: "system",
24558
- addonId: null,
24559
- access: "view"
24560
- },
24561
- "platformProbe.refreshHardwareDecodeAccels": {
24562
- capName: "platform-probe",
24563
- capScope: "system",
24564
- addonId: null,
24565
- access: "create"
24566
- },
24567
- "platformProbe.refreshHardwareEncoders": {
24568
- capName: "platform-probe",
24569
- capScope: "system",
24570
- addonId: null,
24571
- access: "create"
24572
- },
24573
24575
  "platformProbe.resolveHwAccel": {
24574
24576
  capName: "platform-probe",
24575
24577
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -18124,7 +18124,17 @@ var AgentAddonConfigSchema = object({
18124
18124
  });
18125
18125
  var AgentPipelineSettingsSchema = object({
18126
18126
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
18127
- maxCameras: number().int().nonnegative().nullable().default(null)
18127
+ maxCameras: number().int().nonnegative().nullable().default(null),
18128
+ /** Per-node detection weight (relative share for the quota balancer). */
18129
+ detectWeight: number().positive().optional(),
18130
+ /** Node is eligible to run the detection pipeline (decode + inference). */
18131
+ detect: boolean().optional(),
18132
+ /** Node is eligible to host decoder sessions. */
18133
+ decode: boolean().optional(),
18134
+ /** Node is eligible to run audio-analyzer sessions. */
18135
+ audio: boolean().optional(),
18136
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
18137
+ ingest: boolean().optional()
18128
18138
  });
18129
18139
  var CameraPipelineForAgentSchema = object({
18130
18140
  steps: array(PipelineStepInputSchema).readonly(),
@@ -18199,7 +18209,10 @@ var AgentLoadSummarySchema = object({
18199
18209
  online: boolean(),
18200
18210
  load: RunnerLocalLoadSchema,
18201
18211
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
18202
- score: number()
18212
+ score: number(),
18213
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
18214
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
18215
+ decodeHwaccel: string().nullable()
18203
18216
  });
18204
18217
  /**
18205
18218
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -18427,6 +18440,21 @@ method(object({
18427
18440
  }), object({ success: literal(true) }), {
18428
18441
  kind: "mutation",
18429
18442
  auth: "admin"
18443
+ }), method(object({
18444
+ agentNodeId: string(),
18445
+ detectWeight: number().positive().nullable()
18446
+ }), object({ success: literal(true) }), {
18447
+ kind: "mutation",
18448
+ auth: "admin"
18449
+ }), method(object({
18450
+ agentNodeId: string(),
18451
+ detect: boolean().nullable().optional(),
18452
+ decode: boolean().nullable().optional(),
18453
+ audio: boolean().nullable().optional(),
18454
+ ingest: boolean().nullable().optional()
18455
+ }), object({ success: literal(true) }), {
18456
+ kind: "mutation",
18457
+ auth: "admin"
18430
18458
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
18431
18459
  deviceId: number(),
18432
18460
  addonId: string(),
@@ -20824,7 +20852,7 @@ var HardwareEncoderIdSchema = _enum([
20824
20852
  "libx264",
20825
20853
  "libx265"
20826
20854
  ]);
20827
- var HardwareEncodersSchema = object({
20855
+ object({
20828
20856
  encoders: array(object({
20829
20857
  encoder: HardwareEncoderIdSchema,
20830
20858
  codec: _enum(["H264", "H265"]),
@@ -20843,15 +20871,7 @@ var HardwareEncodersSchema = object({
20843
20871
  defaultH265: HardwareEncoderIdSchema,
20844
20872
  probedAt: number()
20845
20873
  });
20846
- /**
20847
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
20848
- * methods the configured ffmpeg binary actually supports (parsed from
20849
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
20850
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
20851
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
20852
- * software fallback — this only filters out wholly-unsupported backends.
20853
- */
20854
- var HardwareDecodeAccelsSchema = object({
20874
+ object({
20855
20875
  methods: array(string()).readonly(),
20856
20876
  probedAt: number()
20857
20877
  });
@@ -20914,13 +20934,7 @@ var ResolvedInferenceConfigSchema = object({
20914
20934
  format: ModelFormatSchema,
20915
20935
  reason: string()
20916
20936
  });
20917
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
20918
- kind: "mutation",
20919
- auth: "admin"
20920
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
20921
- kind: "mutation",
20922
- auth: "admin"
20923
- });
20937
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
20924
20938
  var PtzPresetSchema = object({
20925
20939
  id: string(),
20926
20940
  name: string()
@@ -24389,6 +24403,18 @@ Object.freeze({
24389
24403
  addonId: null,
24390
24404
  access: "create"
24391
24405
  },
24406
+ "pipelineOrchestrator.setAgentCapabilities": {
24407
+ capName: "pipeline-orchestrator",
24408
+ capScope: "system",
24409
+ addonId: null,
24410
+ access: "create"
24411
+ },
24412
+ "pipelineOrchestrator.setAgentDetectWeight": {
24413
+ capName: "pipeline-orchestrator",
24414
+ capScope: "system",
24415
+ addonId: null,
24416
+ access: "create"
24417
+ },
24392
24418
  "pipelineOrchestrator.setAgentMaxCameras": {
24393
24419
  capName: "pipeline-orchestrator",
24394
24420
  capScope: "system",
@@ -24545,30 +24571,6 @@ Object.freeze({
24545
24571
  addonId: null,
24546
24572
  access: "view"
24547
24573
  },
24548
- "platformProbe.getHardwareDecodeAccels": {
24549
- capName: "platform-probe",
24550
- capScope: "system",
24551
- addonId: null,
24552
- access: "view"
24553
- },
24554
- "platformProbe.getHardwareEncoders": {
24555
- capName: "platform-probe",
24556
- capScope: "system",
24557
- addonId: null,
24558
- access: "view"
24559
- },
24560
- "platformProbe.refreshHardwareDecodeAccels": {
24561
- capName: "platform-probe",
24562
- capScope: "system",
24563
- addonId: null,
24564
- access: "create"
24565
- },
24566
- "platformProbe.refreshHardwareEncoders": {
24567
- capName: "platform-probe",
24568
- capScope: "system",
24569
- addonId: null,
24570
- access: "create"
24571
- },
24572
24574
  "platformProbe.resolveHwAccel": {
24573
24575
  capName: "platform-probe",
24574
24576
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-homeassistant",
3
- "version": "1.1.17",
3
+ "version": "1.1.19",
4
4
  "description": "Home Assistant device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",