@camstack/addon-export-ha-mqtt 1.1.14 → 1.1.16

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.
@@ -14957,7 +14957,17 @@ var AgentAddonConfigSchema = object({
14957
14957
  });
14958
14958
  var AgentPipelineSettingsSchema = object({
14959
14959
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
14960
- maxCameras: number$1().int().nonnegative().nullable().default(null)
14960
+ maxCameras: number$1().int().nonnegative().nullable().default(null),
14961
+ /** Per-node detection weight (relative share for the quota balancer). */
14962
+ detectWeight: number$1().positive().optional(),
14963
+ /** Node is eligible to run the detection pipeline (decode + inference). */
14964
+ detect: boolean().optional(),
14965
+ /** Node is eligible to host decoder sessions. */
14966
+ decode: boolean().optional(),
14967
+ /** Node is eligible to run audio-analyzer sessions. */
14968
+ audio: boolean().optional(),
14969
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
14970
+ ingest: boolean().optional()
14961
14971
  });
14962
14972
  var CameraPipelineForAgentSchema = object({
14963
14973
  steps: array(PipelineStepInputSchema).readonly(),
@@ -15032,7 +15042,10 @@ var AgentLoadSummarySchema = object({
15032
15042
  online: boolean(),
15033
15043
  load: RunnerLocalLoadSchema,
15034
15044
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
15035
- score: number$1()
15045
+ score: number$1(),
15046
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15047
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15048
+ decodeHwaccel: string().nullable()
15036
15049
  });
15037
15050
  /**
15038
15051
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15260,6 +15273,21 @@ method(object({
15260
15273
  }), object({ success: literal(true) }), {
15261
15274
  kind: "mutation",
15262
15275
  auth: "admin"
15276
+ }), method(object({
15277
+ agentNodeId: string(),
15278
+ detectWeight: number$1().positive().nullable()
15279
+ }), object({ success: literal(true) }), {
15280
+ kind: "mutation",
15281
+ auth: "admin"
15282
+ }), method(object({
15283
+ agentNodeId: string(),
15284
+ detect: boolean().nullable().optional(),
15285
+ decode: boolean().nullable().optional(),
15286
+ audio: boolean().nullable().optional(),
15287
+ ingest: boolean().nullable().optional()
15288
+ }), object({ success: literal(true) }), {
15289
+ kind: "mutation",
15290
+ auth: "admin"
15263
15291
  }), method(object({ deviceId: number$1() }), CameraPipelineSettingsSchema.nullable()), method(object({
15264
15292
  deviceId: number$1(),
15265
15293
  addonId: string(),
@@ -17568,7 +17596,7 @@ var HardwareEncoderIdSchema = _enum([
17568
17596
  "libx264",
17569
17597
  "libx265"
17570
17598
  ]);
17571
- var HardwareEncodersSchema = object({
17599
+ object({
17572
17600
  encoders: array(object({
17573
17601
  encoder: HardwareEncoderIdSchema,
17574
17602
  codec: _enum(["H264", "H265"]),
@@ -17587,15 +17615,7 @@ var HardwareEncodersSchema = object({
17587
17615
  defaultH265: HardwareEncoderIdSchema,
17588
17616
  probedAt: number$1()
17589
17617
  });
17590
- /**
17591
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17592
- * methods the configured ffmpeg binary actually supports (parsed from
17593
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17594
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17595
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17596
- * software fallback — this only filters out wholly-unsupported backends.
17597
- */
17598
- var HardwareDecodeAccelsSchema = object({
17618
+ object({
17599
17619
  methods: array(string()).readonly(),
17600
17620
  probedAt: number$1()
17601
17621
  });
@@ -17658,13 +17678,7 @@ var ResolvedInferenceConfigSchema = object({
17658
17678
  format: ModelFormatSchema,
17659
17679
  reason: string()
17660
17680
  });
17661
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17662
- kind: "mutation",
17663
- auth: "admin"
17664
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17665
- kind: "mutation",
17666
- auth: "admin"
17667
- });
17681
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17668
17682
  var PtzPresetSchema = object({
17669
17683
  id: string(),
17670
17684
  name: string()
@@ -21133,6 +21147,18 @@ Object.freeze({
21133
21147
  addonId: null,
21134
21148
  access: "create"
21135
21149
  },
21150
+ "pipelineOrchestrator.setAgentCapabilities": {
21151
+ capName: "pipeline-orchestrator",
21152
+ capScope: "system",
21153
+ addonId: null,
21154
+ access: "create"
21155
+ },
21156
+ "pipelineOrchestrator.setAgentDetectWeight": {
21157
+ capName: "pipeline-orchestrator",
21158
+ capScope: "system",
21159
+ addonId: null,
21160
+ access: "create"
21161
+ },
21136
21162
  "pipelineOrchestrator.setAgentMaxCameras": {
21137
21163
  capName: "pipeline-orchestrator",
21138
21164
  capScope: "system",
@@ -21289,30 +21315,6 @@ Object.freeze({
21289
21315
  addonId: null,
21290
21316
  access: "view"
21291
21317
  },
21292
- "platformProbe.getHardwareDecodeAccels": {
21293
- capName: "platform-probe",
21294
- capScope: "system",
21295
- addonId: null,
21296
- access: "view"
21297
- },
21298
- "platformProbe.getHardwareEncoders": {
21299
- capName: "platform-probe",
21300
- capScope: "system",
21301
- addonId: null,
21302
- access: "view"
21303
- },
21304
- "platformProbe.refreshHardwareDecodeAccels": {
21305
- capName: "platform-probe",
21306
- capScope: "system",
21307
- addonId: null,
21308
- access: "create"
21309
- },
21310
- "platformProbe.refreshHardwareEncoders": {
21311
- capName: "platform-probe",
21312
- capScope: "system",
21313
- addonId: null,
21314
- access: "create"
21315
- },
21316
21318
  "platformProbe.resolveHwAccel": {
21317
21319
  capName: "platform-probe",
21318
21320
  capScope: "system",
@@ -14955,7 +14955,17 @@ var AgentAddonConfigSchema = object({
14955
14955
  });
14956
14956
  var AgentPipelineSettingsSchema = object({
14957
14957
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
14958
- maxCameras: number$1().int().nonnegative().nullable().default(null)
14958
+ maxCameras: number$1().int().nonnegative().nullable().default(null),
14959
+ /** Per-node detection weight (relative share for the quota balancer). */
14960
+ detectWeight: number$1().positive().optional(),
14961
+ /** Node is eligible to run the detection pipeline (decode + inference). */
14962
+ detect: boolean().optional(),
14963
+ /** Node is eligible to host decoder sessions. */
14964
+ decode: boolean().optional(),
14965
+ /** Node is eligible to run audio-analyzer sessions. */
14966
+ audio: boolean().optional(),
14967
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
14968
+ ingest: boolean().optional()
14959
14969
  });
14960
14970
  var CameraPipelineForAgentSchema = object({
14961
14971
  steps: array(PipelineStepInputSchema).readonly(),
@@ -15030,7 +15040,10 @@ var AgentLoadSummarySchema = object({
15030
15040
  online: boolean(),
15031
15041
  load: RunnerLocalLoadSchema,
15032
15042
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
15033
- score: number$1()
15043
+ score: number$1(),
15044
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15045
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15046
+ decodeHwaccel: string().nullable()
15034
15047
  });
15035
15048
  /**
15036
15049
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15258,6 +15271,21 @@ method(object({
15258
15271
  }), object({ success: literal(true) }), {
15259
15272
  kind: "mutation",
15260
15273
  auth: "admin"
15274
+ }), method(object({
15275
+ agentNodeId: string(),
15276
+ detectWeight: number$1().positive().nullable()
15277
+ }), object({ success: literal(true) }), {
15278
+ kind: "mutation",
15279
+ auth: "admin"
15280
+ }), method(object({
15281
+ agentNodeId: string(),
15282
+ detect: boolean().nullable().optional(),
15283
+ decode: boolean().nullable().optional(),
15284
+ audio: boolean().nullable().optional(),
15285
+ ingest: boolean().nullable().optional()
15286
+ }), object({ success: literal(true) }), {
15287
+ kind: "mutation",
15288
+ auth: "admin"
15261
15289
  }), method(object({ deviceId: number$1() }), CameraPipelineSettingsSchema.nullable()), method(object({
15262
15290
  deviceId: number$1(),
15263
15291
  addonId: string(),
@@ -17566,7 +17594,7 @@ var HardwareEncoderIdSchema = _enum([
17566
17594
  "libx264",
17567
17595
  "libx265"
17568
17596
  ]);
17569
- var HardwareEncodersSchema = object({
17597
+ object({
17570
17598
  encoders: array(object({
17571
17599
  encoder: HardwareEncoderIdSchema,
17572
17600
  codec: _enum(["H264", "H265"]),
@@ -17585,15 +17613,7 @@ var HardwareEncodersSchema = object({
17585
17613
  defaultH265: HardwareEncoderIdSchema,
17586
17614
  probedAt: number$1()
17587
17615
  });
17588
- /**
17589
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17590
- * methods the configured ffmpeg binary actually supports (parsed from
17591
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17592
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17593
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17594
- * software fallback — this only filters out wholly-unsupported backends.
17595
- */
17596
- var HardwareDecodeAccelsSchema = object({
17616
+ object({
17597
17617
  methods: array(string()).readonly(),
17598
17618
  probedAt: number$1()
17599
17619
  });
@@ -17656,13 +17676,7 @@ var ResolvedInferenceConfigSchema = object({
17656
17676
  format: ModelFormatSchema,
17657
17677
  reason: string()
17658
17678
  });
17659
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17660
- kind: "mutation",
17661
- auth: "admin"
17662
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17663
- kind: "mutation",
17664
- auth: "admin"
17665
- });
17679
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17666
17680
  var PtzPresetSchema = object({
17667
17681
  id: string(),
17668
17682
  name: string()
@@ -21131,6 +21145,18 @@ Object.freeze({
21131
21145
  addonId: null,
21132
21146
  access: "create"
21133
21147
  },
21148
+ "pipelineOrchestrator.setAgentCapabilities": {
21149
+ capName: "pipeline-orchestrator",
21150
+ capScope: "system",
21151
+ addonId: null,
21152
+ access: "create"
21153
+ },
21154
+ "pipelineOrchestrator.setAgentDetectWeight": {
21155
+ capName: "pipeline-orchestrator",
21156
+ capScope: "system",
21157
+ addonId: null,
21158
+ access: "create"
21159
+ },
21134
21160
  "pipelineOrchestrator.setAgentMaxCameras": {
21135
21161
  capName: "pipeline-orchestrator",
21136
21162
  capScope: "system",
@@ -21287,30 +21313,6 @@ Object.freeze({
21287
21313
  addonId: null,
21288
21314
  access: "view"
21289
21315
  },
21290
- "platformProbe.getHardwareDecodeAccels": {
21291
- capName: "platform-probe",
21292
- capScope: "system",
21293
- addonId: null,
21294
- access: "view"
21295
- },
21296
- "platformProbe.getHardwareEncoders": {
21297
- capName: "platform-probe",
21298
- capScope: "system",
21299
- addonId: null,
21300
- access: "view"
21301
- },
21302
- "platformProbe.refreshHardwareDecodeAccels": {
21303
- capName: "platform-probe",
21304
- capScope: "system",
21305
- addonId: null,
21306
- access: "create"
21307
- },
21308
- "platformProbe.refreshHardwareEncoders": {
21309
- capName: "platform-probe",
21310
- capScope: "system",
21311
- addonId: null,
21312
- access: "create"
21313
- },
21314
21316
  "platformProbe.resolveHwAccel": {
21315
21317
  capName: "platform-probe",
21316
21318
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-ha-mqtt",
3
- "version": "1.1.14",
3
+ "version": "1.1.16",
4
4
  "description": "HomeAssistant MQTT discovery exporter for CamStack devices. Publishes discovery topics so HA auto-creates entities for exposed cameras/switches/intercoms/sensors.",
5
5
  "keywords": [
6
6
  "camstack",