evo360-types 1.3.395 → 1.3.397
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 +508 -0
- package/dist/apps/evo-med/calendar/zod-schemas.js +29 -1
- package/dist/apps/evo-med/calendar/zod-schemas.ts +31 -0
- package/dist/apps/evo-task/zod-schemas.d.ts +52 -52
- package/dist/apps/evo-task/zod-schemas.js +3 -0
- package/dist/apps/evo-task/zod-schemas.ts +3 -0
- package/dist/types/evo-med/calendar/index.d.ts +28 -0
- package/dist/types/evo-med/calendar/index.ts +35 -0
- package/dist/types/evo-task/index.d.ts +1 -0
- package/dist/types/evo-task/index.js +5 -0
- package/dist/types/evo-task/index.ts +5 -0
- package/package.json +1 -1
|
@@ -1,4 +1,131 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
export declare const zMedCalendarNotificationConfigSchema: z.ZodObject<{
|
|
3
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
4
|
+
enabled: z.ZodBoolean;
|
|
5
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
6
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
7
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
8
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
9
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
11
|
+
enabled: z.ZodBoolean;
|
|
12
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
13
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
14
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
15
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
16
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
17
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
18
|
+
enabled: z.ZodBoolean;
|
|
19
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
20
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
21
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
22
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
23
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
25
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
26
|
+
enabled: z.ZodBoolean;
|
|
27
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
28
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
29
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
30
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
31
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
32
|
+
enabled: z.ZodBoolean;
|
|
33
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
34
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
35
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
36
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
37
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
38
|
+
enabled: z.ZodBoolean;
|
|
39
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
40
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
41
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
42
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
44
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
45
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
46
|
+
enabled: z.ZodBoolean;
|
|
47
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
48
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
49
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
50
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
51
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
52
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
53
|
+
enabled: z.ZodBoolean;
|
|
54
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
55
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
56
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
57
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
58
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
59
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
60
|
+
enabled: z.ZodBoolean;
|
|
61
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
62
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
63
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
64
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
65
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
66
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
67
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
68
|
+
enabled: z.ZodBoolean;
|
|
69
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
70
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
71
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
72
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
73
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
74
|
+
enabled: z.ZodBoolean;
|
|
75
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
76
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
77
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
78
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
79
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
80
|
+
enabled: z.ZodBoolean;
|
|
81
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
82
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
83
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
84
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
85
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
86
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
87
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
88
|
+
enabled: z.ZodBoolean;
|
|
89
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
90
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
91
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
92
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
93
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
94
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
95
|
+
enabled: z.ZodBoolean;
|
|
96
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
97
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
98
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
99
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
100
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
101
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
102
|
+
enabled: z.ZodBoolean;
|
|
103
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
104
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
105
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
106
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
107
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
108
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
109
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
110
|
+
enabled: z.ZodBoolean;
|
|
111
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
112
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
113
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
114
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
115
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
116
|
+
enabled: z.ZodBoolean;
|
|
117
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
118
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
119
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
120
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
121
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
122
|
+
enabled: z.ZodBoolean;
|
|
123
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
124
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
125
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
126
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
127
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
128
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
2
129
|
export declare const zMedCalendarSchema: z.ZodObject<{
|
|
3
130
|
id: z.ZodString;
|
|
4
131
|
ref: z.ZodAny;
|
|
@@ -336,6 +463,133 @@ export declare const zMedCalendarSchema: z.ZodObject<{
|
|
|
336
463
|
} | null | undefined;
|
|
337
464
|
workflow_overrides?: Partial<Record<"appointment.get" | "appointment.list" | "appointment.create" | "appointment.update" | "appointment.cancel" | "appointment.confirm" | "appointment.reschedule" | "patient.get" | "patient.list" | "patient.create" | "patient.update" | "patient.document.upload" | "payment.update" | "sync.appointments", string>> | undefined;
|
|
338
465
|
}>>>;
|
|
466
|
+
notification_config: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
467
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
468
|
+
enabled: z.ZodBoolean;
|
|
469
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
470
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
471
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
472
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
473
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
474
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
475
|
+
enabled: z.ZodBoolean;
|
|
476
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
477
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
478
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
479
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
480
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
481
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
482
|
+
enabled: z.ZodBoolean;
|
|
483
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
484
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
485
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
486
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
487
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
488
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
489
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
490
|
+
enabled: z.ZodBoolean;
|
|
491
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
492
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
493
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
494
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
495
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
496
|
+
enabled: z.ZodBoolean;
|
|
497
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
498
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
499
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
500
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
501
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
502
|
+
enabled: z.ZodBoolean;
|
|
503
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
504
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
505
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
506
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
507
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
508
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
509
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
510
|
+
enabled: z.ZodBoolean;
|
|
511
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
512
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
513
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
514
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
515
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
516
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
517
|
+
enabled: z.ZodBoolean;
|
|
518
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
519
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
520
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
521
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
522
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
523
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
524
|
+
enabled: z.ZodBoolean;
|
|
525
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
526
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
527
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
528
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
529
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
530
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
531
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
532
|
+
enabled: z.ZodBoolean;
|
|
533
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
534
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
535
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
536
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
537
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
538
|
+
enabled: z.ZodBoolean;
|
|
539
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
540
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
541
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
542
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
543
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
544
|
+
enabled: z.ZodBoolean;
|
|
545
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
546
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
547
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
548
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
549
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
550
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
551
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
552
|
+
enabled: z.ZodBoolean;
|
|
553
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
554
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
555
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
556
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
557
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
558
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
559
|
+
enabled: z.ZodBoolean;
|
|
560
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
561
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
562
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
563
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
564
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
565
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
566
|
+
enabled: z.ZodBoolean;
|
|
567
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
568
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
569
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
570
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
571
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
572
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
573
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
574
|
+
enabled: z.ZodBoolean;
|
|
575
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
576
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
577
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
578
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
579
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
580
|
+
enabled: z.ZodBoolean;
|
|
581
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
582
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
583
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
584
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
585
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
586
|
+
enabled: z.ZodBoolean;
|
|
587
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
588
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
589
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
590
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
591
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
592
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
339
593
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
340
594
|
id: z.ZodString;
|
|
341
595
|
ref: z.ZodAny;
|
|
@@ -673,6 +927,133 @@ export declare const zMedCalendarSchema: z.ZodObject<{
|
|
|
673
927
|
} | null | undefined;
|
|
674
928
|
workflow_overrides?: Partial<Record<"appointment.get" | "appointment.list" | "appointment.create" | "appointment.update" | "appointment.cancel" | "appointment.confirm" | "appointment.reschedule" | "patient.get" | "patient.list" | "patient.create" | "patient.update" | "patient.document.upload" | "payment.update" | "sync.appointments", string>> | undefined;
|
|
675
929
|
}>>>;
|
|
930
|
+
notification_config: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
931
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
932
|
+
enabled: z.ZodBoolean;
|
|
933
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
934
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
935
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
936
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
937
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
938
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
939
|
+
enabled: z.ZodBoolean;
|
|
940
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
941
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
942
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
943
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
944
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
945
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
946
|
+
enabled: z.ZodBoolean;
|
|
947
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
948
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
949
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
950
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
951
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
952
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
953
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
954
|
+
enabled: z.ZodBoolean;
|
|
955
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
956
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
957
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
958
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
959
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
960
|
+
enabled: z.ZodBoolean;
|
|
961
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
962
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
963
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
964
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
965
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
966
|
+
enabled: z.ZodBoolean;
|
|
967
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
968
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
969
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
970
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
971
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
972
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
973
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
974
|
+
enabled: z.ZodBoolean;
|
|
975
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
976
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
977
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
978
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
979
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
980
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
981
|
+
enabled: z.ZodBoolean;
|
|
982
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
983
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
984
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
985
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
986
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
987
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
988
|
+
enabled: z.ZodBoolean;
|
|
989
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
990
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
991
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
992
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
993
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
994
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
995
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
996
|
+
enabled: z.ZodBoolean;
|
|
997
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
998
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
999
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1000
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1001
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1002
|
+
enabled: z.ZodBoolean;
|
|
1003
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1004
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1005
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1006
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1007
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1008
|
+
enabled: z.ZodBoolean;
|
|
1009
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1010
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1011
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1012
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1013
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1014
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1015
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
1016
|
+
enabled: z.ZodBoolean;
|
|
1017
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1018
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1019
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1020
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1021
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1022
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1023
|
+
enabled: z.ZodBoolean;
|
|
1024
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1025
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1026
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1027
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1028
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1029
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1030
|
+
enabled: z.ZodBoolean;
|
|
1031
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1032
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1033
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1034
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1035
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1036
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1037
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
1038
|
+
enabled: z.ZodBoolean;
|
|
1039
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1040
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1041
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1042
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1043
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1044
|
+
enabled: z.ZodBoolean;
|
|
1045
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1046
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1047
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1048
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1049
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1050
|
+
enabled: z.ZodBoolean;
|
|
1051
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1052
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1053
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1054
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1055
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1056
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
676
1057
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
677
1058
|
id: z.ZodString;
|
|
678
1059
|
ref: z.ZodAny;
|
|
@@ -1010,4 +1391,131 @@ export declare const zMedCalendarSchema: z.ZodObject<{
|
|
|
1010
1391
|
} | null | undefined;
|
|
1011
1392
|
workflow_overrides?: Partial<Record<"appointment.get" | "appointment.list" | "appointment.create" | "appointment.update" | "appointment.cancel" | "appointment.confirm" | "appointment.reschedule" | "patient.get" | "patient.list" | "patient.create" | "patient.update" | "patient.document.upload" | "payment.update" | "sync.appointments", string>> | undefined;
|
|
1012
1393
|
}>>>;
|
|
1394
|
+
notification_config: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
1395
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
1396
|
+
enabled: z.ZodBoolean;
|
|
1397
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1398
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1399
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1400
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1401
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1402
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1403
|
+
enabled: z.ZodBoolean;
|
|
1404
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1405
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1406
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1407
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1408
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1409
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1410
|
+
enabled: z.ZodBoolean;
|
|
1411
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1412
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1413
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1414
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1415
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1416
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1417
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
1418
|
+
enabled: z.ZodBoolean;
|
|
1419
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1420
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1421
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1422
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1423
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1424
|
+
enabled: z.ZodBoolean;
|
|
1425
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1426
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1427
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1428
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1429
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1430
|
+
enabled: z.ZodBoolean;
|
|
1431
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1432
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1433
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1434
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1435
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1436
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1437
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
1438
|
+
enabled: z.ZodBoolean;
|
|
1439
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1440
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1441
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1442
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1443
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1444
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1445
|
+
enabled: z.ZodBoolean;
|
|
1446
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1447
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1448
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1449
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1450
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1451
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1452
|
+
enabled: z.ZodBoolean;
|
|
1453
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1454
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1455
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1456
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1457
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1458
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1459
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
1460
|
+
enabled: z.ZodBoolean;
|
|
1461
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1462
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1463
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1464
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1465
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1466
|
+
enabled: z.ZodBoolean;
|
|
1467
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1468
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1469
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1470
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1471
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1472
|
+
enabled: z.ZodBoolean;
|
|
1473
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1474
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1475
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1476
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1477
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1478
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1479
|
+
whatsapp: z.ZodOptional<z.ZodObject<{
|
|
1480
|
+
enabled: z.ZodBoolean;
|
|
1481
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1482
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1483
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1484
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1485
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1486
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1487
|
+
enabled: z.ZodBoolean;
|
|
1488
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1489
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1490
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1491
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1492
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1493
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1494
|
+
enabled: z.ZodBoolean;
|
|
1495
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1496
|
+
department_id: z.ZodOptional<z.ZodString>;
|
|
1497
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1498
|
+
on_confirm_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1499
|
+
on_reschedule_quick_reply_id: z.ZodOptional<z.ZodString>;
|
|
1500
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1501
|
+
email: z.ZodOptional<z.ZodObject<{
|
|
1502
|
+
enabled: z.ZodBoolean;
|
|
1503
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1504
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1505
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1506
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1507
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1508
|
+
enabled: z.ZodBoolean;
|
|
1509
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1510
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1511
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1512
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1513
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1514
|
+
enabled: z.ZodBoolean;
|
|
1515
|
+
channel_id: z.ZodOptional<z.ZodString>;
|
|
1516
|
+
reminder_template_id: z.ZodOptional<z.ZodString>;
|
|
1517
|
+
on_confirm_template_id: z.ZodOptional<z.ZodString>;
|
|
1518
|
+
on_reschedule_template_id: z.ZodOptional<z.ZodString>;
|
|
1519
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1520
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
1013
1521
|
}, z.ZodTypeAny, "passthrough">>;
|
|
@@ -1,10 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.zMedCalendarSchema = void 0;
|
|
3
|
+
exports.zMedCalendarSchema = exports.zMedCalendarNotificationConfigSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const zod_schemas_1 = require("../../shared/zod-schemas");
|
|
6
6
|
const zod_schemas_2 = require("../people/zod-schemas");
|
|
7
7
|
const zod_schemas_3 = require("../../evo-integrations/zod-schemas");
|
|
8
|
+
// ----- Notification config (feat-048) — molde do `sync_config`: estruturado +
|
|
9
|
+
// `.passthrough()` p/ tolerar campos futuros sem republish.
|
|
10
|
+
const zNotificationWhatsappConfigSchema = zod_1.z
|
|
11
|
+
.object({
|
|
12
|
+
enabled: zod_1.z.boolean(),
|
|
13
|
+
channel_id: zod_1.z.string().min(1).max(60).optional(),
|
|
14
|
+
department_id: zod_1.z.string().min(1).max(60).optional(),
|
|
15
|
+
reminder_template_id: zod_1.z.string().min(1).max(120).optional(),
|
|
16
|
+
on_confirm_quick_reply_id: zod_1.z.string().min(1).max(120).optional(),
|
|
17
|
+
on_reschedule_quick_reply_id: zod_1.z.string().min(1).max(120).optional(),
|
|
18
|
+
})
|
|
19
|
+
.passthrough();
|
|
20
|
+
const zNotificationEmailConfigSchema = zod_1.z
|
|
21
|
+
.object({
|
|
22
|
+
enabled: zod_1.z.boolean(),
|
|
23
|
+
channel_id: zod_1.z.string().min(1).max(60).optional(),
|
|
24
|
+
reminder_template_id: zod_1.z.string().min(1).max(120).optional(),
|
|
25
|
+
on_confirm_template_id: zod_1.z.string().min(1).max(120).optional(),
|
|
26
|
+
on_reschedule_template_id: zod_1.z.string().min(1).max(120).optional(),
|
|
27
|
+
})
|
|
28
|
+
.passthrough();
|
|
29
|
+
exports.zMedCalendarNotificationConfigSchema = zod_1.z
|
|
30
|
+
.object({
|
|
31
|
+
whatsapp: zNotificationWhatsappConfigSchema.optional(),
|
|
32
|
+
email: zNotificationEmailConfigSchema.optional(),
|
|
33
|
+
})
|
|
34
|
+
.passthrough();
|
|
8
35
|
exports.zMedCalendarSchema = zod_schemas_1.zFireDocSchema
|
|
9
36
|
.extend({
|
|
10
37
|
calendarId: zod_1.z.string().min(1).max(30),
|
|
@@ -45,5 +72,6 @@ exports.zMedCalendarSchema = zod_schemas_1.zFireDocSchema
|
|
|
45
72
|
.optional(),
|
|
46
73
|
available_for_hubia: zod_1.z.boolean().default(false).nullable().optional(),
|
|
47
74
|
integration: zod_schemas_3.zMedCalendarIntegrationSchema.nullable().optional(),
|
|
75
|
+
notification_config: exports.zMedCalendarNotificationConfigSchema.nullable().optional(),
|
|
48
76
|
})
|
|
49
77
|
.passthrough();
|
|
@@ -3,6 +3,36 @@ import { zFireDocSchema, zTagSchema } from "../../shared/zod-schemas";
|
|
|
3
3
|
import { zAppointmentCountersSchema } from "../people/zod-schemas";
|
|
4
4
|
import { zMedCalendarIntegrationSchema } from "../../evo-integrations/zod-schemas";
|
|
5
5
|
|
|
6
|
+
// ----- Notification config (feat-048) — molde do `sync_config`: estruturado +
|
|
7
|
+
// `.passthrough()` p/ tolerar campos futuros sem republish.
|
|
8
|
+
const zNotificationWhatsappConfigSchema = z
|
|
9
|
+
.object({
|
|
10
|
+
enabled: z.boolean(),
|
|
11
|
+
channel_id: z.string().min(1).max(60).optional(),
|
|
12
|
+
department_id: z.string().min(1).max(60).optional(),
|
|
13
|
+
reminder_template_id: z.string().min(1).max(120).optional(),
|
|
14
|
+
on_confirm_quick_reply_id: z.string().min(1).max(120).optional(),
|
|
15
|
+
on_reschedule_quick_reply_id: z.string().min(1).max(120).optional(),
|
|
16
|
+
})
|
|
17
|
+
.passthrough();
|
|
18
|
+
|
|
19
|
+
const zNotificationEmailConfigSchema = z
|
|
20
|
+
.object({
|
|
21
|
+
enabled: z.boolean(),
|
|
22
|
+
channel_id: z.string().min(1).max(60).optional(),
|
|
23
|
+
reminder_template_id: z.string().min(1).max(120).optional(),
|
|
24
|
+
on_confirm_template_id: z.string().min(1).max(120).optional(),
|
|
25
|
+
on_reschedule_template_id: z.string().min(1).max(120).optional(),
|
|
26
|
+
})
|
|
27
|
+
.passthrough();
|
|
28
|
+
|
|
29
|
+
export const zMedCalendarNotificationConfigSchema = z
|
|
30
|
+
.object({
|
|
31
|
+
whatsapp: zNotificationWhatsappConfigSchema.optional(),
|
|
32
|
+
email: zNotificationEmailConfigSchema.optional(),
|
|
33
|
+
})
|
|
34
|
+
.passthrough();
|
|
35
|
+
|
|
6
36
|
export const zMedCalendarSchema = zFireDocSchema
|
|
7
37
|
.extend({
|
|
8
38
|
calendarId: z.string().min(1).max(30),
|
|
@@ -43,5 +73,6 @@ export const zMedCalendarSchema = zFireDocSchema
|
|
|
43
73
|
.optional(),
|
|
44
74
|
available_for_hubia: z.boolean().default(false).nullable().optional(),
|
|
45
75
|
integration: zMedCalendarIntegrationSchema.nullable().optional(),
|
|
76
|
+
notification_config: zMedCalendarNotificationConfigSchema.nullable().optional(),
|
|
46
77
|
})
|
|
47
78
|
.passthrough();
|
|
@@ -4,7 +4,7 @@ export declare const zTaskStatusSchema: z.ZodEnum<["not_started", "in_progress",
|
|
|
4
4
|
export declare const zTaskPrioritySchema: z.ZodEnum<["low", "medium", "high"]>;
|
|
5
5
|
export declare const zTaskSourceSchema: z.ZodEnum<["user", "automation_hub", "system"]>;
|
|
6
6
|
export declare const zTaskModeSchema: z.ZodEnum<["human", "auto"]>;
|
|
7
|
-
export declare const zTaskAutoHandlerSchema: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
7
|
+
export declare const zTaskAutoHandlerSchema: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
8
8
|
export declare const zTaskRetryStrategySchema: z.ZodEnum<["fixed", "exponential"]>;
|
|
9
9
|
export declare const zTaskDedupScopeSchema: z.ZodEnum<["per_recipient", "per_recipient_and_object", "custom"]>;
|
|
10
10
|
export declare const zTaskDedupWindowSchema: z.ZodEnum<["same_day", "n_hours", "custom"]>;
|
|
@@ -188,19 +188,19 @@ export declare const zTaskDedupSchema: z.ZodObject<{
|
|
|
188
188
|
importance: z.ZodOptional<z.ZodNumber>;
|
|
189
189
|
}, z.ZodTypeAny, "passthrough">>;
|
|
190
190
|
export declare const zTaskAutoSpecSchema: z.ZodObject<{
|
|
191
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
191
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
192
192
|
kind: z.ZodString;
|
|
193
193
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
194
194
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
195
195
|
idempotency_key: z.ZodOptional<z.ZodString>;
|
|
196
196
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
197
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
197
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
198
198
|
kind: z.ZodString;
|
|
199
199
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
200
200
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
201
201
|
idempotency_key: z.ZodOptional<z.ZodString>;
|
|
202
202
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
203
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
203
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
204
204
|
kind: z.ZodString;
|
|
205
205
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
206
206
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
@@ -264,16 +264,16 @@ export declare const zTaskOnFailureSchema: z.ZodObject<{
|
|
|
264
264
|
priority?: "low" | "medium" | "high" | undefined;
|
|
265
265
|
}>>;
|
|
266
266
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
267
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
267
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
268
268
|
kind: z.ZodString;
|
|
269
269
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
270
270
|
}, "strip", z.ZodTypeAny, {
|
|
271
271
|
kind: string;
|
|
272
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
272
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
273
273
|
payload: Record<string, unknown>;
|
|
274
274
|
}, {
|
|
275
275
|
kind: string;
|
|
276
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
276
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
277
277
|
payload: Record<string, unknown>;
|
|
278
278
|
}>, "many">>;
|
|
279
279
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
@@ -334,16 +334,16 @@ export declare const zTaskOnFailureSchema: z.ZodObject<{
|
|
|
334
334
|
priority?: "low" | "medium" | "high" | undefined;
|
|
335
335
|
}>>;
|
|
336
336
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
337
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
337
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
338
338
|
kind: z.ZodString;
|
|
339
339
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
340
340
|
}, "strip", z.ZodTypeAny, {
|
|
341
341
|
kind: string;
|
|
342
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
342
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
343
343
|
payload: Record<string, unknown>;
|
|
344
344
|
}, {
|
|
345
345
|
kind: string;
|
|
346
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
346
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
347
347
|
payload: Record<string, unknown>;
|
|
348
348
|
}>, "many">>;
|
|
349
349
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
@@ -404,16 +404,16 @@ export declare const zTaskOnFailureSchema: z.ZodObject<{
|
|
|
404
404
|
priority?: "low" | "medium" | "high" | undefined;
|
|
405
405
|
}>>;
|
|
406
406
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
407
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
407
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
408
408
|
kind: z.ZodString;
|
|
409
409
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
410
410
|
}, "strip", z.ZodTypeAny, {
|
|
411
411
|
kind: string;
|
|
412
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
412
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
413
413
|
payload: Record<string, unknown>;
|
|
414
414
|
}, {
|
|
415
415
|
kind: string;
|
|
416
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
416
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
417
417
|
payload: Record<string, unknown>;
|
|
418
418
|
}>, "many">>;
|
|
419
419
|
}, z.ZodTypeAny, "passthrough">>;
|
|
@@ -677,16 +677,16 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
677
677
|
priority?: "low" | "medium" | "high" | undefined;
|
|
678
678
|
}>>;
|
|
679
679
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
680
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
680
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
681
681
|
kind: z.ZodString;
|
|
682
682
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
683
683
|
}, "strip", z.ZodTypeAny, {
|
|
684
684
|
kind: string;
|
|
685
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
685
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
686
686
|
payload: Record<string, unknown>;
|
|
687
687
|
}, {
|
|
688
688
|
kind: string;
|
|
689
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
689
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
690
690
|
payload: Record<string, unknown>;
|
|
691
691
|
}>, "many">>;
|
|
692
692
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
@@ -747,16 +747,16 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
747
747
|
priority?: "low" | "medium" | "high" | undefined;
|
|
748
748
|
}>>;
|
|
749
749
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
750
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
750
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
751
751
|
kind: z.ZodString;
|
|
752
752
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
753
753
|
}, "strip", z.ZodTypeAny, {
|
|
754
754
|
kind: string;
|
|
755
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
755
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
756
756
|
payload: Record<string, unknown>;
|
|
757
757
|
}, {
|
|
758
758
|
kind: string;
|
|
759
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
759
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
760
760
|
payload: Record<string, unknown>;
|
|
761
761
|
}>, "many">>;
|
|
762
762
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
@@ -817,16 +817,16 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
817
817
|
priority?: "low" | "medium" | "high" | undefined;
|
|
818
818
|
}>>;
|
|
819
819
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
820
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
820
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
821
821
|
kind: z.ZodString;
|
|
822
822
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
823
823
|
}, "strip", z.ZodTypeAny, {
|
|
824
824
|
kind: string;
|
|
825
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
825
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
826
826
|
payload: Record<string, unknown>;
|
|
827
827
|
}, {
|
|
828
828
|
kind: string;
|
|
829
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
829
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
830
830
|
payload: Record<string, unknown>;
|
|
831
831
|
}>, "many">>;
|
|
832
832
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
@@ -847,19 +847,19 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
847
847
|
dispatched_attempts: z.ZodOptional<z.ZodNumber>;
|
|
848
848
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
849
849
|
auto: z.ZodOptional<z.ZodObject<{
|
|
850
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
850
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
851
851
|
kind: z.ZodString;
|
|
852
852
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
853
853
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
854
854
|
idempotency_key: z.ZodOptional<z.ZodString>;
|
|
855
855
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
856
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
856
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
857
857
|
kind: z.ZodString;
|
|
858
858
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
859
859
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
860
860
|
idempotency_key: z.ZodOptional<z.ZodString>;
|
|
861
861
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
862
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
862
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
863
863
|
kind: z.ZodString;
|
|
864
864
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
865
865
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
@@ -1115,16 +1115,16 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
1115
1115
|
priority?: "low" | "medium" | "high" | undefined;
|
|
1116
1116
|
}>>;
|
|
1117
1117
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1118
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1118
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1119
1119
|
kind: z.ZodString;
|
|
1120
1120
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1121
1121
|
}, "strip", z.ZodTypeAny, {
|
|
1122
1122
|
kind: string;
|
|
1123
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1123
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1124
1124
|
payload: Record<string, unknown>;
|
|
1125
1125
|
}, {
|
|
1126
1126
|
kind: string;
|
|
1127
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1127
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1128
1128
|
payload: Record<string, unknown>;
|
|
1129
1129
|
}>, "many">>;
|
|
1130
1130
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
@@ -1185,16 +1185,16 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
1185
1185
|
priority?: "low" | "medium" | "high" | undefined;
|
|
1186
1186
|
}>>;
|
|
1187
1187
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1188
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1188
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1189
1189
|
kind: z.ZodString;
|
|
1190
1190
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1191
1191
|
}, "strip", z.ZodTypeAny, {
|
|
1192
1192
|
kind: string;
|
|
1193
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1193
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1194
1194
|
payload: Record<string, unknown>;
|
|
1195
1195
|
}, {
|
|
1196
1196
|
kind: string;
|
|
1197
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1197
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1198
1198
|
payload: Record<string, unknown>;
|
|
1199
1199
|
}>, "many">>;
|
|
1200
1200
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
@@ -1255,16 +1255,16 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
1255
1255
|
priority?: "low" | "medium" | "high" | undefined;
|
|
1256
1256
|
}>>;
|
|
1257
1257
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1258
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1258
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1259
1259
|
kind: z.ZodString;
|
|
1260
1260
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1261
1261
|
}, "strip", z.ZodTypeAny, {
|
|
1262
1262
|
kind: string;
|
|
1263
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1263
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1264
1264
|
payload: Record<string, unknown>;
|
|
1265
1265
|
}, {
|
|
1266
1266
|
kind: string;
|
|
1267
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1267
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1268
1268
|
payload: Record<string, unknown>;
|
|
1269
1269
|
}>, "many">>;
|
|
1270
1270
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
@@ -1285,19 +1285,19 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
1285
1285
|
dispatched_attempts: z.ZodOptional<z.ZodNumber>;
|
|
1286
1286
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
1287
1287
|
auto: z.ZodOptional<z.ZodObject<{
|
|
1288
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1288
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1289
1289
|
kind: z.ZodString;
|
|
1290
1290
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
1291
1291
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1292
1292
|
idempotency_key: z.ZodOptional<z.ZodString>;
|
|
1293
1293
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1294
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1294
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1295
1295
|
kind: z.ZodString;
|
|
1296
1296
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
1297
1297
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1298
1298
|
idempotency_key: z.ZodOptional<z.ZodString>;
|
|
1299
1299
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1300
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1300
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1301
1301
|
kind: z.ZodString;
|
|
1302
1302
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
1303
1303
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
@@ -1553,16 +1553,16 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
1553
1553
|
priority?: "low" | "medium" | "high" | undefined;
|
|
1554
1554
|
}>>;
|
|
1555
1555
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1556
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1556
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1557
1557
|
kind: z.ZodString;
|
|
1558
1558
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1559
1559
|
}, "strip", z.ZodTypeAny, {
|
|
1560
1560
|
kind: string;
|
|
1561
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1561
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1562
1562
|
payload: Record<string, unknown>;
|
|
1563
1563
|
}, {
|
|
1564
1564
|
kind: string;
|
|
1565
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1565
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1566
1566
|
payload: Record<string, unknown>;
|
|
1567
1567
|
}>, "many">>;
|
|
1568
1568
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
@@ -1623,16 +1623,16 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
1623
1623
|
priority?: "low" | "medium" | "high" | undefined;
|
|
1624
1624
|
}>>;
|
|
1625
1625
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1626
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1626
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1627
1627
|
kind: z.ZodString;
|
|
1628
1628
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1629
1629
|
}, "strip", z.ZodTypeAny, {
|
|
1630
1630
|
kind: string;
|
|
1631
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1631
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1632
1632
|
payload: Record<string, unknown>;
|
|
1633
1633
|
}, {
|
|
1634
1634
|
kind: string;
|
|
1635
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1635
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1636
1636
|
payload: Record<string, unknown>;
|
|
1637
1637
|
}>, "many">>;
|
|
1638
1638
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
@@ -1693,16 +1693,16 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
1693
1693
|
priority?: "low" | "medium" | "high" | undefined;
|
|
1694
1694
|
}>>;
|
|
1695
1695
|
auto_fallbacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1696
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1696
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1697
1697
|
kind: z.ZodString;
|
|
1698
1698
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1699
1699
|
}, "strip", z.ZodTypeAny, {
|
|
1700
1700
|
kind: string;
|
|
1701
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1701
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1702
1702
|
payload: Record<string, unknown>;
|
|
1703
1703
|
}, {
|
|
1704
1704
|
kind: string;
|
|
1705
|
-
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action";
|
|
1705
|
+
handler: "notifications" | "ai_agent" | "invoices" | "webhook" | "custom" | "lead_reactivation" | "appointment_action" | "appointment_reminder";
|
|
1706
1706
|
payload: Record<string, unknown>;
|
|
1707
1707
|
}>, "many">>;
|
|
1708
1708
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
@@ -1723,19 +1723,19 @@ export declare const zTaskSchema: z.ZodObject<{
|
|
|
1723
1723
|
dispatched_attempts: z.ZodOptional<z.ZodNumber>;
|
|
1724
1724
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
1725
1725
|
auto: z.ZodOptional<z.ZodObject<{
|
|
1726
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1726
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1727
1727
|
kind: z.ZodString;
|
|
1728
1728
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
1729
1729
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1730
1730
|
idempotency_key: z.ZodOptional<z.ZodString>;
|
|
1731
1731
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1732
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1732
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1733
1733
|
kind: z.ZodString;
|
|
1734
1734
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
1735
1735
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1736
1736
|
idempotency_key: z.ZodOptional<z.ZodString>;
|
|
1737
1737
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1738
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1738
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1739
1739
|
kind: z.ZodString;
|
|
1740
1740
|
version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
1741
1741
|
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
@@ -1855,7 +1855,7 @@ export declare const zTaskExecutionSchema: z.ZodObject<{
|
|
|
1855
1855
|
deleted_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
1856
1856
|
} & {
|
|
1857
1857
|
taskId: z.ZodString;
|
|
1858
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1858
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1859
1859
|
kind: z.ZodString;
|
|
1860
1860
|
status: z.ZodEnum<["success", "error", "retry"]>;
|
|
1861
1861
|
attempt: z.ZodNumber;
|
|
@@ -1895,7 +1895,7 @@ export declare const zTaskExecutionSchema: z.ZodObject<{
|
|
|
1895
1895
|
deleted_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
1896
1896
|
} & {
|
|
1897
1897
|
taskId: z.ZodString;
|
|
1898
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1898
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1899
1899
|
kind: z.ZodString;
|
|
1900
1900
|
status: z.ZodEnum<["success", "error", "retry"]>;
|
|
1901
1901
|
attempt: z.ZodNumber;
|
|
@@ -1935,7 +1935,7 @@ export declare const zTaskExecutionSchema: z.ZodObject<{
|
|
|
1935
1935
|
deleted_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
1936
1936
|
} & {
|
|
1937
1937
|
taskId: z.ZodString;
|
|
1938
|
-
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action"]>;
|
|
1938
|
+
handler: z.ZodEnum<["notifications", "ai_agent", "invoices", "webhook", "custom", "lead_reactivation", "appointment_action", "appointment_reminder"]>;
|
|
1939
1939
|
kind: z.ZodString;
|
|
1940
1940
|
status: z.ZodEnum<["success", "error", "retry"]>;
|
|
1941
1941
|
attempt: z.ZodNumber;
|
|
@@ -33,6 +33,9 @@ exports.zTaskAutoHandlerSchema = zod_1.z.enum([
|
|
|
33
33
|
// reschedule) vinda de um quick-reply — interno (setProperties) vs externo
|
|
34
34
|
// (adapter capability), com retry/fallback. Handler OUT-OF-SCOPE do feat-047.
|
|
35
35
|
"appointment_action",
|
|
36
|
+
// feat-048: handler do lembrete de consulta (fan-out multi-canal via
|
|
37
|
+
// `notification_config` da agenda → N tasks `notifications.send`).
|
|
38
|
+
"appointment_reminder",
|
|
36
39
|
]);
|
|
37
40
|
exports.zTaskRetryStrategySchema = zod_1.z.enum(["fixed", "exponential"]);
|
|
38
41
|
exports.zTaskDedupScopeSchema = zod_1.z.enum([
|
|
@@ -36,6 +36,9 @@ export const zTaskAutoHandlerSchema = z.enum([
|
|
|
36
36
|
// reschedule) vinda de um quick-reply — interno (setProperties) vs externo
|
|
37
37
|
// (adapter capability), com retry/fallback. Handler OUT-OF-SCOPE do feat-047.
|
|
38
38
|
"appointment_action",
|
|
39
|
+
// feat-048: handler do lembrete de consulta (fan-out multi-canal via
|
|
40
|
+
// `notification_config` da agenda → N tasks `notifications.send`).
|
|
41
|
+
"appointment_reminder",
|
|
39
42
|
]);
|
|
40
43
|
|
|
41
44
|
export const zTaskRetryStrategySchema = z.enum(["fixed", "exponential"]);
|
|
@@ -10,6 +10,33 @@ export declare const EvoMedCalendarPermissions: {
|
|
|
10
10
|
readonly Delete: "evo_med_calendar_write";
|
|
11
11
|
};
|
|
12
12
|
export type EvoMedCalendarPermissions = (typeof EvoMedCalendarPermissions)[keyof typeof EvoMedCalendarPermissions];
|
|
13
|
+
export interface IMedCalendarNotificationConfig {
|
|
14
|
+
/** WhatsApp: envia o lembrete via HSM + botões de confirmar/remarcar. */
|
|
15
|
+
whatsapp?: {
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
/** Doc id do canal evo-chat/whatsapp por onde o lembrete sai. */
|
|
18
|
+
channel_id?: string;
|
|
19
|
+
department_id?: string;
|
|
20
|
+
/** HSM que carrega o texto do lembrete (a Meta guarda o corpo; nós só passamos as variáveis). */
|
|
21
|
+
reminder_template_id?: string;
|
|
22
|
+
/** Quick-reply a responder quando o paciente confirmar (consumido pela feat-056). */
|
|
23
|
+
on_confirm_quick_reply_id?: string;
|
|
24
|
+
/** Quick-reply a responder quando o paciente pedir remarcação (feat-056). */
|
|
25
|
+
on_reschedule_quick_reply_id?: string;
|
|
26
|
+
};
|
|
27
|
+
/** E-mail: envia o lembrete via template de e-mail (corpo renderizado pelo engine). */
|
|
28
|
+
email?: {
|
|
29
|
+
enabled: boolean;
|
|
30
|
+
/** Doc id do canal de e-mail. */
|
|
31
|
+
channel_id?: string;
|
|
32
|
+
/** Template do e-mail de lembrete. */
|
|
33
|
+
reminder_template_id?: string;
|
|
34
|
+
/** Template do e-mail enviado após confirmação (feat-056). */
|
|
35
|
+
on_confirm_template_id?: string;
|
|
36
|
+
/** Template do e-mail enviado após pedido de remarcação (feat-056). */
|
|
37
|
+
on_reschedule_template_id?: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
13
40
|
export interface IMedCalendar extends IFireDoc {
|
|
14
41
|
calendarId: string;
|
|
15
42
|
color?: string;
|
|
@@ -37,5 +64,6 @@ export interface IMedCalendar extends IFireDoc {
|
|
|
37
64
|
available_weekdays?: number[] | null;
|
|
38
65
|
available_for_hubia?: boolean | null;
|
|
39
66
|
integration?: IMedCalendarIntegration | null;
|
|
67
|
+
notification_config?: IMedCalendarNotificationConfig | null;
|
|
40
68
|
[key: string]: unknown;
|
|
41
69
|
}
|
|
@@ -15,6 +15,39 @@ export const EvoMedCalendarPermissions = {
|
|
|
15
15
|
export type EvoMedCalendarPermissions =
|
|
16
16
|
(typeof EvoMedCalendarPermissions)[keyof typeof EvoMedCalendarPermissions];
|
|
17
17
|
|
|
18
|
+
// ----- Notification config (inline no calendar doc) — feat-048
|
|
19
|
+
// Config por-agenda usada pelo handler `appointment_reminder` (fan-out multi-canal)
|
|
20
|
+
// e, futuramente, pela feat-056 (resposta ao confirmar/remarcar). Molde do bloco
|
|
21
|
+
// `integration.sync_config`: estruturado, validado por zod, com `.passthrough()`
|
|
22
|
+
// para tolerar campos futuros sem republish.
|
|
23
|
+
export interface IMedCalendarNotificationConfig {
|
|
24
|
+
/** WhatsApp: envia o lembrete via HSM + botões de confirmar/remarcar. */
|
|
25
|
+
whatsapp?: {
|
|
26
|
+
enabled: boolean;
|
|
27
|
+
/** Doc id do canal evo-chat/whatsapp por onde o lembrete sai. */
|
|
28
|
+
channel_id?: string;
|
|
29
|
+
department_id?: string;
|
|
30
|
+
/** HSM que carrega o texto do lembrete (a Meta guarda o corpo; nós só passamos as variáveis). */
|
|
31
|
+
reminder_template_id?: string;
|
|
32
|
+
/** Quick-reply a responder quando o paciente confirmar (consumido pela feat-056). */
|
|
33
|
+
on_confirm_quick_reply_id?: string;
|
|
34
|
+
/** Quick-reply a responder quando o paciente pedir remarcação (feat-056). */
|
|
35
|
+
on_reschedule_quick_reply_id?: string;
|
|
36
|
+
};
|
|
37
|
+
/** E-mail: envia o lembrete via template de e-mail (corpo renderizado pelo engine). */
|
|
38
|
+
email?: {
|
|
39
|
+
enabled: boolean;
|
|
40
|
+
/** Doc id do canal de e-mail. */
|
|
41
|
+
channel_id?: string;
|
|
42
|
+
/** Template do e-mail de lembrete. */
|
|
43
|
+
reminder_template_id?: string;
|
|
44
|
+
/** Template do e-mail enviado após confirmação (feat-056). */
|
|
45
|
+
on_confirm_template_id?: string;
|
|
46
|
+
/** Template do e-mail enviado após pedido de remarcação (feat-056). */
|
|
47
|
+
on_reschedule_template_id?: string;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
18
51
|
// ----- MedCalendarTypes
|
|
19
52
|
export interface IMedCalendar extends IFireDoc {
|
|
20
53
|
calendarId: string;
|
|
@@ -47,5 +80,7 @@ export interface IMedCalendar extends IFireDoc {
|
|
|
47
80
|
available_for_hubia?: boolean | null;
|
|
48
81
|
// Config de integração (feat-004 evo-integrations). Opcional — calendars legados mantêm n8n_wf/url/ext_urls.
|
|
49
82
|
integration?: IMedCalendarIntegration | null;
|
|
83
|
+
// Config de notificações por-agenda (feat-048). Opcional — agendas sem lembrete não têm o bloco.
|
|
84
|
+
notification_config?: IMedCalendarNotificationConfig | null;
|
|
50
85
|
[key: string]: unknown; // index signature
|
|
51
86
|
}
|
|
@@ -54,6 +54,7 @@ export declare const TaskAutoHandlerEnum: {
|
|
|
54
54
|
readonly Custom: "custom";
|
|
55
55
|
readonly LeadReactivation: "lead_reactivation";
|
|
56
56
|
readonly AppointmentAction: "appointment_action";
|
|
57
|
+
readonly AppointmentReminder: "appointment_reminder";
|
|
57
58
|
};
|
|
58
59
|
export type TaskAutoHandler = (typeof TaskAutoHandlerEnum)[keyof typeof TaskAutoHandlerEnum];
|
|
59
60
|
export declare const TaskRetryStrategyEnum: {
|
|
@@ -93,6 +93,11 @@ exports.TaskAutoHandlerEnum = {
|
|
|
93
93
|
// com retry + on_failure. O handler em si é OUT-OF-SCOPE do feat-047 (seam):
|
|
94
94
|
// o executor de quick-reply só CRIA a task com este handler.
|
|
95
95
|
AppointmentAction: "appointment_action",
|
|
96
|
+
// feat-048: handler que envia o LEMBRETE de consulta ao paciente. Lê a
|
|
97
|
+
// `notification_config` da agenda e faz FAN-OUT: cria 1 task `notifications.send`
|
|
98
|
+
// por canal habilitado (WhatsApp/e-mail), com quick-reply de confirmar/remarcar.
|
|
99
|
+
// Tópico PubSub do executor: `appointment_reminder.execute_requests`.
|
|
100
|
+
AppointmentReminder: "appointment_reminder",
|
|
96
101
|
};
|
|
97
102
|
// ----- Retry policy
|
|
98
103
|
exports.TaskRetryStrategyEnum = {
|
|
@@ -104,6 +104,11 @@ export const TaskAutoHandlerEnum = {
|
|
|
104
104
|
// com retry + on_failure. O handler em si é OUT-OF-SCOPE do feat-047 (seam):
|
|
105
105
|
// o executor de quick-reply só CRIA a task com este handler.
|
|
106
106
|
AppointmentAction: "appointment_action",
|
|
107
|
+
// feat-048: handler que envia o LEMBRETE de consulta ao paciente. Lê a
|
|
108
|
+
// `notification_config` da agenda e faz FAN-OUT: cria 1 task `notifications.send`
|
|
109
|
+
// por canal habilitado (WhatsApp/e-mail), com quick-reply de confirmar/remarcar.
|
|
110
|
+
// Tópico PubSub do executor: `appointment_reminder.execute_requests`.
|
|
111
|
+
AppointmentReminder: "appointment_reminder",
|
|
107
112
|
} as const;
|
|
108
113
|
|
|
109
114
|
export type TaskAutoHandler =
|