@uug-ai/models 1.7.73 → 1.7.74

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.
Files changed (2) hide show
  1. package/dist/types.d.ts +139 -19
  2. package/package.json +1 -1
package/dist/types.d.ts CHANGED
@@ -7608,6 +7608,45 @@ export interface paths {
7608
7608
  patch?: never;
7609
7609
  trace?: never;
7610
7610
  };
7611
+ "/internal/deviceheartbeat": {
7612
+ parameters: {
7613
+ query?: never;
7614
+ header?: never;
7615
+ path?: never;
7616
+ cookie?: never;
7617
+ };
7618
+ /**
7619
+ * Get DeviceHeartbeat (schema generation only)
7620
+ * @description Internal endpoint used only to ensure DeviceHeartbeat schema is generated in OpenAPI spec
7621
+ */
7622
+ get: {
7623
+ parameters: {
7624
+ query?: never;
7625
+ header?: never;
7626
+ path?: never;
7627
+ cookie?: never;
7628
+ };
7629
+ requestBody?: never;
7630
+ responses: {
7631
+ /** @description OK */
7632
+ 200: {
7633
+ headers: {
7634
+ [name: string]: unknown;
7635
+ };
7636
+ content: {
7637
+ "application/json": components["schemas"]["models.DeviceHeartbeat"];
7638
+ };
7639
+ };
7640
+ };
7641
+ };
7642
+ put?: never;
7643
+ post?: never;
7644
+ delete?: never;
7645
+ options?: never;
7646
+ head?: never;
7647
+ patch?: never;
7648
+ trace?: never;
7649
+ };
7611
7650
  "/internal/devicekey": {
7612
7651
  parameters: {
7613
7652
  query?: never;
@@ -7725,6 +7764,45 @@ export interface paths {
7725
7764
  patch?: never;
7726
7765
  trace?: never;
7727
7766
  };
7767
+ "/internal/devicemonitor": {
7768
+ parameters: {
7769
+ query?: never;
7770
+ header?: never;
7771
+ path?: never;
7772
+ cookie?: never;
7773
+ };
7774
+ /**
7775
+ * Get DeviceMonitor (schema generation only)
7776
+ * @description Internal endpoint used only to ensure DeviceMonitor schema is generated in OpenAPI spec
7777
+ */
7778
+ get: {
7779
+ parameters: {
7780
+ query?: never;
7781
+ header?: never;
7782
+ path?: never;
7783
+ cookie?: never;
7784
+ };
7785
+ requestBody?: never;
7786
+ responses: {
7787
+ /** @description OK */
7788
+ 200: {
7789
+ headers: {
7790
+ [name: string]: unknown;
7791
+ };
7792
+ content: {
7793
+ "application/json": components["schemas"]["models.DeviceMonitor"];
7794
+ };
7795
+ };
7796
+ };
7797
+ };
7798
+ put?: never;
7799
+ post?: never;
7800
+ delete?: never;
7801
+ options?: never;
7802
+ head?: never;
7803
+ patch?: never;
7804
+ trace?: never;
7805
+ };
7728
7806
  "/internal/deviceoption": {
7729
7807
  parameters: {
7730
7808
  query?: never;
@@ -37050,7 +37128,7 @@ export interface components {
37050
37128
  userId?: string;
37051
37129
  };
37052
37130
  /** @enum {string} */
37053
- "models.AccessTokenScope": "workflow-runs.create" | "workflow-runs.read" | "workflow-runs.update" | "markers.read" | "markers.write" | "markers.all" | "application" | "workflows.read" | "workflows.create" | "workflows.update" | "workflows.delete" | "cases.read" | "cases.create" | "cases.update" | "cases.share" | "cases.export" | "cases.runWorkflow" | "cases.delete" | "media.read" | "media.update" | "media.export" | "media.share" | "media.redact" | "media.delete" | "days.read";
37131
+ "models.AccessTokenScope": "application" | "markers.read" | "markers.write" | "markers.all" | "days.read" | "cases.read" | "cases.create" | "cases.update" | "cases.share" | "cases.export" | "cases.runWorkflow" | "cases.delete" | "workflow-runs.create" | "workflow-runs.read" | "workflow-runs.update" | "workflows.read" | "workflows.create" | "workflows.update" | "workflows.delete" | "media.read" | "media.update" | "media.export" | "media.share" | "media.redact" | "media.delete";
37054
37132
  "models.Account": {
37055
37133
  account?: components["schemas"]["models.AccountBody"];
37056
37134
  };
@@ -38108,23 +38186,22 @@ export interface components {
38108
38186
  };
38109
38187
  "models.Device": {
38110
38188
  agent?: components["schemas"]["models.DeviceAgent"];
38111
- /** @description Last heartbeat from the agent */
38189
+ /** @description Liveness: the inputs the connection status is derived from, kept together.
38190
+ * Timestamps are points in time on the hub's clock (milliseconds since
38191
+ * epoch), written by every heartbeat; readers derive durations and status. */
38112
38192
  agentLastSeen?: number;
38113
38193
  analytics?: components["schemas"]["models.DeprecatedHeartbeat"][];
38114
38194
  /** @description AtRuntimeMetadata is computed when the device is read and never stored. */
38115
38195
  atRuntimeMetadata?: components["schemas"]["models.DeviceAtRuntimeMetadata"];
38196
+ /** @description Provisioning sets CreatedAt (first heartbeat) */
38116
38197
  audit?: components["schemas"]["models.Audit"];
38117
38198
  /** @description Capabilities. Each is optional and any combination is valid, e.g. a camera
38118
38199
  * with a built-in humidity sensor sets both Camera and HumiditySensor.
38119
38200
  * Capability sub-documents hold capabilities and configuration only; live
38120
38201
  * readings go to a time-series collection. */
38121
38202
  camera?: components["schemas"]["models.CameraMetadata"];
38122
- /** @description Liveness (milliseconds since epoch) */
38123
- connectionStart?: number;
38124
- /** @description Last time the agent could reach the device itself */
38203
+ /** @description Last heartbeat in which the agent could reach the device itself */
38125
38204
  deviceLastSeen?: number;
38126
- /** @description Licence concept; moves to the organisation */
38127
- enterprise?: boolean;
38128
38205
  featurePermissions?: components["schemas"]["models.DeviceFeaturePermissions"];
38129
38206
  gps?: components["schemas"]["models.GPSMetadata"];
38130
38207
  groupIds?: string[];
@@ -38137,16 +38214,19 @@ export interface components {
38137
38214
  latestMedia?: components["schemas"]["models.DeviceMediaRef"];
38138
38215
  /** @description Latest media uploaded by the device, from any capability. Kept at the top
38139
38216
  * level: device lists sort on LatestMediaTimestamp. LatestMedia is a value,
38140
- * not a pointer, so readers never need a nil check; an empty Id means the
38141
- * device has no media yet. */
38217
+ * not a pointer, so readers never need a nil check; an empty VideoFile means
38218
+ * the device has no media yet (the media pipeline does not store the Id). */
38142
38219
  latestMediaTimestamp?: number;
38143
38220
  lightSensor?: components["schemas"]["models.LightSensorMetadata"];
38144
- /** @description Fixed placement, not a real-time position */
38221
+ /** @description Location is the fixed placement owners set (DevicePatch), e.g. an
38222
+ * address picked on a map. It is not a real-time position. */
38145
38223
  location?: components["schemas"]["models.Location"];
38146
38224
  metadata?: components["schemas"]["models.DeviceMetadata"];
38225
+ /** @description Last notified state, owned by hub-monitor-device */
38226
+ monitor?: components["schemas"]["models.DeviceMonitor"];
38147
38227
  /** @description Lifecycle */
38148
38228
  mute?: number;
38149
- /** @description e.g. "Front Door Camera" */
38229
+ /** @description Set by users or at provisioning; display falls back to Agent.CameraName */
38150
38230
  name?: string;
38151
38231
  /** @description Tenancy. Heartbeat credentials live on the project: the cloud key resolves
38152
38232
  * to an organisation and project, which must match these fields. */
@@ -38155,17 +38235,25 @@ export interface components {
38155
38235
  projectId?: string;
38156
38236
  schemaVersion?: number;
38157
38237
  siteIds?: string[];
38158
- /** @description Optional override; nil uses project defaults */
38159
- thresholds?: components["schemas"]["models.DeviceThresholds"];
38160
38238
  type?: components["schemas"]["models.DeviceType"];
38161
38239
  /** @description @LEGACY - removed once all readers use the fields above. */
38162
38240
  user_id?: string;
38163
38241
  };
38164
38242
  "models.DeviceAgent": {
38165
38243
  architecture?: string;
38166
- /** @description milliseconds since epoch */
38167
38244
  bootTime?: number;
38168
- /** @description e.g. "factory", "docker", "kubernetes" */
38245
+ /** @description Name configured on the agent */
38246
+ cameraName?: string;
38247
+ /** @description CloudPublicKey is the public key the agent presented in its last
38248
+ * heartbeat. Agents within a project can be on different keys (e.g. a
38249
+ * legacy user key after the project credentials were regenerated), so it
38250
+ * is recorded per device for routing and key status. Authentication still
38251
+ * resolves key -> project; private and symmetric keys never live on the
38252
+ * device. */
38253
+ cloudPublicKey?: string;
38254
+ /** @description Deployment is how the agent runs: "factory", "kubernetes", "docker",
38255
+ * "kios" or "raspberrypi". It replaces the agent's legacy enterprise flag,
38256
+ * which only meant running under Kerberos Factory or Kubernetes. */
38169
38257
  deployment?: string;
38170
38258
  e2eEncryption?: boolean;
38171
38259
  hostname?: string;
@@ -38183,7 +38271,13 @@ export interface components {
38183
38271
  /** @description Build hash of the agent */
38184
38272
  releaseHash?: string;
38185
38273
  repository?: string;
38186
- uptimeSeconds?: number;
38274
+ /** @description StartedAt (agent process start) and BootTime (host boot) are points in
38275
+ * time on the hub's clock (milliseconds since epoch), displayed as agent and
38276
+ * host uptime (now - StartedAt, now - BootTime). Durations are never
38277
+ * stored: they are stale as soon as they are written. Agents report both as
38278
+ * human-readable durations ("10 hours"), so the hub derives them on a
38279
+ * detected restart or reboot; they are approximate until the next one. */
38280
+ startedAt?: number;
38187
38281
  /** @description Release tag of the agent */
38188
38282
  version?: string;
38189
38283
  };
@@ -38196,18 +38290,35 @@ export interface components {
38196
38290
  /** @enum {string} */
38197
38291
  "models.DeviceCapability": "camera" | "lightSensor" | "humiditySensor" | "gps";
38198
38292
  /** @enum {string} */
38199
- "models.DeviceConnectionStatus": "connected" | "healthy" | "idle" | "disconnected";
38293
+ "models.DeviceConnectionStatus": "connected" | "idle" | "disconnected";
38200
38294
  "models.DeviceData": {
38201
38295
  activeDevices?: number;
38202
38296
  totalDevices?: number;
38203
38297
  };
38204
38298
  "models.DeviceFeaturePermissions": {
38299
+ downloadRecordings?: components["schemas"]["models.PermissionLevel"];
38205
38300
  floorPlans?: components["schemas"]["models.PermissionLevel"];
38206
38301
  io?: components["schemas"]["models.PermissionLevel"];
38207
38302
  liveview?: components["schemas"]["models.PermissionLevel"];
38208
38303
  ptz?: components["schemas"]["models.PermissionLevel"];
38209
38304
  remoteConfig?: components["schemas"]["models.PermissionLevel"];
38210
38305
  };
38306
+ "models.DeviceHeartbeat": {
38307
+ /** @description Agent holds the agent-reported fields. StartedAt and BootTime are only
38308
+ * set when the receiver detected a restart or reboot; 0 keeps the stored
38309
+ * value. */
38310
+ agent?: components["schemas"]["models.DeviceAgent"];
38311
+ /** @description Camera holds the agent-reported camera fields; the user-owned ones
38312
+ * (FieldOfView, Presets, Tours) are ignored. Nil for devices without the
38313
+ * camera capability. */
38314
+ camera?: components["schemas"]["models.CameraMetadata"];
38315
+ /** @description ReceivedAt is when the hub received the heartbeat, on the hub's clock
38316
+ * (milliseconds since epoch). Agent clocks are not trusted. */
38317
+ receivedAt?: number;
38318
+ /** @description Type is the device's primary kind as known to the agent; empty keeps the
38319
+ * stored type. */
38320
+ type?: components["schemas"]["models.DeviceType"];
38321
+ };
38211
38322
  "models.DeviceKey": {
38212
38323
  key?: string;
38213
38324
  name?: string;
@@ -38241,6 +38352,12 @@ export interface components {
38241
38352
  /** @description VLM holds the stable ("normal") scenes used as context for VLM analysis. */
38242
38353
  vlm?: components["schemas"]["models.DeviceVLMMetadata"];
38243
38354
  };
38355
+ "models.DeviceMonitor": {
38356
+ /** @description milliseconds since epoch */
38357
+ changedAt?: number;
38358
+ /** @description "active" or "inactive" */
38359
+ status?: string;
38360
+ };
38244
38361
  "models.DeviceOption": {
38245
38362
  id?: string;
38246
38363
  text?: string;
@@ -38255,6 +38372,8 @@ export interface components {
38255
38372
  hidden?: boolean;
38256
38373
  installationDate?: string;
38257
38374
  lastMaintenance?: string;
38375
+ /** @description Replaces the whole location */
38376
+ location?: components["schemas"]["models.Location"];
38258
38377
  model?: string;
38259
38378
  name?: string;
38260
38379
  onFloorPlans?: string[];
@@ -38291,7 +38410,6 @@ export interface components {
38291
38410
  };
38292
38411
  "models.DeviceThresholds": {
38293
38412
  disconnected?: number;
38294
- healthy?: number;
38295
38413
  idle?: number;
38296
38414
  };
38297
38415
  /** @enum {string} */
@@ -39502,7 +39620,7 @@ export interface components {
39502
39620
  videowall?: components["schemas"]["models.Videowall"];
39503
39621
  };
39504
39622
  /** @enum {string} */
39505
- "models.Permission": "workflow-runs.create" | "workflow-runs.read" | "workflow-runs.update" | "markers.read" | "markers.write" | "markers.all" | "application" | "workflows.read" | "workflows.create" | "workflows.update" | "workflows.delete" | "cases.read" | "cases.create" | "cases.update" | "cases.share" | "cases.export" | "cases.runWorkflow" | "cases.delete" | "media.read" | "media.update" | "media.export" | "media.share" | "media.redact" | "media.delete" | "days.read";
39623
+ "models.Permission": "application" | "markers.read" | "markers.write" | "markers.all" | "days.read" | "cases.read" | "cases.create" | "cases.update" | "cases.share" | "cases.export" | "cases.runWorkflow" | "cases.delete" | "workflow-runs.create" | "workflow-runs.read" | "workflow-runs.update" | "workflows.read" | "workflows.create" | "workflows.update" | "workflows.delete" | "media.read" | "media.update" | "media.export" | "media.share" | "media.redact" | "media.delete";
39506
39624
  /** @enum {integer} */
39507
39625
  "models.PermissionLevel": 1 | 2 | 3 | 4 | 2 | 3 | 4 | 5 | 2 | 3 | 2 | 2 | 3 | 2 | 3 | 4;
39508
39626
  "models.Permissions": {
@@ -41540,9 +41658,11 @@ export declare namespace models {
41540
41658
  type DeviceAtRuntimeMetadata = components['schemas']['models.DeviceAtRuntimeMetadata'];
41541
41659
  type DeviceData = components['schemas']['models.DeviceData'];
41542
41660
  type DeviceFeaturePermissions = components['schemas']['models.DeviceFeaturePermissions'];
41661
+ type DeviceHeartbeat = components['schemas']['models.DeviceHeartbeat'];
41543
41662
  type DeviceKey = components['schemas']['models.DeviceKey'];
41544
41663
  type DeviceMediaRef = components['schemas']['models.DeviceMediaRef'];
41545
41664
  type DeviceMetadata = components['schemas']['models.DeviceMetadata'];
41665
+ type DeviceMonitor = components['schemas']['models.DeviceMonitor'];
41546
41666
  type DeviceOption = components['schemas']['models.DeviceOption'];
41547
41667
  type DevicePatch = components['schemas']['models.DevicePatch'];
41548
41668
  type DevicePlacement = components['schemas']['models.DevicePlacement'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uug-ai/models",
3
- "version": "1.7.73",
3
+ "version": "1.7.74",
4
4
  "description": "TypeScript type definitions for Go models",
5
5
  "main": "dist/types.js",
6
6
  "types": "dist/types.d.ts",