tychat-contracts 1.0.64 → 1.0.66
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.
- package/dist/ai/agent-response.dto.d.ts +2 -0
- package/dist/ai/agent-response.dto.d.ts.map +1 -1
- package/dist/ai/agent-response.dto.js +19 -0
- package/dist/ai/create-agent.dto.d.ts +2 -0
- package/dist/ai/create-agent.dto.d.ts.map +1 -1
- package/dist/ai/create-agent.dto.js +22 -0
- package/dist/ai/update-agent.dto.d.ts +2 -0
- package/dist/ai/update-agent.dto.d.ts.map +1 -1
- package/dist/ai/update-agent.dto.js +22 -0
- package/dist/appointments/appointment-procedure.dto.d.ts +12 -0
- package/dist/appointments/appointment-procedure.dto.d.ts.map +1 -0
- package/dist/appointments/appointment-procedure.dto.js +73 -0
- package/dist/appointments/index.d.ts +2 -0
- package/dist/appointments/index.d.ts.map +1 -1
- package/dist/appointments/index.js +2 -0
- package/dist/appointments/update-appointment-procedure.dto.d.ts +10 -0
- package/dist/appointments/update-appointment-procedure.dto.d.ts.map +1 -0
- package/dist/appointments/update-appointment-procedure.dto.js +12 -0
- package/package.json +1 -1
- package/src/ai/agent-response.dto.ts +15 -0
- package/src/ai/create-agent.dto.ts +20 -0
- package/src/ai/update-agent.dto.ts +19 -0
- package/src/appointments/appointment-procedure.dto.ts +58 -0
- package/src/appointments/index.ts +3 -1
- package/src/appointments/update-appointment-procedure.dto.ts +10 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-response.dto.d.ts","sourceRoot":"","sources":["../../src/ai/agent-response.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,qBAAa,gBAAgB;IAM3B,EAAE,EAAE,MAAM,CAAC;IAQX,MAAM,EAAE,MAAM,CAAC;IAOf,MAAM,EAAE,MAAM,CAAC;IAQf,WAAW,EAAE,gBAAgB,CAAC;IAO9B,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-response.dto.d.ts","sourceRoot":"","sources":["../../src/ai/agent-response.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,qBAAa,gBAAgB;IAM3B,EAAE,EAAE,MAAM,CAAC;IAQX,MAAM,EAAE,MAAM,CAAC;IAOf,MAAM,EAAE,MAAM,CAAC;IAQf,WAAW,EAAE,gBAAgB,CAAC;IAO9B,KAAK,EAAE,MAAM,CAAC;IAQd,wBAAwB,EAAE,gBAAgB,CAAC;IAO3C,kBAAkB,EAAE,MAAM,CAAC;IAO3B,YAAY,EAAE,MAAM,CAAC;IAOrB,WAAW,EAAE,MAAM,CAAC;IAOpB,MAAM,EAAE,OAAO,CAAC;IAQhB,YAAY,CAAC,EAAE,MAAM,CAAC;IAQtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAOtB,SAAS,EAAE,MAAM,CAAC;IAOlB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -19,6 +19,8 @@ class AgentResponseDto {
|
|
|
19
19
|
unitId;
|
|
20
20
|
integration;
|
|
21
21
|
model;
|
|
22
|
+
transcriptionIntegration;
|
|
23
|
+
transcriptionModel;
|
|
22
24
|
systemPrompt;
|
|
23
25
|
temperature;
|
|
24
26
|
active;
|
|
@@ -70,6 +72,23 @@ __decorate([
|
|
|
70
72
|
(0, class_validator_1.IsString)(),
|
|
71
73
|
__metadata("design:type", String)
|
|
72
74
|
], AgentResponseDto.prototype, "model", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, swagger_1.ApiProperty)({
|
|
77
|
+
description: 'Integration provider used for audio transcription',
|
|
78
|
+
enum: integration_provider_dto_1.AI_INTEGRATIONS,
|
|
79
|
+
example: 'OPENAI',
|
|
80
|
+
}),
|
|
81
|
+
(0, class_validator_1.IsEnum)(integration_provider_dto_1.AI_INTEGRATIONS),
|
|
82
|
+
__metadata("design:type", String)
|
|
83
|
+
], AgentResponseDto.prototype, "transcriptionIntegration", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
(0, swagger_1.ApiProperty)({
|
|
86
|
+
description: 'Model name used for audio transcription',
|
|
87
|
+
example: 'gpt-4o-mini-transcribe',
|
|
88
|
+
}),
|
|
89
|
+
(0, class_validator_1.IsString)(),
|
|
90
|
+
__metadata("design:type", String)
|
|
91
|
+
], AgentResponseDto.prototype, "transcriptionModel", void 0);
|
|
73
92
|
__decorate([
|
|
74
93
|
(0, swagger_1.ApiProperty)({
|
|
75
94
|
description: 'System prompt used by this agent',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-agent.dto.d.ts","sourceRoot":"","sources":["../../src/ai/create-agent.dto.ts"],"names":[],"mappings":"AAYA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,qBAAa,cAAc;IAOzB,MAAM,EAAE,MAAM,CAAC;IAQf,MAAM,EAAE,MAAM,CAAC;IAQf,WAAW,EAAE,gBAAgB,CAAC;IAQ9B,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"create-agent.dto.d.ts","sourceRoot":"","sources":["../../src/ai/create-agent.dto.ts"],"names":[],"mappings":"AAYA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,qBAAa,cAAc;IAOzB,MAAM,EAAE,MAAM,CAAC;IAQf,MAAM,EAAE,MAAM,CAAC;IAQf,WAAW,EAAE,gBAAgB,CAAC;IAQ9B,KAAK,EAAE,MAAM,CAAC;IAUd,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IAU5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAQ5B,YAAY,EAAE,MAAM,CAAC;IAWrB,WAAW,EAAE,MAAM,CAAC;IAOpB,MAAM,EAAE,OAAO,CAAC;IAShB,YAAY,CAAC,EAAE,MAAM,CAAC;IAStB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -18,6 +18,8 @@ class CreateAgentDto {
|
|
|
18
18
|
unitId;
|
|
19
19
|
integration;
|
|
20
20
|
model;
|
|
21
|
+
transcriptionIntegration;
|
|
22
|
+
transcriptionModel;
|
|
21
23
|
systemPrompt;
|
|
22
24
|
temperature;
|
|
23
25
|
active;
|
|
@@ -61,6 +63,26 @@ __decorate([
|
|
|
61
63
|
(0, class_validator_1.IsNotEmpty)(),
|
|
62
64
|
__metadata("design:type", String)
|
|
63
65
|
], CreateAgentDto.prototype, "model", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
68
|
+
description: 'Integration provider used specifically for audio transcription. Defaults to "integration" when omitted.',
|
|
69
|
+
enum: integration_provider_dto_1.AI_INTEGRATIONS,
|
|
70
|
+
example: 'GEMINI',
|
|
71
|
+
}),
|
|
72
|
+
(0, class_validator_1.IsOptional)(),
|
|
73
|
+
(0, class_validator_1.IsEnum)(integration_provider_dto_1.AI_INTEGRATIONS),
|
|
74
|
+
__metadata("design:type", String)
|
|
75
|
+
], CreateAgentDto.prototype, "transcriptionIntegration", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
78
|
+
description: 'Model name used specifically for audio transcription. Defaults to "model" when omitted.',
|
|
79
|
+
example: 'gemini-2.0-flash',
|
|
80
|
+
}),
|
|
81
|
+
(0, class_validator_1.IsOptional)(),
|
|
82
|
+
(0, class_validator_1.IsString)(),
|
|
83
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
84
|
+
__metadata("design:type", String)
|
|
85
|
+
], CreateAgentDto.prototype, "transcriptionModel", void 0);
|
|
64
86
|
__decorate([
|
|
65
87
|
(0, swagger_1.ApiProperty)({
|
|
66
88
|
description: 'System prompt applied before user messages',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-agent.dto.d.ts","sourceRoot":"","sources":["../../src/ai/update-agent.dto.ts"],"names":[],"mappings":"AAYA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,qBAAa,cAAc;IAQzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAShB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAS/B,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"update-agent.dto.d.ts","sourceRoot":"","sources":["../../src/ai/update-agent.dto.ts"],"names":[],"mappings":"AAYA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,qBAAa,cAAc;IAQzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAShB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAS/B,KAAK,CAAC,EAAE,MAAM,CAAC;IAUf,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IAS5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAS5B,YAAY,CAAC,EAAE,MAAM,CAAC;IAYtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAQrB,MAAM,CAAC,EAAE,OAAO,CAAC;IASjB,YAAY,CAAC,EAAE,MAAM,CAAC;IAStB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -17,6 +17,8 @@ class UpdateAgentDto {
|
|
|
17
17
|
unitId;
|
|
18
18
|
integration;
|
|
19
19
|
model;
|
|
20
|
+
transcriptionIntegration;
|
|
21
|
+
transcriptionModel;
|
|
20
22
|
systemPrompt;
|
|
21
23
|
temperature;
|
|
22
24
|
active;
|
|
@@ -54,6 +56,26 @@ __decorate([
|
|
|
54
56
|
(0, class_validator_1.IsNotEmpty)(),
|
|
55
57
|
__metadata("design:type", String)
|
|
56
58
|
], UpdateAgentDto.prototype, "model", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
61
|
+
description: 'Integration provider used specifically for audio transcription',
|
|
62
|
+
enum: integration_provider_dto_1.AI_INTEGRATIONS,
|
|
63
|
+
example: 'OPENAI',
|
|
64
|
+
}),
|
|
65
|
+
(0, class_validator_1.IsOptional)(),
|
|
66
|
+
(0, class_validator_1.IsEnum)(integration_provider_dto_1.AI_INTEGRATIONS),
|
|
67
|
+
__metadata("design:type", String)
|
|
68
|
+
], UpdateAgentDto.prototype, "transcriptionIntegration", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
71
|
+
description: 'Model name used specifically for audio transcription',
|
|
72
|
+
example: 'gpt-4o-mini-transcribe',
|
|
73
|
+
}),
|
|
74
|
+
(0, class_validator_1.IsOptional)(),
|
|
75
|
+
(0, class_validator_1.IsString)(),
|
|
76
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
77
|
+
__metadata("design:type", String)
|
|
78
|
+
], UpdateAgentDto.prototype, "transcriptionModel", void 0);
|
|
57
79
|
__decorate([
|
|
58
80
|
(0, swagger_1.ApiPropertyOptional)({
|
|
59
81
|
description: 'System prompt applied before user messages',
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DTO for creating a procedure linked to an appointment.
|
|
3
|
+
* Procedures belong to appointments (not directly to patients).
|
|
4
|
+
*/
|
|
5
|
+
export declare class AppointmentProcedureDto {
|
|
6
|
+
name: string;
|
|
7
|
+
value: number;
|
|
8
|
+
finished: boolean;
|
|
9
|
+
finished_at?: string | null;
|
|
10
|
+
observation?: string | null;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=appointment-procedure.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appointment-procedure.dto.d.ts","sourceRoot":"","sources":["../../src/appointments/appointment-procedure.dto.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,qBAAa,uBAAuB;IASlC,IAAI,EAAE,MAAM,CAAC;IAOb,KAAK,EAAE,MAAM,CAAC;IAOd,QAAQ,EAAE,OAAO,CAAC;IAQlB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAU5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AppointmentProcedureDto = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* DTO for creating a procedure linked to an appointment.
|
|
17
|
+
* Procedures belong to appointments (not directly to patients).
|
|
18
|
+
*/
|
|
19
|
+
class AppointmentProcedureDto {
|
|
20
|
+
name;
|
|
21
|
+
value;
|
|
22
|
+
finished;
|
|
23
|
+
finished_at;
|
|
24
|
+
observation;
|
|
25
|
+
}
|
|
26
|
+
exports.AppointmentProcedureDto = AppointmentProcedureDto;
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, swagger_1.ApiProperty)({
|
|
29
|
+
description: 'Name of the procedure to be performed or already performed',
|
|
30
|
+
example: 'Consulta clínica',
|
|
31
|
+
maxLength: 255,
|
|
32
|
+
}),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
35
|
+
(0, class_validator_1.MaxLength)(255),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], AppointmentProcedureDto.prototype, "name", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, swagger_1.ApiProperty)({
|
|
40
|
+
description: 'Monetary value of the procedure',
|
|
41
|
+
example: 150.5,
|
|
42
|
+
}),
|
|
43
|
+
(0, class_validator_1.IsNumber)({ maxDecimalPlaces: 2 }),
|
|
44
|
+
__metadata("design:type", Number)
|
|
45
|
+
], AppointmentProcedureDto.prototype, "value", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, swagger_1.ApiProperty)({
|
|
48
|
+
description: 'Indicates whether the procedure has been completed',
|
|
49
|
+
example: false,
|
|
50
|
+
}),
|
|
51
|
+
(0, class_validator_1.IsBoolean)(),
|
|
52
|
+
__metadata("design:type", Boolean)
|
|
53
|
+
], AppointmentProcedureDto.prototype, "finished", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
56
|
+
description: 'Date and time when the procedure was completed (ISO 8601)',
|
|
57
|
+
example: '2026-03-10T14:30:00.000Z',
|
|
58
|
+
}),
|
|
59
|
+
(0, class_validator_1.IsOptional)(),
|
|
60
|
+
(0, class_validator_1.IsDateString)(),
|
|
61
|
+
__metadata("design:type", Object)
|
|
62
|
+
], AppointmentProcedureDto.prototype, "finished_at", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
65
|
+
description: 'Additional observation about the procedure',
|
|
66
|
+
example: 'Paciente chegou em jejum',
|
|
67
|
+
maxLength: 2000,
|
|
68
|
+
}),
|
|
69
|
+
(0, class_validator_1.IsString)(),
|
|
70
|
+
(0, class_validator_1.IsOptional)(),
|
|
71
|
+
(0, class_validator_1.MaxLength)(2000),
|
|
72
|
+
__metadata("design:type", Object)
|
|
73
|
+
], AppointmentProcedureDto.prototype, "observation", void 0);
|
|
@@ -5,4 +5,6 @@ export * from './available-slots-query.dto';
|
|
|
5
5
|
export * from './available-slots-response.dto';
|
|
6
6
|
export * from './appointment-status.dto';
|
|
7
7
|
export * from './appointment.dto';
|
|
8
|
+
export * from './appointment-procedure.dto';
|
|
9
|
+
export * from './update-appointment-procedure.dto';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/appointments/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/appointments/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC"}
|
|
@@ -21,3 +21,5 @@ __exportStar(require("./available-slots-query.dto"), exports);
|
|
|
21
21
|
__exportStar(require("./available-slots-response.dto"), exports);
|
|
22
22
|
__exportStar(require("./appointment-status.dto"), exports);
|
|
23
23
|
__exportStar(require("./appointment.dto"), exports);
|
|
24
|
+
__exportStar(require("./appointment-procedure.dto"), exports);
|
|
25
|
+
__exportStar(require("./update-appointment-procedure.dto"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppointmentProcedureDto } from './appointment-procedure.dto';
|
|
2
|
+
declare const UpdateAppointmentProcedureDto_base: import("@nestjs/common").Type<Partial<AppointmentProcedureDto>>;
|
|
3
|
+
/**
|
|
4
|
+
* DTO for partially updating an appointment procedure.
|
|
5
|
+
* All fields are optional.
|
|
6
|
+
*/
|
|
7
|
+
export declare class UpdateAppointmentProcedureDto extends UpdateAppointmentProcedureDto_base {
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=update-appointment-procedure.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-appointment-procedure.dto.d.ts","sourceRoot":"","sources":["../../src/appointments/update-appointment-procedure.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;;AAEtE;;;GAGG;AACH,qBAAa,6BAA8B,SAAQ,kCAElD;CAAG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateAppointmentProcedureDto = void 0;
|
|
4
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
+
const appointment_procedure_dto_1 = require("./appointment-procedure.dto");
|
|
6
|
+
/**
|
|
7
|
+
* DTO for partially updating an appointment procedure.
|
|
8
|
+
* All fields are optional.
|
|
9
|
+
*/
|
|
10
|
+
class UpdateAppointmentProcedureDto extends (0, swagger_1.PartialType)(appointment_procedure_dto_1.AppointmentProcedureDto) {
|
|
11
|
+
}
|
|
12
|
+
exports.UpdateAppointmentProcedureDto = UpdateAppointmentProcedureDto;
|
package/package.json
CHANGED
|
@@ -40,6 +40,21 @@ export class AgentResponseDto {
|
|
|
40
40
|
@IsString()
|
|
41
41
|
model: string;
|
|
42
42
|
|
|
43
|
+
@ApiProperty({
|
|
44
|
+
description: 'Integration provider used for audio transcription',
|
|
45
|
+
enum: AI_INTEGRATIONS,
|
|
46
|
+
example: 'OPENAI',
|
|
47
|
+
})
|
|
48
|
+
@IsEnum(AI_INTEGRATIONS)
|
|
49
|
+
transcriptionIntegration: AiIntegrationDto;
|
|
50
|
+
|
|
51
|
+
@ApiProperty({
|
|
52
|
+
description: 'Model name used for audio transcription',
|
|
53
|
+
example: 'gpt-4o-mini-transcribe',
|
|
54
|
+
})
|
|
55
|
+
@IsString()
|
|
56
|
+
transcriptionModel: string;
|
|
57
|
+
|
|
43
58
|
@ApiProperty({
|
|
44
59
|
description: 'System prompt used by this agent',
|
|
45
60
|
example: 'You are a helpful assistant.',
|
|
@@ -45,6 +45,26 @@ export class CreateAgentDto {
|
|
|
45
45
|
@IsNotEmpty()
|
|
46
46
|
model: string;
|
|
47
47
|
|
|
48
|
+
@ApiPropertyOptional({
|
|
49
|
+
description:
|
|
50
|
+
'Integration provider used specifically for audio transcription. Defaults to "integration" when omitted.',
|
|
51
|
+
enum: AI_INTEGRATIONS,
|
|
52
|
+
example: 'GEMINI',
|
|
53
|
+
})
|
|
54
|
+
@IsOptional()
|
|
55
|
+
@IsEnum(AI_INTEGRATIONS)
|
|
56
|
+
transcriptionIntegration?: AiIntegrationDto;
|
|
57
|
+
|
|
58
|
+
@ApiPropertyOptional({
|
|
59
|
+
description:
|
|
60
|
+
'Model name used specifically for audio transcription. Defaults to "model" when omitted.',
|
|
61
|
+
example: 'gemini-2.0-flash',
|
|
62
|
+
})
|
|
63
|
+
@IsOptional()
|
|
64
|
+
@IsString()
|
|
65
|
+
@IsNotEmpty()
|
|
66
|
+
transcriptionModel?: string;
|
|
67
|
+
|
|
48
68
|
@ApiProperty({
|
|
49
69
|
description: 'System prompt applied before user messages',
|
|
50
70
|
example: 'You are an assistant for healthcare front-desk tasks.',
|
|
@@ -40,6 +40,25 @@ export class UpdateAgentDto {
|
|
|
40
40
|
@IsNotEmpty()
|
|
41
41
|
model?: string;
|
|
42
42
|
|
|
43
|
+
@ApiPropertyOptional({
|
|
44
|
+
description:
|
|
45
|
+
'Integration provider used specifically for audio transcription',
|
|
46
|
+
enum: AI_INTEGRATIONS,
|
|
47
|
+
example: 'OPENAI',
|
|
48
|
+
})
|
|
49
|
+
@IsOptional()
|
|
50
|
+
@IsEnum(AI_INTEGRATIONS)
|
|
51
|
+
transcriptionIntegration?: AiIntegrationDto;
|
|
52
|
+
|
|
53
|
+
@ApiPropertyOptional({
|
|
54
|
+
description: 'Model name used specifically for audio transcription',
|
|
55
|
+
example: 'gpt-4o-mini-transcribe',
|
|
56
|
+
})
|
|
57
|
+
@IsOptional()
|
|
58
|
+
@IsString()
|
|
59
|
+
@IsNotEmpty()
|
|
60
|
+
transcriptionModel?: string;
|
|
61
|
+
|
|
43
62
|
@ApiPropertyOptional({
|
|
44
63
|
description: 'System prompt applied before user messages',
|
|
45
64
|
example: 'You are a concise assistant for customer support.',
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
2
|
+
import {
|
|
3
|
+
IsBoolean,
|
|
4
|
+
IsDateString,
|
|
5
|
+
IsNotEmpty,
|
|
6
|
+
IsNumber,
|
|
7
|
+
IsOptional,
|
|
8
|
+
IsString,
|
|
9
|
+
MaxLength,
|
|
10
|
+
} from 'class-validator';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* DTO for creating a procedure linked to an appointment.
|
|
14
|
+
* Procedures belong to appointments (not directly to patients).
|
|
15
|
+
*/
|
|
16
|
+
export class AppointmentProcedureDto {
|
|
17
|
+
@ApiProperty({
|
|
18
|
+
description: 'Name of the procedure to be performed or already performed',
|
|
19
|
+
example: 'Consulta clínica',
|
|
20
|
+
maxLength: 255,
|
|
21
|
+
})
|
|
22
|
+
@IsString()
|
|
23
|
+
@IsNotEmpty()
|
|
24
|
+
@MaxLength(255)
|
|
25
|
+
name: string;
|
|
26
|
+
|
|
27
|
+
@ApiProperty({
|
|
28
|
+
description: 'Monetary value of the procedure',
|
|
29
|
+
example: 150.5,
|
|
30
|
+
})
|
|
31
|
+
@IsNumber({ maxDecimalPlaces: 2 })
|
|
32
|
+
value: number;
|
|
33
|
+
|
|
34
|
+
@ApiProperty({
|
|
35
|
+
description: 'Indicates whether the procedure has been completed',
|
|
36
|
+
example: false,
|
|
37
|
+
})
|
|
38
|
+
@IsBoolean()
|
|
39
|
+
finished: boolean;
|
|
40
|
+
|
|
41
|
+
@ApiPropertyOptional({
|
|
42
|
+
description: 'Date and time when the procedure was completed (ISO 8601)',
|
|
43
|
+
example: '2026-03-10T14:30:00.000Z',
|
|
44
|
+
})
|
|
45
|
+
@IsOptional()
|
|
46
|
+
@IsDateString()
|
|
47
|
+
finished_at?: string | null;
|
|
48
|
+
|
|
49
|
+
@ApiPropertyOptional({
|
|
50
|
+
description: 'Additional observation about the procedure',
|
|
51
|
+
example: 'Paciente chegou em jejum',
|
|
52
|
+
maxLength: 2000,
|
|
53
|
+
})
|
|
54
|
+
@IsString()
|
|
55
|
+
@IsOptional()
|
|
56
|
+
@MaxLength(2000)
|
|
57
|
+
observation?: string | null;
|
|
58
|
+
}
|
|
@@ -4,4 +4,6 @@ export * from './list-appointments-query.dto';
|
|
|
4
4
|
export * from './available-slots-query.dto';
|
|
5
5
|
export * from './available-slots-response.dto';
|
|
6
6
|
export * from './appointment-status.dto';
|
|
7
|
-
export * from './appointment.dto';
|
|
7
|
+
export * from './appointment.dto';
|
|
8
|
+
export * from './appointment-procedure.dto';
|
|
9
|
+
export * from './update-appointment-procedure.dto';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PartialType } from '@nestjs/swagger';
|
|
2
|
+
import { AppointmentProcedureDto } from './appointment-procedure.dto';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* DTO for partially updating an appointment procedure.
|
|
6
|
+
* All fields are optional.
|
|
7
|
+
*/
|
|
8
|
+
export class UpdateAppointmentProcedureDto extends PartialType(
|
|
9
|
+
AppointmentProcedureDto,
|
|
10
|
+
) {}
|