@evercam/api 1.0.0-6127a818c → 1.0.0-62a573190

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 +60 -34
  3. package/dist/api/api/adminApi.d.ts +24 -20
  4. package/dist/api/api/aiApi.d.ts +127 -4
  5. package/dist/api/api/authzApi.d.ts +4 -1
  6. package/dist/api/api/evercamApi.d.ts +38 -13
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -5
  8. package/dist/api/api/ingestApi.d.ts +21 -7
  9. package/dist/api/types/360.d.ts +123 -43
  10. package/dist/api/types/aiConfigs.d.ts +244 -0
  11. package/dist/api/types/analytics.d.ts +37 -19
  12. package/dist/api/types/anpr.d.ts +31 -2
  13. package/dist/api/types/auditLogs.d.ts +18 -1
  14. package/dist/api/types/authz.d.ts +71 -0
  15. package/dist/api/types/automation.d.ts +32 -4
  16. package/dist/api/types/axios.d.ts +8 -9
  17. package/dist/api/types/bim.d.ts +28 -5
  18. package/dist/api/types/camera.d.ts +32 -24
  19. package/dist/api/types/comments.d.ts +16 -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 +7 -7
  24. package/dist/api/types/errors.d.ts +13 -1
  25. package/dist/api/types/gateReport.d.ts +4 -14
  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 +90 -3
  30. package/dist/api/types/kit.d.ts +43 -51
  31. package/dist/api/types/media.d.ts +8 -2
  32. package/dist/api/types/notification.d.ts +52 -2
  33. package/dist/api/types/observationEvents.d.ts +141 -0
  34. package/dist/api/types/observations.d.ts +84 -0
  35. package/dist/api/types/planner.d.ts +3 -11
  36. package/dist/api/types/posthog.d.ts +20 -0
  37. package/dist/api/types/project.d.ts +12 -0
  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 +1 -19
  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 +127 -0
  46. package/dist/api/types/siteView.d.ts +0 -1
  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 +2 -13
  51. package/dist/api/types/user.d.ts +16 -4
  52. package/dist/api/utils.d.ts +0 -1
  53. package/dist/index.js +1505 -799
  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 +134 -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 +25 -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, IngestProcessingProgress, FlightImagesQueryParams, Generate360MapRequestPayload, GenerateFloorPayload, InspectionToolRequestPayload, JsonObject, _360WalkV2, _360FloorV2 } 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: {
@@ -12,6 +12,7 @@ export declare const IngestApi: {
12
12
  getDrones(params: {
13
13
  params: Partial<DronesQueryParams>;
14
14
  }): Promise<DroneUploadsResponse>;
15
+ getProcessingProgress(id: number): Promise<IngestProcessingProgress>;
15
16
  getArchive(id: number, params: {
16
17
  dataType: string;
17
18
  }): Promise<Blob>;
@@ -27,7 +28,7 @@ export declare const IngestApi: {
27
28
  verifyToken(projectId: string, params: {
28
29
  token: string;
29
30
  }): Promise<JsonObject>;
30
- calculateMeasuringOperation(projectId: string, params: CalculateMeasuringOperationRequestPayload): Promise<JsonObject>;
31
+ calculateMeasuringOperation(projectId: string, params: CalculateMeasuringOperationRequestPayload, ingestUrl?: string): Promise<JsonObject>;
31
32
  inspectionTool(projectId: string, params: InspectionToolRequestPayload): Promise<JsonObject>;
32
33
  isInspectionEnabled(projectId: string, params?: JsonObject): Promise<JsonObject>;
33
34
  getDroneQueueSize(droneUrl: string): Promise<DroneQueueResponse>;
@@ -41,13 +42,16 @@ export declare const IngestApi: {
41
42
  get360AssetsCounts(projectId: string, params: {
42
43
  uploadedBy: string;
43
44
  }): Promise<_360AssetsCountsResponse>;
44
- get360AssetLink(projectId: string, date: string, floor: string, assetType: string, drawingId: string, marker: string | null): Promise<string>;
45
+ get360AssetLink(projectId: string, date: string, floor: string | number, assetType: string, drawingId: string | number, marker: string | null): Promise<string | string[]>;
45
46
  update360(id: number, payload: _360AssetsRequestPayload): Promise<_360WalkV2>;
46
- update360ByProjectDateName(projectId: string, date: string, floor: string, payload: _360AssetsRequestPayload): Promise<_360WalkV2>;
47
+ update360ByProjectDateName(projectId: string, date: string, floor: string, payload: Partial<_360AssetsRequestPayload> & {
48
+ drawingId?: number;
49
+ }): Promise<_360WalkV2>;
47
50
  deleteUpload(id: number): Promise<void>;
48
51
  getArchive(id: number, params: {
49
52
  dateType: string;
50
53
  }): Promise<Blob>;
54
+ get360Progress(id: number): Promise<IngestProcessingProgress>;
51
55
  createUpload(projectId: string, params: _360AssetsRequestPayload): Promise<IngestUploadInitResponse>;
52
56
  upload(id: number, params: JsonObject, payload: _360AssetsUploadPayload): Promise<_360WalkV2>;
53
57
  reprocess360(id: number): Promise<void>;
@@ -64,11 +68,13 @@ export declare const IngestApi: {
64
68
  getDrawingById(id: number, projectExid: string): Promise<_360FloorV2>;
65
69
  updateDrawing(id: number, projectExid: string, payload: GenerateFloorPayload): Promise<_360FloorV2>;
66
70
  deleteDrawing(id: number): Promise<void>;
71
+ restoreDrawing(id: number): Promise<void>;
67
72
  transferWalks(sourceId: number, targetId: number, projectExid: string): Promise<void>;
68
73
  createDrawing(projectExid: string, payload: GenerateFloorPayload, createdBy: string): Promise<_360FloorV2>;
69
74
  fetchDrawingOverlay(id: number, params: {
70
75
  view: boolean;
71
- }, onDownloadProgress: (progress: ProgressEvent) => void): Promise<Blob>;
76
+ thumbnail?: boolean;
77
+ }, onDownloadProgress?: (progress: ProgressEvent) => void, extraConfig?: AxiosRequestConfig): Promise<string>;
72
78
  getFloorArchive(id: number): Promise<string>;
73
79
  generate360map(projectId: string, params: Generate360MapRequestPayload): Promise<JsonObject>;
74
80
  get360QueueSize(ingestUrl: string, params?: _360QueueQueryParams): Promise<_360QueueResponse>;
@@ -87,6 +93,9 @@ export declare const IngestApi: {
87
93
  name: string;
88
94
  }, payload: BimUploadPayload): Promise<void>;
89
95
  };
96
+ webhook: {
97
+ notifyBimUpdated(projectId: string, bimIdentifier: string): Promise<void>;
98
+ };
90
99
  mobileCapture: {
91
100
  getProjectMobileAssets(params: MobileAssetsQueryParams, extraConfig?: AxiosRequestConfig): Promise<MobileCaptureAssetsResponse>;
92
101
  getMobileAssetPhoto(assetId: string | number, params: {
@@ -109,17 +118,20 @@ export declare const IngestApi: {
109
118
  modelZip: string;
110
119
  orthomosaicZip: string;
111
120
  reportPdf: string;
121
+ processingLog: string;
112
122
  uploadedBy: string;
113
123
  processingStatus: import("@evercam/api/types").IngestProcessingStatus | string;
114
124
  modelCesiumAssetId: string;
115
125
  updatedAt: string;
116
126
  hasTusLinks: boolean;
127
+ hasSteps: boolean;
128
+ aerialShots: import("@evercam/api/types").AerialShotItem[];
117
129
  } | {
118
130
  ingestVersion: string;
119
131
  archive: string;
120
132
  date: string;
121
133
  deviceSerial: string | null;
122
- endPosition: unknown | null;
134
+ endPosition: string | null;
123
135
  floor: string;
124
136
  floorId: number;
125
137
  id: number;
@@ -134,8 +146,10 @@ export declare const IngestApi: {
134
146
  processingStatus: string;
135
147
  projectId: string;
136
148
  report: string;
149
+ processingLog: string;
150
+ hasSteps?: boolean;
137
151
  route: unknown | null;
138
- startPosition: unknown | null;
152
+ startPosition: string | null;
139
153
  tusLinks: unknown | null;
140
154
  updatedAt: string;
141
155
  uploadedBy: string;
@@ -1,5 +1,5 @@
1
1
  import { DateType } from "@evercam/api/types/time";
2
- import { GeoPoint, Point3D } from "@evercam/api/types/shared";
2
+ import { GeoPoint, PaginationParams, Point3D } from "@evercam/api/types/shared";
3
3
  export type _360OverlayPosition = {
4
4
  northEast: GeoPoint;
5
5
  northWest: GeoPoint;
@@ -77,7 +77,7 @@ export type _360WalkV2 = {
77
77
  archive: string;
78
78
  date: string;
79
79
  deviceSerial: string | null;
80
- endPosition: unknown | null;
80
+ endPosition: string | null;
81
81
  floor: string;
82
82
  floorId: number;
83
83
  id: number;
@@ -92,8 +92,10 @@ export type _360WalkV2 = {
92
92
  processingStatus: string;
93
93
  projectId: string;
94
94
  report: string;
95
+ processingLog: string;
96
+ hasSteps?: boolean;
95
97
  route: unknown | null;
96
- startPosition: unknown | null;
98
+ startPosition: string | null;
97
99
  tusLinks: unknown | null;
98
100
  updatedAt: string;
99
101
  uploadedBy: string;
@@ -112,13 +114,15 @@ export type _360FloorV2 = {
112
114
  overlayPosition: _360OverlayPosition;
113
115
  insertedAt: string;
114
116
  updatedAt: string;
117
+ deletedAt: string | null;
115
118
  };
116
119
  export type _360Scene = {
117
120
  date: string;
118
- dateID: number;
121
+ dateID: string | number;
119
122
  floors: {
120
123
  floorID: _360FloorId;
121
124
  name: string;
125
+ isValidated?: boolean;
122
126
  }[];
123
127
  polarAngle: number;
124
128
  azimuthAngle: number;
@@ -149,24 +153,7 @@ export type _360ProjectListItem = {
149
153
  providerSuffix: string;
150
154
  timeline: string;
151
155
  uniqueId: string;
152
- };
153
- export type _360FullProject = {
154
- dates: _360SceneWithFloors[];
155
- integrationType: string;
156
- projectId: string;
157
- projectName: string;
158
- providerID: string;
159
- providerPrefix: string;
160
- providerSuffix: string;
161
- timeline: string;
162
- uniqueId: string;
163
- };
164
- export type _360FullFloor = _360Floor & {
165
- id: _360FloorId;
166
- name: string;
167
- };
168
- export type _360SceneWithFloors = _360Scene & {
169
- floors: _360FullFloor[];
156
+ requiresValidation?: boolean;
170
157
  };
171
158
  export type _360ProjectJsonResponse = {
172
159
  dates: _360Scene[];
@@ -181,12 +168,25 @@ export type MobileCaptureSnapshot = {
181
168
  thumbnailUrl: string;
182
169
  };
183
170
  export declare enum _360UrlParams {
184
- DateId = "date_id",
171
+ DateId = "dateId",
185
172
  Date = "date",
186
173
  Floor = "floor",
187
174
  Marker = "marker",
188
175
  PolarAngle = "polarAngle",
189
- AzimuthAngle = "azimuthAngle"
176
+ AzimuthAngle = "azimuthAngle",
177
+ Zoom = "zoom",
178
+ User = "user",
179
+ ViewerMode = "viewer_mode",
180
+ ProjectId = "projectId",
181
+ Unit = "unit",
182
+ LockDate = "lockDate",
183
+ LockFloor = "lockFloor",
184
+ LockMarker = "lockMarker",
185
+ IsWidget = "isWidget",
186
+ MediaLocked = "mediaLocked",
187
+ Debug = "debug",
188
+ RequiresValidation = "requires_validation",
189
+ CommentId = "comment_id"
190
190
  }
191
191
  export declare enum _360AssetType {
192
192
  Video = "video",
@@ -200,11 +200,6 @@ export declare enum _360AssetLabel {
200
200
  Walks = "walks",
201
201
  MobilePhotos = "mobilePhotos"
202
202
  }
203
- export declare enum _360Feature {
204
- BIM = "BIM",
205
- Minimap = "Minimap",
206
- Minimodel = "Minimodel"
207
- }
208
203
  export declare enum _360IntergrationType {
209
204
  Evercam = "Evercam",
210
205
  Matterport = "Matterport",
@@ -217,10 +212,8 @@ export declare enum PathMarkerColor {
217
212
  End = "#fd7567",
218
213
  Default = "#2196F3"
219
214
  }
220
- export type _360AssetsQueryParams = {
221
- page: number;
222
- limit: number;
223
- projectID: string;
215
+ export type _360AssetsQueryParams = PaginationParams & {
216
+ projectId: string;
224
217
  date: DateType;
225
218
  floor: string;
226
219
  id: string;
@@ -231,7 +224,7 @@ export type _360AssetsRequestPayload = {
231
224
  floor: string;
232
225
  uploadedBy?: string;
233
226
  };
234
- export type DrawingsRequestPayload = {
227
+ export type DrawingsRequestPayload = PaginationParams & {
235
228
  projectId?: string;
236
229
  name?: string;
237
230
  changedBy?: string;
@@ -239,10 +232,9 @@ export type DrawingsRequestPayload = {
239
232
  startDate?: string;
240
233
  endDate?: string;
241
234
  id?: number;
242
- page?: number;
243
- limit?: number;
244
235
  paginate?: boolean;
245
236
  withAsset?: boolean;
237
+ includeDeleted?: boolean;
246
238
  };
247
239
  export type GenerateFloorPayload = {
248
240
  overlay?: {
@@ -266,16 +258,104 @@ export type _360AssetsUploadPayload = {
266
258
  title: string;
267
259
  fileExtension: string;
268
260
  }[];
269
- deviceSerial: string;
270
- startPosition: string;
271
- endPosition: string;
272
- isTimelapse: boolean;
273
- isImagesOnly: boolean;
261
+ deviceSerial?: string;
262
+ startPosition?: string;
263
+ endPosition?: string;
264
+ isTimelapse?: boolean;
265
+ isImagesOnly?: boolean;
274
266
  };
275
267
  export type Generate360MapRequestPayload = {
276
- dateId: string;
268
+ dateId: string | number;
277
269
  floorId: string;
278
- cameraOffset: string;
270
+ cameraOffset: string | number;
279
271
  startPoint: string;
280
272
  endPoint: string;
273
+ drawingId?: number;
274
+ markers?: Array<{
275
+ position: {
276
+ x: number;
277
+ y: number;
278
+ z: number;
279
+ };
280
+ }>;
281
+ startPointIndex?: number;
282
+ endPointIndex?: number;
283
+ };
284
+ export declare enum EModelsType {
285
+ FBX = "FBX",
286
+ PointCloud = "PLY"
287
+ }
288
+ export type _360FloorRef = {
289
+ projectID: string;
290
+ dateID: string | number;
291
+ floorID: _360FloorId;
292
+ };
293
+ export type _360Vector3 = {
294
+ x: number;
295
+ y: number;
296
+ z: number;
297
+ };
298
+ export type _360MarkerData = {
299
+ cameraPosition: _360Vector3;
300
+ nextRoomId: string;
301
+ position: _360Vector3;
302
+ geolocation?: {
303
+ latitude: number;
304
+ longitude: number;
305
+ };
306
+ rotation: {
307
+ _order: string;
308
+ _x: number;
309
+ _y: number;
310
+ _z: number;
311
+ isEuler: boolean;
312
+ x?: number;
313
+ y?: number;
314
+ z?: number;
315
+ };
316
+ };
317
+ export type _360Route = {
318
+ overlayID?: number;
319
+ track?: string;
320
+ cameraHeadingOffset?: number;
321
+ };
322
+ export type _360CalibrationDetails = {
323
+ baseOriginOf360Viewer?: _360Vector3;
324
+ baseOriginOfForgeViewer?: _360Vector3;
325
+ rotationMatrix?: {
326
+ elements: number[];
327
+ };
328
+ scaleMatrix?: {
329
+ elements: number[];
330
+ };
331
+ };
332
+ export type _360FloorData = {
333
+ _3DMarkers: _360MarkerData[];
334
+ fbxModel: string | null;
335
+ fbxModelHQ: string | null;
336
+ pointCloudModelHQ: string | null;
337
+ initialMarker: string;
338
+ cameraRotation: _360CameraRotation;
339
+ steps: number;
340
+ route: _360Route | null;
341
+ sceneScale: number;
342
+ modelViewerFeatureFlag: boolean;
343
+ imagesOnlyFeatureFlag: boolean;
344
+ forgeBIMFeatureFlag: boolean;
345
+ isForgeGravityEnabled: boolean;
346
+ initialForgeView: ForgeView | null;
347
+ calibrationDetails: _360CalibrationDetails;
348
+ enhancedLightFeatureFlag: boolean;
349
+ };
350
+ export type _360PinData = {
351
+ position: _360Vector3;
352
+ pinType: string;
353
+ name: string;
354
+ pinId?: string;
355
+ cameraExid?: string;
356
+ currentRoom?: string;
357
+ cameraRotation?: {
358
+ polarAngle: number;
359
+ azimuthAngle: number;
360
+ };
281
361
  };
@@ -0,0 +1,244 @@
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
+ Observations360 = "observations_360"
7
+ }
8
+ export declare enum AiProvider {
9
+ Gemini = "gemini",
10
+ OpenAi = "openai",
11
+ Anthropic = "anthropic"
12
+ }
13
+ export declare enum AiConfigsPromptDialogMode {
14
+ Create = "create",
15
+ Edit = "edit",
16
+ View = "view",
17
+ Subprompt = "subprompt"
18
+ }
19
+ export declare enum AiConfigsKeyDialogMode {
20
+ Create = "create",
21
+ Rotate = "rotate",
22
+ Rename = "rename"
23
+ }
24
+ export interface AiAppConfig {
25
+ bg: string;
26
+ fg: string;
27
+ border: string;
28
+ icon: string;
29
+ }
30
+ export declare const AI_APP_CONFIGS: Record<AiApp | "generic", AiAppConfig>;
31
+ export interface AiProviderConfig {
32
+ bg: string;
33
+ fg: string;
34
+ icon: string;
35
+ }
36
+ export declare const AI_PROVIDER_CONFIGS: Record<AiProvider, AiProviderConfig>;
37
+ export declare enum AiPromptModel {
38
+ Gemini3Pro = "gemini-3-pro",
39
+ Gemini3FlashPreview = "gemini-3-flash-preview",
40
+ Gemini25Pro = "gemini-2.5-pro",
41
+ Gemini25Flash = "gemini-2.5-flash",
42
+ Gemini20Flash = "gemini-2.0-flash",
43
+ Gpt5 = "gpt-5",
44
+ Gpt5Mini = "gpt-5-mini",
45
+ Gpt4o = "gpt-4o",
46
+ Gpt4oMini = "gpt-4o-mini",
47
+ ClaudeOpus45 = "claude-opus-4-5",
48
+ ClaudeSonnet46 = "claude-sonnet-4-6",
49
+ ClaudeHaiku45 = "claude-haiku-4-5"
50
+ }
51
+ export declare enum AiPromptType {
52
+ Prompt = "prompt",
53
+ Parent = "parent",
54
+ Subprompt = "subprompt"
55
+ }
56
+ export interface AiPrompt {
57
+ id: number;
58
+ title: string | null;
59
+ purpose: string | null;
60
+ app: string | null;
61
+ model: string | null;
62
+ prompt: string;
63
+ outputSchema: Record<string, unknown> | null;
64
+ createdBy: string;
65
+ createdAt: string;
66
+ updatedAt: string;
67
+ promptType: AiPromptType;
68
+ parentId: number | null;
69
+ subpromptCount: number;
70
+ }
71
+ export interface AiPromptCreatePayload {
72
+ title?: string | null;
73
+ purpose: string;
74
+ app: string;
75
+ model?: string | null;
76
+ prompt: string;
77
+ outputSchema?: Record<string, unknown> | null;
78
+ promptType?: AiPromptType.Prompt | AiPromptType.Parent;
79
+ }
80
+ export interface AiPromptUpdatePayload {
81
+ title?: string | null;
82
+ purpose?: string;
83
+ app?: string;
84
+ model?: string | null;
85
+ prompt?: string;
86
+ outputSchema?: Record<string, unknown> | null;
87
+ }
88
+ export type AiPromptQueryParams = PaginationParams & {
89
+ app?: string;
90
+ purpose?: string;
91
+ model?: string;
92
+ search?: string;
93
+ createdBy?: string;
94
+ promptType?: AiPromptType;
95
+ includeSubprompts?: boolean;
96
+ };
97
+ export interface AiSubpromptCreatePayload {
98
+ title?: string | null;
99
+ purpose: string;
100
+ model?: string | null;
101
+ prompt: string;
102
+ outputSchema?: Record<string, unknown> | null;
103
+ }
104
+ export type AiPromptListResponse = PaginatedItems<AiPrompt>;
105
+ export interface AiPromptCreateResponse {
106
+ created: boolean;
107
+ data: AiPrompt;
108
+ message: string;
109
+ }
110
+ export interface AiPromptUpdateResponse {
111
+ updated: boolean;
112
+ id: number | string;
113
+ message: string;
114
+ }
115
+ export interface AiPromptDeleteResponse {
116
+ deleted: boolean;
117
+ count: number;
118
+ message: string;
119
+ }
120
+ export interface AiApiKey {
121
+ id: number;
122
+ projectExid: string;
123
+ provider: string;
124
+ name: string;
125
+ purpose: string;
126
+ enabled: boolean;
127
+ autoGenerated: boolean;
128
+ firstUsedAt: string | null;
129
+ lastUsedAt: string | null;
130
+ insertedAt: string;
131
+ updatedAt: string;
132
+ }
133
+ export interface AiApiKeyCreatePayload {
134
+ projectExid: string;
135
+ provider: string;
136
+ name?: string;
137
+ purpose?: string;
138
+ apiKey?: string;
139
+ enabled?: boolean;
140
+ }
141
+ export interface AiApiKeyUpdatePayload {
142
+ name?: string;
143
+ enabled?: boolean;
144
+ apiKey?: string;
145
+ }
146
+ export type AiApiKeyQueryParams = {
147
+ projectExid?: string;
148
+ provider?: string;
149
+ purpose?: string;
150
+ enabled?: boolean;
151
+ };
152
+ export interface AiApiKeyCreateResponse {
153
+ created: boolean;
154
+ data: AiApiKey;
155
+ message: string;
156
+ }
157
+ export interface AiApiKeyUpdateResponse {
158
+ updated: boolean;
159
+ id: number | string;
160
+ message: string;
161
+ }
162
+ export interface AiApiKeyDeleteResponse {
163
+ deleted: boolean;
164
+ count: number;
165
+ message: string;
166
+ }
167
+ export declare enum AiObservationFeasibilityStatus {
168
+ Prod = "prod",
169
+ Beta = "beta",
170
+ Parked = "parked"
171
+ }
172
+ export declare enum AiObservationTimeDetection {
173
+ PerSecond = "per_second",
174
+ PerMinute = "per_minute",
175
+ Hourly = "hourly",
176
+ Daily = "daily"
177
+ }
178
+ export interface AiObservationFeasibilityConfig {
179
+ bg: string;
180
+ fg: string;
181
+ border: string;
182
+ label: string;
183
+ }
184
+ export declare const AI_OBSERVATION_FEASIBILITY_CONFIGS: Record<AiObservationFeasibilityStatus, AiObservationFeasibilityConfig>;
185
+ export interface AiObservationType {
186
+ id: number;
187
+ observationCode: string;
188
+ name: string;
189
+ description: string | null;
190
+ type: string;
191
+ rules: Record<string, unknown> | null;
192
+ timeDetection: string | null;
193
+ every: number | null;
194
+ severity: number | null;
195
+ feasibilityStatus: AiObservationFeasibilityStatus;
196
+ promptId: number | null;
197
+ promptName: string | null;
198
+ insertedAt: string;
199
+ updatedAt: string;
200
+ }
201
+ export interface AiObservationTypeCreatePayload {
202
+ observationCode: string;
203
+ name: string;
204
+ description?: string | null;
205
+ type: string;
206
+ rules?: Record<string, unknown> | null;
207
+ timeDetection?: string | null;
208
+ every?: number | null;
209
+ severity?: number | null;
210
+ feasibilityStatus: AiObservationFeasibilityStatus;
211
+ promptId?: number | null;
212
+ }
213
+ export type AiObservationTypeUpdatePayload = Partial<Omit<AiObservationTypeCreatePayload, "observationCode">>;
214
+ export type AiObservationTypeQueryParams = {
215
+ search?: string;
216
+ feasibilityStatus?: string;
217
+ sourceType?: string;
218
+ type?: string;
219
+ page?: number;
220
+ limit?: number;
221
+ };
222
+ export interface AiObservationTypeListResponse {
223
+ items: AiObservationType[];
224
+ total: number;
225
+ page: number;
226
+ limit: number;
227
+ from: number;
228
+ to: number;
229
+ }
230
+ export interface AiObservationTypeCreateResponse {
231
+ created: boolean;
232
+ data: AiObservationType;
233
+ message: string;
234
+ }
235
+ export interface AiObservationTypeUpdateResponse {
236
+ updated: boolean;
237
+ id: number | string;
238
+ message: string;
239
+ }
240
+ export interface AiObservationTypeDeleteResponse {
241
+ deleted: boolean;
242
+ count: number;
243
+ message: string;
244
+ }