@camstack/addon-export-alexa 1.2.73 → 1.2.75

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.
@@ -19332,6 +19332,33 @@ var RecentTracksQueryInput = object({
19332
19332
  */
19333
19333
  classes: array(string()).optional()
19334
19334
  });
19335
+ /**
19336
+ * A Summary (D359): the per-camera session envelope that references tracks.
19337
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19338
+ * served by the event-media plane by key), null until the first frame with a
19339
+ * member visible has been materialised.
19340
+ */
19341
+ var SummarySchema = object({
19342
+ id: string(),
19343
+ deviceId: number(),
19344
+ openedAt: number(),
19345
+ lastActiveAt: number(),
19346
+ sealedAt: number().nullable(),
19347
+ memberCount: number().int().nonnegative(),
19348
+ groupShotKey: string().nullable()
19349
+ });
19350
+ var SummariesQueryInput = object({
19351
+ deviceIds: array(number()).min(1),
19352
+ since: number().optional(),
19353
+ until: number().optional(),
19354
+ limit: number().int().min(1).max(200).default(50)
19355
+ });
19356
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19357
+ var SummaryDetailSchema = object({
19358
+ summary: SummarySchema,
19359
+ /** Member track ids, in absorption order. */
19360
+ trackIds: array(string()).readonly()
19361
+ });
19335
19362
  var RecentTracksPageSchema = object({
19336
19363
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19337
19364
  tracks: array(TrackSchema).readonly(),
@@ -19732,7 +19759,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19732
19759
  * timeline would read as a camera that saw nothing.
19733
19760
  */
19734
19761
  classes: array(string()).optional()
19735
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19762
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19736
19763
  kind: "mutation",
19737
19764
  auth: "admin"
19738
19765
  }), 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({
@@ -20667,6 +20694,14 @@ var AgentPipelineSettingsSchema = object({
20667
20694
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20668
20695
  ingest: boolean().optional(),
20669
20696
  /**
20697
+ * This node's decode RAM budget, MB. Wins over the cluster
20698
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20699
+ * own RAM unless the operator moved the cluster value (D365).
20700
+ */
20701
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20702
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20703
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20704
+ /**
20670
20705
  * Operator override for the LAN host a cross-node decoder dials to reach
20671
20706
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20672
20707
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21128,6 +21163,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21128
21163
  }), object({ success: literal(true) }), {
21129
21164
  kind: "mutation",
21130
21165
  auth: "admin"
21166
+ }), method(object({
21167
+ agentNodeId: string(),
21168
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21169
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21170
+ }), object({ success: literal(true) }), {
21171
+ kind: "mutation",
21172
+ auth: "admin"
21131
21173
  }), method(object({
21132
21174
  agentNodeId: string(),
21133
21175
  reachableHost: string().nullable()
@@ -32672,6 +32714,12 @@ Object.freeze({
32672
32714
  addonId: null,
32673
32715
  access: "view"
32674
32716
  },
32717
+ "pipelineAnalytics.getSummary": {
32718
+ capName: "pipeline-analytics",
32719
+ capScope: "device",
32720
+ addonId: null,
32721
+ access: "view"
32722
+ },
32675
32723
  "pipelineAnalytics.getTrack": {
32676
32724
  capName: "pipeline-analytics",
32677
32725
  capScope: "device",
@@ -32750,6 +32798,12 @@ Object.freeze({
32750
32798
  addonId: null,
32751
32799
  access: "view"
32752
32800
  },
32801
+ "pipelineAnalytics.listSummaries": {
32802
+ capName: "pipeline-analytics",
32803
+ capScope: "device",
32804
+ addonId: null,
32805
+ access: "view"
32806
+ },
32753
32807
  "pipelineAnalytics.listTrackMedia": {
32754
32808
  capName: "pipeline-analytics",
32755
32809
  capScope: "device",
@@ -33308,6 +33362,12 @@ Object.freeze({
33308
33362
  addonId: null,
33309
33363
  access: "create"
33310
33364
  },
33365
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33366
+ capName: "pipeline-orchestrator",
33367
+ capScope: "system",
33368
+ addonId: null,
33369
+ access: "create"
33370
+ },
33311
33371
  "pipelineOrchestrator.setAgentDetectWeight": {
33312
33372
  capName: "pipeline-orchestrator",
33313
33373
  capScope: "system",
@@ -36439,6 +36499,11 @@ Object.freeze({
36439
36499
  form: "array",
36440
36500
  optional: true
36441
36501
  }],
36502
+ "pipelineAnalytics.listSummaries": [{
36503
+ name: "deviceIds",
36504
+ form: "array",
36505
+ optional: false
36506
+ }],
36442
36507
  "pipelineAnalytics.listTrackMedia": [{
36443
36508
  name: "deviceId",
36444
36509
  form: "single",
@@ -19305,6 +19305,33 @@ var RecentTracksQueryInput = object({
19305
19305
  */
19306
19306
  classes: array(string()).optional()
19307
19307
  });
19308
+ /**
19309
+ * A Summary (D359): the per-camera session envelope that references tracks.
19310
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19311
+ * served by the event-media plane by key), null until the first frame with a
19312
+ * member visible has been materialised.
19313
+ */
19314
+ var SummarySchema = object({
19315
+ id: string(),
19316
+ deviceId: number(),
19317
+ openedAt: number(),
19318
+ lastActiveAt: number(),
19319
+ sealedAt: number().nullable(),
19320
+ memberCount: number().int().nonnegative(),
19321
+ groupShotKey: string().nullable()
19322
+ });
19323
+ var SummariesQueryInput = object({
19324
+ deviceIds: array(number()).min(1),
19325
+ since: number().optional(),
19326
+ until: number().optional(),
19327
+ limit: number().int().min(1).max(200).default(50)
19328
+ });
19329
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19330
+ var SummaryDetailSchema = object({
19331
+ summary: SummarySchema,
19332
+ /** Member track ids, in absorption order. */
19333
+ trackIds: array(string()).readonly()
19334
+ });
19308
19335
  var RecentTracksPageSchema = object({
19309
19336
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19310
19337
  tracks: array(TrackSchema).readonly(),
@@ -19705,7 +19732,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19705
19732
  * timeline would read as a camera that saw nothing.
19706
19733
  */
19707
19734
  classes: array(string()).optional()
19708
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19735
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19709
19736
  kind: "mutation",
19710
19737
  auth: "admin"
19711
19738
  }), 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({
@@ -20640,6 +20667,14 @@ var AgentPipelineSettingsSchema = object({
20640
20667
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20641
20668
  ingest: boolean().optional(),
20642
20669
  /**
20670
+ * This node's decode RAM budget, MB. Wins over the cluster
20671
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20672
+ * own RAM unless the operator moved the cluster value (D365).
20673
+ */
20674
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20675
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20676
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20677
+ /**
20643
20678
  * Operator override for the LAN host a cross-node decoder dials to reach
20644
20679
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20645
20680
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21101,6 +21136,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21101
21136
  }), object({ success: literal(true) }), {
21102
21137
  kind: "mutation",
21103
21138
  auth: "admin"
21139
+ }), method(object({
21140
+ agentNodeId: string(),
21141
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21142
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21143
+ }), object({ success: literal(true) }), {
21144
+ kind: "mutation",
21145
+ auth: "admin"
21104
21146
  }), method(object({
21105
21147
  agentNodeId: string(),
21106
21148
  reachableHost: string().nullable()
@@ -32645,6 +32687,12 @@ Object.freeze({
32645
32687
  addonId: null,
32646
32688
  access: "view"
32647
32689
  },
32690
+ "pipelineAnalytics.getSummary": {
32691
+ capName: "pipeline-analytics",
32692
+ capScope: "device",
32693
+ addonId: null,
32694
+ access: "view"
32695
+ },
32648
32696
  "pipelineAnalytics.getTrack": {
32649
32697
  capName: "pipeline-analytics",
32650
32698
  capScope: "device",
@@ -32723,6 +32771,12 @@ Object.freeze({
32723
32771
  addonId: null,
32724
32772
  access: "view"
32725
32773
  },
32774
+ "pipelineAnalytics.listSummaries": {
32775
+ capName: "pipeline-analytics",
32776
+ capScope: "device",
32777
+ addonId: null,
32778
+ access: "view"
32779
+ },
32726
32780
  "pipelineAnalytics.listTrackMedia": {
32727
32781
  capName: "pipeline-analytics",
32728
32782
  capScope: "device",
@@ -33281,6 +33335,12 @@ Object.freeze({
33281
33335
  addonId: null,
33282
33336
  access: "create"
33283
33337
  },
33338
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33339
+ capName: "pipeline-orchestrator",
33340
+ capScope: "system",
33341
+ addonId: null,
33342
+ access: "create"
33343
+ },
33284
33344
  "pipelineOrchestrator.setAgentDetectWeight": {
33285
33345
  capName: "pipeline-orchestrator",
33286
33346
  capScope: "system",
@@ -36412,6 +36472,11 @@ Object.freeze({
36412
36472
  form: "array",
36413
36473
  optional: true
36414
36474
  }],
36475
+ "pipelineAnalytics.listSummaries": [{
36476
+ name: "deviceIds",
36477
+ form: "array",
36478
+ optional: false
36479
+ }],
36415
36480
  "pipelineAnalytics.listTrackMedia": [{
36416
36481
  name: "deviceId",
36417
36482
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-alexa",
3
- "version": "1.2.73",
3
+ "version": "1.2.75",
4
4
  "description": "Alexa Smart Home Skill export — hub-side OAuth provider + directive handler. The companion AWS Lambda forwards Alexa directives to this addon's /addon/export-alexa/directive endpoint.",
5
5
  "keywords": [
6
6
  "camstack",