@camstack/addon-export-hap 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.
@@ -14996,7 +14996,17 @@ var AgentAddonConfigSchema = object({
14996
14996
  });
14997
14997
  var AgentPipelineSettingsSchema = object({
14998
14998
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
14999
- maxCameras: number().int().nonnegative().nullable().default(null)
14999
+ maxCameras: number().int().nonnegative().nullable().default(null),
15000
+ /** Per-node detection weight (relative share for the quota balancer). */
15001
+ detectWeight: number().positive().optional(),
15002
+ /** Node is eligible to run the detection pipeline (decode + inference). */
15003
+ detect: boolean().optional(),
15004
+ /** Node is eligible to host decoder sessions. */
15005
+ decode: boolean().optional(),
15006
+ /** Node is eligible to run audio-analyzer sessions. */
15007
+ audio: boolean().optional(),
15008
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
15009
+ ingest: boolean().optional()
15000
15010
  });
15001
15011
  var CameraPipelineForAgentSchema = object({
15002
15012
  steps: array(PipelineStepInputSchema).readonly(),
@@ -15071,7 +15081,10 @@ var AgentLoadSummarySchema = object({
15071
15081
  online: boolean(),
15072
15082
  load: RunnerLocalLoadSchema,
15073
15083
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
15074
- score: number()
15084
+ score: number(),
15085
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15086
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15087
+ decodeHwaccel: string().nullable()
15075
15088
  });
15076
15089
  /**
15077
15090
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15299,6 +15312,21 @@ method(object({
15299
15312
  }), object({ success: literal(true) }), {
15300
15313
  kind: "mutation",
15301
15314
  auth: "admin"
15315
+ }), method(object({
15316
+ agentNodeId: string(),
15317
+ detectWeight: number().positive().nullable()
15318
+ }), object({ success: literal(true) }), {
15319
+ kind: "mutation",
15320
+ auth: "admin"
15321
+ }), method(object({
15322
+ agentNodeId: string(),
15323
+ detect: boolean().nullable().optional(),
15324
+ decode: boolean().nullable().optional(),
15325
+ audio: boolean().nullable().optional(),
15326
+ ingest: boolean().nullable().optional()
15327
+ }), object({ success: literal(true) }), {
15328
+ kind: "mutation",
15329
+ auth: "admin"
15302
15330
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
15303
15331
  deviceId: number(),
15304
15332
  addonId: string(),
@@ -17607,7 +17635,7 @@ var HardwareEncoderIdSchema = _enum([
17607
17635
  "libx264",
17608
17636
  "libx265"
17609
17637
  ]);
17610
- var HardwareEncodersSchema = object({
17638
+ object({
17611
17639
  encoders: array(object({
17612
17640
  encoder: HardwareEncoderIdSchema,
17613
17641
  codec: _enum(["H264", "H265"]),
@@ -17626,15 +17654,7 @@ var HardwareEncodersSchema = object({
17626
17654
  defaultH265: HardwareEncoderIdSchema,
17627
17655
  probedAt: number()
17628
17656
  });
17629
- /**
17630
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17631
- * methods the configured ffmpeg binary actually supports (parsed from
17632
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17633
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17634
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17635
- * software fallback — this only filters out wholly-unsupported backends.
17636
- */
17637
- var HardwareDecodeAccelsSchema = object({
17657
+ object({
17638
17658
  methods: array(string()).readonly(),
17639
17659
  probedAt: number()
17640
17660
  });
@@ -17697,13 +17717,7 @@ var ResolvedInferenceConfigSchema = object({
17697
17717
  format: ModelFormatSchema,
17698
17718
  reason: string()
17699
17719
  });
17700
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17701
- kind: "mutation",
17702
- auth: "admin"
17703
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17704
- kind: "mutation",
17705
- auth: "admin"
17706
- });
17720
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17707
17721
  var PtzPresetSchema = object({
17708
17722
  id: string(),
17709
17723
  name: string()
@@ -21172,6 +21186,18 @@ Object.freeze({
21172
21186
  addonId: null,
21173
21187
  access: "create"
21174
21188
  },
21189
+ "pipelineOrchestrator.setAgentCapabilities": {
21190
+ capName: "pipeline-orchestrator",
21191
+ capScope: "system",
21192
+ addonId: null,
21193
+ access: "create"
21194
+ },
21195
+ "pipelineOrchestrator.setAgentDetectWeight": {
21196
+ capName: "pipeline-orchestrator",
21197
+ capScope: "system",
21198
+ addonId: null,
21199
+ access: "create"
21200
+ },
21175
21201
  "pipelineOrchestrator.setAgentMaxCameras": {
21176
21202
  capName: "pipeline-orchestrator",
21177
21203
  capScope: "system",
@@ -21328,30 +21354,6 @@ Object.freeze({
21328
21354
  addonId: null,
21329
21355
  access: "view"
21330
21356
  },
21331
- "platformProbe.getHardwareDecodeAccels": {
21332
- capName: "platform-probe",
21333
- capScope: "system",
21334
- addonId: null,
21335
- access: "view"
21336
- },
21337
- "platformProbe.getHardwareEncoders": {
21338
- capName: "platform-probe",
21339
- capScope: "system",
21340
- addonId: null,
21341
- access: "view"
21342
- },
21343
- "platformProbe.refreshHardwareDecodeAccels": {
21344
- capName: "platform-probe",
21345
- capScope: "system",
21346
- addonId: null,
21347
- access: "create"
21348
- },
21349
- "platformProbe.refreshHardwareEncoders": {
21350
- capName: "platform-probe",
21351
- capScope: "system",
21352
- addonId: null,
21353
- access: "create"
21354
- },
21355
21357
  "platformProbe.resolveHwAccel": {
21356
21358
  capName: "platform-probe",
21357
21359
  capScope: "system",
@@ -14971,7 +14971,17 @@ var AgentAddonConfigSchema = object({
14971
14971
  });
14972
14972
  var AgentPipelineSettingsSchema = object({
14973
14973
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
14974
- maxCameras: number().int().nonnegative().nullable().default(null)
14974
+ maxCameras: number().int().nonnegative().nullable().default(null),
14975
+ /** Per-node detection weight (relative share for the quota balancer). */
14976
+ detectWeight: number().positive().optional(),
14977
+ /** Node is eligible to run the detection pipeline (decode + inference). */
14978
+ detect: boolean().optional(),
14979
+ /** Node is eligible to host decoder sessions. */
14980
+ decode: boolean().optional(),
14981
+ /** Node is eligible to run audio-analyzer sessions. */
14982
+ audio: boolean().optional(),
14983
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
14984
+ ingest: boolean().optional()
14975
14985
  });
14976
14986
  var CameraPipelineForAgentSchema = object({
14977
14987
  steps: array(PipelineStepInputSchema).readonly(),
@@ -15046,7 +15056,10 @@ var AgentLoadSummarySchema = object({
15046
15056
  online: boolean(),
15047
15057
  load: RunnerLocalLoadSchema,
15048
15058
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
15049
- score: number()
15059
+ score: number(),
15060
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15061
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15062
+ decodeHwaccel: string().nullable()
15050
15063
  });
15051
15064
  /**
15052
15065
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15274,6 +15287,21 @@ method(object({
15274
15287
  }), object({ success: literal(true) }), {
15275
15288
  kind: "mutation",
15276
15289
  auth: "admin"
15290
+ }), method(object({
15291
+ agentNodeId: string(),
15292
+ detectWeight: number().positive().nullable()
15293
+ }), object({ success: literal(true) }), {
15294
+ kind: "mutation",
15295
+ auth: "admin"
15296
+ }), method(object({
15297
+ agentNodeId: string(),
15298
+ detect: boolean().nullable().optional(),
15299
+ decode: boolean().nullable().optional(),
15300
+ audio: boolean().nullable().optional(),
15301
+ ingest: boolean().nullable().optional()
15302
+ }), object({ success: literal(true) }), {
15303
+ kind: "mutation",
15304
+ auth: "admin"
15277
15305
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
15278
15306
  deviceId: number(),
15279
15307
  addonId: string(),
@@ -17582,7 +17610,7 @@ var HardwareEncoderIdSchema = _enum([
17582
17610
  "libx264",
17583
17611
  "libx265"
17584
17612
  ]);
17585
- var HardwareEncodersSchema = object({
17613
+ object({
17586
17614
  encoders: array(object({
17587
17615
  encoder: HardwareEncoderIdSchema,
17588
17616
  codec: _enum(["H264", "H265"]),
@@ -17601,15 +17629,7 @@ var HardwareEncodersSchema = object({
17601
17629
  defaultH265: HardwareEncoderIdSchema,
17602
17630
  probedAt: number()
17603
17631
  });
17604
- /**
17605
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17606
- * methods the configured ffmpeg binary actually supports (parsed from
17607
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17608
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17609
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17610
- * software fallback — this only filters out wholly-unsupported backends.
17611
- */
17612
- var HardwareDecodeAccelsSchema = object({
17632
+ object({
17613
17633
  methods: array(string()).readonly(),
17614
17634
  probedAt: number()
17615
17635
  });
@@ -17672,13 +17692,7 @@ var ResolvedInferenceConfigSchema = object({
17672
17692
  format: ModelFormatSchema,
17673
17693
  reason: string()
17674
17694
  });
17675
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17676
- kind: "mutation",
17677
- auth: "admin"
17678
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17679
- kind: "mutation",
17680
- auth: "admin"
17681
- });
17695
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17682
17696
  var PtzPresetSchema = object({
17683
17697
  id: string(),
17684
17698
  name: string()
@@ -21147,6 +21161,18 @@ Object.freeze({
21147
21161
  addonId: null,
21148
21162
  access: "create"
21149
21163
  },
21164
+ "pipelineOrchestrator.setAgentCapabilities": {
21165
+ capName: "pipeline-orchestrator",
21166
+ capScope: "system",
21167
+ addonId: null,
21168
+ access: "create"
21169
+ },
21170
+ "pipelineOrchestrator.setAgentDetectWeight": {
21171
+ capName: "pipeline-orchestrator",
21172
+ capScope: "system",
21173
+ addonId: null,
21174
+ access: "create"
21175
+ },
21150
21176
  "pipelineOrchestrator.setAgentMaxCameras": {
21151
21177
  capName: "pipeline-orchestrator",
21152
21178
  capScope: "system",
@@ -21303,30 +21329,6 @@ Object.freeze({
21303
21329
  addonId: null,
21304
21330
  access: "view"
21305
21331
  },
21306
- "platformProbe.getHardwareDecodeAccels": {
21307
- capName: "platform-probe",
21308
- capScope: "system",
21309
- addonId: null,
21310
- access: "view"
21311
- },
21312
- "platformProbe.getHardwareEncoders": {
21313
- capName: "platform-probe",
21314
- capScope: "system",
21315
- addonId: null,
21316
- access: "view"
21317
- },
21318
- "platformProbe.refreshHardwareDecodeAccels": {
21319
- capName: "platform-probe",
21320
- capScope: "system",
21321
- addonId: null,
21322
- access: "create"
21323
- },
21324
- "platformProbe.refreshHardwareEncoders": {
21325
- capName: "platform-probe",
21326
- capScope: "system",
21327
- addonId: null,
21328
- access: "create"
21329
- },
21330
21332
  "platformProbe.resolveHwAccel": {
21331
21333
  capName: "platform-probe",
21332
21334
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-hap",
3
- "version": "1.1.14",
3
+ "version": "1.1.16",
4
4
  "description": "HomeKit (HAP) bridge exporter for CamStack devices. Publishes a bridged accessory per exposed device — MotionSensor in this MVP; Camera/Doorbell/Switch/Light follow.",
5
5
  "keywords": [
6
6
  "camstack",