@evercam/api 1.0.0-1b85d13c0 → 1.0.0-1bc49e878

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 (41) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +49 -16
  3. package/dist/api/api/adminApi.d.ts +3 -6
  4. package/dist/api/api/aiApi.d.ts +60 -2
  5. package/dist/api/api/evercamApi.d.ts +7 -7
  6. package/dist/api/api/evercamLabsApi.d.ts +5 -5
  7. package/dist/api/api/ingestApi.d.ts +7 -1
  8. package/dist/api/types/360.d.ts +116 -4
  9. package/dist/api/types/aiConfigs.d.ts +154 -0
  10. package/dist/api/types/analytics.d.ts +4 -1
  11. package/dist/api/types/axios.d.ts +7 -4
  12. package/dist/api/types/bim.d.ts +8 -0
  13. package/dist/api/types/camera.d.ts +3 -1
  14. package/dist/api/types/comments.d.ts +2 -1
  15. package/dist/api/types/connector.d.ts +1 -0
  16. package/dist/api/types/detections.d.ts +3 -1
  17. package/dist/api/types/errors.d.ts +11 -0
  18. package/dist/api/types/gateReport.d.ts +1 -0
  19. package/dist/api/types/gateReportManagement.d.ts +175 -0
  20. package/dist/api/types/index.d.ts +4 -0
  21. package/dist/api/types/ingest.d.ts +1 -0
  22. package/dist/api/types/kit.d.ts +2 -1
  23. package/dist/api/types/media.d.ts +8 -2
  24. package/dist/api/types/observations.d.ts +85 -0
  25. package/dist/api/types/posthog.d.ts +20 -0
  26. package/dist/api/types/recording.d.ts +3 -8
  27. package/dist/api/types/roi.d.ts +2 -1
  28. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  29. package/dist/api/types/siteView.d.ts +0 -1
  30. package/dist/api/types/snapshots.d.ts +5 -0
  31. package/dist/api/types/user.d.ts +1 -0
  32. package/dist/api/utils.d.ts +0 -1
  33. package/dist/index.js +1035 -657
  34. package/dist/index.js.map +1 -1
  35. package/dist/index.umd.cjs +1 -1
  36. package/dist/index.umd.cjs.map +1 -1
  37. package/dist/shared/types/components.d.ts +16 -2
  38. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  39. package/dist/shared/types/index.d.ts +2 -0
  40. package/dist/shared/types/observations.d.ts +21 -0
  41. package/package.json +3 -1
@@ -29,15 +29,18 @@ export type AxiosEnvironment = {
29
29
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
30
30
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
31
31
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
32
+ export type RequestManager = {
33
+ createToken: (key: string) => CancelTokenSource["token"];
34
+ cancelToken: (key: string) => void;
35
+ cancelAll: () => void;
36
+ };
32
37
  export interface ExtendedAxiosInstance extends AxiosInstance {
33
38
  CancelToken: CancelTokenStatic;
34
39
  isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
35
40
  setToken: (token: string) => void;
36
41
  setHeader: (headerName: string, value: any) => void;
37
- generateCancelTokenSource: () => CancelTokenSource;
38
- addCancelToken: (token: CancelTokenSource) => void;
39
- resetCancelTokens: () => void;
40
- cancelRequests: () => void;
42
+ createRequestManager: () => RequestManager;
43
+ requestManager: RequestManager;
41
44
  env: AxiosEnvironment;
42
45
  addEnvironmentVariables: (vars: Record<string, any>) => void;
43
46
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
@@ -168,3 +168,11 @@ export declare enum ForgeBimDialogTrigger {
168
168
  AddModel = "add_model",
169
169
  InitialSetup = "initial_setup"
170
170
  }
171
+ export type BimUpdatedWebhookPayload = {
172
+ eventName: "bim.updated";
173
+ projectId: string;
174
+ data: {
175
+ updatedAt: string;
176
+ bimIdentifier: string;
177
+ };
178
+ };
@@ -1,4 +1,4 @@
1
- import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase } from "@evercam/api/types";
1
+ import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase, TimestampPositionCoordinates } from "@evercam/api/types";
2
2
  import { DateRangeFilter } from "@evercam/api/types/time";
3
3
  import { GeoPoint, TuplePoint2D } from "@evercam/api/types/shared";
4
4
  export type CameraExid = string;
@@ -80,6 +80,7 @@ export type Camera = {
80
80
  vendorName: string;
81
81
  isAccessRestricted?: boolean;
82
82
  kitAlarms?: KitAlarm[];
83
+ timestampPosition?: TimestampPositionCoordinates;
83
84
  };
84
85
  export type AdminCamera = {
85
86
  id: number;
@@ -199,6 +200,7 @@ export declare enum CameraFeatureFlag {
199
200
  PpeOwlv2 = "ppe_owlv2",
200
201
  PpeGemini = "ppe_gemini",
201
202
  PpeYolo = "ppe_yolo",
203
+ PpeV2 = "ppe_v2",
202
204
  NoLiveView = "no_live_view",
203
205
  Ring = "ring",
204
206
  CloudOnly = "cloud_only"
@@ -48,9 +48,10 @@ export type CommentCreationRequestPayload = {
48
48
  toDate?: DateType;
49
49
  timestamp?: DateType;
50
50
  scope?: CommentsScope;
51
- projectExid: ProjectExid;
51
+ projectExid?: ProjectExid;
52
52
  cameraExid?: CameraExid;
53
53
  content: string;
54
+ label?: CommentsLabel;
54
55
  position2d?: TuplePoint2D;
55
56
  position3d?: [number, number, number];
56
57
  context?: Record<string, unknown>;
@@ -10,6 +10,7 @@ export declare enum Connector {
10
10
  AutodeskViewer = "autodesk_viewer",
11
11
  VoyageControl = "voyage_control",
12
12
  Ring = "ring",
13
+ Email = "email",
13
14
  XWeather = "xweather"
14
15
  }
15
16
  export declare enum ProcoreType {
@@ -102,6 +102,7 @@ export declare enum PpeLabel {
102
102
  Helmet = "helmet",
103
103
  HighVisibilityVest = "high-visibility-vest",
104
104
  SafetyGlasses = "safety-glasses",
105
+ Gloves = "gloves",
105
106
  Person = "person",
106
107
  Man = "man",
107
108
  Woman = "woman"
@@ -111,5 +112,6 @@ export declare enum DetectionModel {
111
112
  Yolov11 = 2,
112
113
  Yolov112 = 3,
113
114
  GroundingDino = 4,
114
- Owlv2 = 5
115
+ Owlv2 = 5,
116
+ PpeV2 = 6
115
117
  }
@@ -46,4 +46,15 @@ type _EvercamApiError = {
46
46
  innerError?: _EvercamApiError;
47
47
  };
48
48
  export type EvercamApiError = AxiosError<_EvercamApiError>;
49
+ export type AppError = {
50
+ statusCode?: number;
51
+ message?: string;
52
+ redirect?: {
53
+ url?: string;
54
+ label?: string;
55
+ delay?: number;
56
+ };
57
+ withSupportMessage?: boolean;
58
+ isWidget?: boolean;
59
+ };
49
60
  export {};
@@ -249,6 +249,7 @@ export type AnprExportBaseParams = {
249
249
  toDate?: string;
250
250
  camerasExid?: CameraExid[];
251
251
  isPublic?: boolean;
252
+ columns?: string[];
252
253
  };
253
254
  export type EventsExportRequestParameters = AnprExportBaseParams & {
254
255
  eventType: GateReportEventType;
@@ -0,0 +1,175 @@
1
+ import { CameraExid, DateType, ProjectExid } from "@evercam/api/types";
2
+ export declare enum VehicleClassifierSource {
3
+ Local = "local",
4
+ Api = "api"
5
+ }
6
+ export type GateReportCoolifyStatus = {
7
+ appUuid: string | null;
8
+ name: string | null;
9
+ serverUuid: string | null;
10
+ serverName: string | null;
11
+ appUrl: string | null;
12
+ status: string | null;
13
+ isRunning: boolean;
14
+ imageTag?: string | null;
15
+ fqdn: string | null;
16
+ updatedAt: string | null;
17
+ };
18
+ export type GateReportProjectMeta = {
19
+ exid: ProjectExid;
20
+ name: string | null;
21
+ timezone: string | null;
22
+ featureFlags: string[] | null;
23
+ };
24
+ export type GateReportCameraMeta = {
25
+ exid: CameraExid;
26
+ name: string | null;
27
+ status: string | null;
28
+ kitSerial: string | null;
29
+ kitAlarms: string[] | Record<string, unknown> | null;
30
+ };
31
+ export type GateReportManagedApp = {
32
+ id: number;
33
+ projectExid: ProjectExid;
34
+ anprCameraExid: CameraExid;
35
+ contextCameraExid: CameraExid | null;
36
+ coolifyAppId: string | null;
37
+ startDate: DateType | null;
38
+ endDate: DateType | null;
39
+ startHour: number;
40
+ endHour: number;
41
+ enabled: boolean;
42
+ enableEnrichments: boolean;
43
+ enableGemini: boolean;
44
+ geminiStartHour: number;
45
+ geminiEndHour: number;
46
+ reviewModel: string;
47
+ enrichmentModel: string;
48
+ reviewerPromptSlug: string | null;
49
+ geminiTimeoutSeconds: number;
50
+ geminiMaxAttempts: number;
51
+ vehicleClassifierSource: VehicleClassifierSource;
52
+ snapshotDelaySeconds: number;
53
+ snapshotRequestTimeout: number;
54
+ plateClassifierThreshold: number;
55
+ plateClassifierHighConfidence: number;
56
+ maxPriorEvents: number;
57
+ recordsFetchInterval: number;
58
+ priorRecentLimit: number;
59
+ priorSimilarLimit: number;
60
+ insertedAt: DateType;
61
+ updatedAt: DateType;
62
+ coolify: GateReportCoolifyStatus | null;
63
+ project: GateReportProjectMeta | null;
64
+ anprCamera: GateReportCameraMeta | null;
65
+ contextCamera: GateReportCameraMeta | null;
66
+ anprHasRoi: boolean;
67
+ contextHasRoi: boolean;
68
+ lastProcessedEventAt: DateType | null;
69
+ lastUnprocessedEventAt: DateType | null;
70
+ };
71
+ export type GateReportAppEvents = {
72
+ anprCameraExid: CameraExid;
73
+ lastProcessedEventAt: DateType | null;
74
+ lastUnprocessedEventAt: DateType | null;
75
+ };
76
+ export type AppConfigFormValue = {
77
+ contextCameraExid: string | null;
78
+ startDate: DateType | null;
79
+ endDate: DateType | null;
80
+ startHour: number;
81
+ endHour: number;
82
+ enabled: boolean;
83
+ enableEnrichments: boolean;
84
+ enableGemini: boolean;
85
+ geminiStartHour: number;
86
+ geminiEndHour: number;
87
+ reviewModel: string;
88
+ enrichmentModel: string;
89
+ reviewerPromptSlug: string | null;
90
+ geminiTimeoutSeconds: number;
91
+ geminiMaxAttempts: number;
92
+ vehicleClassifierSource: VehicleClassifierSource;
93
+ snapshotDelaySeconds: number;
94
+ snapshotRequestTimeout: number;
95
+ plateClassifierThreshold: number;
96
+ plateClassifierHighConfidence: number;
97
+ recordsFetchInterval: number;
98
+ priorRecentLimit: number;
99
+ priorSimilarLimit: number;
100
+ };
101
+ export type CreateGateReportAppPayload = {
102
+ projectExid: ProjectExid;
103
+ anprCameraExid: CameraExid;
104
+ contextCameraExid?: CameraExid | null;
105
+ coolifyServerUuid: string;
106
+ imageTag?: string;
107
+ geminiApiKey?: string | null;
108
+ startDate?: DateType | null;
109
+ endDate?: DateType | null;
110
+ startHour?: number;
111
+ endHour?: number;
112
+ enabled?: boolean;
113
+ enableEnrichments?: boolean;
114
+ enableGemini?: boolean;
115
+ geminiStartHour?: number;
116
+ geminiEndHour?: number;
117
+ reviewModel?: string;
118
+ enrichmentModel?: string;
119
+ reviewerPromptSlug?: string | null;
120
+ geminiTimeoutSeconds?: number;
121
+ geminiMaxAttempts?: number;
122
+ vehicleClassifierSource?: VehicleClassifierSource;
123
+ snapshotDelaySeconds?: number;
124
+ snapshotRequestTimeout?: number;
125
+ plateClassifierThreshold?: number;
126
+ plateClassifierHighConfidence?: number;
127
+ maxPriorEvents?: number;
128
+ recordsFetchInterval?: number;
129
+ priorRecentLimit?: number;
130
+ priorSimilarLimit?: number;
131
+ };
132
+ export type UpdateGateReportAppPayload = Partial<Omit<CreateGateReportAppPayload, "projectExid" | "anprCameraExid" | "coolifyServerUuid" | "geminiApiKey">>;
133
+ export type GateReportManagementListParams = {
134
+ projectExid?: ProjectExid;
135
+ includeStatus?: boolean;
136
+ page?: number;
137
+ limit?: number;
138
+ };
139
+ export type CoolifyProjectOption = {
140
+ uuid: string;
141
+ name: string;
142
+ description: string | null;
143
+ };
144
+ export type CoolifyServerOption = {
145
+ uuid: string;
146
+ name: string;
147
+ isReachable: boolean;
148
+ isUsable: boolean;
149
+ };
150
+ export declare enum AppRuntimeState {
151
+ Running = "running",
152
+ Stopped = "stopped",
153
+ Restarting = "restarting"
154
+ }
155
+ export type AppRuntimeStateRequest = {
156
+ state: AppRuntimeState;
157
+ };
158
+ export type AppActionResponse = {
159
+ success: boolean;
160
+ message: string | null;
161
+ appUuid: string | null;
162
+ state: AppRuntimeState | null;
163
+ };
164
+ export type APIEnvelope<T> = {
165
+ success: boolean;
166
+ data: T | null;
167
+ message: string;
168
+ };
169
+ export type CreateGateReportAppResponse = {
170
+ created: boolean;
171
+ id: number | null;
172
+ data: GateReportManagedApp | null;
173
+ count: number | null;
174
+ message: string;
175
+ };
@@ -42,6 +42,7 @@ export * from "./voyageControl";
42
42
  export * from "./weather";
43
43
  export * from "./comments";
44
44
  export * from "./detections";
45
+ export * from "./observations";
45
46
  export * from "./axios";
46
47
  export * from "./shared";
47
48
  export * from "./company";
@@ -49,6 +50,7 @@ export * from "./kit";
49
50
  export * from "./auditLogs";
50
51
  export * from "./snapshots";
51
52
  export * from "./siteAnalytics";
53
+ export * from "./siteAnalyticsManagement";
52
54
  export * from "./widget";
53
55
  export * from "./countries";
54
56
  export * from "./automation";
@@ -63,3 +65,5 @@ export * from "./oauth";
63
65
  export * from "./ring";
64
66
  export * from "./smartSeach";
65
67
  export * from "./siteView";
68
+ export * from "./aiConfigs";
69
+ export * from "./gateReportManagement";
@@ -48,6 +48,7 @@ export type DroneUploadItem = {
48
48
  modelZip: string;
49
49
  orthomosaicZip: string;
50
50
  reportPdf: string;
51
+ processingLog: string;
51
52
  uploadedBy: string;
52
53
  processingStatus: IngestProcessingStatus | string;
53
54
  modelCesiumAssetId: string;
@@ -45,7 +45,8 @@ export declare enum KitAlarm {
45
45
  NoHdd = "no_hdd",
46
46
  MissingRouterInfo = "missing_router_info",
47
47
  AcFailure = "ac_failure",
48
- LowBattery = "low_battery"
48
+ LowBattery = "low_battery",
49
+ GeneratorOff = "generator_off"
49
50
  }
50
51
  export declare enum KitMetricId {
51
52
  SolarCharger = "solar_charger",
@@ -43,7 +43,8 @@ export declare enum MediaFileType {
43
43
  Mp4 = "mp4",
44
44
  Png = "png",
45
45
  Pdf = "pdf",
46
- Jpeg = "jpeg"
46
+ Jpeg = "jpeg",
47
+ Csv = "csv"
47
48
  }
48
49
  export declare enum MediaStatus {
49
50
  Pending = "Pending",
@@ -93,7 +94,7 @@ export type MediaCreateRequestPayload = {
93
94
  cameraExid?: string;
94
95
  requestedBy?: string;
95
96
  notes?: string;
96
- category?: ClipsCategory;
97
+ category?: MediaCategory | ClipsCategory;
97
98
  isUrgent?: boolean;
98
99
  storeAsType?: MediaType;
99
100
  };
@@ -108,6 +109,11 @@ export declare enum ClipsCategory {
108
109
  Marketing = "marketing",
109
110
  BestPracticies = "best_practices"
110
111
  }
112
+ export declare enum MediaCategory {
113
+ Weather = "weather",
114
+ SmartSearch = "smart_search",
115
+ Copilot = "copilot"
116
+ }
111
117
  export type MediaDeleteRequestPayload = {
112
118
  timelapseIds: (string | number)[];
113
119
  compareIds: (string | number)[];
@@ -0,0 +1,85 @@
1
+ import { type ProjectExid, type CameraExid, type DateType, type BBox, PpeLabel, DownloadFileType } from "@evercam/api/types";
2
+ export declare enum ObservationItemState {
3
+ Absent = 0,
4
+ Present = 1,
5
+ NotVisible = 2
6
+ }
7
+ export type ObservationEventEquipment = {
8
+ score: number;
9
+ bbox: BBox;
10
+ };
11
+ export type ObservationEvent = {
12
+ id: number;
13
+ cameraExid: CameraExid;
14
+ projectExid: ProjectExid;
15
+ capturedAt: DateType;
16
+ personIndex: number;
17
+ personBbox: BBox;
18
+ personScore: number;
19
+ ppe: Partial<Record<PpeLabel, ObservationEventEquipment>>;
20
+ hasHelmet: ObservationItemState | null;
21
+ hasHighVisVest: ObservationItemState | null;
22
+ hasGloves: ObservationItemState | null;
23
+ hasGlasses: ObservationItemState | null;
24
+ modelVersion: string;
25
+ createdAt: DateType;
26
+ compliant: boolean;
27
+ reason: string | null;
28
+ isApproved: boolean | null;
29
+ };
30
+ export type ObservationEventsQueryParams = {
31
+ cameraExid?: CameraExid;
32
+ fromDate?: string;
33
+ toDate?: string;
34
+ required?: string;
35
+ compliant?: boolean;
36
+ hasHelmet?: boolean;
37
+ hasHighVisVest?: boolean;
38
+ hasGloves?: boolean;
39
+ hasGlasses?: boolean;
40
+ sort?: string;
41
+ page?: number;
42
+ limit?: number;
43
+ };
44
+ export type ObservationEventsExportQueryParams = {
45
+ cameraExid?: CameraExid;
46
+ fromDate: string;
47
+ toDate: string;
48
+ required?: string;
49
+ compliant?: boolean;
50
+ fileType: DownloadFileType;
51
+ directDownload?: boolean;
52
+ includeInvalid?: boolean;
53
+ };
54
+ export type ObservationApprovalUpdateResponse = {
55
+ updated: boolean;
56
+ id: number | string | null;
57
+ message: string;
58
+ };
59
+ export declare enum ObservationCountsGranularity {
60
+ Day = "day",
61
+ Week = "week",
62
+ Month = "month"
63
+ }
64
+ export type ObservationEventsCountsQueryParams = {
65
+ cameraExid?: CameraExid;
66
+ fromDate?: string;
67
+ toDate?: string;
68
+ required?: string;
69
+ compliant?: boolean;
70
+ hasHelmet?: boolean;
71
+ hasHighVisVest?: boolean;
72
+ hasGloves?: boolean;
73
+ hasGlasses?: boolean;
74
+ granularity?: ObservationCountsGranularity;
75
+ };
76
+ export type ObservationEventCount = {
77
+ bucket: DateType;
78
+ total: number;
79
+ compliant: number;
80
+ nonCompliant: number;
81
+ };
82
+ export declare enum ObservationRequiredItem {
83
+ Helmet = "has_helmet",
84
+ HighVisVest = "has_high_vis_vest"
85
+ }
@@ -16,6 +16,26 @@ export declare enum ActiveUsersMetric {
16
16
  WAU = "wau",
17
17
  MAU = "mau"
18
18
  }
19
+ export type PosthogUser = {
20
+ id: string;
21
+ email: string;
22
+ isWeeklyActiveUser: number;
23
+ isMonthlyActiveUser: number;
24
+ eventsCount: number;
25
+ };
26
+ export type PosthogUsersRequestParams = {
27
+ companyExid?: string;
28
+ projectExid?: string;
29
+ cameraExid?: string;
30
+ productsActivityOnly?: boolean;
31
+ afterId?: string;
32
+ size?: number;
33
+ };
34
+ export type PosthogUsersResponse = {
35
+ data: PosthogUser[];
36
+ hasMore: boolean;
37
+ size: number;
38
+ };
19
39
  export type PosthogUserParams = {
20
40
  firstname?: string;
21
41
  lastname?: string;
@@ -5,18 +5,20 @@ export type Snapshot = {
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
13
  includeImage?: boolean;
14
+ view?: boolean;
14
15
  };
15
16
  export type AvailableDaysRequestPayload = {
16
17
  cameraId: string;
17
18
  year: string;
18
19
  month: string;
19
20
  payload?: ApiCredentials;
21
+ cancelToken?: CancelToken;
20
22
  };
21
23
  export type AvailableDaysResponsePayload = {
22
24
  days: Array<number>;
@@ -104,13 +106,6 @@ export declare enum SnapshotExtractionInterval {
104
106
  }
105
107
  export declare enum VpnServer {
106
108
  None = "None",
107
- OpenVPN1 = "OpenVPN1",
108
- OpenVPN2 = "OpenVPN2",
109
- OpenVPN3 = "OpenVPN3",
110
- OpenVPN4 = "OpenVPN4",
111
- OpenVPN5 = "OpenVPN5",
112
- PPTP1 = "PPTP1",
113
- PPTP2 = "PPTP2",
114
109
  WireGuard1 = "WireGuard1",
115
110
  WireGuard2 = "WireGuard2",
116
111
  WireGuard3 = "WireGuard3",
@@ -3,7 +3,8 @@ 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",
@@ -0,0 +1,92 @@
1
+ import { CameraExid, DateType, ProjectExid } from "@evercam/api/types";
2
+ export type SiteAnalyticsCoolifyStatus = {
3
+ appUuid: string | null;
4
+ name: string | null;
5
+ serverUuid: string | null;
6
+ serverName: string | null;
7
+ appUrl: string | null;
8
+ status: string | null;
9
+ isRunning: boolean;
10
+ updatedAt: string | null;
11
+ };
12
+ export type SiteAnalyticsProjectMeta = {
13
+ exid: ProjectExid;
14
+ name: string | null;
15
+ timezone: string | null;
16
+ featureFlags: string[] | null;
17
+ };
18
+ export type SiteAnalyticsCameraMeta = {
19
+ exid: CameraExid;
20
+ name: string | null;
21
+ status: string | null;
22
+ featureFlags: string[] | null;
23
+ };
24
+ export type SiteAnalyticsManagedApp = {
25
+ id: number;
26
+ projectExid: ProjectExid;
27
+ cameraExid: CameraExid;
28
+ coolifyAppId: string | null;
29
+ appVersion: string;
30
+ modelId: number | null;
31
+ startDate: DateType | null;
32
+ endDate: DateType | null;
33
+ startHour: number;
34
+ endHour: number;
35
+ source: string;
36
+ override: boolean;
37
+ timeIncreaseFrequency: number;
38
+ insertedAt: DateType | null;
39
+ updatedAt: DateType | null;
40
+ coolify: SiteAnalyticsCoolifyStatus | null;
41
+ project: SiteAnalyticsProjectMeta | null;
42
+ camera: SiteAnalyticsCameraMeta | null;
43
+ lastTrackingAt: DateType | null;
44
+ };
45
+ export type CreateSiteAnalyticsAppPayload = {
46
+ projectExid: ProjectExid;
47
+ cameraExid: CameraExid;
48
+ coolifyServerUuid: string;
49
+ appVersion?: string;
50
+ modelId?: number | null;
51
+ startDate?: DateType | null;
52
+ endDate?: DateType | null;
53
+ startHour?: number;
54
+ endHour?: number;
55
+ source?: string;
56
+ override?: boolean;
57
+ timeIncreaseFrequency?: number;
58
+ };
59
+ export type UpdateSiteAnalyticsAppPayload = Partial<Omit<CreateSiteAnalyticsAppPayload, "projectExid" | "cameraExid" | "coolifyServerUuid">>;
60
+ export type ModelOption = {
61
+ modelId: number;
62
+ version: string;
63
+ };
64
+ export type SiteAnalyticsAppConfigFormValue = {
65
+ appVersion: string;
66
+ modelId: number | null;
67
+ startDate: string | null;
68
+ endDate: string | null;
69
+ startHour: number;
70
+ endHour: number;
71
+ source: string;
72
+ override: boolean;
73
+ timeIncreaseFrequency: number;
74
+ };
75
+ export type SiteAnalyticsManagementListParams = {
76
+ projectExid?: ProjectExid;
77
+ includeStatus?: boolean;
78
+ page?: number;
79
+ limit?: number;
80
+ };
81
+ export type CreateSiteAnalyticsAppResponse = {
82
+ created: boolean;
83
+ id: number | null;
84
+ data: SiteAnalyticsManagedApp | null;
85
+ count: number | null;
86
+ message: string;
87
+ };
88
+ export type DeleteSiteAnalyticsAppResponse = {
89
+ deleted: boolean;
90
+ count: number;
91
+ message: string;
92
+ };
@@ -53,7 +53,6 @@ export type ForgeMarker = {
53
53
  };
54
54
  export type ForgeProjectData = {
55
55
  urns?: ForgeUrn[];
56
- isEvercamAccount?: boolean;
57
56
  accDrawingsAlignments?: Record<string, ForgeAccAlignmentData>;
58
57
  timeline?: TimelineItem[];
59
58
  savedView?: ForgeView;
@@ -5,8 +5,11 @@ export type SnapshotExtractionQyeryParams = PaginationParams & {
5
5
  status: SnapshotExtractionStatus;
6
6
  };
7
7
  export declare enum SnapshotExtractionStatus {
8
+ Cancelling = "canceling",
9
+ Cancelled = "cancelled",
8
10
  Completed = "completed",
9
11
  Failed = "failed",
12
+ Pending = "pending",
10
13
  Processing = "processing"
11
14
  }
12
15
  export declare enum SnapshotExtractionType {
@@ -30,6 +33,8 @@ export type SnapshotExtraction = {
30
33
  injectTo_cr: Boolean;
31
34
  schedule: Schedule;
32
35
  created_at: DateType;
36
+ jpegCount?: number;
37
+ obanJobId?: number;
33
38
  };
34
39
  export type SnapshotTestPayload = {
35
40
  cameraExid?: CameraExid;
@@ -337,6 +337,7 @@ export type ProjectUserWithRole = {
337
337
  name: string;
338
338
  exid: string;
339
339
  };
340
+ persona: Persona;
340
341
  permissions: string[];
341
342
  role: Role;
342
343
  subRoles: RoleSubRole[];
@@ -7,4 +7,3 @@ export declare const toQueryString: <T extends Record<string, unknown>>(paramsOb
7
7
  forceArrayBrackets?: boolean | undefined;
8
8
  }) => string | undefined;
9
9
  export declare function queryStringToObject(queryString?: string): QueryParams;
10
- export declare function capitalizeFirstLetter(inputString: string): string;