@camstack/addon-smtp-nodemailer 1.2.66 → 1.2.68

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.
@@ -19042,6 +19042,33 @@ var RecentTracksQueryInput = object({
19042
19042
  */
19043
19043
  classes: array(string()).optional()
19044
19044
  });
19045
+ /**
19046
+ * A Summary (D359): the per-camera session envelope that references tracks.
19047
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19048
+ * served by the event-media plane by key), null until the first frame with a
19049
+ * member visible has been materialised.
19050
+ */
19051
+ var SummarySchema = object({
19052
+ id: string(),
19053
+ deviceId: number(),
19054
+ openedAt: number(),
19055
+ lastActiveAt: number(),
19056
+ sealedAt: number().nullable(),
19057
+ memberCount: number().int().nonnegative(),
19058
+ groupShotKey: string().nullable()
19059
+ });
19060
+ var SummariesQueryInput = object({
19061
+ deviceIds: array(number()).min(1),
19062
+ since: number().optional(),
19063
+ until: number().optional(),
19064
+ limit: number().int().min(1).max(200).default(50)
19065
+ });
19066
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19067
+ var SummaryDetailSchema = object({
19068
+ summary: SummarySchema,
19069
+ /** Member track ids, in absorption order. */
19070
+ trackIds: array(string()).readonly()
19071
+ });
19045
19072
  var RecentTracksPageSchema = object({
19046
19073
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19047
19074
  tracks: array(TrackSchema).readonly(),
@@ -19442,7 +19469,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19442
19469
  * timeline would read as a camera that saw nothing.
19443
19470
  */
19444
19471
  classes: array(string()).optional()
19445
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19472
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19446
19473
  kind: "mutation",
19447
19474
  auth: "admin"
19448
19475
  }), 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({
@@ -20377,6 +20404,14 @@ var AgentPipelineSettingsSchema = object({
20377
20404
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20378
20405
  ingest: boolean().optional(),
20379
20406
  /**
20407
+ * This node's decode RAM budget, MB. Wins over the cluster
20408
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20409
+ * own RAM unless the operator moved the cluster value (D365).
20410
+ */
20411
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20412
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20413
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20414
+ /**
20380
20415
  * Operator override for the LAN host a cross-node decoder dials to reach
20381
20416
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20382
20417
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -20838,6 +20873,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
20838
20873
  }), object({ success: literal(true) }), {
20839
20874
  kind: "mutation",
20840
20875
  auth: "admin"
20876
+ }), method(object({
20877
+ agentNodeId: string(),
20878
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
20879
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
20880
+ }), object({ success: literal(true) }), {
20881
+ kind: "mutation",
20882
+ auth: "admin"
20841
20883
  }), method(object({
20842
20884
  agentNodeId: string(),
20843
20885
  reachableHost: string().nullable()
@@ -32395,6 +32437,12 @@ Object.freeze({
32395
32437
  addonId: null,
32396
32438
  access: "view"
32397
32439
  },
32440
+ "pipelineAnalytics.getSummary": {
32441
+ capName: "pipeline-analytics",
32442
+ capScope: "device",
32443
+ addonId: null,
32444
+ access: "view"
32445
+ },
32398
32446
  "pipelineAnalytics.getTrack": {
32399
32447
  capName: "pipeline-analytics",
32400
32448
  capScope: "device",
@@ -32473,6 +32521,12 @@ Object.freeze({
32473
32521
  addonId: null,
32474
32522
  access: "view"
32475
32523
  },
32524
+ "pipelineAnalytics.listSummaries": {
32525
+ capName: "pipeline-analytics",
32526
+ capScope: "device",
32527
+ addonId: null,
32528
+ access: "view"
32529
+ },
32476
32530
  "pipelineAnalytics.listTrackMedia": {
32477
32531
  capName: "pipeline-analytics",
32478
32532
  capScope: "device",
@@ -33031,6 +33085,12 @@ Object.freeze({
33031
33085
  addonId: null,
33032
33086
  access: "create"
33033
33087
  },
33088
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33089
+ capName: "pipeline-orchestrator",
33090
+ capScope: "system",
33091
+ addonId: null,
33092
+ access: "create"
33093
+ },
33034
33094
  "pipelineOrchestrator.setAgentDetectWeight": {
33035
33095
  capName: "pipeline-orchestrator",
33036
33096
  capScope: "system",
@@ -36162,6 +36222,11 @@ Object.freeze({
36162
36222
  form: "array",
36163
36223
  optional: true
36164
36224
  }],
36225
+ "pipelineAnalytics.listSummaries": [{
36226
+ name: "deviceIds",
36227
+ form: "array",
36228
+ optional: false
36229
+ }],
36165
36230
  "pipelineAnalytics.listTrackMedia": [{
36166
36231
  name: "deviceId",
36167
36232
  form: "single",
@@ -19040,6 +19040,33 @@ var RecentTracksQueryInput = object({
19040
19040
  */
19041
19041
  classes: array(string()).optional()
19042
19042
  });
19043
+ /**
19044
+ * A Summary (D359): the per-camera session envelope that references tracks.
19045
+ * `groupShotKey` is the media key of its group shot (`ownerKind: 'summary'`,
19046
+ * served by the event-media plane by key), null until the first frame with a
19047
+ * member visible has been materialised.
19048
+ */
19049
+ var SummarySchema = object({
19050
+ id: string(),
19051
+ deviceId: number(),
19052
+ openedAt: number(),
19053
+ lastActiveAt: number(),
19054
+ sealedAt: number().nullable(),
19055
+ memberCount: number().int().nonnegative(),
19056
+ groupShotKey: string().nullable()
19057
+ });
19058
+ var SummariesQueryInput = object({
19059
+ deviceIds: array(number()).min(1),
19060
+ since: number().optional(),
19061
+ until: number().optional(),
19062
+ limit: number().int().min(1).max(200).default(50)
19063
+ });
19064
+ var SummariesPageSchema = object({ summaries: array(SummarySchema).readonly() });
19065
+ var SummaryDetailSchema = object({
19066
+ summary: SummarySchema,
19067
+ /** Member track ids, in absorption order. */
19068
+ trackIds: array(string()).readonly()
19069
+ });
19043
19070
  var RecentTracksPageSchema = object({
19044
19071
  /** Merged page, ordered by (`lastSeen` DESC, `trackId` DESC). */
19045
19072
  tracks: array(TrackSchema).readonly(),
@@ -19440,7 +19467,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19440
19467
  * timeline would read as a camera that saw nothing.
19441
19468
  */
19442
19469
  classes: array(string()).optional()
19443
- }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(object({ deviceId: number() }), _void(), {
19470
+ }), array(TrackSchema).readonly()), method(RecentTracksQueryInput, RecentTracksPageSchema), method(SummariesQueryInput, SummariesPageSchema), method(object({ id: string() }), SummaryDetailSchema.nullable()), method(object({ deviceId: number() }), _void(), {
19444
19471
  kind: "mutation",
19445
19472
  auth: "admin"
19446
19473
  }), 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({
@@ -20375,6 +20402,14 @@ var AgentPipelineSettingsSchema = object({
20375
20402
  /** Node is eligible to be the ingest / source-owner (serve the restream). */
20376
20403
  ingest: boolean().optional(),
20377
20404
  /**
20405
+ * This node's decode RAM budget, MB. Wins over the cluster
20406
+ * `nodeDecodeBudgetMb`; absent, the runner derives a share of the node's
20407
+ * own RAM unless the operator moved the cluster value (D365).
20408
+ */
20409
+ decodeBudgetMb: number().int().min(1024).max(65536).optional(),
20410
+ /** This node's live decode-worker cap. Wins over the cluster `maxLiveDecodeWorkers`. */
20411
+ maxLiveDecodeWorkers: number().int().min(1).max(32).optional(),
20412
+ /**
20378
20413
  * Operator override for the LAN host a cross-node decoder dials to reach
20379
20414
  * THIS node's restream (Cluster UI). Absent → auto-detect: a remote runner
20380
20415
  * falls back to its `CAMSTACK_HUB_URL`-derived host (the Moleculer address
@@ -20836,6 +20871,13 @@ method(StorageMigrationLeaseInputSchema, object({ paused: literal(true) }), {
20836
20871
  }), object({ success: literal(true) }), {
20837
20872
  kind: "mutation",
20838
20873
  auth: "admin"
20874
+ }), method(object({
20875
+ agentNodeId: string(),
20876
+ decodeBudgetMb: number().int().min(1024).max(65536).nullable().optional(),
20877
+ maxLiveDecodeWorkers: number().int().min(1).max(32).nullable().optional()
20878
+ }), object({ success: literal(true) }), {
20879
+ kind: "mutation",
20880
+ auth: "admin"
20839
20881
  }), method(object({
20840
20882
  agentNodeId: string(),
20841
20883
  reachableHost: string().nullable()
@@ -32393,6 +32435,12 @@ Object.freeze({
32393
32435
  addonId: null,
32394
32436
  access: "view"
32395
32437
  },
32438
+ "pipelineAnalytics.getSummary": {
32439
+ capName: "pipeline-analytics",
32440
+ capScope: "device",
32441
+ addonId: null,
32442
+ access: "view"
32443
+ },
32396
32444
  "pipelineAnalytics.getTrack": {
32397
32445
  capName: "pipeline-analytics",
32398
32446
  capScope: "device",
@@ -32471,6 +32519,12 @@ Object.freeze({
32471
32519
  addonId: null,
32472
32520
  access: "view"
32473
32521
  },
32522
+ "pipelineAnalytics.listSummaries": {
32523
+ capName: "pipeline-analytics",
32524
+ capScope: "device",
32525
+ addonId: null,
32526
+ access: "view"
32527
+ },
32474
32528
  "pipelineAnalytics.listTrackMedia": {
32475
32529
  capName: "pipeline-analytics",
32476
32530
  capScope: "device",
@@ -33029,6 +33083,12 @@ Object.freeze({
33029
33083
  addonId: null,
33030
33084
  access: "create"
33031
33085
  },
33086
+ "pipelineOrchestrator.setAgentDecodeLimits": {
33087
+ capName: "pipeline-orchestrator",
33088
+ capScope: "system",
33089
+ addonId: null,
33090
+ access: "create"
33091
+ },
33032
33092
  "pipelineOrchestrator.setAgentDetectWeight": {
33033
33093
  capName: "pipeline-orchestrator",
33034
33094
  capScope: "system",
@@ -36160,6 +36220,11 @@ Object.freeze({
36160
36220
  form: "array",
36161
36221
  optional: true
36162
36222
  }],
36223
+ "pipelineAnalytics.listSummaries": [{
36224
+ name: "deviceIds",
36225
+ form: "array",
36226
+ optional: false
36227
+ }],
36163
36228
  "pipelineAnalytics.listTrackMedia": [{
36164
36229
  name: "deviceId",
36165
36230
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-smtp-nodemailer",
3
- "version": "1.2.66",
3
+ "version": "1.2.68",
4
4
  "description": "SMTP email provider addon for CamStack — wraps `nodemailer` and registers a `smtp-provider` cap collection entry. Used by magic-link login + notifier addons.",
5
5
  "keywords": [
6
6
  "camstack",