@camstack/addon-notifiers 1.1.16 → 1.1.18

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
@@ -15091,7 +15091,17 @@ var AgentAddonConfigSchema = object({
15091
15091
  });
15092
15092
  var AgentPipelineSettingsSchema = object({
15093
15093
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
15094
- maxCameras: number().int().nonnegative().nullable().default(null)
15094
+ maxCameras: number().int().nonnegative().nullable().default(null),
15095
+ /** Per-node detection weight (relative share for the quota balancer). */
15096
+ detectWeight: number().positive().optional(),
15097
+ /** Node is eligible to run the detection pipeline (decode + inference). */
15098
+ detect: boolean().optional(),
15099
+ /** Node is eligible to host decoder sessions. */
15100
+ decode: boolean().optional(),
15101
+ /** Node is eligible to run audio-analyzer sessions. */
15102
+ audio: boolean().optional(),
15103
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
15104
+ ingest: boolean().optional()
15095
15105
  });
15096
15106
  var CameraPipelineForAgentSchema = object({
15097
15107
  steps: array(PipelineStepInputSchema).readonly(),
@@ -15166,7 +15176,10 @@ var AgentLoadSummarySchema = object({
15166
15176
  online: boolean(),
15167
15177
  load: RunnerLocalLoadSchema,
15168
15178
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
15169
- score: number()
15179
+ score: number(),
15180
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15181
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15182
+ decodeHwaccel: string().nullable()
15170
15183
  });
15171
15184
  /**
15172
15185
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15394,6 +15407,21 @@ method(object({
15394
15407
  }), object({ success: literal(true) }), {
15395
15408
  kind: "mutation",
15396
15409
  auth: "admin"
15410
+ }), method(object({
15411
+ agentNodeId: string(),
15412
+ detectWeight: number().positive().nullable()
15413
+ }), object({ success: literal(true) }), {
15414
+ kind: "mutation",
15415
+ auth: "admin"
15416
+ }), method(object({
15417
+ agentNodeId: string(),
15418
+ detect: boolean().nullable().optional(),
15419
+ decode: boolean().nullable().optional(),
15420
+ audio: boolean().nullable().optional(),
15421
+ ingest: boolean().nullable().optional()
15422
+ }), object({ success: literal(true) }), {
15423
+ kind: "mutation",
15424
+ auth: "admin"
15397
15425
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
15398
15426
  deviceId: number(),
15399
15427
  addonId: string(),
@@ -17702,7 +17730,7 @@ var HardwareEncoderIdSchema = _enum([
17702
17730
  "libx264",
17703
17731
  "libx265"
17704
17732
  ]);
17705
- var HardwareEncodersSchema = object({
17733
+ object({
17706
17734
  encoders: array(object({
17707
17735
  encoder: HardwareEncoderIdSchema,
17708
17736
  codec: _enum(["H264", "H265"]),
@@ -17721,15 +17749,7 @@ var HardwareEncodersSchema = object({
17721
17749
  defaultH265: HardwareEncoderIdSchema,
17722
17750
  probedAt: number()
17723
17751
  });
17724
- /**
17725
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17726
- * methods the configured ffmpeg binary actually supports (parsed from
17727
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17728
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17729
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17730
- * software fallback — this only filters out wholly-unsupported backends.
17731
- */
17732
- var HardwareDecodeAccelsSchema = object({
17752
+ object({
17733
17753
  methods: array(string()).readonly(),
17734
17754
  probedAt: number()
17735
17755
  });
@@ -17792,13 +17812,7 @@ var ResolvedInferenceConfigSchema = object({
17792
17812
  format: ModelFormatSchema,
17793
17813
  reason: string()
17794
17814
  });
17795
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17796
- kind: "mutation",
17797
- auth: "admin"
17798
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17799
- kind: "mutation",
17800
- auth: "admin"
17801
- });
17815
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17802
17816
  var PtzPresetSchema = object({
17803
17817
  id: string(),
17804
17818
  name: string()
@@ -21267,6 +21281,18 @@ Object.freeze({
21267
21281
  addonId: null,
21268
21282
  access: "create"
21269
21283
  },
21284
+ "pipelineOrchestrator.setAgentCapabilities": {
21285
+ capName: "pipeline-orchestrator",
21286
+ capScope: "system",
21287
+ addonId: null,
21288
+ access: "create"
21289
+ },
21290
+ "pipelineOrchestrator.setAgentDetectWeight": {
21291
+ capName: "pipeline-orchestrator",
21292
+ capScope: "system",
21293
+ addonId: null,
21294
+ access: "create"
21295
+ },
21270
21296
  "pipelineOrchestrator.setAgentMaxCameras": {
21271
21297
  capName: "pipeline-orchestrator",
21272
21298
  capScope: "system",
@@ -21423,30 +21449,6 @@ Object.freeze({
21423
21449
  addonId: null,
21424
21450
  access: "view"
21425
21451
  },
21426
- "platformProbe.getHardwareDecodeAccels": {
21427
- capName: "platform-probe",
21428
- capScope: "system",
21429
- addonId: null,
21430
- access: "view"
21431
- },
21432
- "platformProbe.getHardwareEncoders": {
21433
- capName: "platform-probe",
21434
- capScope: "system",
21435
- addonId: null,
21436
- access: "view"
21437
- },
21438
- "platformProbe.refreshHardwareDecodeAccels": {
21439
- capName: "platform-probe",
21440
- capScope: "system",
21441
- addonId: null,
21442
- access: "create"
21443
- },
21444
- "platformProbe.refreshHardwareEncoders": {
21445
- capName: "platform-probe",
21446
- capScope: "system",
21447
- addonId: null,
21448
- access: "create"
21449
- },
21450
21452
  "platformProbe.resolveHwAccel": {
21451
21453
  capName: "platform-probe",
21452
21454
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -15087,7 +15087,17 @@ var AgentAddonConfigSchema = object({
15087
15087
  });
15088
15088
  var AgentPipelineSettingsSchema = object({
15089
15089
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
15090
- maxCameras: number().int().nonnegative().nullable().default(null)
15090
+ maxCameras: number().int().nonnegative().nullable().default(null),
15091
+ /** Per-node detection weight (relative share for the quota balancer). */
15092
+ detectWeight: number().positive().optional(),
15093
+ /** Node is eligible to run the detection pipeline (decode + inference). */
15094
+ detect: boolean().optional(),
15095
+ /** Node is eligible to host decoder sessions. */
15096
+ decode: boolean().optional(),
15097
+ /** Node is eligible to run audio-analyzer sessions. */
15098
+ audio: boolean().optional(),
15099
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
15100
+ ingest: boolean().optional()
15091
15101
  });
15092
15102
  var CameraPipelineForAgentSchema = object({
15093
15103
  steps: array(PipelineStepInputSchema).readonly(),
@@ -15162,7 +15172,10 @@ var AgentLoadSummarySchema = object({
15162
15172
  online: boolean(),
15163
15173
  load: RunnerLocalLoadSchema,
15164
15174
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
15165
- score: number()
15175
+ score: number(),
15176
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15177
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15178
+ decodeHwaccel: string().nullable()
15166
15179
  });
15167
15180
  /**
15168
15181
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15390,6 +15403,21 @@ method(object({
15390
15403
  }), object({ success: literal(true) }), {
15391
15404
  kind: "mutation",
15392
15405
  auth: "admin"
15406
+ }), method(object({
15407
+ agentNodeId: string(),
15408
+ detectWeight: number().positive().nullable()
15409
+ }), object({ success: literal(true) }), {
15410
+ kind: "mutation",
15411
+ auth: "admin"
15412
+ }), method(object({
15413
+ agentNodeId: string(),
15414
+ detect: boolean().nullable().optional(),
15415
+ decode: boolean().nullable().optional(),
15416
+ audio: boolean().nullable().optional(),
15417
+ ingest: boolean().nullable().optional()
15418
+ }), object({ success: literal(true) }), {
15419
+ kind: "mutation",
15420
+ auth: "admin"
15393
15421
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
15394
15422
  deviceId: number(),
15395
15423
  addonId: string(),
@@ -17698,7 +17726,7 @@ var HardwareEncoderIdSchema = _enum([
17698
17726
  "libx264",
17699
17727
  "libx265"
17700
17728
  ]);
17701
- var HardwareEncodersSchema = object({
17729
+ object({
17702
17730
  encoders: array(object({
17703
17731
  encoder: HardwareEncoderIdSchema,
17704
17732
  codec: _enum(["H264", "H265"]),
@@ -17717,15 +17745,7 @@ var HardwareEncodersSchema = object({
17717
17745
  defaultH265: HardwareEncoderIdSchema,
17718
17746
  probedAt: number()
17719
17747
  });
17720
- /**
17721
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17722
- * methods the configured ffmpeg binary actually supports (parsed from
17723
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17724
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17725
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17726
- * software fallback — this only filters out wholly-unsupported backends.
17727
- */
17728
- var HardwareDecodeAccelsSchema = object({
17748
+ object({
17729
17749
  methods: array(string()).readonly(),
17730
17750
  probedAt: number()
17731
17751
  });
@@ -17788,13 +17808,7 @@ var ResolvedInferenceConfigSchema = object({
17788
17808
  format: ModelFormatSchema,
17789
17809
  reason: string()
17790
17810
  });
17791
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17792
- kind: "mutation",
17793
- auth: "admin"
17794
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17795
- kind: "mutation",
17796
- auth: "admin"
17797
- });
17811
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17798
17812
  var PtzPresetSchema = object({
17799
17813
  id: string(),
17800
17814
  name: string()
@@ -21263,6 +21277,18 @@ Object.freeze({
21263
21277
  addonId: null,
21264
21278
  access: "create"
21265
21279
  },
21280
+ "pipelineOrchestrator.setAgentCapabilities": {
21281
+ capName: "pipeline-orchestrator",
21282
+ capScope: "system",
21283
+ addonId: null,
21284
+ access: "create"
21285
+ },
21286
+ "pipelineOrchestrator.setAgentDetectWeight": {
21287
+ capName: "pipeline-orchestrator",
21288
+ capScope: "system",
21289
+ addonId: null,
21290
+ access: "create"
21291
+ },
21266
21292
  "pipelineOrchestrator.setAgentMaxCameras": {
21267
21293
  capName: "pipeline-orchestrator",
21268
21294
  capScope: "system",
@@ -21419,30 +21445,6 @@ Object.freeze({
21419
21445
  addonId: null,
21420
21446
  access: "view"
21421
21447
  },
21422
- "platformProbe.getHardwareDecodeAccels": {
21423
- capName: "platform-probe",
21424
- capScope: "system",
21425
- addonId: null,
21426
- access: "view"
21427
- },
21428
- "platformProbe.getHardwareEncoders": {
21429
- capName: "platform-probe",
21430
- capScope: "system",
21431
- addonId: null,
21432
- access: "view"
21433
- },
21434
- "platformProbe.refreshHardwareDecodeAccels": {
21435
- capName: "platform-probe",
21436
- capScope: "system",
21437
- addonId: null,
21438
- access: "create"
21439
- },
21440
- "platformProbe.refreshHardwareEncoders": {
21441
- capName: "platform-probe",
21442
- capScope: "system",
21443
- addonId: null,
21444
- access: "create"
21445
- },
21446
21448
  "platformProbe.resolveHwAccel": {
21447
21449
  capName: "platform-probe",
21448
21450
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-notifiers",
3
- "version": "1.1.16",
3
+ "version": "1.1.18",
4
4
  "description": "System notifiers addon for CamStack — a `notification-output` collection provider hosting per-kind notifier adapters (ntfy, pushover, gotify, telegram, discord, webhook, zentik).",
5
5
  "keywords": [
6
6
  "camstack",