@camstack/addon-advanced-notifier 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
@@ -14925,7 +14925,17 @@ var AgentAddonConfigSchema = object({
14925
14925
  });
14926
14926
  var AgentPipelineSettingsSchema = object({
14927
14927
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
14928
- maxCameras: number().int().nonnegative().nullable().default(null)
14928
+ maxCameras: number().int().nonnegative().nullable().default(null),
14929
+ /** Per-node detection weight (relative share for the quota balancer). */
14930
+ detectWeight: number().positive().optional(),
14931
+ /** Node is eligible to run the detection pipeline (decode + inference). */
14932
+ detect: boolean().optional(),
14933
+ /** Node is eligible to host decoder sessions. */
14934
+ decode: boolean().optional(),
14935
+ /** Node is eligible to run audio-analyzer sessions. */
14936
+ audio: boolean().optional(),
14937
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
14938
+ ingest: boolean().optional()
14929
14939
  });
14930
14940
  var CameraPipelineForAgentSchema = object({
14931
14941
  steps: array(PipelineStepInputSchema).readonly(),
@@ -15000,7 +15010,10 @@ var AgentLoadSummarySchema = object({
15000
15010
  online: boolean(),
15001
15011
  load: RunnerLocalLoadSchema,
15002
15012
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
15003
- score: number()
15013
+ score: number(),
15014
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15015
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15016
+ decodeHwaccel: string().nullable()
15004
15017
  });
15005
15018
  /**
15006
15019
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15228,6 +15241,21 @@ method(object({
15228
15241
  }), object({ success: literal(true) }), {
15229
15242
  kind: "mutation",
15230
15243
  auth: "admin"
15244
+ }), method(object({
15245
+ agentNodeId: string(),
15246
+ detectWeight: number().positive().nullable()
15247
+ }), object({ success: literal(true) }), {
15248
+ kind: "mutation",
15249
+ auth: "admin"
15250
+ }), method(object({
15251
+ agentNodeId: string(),
15252
+ detect: boolean().nullable().optional(),
15253
+ decode: boolean().nullable().optional(),
15254
+ audio: boolean().nullable().optional(),
15255
+ ingest: boolean().nullable().optional()
15256
+ }), object({ success: literal(true) }), {
15257
+ kind: "mutation",
15258
+ auth: "admin"
15231
15259
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
15232
15260
  deviceId: number(),
15233
15261
  addonId: string(),
@@ -17536,7 +17564,7 @@ var HardwareEncoderIdSchema = _enum([
17536
17564
  "libx264",
17537
17565
  "libx265"
17538
17566
  ]);
17539
- var HardwareEncodersSchema = object({
17567
+ object({
17540
17568
  encoders: array(object({
17541
17569
  encoder: HardwareEncoderIdSchema,
17542
17570
  codec: _enum(["H264", "H265"]),
@@ -17555,15 +17583,7 @@ var HardwareEncodersSchema = object({
17555
17583
  defaultH265: HardwareEncoderIdSchema,
17556
17584
  probedAt: number()
17557
17585
  });
17558
- /**
17559
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17560
- * methods the configured ffmpeg binary actually supports (parsed from
17561
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17562
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17563
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17564
- * software fallback — this only filters out wholly-unsupported backends.
17565
- */
17566
- var HardwareDecodeAccelsSchema = object({
17586
+ object({
17567
17587
  methods: array(string()).readonly(),
17568
17588
  probedAt: number()
17569
17589
  });
@@ -17626,13 +17646,7 @@ var ResolvedInferenceConfigSchema = object({
17626
17646
  format: ModelFormatSchema,
17627
17647
  reason: string()
17628
17648
  });
17629
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17630
- kind: "mutation",
17631
- auth: "admin"
17632
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17633
- kind: "mutation",
17634
- auth: "admin"
17635
- });
17649
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17636
17650
  var PtzPresetSchema = object({
17637
17651
  id: string(),
17638
17652
  name: string()
@@ -21101,6 +21115,18 @@ Object.freeze({
21101
21115
  addonId: null,
21102
21116
  access: "create"
21103
21117
  },
21118
+ "pipelineOrchestrator.setAgentCapabilities": {
21119
+ capName: "pipeline-orchestrator",
21120
+ capScope: "system",
21121
+ addonId: null,
21122
+ access: "create"
21123
+ },
21124
+ "pipelineOrchestrator.setAgentDetectWeight": {
21125
+ capName: "pipeline-orchestrator",
21126
+ capScope: "system",
21127
+ addonId: null,
21128
+ access: "create"
21129
+ },
21104
21130
  "pipelineOrchestrator.setAgentMaxCameras": {
21105
21131
  capName: "pipeline-orchestrator",
21106
21132
  capScope: "system",
@@ -21257,30 +21283,6 @@ Object.freeze({
21257
21283
  addonId: null,
21258
21284
  access: "view"
21259
21285
  },
21260
- "platformProbe.getHardwareDecodeAccels": {
21261
- capName: "platform-probe",
21262
- capScope: "system",
21263
- addonId: null,
21264
- access: "view"
21265
- },
21266
- "platformProbe.getHardwareEncoders": {
21267
- capName: "platform-probe",
21268
- capScope: "system",
21269
- addonId: null,
21270
- access: "view"
21271
- },
21272
- "platformProbe.refreshHardwareDecodeAccels": {
21273
- capName: "platform-probe",
21274
- capScope: "system",
21275
- addonId: null,
21276
- access: "create"
21277
- },
21278
- "platformProbe.refreshHardwareEncoders": {
21279
- capName: "platform-probe",
21280
- capScope: "system",
21281
- addonId: null,
21282
- access: "create"
21283
- },
21284
21286
  "platformProbe.resolveHwAccel": {
21285
21287
  capName: "platform-probe",
21286
21288
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -14921,7 +14921,17 @@ var AgentAddonConfigSchema = object({
14921
14921
  });
14922
14922
  var AgentPipelineSettingsSchema = object({
14923
14923
  addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
14924
- maxCameras: number().int().nonnegative().nullable().default(null)
14924
+ maxCameras: number().int().nonnegative().nullable().default(null),
14925
+ /** Per-node detection weight (relative share for the quota balancer). */
14926
+ detectWeight: number().positive().optional(),
14927
+ /** Node is eligible to run the detection pipeline (decode + inference). */
14928
+ detect: boolean().optional(),
14929
+ /** Node is eligible to host decoder sessions. */
14930
+ decode: boolean().optional(),
14931
+ /** Node is eligible to run audio-analyzer sessions. */
14932
+ audio: boolean().optional(),
14933
+ /** Node is eligible to be the ingest / source-owner (serve the restream). */
14934
+ ingest: boolean().optional()
14925
14935
  });
14926
14936
  var CameraPipelineForAgentSchema = object({
14927
14937
  steps: array(PipelineStepInputSchema).readonly(),
@@ -14996,7 +15006,10 @@ var AgentLoadSummarySchema = object({
14996
15006
  online: boolean(),
14997
15007
  load: RunnerLocalLoadSchema,
14998
15008
  /** Computed score used by the L2 capacity balancer (lower = less loaded). */
14999
- score: number()
15009
+ score: number(),
15010
+ /** This node's decode hwaccel backend (per-node `probedBestHwaccel`), or null
15011
+ * when not yet probed — for the cluster Pipeline table UI (P0.2). */
15012
+ decodeHwaccel: string().nullable()
15000
15013
  });
15001
15014
  /**
15002
15015
  * Aggregate metrics across the whole detection cluster. Replaces the legacy
@@ -15224,6 +15237,21 @@ method(object({
15224
15237
  }), object({ success: literal(true) }), {
15225
15238
  kind: "mutation",
15226
15239
  auth: "admin"
15240
+ }), method(object({
15241
+ agentNodeId: string(),
15242
+ detectWeight: number().positive().nullable()
15243
+ }), object({ success: literal(true) }), {
15244
+ kind: "mutation",
15245
+ auth: "admin"
15246
+ }), method(object({
15247
+ agentNodeId: string(),
15248
+ detect: boolean().nullable().optional(),
15249
+ decode: boolean().nullable().optional(),
15250
+ audio: boolean().nullable().optional(),
15251
+ ingest: boolean().nullable().optional()
15252
+ }), object({ success: literal(true) }), {
15253
+ kind: "mutation",
15254
+ auth: "admin"
15227
15255
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
15228
15256
  deviceId: number(),
15229
15257
  addonId: string(),
@@ -17532,7 +17560,7 @@ var HardwareEncoderIdSchema = _enum([
17532
17560
  "libx264",
17533
17561
  "libx265"
17534
17562
  ]);
17535
- var HardwareEncodersSchema = object({
17563
+ object({
17536
17564
  encoders: array(object({
17537
17565
  encoder: HardwareEncoderIdSchema,
17538
17566
  codec: _enum(["H264", "H265"]),
@@ -17551,15 +17579,7 @@ var HardwareEncodersSchema = object({
17551
17579
  defaultH265: HardwareEncoderIdSchema,
17552
17580
  probedAt: number()
17553
17581
  });
17554
- /**
17555
- * Decode-side companion to {@link HardwareEncodersSchema}: the `-hwaccel`
17556
- * methods the configured ffmpeg binary actually supports (parsed from
17557
- * `ffmpeg -hwaccels`). Used to gate decode-hwaccel attempts so the transcode
17558
- * egress never spends a spawn on a backend this build cannot offer. Per-stream
17559
- * decode fragility (e.g. VideoToolbox HEVC) is still handled by the egress's
17560
- * software fallback — this only filters out wholly-unsupported backends.
17561
- */
17562
- var HardwareDecodeAccelsSchema = object({
17582
+ object({
17563
17583
  methods: array(string()).readonly(),
17564
17584
  probedAt: number()
17565
17585
  });
@@ -17622,13 +17642,7 @@ var ResolvedInferenceConfigSchema = object({
17622
17642
  format: ModelFormatSchema,
17623
17643
  reason: string()
17624
17644
  });
17625
- method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema), method(_void(), HardwareEncodersSchema), method(_void(), HardwareEncodersSchema, {
17626
- kind: "mutation",
17627
- auth: "admin"
17628
- }), method(_void(), HardwareDecodeAccelsSchema), method(_void(), HardwareDecodeAccelsSchema, {
17629
- kind: "mutation",
17630
- auth: "admin"
17631
- });
17645
+ method(_void(), PlatformCapabilitiesSchema), method(_void(), HardwareInfoSchema), method(object({ requirements: array(ModelRequirementSchema).readonly() }), ResolvedInferenceConfigSchema), method(object({ prefer: HwAccelBackendInputSchema }), HwAccelResolutionSchema);
17632
17646
  var PtzPresetSchema = object({
17633
17647
  id: string(),
17634
17648
  name: string()
@@ -21097,6 +21111,18 @@ Object.freeze({
21097
21111
  addonId: null,
21098
21112
  access: "create"
21099
21113
  },
21114
+ "pipelineOrchestrator.setAgentCapabilities": {
21115
+ capName: "pipeline-orchestrator",
21116
+ capScope: "system",
21117
+ addonId: null,
21118
+ access: "create"
21119
+ },
21120
+ "pipelineOrchestrator.setAgentDetectWeight": {
21121
+ capName: "pipeline-orchestrator",
21122
+ capScope: "system",
21123
+ addonId: null,
21124
+ access: "create"
21125
+ },
21100
21126
  "pipelineOrchestrator.setAgentMaxCameras": {
21101
21127
  capName: "pipeline-orchestrator",
21102
21128
  capScope: "system",
@@ -21253,30 +21279,6 @@ Object.freeze({
21253
21279
  addonId: null,
21254
21280
  access: "view"
21255
21281
  },
21256
- "platformProbe.getHardwareDecodeAccels": {
21257
- capName: "platform-probe",
21258
- capScope: "system",
21259
- addonId: null,
21260
- access: "view"
21261
- },
21262
- "platformProbe.getHardwareEncoders": {
21263
- capName: "platform-probe",
21264
- capScope: "system",
21265
- addonId: null,
21266
- access: "view"
21267
- },
21268
- "platformProbe.refreshHardwareDecodeAccels": {
21269
- capName: "platform-probe",
21270
- capScope: "system",
21271
- addonId: null,
21272
- access: "create"
21273
- },
21274
- "platformProbe.refreshHardwareEncoders": {
21275
- capName: "platform-probe",
21276
- capScope: "system",
21277
- addonId: null,
21278
- access: "create"
21279
- },
21280
21282
  "platformProbe.resolveHwAccel": {
21281
21283
  capName: "platform-probe",
21282
21284
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-advanced-notifier",
3
- "version": "1.1.16",
3
+ "version": "1.1.18",
4
4
  "description": "Rules-based notification engine for CamStack",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",