@evercam/api 1.0.0-739cf3776 → 1.0.0-741727bc1

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 (150) hide show
  1. package/README.md +4 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +221 -0
  3. package/dist/api/api/adminApi.d.ts +394 -0
  4. package/dist/api/api/aiApi.d.ts +251 -0
  5. package/dist/api/api/authzApi.d.ts +40 -0
  6. package/dist/api/{client → api/client}/axios.d.ts +2 -1
  7. package/dist/api/{client → api/client}/customErrors.d.ts +10 -0
  8. package/dist/api/{client → api/client}/interceptors.d.ts +1 -1
  9. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  10. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  11. package/dist/api/api/evercamApi.d.ts +360 -0
  12. package/dist/api/api/evercamLabsApi.d.ts +34 -0
  13. package/dist/api/{exNvrApi.d.ts → api/exNvrApi.d.ts} +1 -1
  14. package/dist/api/api/index.d.ts +14 -0
  15. package/dist/api/api/ingestApi.d.ts +166 -0
  16. package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +12 -3
  17. package/dist/api/api/reportsApi.d.ts +15 -0
  18. package/dist/api/api/videoWallApi.d.ts +9 -0
  19. package/dist/api/{weatherApi.d.ts → api/weatherApi.d.ts} +2 -2
  20. package/dist/api/index.d.ts +3 -13
  21. package/dist/api/types/360.d.ts +365 -0
  22. package/dist/api/types/aconex.d.ts +143 -0
  23. package/dist/api/types/admin.d.ts +51 -0
  24. package/dist/api/types/aiConfigs.d.ts +244 -0
  25. package/dist/{types → api/types}/analytics.d.ts +225 -58
  26. package/dist/{types → api/types}/anpr.d.ts +55 -13
  27. package/dist/api/types/apiKey.d.ts +70 -0
  28. package/dist/api/types/auditLogs.d.ts +242 -0
  29. package/dist/api/types/authz.d.ts +132 -0
  30. package/dist/{types → api/types}/autodesk.d.ts +7 -7
  31. package/dist/api/types/automation.d.ts +123 -0
  32. package/dist/{types → api/types}/axios.d.ts +32 -11
  33. package/dist/{types → api/types}/bim.d.ts +39 -10
  34. package/dist/{types → api/types}/camera.d.ts +148 -121
  35. package/dist/api/types/comments.d.ts +64 -0
  36. package/dist/api/types/company.d.ts +114 -0
  37. package/dist/{types → api/types}/compare.d.ts +21 -6
  38. package/dist/{types → api/types}/connector.d.ts +9 -5
  39. package/dist/api/types/coolify.d.ts +36 -0
  40. package/dist/{types → api/types}/countries.d.ts +0 -7
  41. package/dist/{types → api/types}/credentials.d.ts +1 -0
  42. package/dist/api/types/detections.d.ts +117 -0
  43. package/dist/api/types/drone.d.ts +106 -0
  44. package/dist/{types → api/types}/errors.d.ts +30 -1
  45. package/dist/{types → api/types}/gateReport.d.ts +49 -168
  46. package/dist/api/types/gateReportManagement.d.ts +170 -0
  47. package/dist/api/types/hammertech.d.ts +98 -0
  48. package/dist/{types → api/types}/hdd.d.ts +26 -1
  49. package/dist/{types → api/types}/index.d.ts +20 -3
  50. package/dist/api/types/ingest.d.ts +301 -0
  51. package/dist/{types → api/types}/kit.d.ts +103 -105
  52. package/dist/api/types/map.d.ts +16 -0
  53. package/dist/{types → api/types}/media.d.ts +9 -3
  54. package/dist/api/types/notification.d.ts +107 -0
  55. package/dist/{types → api/types}/nvr.d.ts +8 -8
  56. package/dist/api/types/oauth.d.ts +62 -0
  57. package/dist/api/types/observationEvents.d.ts +141 -0
  58. package/dist/api/types/observations.d.ts +80 -0
  59. package/dist/api/types/planner.d.ts +125 -0
  60. package/dist/api/types/posthog.d.ts +53 -0
  61. package/dist/api/types/procore.d.ts +229 -0
  62. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  63. package/dist/api/types/project.d.ts +259 -0
  64. package/dist/{types → api/types}/recording.d.ts +10 -16
  65. package/dist/api/types/recycleBin.d.ts +14 -0
  66. package/dist/api/types/reports.d.ts +108 -0
  67. package/dist/api/types/ring.d.ts +53 -0
  68. package/dist/{types → api/types}/roi.d.ts +3 -11
  69. package/dist/{types → api/types}/routeParams.d.ts +5 -2
  70. package/dist/{types → api/types}/router.d.ts +20 -1
  71. package/dist/{types → api/types}/shared.d.ts +43 -31
  72. package/dist/api/types/shares.d.ts +45 -0
  73. package/dist/{types → api/types}/sim.d.ts +6 -6
  74. package/dist/api/types/siteAnalytics.d.ts +285 -0
  75. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  76. package/dist/api/types/siteView.d.ts +78 -0
  77. package/dist/api/types/smartSeach.d.ts +5 -0
  78. package/dist/api/types/snapshots.d.ts +104 -0
  79. package/dist/api/types/socket.d.ts +4 -0
  80. package/dist/api/types/sso.d.ts +55 -0
  81. package/dist/api/types/storageProvider.d.ts +19 -0
  82. package/dist/api/types/storyblok.d.ts +27 -0
  83. package/dist/{types → api/types}/streaming.d.ts +4 -5
  84. package/dist/{types → api/types}/tag.d.ts +1 -1
  85. package/dist/api/types/time.d.ts +7 -0
  86. package/dist/{types → api/types}/timelapse.d.ts +7 -11
  87. package/dist/{types → api/types}/user.d.ts +121 -40
  88. package/dist/api/types/videoWall.d.ts +66 -0
  89. package/dist/api/types/weather.d.ts +153 -0
  90. package/dist/{types → api/types}/widget.d.ts +96 -16
  91. package/dist/{types → api/types}/xweather.d.ts +4 -4
  92. package/dist/{utils.d.ts → api/utils.d.ts} +1 -0
  93. package/dist/index.d.ts +2 -3
  94. package/dist/index.js +3086 -1068
  95. package/dist/index.js.map +1 -1
  96. package/dist/index.umd.cjs +1 -1
  97. package/dist/index.umd.cjs.map +1 -1
  98. package/dist/shared/api/index.d.ts +3 -0
  99. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  100. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  101. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  102. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  103. package/dist/shared/types/components.d.ts +540 -0
  104. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  105. package/dist/shared/types/droneUpload.d.ts +93 -0
  106. package/dist/shared/types/imagePlayer.d.ts +41 -0
  107. package/dist/shared/types/index.d.ts +9 -0
  108. package/dist/shared/types/observations.d.ts +25 -0
  109. package/dist/shared/types/rbac.d.ts +67 -0
  110. package/dist/shared/types/report.d.ts +107 -0
  111. package/dist/shared/types/timeline.d.ts +10 -0
  112. package/dist/shared/utils/datePickerValue.d.ts +36 -0
  113. package/dist/shared/utils/datePresets.d.ts +31 -0
  114. package/package.json +7 -4
  115. package/dist/api/3dFirebaseApi.d.ts +0 -9
  116. package/dist/api/adminApi.d.ts +0 -313
  117. package/dist/api/aiApi.d.ts +0 -121
  118. package/dist/api/authzApi.d.ts +0 -21
  119. package/dist/api/evercamApi.d.ts +0 -273
  120. package/dist/api/evercamLabsApi.d.ts +0 -42
  121. package/dist/api/ingestApi.d.ts +0 -68
  122. package/dist/api/videoWallApi.d.ts +0 -9
  123. package/dist/types/360.d.ts +0 -83
  124. package/dist/types/aconex.d.ts +0 -45
  125. package/dist/types/auditLogs.d.ts +0 -99
  126. package/dist/types/automation.d.ts +0 -6
  127. package/dist/types/comments.d.ts +0 -43
  128. package/dist/types/company.d.ts +0 -46
  129. package/dist/types/coolify.d.ts +0 -18
  130. package/dist/types/copilot.d.ts +0 -157
  131. package/dist/types/detections.d.ts +0 -76
  132. package/dist/types/drone.d.ts +0 -17
  133. package/dist/types/ingest.d.ts +0 -43
  134. package/dist/types/map.d.ts +0 -4
  135. package/dist/types/notification.d.ts +0 -27
  136. package/dist/types/planner.d.ts +0 -28
  137. package/dist/types/procore.d.ts +0 -76
  138. package/dist/types/project.d.ts +0 -123
  139. package/dist/types/shares.d.ts +0 -196
  140. package/dist/types/siteAnalytics.d.ts +0 -123
  141. package/dist/types/snapshots.d.ts +0 -50
  142. package/dist/types/storageServers.d.ts +0 -4
  143. package/dist/types/time.d.ts +0 -19
  144. package/dist/types/vendorModel.d.ts +0 -15
  145. package/dist/types/videoWall.d.ts +0 -33
  146. package/dist/types/weather.d.ts +0 -87
  147. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  148. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  149. /package/dist/{types → api/types}/systemCheck.d.ts +0 -0
  150. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
@@ -0,0 +1,259 @@
1
+ import { AdminCamera, Camera, CameraExid, DateType, EntityByExid, Exid, Operator, PaginationParams } from "@evercam/api/types";
2
+ export type ProjectExid = Exid;
3
+ export type ProjectsByExid = EntityByExid<Project>;
4
+ export type Project = {
5
+ archiveTier?: ProjectArchiveTier;
6
+ cameras?: Array<Camera | AdminCamera>;
7
+ camerasCount?: number;
8
+ camerasRestrictionType?: string;
9
+ companyId: number;
10
+ endDate: string;
11
+ exid: ProjectExid;
12
+ featureFlags: Array<ProjectFeatureFlag>;
13
+ geographicBounds?: unknown;
14
+ id: string | number;
15
+ insertedAt?: string;
16
+ name: string;
17
+ owner?: {
18
+ email?: string;
19
+ };
20
+ ownerEmail?: string;
21
+ ownerName?: string;
22
+ startedAt?: string;
23
+ status?: ProjectStatus;
24
+ timezone?: string;
25
+ unrestrictedCameras?: Camera[];
26
+ userId?: number;
27
+ zohoId?: string;
28
+ };
29
+ export type AdminProjectCameraRef = {
30
+ exid: string;
31
+ name: string;
32
+ };
33
+ export type AdminProjectListItem = {
34
+ id: number;
35
+ name: string;
36
+ status: ProjectStatus | string;
37
+ insertedAt: string;
38
+ timezone: string | null;
39
+ exid: ProjectExid;
40
+ endDate: string | null;
41
+ startDate: string | null;
42
+ archiveTier: ProjectArchiveTier | null;
43
+ featureFlags: Array<ProjectFeatureFlag | string>;
44
+ zohoId: string | null;
45
+ ownerEmail: string | null;
46
+ companyId: number | null;
47
+ companyName: string | null;
48
+ ownerName: string | null;
49
+ archived: boolean;
50
+ cameras?: AdminProjectCameraRef[];
51
+ };
52
+ export type AdminProjectDetail = AdminProjectListItem & {
53
+ userId: number;
54
+ };
55
+ export declare enum ProjectStatus {
56
+ ToStart = "To Start",
57
+ InProgress = "In Progress",
58
+ Completed = "Completed",
59
+ NotAplicable = "Not Applicable"
60
+ }
61
+ export declare enum ProjectArchiveTier {
62
+ Full = "Full",
63
+ Partial = "Partial",
64
+ Minimal = "Minimal",
65
+ ScheduledForDeletion = "Scheduled for Deletion",
66
+ No = "No"
67
+ }
68
+ export type UpdateCameraRestrictionPayload = {
69
+ isAccessRestricted?: boolean;
70
+ };
71
+ export type CameraPosition = {
72
+ cameraExid: CameraExid;
73
+ position: number;
74
+ };
75
+ export type ReorderCamerasPayload = {
76
+ positions: CameraPosition[];
77
+ };
78
+ export type Logo = {
79
+ id: number;
80
+ projectId: number;
81
+ name: string;
82
+ url: string;
83
+ };
84
+ export type ProjectLogoResponsePayload = Logo[];
85
+ export declare enum ProjectFeatureFlag {
86
+ AnprLegacy = "anpr_legacy",
87
+ DroneView = "drone_view",
88
+ Bim = "4d_bim",
89
+ BimItwin = "4d_bim_itwin",
90
+ BimForge = "4d_bim_forge",
91
+ ThreeSixtyView = "360_view",
92
+ NdaMc = "NDA/MC",
93
+ GateReport = "gate_report",
94
+ GateReportMotionDetection = "motion_detection",
95
+ FullEmpty = "full_empty",
96
+ MediaHubSharing = "archives_sharing",
97
+ GateReportAnprBased = "anpr_sourced",
98
+ NoLicensePlate = "no_license_plate",
99
+ SmartSearch = "smart_search",
100
+ PpeMonitoring = "ppe_monitoring",
101
+ NoGdpr = "no_gdpr",
102
+ Chat = "chat"
103
+ }
104
+ export type ProjectBatteryReading = {
105
+ exid: number;
106
+ voltage: number;
107
+ lastSeen: DateType;
108
+ };
109
+ export type ThumbnailData = {
110
+ cameraExid: CameraExid;
111
+ custom: boolean;
112
+ image: string;
113
+ };
114
+ export type ProjectsQueryParams = PaginationParams & {
115
+ name: string;
116
+ exid: string;
117
+ status: ProjectStatus;
118
+ cameras: string;
119
+ featureFlags: Array<ProjectFeatureFlag>;
120
+ featureFlagsOperator?: Operator;
121
+ archived: string;
122
+ };
123
+ export type ProjectCreateRequestPayload = {
124
+ projectExid?: string;
125
+ projectName: string;
126
+ ownerId: number;
127
+ cameras: string[];
128
+ };
129
+ export type ProjectCreateResponse = {
130
+ name: string;
131
+ exid: string;
132
+ id: number;
133
+ userId: number;
134
+ zohoId: string;
135
+ };
136
+ export type ProjectUpdateRequestPayload = {
137
+ name: string;
138
+ timezone: string;
139
+ featureFlags: ProjectFeatureFlag[];
140
+ cameras: string[];
141
+ };
142
+ export type ProjectStatusStats = {
143
+ nil: number;
144
+ Completed: number;
145
+ "In Progress": number;
146
+ "Not Applicable": number;
147
+ "To Start": number;
148
+ };
149
+ export type ProjectUserProperty = {
150
+ active: boolean;
151
+ activeOneMonth: boolean;
152
+ cameraExid: string;
153
+ cameraName: string;
154
+ cameraRights: string;
155
+ email: string;
156
+ eventsCount: number;
157
+ fullname: string;
158
+ id: number;
159
+ lastSeenAt: string;
160
+ persona: string;
161
+ };
162
+ export type ProjectUsers = {
163
+ cameras: {
164
+ exid: string;
165
+ name: string;
166
+ }[];
167
+ users: Record<string, ProjectUserProperty[]>;
168
+ };
169
+ export type ProjectRole = {
170
+ id: number;
171
+ name: string;
172
+ };
173
+ export type ProjectMember = {
174
+ id: string;
175
+ key?: string;
176
+ email: string;
177
+ fullname: string;
178
+ lastSeenAt?: string;
179
+ role: ProjectRole;
180
+ permissions?: string[];
181
+ subRoles?: Array<{
182
+ resourceId: string;
183
+ roleId: number;
184
+ }>;
185
+ company?: {
186
+ name: string;
187
+ } | null;
188
+ };
189
+ export type ProjectInvite = {
190
+ id: number;
191
+ email: string;
192
+ role?: ProjectRole;
193
+ permissions?: string[];
194
+ subRoles?: Array<{
195
+ resourceId: string;
196
+ roleId: number;
197
+ }>;
198
+ invitedAt?: string;
199
+ };
200
+ export type ProjectMembersResponsePayload = {
201
+ users: ProjectMember[];
202
+ invites: ProjectInvite[];
203
+ errors: ProjectUserError[];
204
+ };
205
+ export type ProjectMembersRequestPayload = {
206
+ roleId: number;
207
+ emails: string[];
208
+ message?: string;
209
+ overrideRole?: Partial<{
210
+ permissions?: string[];
211
+ subRoles?: Array<{
212
+ resourceId: string;
213
+ roleId: number;
214
+ }>;
215
+ }>;
216
+ };
217
+ export type ProjectInviteMembersResponsePayload = {
218
+ users: ProjectMember[];
219
+ invites: ProjectInvite[];
220
+ };
221
+ export type PlaceholderThumbnailData = {
222
+ placeholder: string;
223
+ };
224
+ export type ProjectUserError = {
225
+ email: string;
226
+ error: Record<string, string[]>;
227
+ };
228
+ export type ProjectUsersResponsePayload = {
229
+ users: ProjectMember[];
230
+ invites: ProjectInvite[];
231
+ errors: ProjectUserError[];
232
+ };
233
+ export type MentionableUser = {
234
+ id: number;
235
+ fullname: string;
236
+ email: string;
237
+ };
238
+ export type ProjectStorageQueryParams = PaginationParams & {
239
+ cameraName: string;
240
+ cameraExid: CameraExid;
241
+ status: ProjectStorageStatus;
242
+ };
243
+ export type ProjectStorage = {
244
+ id: number;
245
+ cameraExid: CameraExid;
246
+ cameraName: string;
247
+ projectExid: string;
248
+ projectName: string;
249
+ status: ProjectStorageStatus;
250
+ requestor: string;
251
+ created_at: DateType;
252
+ };
253
+ export declare enum ProjectStorageStatus {
254
+ New = "new",
255
+ Pending = "pending",
256
+ Processing = "processing",
257
+ Completed = "completed",
258
+ Failed = "failed"
259
+ }
@@ -1,21 +1,24 @@
1
- import { ApiCredentials } from "@/types";
1
+ import { ApiCredentials, PaginationParams } from "@evercam/api/types";
2
2
  import { CancelToken } from "axios";
3
3
  export type Snapshot = {
4
4
  createdAt: string;
5
5
  data: string;
6
6
  status?: string;
7
7
  };
8
- export type NearestSnapshotRequestPayload = {
8
+ export type SnapshotRequestPayload = {
9
9
  apiKey?: string;
10
10
  apiId?: string;
11
11
  token?: string;
12
12
  cancelToken?: object;
13
+ includeImage?: boolean;
14
+ view?: boolean;
13
15
  };
14
16
  export type AvailableDaysRequestPayload = {
15
17
  cameraId: string;
16
18
  year: string;
17
19
  month: string;
18
20
  payload?: ApiCredentials;
21
+ cancelToken?: CancelToken;
19
22
  };
20
23
  export type AvailableDaysResponsePayload = {
21
24
  days: Array<number>;
@@ -38,11 +41,9 @@ export type NearestSnapshotResponsePayload = {
38
41
  notes?: string;
39
42
  }>;
40
43
  };
41
- export type SnapshotRangeRequestPayload = {
44
+ export type SnapshotRangeRequestPayload = PaginationParams & {
42
45
  from: string;
43
46
  to: string;
44
- limit?: number;
45
- page?: number;
46
47
  schedule?: boolean;
47
48
  count?: number;
48
49
  };
@@ -55,9 +56,7 @@ export type SnapshotRangeResponsePayload = {
55
56
  snapshots: Array<SnapshotInstance>;
56
57
  };
57
58
  export declare enum BrainTool {
58
- Detections = "detections",
59
- Segmentation = "sam",
60
- DepthAnalysis = "depthAnalysis"
59
+ Detections = "detections"
61
60
  }
62
61
  export declare enum CloudRecordingFrequency {
63
62
  EverySecond = 60,
@@ -77,6 +76,7 @@ export declare enum CloudRecordingDuration {
77
76
  Month = 30,
78
77
  ThreeMonths = 90
79
78
  }
79
+ export declare const CloudRecordingDurationLabel: Record<CloudRecordingDuration, string>;
80
80
  export declare enum CloudRecordingStatus {
81
81
  On = "on",
82
82
  Off = "off",
@@ -104,13 +104,6 @@ export declare enum SnapshotExtractionInterval {
104
104
  }
105
105
  export declare enum VpnServer {
106
106
  None = "None",
107
- OpenVPN1 = "OpenVPN1",
108
- OpenVPN2 = "OpenVPN2",
109
- OpenVPN3 = "OpenVPN3",
110
- OpenVPN4 = "OpenVPN4",
111
- OpenVPN5 = "OpenVPN5",
112
- PPTP1 = "PPTP1",
113
- PPTP2 = "PPTP2",
114
107
  WireGuard1 = "WireGuard1",
115
108
  WireGuard2 = "WireGuard2",
116
109
  WireGuard3 = "WireGuard3",
@@ -120,5 +113,6 @@ export declare enum VpnServer {
120
113
  WireGuard7 = "WireGuard7",
121
114
  WireGuard8 = "WireGuard8",
122
115
  WireGuard9 = "WireGuard9",
123
- WireGuard10 = "WireGuard10"
116
+ WireGuard10 = "WireGuard10",
117
+ WgHub = "WgHub"
124
118
  }
@@ -0,0 +1,14 @@
1
+ import type { DateType, PaginationParams } from "@evercam/api/types";
2
+ export type RecycleBin = {
3
+ id?: number;
4
+ exid: string;
5
+ name: string;
6
+ type: string;
7
+ deletedBy: string;
8
+ deletedAt: DateType;
9
+ };
10
+ export type RecycleBinQueryParams = PaginationParams & {
11
+ name: string;
12
+ type: string;
13
+ deletedBy: string;
14
+ };
@@ -0,0 +1,108 @@
1
+ /**
2
+ * The Evercam Reports engine (evercam-agent-kit), as the admin app sees it.
3
+ *
4
+ * These mirror `evercam_reports/api/schemas.py`. The engine speaks camelCase over
5
+ * the wire, so the admin client reads it with `preserveCasing: true` and these are
6
+ * the shapes as received. Named `Chat*`, after the product; the Vue 3 agent app's
7
+ * own workflow types live in `packages/agent`, unreachable here.
8
+ */
9
+ /** What kind of conversation this is. Chat only ever opens `chat`. */
10
+ export declare enum ChatMode {
11
+ Report = "report",
12
+ Chat = "chat"
13
+ }
14
+ /** Whose conversations a list covers. Only an admin is ever given `all`. */
15
+ export declare enum ChatScope {
16
+ Mine = "mine",
17
+ Account = "account",
18
+ All = "all"
19
+ }
20
+ /** A flat token tally, as the engine reports it. */
21
+ export type ChatUsage = {
22
+ inputTokens?: number;
23
+ outputTokens?: number;
24
+ cacheCreationInputTokens?: number;
25
+ cacheReadInputTokens?: number;
26
+ };
27
+ /** One recorded tool step in a turn's trace, compacted by the engine. */
28
+ export type ChatTraceStep = {
29
+ step?: number | null;
30
+ tool?: string | null;
31
+ result?: string | null;
32
+ durationMs?: number | null;
33
+ usage?: ChatUsage | null;
34
+ args?: unknown;
35
+ };
36
+ /** One stored turn, as the engine returns it inside a conversation. */
37
+ export type ChatTurn = {
38
+ id: string;
39
+ userText?: string | null;
40
+ assistantText?: string | null;
41
+ thinkingSummary?: string | null;
42
+ artifact?: unknown;
43
+ /** The agent's tool steps for this answer. Absent on turns stored before traces. */
44
+ trace?: ChatTraceStep[] | null;
45
+ /** This turn's own token usage. */
46
+ usage?: ChatUsage | null;
47
+ runId?: string | null;
48
+ at?: string | null;
49
+ };
50
+ /** A conversation in full, with its transcript, cost ledger and per-turn traces. */
51
+ export type ChatSession = {
52
+ id: string;
53
+ environment: string;
54
+ mode: string;
55
+ title: string | null;
56
+ projectExid: string | null;
57
+ projectName: string | null;
58
+ cameraExids: string[] | null;
59
+ turns: ChatTurn[];
60
+ savedReportId: string | null;
61
+ createdBy: string | null;
62
+ createdAt: string;
63
+ updatedAt: string;
64
+ usage?: ChatUsage | null;
65
+ usageByModel?: Record<string, ChatUsage> | null;
66
+ model?: string | null;
67
+ /** Money as a string, or `null` (never `0`) when the conversation is unpriced. */
68
+ costUsd?: string | null;
69
+ priceBasis?: Record<string, unknown> | null;
70
+ };
71
+ /** One conversation as a list row — metadata and cost, without the transcript. */
72
+ export type ChatSummary = {
73
+ id: string;
74
+ environment: string;
75
+ mode: string;
76
+ title: string | null;
77
+ projectExid: string | null;
78
+ projectName: string | null;
79
+ cameraExids: string[] | null;
80
+ createdBy: string | null;
81
+ createdAt: string;
82
+ updatedAt: string;
83
+ turnCount: number;
84
+ usage?: ChatUsage | null;
85
+ model?: string | null;
86
+ costUsd?: string | null;
87
+ };
88
+ /** A page of conversations for the admin viewer. */
89
+ export type ChatListPage = {
90
+ chats: ChatSummary[];
91
+ total: number;
92
+ /** The scope the engine actually applied. */
93
+ scope: ChatScope;
94
+ };
95
+ /** Query params the admin conversations list accepts. */
96
+ export type ChatListParams = {
97
+ scope?: ChatScope;
98
+ mode?: ChatMode;
99
+ projectExid?: string;
100
+ createdBy?: string;
101
+ q?: string;
102
+ from?: string;
103
+ to?: string;
104
+ sort?: string;
105
+ direction?: "asc" | "desc";
106
+ offset?: number;
107
+ limit?: number;
108
+ };
@@ -0,0 +1,53 @@
1
+ export type RingCompleteLinkingPayload = {
2
+ nonce: string;
3
+ time: string;
4
+ };
5
+ /** The only auto-import status complete-linking returns today. */
6
+ export declare const RING_AUTO_IMPORT_QUEUED = "queued";
7
+ export type RingAutoImportStatus = typeof RING_AUTO_IMPORT_QUEUED;
8
+ export type RingCompleteLinkingResponsePayload = {
9
+ status: string;
10
+ /** Absent when the API did not schedule an import. */
11
+ autoImport?: RingAutoImportStatus;
12
+ };
13
+ export type RingDevice = {
14
+ deviceId: string;
15
+ name: string;
16
+ /** Resolved from Ring's `device-status`; null when Ring did not return it. */
17
+ online: boolean | null;
18
+ deviceType: string | null;
19
+ firmwareVersion: string | null;
20
+ /** Always null — Ring's API does not expose device power level. */
21
+ batteryLife: number | null;
22
+ location: string | null;
23
+ imported: boolean;
24
+ cameraExid?: string;
25
+ projectExid?: string;
26
+ projectName?: string;
27
+ };
28
+ export type RingDevicesResponsePayload = {
29
+ devices: RingDevice[];
30
+ };
31
+ export type RingMoveDevicePayload = {
32
+ projectExid: string;
33
+ };
34
+ export type RingMoveDeviceResponsePayload = {
35
+ status: string;
36
+ cameraExid: string;
37
+ projectExid: string;
38
+ };
39
+ export type RingLiveViewPayload = {
40
+ sdpOffer: string;
41
+ };
42
+ export type RingLiveViewResponse = {
43
+ sdpAnswer: string;
44
+ sessionUrl: string;
45
+ iceServers: Array<{
46
+ urls: string;
47
+ username?: string;
48
+ credential?: string;
49
+ }>;
50
+ };
51
+ export type RingStopLiveViewResponse = {
52
+ status: string;
53
+ };
@@ -3,23 +3,15 @@ export declare enum RoiType {
3
3
  AnprContext = "anpr_context",
4
4
  ExclusionZone = "exclusion_zone",
5
5
  WorkflowArea = "workflow_area",
6
- SiteAnalytics = "site_analytics"
6
+ SiteAnalytics = "site_analytics",
7
+ Ppe = "ppe_roi"
7
8
  }
8
9
  export declare enum RoiShapeType {
9
10
  Polygon = "polygon",
10
11
  Line = "line",
11
12
  Direction = "direction",
12
- Rectangle = "rectangle",
13
- ROIBox = "ROIBox"
13
+ Rectangle = "rectangle"
14
14
  }
15
- export type RoiShape = {
16
- id: number | null;
17
- name: string;
18
- x1: number;
19
- x2: number;
20
- y1: number;
21
- y2: number;
22
- };
23
15
  export declare enum RoiDirection {
24
16
  Arrived = "arrived",
25
17
  Left = "left",
@@ -1,6 +1,7 @@
1
1
  export type RouteParams = {
2
2
  projectExid?: string;
3
3
  cameraExid?: string;
4
+ mediaExid?: string;
4
5
  timestamp?: string;
5
6
  fromDate?: string;
6
7
  toDate?: string;
@@ -16,8 +17,9 @@ export declare enum TimelineUrlParam {
16
17
  ToDate = "toDate",
17
18
  Live = "live",
18
19
  Video = "video",
19
- BeforeTimestamp = "beforeTimestamp",
20
20
  OverlayType = "overlayType",
21
+ ShowOverlay = "showOverlay",
22
+ ShowCompare = "showCompare",
21
23
  Sidebar = "sidebar",
22
24
  ThreeSixtyId = "_360Id",
23
25
  DroneId = "droneId",
@@ -45,6 +47,7 @@ export declare enum TimelineMobileCaptureUrlParams {
45
47
  ShowMobileCapture = "showMobileCapture"
46
48
  }
47
49
  export declare enum TimelineCommentsUrlParams {
48
- ShowComments = "showComments"
50
+ ShowComments = "showComments",
51
+ SelectedCommentId = "selectedCommentId"
49
52
  }
50
53
  export type TimelineUrlParams = Record<TimelineUrlParam | TimelineMediaUrlParams | TimelineBimUrlParams | TimelineExNvrRecordingsUrlParams | TimelineAnprUrlParams | TimelineMobileCaptureUrlParams | TimelineCommentsUrlParams, string | null>;
@@ -1,4 +1,4 @@
1
- import { Camera, PaginationParams, Project, Sim } from "@/types";
1
+ import { Camera, PaginationParams, Project, Sim } from "@evercam/api/types";
2
2
  export type RouterBillPayer = {
3
3
  name: string;
4
4
  };
@@ -47,6 +47,10 @@ export declare enum RouterStatus {
47
47
  Active = "active",
48
48
  Inactive = "inactive"
49
49
  }
50
+ export declare enum RouterScanInputMode {
51
+ Qr = "qr",
52
+ Manual = "manual"
53
+ }
50
54
  export type RouterQueryParams = PaginationParams & {
51
55
  routerType: string;
52
56
  vpnServer: string;
@@ -65,3 +69,18 @@ export type RouterCreatePayload = {
65
69
  vpnServer?: string;
66
70
  netbirdUrl?: string;
67
71
  };
72
+ export type RouterQRScanResult = {
73
+ raw: string;
74
+ timestamp: string;
75
+ sn?: string;
76
+ m?: string;
77
+ u?: string;
78
+ pw?: string;
79
+ t?: string;
80
+ s?: string;
81
+ p?: string;
82
+ i?: string;
83
+ b?: string;
84
+ boxId?: string;
85
+ isDuplicate?: boolean;
86
+ };