@evercam/api 1.0.0-e13c64fc3 → 1.0.0-e1cf8aca7

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 (54) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +198 -15
  3. package/dist/api/api/adminApi.d.ts +30 -16
  4. package/dist/api/api/aiApi.d.ts +45 -4
  5. package/dist/api/api/authzApi.d.ts +1 -2
  6. package/dist/api/api/evercamApi.d.ts +27 -10
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -6
  8. package/dist/api/api/ingestApi.d.ts +53 -44
  9. package/dist/api/types/360.d.ts +173 -54
  10. package/dist/api/types/aiConfigs.d.ts +154 -0
  11. package/dist/api/types/analytics.d.ts +37 -15
  12. package/dist/api/types/anpr.d.ts +31 -2
  13. package/dist/api/types/auditLogs.d.ts +18 -0
  14. package/dist/api/types/authz.d.ts +1 -0
  15. package/dist/api/types/axios.d.ts +9 -8
  16. package/dist/api/types/bim.d.ts +25 -0
  17. package/dist/api/types/camera.d.ts +14 -25
  18. package/dist/api/types/comments.d.ts +10 -7
  19. package/dist/api/types/connector.d.ts +1 -0
  20. package/dist/api/types/detections.d.ts +5 -10
  21. package/dist/api/types/drone.d.ts +96 -6
  22. package/dist/api/types/errors.d.ts +11 -0
  23. package/dist/api/types/gateReport.d.ts +7 -11
  24. package/dist/api/types/gateReportManagement.d.ts +175 -0
  25. package/dist/api/types/index.d.ts +5 -1
  26. package/dist/api/types/ingest.d.ts +27 -3
  27. package/dist/api/types/kit.d.ts +11 -2
  28. package/dist/api/types/map.d.ts +12 -0
  29. package/dist/api/types/media.d.ts +6 -1
  30. package/dist/api/types/planner.d.ts +97 -0
  31. package/dist/api/types/posthog.d.ts +20 -0
  32. package/dist/api/types/project.d.ts +8 -3
  33. package/dist/api/types/recording.d.ts +6 -9
  34. package/dist/api/types/roi.d.ts +4 -3
  35. package/dist/api/types/shared.d.ts +19 -0
  36. package/dist/api/types/siteAnalytics.d.ts +3 -3
  37. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  38. package/dist/api/types/siteView.d.ts +73 -0
  39. package/dist/api/types/snapshots.d.ts +48 -3
  40. package/dist/api/types/storageProvider.d.ts +19 -0
  41. package/dist/api/types/timelapse.d.ts +6 -2
  42. package/dist/api/types/user.d.ts +1 -5
  43. package/dist/api/utils.d.ts +0 -1
  44. package/dist/index.js +1628 -767
  45. package/dist/index.js.map +1 -1
  46. package/dist/index.umd.cjs +1 -1
  47. package/dist/index.umd.cjs.map +1 -1
  48. package/dist/shared/types/components.d.ts +73 -9
  49. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  50. package/dist/shared/types/imagePlayer.d.ts +8 -1
  51. package/dist/shared/types/index.d.ts +2 -0
  52. package/dist/shared/types/rbac.d.ts +67 -0
  53. package/package.json +4 -2
  54. package/dist/api/types/storageServers.d.ts +0 -4
@@ -1,8 +1,8 @@
1
1
  import type { AxiosRequestConfig } from "axios";
2
2
  import type { SwrRequestConfig } from "@evercam/api/types";
3
3
  import type { _360AssetsQueryParams, _360AssetsRequestPayload, _360QueueQueryParams, _360AssetsUploadPayload, _360AssetsResponse, _360AssetsCountsResponse, _360QueueResponse, _360FloorsResponse, DroneQueueResponse, DroneUploadsResponse, IngestUploadInitResponse, BimUploadsResponse, MobileAssetsQueryParams, MobileCaptureAssetsResponse, BimUploadPayload, BimUploadsQueryParams, CalculateMeasuringOperationRequestPayload, DrawingsRequestPayload, DronesQueryParams, DroneUploadUpdateRequestPayload, FlightImagesQueryParams, Generate360MapRequestPayload, GenerateFloorPayload, InspectionToolRequestPayload, JsonObject, _360WalkV2, _360FloorV2 } from "@evercam/api/types";
4
- import { IngestVersions } from "@evercam/api/types";
5
- export declare const getIngestApiUrl: (version: string) => string | undefined | null;
4
+ import { IngestVersions, IngestTypes } from "@evercam/api/types";
5
+ export declare const getIngestApiUrls: (type: string) => string[];
6
6
  export declare const IngestApi: {
7
7
  drone: {
8
8
  createUpload(projectId: string, params: {
@@ -27,51 +27,53 @@ export declare const IngestApi: {
27
27
  verifyToken(projectId: string, params: {
28
28
  token: string;
29
29
  }): Promise<JsonObject>;
30
- calculateMeasuringOperation(projectId: string, params: CalculateMeasuringOperationRequestPayload): Promise<JsonObject>;
30
+ calculateMeasuringOperation(projectId: string, params: CalculateMeasuringOperationRequestPayload, ingestUrl?: string): Promise<JsonObject>;
31
31
  inspectionTool(projectId: string, params: InspectionToolRequestPayload): Promise<JsonObject>;
32
32
  isInspectionEnabled(projectId: string, params?: JsonObject): Promise<JsonObject>;
33
- getDroneQueueSize(version?: IngestVersions): Promise<DroneQueueResponse>;
33
+ getDroneQueueSize(droneUrl: string): Promise<DroneQueueResponse>;
34
34
  getFlightImages(projectId: string, params: FlightImagesQueryParams): Promise<JsonObject>;
35
35
  checkFlightAvailableFeatures(projectId: string, params: JsonObject): Promise<JsonObject>;
36
36
  };
37
37
  assets360: {
38
38
  get360Assets(params: {
39
39
  params: Partial<_360AssetsQueryParams>;
40
- }, version?: IngestVersions): Promise<_360AssetsResponse>;
40
+ }): Promise<_360AssetsResponse>;
41
41
  get360AssetsCounts(projectId: string, params: {
42
42
  uploadedBy: string;
43
- }, version?: IngestVersions): Promise<_360AssetsCountsResponse>;
43
+ }): Promise<_360AssetsCountsResponse>;
44
44
  get360AssetLink(projectId: string, date: string, floor: string, assetType: string, drawingId: string, marker: string | null): Promise<string>;
45
- update360(id: number, payload: _360AssetsRequestPayload, version?: IngestVersions): Promise<_360WalkV2>;
46
- update360ByProjectDateName(projectId: string, date: string, floor: string, payload: _360AssetsRequestPayload, version?: IngestVersions): Promise<_360WalkV2>;
47
- deleteUpload(id: number, version?: IngestVersions): Promise<void>;
45
+ update360(id: number, payload: _360AssetsRequestPayload): Promise<_360WalkV2>;
46
+ update360ByProjectDateName(projectId: string, date: string, floor: string, payload: _360AssetsRequestPayload): Promise<_360WalkV2>;
47
+ deleteUpload(id: number): Promise<void>;
48
48
  getArchive(id: number, params: {
49
49
  dateType: string;
50
- }, version?: IngestVersions): Promise<Blob>;
51
- createUpload(projectId: string, params: _360AssetsRequestPayload, version?: IngestVersions): Promise<IngestUploadInitResponse>;
52
- upload(id: number, params: JsonObject, payload: _360AssetsUploadPayload, version?: IngestVersions): Promise<_360WalkV2>;
53
- reprocess360(id: number, version?: IngestVersions): Promise<void>;
50
+ }): Promise<Blob>;
51
+ createUpload(projectId: string, params: _360AssetsRequestPayload): Promise<IngestUploadInitResponse>;
52
+ upload(id: number, params: JsonObject, payload: _360AssetsUploadPayload): Promise<_360WalkV2>;
53
+ reprocess360(id: number): Promise<void>;
54
54
  drawingExists(payload: {
55
55
  params: {
56
56
  name: string;
57
57
  project_id: string;
58
58
  };
59
- }, version?: IngestVersions): Promise<JsonObject>;
59
+ }): Promise<JsonObject>;
60
60
  getDrawings(payload: {
61
61
  params: DrawingsRequestPayload;
62
62
  config?: SwrRequestConfig<_360FloorsResponse>;
63
- }, version?: IngestVersions): Promise<_360FloorsResponse>;
64
- getDrawingById(id: number, projectExid: string, version?: IngestVersions): Promise<_360FloorV2>;
65
- updateDrawing(id: number, projectExid: string, payload: GenerateFloorPayload, version?: IngestVersions): Promise<_360FloorV2>;
66
- deleteDrawing(id: number, version?: IngestVersions): Promise<void>;
67
- transferWalks(sourceId: number, targetId: number, projectExid: string, version?: IngestVersions): Promise<void>;
68
- createDrawing(projectExid: string, payload: GenerateFloorPayload, createdBy: string, version?: IngestVersions): Promise<_360FloorV2>;
63
+ }): Promise<_360FloorsResponse>;
64
+ getDrawingById(id: number, projectExid: string): Promise<_360FloorV2>;
65
+ updateDrawing(id: number, projectExid: string, payload: GenerateFloorPayload): Promise<_360FloorV2>;
66
+ deleteDrawing(id: number): Promise<void>;
67
+ restoreDrawing(id: number): Promise<void>;
68
+ transferWalks(sourceId: number, targetId: number, projectExid: string): Promise<void>;
69
+ createDrawing(projectExid: string, payload: GenerateFloorPayload, createdBy: string): Promise<_360FloorV2>;
69
70
  fetchDrawingOverlay(id: number, params: {
70
71
  view: boolean;
71
- }, onDownloadProgress: (progress: ProgressEvent) => void, version?: IngestVersions): Promise<Blob>;
72
- getFloorArchive(id: number, version?: IngestVersions): Promise<string>;
73
- generate360map(projectId: string, params: Generate360MapRequestPayload, version?: IngestVersions): Promise<JsonObject>;
74
- get360QueueSize(params: _360QueueQueryParams, version?: IngestVersions): Promise<_360QueueResponse>;
72
+ thumbnail?: boolean;
73
+ }, onDownloadProgress?: (progress: ProgressEvent) => void): Promise<string>;
74
+ getFloorArchive(id: number): Promise<string>;
75
+ generate360map(projectId: string, params: Generate360MapRequestPayload): Promise<JsonObject>;
76
+ get360QueueSize(ingestUrl: string, params?: _360QueueQueryParams): Promise<_360QueueResponse>;
75
77
  };
76
78
  bim: {
77
79
  createUpload(projectId: string, params: {
@@ -87,18 +89,39 @@ export declare const IngestApi: {
87
89
  name: string;
88
90
  }, payload: BimUploadPayload): Promise<void>;
89
91
  };
92
+ webhook: {
93
+ notifyBimUpdated(projectId: string, bimIdentifier: string): Promise<void>;
94
+ };
90
95
  mobileCapture: {
91
- getProjectMobileAssets(params: MobileAssetsQueryParams, extraConfig?: AxiosRequestConfig, version?: IngestVersions): Promise<MobileCaptureAssetsResponse>;
96
+ getProjectMobileAssets(params: MobileAssetsQueryParams, extraConfig?: AxiosRequestConfig): Promise<MobileCaptureAssetsResponse>;
92
97
  getMobileAssetPhoto(assetId: string | number, params: {
93
98
  projectId?: string;
94
99
  project_id?: string;
95
100
  isThumbnail?: boolean;
96
101
  is_thumbnail?: boolean;
97
- }, version?: IngestVersions): Promise<string>;
98
- deleteAsset(assetId: string | number, version?: IngestVersions): Promise<void>;
102
+ }): Promise<string>;
103
+ deleteAsset(assetId: string | number): Promise<void>;
99
104
  };
100
105
  utils: {
101
106
  loadAllAssetsInQueue(): Promise<({
107
+ ingestVersion: string;
108
+ id: number;
109
+ projectId: string;
110
+ consumed: boolean;
111
+ token: string;
112
+ flightDate: string;
113
+ flightGeolocation: string;
114
+ modelZip: string;
115
+ orthomosaicZip: string;
116
+ reportPdf: string;
117
+ processingLog: string;
118
+ uploadedBy: string;
119
+ processingStatus: import("@evercam/api/types").IngestProcessingStatus | string;
120
+ modelCesiumAssetId: string;
121
+ updatedAt: string;
122
+ hasTusLinks: boolean;
123
+ aerialShots: import("@evercam/api/types").AerialShotItem[];
124
+ } | {
102
125
  ingestVersion: string;
103
126
  archive: string;
104
127
  date: string;
@@ -118,6 +141,7 @@ export declare const IngestApi: {
118
141
  processingStatus: string;
119
142
  projectId: string;
120
143
  report: string;
144
+ processingLog: string;
121
145
  route: unknown | null;
122
146
  startPosition: unknown | null;
123
147
  tusLinks: unknown | null;
@@ -125,23 +149,8 @@ export declare const IngestApi: {
125
149
  uploadedBy: string;
126
150
  videoArchive: string;
127
151
  videos: string[];
128
- } | {
129
- ingestVersion: string;
130
- id: number;
131
- projectId: string;
132
- consumed: boolean;
133
- token: string;
134
- flightDate: string;
135
- flightGeolocation: string;
136
- modelZip: string;
137
- orthomosaicZip: string;
138
- reportPdf: string;
139
- uploadedBy: string;
140
- processingStatus: import("@evercam/api/types").IngestProcessingStatus | string;
141
- modelCesiumAssetId: string;
142
- updatedAt: string;
143
- hasTusLinks: boolean;
144
152
  })[]>;
145
- choose360IngestVersion(): Promise<IngestVersions>;
153
+ getIngestVersion(ingestUrl: string): IngestVersions;
154
+ chooseIngestApiUrl(type: IngestTypes): Promise<string>;
146
155
  };
147
156
  };
@@ -1,26 +1,35 @@
1
1
  import { DateType } from "@evercam/api/types/time";
2
- export type _360CameraParams = {
3
- azimuthAngle: number;
4
- polarAngle: number;
2
+ import { GeoPoint, Point3D } from "@evercam/api/types/shared";
3
+ export type _360OverlayPosition = {
4
+ northEast: GeoPoint;
5
+ northWest: GeoPoint;
6
+ southEast: GeoPoint;
7
+ southWest: GeoPoint;
5
8
  };
6
- export type _360Vector3D = {
7
- x: number;
8
- y: number;
9
- z: number;
9
+ export type ForgeViewport = {
10
+ name: string;
11
+ eye: number[];
12
+ target: number[];
13
+ worldUpVector?: number[];
10
14
  };
11
- export type _360Geolocation = {
12
- latitude: number;
13
- longitude: number;
15
+ export type ForgeView = {
16
+ name: string;
17
+ viewport: ForgeViewport;
18
+ timestamp: string;
14
19
  };
15
20
  export type _360CameraRotation = {
16
21
  azimuthAngle: number;
17
22
  polarAngle: number;
18
23
  };
24
+ export type _360Geolocation = {
25
+ latitude: number;
26
+ longitude: number;
27
+ };
19
28
  export type _360Marker3D = {
20
- cameraPosition: _360Vector3D;
29
+ cameraPosition: Point3D;
21
30
  geolocation: _360Geolocation;
22
31
  nextRoomId: _360MakerId;
23
- position: _360Vector3D;
32
+ position: Point3D;
24
33
  rotation: {
25
34
  _order: "XYZ" | string;
26
35
  _x: number;
@@ -35,7 +44,7 @@ export type _360Tag = {
35
44
  comment: string;
36
45
  creationDate: number;
37
46
  currentRoom: _360MakerId;
38
- position: _360Vector3D;
47
+ position: Point3D;
39
48
  cameraRotation: _360CameraRotation;
40
49
  };
41
50
  export type _360FloorId = string | number;
@@ -45,8 +54,16 @@ export type _360Floor = {
45
54
  _3DMarkers: _360Marker3D[];
46
55
  cameraRotation: _360CameraRotation;
47
56
  fbxModel: string;
57
+ fbxModelHQ?: string;
58
+ pointCloudModelHQ?: string;
48
59
  initialMarker: _360MakerId;
49
60
  modelViewerFeatureFlag: boolean;
61
+ imagesOnlyFeatureFlag?: boolean;
62
+ forgeBIMFeatureFlag?: boolean;
63
+ isForgeGravityEnabled?: boolean;
64
+ initialForgeView?: ForgeView | null;
65
+ enhancedLightFeatureFlag?: boolean;
66
+ calibrationDetails?: Record<string, unknown>;
50
67
  route: {
51
68
  cameraHeadingOffset: string;
52
69
  overlayID: number;
@@ -54,7 +71,7 @@ export type _360Floor = {
54
71
  };
55
72
  sceneScale: number;
56
73
  steps: number;
57
- tags: Record<string, _360Tag>;
74
+ tags?: Record<string, _360Tag>;
58
75
  };
59
76
  export type _360WalkV2 = {
60
77
  archive: string;
@@ -75,6 +92,7 @@ export type _360WalkV2 = {
75
92
  processingStatus: string;
76
93
  projectId: string;
77
94
  report: string;
95
+ processingLog: string;
78
96
  route: unknown | null;
79
97
  startPosition: unknown | null;
80
98
  tusLinks: unknown | null;
@@ -92,30 +110,14 @@ export type _360FloorV2 = {
92
110
  hasOverlay: boolean;
93
111
  isCalibrated: boolean;
94
112
  createdBy: string | null;
95
- overlayPosition: {
96
- northEast: {
97
- lat: number;
98
- lng: number;
99
- };
100
- northWest: {
101
- lat: number;
102
- lng: number;
103
- };
104
- southEast: {
105
- lat: number;
106
- lng: number;
107
- };
108
- southWest: {
109
- lat: number;
110
- lng: number;
111
- };
112
- };
113
+ overlayPosition: _360OverlayPosition;
113
114
  insertedAt: string;
114
115
  updatedAt: string;
116
+ deletedAt: string | null;
115
117
  };
116
118
  export type _360Scene = {
117
119
  date: string;
118
- dateID: number;
120
+ dateID: string | number;
119
121
  floors: {
120
122
  floorID: _360FloorId;
121
123
  name: string;
@@ -123,11 +125,33 @@ export type _360Scene = {
123
125
  polarAngle: number;
124
126
  azimuthAngle: number;
125
127
  };
128
+ export declare enum _360PinType {
129
+ Default = "Default"
130
+ }
131
+ export type _360Pin = {
132
+ position: Point3D;
133
+ pinType: _360PinType;
134
+ pinId?: string;
135
+ cameraExid?: string;
136
+ name: string;
137
+ currentRoom?: _360MakerId;
138
+ cameraRotation?: _360CameraRotation;
139
+ };
126
140
  export type _360SceneRoute = {
127
141
  cameraHeadingOffset?: number;
128
142
  overlayID?: number;
129
143
  track?: string;
130
144
  };
145
+ export type _360ProjectListItem = {
146
+ integrationType: string;
147
+ projectId: string;
148
+ projectName: string;
149
+ providerID: string;
150
+ providerPrefix: string;
151
+ providerSuffix: string;
152
+ timeline: string;
153
+ uniqueId: string;
154
+ };
131
155
  export type _360FullProject = {
132
156
  dates: _360SceneWithFloors[];
133
157
  integrationType: string;
@@ -159,12 +183,23 @@ export type MobileCaptureSnapshot = {
159
183
  thumbnailUrl: string;
160
184
  };
161
185
  export declare enum _360UrlParams {
162
- DateId = "date_id",
186
+ DateId = "dateId",
163
187
  Date = "date",
164
188
  Floor = "floor",
165
189
  Marker = "marker",
166
190
  PolarAngle = "polarAngle",
167
- AzimuthAngle = "azimuthAngle"
191
+ AzimuthAngle = "azimuthAngle",
192
+ Zoom = "zoom",
193
+ User = "user",
194
+ ViewerMode = "viewer_mode",
195
+ ProjectId = "projectId",
196
+ Unit = "unit",
197
+ LockDate = "lockDate",
198
+ LockFloor = "lockFloor",
199
+ LockMarker = "lockMarker",
200
+ IsWidget = "isWidget",
201
+ MediaLocked = "mediaLocked",
202
+ Debug = "debug"
168
203
  }
169
204
  export declare enum _360AssetType {
170
205
  Video = "video",
@@ -198,7 +233,7 @@ export declare enum PathMarkerColor {
198
233
  export type _360AssetsQueryParams = {
199
234
  page: number;
200
235
  limit: number;
201
- projectID: string;
236
+ projectId: string;
202
237
  date: DateType;
203
238
  floor: string;
204
239
  id: string;
@@ -221,6 +256,7 @@ export type DrawingsRequestPayload = {
221
256
  limit?: number;
222
257
  paginate?: boolean;
223
258
  withAsset?: boolean;
259
+ includeDeleted?: boolean;
224
260
  };
225
261
  export type GenerateFloorPayload = {
226
262
  overlay?: {
@@ -231,24 +267,7 @@ export type GenerateFloorPayload = {
231
267
  changedBy: string;
232
268
  name?: string;
233
269
  mapStyle?: string;
234
- overlayPositionCorners: {
235
- northEast: {
236
- lat: number;
237
- lng: number;
238
- };
239
- northWest: {
240
- lat: number;
241
- lng: number;
242
- };
243
- southWest: {
244
- lat: number;
245
- lng: number;
246
- };
247
- southEast: {
248
- lat: number;
249
- lng: number;
250
- };
251
- };
270
+ overlayPositionCorners: _360OverlayPosition;
252
271
  };
253
272
  export type _360QueueQueryParams = {
254
273
  projectId?: string;
@@ -273,4 +292,104 @@ export type Generate360MapRequestPayload = {
273
292
  cameraOffset: string;
274
293
  startPoint: string;
275
294
  endPoint: string;
295
+ drawingId?: number;
296
+ markers?: Array<{
297
+ position: {
298
+ x: number;
299
+ y: number;
300
+ z: number;
301
+ };
302
+ }>;
303
+ startPointIndex?: number;
304
+ endPointIndex?: number;
305
+ };
306
+ export declare enum EModelsType {
307
+ FBX = "FBX",
308
+ PointCloud = "PLY"
309
+ }
310
+ export type _360FloorRef = {
311
+ projectID: string;
312
+ dateID: string;
313
+ floorID: string;
314
+ };
315
+ export type _360Vector3 = {
316
+ x: number;
317
+ y: number;
318
+ z: number;
319
+ };
320
+ export type _360MarkerData = {
321
+ cameraPosition: _360Vector3;
322
+ nextRoomId: string;
323
+ position: _360Vector3;
324
+ geolocation: {
325
+ latitude: number;
326
+ longitude: number;
327
+ };
328
+ rotation: {
329
+ _order: string;
330
+ _x: number;
331
+ _y: number;
332
+ _z: number;
333
+ isEuler: boolean;
334
+ };
335
+ };
336
+ export type _360Route = {
337
+ overlayID?: number;
338
+ track?: string;
339
+ cameraHeadingOffset?: number;
340
+ };
341
+ export type _360CalibrationDetails = {
342
+ baseOriginOf360Viewer?: _360Vector3;
343
+ baseOriginOfForgeViewer?: _360Vector3;
344
+ rotationMatrix?: {
345
+ elements: number[];
346
+ };
347
+ scaleMatrix?: {
348
+ elements: number[];
349
+ };
350
+ };
351
+ export type _360FloorData = {
352
+ _3DMarkers: _360MarkerData[];
353
+ fbxModel: string | null;
354
+ fbxModelHQ: string | null;
355
+ pointCloudModelHQ: string | null;
356
+ initialMarker: string;
357
+ cameraRotation: _360CameraRotation;
358
+ steps: number;
359
+ route: _360Route | null;
360
+ sceneScale: number;
361
+ modelViewerFeatureFlag: boolean;
362
+ imagesOnlyFeatureFlag: boolean;
363
+ forgeBIMFeatureFlag: boolean;
364
+ isForgeGravityEnabled: boolean;
365
+ initialForgeView: Record<string, unknown> | null;
366
+ calibrationDetails: _360CalibrationDetails;
367
+ enhancedLightFeatureFlag: boolean;
368
+ };
369
+ export type _360PinData = {
370
+ position: _360Vector3;
371
+ pinType: string;
372
+ name: string;
373
+ pinId?: string;
374
+ cameraExid?: string;
375
+ currentRoom?: string;
376
+ cameraRotation?: {
377
+ polarAngle: number;
378
+ azimuthAngle: number;
379
+ };
380
+ };
381
+ export type _360ForgeTimelineItem = {
382
+ taskNumber: number;
383
+ taskID: string;
384
+ actualStartDate: string;
385
+ actualEndDate: string;
386
+ plannedStartDate: string;
387
+ plannedEndDate: string;
388
+ objectIDs: number[];
389
+ };
390
+ export type _360ForgeProject = {
391
+ urns?: Array<{
392
+ urn: string;
393
+ }>;
394
+ timeline?: _360ForgeTimelineItem[];
276
395
  };
@@ -0,0 +1,154 @@
1
+ export declare enum AiApp {
2
+ GateReport = "gate_report",
3
+ Ppe = "ppe",
4
+ SiteAnalytics = "site_analytics"
5
+ }
6
+ export declare enum AiProvider {
7
+ Gemini = "gemini",
8
+ OpenAi = "openai",
9
+ Anthropic = "anthropic"
10
+ }
11
+ export declare enum AiConfigsPromptDialogMode {
12
+ Create = "create",
13
+ Edit = "edit",
14
+ View = "view"
15
+ }
16
+ export declare enum AiConfigsKeyDialogMode {
17
+ Create = "create",
18
+ Rotate = "rotate",
19
+ Rename = "rename"
20
+ }
21
+ export interface AiAppConfig {
22
+ bg: string;
23
+ fg: string;
24
+ border: string;
25
+ icon: string;
26
+ }
27
+ export declare const AI_APP_CONFIGS: Record<AiApp | "generic", AiAppConfig>;
28
+ export interface AiProviderConfig {
29
+ bg: string;
30
+ fg: string;
31
+ icon: string;
32
+ }
33
+ export declare const AI_PROVIDER_CONFIGS: Record<AiProvider, AiProviderConfig>;
34
+ export declare enum AiPromptModel {
35
+ Gemini3Pro = "gemini-3-pro",
36
+ Gemini3FlashPreview = "gemini-3-flash-preview",
37
+ Gemini25Pro = "gemini-2.5-pro",
38
+ Gemini25Flash = "gemini-2.5-flash",
39
+ Gemini20Flash = "gemini-2.0-flash",
40
+ Gpt5 = "gpt-5",
41
+ Gpt5Mini = "gpt-5-mini",
42
+ Gpt4o = "gpt-4o",
43
+ Gpt4oMini = "gpt-4o-mini",
44
+ ClaudeOpus45 = "claude-opus-4-5",
45
+ ClaudeSonnet46 = "claude-sonnet-4-6",
46
+ ClaudeHaiku45 = "claude-haiku-4-5"
47
+ }
48
+ export interface AiPrompt {
49
+ id: number;
50
+ title: string | null;
51
+ purpose: string | null;
52
+ app: string | null;
53
+ model: string | null;
54
+ prompt: string;
55
+ outputSchema: Record<string, unknown> | null;
56
+ createdBy: string;
57
+ createdAt: string;
58
+ updatedAt: string;
59
+ }
60
+ export interface AiPromptCreatePayload {
61
+ title?: string | null;
62
+ purpose: string;
63
+ app: string;
64
+ model?: string | null;
65
+ prompt: string;
66
+ outputSchema?: Record<string, unknown> | null;
67
+ }
68
+ export interface AiPromptUpdatePayload {
69
+ title?: string | null;
70
+ purpose?: string;
71
+ app?: string;
72
+ model?: string | null;
73
+ prompt?: string;
74
+ outputSchema?: Record<string, unknown> | null;
75
+ }
76
+ export type AiPromptQueryParams = {
77
+ app?: string;
78
+ purpose?: string;
79
+ model?: string;
80
+ search?: string;
81
+ createdBy?: string;
82
+ page?: number;
83
+ limit?: number;
84
+ };
85
+ export interface AiPromptListResponse {
86
+ items: AiPrompt[];
87
+ total: number;
88
+ page: number;
89
+ limit: number;
90
+ from: number;
91
+ to: number;
92
+ }
93
+ export interface AiPromptCreateResponse {
94
+ created: boolean;
95
+ data: AiPrompt;
96
+ message: string;
97
+ }
98
+ export interface AiPromptUpdateResponse {
99
+ updated: boolean;
100
+ id: number | string;
101
+ message: string;
102
+ }
103
+ export interface AiPromptDeleteResponse {
104
+ deleted: boolean;
105
+ count: number;
106
+ message: string;
107
+ }
108
+ export interface AiApiKey {
109
+ id: number;
110
+ projectExid: string;
111
+ provider: string;
112
+ name: string;
113
+ purpose: string;
114
+ enabled: boolean;
115
+ autoGenerated: boolean;
116
+ firstUsedAt: string | null;
117
+ lastUsedAt: string | null;
118
+ insertedAt: string;
119
+ updatedAt: string;
120
+ }
121
+ export interface AiApiKeyCreatePayload {
122
+ projectExid: string;
123
+ provider: string;
124
+ name?: string;
125
+ purpose?: string;
126
+ apiKey?: string;
127
+ enabled?: boolean;
128
+ }
129
+ export interface AiApiKeyUpdatePayload {
130
+ name?: string;
131
+ enabled?: boolean;
132
+ apiKey?: string;
133
+ }
134
+ export type AiApiKeyQueryParams = {
135
+ projectExid?: string;
136
+ provider?: string;
137
+ purpose?: string;
138
+ enabled?: boolean;
139
+ };
140
+ export interface AiApiKeyCreateResponse {
141
+ created: boolean;
142
+ data: AiApiKey;
143
+ message: string;
144
+ }
145
+ export interface AiApiKeyUpdateResponse {
146
+ updated: boolean;
147
+ id: number | string;
148
+ message: string;
149
+ }
150
+ export interface AiApiKeyDeleteResponse {
151
+ deleted: boolean;
152
+ count: number;
153
+ message: string;
154
+ }