evo360-types 1.3.492 → 1.3.497
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/apps/evo-med/calendar/zod-schemas.d.ts +36 -0
- package/dist/apps/evo-med/calendar/zod-schemas.js +7 -0
- package/dist/apps/evo-med/calendar/zod-schemas.ts +7 -0
- package/dist/apps/evo-task/zod-schemas.d.ts +52 -52
- package/dist/apps/evo-task/zod-schemas.js +4 -0
- package/dist/apps/evo-task/zod-schemas.ts +4 -0
- package/dist/apps/hub-automation/zod-schemas.d.ts +172 -172
- package/dist/types/evo-chat/inbox/index.d.ts +31 -0
- package/dist/types/evo-chat/inbox/index.ts +31 -0
- package/dist/types/evo-med/calendar/index.d.ts +13 -0
- package/dist/types/evo-med/calendar/index.js +6 -0
- package/dist/types/evo-med/calendar/index.ts +13 -0
- package/dist/types/evo-task/index.d.ts +1 -0
- package/dist/types/evo-task/index.js +7 -0
- package/dist/types/evo-task/index.ts +7 -0
- package/package.json +1 -1
|
@@ -57,6 +57,37 @@ export interface IInboxItem {
|
|
|
57
57
|
last_message_type?: string;
|
|
58
58
|
last_message_channel_id?: string;
|
|
59
59
|
unread_count?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Nº de pacientes (evo-med) vinculados ao lead deste item, via `patient.lead_id`
|
|
62
|
+
* (+ `deleted_at == null`). Denormalizado pelo evochat-inbox-handler a cada
|
|
63
|
+
* INBOX_CHANGED (o vínculo pode nascer no meio da conversa). `0` = sabidamente
|
|
64
|
+
* sem paciente (inclui item sem lead). AUSENTE = desconhecido (item legado ou
|
|
65
|
+
* contagem falhou) — o FE não mostra nada. feat-106 item 1.
|
|
66
|
+
*/
|
|
67
|
+
linked_patient_count?: number;
|
|
68
|
+
/**
|
|
69
|
+
* `true` = contato sem nenhum ticket fechado "de verdade" antes deste —
|
|
70
|
+
* fechamentos com `system_status: 'moved' | 'merged'` (transferência/varredura)
|
|
71
|
+
* não contam. Computado UMA vez por ticket (evento `action === 'created'`) e
|
|
72
|
+
* preservado pelos merges seguintes do upsertItem. AUSENTE = desconhecido — o
|
|
73
|
+
* FE não mostra nada. feat-106 item 2.
|
|
74
|
+
*/
|
|
75
|
+
is_new_contact?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Nº de tasks HUMANAS (`mode:'human'`) abertas (status não-final) vinculadas ao
|
|
78
|
+
* lead ou aos pacientes do lead (`externalLinkKeys`). Denormalizado pelo
|
|
79
|
+
* evochat-inbox-handler; refrescado também pelo task-replication-handler via
|
|
80
|
+
* INBOX_CHANGED quando uma task humana muda. `0` = sabidamente sem task aberta.
|
|
81
|
+
* AUSENTE = desconhecido — o FE não mostra nada. feat-106 item 4.
|
|
82
|
+
*/
|
|
83
|
+
open_task_count?: number;
|
|
84
|
+
/**
|
|
85
|
+
* Menor `schedule.due_at` entre as tasks abertas contadas acima (null = nenhuma
|
|
86
|
+
* com prazo). O FE deriva "vencida" comparando com o relógio local — NUNCA
|
|
87
|
+
* denormalizamos o booleano "vencida", que apodreceria com a passagem do tempo
|
|
88
|
+
* sem evento. feat-106 item 4.
|
|
89
|
+
*/
|
|
90
|
+
next_task_due_at?: Date | null;
|
|
60
91
|
contact_name?: string;
|
|
61
92
|
contact_address?: string;
|
|
62
93
|
updated_at?: Date;
|
|
@@ -76,6 +76,37 @@ export interface IInboxItem {
|
|
|
76
76
|
last_message_type?: string;
|
|
77
77
|
last_message_channel_id?: string;
|
|
78
78
|
unread_count?: number;
|
|
79
|
+
/**
|
|
80
|
+
* Nº de pacientes (evo-med) vinculados ao lead deste item, via `patient.lead_id`
|
|
81
|
+
* (+ `deleted_at == null`). Denormalizado pelo evochat-inbox-handler a cada
|
|
82
|
+
* INBOX_CHANGED (o vínculo pode nascer no meio da conversa). `0` = sabidamente
|
|
83
|
+
* sem paciente (inclui item sem lead). AUSENTE = desconhecido (item legado ou
|
|
84
|
+
* contagem falhou) — o FE não mostra nada. feat-106 item 1.
|
|
85
|
+
*/
|
|
86
|
+
linked_patient_count?: number;
|
|
87
|
+
/**
|
|
88
|
+
* `true` = contato sem nenhum ticket fechado "de verdade" antes deste —
|
|
89
|
+
* fechamentos com `system_status: 'moved' | 'merged'` (transferência/varredura)
|
|
90
|
+
* não contam. Computado UMA vez por ticket (evento `action === 'created'`) e
|
|
91
|
+
* preservado pelos merges seguintes do upsertItem. AUSENTE = desconhecido — o
|
|
92
|
+
* FE não mostra nada. feat-106 item 2.
|
|
93
|
+
*/
|
|
94
|
+
is_new_contact?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Nº de tasks HUMANAS (`mode:'human'`) abertas (status não-final) vinculadas ao
|
|
97
|
+
* lead ou aos pacientes do lead (`externalLinkKeys`). Denormalizado pelo
|
|
98
|
+
* evochat-inbox-handler; refrescado também pelo task-replication-handler via
|
|
99
|
+
* INBOX_CHANGED quando uma task humana muda. `0` = sabidamente sem task aberta.
|
|
100
|
+
* AUSENTE = desconhecido — o FE não mostra nada. feat-106 item 4.
|
|
101
|
+
*/
|
|
102
|
+
open_task_count?: number;
|
|
103
|
+
/**
|
|
104
|
+
* Menor `schedule.due_at` entre as tasks abertas contadas acima (null = nenhuma
|
|
105
|
+
* com prazo). O FE deriva "vencida" comparando com o relógio local — NUNCA
|
|
106
|
+
* denormalizamos o booleano "vencida", que apodreceria com a passagem do tempo
|
|
107
|
+
* sem evento. feat-106 item 4.
|
|
108
|
+
*/
|
|
109
|
+
next_task_due_at?: Date | null;
|
|
79
110
|
contact_name?: string;
|
|
80
111
|
contact_address?: string;
|
|
81
112
|
updated_at?: Date;
|
|
@@ -56,6 +56,13 @@ export interface IMedCalendarNotificationEntry {
|
|
|
56
56
|
channels?: {
|
|
57
57
|
[channelKind: string]: IMedCalendarNotificationChannelEntry;
|
|
58
58
|
} | null;
|
|
59
|
+
/**
|
|
60
|
+
* feat-116 — `statusBase` elegíveis para envio deste tipo de notificação.
|
|
61
|
+
* Ausente/vazia ⇒ sem restrição (comportamento anterior). Validada pelo
|
|
62
|
+
* EXECUTOR no `execute_at` (revalidação), não pelo sweep — mesma semântica de
|
|
63
|
+
* match do `status_base_in` das rotinas do hub-automation.
|
|
64
|
+
*/
|
|
65
|
+
eligible_status_base?: string[] | null;
|
|
59
66
|
}
|
|
60
67
|
/** Config de um canal dentro de um config de notificação (feat-092). */
|
|
61
68
|
export interface IMedCalendarNotificationChannelEntry {
|
|
@@ -94,6 +101,12 @@ export declare const MedCalendarNotificationConfigKeys: {
|
|
|
94
101
|
* "paciente confirmou".
|
|
95
102
|
*/
|
|
96
103
|
readonly AppointmentConfirmation: "appointment_confirmation";
|
|
104
|
+
/**
|
|
105
|
+
* feat-116 — mensagem PÓS-CONSULTA (avaliação do atendimento, follow-up D+N de
|
|
106
|
+
* procedimento), disparada por rotina. Lida pelo handler
|
|
107
|
+
* `appointment_post_consultation`; sem CTAs de confirmar/remarcar.
|
|
108
|
+
*/
|
|
109
|
+
readonly AppointmentPostConsultation: "appointment_post_consultation";
|
|
97
110
|
readonly AppointmentCreated: "appointment_created";
|
|
98
111
|
readonly AppointmentRescheduled: "appointment_rescheduled";
|
|
99
112
|
readonly AppointmentCancelled: "appointment_cancelled";
|
|
@@ -37,6 +37,12 @@ exports.MedCalendarNotificationConfigKeys = {
|
|
|
37
37
|
* "paciente confirmou".
|
|
38
38
|
*/
|
|
39
39
|
AppointmentConfirmation: "appointment_confirmation",
|
|
40
|
+
/**
|
|
41
|
+
* feat-116 — mensagem PÓS-CONSULTA (avaliação do atendimento, follow-up D+N de
|
|
42
|
+
* procedimento), disparada por rotina. Lida pelo handler
|
|
43
|
+
* `appointment_post_consultation`; sem CTAs de confirmar/remarcar.
|
|
44
|
+
*/
|
|
45
|
+
AppointmentPostConsultation: "appointment_post_consultation",
|
|
40
46
|
AppointmentCreated: "appointment_created",
|
|
41
47
|
AppointmentRescheduled: "appointment_rescheduled",
|
|
42
48
|
AppointmentCancelled: "appointment_cancelled",
|
|
@@ -71,6 +71,13 @@ export interface IMedCalendarNotificationEntry {
|
|
|
71
71
|
channels?: {
|
|
72
72
|
[channelKind: string]: IMedCalendarNotificationChannelEntry;
|
|
73
73
|
} | null;
|
|
74
|
+
/**
|
|
75
|
+
* feat-116 — `statusBase` elegíveis para envio deste tipo de notificação.
|
|
76
|
+
* Ausente/vazia ⇒ sem restrição (comportamento anterior). Validada pelo
|
|
77
|
+
* EXECUTOR no `execute_at` (revalidação), não pelo sweep — mesma semântica de
|
|
78
|
+
* match do `status_base_in` das rotinas do hub-automation.
|
|
79
|
+
*/
|
|
80
|
+
eligible_status_base?: string[] | null;
|
|
74
81
|
}
|
|
75
82
|
|
|
76
83
|
/** Config de um canal dentro de um config de notificação (feat-092). */
|
|
@@ -112,6 +119,12 @@ export const MedCalendarNotificationConfigKeys = {
|
|
|
112
119
|
* "paciente confirmou".
|
|
113
120
|
*/
|
|
114
121
|
AppointmentConfirmation: "appointment_confirmation",
|
|
122
|
+
/**
|
|
123
|
+
* feat-116 — mensagem PÓS-CONSULTA (avaliação do atendimento, follow-up D+N de
|
|
124
|
+
* procedimento), disparada por rotina. Lida pelo handler
|
|
125
|
+
* `appointment_post_consultation`; sem CTAs de confirmar/remarcar.
|
|
126
|
+
*/
|
|
127
|
+
AppointmentPostConsultation: "appointment_post_consultation",
|
|
115
128
|
AppointmentCreated: "appointment_created",
|
|
116
129
|
AppointmentRescheduled: "appointment_rescheduled",
|
|
117
130
|
AppointmentCancelled: "appointment_cancelled",
|
|
@@ -56,6 +56,7 @@ export declare const TaskAutoHandlerEnum: {
|
|
|
56
56
|
readonly AppointmentAction: "appointment_action";
|
|
57
57
|
readonly AppointmentReminder: "appointment_reminder";
|
|
58
58
|
readonly AppointmentConfirmation: "appointment_confirmation";
|
|
59
|
+
readonly AppointmentPostConsultation: "appointment_post_consultation";
|
|
59
60
|
readonly IntegrationsSyncRun: "evo-integrations.sync-run";
|
|
60
61
|
readonly CampaignMaterialize: "campaign.materialize";
|
|
61
62
|
readonly CampaignDispatchBatch: "campaign.dispatch_batch";
|
|
@@ -103,6 +103,13 @@ exports.TaskAutoHandlerEnum = {
|
|
|
103
103
|
// HSM com CTAs de confirmar/remarcar. Tópico: `appointment_confirmation.execute_requests`.
|
|
104
104
|
// Espelhado à mão em `zTaskAutoHandlerSchema` — sem lá, criar a task estoura ZodError.
|
|
105
105
|
AppointmentConfirmation: "appointment_confirmation",
|
|
106
|
+
// feat-116: mensagem PÓS-CONSULTA (avaliação, follow-up D+N de procedimento) —
|
|
107
|
+
// mesmo executor parametrizado do lembrete/confirmação, lendo
|
|
108
|
+
// `notification_config.configs.appointment_post_consultation` e SEM os CTAs de
|
|
109
|
+
// confirmar/remarcar (a consulta já aconteceu). Tópico:
|
|
110
|
+
// `appointment_post_consultation.execute_requests`.
|
|
111
|
+
// Espelhado à mão em `zTaskAutoHandlerSchema` — sem lá, criar a task estoura ZodError.
|
|
112
|
+
AppointmentPostConsultation: "appointment_post_consultation",
|
|
106
113
|
// feat-078: handler que roda um sync de agenda do evo-integrations. O valor
|
|
107
114
|
// é o nome do handler COM ponto de propósito — `resolveHandlerTopic` faz
|
|
108
115
|
// `${handler}.execute_requests`, e a CF `integrations_sync` já escuta
|
|
@@ -114,6 +114,13 @@ export const TaskAutoHandlerEnum = {
|
|
|
114
114
|
// HSM com CTAs de confirmar/remarcar. Tópico: `appointment_confirmation.execute_requests`.
|
|
115
115
|
// Espelhado à mão em `zTaskAutoHandlerSchema` — sem lá, criar a task estoura ZodError.
|
|
116
116
|
AppointmentConfirmation: "appointment_confirmation",
|
|
117
|
+
// feat-116: mensagem PÓS-CONSULTA (avaliação, follow-up D+N de procedimento) —
|
|
118
|
+
// mesmo executor parametrizado do lembrete/confirmação, lendo
|
|
119
|
+
// `notification_config.configs.appointment_post_consultation` e SEM os CTAs de
|
|
120
|
+
// confirmar/remarcar (a consulta já aconteceu). Tópico:
|
|
121
|
+
// `appointment_post_consultation.execute_requests`.
|
|
122
|
+
// Espelhado à mão em `zTaskAutoHandlerSchema` — sem lá, criar a task estoura ZodError.
|
|
123
|
+
AppointmentPostConsultation: "appointment_post_consultation",
|
|
117
124
|
// feat-078: handler que roda um sync de agenda do evo-integrations. O valor
|
|
118
125
|
// é o nome do handler COM ponto de propósito — `resolveHandlerTopic` faz
|
|
119
126
|
// `${handler}.execute_requests`, e a CF `integrations_sync` já escuta
|