@camstack/addon-export-google 0.1.31 → 0.1.33

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.
@@ -19303,6 +19303,33 @@ var RecentTracksQueryInput = object({
19303
19303
  */
19304
19304
  classes: array(string()).optional()
19305
19305
  });
19306
+ /**
19307
+ * A Summary (D359): the per-camera session envelope that references tracks.
19308
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19309
+ * served by the event-media plane by key), null until the first frame with a
19310
+ * member visible has been materialised.
19311
+ */
19312
+ var SummarySchema = object({
19313
+ id: string(),
19314
+ deviceId: number(),
19315
+ openedAt: number(),
19316
+ lastActiveAt: number(),
19317
+ sealedAt: number().nullable(),
19318
+ memberCount: number().int().nonnegative(),
19319
+ groupShotKey: string().nullable()
19320
+ });
19321
+ var SummariesQueryInput = object({
19322
+ deviceIds: array(number()).min(1),
19323
+ since: number().optional(),
19324
+ until: number().optional(),
19325
+ limit: number().int().min(1).max(200).default(50)
19326
+ });
19327
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19328
+ var SummaryDetailSchema = object({
19329
+ summary: SummarySchema,
19330
+ /** Member track ids, in absorption order. */
19331
+ trackIds: array(string()).readonly()
19332
+ });
19306
19333
  var RecentTracksPageSchema = object({
19307
19334
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19308
19335
  tracks: array(TrackSchema).readonly(),
@@ -19703,7 +19730,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19703
19730
  * timeline would read as a camera that saw nothing.
19704
19731
  */
19705
19732
  classes: array(string()).optional()
19706
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19733
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19707
19734
  kind: "mutation",
19708
19735
  auth: "admin"
19709
19736
  }), 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({
@@ -20638,6 +20665,14 @@ var AgentPipelineSettingsSchema = object({
20638
20665
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20639
20666
  ingest: boolean().optional(),
20640
20667
  /**
20668
+ * This node's decode RAM budget, MB. Wins over the cluster
20669
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20670
+ * own RAM unless the operator moved the cluster value (D365).
20671
+ */
20672
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20673
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20674
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20675
+ /**
20641
20676
  * Operator override for the LAN host a cross-node decoder dials to reach
20642
20677
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20643
20678
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21099,6 +21134,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21099
21134
  }), object({ success: literal(true) }), {
21100
21135
  kind: "mutation",
21101
21136
  auth: "admin"
21137
+ }), method(object({
21138
+ agentNodeId: string(),
21139
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21140
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21141
+ }), object({ success: literal(true) }), {
21142
+ kind: "mutation",
21143
+ auth: "admin"
21102
21144
  }), method(object({
21103
21145
  agentNodeId: string(),
21104
21146
  reachableHost: string().nullable()
@@ -32662,6 +32704,12 @@ Object.freeze({
32662
32704
  addonId: null,
32663
32705
  access: "view"
32664
32706
  },
32707
+ "pipelineAnalytics.getSummary": {
32708
+ capName: "pipeline-analytics",
32709
+ capScope: "device",
32710
+ addonId: null,
32711
+ access: "view"
32712
+ },
32665
32713
  "pipelineAnalytics.getTrack": {
32666
32714
  capName: "pipeline-analytics",
32667
32715
  capScope: "device",
@@ -32740,6 +32788,12 @@ Object.freeze({
32740
32788
  addonId: null,
32741
32789
  access: "view"
32742
32790
  },
32791
+ "pipelineAnalytics.listSummaries": {
32792
+ capName: "pipeline-analytics",
32793
+ capScope: "device",
32794
+ addonId: null,
32795
+ access: "view"
32796
+ },
32743
32797
  "pipelineAnalytics.listTrackMedia": {
32744
32798
  capName: "pipeline-analytics",
32745
32799
  capScope: "device",
@@ -33298,6 +33352,12 @@ Object.freeze({
33298
33352
  addonId: null,
33299
33353
  access: "create"
33300
33354
  },
33355
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33356
+ capName: "pipeline-orchestrator",
33357
+ capScope: "system",
33358
+ addonId: null,
33359
+ access: "create"
33360
+ },
33301
33361
  "pipelineOrchestrator.setAgentDetectWeight": {
33302
33362
  capName: "pipeline-orchestrator",
33303
33363
  capScope: "system",
@@ -36429,6 +36489,11 @@ Object.freeze({
36429
36489
  form: "array",
36430
36490
  optional: true
36431
36491
  }],
36492
+ "pipelineAnalytics.listSummaries": [{
36493
+ name: "deviceIds",
36494
+ form: "array",
36495
+ optional: false
36496
+ }],
36432
36497
  "pipelineAnalytics.listTrackMedia": [{
36433
36498
  name: "deviceId",
36434
36499
  form: "single",
@@ -19299,6 +19299,33 @@ var RecentTracksQueryInput = object({
19299
19299
  */
19300
19300
  classes: array(string()).optional()
19301
19301
  });
19302
+ /**
19303
+ * A Summary (D359): the per-camera session envelope that references tracks.
19304
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19305
+ * served by the event-media plane by key), null until the first frame with a
19306
+ * member visible has been materialised.
19307
+ */
19308
+ var SummarySchema = object({
19309
+ id: string(),
19310
+ deviceId: number(),
19311
+ openedAt: number(),
19312
+ lastActiveAt: number(),
19313
+ sealedAt: number().nullable(),
19314
+ memberCount: number().int().nonnegative(),
19315
+ groupShotKey: string().nullable()
19316
+ });
19317
+ var SummariesQueryInput = object({
19318
+ deviceIds: array(number()).min(1),
19319
+ since: number().optional(),
19320
+ until: number().optional(),
19321
+ limit: number().int().min(1).max(200).default(50)
19322
+ });
19323
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19324
+ var SummaryDetailSchema = object({
19325
+ summary: SummarySchema,
19326
+ /** Member track ids, in absorption order. */
19327
+ trackIds: array(string()).readonly()
19328
+ });
19302
19329
  var RecentTracksPageSchema = object({
19303
19330
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19304
19331
  tracks: array(TrackSchema).readonly(),
@@ -19699,7 +19726,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19699
19726
  * timeline would read as a camera that saw nothing.
19700
19727
  */
19701
19728
  classes: array(string()).optional()
19702
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19729
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19703
19730
  kind: "mutation",
19704
19731
  auth: "admin"
19705
19732
  }), 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({
@@ -20634,6 +20661,14 @@ var AgentPipelineSettingsSchema = object({
20634
20661
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20635
20662
  ingest: boolean().optional(),
20636
20663
  /**
20664
+ * This node's decode RAM budget, MB. Wins over the cluster
20665
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20666
+ * own RAM unless the operator moved the cluster value (D365).
20667
+ */
20668
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20669
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20670
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20671
+ /**
20637
20672
  * Operator override for the LAN host a cross-node decoder dials to reach
20638
20673
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20639
20674
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -21095,6 +21130,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
21095
21130
  }), object({ success: literal(true) }), {
21096
21131
  kind: "mutation",
21097
21132
  auth: "admin"
21133
+ }), method(object({
21134
+ agentNodeId: string(),
21135
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
21136
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
21137
+ }), object({ success: literal(true) }), {
21138
+ kind: "mutation",
21139
+ auth: "admin"
21098
21140
  }), method(object({
21099
21141
  agentNodeId: string(),
21100
21142
  reachableHost: string().nullable()
@@ -32658,6 +32700,12 @@ Object.freeze({
32658
32700
  addonId: null,
32659
32701
  access: "view"
32660
32702
  },
32703
+ "pipelineAnalytics.getSummary": {
32704
+ capName: "pipeline-analytics",
32705
+ capScope: "device",
32706
+ addonId: null,
32707
+ access: "view"
32708
+ },
32661
32709
  "pipelineAnalytics.getTrack": {
32662
32710
  capName: "pipeline-analytics",
32663
32711
  capScope: "device",
@@ -32736,6 +32784,12 @@ Object.freeze({
32736
32784
  addonId: null,
32737
32785
  access: "view"
32738
32786
  },
32787
+ "pipelineAnalytics.listSummaries": {
32788
+ capName: "pipeline-analytics",
32789
+ capScope: "device",
32790
+ addonId: null,
32791
+ access: "view"
32792
+ },
32739
32793
  "pipelineAnalytics.listTrackMedia": {
32740
32794
  capName: "pipeline-analytics",
32741
32795
  capScope: "device",
@@ -33294,6 +33348,12 @@ Object.freeze({
33294
33348
  addonId: null,
33295
33349
  access: "create"
33296
33350
  },
33351
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33352
+ capName: "pipeline-orchestrator",
33353
+ capScope: "system",
33354
+ addonId: null,
33355
+ access: "create"
33356
+ },
33297
33357
  "pipelineOrchestrator.setAgentDetectWeight": {
33298
33358
  capName: "pipeline-orchestrator",
33299
33359
  capScope: "system",
@@ -36425,6 +36485,11 @@ Object.freeze({
36425
36485
  form: "array",
36426
36486
  optional: true
36427
36487
  }],
36488
+ "pipelineAnalytics.listSummaries": [{
36489
+ name: "deviceIds",
36490
+ form: "array",
36491
+ optional: false
36492
+ }],
36428
36493
  "pipelineAnalytics.listTrackMedia": [{
36429
36494
  name: "deviceId",
36430
36495
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-export-google",
3
- "version": "0.1.31",
3
+ "version": "0.1.33",
4
4
  "description": "Google Home export — hub-side smart-home fulfillment (SYNC / QUERY / EXECUTE / DISCONNECT) for the non-camera fleet, served over the hub's own OAuth account link. No Google credential is stored, sent or required.",
5
5
  "keywords": [
6
6
  "camstack",