@evercam/api 1.0.0-79849e0e7 → 1.0.0-7e7332709

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