@camstack/addon-provider-velux 0.2.67 → 0.2.69

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
@@ -19389,6 +19389,33 @@ var RecentTracksQueryInput = object({
19389
19389
  */
19390
19390
  classes: array(string()).optional()
19391
19391
  });
19392
+ /**
19393
+ * A Summary (D359): the per-camera session envelope that references tracks.
19394
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19395
+ * served by the event-media plane by key), null until the first frame with a
19396
+ * member visible has been materialised.
19397
+ */
19398
+ var SummarySchema = object({
19399
+ id: string(),
19400
+ deviceId: number(),
19401
+ openedAt: number(),
19402
+ lastActiveAt: number(),
19403
+ sealedAt: number().nullable(),
19404
+ memberCount: number().int().nonnegative(),
19405
+ groupShotKey: string().nullable()
19406
+ });
19407
+ var SummariesQueryInput = object({
19408
+ deviceIds: array(number()).min(1),
19409
+ since: number().optional(),
19410
+ until: number().optional(),
19411
+ limit: number().int().min(1).max(200).default(50)
19412
+ });
19413
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19414
+ var SummaryDetailSchema = object({
19415
+ summary: SummarySchema,
19416
+ /** Member track ids, in absorption order. */
19417
+ trackIds: array(string()).readonly()
19418
+ });
19392
19419
  var RecentTracksPageSchema = object({
19393
19420
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19394
19421
  tracks: array(TrackSchema).readonly(),
@@ -19789,7 +19816,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19789
19816
  * timeline would read as a camera that saw nothing.
19790
19817
  */
19791
19818
  classes: array(string()).optional()
19792
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19819
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19793
19820
  kind: "mutation",
19794
19821
  auth: "admin"
19795
19822
  }), 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({
@@ -20724,6 +20751,14 @@ var AgentPipelineSettingsSchema = object({
20724
20751
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20725
20752
  ingest: boolean().optional(),
20726
20753
  /**
20754
+ * This node's decode RAM budget, MB. Wins over the cluster
20755
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20756
+ * own RAM unless the operator moved the cluster value (D365).
20757
+ */
20758
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20759
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20760
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20761
+ /**
20727
20762
  * Operator override for the LAN host a cross-node decoder dials to reach
20728
20763
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20729
20764
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21185,6 +21220,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21185
21220
  }), object({ success: literal(true) }), {
21186
21221
  kind: "mutation",
21187
21222
  auth: "admin"
21223
+ }), method(object({
21224
+ agentNodeId: string(),
21225
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21226
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21227
+ }), object({ success: literal(true) }), {
21228
+ kind: "mutation",
21229
+ auth: "admin"
21188
21230
  }), method(object({
21189
21231
  agentNodeId: string(),
21190
21232
  reachableHost: string().nullable()
@@ -36508,6 +36550,12 @@ Object.freeze({
36508
36550
  addonId: null,
36509
36551
  access: "view"
36510
36552
  },
36553
+ "pipelineAnalytics.getSummary": {
36554
+ capName: "pipeline-analytics",
36555
+ capScope: "device",
36556
+ addonId: null,
36557
+ access: "view"
36558
+ },
36511
36559
  "pipelineAnalytics.getTrack": {
36512
36560
  capName: "pipeline-analytics",
36513
36561
  capScope: "device",
@@ -36586,6 +36634,12 @@ Object.freeze({
36586
36634
  addonId: null,
36587
36635
  access: "view"
36588
36636
  },
36637
+ "pipelineAnalytics.listSummaries": {
36638
+ capName: "pipeline-analytics",
36639
+ capScope: "device",
36640
+ addonId: null,
36641
+ access: "view"
36642
+ },
36589
36643
  "pipelineAnalytics.listTrackMedia": {
36590
36644
  capName: "pipeline-analytics",
36591
36645
  capScope: "device",
@@ -37144,6 +37198,12 @@ Object.freeze({
37144
37198
  addonId: null,
37145
37199
  access: "create"
37146
37200
  },
37201
+ "pipelineOrchestrator.setAgentDecodeLimits": {
37202
+ capName: "pipeline-orchestrator",
37203
+ capScope: "system",
37204
+ addonId: null,
37205
+ access: "create"
37206
+ },
37147
37207
  "pipelineOrchestrator.setAgentDetectWeight": {
37148
37208
  capName: "pipeline-orchestrator",
37149
37209
  capScope: "system",
@@ -40275,6 +40335,11 @@ Object.freeze({
40275
40335
  form: "array",
40276
40336
  optional: true
40277
40337
  }],
40338
+ "pipelineAnalytics.listSummaries": [{
40339
+ name: "deviceIds",
40340
+ form: "array",
40341
+ optional: false
40342
+ }],
40278
40343
  "pipelineAnalytics.listTrackMedia": [{
40279
40344
  name: "deviceId",
40280
40345
  form: "single",
package/dist/addon.mjs CHANGED
@@ -19388,6 +19388,33 @@ var RecentTracksQueryInput = object({
19388
19388
  */
19389
19389
  classes: array(string()).optional()
19390
19390
  });
19391
+ /**
19392
+ * A Summary (D359): the per-camera session envelope that references tracks.
19393
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19394
+ * served by the event-media plane by key), null until the first frame with a
19395
+ * member visible has been materialised.
19396
+ */
19397
+ var SummarySchema = object({
19398
+ id: string(),
19399
+ deviceId: number(),
19400
+ openedAt: number(),
19401
+ lastActiveAt: number(),
19402
+ sealedAt: number().nullable(),
19403
+ memberCount: number().int().nonnegative(),
19404
+ groupShotKey: string().nullable()
19405
+ });
19406
+ var SummariesQueryInput = object({
19407
+ deviceIds: array(number()).min(1),
19408
+ since: number().optional(),
19409
+ until: number().optional(),
19410
+ limit: number().int().min(1).max(200).default(50)
19411
+ });
19412
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19413
+ var SummaryDetailSchema = object({
19414
+ summary: SummarySchema,
19415
+ /** Member track ids, in absorption order. */
19416
+ trackIds: array(string()).readonly()
19417
+ });
19391
19418
  var RecentTracksPageSchema = object({
19392
19419
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19393
19420
  tracks: array(TrackSchema).readonly(),
@@ -19788,7 +19815,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19788
19815
  * timeline would read as a camera that saw nothing.
19789
19816
  */
19790
19817
  classes: array(string()).optional()
19791
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19818
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19792
19819
  kind: "mutation",
19793
19820
  auth: "admin"
19794
19821
  }), 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({
@@ -20723,6 +20750,14 @@ var AgentPipelineSettingsSchema = object({
20723
20750
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20724
20751
  ingest: boolean().optional(),
20725
20752
  /**
20753
+ * This node's decode RAM budget, MB. Wins over the cluster
20754
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20755
+ * own RAM unless the operator moved the cluster value (D365).
20756
+ */
20757
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20758
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20759
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20760
+ /**
20726
20761
  * Operator override for the LAN host a cross-node decoder dials to reach
20727
20762
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20728
20763
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21184,6 +21219,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21184
21219
  }), object({ success: literal(true) }), {
21185
21220
  kind: "mutation",
21186
21221
  auth: "admin"
21222
+ }), method(object({
21223
+ agentNodeId: string(),
21224
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21225
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21226
+ }), object({ success: literal(true) }), {
21227
+ kind: "mutation",
21228
+ auth: "admin"
21187
21229
  }), method(object({
21188
21230
  agentNodeId: string(),
21189
21231
  reachableHost: string().nullable()
@@ -36507,6 +36549,12 @@ Object.freeze({
36507
36549
  addonId: null,
36508
36550
  access: "view"
36509
36551
  },
36552
+ "pipelineAnalytics.getSummary": {
36553
+ capName: "pipeline-analytics",
36554
+ capScope: "device",
36555
+ addonId: null,
36556
+ access: "view"
36557
+ },
36510
36558
  "pipelineAnalytics.getTrack": {
36511
36559
  capName: "pipeline-analytics",
36512
36560
  capScope: "device",
@@ -36585,6 +36633,12 @@ Object.freeze({
36585
36633
  addonId: null,
36586
36634
  access: "view"
36587
36635
  },
36636
+ "pipelineAnalytics.listSummaries": {
36637
+ capName: "pipeline-analytics",
36638
+ capScope: "device",
36639
+ addonId: null,
36640
+ access: "view"
36641
+ },
36588
36642
  "pipelineAnalytics.listTrackMedia": {
36589
36643
  capName: "pipeline-analytics",
36590
36644
  capScope: "device",
@@ -37143,6 +37197,12 @@ Object.freeze({
37143
37197
  addonId: null,
37144
37198
  access: "create"
37145
37199
  },
37200
+ "pipelineOrchestrator.setAgentDecodeLimits": {
37201
+ capName: "pipeline-orchestrator",
37202
+ capScope: "system",
37203
+ addonId: null,
37204
+ access: "create"
37205
+ },
37146
37206
  "pipelineOrchestrator.setAgentDetectWeight": {
37147
37207
  capName: "pipeline-orchestrator",
37148
37208
  capScope: "system",
@@ -40274,6 +40334,11 @@ Object.freeze({
40274
40334
  form: "array",
40275
40335
  optional: true
40276
40336
  }],
40337
+ "pipelineAnalytics.listSummaries": [{
40338
+ name: "deviceIds",
40339
+ form: "array",
40340
+ optional: false
40341
+ }],
40277
40342
  "pipelineAnalytics.listTrackMedia": [{
40278
40343
  name: "deviceId",
40279
40344
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-velux",
3
- "version": "0.2.67",
3
+ "version": "0.2.69",
4
4
  "description": "Velux KLF-200 device-provider addon for CamStack — local-gateway window + shutter covers (positional, no tilt)",
5
5
  "keywords": [
6
6
  "camstack",