@camstack/addon-provider-tuya 0.2.86 → 0.2.87

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
@@ -8447,6 +8447,35 @@ var CameraSwitchGroupSchema = object({
8447
8447
  /** Unix ms when the group was composed server-side. */
8448
8448
  fetchedAt: number()
8449
8449
  });
8450
+ /** One archived note — the operator's words plus enough context to find what
8451
+ * they were looking at, after the track itself is gone. */
8452
+ var ArchivedDebugNoteSchema = object({
8453
+ /** Archive row id. Derived from `(sourceTrackId, note)`, so re-archiving the
8454
+ * same sentence about the same track lands on the row already there. */
8455
+ id: string(),
8456
+ /** The operator's own words, verbatim. */
8457
+ note: string(),
8458
+ /** The camera. Required — every question here is asked per-camera. */
8459
+ deviceId: number().int(),
8460
+ /** The track the note was written on. PROVENANCE, not ownership: the track
8461
+ * is expected to be gone, and this row is not a reference to it. */
8462
+ sourceTrackId: string(),
8463
+ /** Epoch ms the note was moved here, i.e. when the operator reviewed it. */
8464
+ archivedAt: number().int(),
8465
+ /** The track's `firstSeen`, when the row still knew it; `null` otherwise. */
8466
+ trackStartedAt: number().int().nullable(),
8467
+ /** The track's detector class (`person`, `car`, …); `null` when unknown. */
8468
+ trackClass: string().nullable(),
8469
+ /** The track's display label at review time; `null` when it had none. */
8470
+ trackLabel: string().nullable()
8471
+ });
8472
+ /** Query input for `listArchivedDebugNotes` — newest first, one camera or all. */
8473
+ var ArchivedDebugNoteQueryInputSchema = object({
8474
+ /** Restrict to a single camera; omit for every row. */
8475
+ deviceId: number().int().optional(),
8476
+ /** Max rows returned, newest-first. */
8477
+ limit: number().int().min(1).max(1e3).optional()
8478
+ });
8450
8479
  /**
8451
8480
  * Ops-log — the durable, append-only operations audit shared by the
8452
8481
  * recordings and events management surfaces.
@@ -20927,7 +20956,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
20927
20956
  deviceId: number(),
20928
20957
  trackId: string(),
20929
20958
  flags: TrackFlagsPatchSchema
20930
- }), TrackFlagsSchema, { kind: "mutation" }), method(object({}), EventStoreFootprintSchema, {
20959
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
20931
20960
  kind: "query",
20932
20961
  auth: "admin"
20933
20962
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -38329,6 +38358,12 @@ Object.freeze({
38329
38358
  addonId: null,
38330
38359
  access: "view"
38331
38360
  },
38361
+ "pipelineAnalytics.listArchivedDebugNotes": {
38362
+ capName: "pipeline-analytics",
38363
+ capScope: "device",
38364
+ addonId: null,
38365
+ access: "view"
38366
+ },
38332
38367
  "pipelineAnalytics.listEventKinds": {
38333
38368
  capName: "pipeline-analytics",
38334
38369
  capScope: "device",
@@ -42116,6 +42151,11 @@ Object.freeze({
42116
42151
  form: "array",
42117
42152
  optional: true
42118
42153
  }],
42154
+ "pipelineAnalytics.listArchivedDebugNotes": [{
42155
+ name: "deviceId",
42156
+ form: "single",
42157
+ optional: true
42158
+ }],
42119
42159
  "pipelineAnalytics.listEventKinds": [{
42120
42160
  name: "deviceId",
42121
42161
  form: "single",
package/dist/addon.mjs CHANGED
@@ -8446,6 +8446,35 @@ var CameraSwitchGroupSchema = object({
8446
8446
  /** Unix ms when the group was composed server-side. */
8447
8447
  fetchedAt: number()
8448
8448
  });
8449
+ /** One archived note — the operator's words plus enough context to find what
8450
+ * they were looking at, after the track itself is gone. */
8451
+ var ArchivedDebugNoteSchema = object({
8452
+ /** Archive row id. Derived from `(sourceTrackId, note)`, so re-archiving the
8453
+ * same sentence about the same track lands on the row already there. */
8454
+ id: string(),
8455
+ /** The operator's own words, verbatim. */
8456
+ note: string(),
8457
+ /** The camera. Required — every question here is asked per-camera. */
8458
+ deviceId: number().int(),
8459
+ /** The track the note was written on. PROVENANCE, not ownership: the track
8460
+ * is expected to be gone, and this row is not a reference to it. */
8461
+ sourceTrackId: string(),
8462
+ /** Epoch ms the note was moved here, i.e. when the operator reviewed it. */
8463
+ archivedAt: number().int(),
8464
+ /** The track's `firstSeen`, when the row still knew it; `null` otherwise. */
8465
+ trackStartedAt: number().int().nullable(),
8466
+ /** The track's detector class (`person`, `car`, …); `null` when unknown. */
8467
+ trackClass: string().nullable(),
8468
+ /** The track's display label at review time; `null` when it had none. */
8469
+ trackLabel: string().nullable()
8470
+ });
8471
+ /** Query input for `listArchivedDebugNotes` — newest first, one camera or all. */
8472
+ var ArchivedDebugNoteQueryInputSchema = object({
8473
+ /** Restrict to a single camera; omit for every row. */
8474
+ deviceId: number().int().optional(),
8475
+ /** Max rows returned, newest-first. */
8476
+ limit: number().int().min(1).max(1e3).optional()
8477
+ });
8449
8478
  /**
8450
8479
  * Ops-log — the durable, append-only operations audit shared by the
8451
8480
  * recordings and events management surfaces.
@@ -20926,7 +20955,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
20926
20955
  deviceId: number(),
20927
20956
  trackId: string(),
20928
20957
  flags: TrackFlagsPatchSchema
20929
- }), TrackFlagsSchema, { kind: "mutation" }), method(object({}), EventStoreFootprintSchema, {
20958
+ }), TrackFlagsSchema, { kind: "mutation" }), method(ArchivedDebugNoteQueryInputSchema, array(ArchivedDebugNoteSchema).readonly(), { kind: "query" }), method(object({}), EventStoreFootprintSchema, {
20930
20959
  kind: "query",
20931
20960
  auth: "admin"
20932
20961
  }), method(object({ deviceId: number().int().optional() }), EventMediaKindBreakdownSchema, {
@@ -38328,6 +38357,12 @@ Object.freeze({
38328
38357
  addonId: null,
38329
38358
  access: "view"
38330
38359
  },
38360
+ "pipelineAnalytics.listArchivedDebugNotes": {
38361
+ capName: "pipeline-analytics",
38362
+ capScope: "device",
38363
+ addonId: null,
38364
+ access: "view"
38365
+ },
38331
38366
  "pipelineAnalytics.listEventKinds": {
38332
38367
  capName: "pipeline-analytics",
38333
38368
  capScope: "device",
@@ -42115,6 +42150,11 @@ Object.freeze({
42115
42150
  form: "array",
42116
42151
  optional: true
42117
42152
  }],
42153
+ "pipelineAnalytics.listArchivedDebugNotes": [{
42154
+ name: "deviceId",
42155
+ form: "single",
42156
+ optional: true
42157
+ }],
42118
42158
  "pipelineAnalytics.listEventKinds": [{
42119
42159
  name: "deviceId",
42120
42160
  form: "single",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-tuya",
3
- "version": "0.2.86",
3
+ "version": "0.2.87",
4
4
  "description": "Tuya / Smart Life device-provider addon for CamStack — account-onboarded (Tuya IoT cloud fetch of device localKeys) + LOCAL DP control via the @apocaliss92/nodetuya encrypted-LAN client, exposing switch / water-heater-family kettle entities",
5
5
  "keywords": [
6
6
  "camstack",