@camstack/addon-smtp-nodemailer 1.2.85 → 1.2.86

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.
@@ -7648,6 +7648,35 @@ var CameraSwitchGroupSchema = object({
7648
7648
  /** Unix ms when the group was composed server-side. */
7649
7649
  fetchedAt: number()
7650
7650
  });
7651
+ /** One archived note — the operator's words plus enough context to find what
7652
+ * they were looking at, after the track itself is gone. */
7653
+ var ArchivedDebugNoteSchema = object({
7654
+ /** Archive row id. Derived from `(sourceTrackId, note)`, so re-archiving the
7655
+ * same sentence about the same track lands on the row already there. */
7656
+ id: string(),
7657
+ /** The operator's own words, verbatim. */
7658
+ note: string(),
7659
+ /** The camera. Required — every question here is asked per-camera. */
7660
+ deviceId: number().int(),
7661
+ /** The track the note was written on. PROVENANCE, not ownership: the track
7662
+ * is expected to be gone, and this row is not a reference to it. */
7663
+ sourceTrackId: string(),
7664
+ /** Epoch ms the note was moved here, i.e. when the operator reviewed it. */
7665
+ archivedAt: number().int(),
7666
+ /** The track's `firstSeen`, when the row still knew it; `null` otherwise. */
7667
+ trackStartedAt: number().int().nullable(),
7668
+ /** The track's detector class (`person`, `car`, …); `null` when unknown. */
7669
+ trackClass: string().nullable(),
7670
+ /** The track's display label at review time; `null` when it had none. */
7671
+ trackLabel: string().nullable()
7672
+ });
7673
+ /** Query input for `listArchivedDebugNotes` — newest first, one camera or all. */
7674
+ var ArchivedDebugNoteQueryInputSchema = object({
7675
+ /** Restrict to a single camera; omit for every row. */
7676
+ deviceId: number().int().optional(),
7677
+ /** Max rows returned, newest-first. */
7678
+ limit: number().int().min(1).max(1e3).optional()
7679
+ });
7651
7680
  /**
7652
7681
  * Ops-log — the durable, append-only operations audit shared by the
7653
7682
  * recordings and events management surfaces.
@@ -19743,7 +19772,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19743
19772
  deviceId: number(),
19744
19773
  trackId: string(),
19745
19774
  flags: TrackFlagsPatchSchema
19746
- }), TrackFlagsSchema, { kind: "mutation" }), method(object({}), EventStoreFootprintSchema, {
19775
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
19747
19776
  kind: "query",
19748
19777
  auth: "admin"
19749
19778
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -33154,6 +33183,12 @@ Object.freeze({
33154
33183
  addonId: null,
33155
33184
  access: "view"
33156
33185
  },
33186
+ "pipelineAnalytics.listArchivedDebugNotes": {
33187
+ capName: "pipeline-analytics",
33188
+ capScope: "device",
33189
+ addonId: null,
33190
+ access: "view"
33191
+ },
33157
33192
  "pipelineAnalytics.listEventKinds": {
33158
33193
  capName: "pipeline-analytics",
33159
33194
  capScope: "device",
@@ -36941,6 +36976,11 @@ Object.freeze({
36941
36976
  form: "array",
36942
36977
  optional: true
36943
36978
  }],
36979
+ "pipelineAnalytics.listArchivedDebugNotes": [{
36980
+ name: "deviceId",
36981
+ form: "single",
36982
+ optional: true
36983
+ }],
36944
36984
  "pipelineAnalytics.listEventKinds": [{
36945
36985
  name: "deviceId",
36946
36986
  form: "single",
@@ -7646,6 +7646,35 @@ var CameraSwitchGroupSchema = object({
7646
7646
  /** Unix ms when the group was composed server-side. */
7647
7647
  fetchedAt: number()
7648
7648
  });
7649
+ /** One archived note — the operator's words plus enough context to find what
7650
+ * they were looking at, after the track itself is gone. */
7651
+ var ArchivedDebugNoteSchema = object({
7652
+ /** Archive row id. Derived from `(sourceTrackId, note)`, so re-archiving the
7653
+ * same sentence about the same track lands on the row already there. */
7654
+ id: string(),
7655
+ /** The operator's own words, verbatim. */
7656
+ note: string(),
7657
+ /** The camera. Required — every question here is asked per-camera. */
7658
+ deviceId: number().int(),
7659
+ /** The track the note was written on. PROVENANCE, not ownership: the track
7660
+ * is expected to be gone, and this row is not a reference to it. */
7661
+ sourceTrackId: string(),
7662
+ /** Epoch ms the note was moved here, i.e. when the operator reviewed it. */
7663
+ archivedAt: number().int(),
7664
+ /** The track's `firstSeen`, when the row still knew it; `null` otherwise. */
7665
+ trackStartedAt: number().int().nullable(),
7666
+ /** The track's detector class (`person`, `car`, …); `null` when unknown. */
7667
+ trackClass: string().nullable(),
7668
+ /** The track's display label at review time; `null` when it had none. */
7669
+ trackLabel: string().nullable()
7670
+ });
7671
+ /** Query input for `listArchivedDebugNotes` — newest first, one camera or all. */
7672
+ var ArchivedDebugNoteQueryInputSchema = object({
7673
+ /** Restrict to a single camera; omit for every row. */
7674
+ deviceId: number().int().optional(),
7675
+ /** Max rows returned, newest-first. */
7676
+ limit: number().int().min(1).max(1e3).optional()
7677
+ });
7649
7678
  /**
7650
7679
  * Ops-log — the durable, append-only operations audit shared by the
7651
7680
  * recordings and events management surfaces.
@@ -19741,7 +19770,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
19741
19770
  deviceId: number(),
19742
19771
  trackId: string(),
19743
19772
  flags: TrackFlagsPatchSchema
19744
- }), TrackFlagsSchema, { kind: "mutation" }), method(object({}), EventStoreFootprintSchema, {
19773
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
19745
19774
  kind: "query",
19746
19775
  auth: "admin"
19747
19776
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -33152,6 +33181,12 @@ Object.freeze({
33152
33181
  addonId: null,
33153
33182
  access: "view"
33154
33183
  },
33184
+ "pipelineAnalytics.listArchivedDebugNotes": {
33185
+ capName: "pipeline-analytics",
33186
+ capScope: "device",
33187
+ addonId: null,
33188
+ access: "view"
33189
+ },
33155
33190
  "pipelineAnalytics.listEventKinds": {
33156
33191
  capName: "pipeline-analytics",
33157
33192
  capScope: "device",
@@ -36939,6 +36974,11 @@ Object.freeze({
36939
36974
  form: "array",
36940
36975
  optional: true
36941
36976
  }],
36977
+ "pipelineAnalytics.listArchivedDebugNotes": [{
36978
+ name: "deviceId",
36979
+ form: "single",
36980
+ optional: true
36981
+ }],
36942
36982
  "pipelineAnalytics.listEventKinds": [{
36943
36983
  name: "deviceId",
36944
36984
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-smtp-nodemailer",
3
- "version": "1.2.85",
3
+ "version": "1.2.86",
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",