@camstack/addon-notifiers 1.2.71 → 1.2.73

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
@@ -19209,6 +19209,33 @@ var RecentTracksQueryInput = object({
19209
19209
  */
19210
19210
  classes: array(string()).optional()
19211
19211
  });
19212
+ /**
19213
+ * A Summary (D359): the per-camera session envelope that references tracks.
19214
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19215
+ * served by the event-media plane by key), null until the first frame with a
19216
+ * member visible has been materialised.
19217
+ */
19218
+ var SummarySchema = object({
19219
+ id: string(),
19220
+ deviceId: number(),
19221
+ openedAt: number(),
19222
+ lastActiveAt: number(),
19223
+ sealedAt: number().nullable(),
19224
+ memberCount: number().int().nonnegative(),
19225
+ groupShotKey: string().nullable()
19226
+ });
19227
+ var SummariesQueryInput = object({
19228
+ deviceIds: array(number()).min(1),
19229
+ since: number().optional(),
19230
+ until: number().optional(),
19231
+ limit: number().int().min(1).max(200).default(50)
19232
+ });
19233
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19234
+ var SummaryDetailSchema = object({
19235
+ summary: SummarySchema,
19236
+ /** Member track ids, in absorption order. */
19237
+ trackIds: array(string()).readonly()
19238
+ });
19212
19239
  var RecentTracksPageSchema = object({
19213
19240
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19214
19241
  tracks: array(TrackSchema).readonly(),
@@ -19609,7 +19636,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19609
19636
  * timeline would read as a camera that saw nothing.
19610
19637
  */
19611
19638
  classes: array(string()).optional()
19612
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19639
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19613
19640
  kind: "mutation",
19614
19641
  auth: "admin"
19615
19642
  }), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
@@ -20544,6 +20571,14 @@ var AgentPipelineSettingsSchema = object({
20544
20571
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20545
20572
  ingest: boolean().optional(),
20546
20573
  /**
20574
+ * This node's decode RAM budget, MB. Wins over the cluster
20575
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20576
+ * own RAM unless the operator moved the cluster value (D365).
20577
+ */
20578
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20579
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20580
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20581
+ /**
20547
20582
  * Operator override for the LAN host a cross-node decoder dials to reach
20548
20583
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20549
20584
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21005,6 +21040,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21005
21040
  }), object({ success: literal(true) }), {
21006
21041
  kind: "mutation",
21007
21042
  auth: "admin"
21043
+ }), method(object({
21044
+ agentNodeId: string(),
21045
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21046
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21047
+ }), object({ success: literal(true) }), {
21048
+ kind: "mutation",
21049
+ auth: "admin"
21008
21050
  }), method(object({
21009
21051
  agentNodeId: string(),
21010
21052
  reachableHost: string().nullable()
@@ -32549,6 +32591,12 @@ Object.freeze({
32549
32591
  addonId: null,
32550
32592
  access: "view"
32551
32593
  },
32594
+ "pipelineAnalytics.getSummary": {
32595
+ capName: "pipeline-analytics",
32596
+ capScope: "device",
32597
+ addonId: null,
32598
+ access: "view"
32599
+ },
32552
32600
  "pipelineAnalytics.getTrack": {
32553
32601
  capName: "pipeline-analytics",
32554
32602
  capScope: "device",
@@ -32627,6 +32675,12 @@ Object.freeze({
32627
32675
  addonId: null,
32628
32676
  access: "view"
32629
32677
  },
32678
+ "pipelineAnalytics.listSummaries": {
32679
+ capName: "pipeline-analytics",
32680
+ capScope: "device",
32681
+ addonId: null,
32682
+ access: "view"
32683
+ },
32630
32684
  "pipelineAnalytics.listTrackMedia": {
32631
32685
  capName: "pipeline-analytics",
32632
32686
  capScope: "device",
@@ -33185,6 +33239,12 @@ Object.freeze({
33185
33239
  addonId: null,
33186
33240
  access: "create"
33187
33241
  },
33242
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33243
+ capName: "pipeline-orchestrator",
33244
+ capScope: "system",
33245
+ addonId: null,
33246
+ access: "create"
33247
+ },
33188
33248
  "pipelineOrchestrator.setAgentDetectWeight": {
33189
33249
  capName: "pipeline-orchestrator",
33190
33250
  capScope: "system",
@@ -36316,6 +36376,11 @@ Object.freeze({
36316
36376
  form: "array",
36317
36377
  optional: true
36318
36378
  }],
36379
+ "pipelineAnalytics.listSummaries": [{
36380
+ name: "deviceIds",
36381
+ form: "array",
36382
+ optional: false
36383
+ }],
36319
36384
  "pipelineAnalytics.listTrackMedia": [{
36320
36385
  name: "deviceId",
36321
36386
  form: "single",
package/dist/addon.mjs CHANGED
@@ -19182,6 +19182,33 @@ var RecentTracksQueryInput = object({
19182
19182
  */
19183
19183
  classes: array(string()).optional()
19184
19184
  });
19185
+ /**
19186
+ * A Summary (D359): the per-camera session envelope that references tracks.
19187
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19188
+ * served by the event-media plane by key), null until the first frame with a
19189
+ * member visible has been materialised.
19190
+ */
19191
+ var SummarySchema = object({
19192
+ id: string(),
19193
+ deviceId: number(),
19194
+ openedAt: number(),
19195
+ lastActiveAt: number(),
19196
+ sealedAt: number().nullable(),
19197
+ memberCount: number().int().nonnegative(),
19198
+ groupShotKey: string().nullable()
19199
+ });
19200
+ var SummariesQueryInput = object({
19201
+ deviceIds: array(number()).min(1),
19202
+ since: number().optional(),
19203
+ until: number().optional(),
19204
+ limit: number().int().min(1).max(200).default(50)
19205
+ });
19206
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19207
+ var SummaryDetailSchema = object({
19208
+ summary: SummarySchema,
19209
+ /** Member track ids, in absorption order. */
19210
+ trackIds: array(string()).readonly()
19211
+ });
19185
19212
  var RecentTracksPageSchema = object({
19186
19213
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19187
19214
  tracks: array(TrackSchema).readonly(),
@@ -19582,7 +19609,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19582
19609
  * timeline would read as a camera that saw nothing.
19583
19610
  */
19584
19611
  classes: array(string()).optional()
19585
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19612
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19586
19613
  kind: "mutation",
19587
19614
  auth: "admin"
19588
19615
  }), method(DeviceEventQueryInput, array(MotionEventSchema).readonly()), method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()), method(DeviceEventQueryInput, array(AudioEventSchema).readonly()), method(object({ deviceId: number() }), array(EventKindDescriptorSchema).readonly()), method(object({ deviceIds: array(number()).min(1).max(200) }), array(EventKindsForDeviceSchema).readonly()), method(object({
@@ -20517,6 +20544,14 @@ var AgentPipelineSettingsSchema = object({
20517
20544
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20518
20545
  ingest: boolean().optional(),
20519
20546
  /**
20547
+ * This node's decode RAM budget, MB. Wins over the cluster
20548
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20549
+ * own RAM unless the operator moved the cluster value (D365).
20550
+ */
20551
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20552
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20553
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20554
+ /**
20520
20555
  * Operator override for the LAN host a cross-node decoder dials to reach
20521
20556
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20522
20557
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -20978,6 +21013,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
20978
21013
  }), object({ success: literal(true) }), {
20979
21014
  kind: "mutation",
20980
21015
  auth: "admin"
21016
+ }), method(object({
21017
+ agentNodeId: string(),
21018
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21019
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21020
+ }), object({ success: literal(true) }), {
21021
+ kind: "mutation",
21022
+ auth: "admin"
20981
21023
  }), method(object({
20982
21024
  agentNodeId: string(),
20983
21025
  reachableHost: string().nullable()
@@ -32522,6 +32564,12 @@ Object.freeze({
32522
32564
  addonId: null,
32523
32565
  access: "view"
32524
32566
  },
32567
+ "pipelineAnalytics.getSummary": {
32568
+ capName: "pipeline-analytics",
32569
+ capScope: "device",
32570
+ addonId: null,
32571
+ access: "view"
32572
+ },
32525
32573
  "pipelineAnalytics.getTrack": {
32526
32574
  capName: "pipeline-analytics",
32527
32575
  capScope: "device",
@@ -32600,6 +32648,12 @@ Object.freeze({
32600
32648
  addonId: null,
32601
32649
  access: "view"
32602
32650
  },
32651
+ "pipelineAnalytics.listSummaries": {
32652
+ capName: "pipeline-analytics",
32653
+ capScope: "device",
32654
+ addonId: null,
32655
+ access: "view"
32656
+ },
32603
32657
  "pipelineAnalytics.listTrackMedia": {
32604
32658
  capName: "pipeline-analytics",
32605
32659
  capScope: "device",
@@ -33158,6 +33212,12 @@ Object.freeze({
33158
33212
  addonId: null,
33159
33213
  access: "create"
33160
33214
  },
33215
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33216
+ capName: "pipeline-orchestrator",
33217
+ capScope: "system",
33218
+ addonId: null,
33219
+ access: "create"
33220
+ },
33161
33221
  "pipelineOrchestrator.setAgentDetectWeight": {
33162
33222
  capName: "pipeline-orchestrator",
33163
33223
  capScope: "system",
@@ -36289,6 +36349,11 @@ Object.freeze({
36289
36349
  form: "array",
36290
36350
  optional: true
36291
36351
  }],
36352
+ "pipelineAnalytics.listSummaries": [{
36353
+ name: "deviceIds",
36354
+ form: "array",
36355
+ optional: false
36356
+ }],
36292
36357
  "pipelineAnalytics.listTrackMedia": [{
36293
36358
  name: "deviceId",
36294
36359
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-notifiers",
3
- "version": "1.2.71",
3
+ "version": "1.2.73",
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",