@evercam/api 1.0.0-d5f475263 → 1.0.0-d7a4e6c9d

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 (37) hide show
  1. package/README.md +3 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +1 -0
  3. package/dist/api/api/adminApi.d.ts +20 -2
  4. package/dist/api/api/aiApi.d.ts +14 -5
  5. package/dist/api/api/evercamApi.d.ts +8 -9
  6. package/dist/api/api/evercamLabsApi.d.ts +3 -2
  7. package/dist/api/api/ingestApi.d.ts +36 -9
  8. package/dist/api/api/videoWallApi.d.ts +7 -7
  9. package/dist/api/types/360.d.ts +47 -0
  10. package/dist/api/types/aconex.d.ts +102 -4
  11. package/dist/api/types/analytics.d.ts +51 -4
  12. package/dist/api/types/anpr.d.ts +5 -11
  13. package/dist/api/types/automation.d.ts +51 -0
  14. package/dist/api/types/camera.d.ts +7 -2
  15. package/dist/api/types/coolify.d.ts +2 -0
  16. package/dist/api/types/detections.d.ts +4 -18
  17. package/dist/api/types/errors.d.ts +1 -0
  18. package/dist/api/types/index.d.ts +1 -0
  19. package/dist/api/types/ingest.d.ts +4 -0
  20. package/dist/api/types/kit.d.ts +2 -0
  21. package/dist/api/types/progressPhoto.d.ts +1 -31
  22. package/dist/api/types/project.d.ts +4 -1
  23. package/dist/api/types/recycleBin.d.ts +14 -0
  24. package/dist/api/types/routeParams.d.ts +2 -1
  25. package/dist/api/types/siteAnalytics.d.ts +28 -7
  26. package/dist/api/types/snapshots.d.ts +9 -0
  27. package/dist/api/types/time.d.ts +4 -0
  28. package/dist/api/types/videoWall.d.ts +34 -1
  29. package/dist/api/types/weather.d.ts +2 -0
  30. package/dist/api/types/widget.d.ts +6 -4
  31. package/dist/api/utils.d.ts +1 -0
  32. package/dist/index.js +690 -580
  33. package/dist/index.js.map +1 -1
  34. package/dist/index.umd.cjs +1 -1
  35. package/dist/index.umd.cjs.map +1 -1
  36. package/dist/shared/types/components.d.ts +9 -2
  37. package/package.json +4 -4
@@ -1,3 +1,4 @@
1
+ import { AconexIdentifiers, CameraExid } from "@evercam/api/types";
1
2
  export declare enum AutomationProvider {
2
3
  Aconex = "aconex",
3
4
  Procore = "procore",
@@ -8,3 +9,53 @@ export declare enum AutomationType {
8
9
  Photo = "photo",
9
10
  Compare = "compare"
10
11
  }
12
+ export type AutomationCompareConfig = {
13
+ compareDelay: number;
14
+ };
15
+ export type AutomationEmailProviderConfig = {
16
+ recipients: string | string[];
17
+ };
18
+ export type AutomationProcoreProviderConfig = {
19
+ companyId: number;
20
+ companyName: string;
21
+ projectId: number;
22
+ projectName: string;
23
+ categoryId: number;
24
+ categoryName: string;
25
+ };
26
+ export type AutomationAconexProviderConfig = {
27
+ projectId: number;
28
+ projectName: string;
29
+ } & Partial<Record<AconexIdentifiers, string | number | boolean>>;
30
+ export type AutomationAutodeskProviderConfig = {
31
+ hubId: number;
32
+ hubName: string;
33
+ projectId: number;
34
+ projectName: string;
35
+ folderId: number;
36
+ accFileType: string;
37
+ accFolderType: string;
38
+ folderName: string;
39
+ };
40
+ export type AutomationProviderConfig = AutomationEmailProviderConfig | AutomationProcoreProviderConfig | AutomationAconexProviderConfig | AutomationAutodeskProviderConfig;
41
+ export type AutomationOptionsConfig = AutomationCompareConfig | {};
42
+ export type AutomationConfig = AutomationProviderConfig & AutomationOptionsConfig;
43
+ export type Automation = {
44
+ cameraExids: CameraExid[];
45
+ name: string;
46
+ subject?: string;
47
+ provider: AutomationProvider;
48
+ type: AutomationType;
49
+ config: AutomationConfig;
50
+ notifyDays: string[];
51
+ notifyTime: string;
52
+ timezone: string;
53
+ isPaused: boolean;
54
+ restrictedCameraExids?: string[];
55
+ };
56
+ export declare enum AutomationConfigStep {
57
+ Type = "type",
58
+ Cameras = "cameras",
59
+ Settings = "settings",
60
+ Destination = "destination"
61
+ }
@@ -1,4 +1,5 @@
1
- import { AuditLogActionType, DateTime_Z_micros, DateType, EntityByExid, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, Schedule } from "@/types";
1
+ import { AuditLogActionType, DateTime_Z_micros, DateType, EntityByExid, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule } from "@/types";
2
+ import { DateRangeFilter } from "@/types/time";
2
3
  export type CameraExid = string;
3
4
  export type CamerasByExid = EntityByExid<Camera>;
4
5
  export type Cartesian3 = {
@@ -135,7 +136,7 @@ export type AdminCamera = {
135
136
  pitch: null;
136
137
  powerSchedule: Schedule;
137
138
  projectExid: string;
138
- projectFeatureFlags: [];
139
+ projectFeatureFlags: ProjectFeatureFlag[];
139
140
  projectId: number;
140
141
  projectName: string;
141
142
  ptz: false;
@@ -341,6 +342,7 @@ export type CameraPath = {
341
342
  export type CheckCameraPortPayload = {
342
343
  address: string;
343
344
  port: number;
345
+ open: boolean;
344
346
  };
345
347
  export type CameraCreateRequestPayload = {
346
348
  status: CameraStatus;
@@ -529,3 +531,6 @@ export declare enum BimType {
529
531
  TwoD = "2D",
530
532
  Forge = "Forge"
531
533
  }
534
+ export type CameraDateRangeFilter = DateRangeFilter & {
535
+ cameraExid: CameraExid;
536
+ };
@@ -6,6 +6,7 @@ export type CreateCoolifyAppRequestPayload = {
6
6
  snapshotRequestTimeout: string | number;
7
7
  serverUuid: string;
8
8
  branch: string;
9
+ useThirdParty: boolean;
9
10
  };
10
11
  export type SaveCoolifyAppRequestPayload = {
11
12
  contextCameraExid: string;
@@ -15,4 +16,5 @@ export type SaveCoolifyAppRequestPayload = {
15
16
  branchName: string;
16
17
  snapshotRequestTimeout: string | number;
17
18
  serverUuid: string;
19
+ useThirdParty: boolean;
18
20
  };
@@ -1,4 +1,4 @@
1
- import { type BoundingBox, type ProjectExid, type CameraExid, type DateType, DetectionLabel, SegmentLabel, type TimelineDateInterval, TimelinePrecision } from "@/types";
1
+ import { type BoundingBox, type ProjectExid, type CameraExid, type DateType, DetectionLabel, SegmentLabel, type TimelineDateInterval, TimelinePrecision, DateRangeFilter, ProjectDateRangeFilter, CameraDateRangeFilter } from "@/types";
2
2
  export type BaseDetectionsFilters = {
3
3
  fromDate: string | Date;
4
4
  toDate: string | Date;
@@ -72,11 +72,6 @@ export type SegmentSimilarityResult = {
72
72
  distance: number;
73
73
  segment: Segment;
74
74
  };
75
- export type SegmentsSimilaritySearchResult = {
76
- firstSeen: DateType | null;
77
- lastSeen: DateType | null;
78
- similarSegments: SegmentSimilarityResult[];
79
- };
80
75
  export type SegmentsSimilaritySearchParams = {
81
76
  cameraExid: CameraExid;
82
77
  referenceId: string;
@@ -84,24 +79,15 @@ export type SegmentsSimilaritySearchParams = {
84
79
  fromDate: string;
85
80
  toDate: string;
86
81
  };
87
- export type BaseCountsParams = {
88
- fromDate: string | Date;
89
- toDate: string | Date;
82
+ export type BaseCountsParams = DateRangeFilter & {
90
83
  precision: keyof typeof TimelinePrecision;
91
84
  trackId: number;
92
85
  labels: DetectionLabel | DetectionLabel[];
93
86
  };
94
- export type DetectionsCountsParams = BaseCountsParams & {
95
- projectExid: ProjectExid;
87
+ export type DetectionsCountsParams = ProjectDateRangeFilter & BaseCountsParams & {
96
88
  cameraExids?: CameraExid[];
97
89
  };
98
- export type SegmentsCountsParams = BaseCountsParams & {
99
- cameraExid: CameraExid;
100
- };
101
- export type CountByPeriod = {
102
- date: string | Date;
103
- counts: Record<string, number>;
104
- };
90
+ export type SegmentsCountsParams = CameraDateRangeFilter & BaseCountsParams;
105
91
  export type DetectionsPresenceByLabel = Record<DetectionLabel, TimelineDateInterval[]>;
106
92
  export type SegmentsPresenceByLabel = Record<SegmentLabel, TimelineDateInterval[]>;
107
93
  export type LuminanceReading = {
@@ -26,6 +26,7 @@ export declare enum ErrorCode {
26
26
  ConflictError = 409
27
27
  }
28
28
  export declare enum EvercamApiErrorCode {
29
+ IntegrationError = "INTEGRATION_ERROR",
29
30
  BadArgument = "BAD_ARGUMENT",
30
31
  DeviceError = "DEVICE_ERROR",
31
32
  UnsupportedOperation = "UNSUPPORTED_OPERATION",
@@ -55,3 +55,4 @@ export * from "./coolify";
55
55
  export * from "./tag";
56
56
  export * from "./xweather";
57
57
  export * from "./posthog";
58
+ export * from "./recycleBin";
@@ -9,6 +9,10 @@ export declare enum IngestProcessingStatus {
9
9
  InProgress = "inprogress",
10
10
  Pending = "pending"
11
11
  }
12
+ export declare enum MobileAssetsType {
13
+ Audio = "mobile_audios",
14
+ Photo = "mobile_photos"
15
+ }
12
16
  export declare enum IngestVersions {
13
17
  V1 = "v1",
14
18
  V2 = "v2"
@@ -16,6 +16,8 @@ export type Kit = {
16
16
  serial: string;
17
17
  status: KitStatus;
18
18
  powerSchedule: Schedule;
19
+ ups: boolean;
20
+ boxId: string;
19
21
  tags: Tag[];
20
22
  storages: KitStorage[];
21
23
  createdAt: string;
@@ -1,34 +1,4 @@
1
- import { AutomationType, DateTime, DateType, PaginationParams } from "@/types";
2
- export type Automation = {
3
- name?: string;
4
- cameraIds: string;
5
- cameraNames: number;
6
- cameraExids?: string[];
7
- createdAt: string;
8
- id: number;
9
- provider: string;
10
- type: AutomationType;
11
- config: Partial<{
12
- recipients: string | Record<string, string>[];
13
- companyId: number;
14
- compareDelay: number;
15
- categoryId: string;
16
- hubId: string;
17
- folderId: string;
18
- projectId: number;
19
- }>;
20
- isPaused: boolean;
21
- notifyDays: string | string[];
22
- notifyTime: string;
23
- requesterEmail: string;
24
- requesterName: string;
25
- timezone: string;
26
- title: string;
27
- compareDelay?: number;
28
- selectedProvider?: string;
29
- restrictedCameraExids?: string[];
30
- recipients?: string | string[];
31
- };
1
+ import { Automation, AutomationType, DateTime, DateType, PaginationParams } from "@/types";
32
2
  export type ProgressPhotosCreateUpdateRequestPayload = {
33
3
  cameraExids?: string;
34
4
  notifyDays?: string;
@@ -1,4 +1,4 @@
1
- import { AdminCamera, Camera, CameraExid, DateTime, DateType, EntityByExid, Exid, PaginationParams } from "@/types";
1
+ import { AdminCamera, Camera, CameraExid, DateRangeFilter, DateTime, DateType, EntityByExid, Exid, PaginationParams } from "@/types";
2
2
  export type ProjectExid = Exid;
3
3
  export type ProjectsByExid = EntityByExid<Project>;
4
4
  export type Project = {
@@ -127,3 +127,6 @@ export type ProjectUsers = {
127
127
  }[];
128
128
  users: Record<string, ProjectUserProperty[]>;
129
129
  };
130
+ export type ProjectDateRangeFilter = DateRangeFilter & {
131
+ projectExid: ProjectExid;
132
+ };
@@ -0,0 +1,14 @@
1
+ import type { DateType, PaginationParams } from "@/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
+ };
@@ -46,6 +46,7 @@ export declare enum TimelineMobileCaptureUrlParams {
46
46
  ShowMobileCapture = "showMobileCapture"
47
47
  }
48
48
  export declare enum TimelineCommentsUrlParams {
49
- ShowComments = "showComments"
49
+ ShowComments = "showComments",
50
+ SelectedCommentId = "selectedCommentId"
50
51
  }
51
52
  export type TimelineUrlParams = Record<TimelineUrlParam | TimelineMediaUrlParams | TimelineBimUrlParams | TimelineExNvrRecordingsUrlParams | TimelineAnprUrlParams | TimelineMobileCaptureUrlParams | TimelineCommentsUrlParams, string | null>;
@@ -1,15 +1,15 @@
1
- import type { BBox, BoundingBox, DateType, Schedule, CameraExid, DateTime, DetectionModel, PaginationParams, PpeLabel, ProjectExid } from "@evercam/api/types";
1
+ import type { BBox, BoundingBox, DateType, Schedule, CameraExid, DateTime, DetectionModel, PaginationParams, PpeLabel, ProjectExid, CameraDateRangeFilter } from "@evercam/api/types";
2
2
  import { DetectionLabel, DownloadFileType } from "@evercam/api/types";
3
3
  export declare enum SiteAnalyticsMode {
4
4
  Detections = "detections",
5
5
  Segments = "segments"
6
6
  }
7
- export type SmartSearchOptionData = {
7
+ export type SmartSearchQueryPartData = {
8
8
  id?: string;
9
- type: SmartSearchQueryComponentType;
9
+ type: SmartSearchQueryPartType;
10
10
  value: DetectionLabel | SmartSearchOperatorType | SmartSearchConditionData | SmartSearchCondition | SmartSearchDateRange | string;
11
11
  };
12
- export type SmartSearchQueryPart = SmartSearchOptionData | [SmartSearchQueryPart] | SmartSearchQueryPart[];
12
+ export type SmartSearchQueryPart = SmartSearchQueryPartData | SmartSearchQueryPartData[];
13
13
  export declare enum SmartSearchQueryComponentType {
14
14
  Condition = "condition",
15
15
  Object = "object",
@@ -17,8 +17,10 @@ export declare enum SmartSearchQueryComponentType {
17
17
  Time = "time",
18
18
  Operator = "operator",
19
19
  Camera = "camera",
20
- DateRange = "date_range"
20
+ DateRange = "date_range",
21
+ Heatmap = "heatmap"
21
22
  }
23
+ export type SmartSearchQueryPartType = SmartSearchQueryComponentType | SmartSearchCondition;
22
24
  export type SmartSearchDateRange = {
23
25
  start: DateType;
24
26
  end: DateType;
@@ -26,7 +28,7 @@ export type SmartSearchDateRange = {
26
28
  export type SmartSearchQueryComponentData = {
27
29
  id: string;
28
30
  type: SmartSearchQueryComponentType;
29
- parts: [SmartSearchQueryPart];
31
+ parts: SmartSearchQueryPart;
30
32
  };
31
33
  export declare enum SmartSearchCondition {
32
34
  InArea = "in_area",
@@ -114,7 +116,7 @@ export type SavedQuery = {
114
116
  timeSchedule?: Schedule | undefined;
115
117
  };
116
118
  params: Record<string, string>;
117
- components?: Omit<SmartSearchOptionData, "id">[];
119
+ components?: Omit<SmartSearchQueryPartData, "id">[];
118
120
  toDate?: DateType;
119
121
  createdAt?: DateType;
120
122
  cameraExid: string;
@@ -140,3 +142,22 @@ export type DetectionsExportRequestParams = DetectionsRequestParams & {
140
142
  columns?: string[];
141
143
  directDownload?: boolean;
142
144
  };
145
+ export type SmartSearchHeatmapPoint = {
146
+ coordinates: [number, number];
147
+ detectionsCount: number;
148
+ };
149
+ export type SmartSearchHeatmapData = {
150
+ label: string;
151
+ points: SmartSearchHeatmapPoint[];
152
+ };
153
+ export type SmartSearchNearConfig = {
154
+ sourceLabels: DetectionLabel[];
155
+ targetLabel?: DetectionLabel;
156
+ };
157
+ export type HeatmapIntersectionsRequestParams = CameraDateRangeFilter & SmartSearchNearConfig;
158
+ export type SmartSearchSidebarItem = {
159
+ key: string;
160
+ displayLabel: string;
161
+ data: SmartSearchHeatmapData;
162
+ imagePath?: string;
163
+ };
@@ -48,3 +48,12 @@ export type DeleteSnapshotQueryParams = {
48
48
  adminEmail: string;
49
49
  adminFullname: string;
50
50
  };
51
+ export type TransferCloudRecordingsQueryParams = {
52
+ targetCameraExid: CameraExid;
53
+ fromDate: DateType;
54
+ toDate: DateType;
55
+ overwriteExistingSnapshots?: boolean;
56
+ keepSourceSnapshots?: boolean;
57
+ adminEmail?: string;
58
+ adminFullname?: string;
59
+ };
@@ -18,4 +18,8 @@ export type DateTime_tz = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}${"+" | "-"}${HH}:
18
18
  export type DateTime_Z = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}Z` | string;
19
19
  export type DateTime_Z_micros = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}.${microS}Z` | string;
20
20
  export type DateTimeSpaceSeparated = `${Date_YYYY_MM_DD} ${Time_HH_mm_ss}` | string;
21
+ export type DateRangeFilter = {
22
+ fromDate: DateType;
23
+ toDate: DateType;
24
+ };
21
25
  export {};
@@ -1,4 +1,4 @@
1
- import { Camera, Media } from "@/types";
1
+ import { Camera, Media, PaginationParams } from "@/types";
2
2
  export declare enum VideoWallItemType {
3
3
  LiveView = "live",
4
4
  Video = "video",
@@ -31,3 +31,36 @@ export type VideoWallPresetItem = {
31
31
  weather?: Record<string, unknown>;
32
32
  media?: Media;
33
33
  };
34
+ export type VideoWallSource = "default" | "widget";
35
+ export interface VideoWall {
36
+ id: number;
37
+ exid: string;
38
+ name: string;
39
+ source: VideoWallSource;
40
+ config: Record<string, any>;
41
+ inserted_at: string;
42
+ updated_at: string;
43
+ user: {
44
+ id: number;
45
+ firstname: string;
46
+ lastname: string;
47
+ email: string;
48
+ };
49
+ }
50
+ export interface ListParams extends PaginationParams {
51
+ project_exid?: string;
52
+ id?: number;
53
+ exid?: string;
54
+ project_id?: number;
55
+ user_id?: number;
56
+ name?: string;
57
+ project?: string;
58
+ user?: string;
59
+ source?: VideoWallSource;
60
+ }
61
+ export type VideoWallCreateUpdatePayload = {
62
+ project_exid: string;
63
+ name: string;
64
+ source?: VideoWallSource;
65
+ config: Record<string, unknown>;
66
+ };
@@ -5,6 +5,8 @@ export type HistoryWeatherRequestPayload = {
5
5
  };
6
6
  export type CurrentWeatherRequestPayload = {
7
7
  provider: WeatherProvider;
8
+ includeForecast?: boolean;
9
+ forecastDays?: number;
8
10
  };
9
11
  export type WeatherResponsePayload = Array<{
10
12
  hour?: number;
@@ -78,6 +78,8 @@ export type RecordingsWidgetSettings = CommonWidgetSettings & {
78
78
  hasDelay: boolean;
79
79
  delay: number;
80
80
  delayUnit: DelayUnit;
81
+ hasRange: boolean;
82
+ dateRange: [DateTime, DateTime] | null;
81
83
  };
82
84
  export type LiveViewWidgetSettings = CommonWidgetSettings & {
83
85
  fullscreen: boolean;
@@ -118,7 +120,7 @@ export type WidgetsListRequestPayload = PaginationParams & {
118
120
  active: boolean;
119
121
  settings: WidgetSettings;
120
122
  widgetType: WidgetType;
121
- isPublic: boolean;
123
+ domainRestricted: boolean;
122
124
  allowedOrigin: string;
123
125
  };
124
126
  export type Widget = {
@@ -138,7 +140,7 @@ export type Widget = {
138
140
  widgetType: WidgetType;
139
141
  settings: WidgetSettings;
140
142
  allowedOrigin: string;
141
- isPublic: boolean;
143
+ domainRestricted: boolean;
142
144
  active: boolean;
143
145
  user: {
144
146
  id: number;
@@ -174,7 +176,7 @@ export type WidgetFull = {
174
176
  settings: WidgetSettings;
175
177
  sessionSettings: any;
176
178
  allowedOrigin: string;
177
- isPublic: boolean;
179
+ domainRestricted: boolean;
178
180
  insertedAt: DateTime;
179
181
  updatedAt: DateTime;
180
182
  };
@@ -186,6 +188,6 @@ export type WidgetPayload = {
186
188
  widgetType: WidgetType;
187
189
  active: boolean;
188
190
  settings: WidgetSettings;
189
- isPublic: boolean;
191
+ domainRestricted: boolean;
190
192
  allowedOrigin: string;
191
193
  };
@@ -7,3 +7,4 @@ 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;