@ctchealth/plato-sdk 0.0.16 → 0.0.17

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.
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Copyright (c) 2025 ctcHealth. All rights reserved.
3
+ *
4
+ * This file is part of the ctcHealth Plato Platform, a proprietary software system developed by ctcHealth.
5
+ *
6
+ * This source code and all related materials are confidential and proprietary to ctcHealth.
7
+ * Unauthorized access, use, copying, modification, distribution, or disclosure is strictly prohibited
8
+ * and may result in disciplinary action and civil and/or criminal penalties.
9
+ *
10
+ * This software is intended solely for authorized use within ctcHealth and its designated partners.
11
+ *
12
+ * For internal use only.
13
+ */
14
+ import { PDFDocument } from 'pdf-lib';
15
+
16
+ /**
17
+ * Validates a file against size and type constraints.
18
+ *
19
+ * @param file - The file to check.
20
+ * @param maxFileSize - The maximum allowed file size in bytes.
21
+ * @param allowedMimeTypes - An array of allowed MIME types.
22
+ * @returns true if valid, or a descriptive error message if invalid.
23
+ */
24
+ export function checkFile(
25
+ file: File | Blob,
26
+ maxFileSize: number,
27
+ allowedMimeTypes: string[]
28
+ ): true | string {
29
+ if (file.size > maxFileSize) {
30
+ const uploadedSizeMB = (file.size / (1024 * 1024)).toFixed(2);
31
+ const maxSizeMB = (maxFileSize / (1024 * 1024)).toFixed(2);
32
+ return `File size (${uploadedSizeMB} MB) exceeds the maximum allowed size of ${maxSizeMB} MB.`;
33
+ }
34
+
35
+ if (!allowedMimeTypes.includes(file.type)) {
36
+ return `Invalid file type: ${file.type}. Allowed types are: ${allowedMimeTypes.join(', ')}.`;
37
+ }
38
+
39
+ return true;
40
+ }
41
+
42
+ /**
43
+ * Calculates the SHA-256 hash of a file or blob.
44
+ *
45
+ * @param file - The file or blob to hash.
46
+ * @returns A promise that resolves to the hexadecimal SHA-256 hash.
47
+ */
48
+ export async function calculateHash(file: File | Blob): Promise<string> {
49
+ const arrayBuffer = await file.arrayBuffer();
50
+ const hashBuffer = await crypto.subtle.digest('SHA-256', arrayBuffer);
51
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
52
+ const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
53
+ return hashHex;
54
+ }
55
+
56
+ /**
57
+ * Gets the page count of a PDF file.
58
+ *
59
+ * @param file - The PDF file or blob to check.
60
+ * @returns A promise that resolves to the number of pages in the PDF.
61
+ * @throws Error if the PDF cannot be parsed.
62
+ */
63
+ export async function getPdfPageCount(file: File | Blob): Promise<number> {
64
+ try {
65
+ const arrayBuffer = await file.arrayBuffer();
66
+ const pdf = await PDFDocument.load(arrayBuffer);
67
+ return pdf.getPageCount();
68
+ } catch (err: unknown) {
69
+ const message = err instanceof Error ? err.message : 'Unknown error';
70
+ throw new Error(`Failed to read PDF page count: ${message}`);
71
+ }
72
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "module": "commonjs",
5
+ "forceConsistentCasingInFileNames": true,
6
+ "strict": true,
7
+ "noImplicitOverride": true,
8
+ "noImplicitReturns": true,
9
+ "noFallthroughCasesInSwitch": true,
10
+ "noPropertyAccessFromIndexSignature": true
11
+ },
12
+ "files": [],
13
+ "include": [],
14
+ "references": [
15
+ {
16
+ "path": "./tsconfig.lib.json"
17
+ },
18
+ {
19
+ "path": "./tsconfig.spec.json"
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "declaration": true,
6
+ "types": ["node"],
7
+ "esModuleInterop": true
8
+ },
9
+ "include": ["src/**/*.ts"],
10
+ "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
11
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "module": "commonjs",
6
+ "moduleResolution": "node10",
7
+ "types": ["jest", "node"]
8
+ },
9
+ "include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"]
10
+ }
package/src/index.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- /**
5
- * Copyright (c) 2025 ctcHealth. All rights reserved.
6
- *
7
- * This file is part of the ctcHealth Plato Platform, a proprietary software system developed by ctcHealth.
8
- *
9
- * This source code and all related materials are confidential and proprietary to ctcHealth.
10
- * Unauthorized access, use, copying, modification, distribution, or disclosure is strictly prohibited
11
- * and may result in disciplinary action and civil and/or criminal penalties.
12
- *
13
- * This software is intended solely for authorized use within ctcHealth and its designated partners.
14
- *
15
- * For internal use only.
16
- */
17
- tslib_1.__exportStar(require("./lib/plato-sdk"), exports);
18
- //# sourceMappingURL=index.js.map
package/src/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/plato-sdk/src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,0DAAgC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAX_PDF_PAGES = exports.ALLOWED_PDF_MIME_TYPES = exports.MAX_PDF_FILE_SIZE = void 0;
4
- /**
5
- * Copyright (c) 2025 ctcHealth. All rights reserved.
6
- *
7
- * This file is part of the ctcHealth Plato Platform, a proprietary software system developed by ctcHealth.
8
- *
9
- * This source code and all related materials are confidential and proprietary to ctcHealth.
10
- * Unauthorized access, use, copying, modification, distribution, or disclosure is strictly prohibited
11
- * and may result in disciplinary action and civil and/or criminal penalties.
12
- *
13
- * This software is intended solely for authorized use within ctcHealth and its designated partners.
14
- *
15
- * For internal use only.
16
- */
17
- exports.MAX_PDF_FILE_SIZE = 20 * 1024 * 1024; // 20MB
18
- exports.ALLOWED_PDF_MIME_TYPES = ['application/pdf'];
19
- exports.MAX_PDF_PAGES = 100;
20
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../libs/plato-sdk/src/lib/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACU,QAAA,iBAAiB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAC7C,QAAA,sBAAsB,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC7C,QAAA,aAAa,GAAG,GAAG,CAAC"}
@@ -1,361 +0,0 @@
1
- /**
2
- * Copyright (c) 2025 ctcHealth. All rights reserved.
3
- *
4
- * This file is part of the ctcHealth Plato Platform, a proprietary software system developed by ctcHealth.
5
- *
6
- * This source code and all related materials are confidential and proprietary to ctcHealth.
7
- * Unauthorized access, use, copying, modification, distribution, or disclosure is strictly prohibited
8
- * and may result in disciplinary action and civil and/or criminal penalties.
9
- *
10
- * This software is intended solely for authorized use within ctcHealth and its designated partners.
11
- *
12
- * For internal use only.
13
- */
14
- export declare enum YearOfExperience {
15
- '1-5' = "1-5 years",
16
- '6-10' = "6-10 years",
17
- '11-20' = "16-20 years",
18
- '20+' = "20+ years"
19
- }
20
- export declare enum PracticeType {
21
- Private = "Private Practice",
22
- Hospital = "Hospital",
23
- AcademicMedicalCenter = "Academic Medical Center",
24
- Clinic = "Clinic"
25
- }
26
- export declare enum SegmentType {
27
- Traditionalist = "The Traditionalist",
28
- Innovator = "The Innovator",
29
- PatientOrientedPhysician = "The Patient-Oriented Physician",
30
- FinanciallyDrivenPrescriber = "The Financially-Driven Prescriber",
31
- EvidencePurist = "The Evidence-Purist",
32
- CostConsciousPrescriber = "The Cost-Conscious Prescriber"
33
- }
34
- export declare enum AssistantVoiceGender {
35
- Male = "Male",
36
- Female = "Female"
37
- }
38
- export declare enum AvatarLanguage {
39
- English = "en",
40
- German = "de",
41
- Spanish = "es",
42
- Italian = "it",
43
- French = "fr"
44
- }
45
- export declare class PersonalityAndBehaviourDto {
46
- riskTolerance: number;
47
- researchOrientation: number;
48
- recognitionNeed: number;
49
- brandLoyalty: number;
50
- patientEmpathy: number;
51
- }
52
- export declare class ProfessionalProfileDto {
53
- practiceSettings: string;
54
- yearOfExperience: number;
55
- specialityAndDepartment: string;
56
- location: string;
57
- }
58
- export declare class ContextDto {
59
- subSpecialityOrTherapyFocus: string;
60
- typicalPatientMix: string;
61
- keyClinicalDrivers: string;
62
- }
63
- export declare class CharacterCreateDto {
64
- name: string;
65
- professionalProfile: ProfessionalProfileDto;
66
- segment: SegmentType;
67
- personalityAndBehaviour: PersonalityAndBehaviourDto;
68
- context: ContextDto;
69
- assistantGender?: AssistantVoiceGender;
70
- }
71
- export declare class ProductConfig {
72
- name: string;
73
- description: string;
74
- }
75
- export declare class CreateSimulationDto {
76
- persona: CharacterCreateDto;
77
- product: ProductConfig;
78
- presentation?: string;
79
- scenario: string;
80
- objectives?: string;
81
- anticipatedObjections?: string;
82
- imageId: string;
83
- avatarLanguage: AvatarLanguage;
84
- }
85
- export type RecordingsLimit = 5 | 10 | 25;
86
- export declare class SimulationRecordingsQueryDto {
87
- limit?: RecordingsLimit;
88
- page?: number;
89
- sort?: SortOrder;
90
- }
91
- export declare enum SortOrder {
92
- ASC = "asc",
93
- DESC = "desc"
94
- }
95
- export declare enum RecordingStatus {
96
- STARTED = "STARTED",
97
- PROCESSING = "PROCESSING",
98
- FINISHED = "FINISHED",
99
- FAILED = "FAILED"
100
- }
101
- export declare class SimulationRecordingsDto {
102
- _id: string;
103
- createdAt: Date;
104
- recordingStatus?: RecordingStatus;
105
- }
106
- export interface CallCreateDto {
107
- /**
108
- * Call ID obtained
109
- */
110
- callId: string;
111
- /**
112
- * Call Assistant ID
113
- */
114
- assistantId: string;
115
- }
116
- export interface CallDTO {
117
- /**
118
- * call ID
119
- */
120
- _id: string;
121
- /**
122
- * call ID obtained
123
- */
124
- callId: string;
125
- /**
126
- * call User ID
127
- */
128
- platoUserId: string;
129
- /**
130
- * call Assistant ID
131
- */
132
- assistantId: string;
133
- /**
134
- * call summary of the conversation
135
- */
136
- summary: string;
137
- /**
138
- * call transcript of the conversation
139
- */
140
- transcript: string;
141
- /**
142
- * call feedback provided by the user
143
- */
144
- feedback: string;
145
- /**
146
- * Success Evaluation returned by model
147
- */
148
- successEvaluation: boolean;
149
- /**
150
- * call Recording URL
151
- */
152
- recordingUrl: string;
153
- /**
154
- * Status of recording processing (e.g., 'STARTED', 'PROCESSING', 'FINISHED', 'FAILED')
155
- */
156
- recordingStatus?: RecordingStatus;
157
- /**
158
- * Date and Time of the creation of the message
159
- */
160
- createdAt: Date;
161
- /**
162
- * Date and Time of the creation of the message
163
- */
164
- endedAt: Date;
165
- /**
166
- * Rating of the call given by the user
167
- */
168
- rating: number;
169
- /**
170
- * Main strenghts of the user conversation based on the analysis of the AI
171
- */
172
- strengths: Array<string>;
173
- /**
174
- * Main weak points of the user conversation based on the analysis of the AI
175
- */
176
- weaknesses: Array<string>;
177
- /**
178
- * Name of Metric for the AI feedback report
179
- */
180
- metric1: string;
181
- /**
182
- * Name of Metric for the AI feedback report
183
- */
184
- metric2: string;
185
- /**
186
- * Name of Metric for the AI feedback report
187
- */
188
- metric3: string;
189
- /**
190
- * AI feedback value for Metric 1
191
- */
192
- metric1Value: number;
193
- /**
194
- * AI feedback value for Metric 2
195
- */
196
- metric2Value: number;
197
- /**
198
- * AI feedback value for Metric 3
199
- */
200
- metric3Value: number;
201
- /**
202
- * AI feedback value for the call score
203
- */
204
- score?: number;
205
- /**
206
- * Defines if the calls will be consider for the memory feature
207
- */
208
- inMemory: boolean;
209
- /**
210
- * Duration of the call in milliseconds
211
- */
212
- callDurationMs?: number;
213
- }
214
- export declare enum CreationPhase {
215
- QUEUED = "QUEUED",
216
- STARTING = "STARTING",
217
- BUILD_HEADER = "BUILD_HEADER",
218
- SEGMENT_SELECTED = "SEGMENT_SELECTED",
219
- BUILD_CONTEXT = "BUILD_CONTEXT",
220
- BUILD_PSYCHOGRAPHICS = "BUILD_PSYCHOGRAPHICS",
221
- BUILD_OBJECTIVES = "BUILD_OBJECTIVES",
222
- PERSONA_ASSEMBLED = "PERSONA_ASSEMBLED",
223
- CORE = "CORE",
224
- BOUNDARIES = "BOUNDARIES",
225
- SPEECH_AND_THOUGHT = "SPEECH_AND_THOUGHT",
226
- CONVERSATION_EVOLUTION = "CONVERSATION_EVOLUTION",
227
- MEMORY = "MEMORY",
228
- OBJECTION_HANDLING = "OBJECTION_HANDLING",
229
- PERFORMANCE_EVALUATION = "PERFORMANCE_EVALUATION",
230
- BEHAVIORAL_FRAMEWORKS = "BEHAVIORAL_FRAMEWORKS",
231
- FINISHED = "FINISHED",
232
- ERROR = "ERROR"
233
- }
234
- /**
235
- * Presigned POST data for S3 upload.
236
- */
237
- export interface PresignedPost {
238
- url: string;
239
- fields: Record<string, string>;
240
- }
241
- /**
242
- * Response for requesting a PDF upload.
243
- */
244
- export interface RequestPdfUploadResponse {
245
- presignedPost: PresignedPost;
246
- objectKey: string;
247
- pdfId: string;
248
- }
249
- export interface SimulationDetailsDto {
250
- simulationId: string;
251
- phase: CreationPhase;
252
- assistantId: string;
253
- configuration?: CreateSimulationDto;
254
- createdAt: Date;
255
- updatedAt: Date;
256
- }
257
- export declare enum RecommendationPriority {
258
- HIGH = "high",
259
- MEDIUM = "medium",
260
- LOW = "low"
261
- }
262
- export interface RecommendationItemDto {
263
- title: string;
264
- description: string;
265
- priority: RecommendationPriority;
266
- }
267
- export interface PerformancePatternDto {
268
- strength: string;
269
- frequency: number;
270
- }
271
- export interface ImprovementAreaDto {
272
- area: string;
273
- frequency: number;
274
- }
275
- export interface RecommendationsResponseDto {
276
- recommendations: RecommendationItemDto[];
277
- strengths: PerformancePatternDto[];
278
- improvementAreas: ImprovementAreaDto[];
279
- summary: string;
280
- callsAnalyzed: number;
281
- generatedAt: Date;
282
- }
283
- export declare enum PdfSlidesStatus {
284
- PENDING = "pending",
285
- STARTED = "started",
286
- PROCESSING = "processing",
287
- OVERVIEW = "overview",
288
- COMPLETED = "completed",
289
- FAILED = "failed"
290
- }
291
- export interface CheckPdfStatusResponse {
292
- status: PdfSlidesStatus;
293
- processedBatches: number[];
294
- totalBatches?: number;
295
- }
296
- export declare enum PdfSlidesSortField {
297
- CREATED_AT = "createdAt",
298
- FILENAME = "originalFilename",
299
- TOTAL_SLIDES = "totalSlides"
300
- }
301
- export declare class PdfSlidesAnalysisQueryDto {
302
- limit?: RecordingsLimit;
303
- page?: number;
304
- sort?: SortOrder;
305
- sortBy?: PdfSlidesSortField;
306
- }
307
- export interface SlideAnalysis {
308
- slideNumber: number;
309
- title?: string;
310
- textExtraction?: string;
311
- visualDescription?: string;
312
- }
313
- export interface PdfSlidesDto {
314
- _id: string;
315
- status: PdfSlidesStatus;
316
- originalFilename: string;
317
- totalSlides?: number;
318
- lessonOverview?: string;
319
- createdAt: Date;
320
- updatedAt: Date;
321
- }
322
- export interface PdfSlideDto {
323
- _id: string;
324
- status: PdfSlidesStatus;
325
- originalFilename: string;
326
- totalSlides?: number;
327
- lessonOverview?: string;
328
- slideAnalysis?: SlideAnalysis[];
329
- createdAt: Date;
330
- updatedAt: Date;
331
- }
332
- export interface AssistantImageDto {
333
- _id: string;
334
- imageUrl: string;
335
- }
336
- /**
337
- * Represents the state of an active call stored in localStorage for recovery purposes.
338
- * Used to detect and recover abandoned calls after page refresh.
339
- */
340
- export interface ActiveCallState {
341
- /**
342
- * MongoDB ID of the call record
343
- */
344
- callId: string;
345
- /**
346
- * External call provider ID
347
- */
348
- externalCallId: string;
349
- /**
350
- * ID of the simulation this call belongs to
351
- */
352
- simulationId: string;
353
- /**
354
- * ISO 8601 timestamp when the call was started
355
- */
356
- startedAt: string;
357
- /**
358
- * Schema version for future compatibility
359
- */
360
- version: number;
361
- }
@@ -1,172 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PdfSlidesAnalysisQueryDto = exports.PdfSlidesSortField = exports.PdfSlidesStatus = exports.RecommendationPriority = exports.CreationPhase = exports.SimulationRecordingsDto = exports.RecordingStatus = exports.SortOrder = exports.SimulationRecordingsQueryDto = exports.CreateSimulationDto = exports.ProductConfig = exports.CharacterCreateDto = exports.ContextDto = exports.ProfessionalProfileDto = exports.PersonalityAndBehaviourDto = exports.AvatarLanguage = exports.AssistantVoiceGender = exports.SegmentType = exports.PracticeType = exports.YearOfExperience = void 0;
4
- /**
5
- * Copyright (c) 2025 ctcHealth. All rights reserved.
6
- *
7
- * This file is part of the ctcHealth Plato Platform, a proprietary software system developed by ctcHealth.
8
- *
9
- * This source code and all related materials are confidential and proprietary to ctcHealth.
10
- * Unauthorized access, use, copying, modification, distribution, or disclosure is strictly prohibited
11
- * and may result in disciplinary action and civil and/or criminal penalties.
12
- *
13
- * This software is intended solely for authorized use within ctcHealth and its designated partners.
14
- *
15
- * For internal use only.
16
- */
17
- var YearOfExperience;
18
- (function (YearOfExperience) {
19
- YearOfExperience["1-5"] = "1-5 years";
20
- YearOfExperience["6-10"] = "6-10 years";
21
- YearOfExperience["11-20"] = "16-20 years";
22
- YearOfExperience["20+"] = "20+ years";
23
- })(YearOfExperience || (exports.YearOfExperience = YearOfExperience = {}));
24
- var PracticeType;
25
- (function (PracticeType) {
26
- PracticeType["Private"] = "Private Practice";
27
- PracticeType["Hospital"] = "Hospital";
28
- PracticeType["AcademicMedicalCenter"] = "Academic Medical Center";
29
- PracticeType["Clinic"] = "Clinic";
30
- })(PracticeType || (exports.PracticeType = PracticeType = {}));
31
- var SegmentType;
32
- (function (SegmentType) {
33
- SegmentType["Traditionalist"] = "The Traditionalist";
34
- SegmentType["Innovator"] = "The Innovator";
35
- SegmentType["PatientOrientedPhysician"] = "The Patient-Oriented Physician";
36
- SegmentType["FinanciallyDrivenPrescriber"] = "The Financially-Driven Prescriber";
37
- SegmentType["EvidencePurist"] = "The Evidence-Purist";
38
- SegmentType["CostConsciousPrescriber"] = "The Cost-Conscious Prescriber";
39
- })(SegmentType || (exports.SegmentType = SegmentType = {}));
40
- var AssistantVoiceGender;
41
- (function (AssistantVoiceGender) {
42
- AssistantVoiceGender["Male"] = "Male";
43
- AssistantVoiceGender["Female"] = "Female";
44
- })(AssistantVoiceGender || (exports.AssistantVoiceGender = AssistantVoiceGender = {}));
45
- var AvatarLanguage;
46
- (function (AvatarLanguage) {
47
- AvatarLanguage["English"] = "en";
48
- AvatarLanguage["German"] = "de";
49
- AvatarLanguage["Spanish"] = "es";
50
- AvatarLanguage["Italian"] = "it";
51
- AvatarLanguage["French"] = "fr";
52
- })(AvatarLanguage || (exports.AvatarLanguage = AvatarLanguage = {}));
53
- class PersonalityAndBehaviourDto {
54
- riskTolerance;
55
- researchOrientation;
56
- recognitionNeed;
57
- brandLoyalty;
58
- patientEmpathy;
59
- }
60
- exports.PersonalityAndBehaviourDto = PersonalityAndBehaviourDto;
61
- class ProfessionalProfileDto {
62
- practiceSettings;
63
- yearOfExperience;
64
- specialityAndDepartment;
65
- location;
66
- }
67
- exports.ProfessionalProfileDto = ProfessionalProfileDto;
68
- class ContextDto {
69
- subSpecialityOrTherapyFocus;
70
- typicalPatientMix;
71
- keyClinicalDrivers;
72
- }
73
- exports.ContextDto = ContextDto;
74
- class CharacterCreateDto {
75
- name;
76
- professionalProfile;
77
- segment;
78
- personalityAndBehaviour;
79
- context;
80
- assistantGender;
81
- }
82
- exports.CharacterCreateDto = CharacterCreateDto;
83
- class ProductConfig {
84
- name;
85
- description;
86
- }
87
- exports.ProductConfig = ProductConfig;
88
- class CreateSimulationDto {
89
- persona;
90
- product;
91
- presentation;
92
- scenario;
93
- objectives;
94
- anticipatedObjections;
95
- imageId;
96
- avatarLanguage;
97
- }
98
- exports.CreateSimulationDto = CreateSimulationDto;
99
- class SimulationRecordingsQueryDto {
100
- limit;
101
- page;
102
- sort;
103
- }
104
- exports.SimulationRecordingsQueryDto = SimulationRecordingsQueryDto;
105
- var SortOrder;
106
- (function (SortOrder) {
107
- SortOrder["ASC"] = "asc";
108
- SortOrder["DESC"] = "desc";
109
- })(SortOrder || (exports.SortOrder = SortOrder = {}));
110
- var RecordingStatus;
111
- (function (RecordingStatus) {
112
- RecordingStatus["STARTED"] = "STARTED";
113
- RecordingStatus["PROCESSING"] = "PROCESSING";
114
- RecordingStatus["FINISHED"] = "FINISHED";
115
- RecordingStatus["FAILED"] = "FAILED";
116
- })(RecordingStatus || (exports.RecordingStatus = RecordingStatus = {}));
117
- class SimulationRecordingsDto {
118
- _id;
119
- createdAt;
120
- recordingStatus;
121
- }
122
- exports.SimulationRecordingsDto = SimulationRecordingsDto;
123
- var CreationPhase;
124
- (function (CreationPhase) {
125
- CreationPhase["QUEUED"] = "QUEUED";
126
- CreationPhase["STARTING"] = "STARTING";
127
- CreationPhase["BUILD_HEADER"] = "BUILD_HEADER";
128
- CreationPhase["SEGMENT_SELECTED"] = "SEGMENT_SELECTED";
129
- CreationPhase["BUILD_CONTEXT"] = "BUILD_CONTEXT";
130
- CreationPhase["BUILD_PSYCHOGRAPHICS"] = "BUILD_PSYCHOGRAPHICS";
131
- CreationPhase["BUILD_OBJECTIVES"] = "BUILD_OBJECTIVES";
132
- CreationPhase["PERSONA_ASSEMBLED"] = "PERSONA_ASSEMBLED";
133
- CreationPhase["CORE"] = "CORE";
134
- CreationPhase["BOUNDARIES"] = "BOUNDARIES";
135
- CreationPhase["SPEECH_AND_THOUGHT"] = "SPEECH_AND_THOUGHT";
136
- CreationPhase["CONVERSATION_EVOLUTION"] = "CONVERSATION_EVOLUTION";
137
- CreationPhase["MEMORY"] = "MEMORY";
138
- CreationPhase["OBJECTION_HANDLING"] = "OBJECTION_HANDLING";
139
- CreationPhase["PERFORMANCE_EVALUATION"] = "PERFORMANCE_EVALUATION";
140
- CreationPhase["BEHAVIORAL_FRAMEWORKS"] = "BEHAVIORAL_FRAMEWORKS";
141
- CreationPhase["FINISHED"] = "FINISHED";
142
- CreationPhase["ERROR"] = "ERROR";
143
- })(CreationPhase || (exports.CreationPhase = CreationPhase = {}));
144
- var RecommendationPriority;
145
- (function (RecommendationPriority) {
146
- RecommendationPriority["HIGH"] = "high";
147
- RecommendationPriority["MEDIUM"] = "medium";
148
- RecommendationPriority["LOW"] = "low";
149
- })(RecommendationPriority || (exports.RecommendationPriority = RecommendationPriority = {}));
150
- var PdfSlidesStatus;
151
- (function (PdfSlidesStatus) {
152
- PdfSlidesStatus["PENDING"] = "pending";
153
- PdfSlidesStatus["STARTED"] = "started";
154
- PdfSlidesStatus["PROCESSING"] = "processing";
155
- PdfSlidesStatus["OVERVIEW"] = "overview";
156
- PdfSlidesStatus["COMPLETED"] = "completed";
157
- PdfSlidesStatus["FAILED"] = "failed";
158
- })(PdfSlidesStatus || (exports.PdfSlidesStatus = PdfSlidesStatus = {}));
159
- var PdfSlidesSortField;
160
- (function (PdfSlidesSortField) {
161
- PdfSlidesSortField["CREATED_AT"] = "createdAt";
162
- PdfSlidesSortField["FILENAME"] = "originalFilename";
163
- PdfSlidesSortField["TOTAL_SLIDES"] = "totalSlides";
164
- })(PdfSlidesSortField || (exports.PdfSlidesSortField = PdfSlidesSortField = {}));
165
- class PdfSlidesAnalysisQueryDto {
166
- limit;
167
- page;
168
- sort;
169
- sortBy;
170
- }
171
- exports.PdfSlidesAnalysisQueryDto = PdfSlidesAnalysisQueryDto;
172
- //# sourceMappingURL=plato-intefaces.js.map