@evercam/api 1.0.0-e424632fd → 1.0.0-e78536009

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 (67) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +197 -15
  3. package/dist/api/api/adminApi.d.ts +24 -20
  4. package/dist/api/api/aiApi.d.ts +127 -4
  5. package/dist/api/api/authzApi.d.ts +4 -1
  6. package/dist/api/api/evercamApi.d.ts +41 -13
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -16
  8. package/dist/api/api/index.d.ts +1 -0
  9. package/dist/api/api/ingestApi.d.ts +22 -9
  10. package/dist/api/api/workflowsApi.d.ts +15 -0
  11. package/dist/api/types/360.d.ts +171 -83
  12. package/dist/api/types/aiConfigs.d.ts +244 -0
  13. package/dist/api/types/analytics.d.ts +48 -33
  14. package/dist/api/types/anpr.d.ts +31 -2
  15. package/dist/api/types/auditLogs.d.ts +18 -1
  16. package/dist/api/types/authz.d.ts +71 -0
  17. package/dist/api/types/automation.d.ts +32 -4
  18. package/dist/api/types/axios.d.ts +10 -9
  19. package/dist/api/types/bim.d.ts +28 -5
  20. package/dist/api/types/camera.d.ts +37 -46
  21. package/dist/api/types/comments.d.ts +16 -7
  22. package/dist/api/types/connector.d.ts +2 -0
  23. package/dist/api/types/detections.d.ts +3 -10
  24. package/dist/api/types/drone.d.ts +94 -6
  25. package/dist/api/types/errors.d.ts +13 -1
  26. package/dist/api/types/gateReport.d.ts +4 -14
  27. package/dist/api/types/gateReportManagement.d.ts +170 -0
  28. package/dist/api/types/hammertech.d.ts +98 -0
  29. package/dist/api/types/index.d.ts +9 -2
  30. package/dist/api/types/ingest.d.ts +90 -3
  31. package/dist/api/types/kit.d.ts +43 -51
  32. package/dist/api/types/map.d.ts +12 -0
  33. package/dist/api/types/media.d.ts +7 -2
  34. package/dist/api/types/notification.d.ts +52 -2
  35. package/dist/api/types/observationEvents.d.ts +141 -0
  36. package/dist/api/types/observations.d.ts +84 -0
  37. package/dist/api/types/planner.d.ts +56 -10
  38. package/dist/api/types/posthog.d.ts +20 -0
  39. package/dist/api/types/project.d.ts +16 -3
  40. package/dist/api/types/recording.d.ts +7 -13
  41. package/dist/api/types/ring.d.ts +16 -16
  42. package/dist/api/types/roi.d.ts +3 -11
  43. package/dist/api/types/routeParams.d.ts +1 -0
  44. package/dist/api/types/shared.d.ts +17 -24
  45. package/dist/api/types/shares.d.ts +0 -13
  46. package/dist/api/types/siteAnalytics.d.ts +3 -5
  47. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  48. package/dist/api/types/siteView.d.ts +78 -0
  49. package/dist/api/types/snapshots.d.ts +13 -0
  50. package/dist/api/types/socket.d.ts +4 -0
  51. package/dist/api/types/storyblok.d.ts +0 -13
  52. package/dist/api/types/timelapse.d.ts +2 -13
  53. package/dist/api/types/user.d.ts +16 -4
  54. package/dist/api/types/workflows.d.ts +108 -0
  55. package/dist/api/utils.d.ts +1 -1
  56. package/dist/index.js +1908 -748
  57. package/dist/index.js.map +1 -1
  58. package/dist/index.umd.cjs +1 -1
  59. package/dist/index.umd.cjs.map +1 -1
  60. package/dist/shared/types/components.d.ts +246 -35
  61. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  62. package/dist/shared/types/imagePlayer.d.ts +8 -1
  63. package/dist/shared/types/index.d.ts +2 -0
  64. package/dist/shared/types/observations.d.ts +25 -0
  65. package/package.json +4 -2
  66. package/dist/api/types/copilot.d.ts +0 -162
  67. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -1,11 +1,26 @@
1
- import { type _360Scene, type Media, type DroneModel, type MobileCaptureSnapshot, type TimelineDateInterval, type TimelinePrecision, type Comment, type ProcoreUserProject, type ProcoreProjectAlbum, type ProcoreObservationType, type AconexUserProject, type AutodeskUserHub, type AutodeskProject, type AutodeskFolder, type ProcoreType, TaskStatus, Tag } from "@evercam/shared/types";
1
+ import { type _360Scene, type Media, type DroneModel, type MobileCaptureSnapshot, type TimelineDateInterval, type TimelinePrecision, type Comment, type ProcoreUserProject, type ProcoreProjectAlbum, type ProcoreObservationType, type AconexUserProject, type AutodeskUserHub, type AutodeskProject, type AutodeskFolder, type ProcoreType, type HammertechProject, type HammertechIssueType, type HammertechPriority, type HammertechClassification, type HammertechFileFieldValue, Tag, TuplePoint2D, CameraStatus } from "@evercam/shared/types";
2
+ import type { _360AssetType, AdminCamera, Camera, IngestUploadInitResponse } from "@evercam/api/types";
2
3
  import type { TimelineChartType, TimelineEvent, TimelineEventsGroup } from "@evercam/ui";
3
4
  import { TimelineDataProvider } from "@evercam/shared/components/timelinePlayer/providers";
4
5
  import { SeriesOptionsType } from "highcharts";
6
+ export type ReorderableCamera = Camera & {
7
+ thumbnailSrc?: string;
8
+ batteryLevel?: {
9
+ voltage: number;
10
+ level: string;
11
+ icon: string;
12
+ color: string;
13
+ } | null;
14
+ };
5
15
  export type SelectItem = {
6
16
  text: string;
7
17
  value: string | number;
8
18
  };
19
+ export type RoiProjectGroup = {
20
+ exid: string;
21
+ name: string;
22
+ cameras: AdminCamera[];
23
+ };
9
24
  export declare enum IframeMessageType {
10
25
  LiveView = "liveView",
11
26
  EditSnapshot = "editSnapshot",
@@ -33,8 +48,133 @@ export declare enum IframeMessageType {
33
48
  Load360Gallery = "load360Gallery",
34
49
  Upload360 = "upload360",
35
50
  FetchForgeToken = "FetchForgeToken",
36
- ForgeTokenResponse = "ForgeTokenResponse"
51
+ ForgeTokenResponse = "ForgeTokenResponse",
52
+ ShowBimUploadChoice = "showBimUploadChoice",
53
+ ViewerLaunchFlags = "viewerLaunchFlags",
54
+ Fetch360DrawingIds = "fetch360DrawingIds",
55
+ DrawingIdsResponse = "drawingIdsResponse",
56
+ CloseCameraMarkerPreview = "CloseCameraMarkerPreview",
57
+ ChatInit = "chatInit",
58
+ ChatToken = "chatToken",
59
+ ChatContext = "chatContext",
60
+ ChatTheme = "chatTheme",
61
+ ChatNavigate = "chatNavigate",
62
+ ChatConversations = "chatConversations",
63
+ ChatOpenConversation = "chatOpenConversation",
64
+ ChatNewConversation = "chatNewConversation",
65
+ ChatRenameConversation = "chatRenameConversation",
66
+ ChatDeleteConversation = "chatDeleteConversation",
67
+ ChatOpenWalkMarker = "chatOpenWalkMarker",
68
+ ProjectMembers = "projectMembers",
69
+ FocusComment = "focusComment"
70
+ }
71
+ export declare enum ChatTheme {
72
+ Dark = "dark",
73
+ Light = "light"
37
74
  }
75
+ export type ChatUser = {
76
+ email: string;
77
+ name: string;
78
+ };
79
+ /**
80
+ * The dashboard's answer to the frame's `Ready`.
81
+ *
82
+ * The token travels here and nowhere else — never in the iframe URL, which
83
+ * would land it in history, referrers and logs.
84
+ */
85
+ export type ChatInitPayload = {
86
+ token: string;
87
+ user: ChatUser;
88
+ theme: ChatTheme;
89
+ timezone: string;
90
+ };
91
+ /** Pushed on rotation. A frame holding a mount-time token 401s the moment it changes. */
92
+ export type ChatTokenPayload = {
93
+ token: string;
94
+ };
95
+ /** Pushed on every dashboard route change. */
96
+ export type ChatContextPayload = {
97
+ pageId: string;
98
+ projectExid: string | null;
99
+ projectName: string | null;
100
+ cameraExid: string | null;
101
+ timezone: string;
102
+ /**
103
+ * A conversation to open, from `?chat=` on the dashboard's URL.
104
+ *
105
+ * Deep-linking lives in the *context* rather than in a message of its own
106
+ * because it is exactly that — a fact about where the host currently is, sent
107
+ * on every route change alongside the project and page. `null` means "no
108
+ * opinion", which is what every other page sends.
109
+ */
110
+ chatId: string | null;
111
+ };
112
+ export type ChatThemePayload = {
113
+ theme: ChatTheme;
114
+ };
115
+ /**
116
+ * A page id plus params, never a route string — the dashboard owns the
117
+ * id → route mapping.
118
+ */
119
+ export type ChatNavigatePayload = {
120
+ pageId: string;
121
+ params: Record<string, string>;
122
+ };
123
+ /**
124
+ * Open a 360-walk marker in the 360 viewer, facing one view.
125
+ *
126
+ * Sent by Chat when a `WalkView` in an answer is clicked. The dashboard opens the
127
+ * 360 app in its own dialog (`Walk360Preview`), outside the chat frame, so the
128
+ * viewer gets the whole screen. `walkName` and `walkDate` are how the 360 app
129
+ * knows a walk (its `floor` and `date` URL params); `camera` is the viewer's own
130
+ * azimuth/polar angles for that view, or null to open at the marker's default.
131
+ */
132
+ export type ChatOpenWalkMarkerPayload = {
133
+ projectExid: string;
134
+ walkId: string;
135
+ walkName: string;
136
+ walkDate: string;
137
+ markerId: string;
138
+ view: string;
139
+ camera: {
140
+ azimuthAngle: number;
141
+ polarAngle: number;
142
+ } | null;
143
+ };
144
+ /**
145
+ * One conversation, as the dashboard's sidebar needs it.
146
+ *
147
+ * A deliberate projection of the engine's `ChatSession` — a label and a
148
+ * timestamp, nothing else. The transcript stays in the frame: mirroring `turns`
149
+ * would put every message of every conversation on the bridge each time the list
150
+ * changed, to render a row that shows neither.
151
+ */
152
+ export type ChatSessionSummary = {
153
+ id: string;
154
+ title: string | null;
155
+ updatedAt: string;
156
+ };
157
+ /**
158
+ * The frame's conversation list, mirrored up for the left sidebar to draw.
159
+ *
160
+ * The frame stays the single owner of this data — it holds the engine client and
161
+ * the bearer. The host renders and sends intent back; it never fetches.
162
+ */
163
+ export type ChatConversationsPayload = {
164
+ sessions: ChatSessionSummary[];
165
+ openId: string | null;
166
+ isLoading: boolean;
167
+ };
168
+ export type ChatOpenConversationPayload = {
169
+ id: string;
170
+ };
171
+ export type ChatRenameConversationPayload = {
172
+ id: string;
173
+ title: string;
174
+ };
175
+ export type ChatDeleteConversationPayload = {
176
+ id: string;
177
+ };
38
178
  export declare enum NavigationArrow {
39
179
  Previous = "previous",
40
180
  Next = "next"
@@ -44,31 +184,12 @@ export declare enum WatermarkedImageDownloadOrigin {
44
184
  Bim = "BIM",
45
185
  Snapshot = "snapshot",
46
186
  The360 = "360",
47
- The360Gallery = "360 Gallery",
48
187
  Planner = "Planner"
49
188
  }
50
189
  export declare enum PlayerMode {
51
190
  Video = "video",
52
191
  Jpegs = "jpegs"
53
192
  }
54
- export type TasksStatusMap = {
55
- [key: string]: TaskStatus;
56
- };
57
- export type TaskProgressItem = {
58
- status: TaskStatus;
59
- description: string;
60
- percentDone?: number;
61
- duration?: number;
62
- };
63
- export type GlobalSearchMatch = {
64
- path: Array<string>;
65
- value: string | number | boolean;
66
- };
67
- export type GlobalSearchResult = {
68
- index: number;
69
- matches: Array<GlobalSearchMatch>;
70
- };
71
- export type GlobalSearchResultInput = Array<Record<any, any> | Array<any>>;
72
193
  export type TimelineProviderRequestParams = TimelineDateInterval & {
73
194
  precision?: TimelinePrecision;
74
195
  labels?: string[];
@@ -151,8 +272,8 @@ export type LeaderLineOptions = {
151
272
  startPlugSize?: number;
152
273
  endPlugSize?: number;
153
274
  path?: LeaderLinesPathType;
154
- startSocketGravity?: [number, number];
155
- endSocketGravity?: [number, number];
275
+ startSocketGravity?: TuplePoint2D;
276
+ endSocketGravity?: TuplePoint2D;
156
277
  dash?: {
157
278
  animation: boolean | {
158
279
  duration: number;
@@ -179,12 +300,14 @@ export type TagSelectorItem = Tag & {
179
300
  };
180
301
  export declare enum FormSchemaComponents {
181
302
  SelectField = "SelectField",
303
+ HierarchicalSelect = "HierarchicalSelectField",
182
304
  MultiOption = "MultiOption",
183
305
  TextField = "TextField",
184
306
  SwitchField = "SwitchField",
185
307
  CheckBox = "CheckBoxField",
186
308
  Date = "DatePickerInput",
187
309
  DateTime = "DateTimeField",
310
+ Time = "TimeField",
188
311
  TextArea = "Textarea",
189
312
  Search = "Autocomplete",
190
313
  ReadOnly = "ReadOnly",
@@ -199,6 +322,7 @@ export declare enum FormSchemaDataType {
199
322
  export type FormSchemaOptions = {
200
323
  title: string;
201
324
  value: string;
325
+ parentId?: string | null;
202
326
  };
203
327
  export type FormSchemaField = {
204
328
  id: string;
@@ -213,8 +337,20 @@ export type FormSchemaField = {
213
337
  columns?: number;
214
338
  };
215
339
  export type FormSchema = Record<string, FormSchemaField>;
340
+ export type DrawingStats = {
341
+ overlay: boolean;
342
+ geolocated: boolean;
343
+ isCalibrated: boolean;
344
+ walks: number;
345
+ markers: number;
346
+ minimodel: number;
347
+ bim: number;
348
+ comments: number;
349
+ lastCapturedDate: string | null;
350
+ };
216
351
  export interface ScrollListener {
217
352
  element: Element | Window;
353
+ event: "scroll" | "resize";
218
354
  handler: () => void;
219
355
  }
220
356
  export interface LeaderLineInstance {
@@ -228,24 +364,25 @@ export type SnapshotCardItem = {
228
364
  placeholderThumbnailUrl?: string;
229
365
  fallbackThumbnailUrl?: string;
230
366
  };
231
- export type DocumentExtended = Document & {
232
- webkitIsFullScreen?: boolean;
233
- mozFullScreen?: boolean;
234
- msFullscreenElement?: Element | null;
235
- fullscreenElement?: Element;
236
- webkitFullscreenElement?: Element;
237
- mozFullScreenElement?: Element;
238
- };
239
367
  export type HighchartsSeriesWithData<T extends number = number> = SeriesOptionsType & {
240
368
  data: T[];
241
369
  };
370
+ export type NotificationTitleSegment = {
371
+ text: string;
372
+ isBold?: boolean;
373
+ };
242
374
  export type FormattedNotificationData = {
243
375
  title: string;
376
+ titleSegments?: NotificationTitleSegment[];
244
377
  link: string;
245
378
  thumbnail?: string;
246
- icon?: string;
247
- drone?: boolean;
248
- is360?: boolean;
379
+ icon: string;
380
+ excerpt?: string;
381
+ commentTarget?: {
382
+ commentId: number;
383
+ dateId: string | number;
384
+ floorId: string;
385
+ };
249
386
  };
250
387
  export type FormattedNotification = FormattedNotificationData & {
251
388
  date: string;
@@ -274,6 +411,20 @@ export type AutodeskUploadFormData = {
274
411
  project: AutodeskProject | null;
275
412
  folder: AutodeskFolder | null;
276
413
  };
414
+ export type HammertechUploadFormData = {
415
+ project: HammertechProject | null;
416
+ issueType: HammertechIssueType | null;
417
+ description: string;
418
+ priority: HammertechPriority | null;
419
+ dueDate: string | null;
420
+ classification: HammertechClassification | null;
421
+ locationId: string | null;
422
+ isPositiveObservation: boolean;
423
+ isPhotoForFixRequired: boolean;
424
+ customFieldFormId: string | null;
425
+ customFieldValues: Record<string, unknown>;
426
+ fileCustomFieldValues: Record<string, HammertechFileFieldValue>;
427
+ };
277
428
  export interface MediaHubFilters {
278
429
  title: string;
279
430
  requesterEmail: string | undefined;
@@ -290,7 +441,6 @@ export interface MediaHubSortParameter {
290
441
  export type TableHeaderParams<TItem = unknown> = {
291
442
  value: string;
292
443
  text: string;
293
- cellClass?: string;
294
444
  align?: string;
295
445
  sortable?: boolean;
296
446
  visible?: boolean;
@@ -299,3 +449,64 @@ export type TableHeaderParams<TItem = unknown> = {
299
449
  toStringFn?: (item: TItem, key: string) => any;
300
450
  sort?: (a: unknown, b: unknown) => number;
301
451
  };
452
+ export type BimUploadObject = IngestUploadInitResponse & {
453
+ projectName: string;
454
+ };
455
+ export type BimUploadFileResult = {
456
+ url: string;
457
+ title: string;
458
+ fileExtension: string;
459
+ };
460
+ export type CameraCardItem = {
461
+ thumbnail: string;
462
+ title: string;
463
+ exid: string;
464
+ status: CameraStatus;
465
+ disabled: boolean;
466
+ to: string;
467
+ isOffline: boolean;
468
+ isWaiting: boolean;
469
+ isUnderNda: boolean;
470
+ isAdmin: boolean;
471
+ batteryVoltage: number | null;
472
+ };
473
+ export type ThreeSixtyGalleryView = "drawings" | "walks";
474
+ export interface ThreeSixtyWalk {
475
+ id: string;
476
+ name: string;
477
+ date: string;
478
+ monthKey: string;
479
+ color: string;
480
+ dateId: string;
481
+ floorId: string;
482
+ commentCount: number;
483
+ hasBim: boolean;
484
+ hasMinimodel: boolean;
485
+ }
486
+ export interface ThreeSixtyWalkGroup {
487
+ date: string;
488
+ walks: ThreeSixtyWalk[];
489
+ }
490
+ export type ThreeSixtyMediaDownloadOption = {
491
+ type: _360AssetType;
492
+ title: string;
493
+ icon: string;
494
+ };
495
+ export type DrawingSelection = {
496
+ pageNumber: number;
497
+ size: number;
498
+ thumbnail: string | null;
499
+ pageCount: number;
500
+ };
501
+ export type CommentCardComment = {
502
+ id?: number | string;
503
+ content?: string;
504
+ createdAt?: string;
505
+ archivedAt?: string;
506
+ creatorName?: string;
507
+ label?: string;
508
+ timestamp?: string;
509
+ cameraExid?: string;
510
+ position3d?: number[];
511
+ canDelete?: boolean;
512
+ };
@@ -0,0 +1,10 @@
1
+ export declare enum CustomDataTableFilterType {
2
+ Select = "SelectSearchFilter",
3
+ Text = "TextFieldSearchFilter"
4
+ }
5
+ export interface CustomDataTableFilterField<T = unknown> {
6
+ component: CustomDataTableFilterType;
7
+ attributes?: Record<string, unknown>;
8
+ customFilter?: (item: T, fieldName: string, search: unknown) => boolean;
9
+ }
10
+ export type CustomDataTableFilterFields<T = unknown> = Record<string, CustomDataTableFilterField<T>>;
@@ -13,7 +13,7 @@ export type EventMarker<T extends {}> = T & {
13
13
  label: string;
14
14
  thumbnailUrl: string;
15
15
  isActive: boolean;
16
- cssClass?: Object | string;
16
+ markerType?: RecordingsMarker;
17
17
  };
18
18
  export type SnapshotEvent<T extends {}> = T & {
19
19
  eventTime: Timestamp;
@@ -22,6 +22,13 @@ export type MatchedSnapshotEvent<T extends {}> = SnapshotEvent<T> & {
22
22
  frameIndex: number;
23
23
  snapshotTimestamp: Timestamp;
24
24
  };
25
+ export declare enum RecordingsMarker {
26
+ Comment = "comment",
27
+ GateReport = "gate-report",
28
+ Anpr = "anpr",
29
+ Detection = "detection",
30
+ SmartSearch = "smart-search"
31
+ }
25
32
  export declare enum ImageQuality {
26
33
  ThreeSixty = "360",
27
34
  FourEighty = "480",
@@ -1,5 +1,7 @@
1
1
  export * from "@evercam/api/types";
2
2
  export * from "./components";
3
+ export * from "./customDataTableFilters";
3
4
  export * from "./imagePlayer";
4
5
  export * from "./timeline";
5
6
  export * from "./rbac";
7
+ export * from "./observations";
@@ -0,0 +1,25 @@
1
+ export type ObservationsTableHeader = {
2
+ isThumbnail?: boolean;
3
+ visible: boolean;
4
+ divider: boolean;
5
+ sortable: boolean;
6
+ text: string;
7
+ value: string;
8
+ class: string;
9
+ align: string;
10
+ };
11
+ export type ObservationsCountDay = {
12
+ day: string;
13
+ };
14
+ export type ObservationsTableOptionsUpdate = {
15
+ page: number;
16
+ sortBy: string[];
17
+ sortDesc: boolean[];
18
+ };
19
+ export type ObservationsEventsTableState = {
20
+ height: number | string;
21
+ };
22
+ export type ObservationTypeOption = {
23
+ value: string;
24
+ label: string;
25
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evercam/api",
3
- "version": "1.0.0-e424632fd",
3
+ "version": "1.0.0-e78536009",
4
4
  "description": "Evercam API client",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,6 +28,8 @@
28
28
  },
29
29
  "readme": "README.md",
30
30
  "scripts": {
31
+ "preinstall": "node ../shared/ci-scripts/check-bootstrap.js",
32
+ "bootstrap": "node ../shared/ci-scripts/bootstrap.js",
31
33
  "clean": "rimraf dist",
32
34
  "typecheck": "tsc --noEmit",
33
35
  "build:types": "tsc --declaration --emitDeclarationOnly",
@@ -36,7 +38,7 @@
36
38
  "publish-api": "cd ../.. && yarn publish-api"
37
39
  },
38
40
  "devDependencies": {
39
- "@types/node": "^25.6.0",
41
+ "@types/node": "^25.9.1",
40
42
  "vite": "latest",
41
43
  "vite-plugin-commonjs": "^0.10.3",
42
44
  "vite-plugin-dts": "^4.5.4"
@@ -1,162 +0,0 @@
1
- import type { AnalyticsEventPageId, CameraExid, CameraFeatureFlag, CameraStatus, ProjectExid, ProjectFeatureFlag, ProjectStatus } from "@evercam/api/types";
2
- export declare enum CopilotMessageAuthor {
3
- Copilot = "copilot",
4
- User = "user",
5
- System = "system"
6
- }
7
- export declare enum CopilotMessageType {
8
- Text = "text",
9
- Progress = "progress",
10
- Error = "error",
11
- Json = "json"
12
- }
13
- export type CopilotMessage = {
14
- content: string;
15
- url?: string;
16
- type: CopilotMessageType;
17
- id?: number;
18
- conversationId?: number;
19
- };
20
- export declare enum CopilotStepId {
21
- SendToLLM = "send_to_llm",
22
- FunctionCallRequest = "function_call_request",
23
- ExecFunctionCall = "exec_function_call",
24
- SendToUser = "send_to_user",
25
- RequestMissingFields = "request_missing_fields",
26
- CompletedFieldsResponse = "completed_fields_response",
27
- SendRawToolCallResponse = "send_raw_tool_call_response",
28
- SubmitToolOutputsToLLM = "submit_tool_outputs_to_llm",
29
- CancelCall = "cancel_call",
30
- RequestAgentCall = "request_agent_call",
31
- ExecAgentCall = "exec_agent_call"
32
- }
33
- export declare enum CopilotMissingFieldsLabels {
34
- ProjectExid = "Project",
35
- CameraExid = "Camera",
36
- FromDate = "Start date",
37
- ToDate = "End date"
38
- }
39
- export type CopilotMissingField<T = unknown> = {
40
- name: string;
41
- label: string;
42
- value: unknown;
43
- type: string;
44
- toolId: string;
45
- error?: T;
46
- };
47
- export type CopilotMissingFields = Record<number, CopilotMissingField[]>;
48
- export type UserConversations = CopilotConversation & {
49
- Message: CopilotMessage[];
50
- };
51
- export declare enum CopilotSocketEvent {
52
- ConversationStart = "conversation:start",
53
- ConversationCreated = "conversation:created",
54
- LLMMessageChunk = "llm:message:chunk",
55
- LLMMessageComplete = "llm:message:complete",
56
- LLMMessageLoading = "llm:message:loading",
57
- LLMRequestCancel = "llm:request:cancel",
58
- LLMRequestCanceled = "llm:request:canceled",
59
- UserMessage = "user:message",
60
- ContextError = "chat:contextError",
61
- ChatError = "chat:chatError",
62
- MissingFields = "chat:missingFields",
63
- MissingFieldsCompleted = "chat:missingFields:completed",
64
- SystemToolCallResponse = "system:toolCall:response",
65
- ChangeProvider = "chat:changeProvider"
66
- }
67
- export type CopilotConversation = {
68
- id: number;
69
- user: string;
70
- model: string;
71
- context: string;
72
- cameraExid: CameraExid;
73
- projectExid: ProjectExid;
74
- startDate: string;
75
- endDate: string;
76
- messagesCount: number;
77
- };
78
- export declare enum CopilotProvider {
79
- Gemini = "gemini",
80
- ChatGPT = "chatgpt"
81
- }
82
- export declare enum CopilotSuggestion {
83
- UserManual = "user_manual",
84
- GateReport = "gate_report",
85
- Weather = "weather",
86
- Clip = "clip",
87
- Timelapse = "timelapse",
88
- Chart = "chart",
89
- SmartSearch = "smart_search"
90
- }
91
- export declare enum CopilotChatProvider {
92
- Gemini = "gemini",
93
- ChatGpt = "chatGpt"
94
- }
95
- export declare enum CopilotLayout {
96
- Floating = "floating"
97
- }
98
- export declare enum CopilotToolId {
99
- GetReports = "getReports",
100
- GetVehiclesDetections = "getVehiclesDetections",
101
- GetVehiclesDetectionsCounts = "getVehiclesDetectionsCounts",
102
- GetWeather = "getWeather",
103
- CreateClip = "createClip",
104
- NavigateToPage = "navigateToPage",
105
- CreateTimelapse = "createTimelapse",
106
- RequestMissingFields = "requestMissingFields",
107
- RenderCharts = "renderCharts",
108
- SmartSearch = "smartSearch"
109
- }
110
- export type CopilotSystemToolCallResponse<I = unknown, O = unknown> = {
111
- toolId?: CopilotToolId;
112
- input?: I;
113
- output?: O;
114
- isAgent?: boolean;
115
- };
116
- export type CopilotCamera = {
117
- name: string;
118
- exid: CameraExid;
119
- status: CameraStatus;
120
- featureFlags?: CameraFeatureFlag[];
121
- };
122
- export type CopilotProject = {
123
- name: string;
124
- exid: ProjectExid;
125
- status: ProjectStatus;
126
- featureFlags?: ProjectFeatureFlag[];
127
- cameras?: CopilotCamera[];
128
- };
129
- export type CopilotMessageContext = {
130
- pageId?: AnalyticsEventPageId;
131
- selectedCamera?: CopilotCamera;
132
- selectedProject?: CopilotProject;
133
- };
134
- export type CopilotMessageStep = {
135
- args: string[];
136
- depth: number;
137
- id?: number;
138
- message_id?: number;
139
- step: CopilotStepId;
140
- timestamp: string;
141
- };
142
- export declare enum CopilotMissingFieldComponent {
143
- Select = "SelectField",
144
- DateTime = "DateTimeField",
145
- Schedule = "ScheduleField",
146
- MultiOptions = "MultiOptionsField",
147
- Switch = "SwitchField"
148
- }
149
- export declare enum CopilotMissingFieldName {
150
- ProjectExid = "projectExid",
151
- CameraExid = "cameraExid",
152
- FromDate = "fromDate",
153
- ToDate = "toDate",
154
- Schedule = "schedule",
155
- Duration = "duration"
156
- }
157
- export declare enum CopilotMissingFieldType {
158
- Boolean = "boolean",
159
- String = "string",
160
- Number = "number"
161
- }
162
- export type CopilotCompletedFields = Record<string, unknown>;
@@ -1,15 +0,0 @@
1
- export type VendorModel = {
2
- cameraCount: number;
3
- exid: string;
4
- h264Url: string;
5
- jpgUrl: string;
6
- name: string;
7
- online: number;
8
- playbackUrl: string;
9
- };
10
- export type VendorModelRequestPayload = {
11
- sort: string;
12
- };
13
- export type VendorModelResponsePayload = {
14
- data: VendorModel[];
15
- };