evo360-types 1.3.144 → 1.3.146

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.zTaskCommentSchema = exports.zTaskSchema = exports.zTaskExternalLinkSchema = exports.zIATaskTypeSchema = exports.zTaskExternalObjectTypeSchema = exports.zTaskPrioritySchema = exports.zTaskStatusSchema = exports.zTaskActionSchema = void 0;
3
+ exports.zTaskLogSchema = exports.zTaskExecutionSchema = exports.zTaskExecutionProviderSchema = exports.zTaskExecutionErrorSchema = exports.zTaskCommentSchema = exports.zTaskCommentAuthorSchema = exports.zTaskSchema = exports.zTaskCreatorSchema = exports.zTaskOnFailureSchema = exports.zTaskAutoSpecSchema = exports.zTaskDedupSchema = exports.zTaskRetryPolicySchema = exports.zTaskLockSchema = exports.zTaskUserAssigneeSchema = exports.zTaskScheduleSchema = exports.zTaskExternalLinkSchema = exports.zTaskExecutionStatusSchema = exports.zTaskExternalObjectTypeSchema = exports.zTaskDedupWindowSchema = exports.zTaskDedupScopeSchema = exports.zTaskRetryStrategySchema = exports.zTaskAutoHandlerSchema = exports.zTaskModeSchema = exports.zTaskSourceSchema = exports.zTaskPrioritySchema = exports.zTaskStatusSchema = exports.zTaskActionSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const zod_schemas_1 = require("../shared/zod-schemas");
6
6
  exports.zTaskActionSchema = zod_1.z.enum([
@@ -12,10 +12,28 @@ exports.zTaskStatusSchema = zod_1.z.enum([
12
12
  "not_started",
13
13
  "in_progress",
14
14
  "completed",
15
+ "failed",
15
16
  "cancelled",
16
17
  "on_hold",
18
+ "suppressed",
17
19
  ]);
18
20
  exports.zTaskPrioritySchema = zod_1.z.enum(["low", "medium", "high"]);
21
+ exports.zTaskSourceSchema = zod_1.z.enum(["user", "automation_hub", "system"]);
22
+ exports.zTaskModeSchema = zod_1.z.enum(["human", "auto"]);
23
+ exports.zTaskAutoHandlerSchema = zod_1.z.enum([
24
+ "notifications",
25
+ "ai_agent",
26
+ "invoices",
27
+ "webhook",
28
+ "custom",
29
+ ]);
30
+ exports.zTaskRetryStrategySchema = zod_1.z.enum(["fixed", "exponential"]);
31
+ exports.zTaskDedupScopeSchema = zod_1.z.enum([
32
+ "per_recipient",
33
+ "per_recipient_and_object",
34
+ "custom",
35
+ ]);
36
+ exports.zTaskDedupWindowSchema = zod_1.z.enum(["same_day", "n_hours", "custom"]);
19
37
  exports.zTaskExternalObjectTypeSchema = zod_1.z.enum([
20
38
  "crm_lead",
21
39
  "med_patient",
@@ -23,72 +41,163 @@ exports.zTaskExternalObjectTypeSchema = zod_1.z.enum([
23
41
  "med_appointment",
24
42
  "chat_contact",
25
43
  ]);
26
- exports.zIATaskTypeSchema = zod_1.z.enum([
27
- "data_analysis",
28
- "content_generation",
29
- "classification",
30
- "extraction",
31
- "summarization",
32
- "translation",
33
- "sentiment_analysis",
34
- "question_answering",
35
- "send_reminder",
36
- "request_contact_info",
37
- "request_operator_info",
38
- "confirm_appointment",
39
- "send_documents",
40
- "create_appointment",
41
- "reschedule_appointment",
42
- "cancel_appointment",
43
- "financial_charge",
44
- "custom",
45
- ]);
46
- // Schema para a interface ITaskExternalLink
44
+ exports.zTaskExecutionStatusSchema = zod_1.z.enum(["success", "error", "retry"]);
45
+ // Schema para ITaskExternalLink
47
46
  exports.zTaskExternalLinkSchema = zod_1.z.object({
48
47
  type: exports.zTaskExternalObjectTypeSchema,
49
48
  id: zod_1.z.string(),
49
+ label: zod_1.z.string().optional(),
50
+ });
51
+ // Schema para ITaskSchedule
52
+ exports.zTaskScheduleSchema = zod_1.z.object({
53
+ execute_at: zod_1.z.coerce.date().optional(),
54
+ due_at: zod_1.z.coerce.date().optional(),
55
+ timezone: zod_1.z.string().optional(),
56
+ });
57
+ // Schema para ITaskUserAssignee
58
+ exports.zTaskUserAssigneeSchema = zod_1.z.object({
59
+ kind: zod_1.z.literal("user"),
60
+ name: zod_1.z.string().optional(),
61
+ ref: zod_1.z.any().optional(), // FirestoreDocumentReference
62
+ });
63
+ // Schema para ITaskLock
64
+ exports.zTaskLockSchema = zod_1.z.object({
65
+ locked_by: zod_1.z.string(),
66
+ lock_until: zod_1.z.coerce.date(),
67
+ });
68
+ // Schema para ITaskRetryPolicy
69
+ exports.zTaskRetryPolicySchema = zod_1.z.object({
70
+ max_attempts: zod_1.z.number(),
71
+ attempt: zod_1.z.number(),
72
+ strategy: exports.zTaskRetryStrategySchema,
73
+ backoff_seconds: zod_1.z.number(),
74
+ next_attempt_at: zod_1.z.coerce.date().optional(),
75
+ last_error: zod_1.z
76
+ .object({
77
+ message: zod_1.z.string(),
78
+ code: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(),
79
+ at: zod_1.z.coerce.date(),
80
+ details: zod_1.z.record(zod_1.z.unknown()).optional(),
81
+ })
82
+ .optional(),
83
+ });
84
+ // Schema para ITaskDedup
85
+ exports.zTaskDedupSchema = zod_1.z.object({
86
+ enabled: zod_1.z.boolean(),
87
+ key: zod_1.z.string(),
88
+ group_key: zod_1.z.string().optional(),
89
+ scope: exports.zTaskDedupScopeSchema.optional(),
90
+ window: exports.zTaskDedupWindowSchema.optional(),
91
+ window_hours: zod_1.z.number().optional(),
92
+ importance: zod_1.z.number().optional(),
93
+ });
94
+ // Schema para ITaskAutoSpec
95
+ exports.zTaskAutoSpecSchema = zod_1.z.object({
96
+ handler: exports.zTaskAutoHandlerSchema,
97
+ kind: zod_1.z.string(),
98
+ version: zod_1.z.union([zod_1.z.number(), zod_1.z.string()]).optional(),
99
+ payload: zod_1.z.record(zod_1.z.unknown()),
100
+ idempotency_key: zod_1.z.string().optional(),
101
+ });
102
+ // Schema para ITaskOnFailure
103
+ exports.zTaskOnFailureSchema = zod_1.z.object({
104
+ handoff_to_user: zod_1.z
105
+ .object({
106
+ name: zod_1.z.string().optional(),
107
+ ref: zod_1.z.any().optional(), // FirestoreDocumentReference
108
+ })
109
+ .optional(),
110
+ create_handoff_task: zod_1.z
111
+ .object({
112
+ title: zod_1.z.string().optional(),
113
+ description: zod_1.z.string().optional(),
114
+ priority: exports.zTaskPrioritySchema.optional(),
115
+ tags: zod_1.z.array(zod_schemas_1.zTagSchema).nullable().optional(),
116
+ })
117
+ .optional(),
118
+ auto_fallbacks: zod_1.z
119
+ .array(zod_1.z.object({
120
+ handler: exports.zTaskAutoHandlerSchema,
121
+ kind: zod_1.z.string(),
122
+ payload: zod_1.z.record(zod_1.z.unknown()),
123
+ }))
124
+ .optional(),
50
125
  });
51
- // Schema para a interface ITask
126
+ // Schema para creator object
127
+ exports.zTaskCreatorSchema = zod_1.z.object({
128
+ name: zod_1.z.string(),
129
+ ref: zod_1.z.any().optional(), // FirestoreDocumentReference
130
+ });
131
+ // Schema para ITaskBase / ITask
52
132
  exports.zTaskSchema = zod_schemas_1.zFireDocSchema
53
133
  .extend({
54
134
  title: zod_1.z.string(),
55
135
  description: zod_1.z.string().optional(),
56
- creatorName: zod_1.z.string(),
57
- creatorRef: zod_1.z.any().optional(),
58
- startDate: zod_1.z.coerce.date(),
59
- dueDate: zod_1.z.coerce.date().optional(),
60
136
  status: exports.zTaskStatusSchema,
61
137
  priority: exports.zTaskPrioritySchema.optional(),
62
- assigneeName: zod_1.z.string().optional(),
63
- assigneeRef: zod_1.z.any().optional(),
138
+ importance: zod_1.z.number().min(0).max(100).optional(),
139
+ source: exports.zTaskSourceSchema,
140
+ creator: exports.zTaskCreatorSchema,
141
+ schedule: exports.zTaskScheduleSchema.optional(),
64
142
  tags: zod_1.z.array(zod_schemas_1.zTagSchema).nullable().optional(),
65
- // IA (Inteligência Artificial) related fields
66
- ia_assigned: zod_1.z.boolean().optional(),
67
- ia_agent: zod_1.z.string().optional(),
68
- ia_duescheduled: zod_1.z.coerce.date().optional(),
69
- ia_task_type: exports.zIATaskTypeSchema.optional(),
70
- ia_result: zod_1.z.string().optional(),
71
- ia_result_code: zod_1.z.number().optional(),
72
- ia_started_at: zod_1.z.coerce.date().optional(),
73
- ia_completed_at: zod_1.z.coerce.date().optional(),
74
- ia_error: zod_1.z.string().optional(),
75
- ia_retry_count: zod_1.z.number().optional(),
76
- ia_metadata: zod_1.z.record(zod_1.z.unknown()).optional(),
77
- ia_prompt: zod_1.z.string().optional(),
78
- ia_model: zod_1.z.string().optional(),
79
- ia_progress: zod_1.z.number().min(0).max(100).optional(),
80
- // External object links
81
143
  externalLinks: zod_1.z.array(exports.zTaskExternalLinkSchema).optional(),
144
+ idempotency_key: zod_1.z.string().optional(),
145
+ dedup: exports.zTaskDedupSchema.optional(),
146
+ metadata: zod_1.z.record(zod_1.z.unknown()).optional(),
147
+ // Mode-specific fields
148
+ mode: exports.zTaskModeSchema,
149
+ assignee: exports.zTaskUserAssigneeSchema.optional(), // for human tasks
150
+ lock: exports.zTaskLockSchema.optional(), // for auto tasks
151
+ retry: exports.zTaskRetryPolicySchema.optional(), // for auto tasks
152
+ on_failure: exports.zTaskOnFailureSchema.optional(), // for auto tasks
153
+ auto: exports.zTaskAutoSpecSchema.optional(), // for auto tasks (required when mode=auto)
82
154
  })
83
155
  .passthrough();
84
- // Schema para a interface ITaskComment
156
+ // Schema para ITaskComment
157
+ exports.zTaskCommentAuthorSchema = zod_1.z.object({
158
+ name: zod_1.z.string(),
159
+ ref: zod_1.z.any().optional(), // FirestoreDocumentReference
160
+ });
85
161
  exports.zTaskCommentSchema = zod_schemas_1.zFireDocSchema
86
162
  .extend({
87
163
  taskId: zod_1.z.string(),
88
164
  text: zod_1.z.string(),
89
- authorName: zod_1.z.string(),
90
- authorRef: zod_1.z.any().optional(),
165
+ author: exports.zTaskCommentAuthorSchema,
91
166
  edited: zod_1.z.boolean().optional(),
92
167
  edited_at: zod_1.z.coerce.date().optional(),
93
168
  })
94
169
  .passthrough();
170
+ // Schema para ITaskExecution
171
+ exports.zTaskExecutionErrorSchema = zod_1.z.object({
172
+ message: zod_1.z.string(),
173
+ code: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(),
174
+ details: zod_1.z.record(zod_1.z.unknown()).optional(),
175
+ });
176
+ exports.zTaskExecutionProviderSchema = zod_1.z.object({
177
+ name: zod_1.z.string().optional(),
178
+ message_id: zod_1.z.string().optional(),
179
+ });
180
+ exports.zTaskExecutionSchema = zod_schemas_1.zFireDocSchema
181
+ .extend({
182
+ taskId: zod_1.z.string(),
183
+ handler: exports.zTaskAutoHandlerSchema,
184
+ kind: zod_1.z.string(),
185
+ status: exports.zTaskExecutionStatusSchema,
186
+ attempt: zod_1.z.number(),
187
+ started_at: zod_1.z.coerce.date(),
188
+ completed_at: zod_1.z.coerce.date().optional(),
189
+ result: zod_1.z.record(zod_1.z.unknown()).optional(),
190
+ error: exports.zTaskExecutionErrorSchema.optional(),
191
+ provider: exports.zTaskExecutionProviderSchema.optional(),
192
+ })
193
+ .passthrough();
194
+ // Schema para ITaskLog
195
+ exports.zTaskLogSchema = zod_schemas_1.zFireDocSchema
196
+ .extend({
197
+ taskId: zod_1.z.string(),
198
+ level: zod_1.z.enum(["debug", "info", "warn", "error"]),
199
+ message: zod_1.z.string(),
200
+ data: zod_1.z.record(zod_1.z.unknown()).optional(),
201
+ at: zod_1.z.coerce.date(),
202
+ })
203
+ .passthrough();
@@ -11,12 +11,36 @@ export const zTaskStatusSchema = z.enum([
11
11
  "not_started",
12
12
  "in_progress",
13
13
  "completed",
14
+ "failed",
14
15
  "cancelled",
15
16
  "on_hold",
17
+ "suppressed",
16
18
  ]);
17
19
 
18
20
  export const zTaskPrioritySchema = z.enum(["low", "medium", "high"]);
19
21
 
22
+ export const zTaskSourceSchema = z.enum(["user", "automation_hub", "system"]);
23
+
24
+ export const zTaskModeSchema = z.enum(["human", "auto"]);
25
+
26
+ export const zTaskAutoHandlerSchema = z.enum([
27
+ "notifications",
28
+ "ai_agent",
29
+ "invoices",
30
+ "webhook",
31
+ "custom",
32
+ ]);
33
+
34
+ export const zTaskRetryStrategySchema = z.enum(["fixed", "exponential"]);
35
+
36
+ export const zTaskDedupScopeSchema = z.enum([
37
+ "per_recipient",
38
+ "per_recipient_and_object",
39
+ "custom",
40
+ ]);
41
+
42
+ export const zTaskDedupWindowSchema = z.enum(["same_day", "n_hours", "custom"]);
43
+
20
44
  export const zTaskExternalObjectTypeSchema = z.enum([
21
45
  "crm_lead",
22
46
  "med_patient",
@@ -25,75 +49,181 @@ export const zTaskExternalObjectTypeSchema = z.enum([
25
49
  "chat_contact",
26
50
  ]);
27
51
 
28
- export const zIATaskTypeSchema = z.enum([
29
- "data_analysis",
30
- "content_generation",
31
- "classification",
32
- "extraction",
33
- "summarization",
34
- "translation",
35
- "sentiment_analysis",
36
- "question_answering",
37
- "send_reminder",
38
- "request_contact_info",
39
- "request_operator_info",
40
- "confirm_appointment",
41
- "send_documents",
42
- "create_appointment",
43
- "reschedule_appointment",
44
- "cancel_appointment",
45
- "financial_charge",
46
- "custom",
47
- ]);
52
+ export const zTaskExecutionStatusSchema = z.enum(["success", "error", "retry"]);
48
53
 
49
- // Schema para a interface ITaskExternalLink
54
+ // Schema para ITaskExternalLink
50
55
  export const zTaskExternalLinkSchema = z.object({
51
56
  type: zTaskExternalObjectTypeSchema,
52
57
  id: z.string(),
58
+ label: z.string().optional(),
59
+ });
60
+
61
+ // Schema para ITaskSchedule
62
+ export const zTaskScheduleSchema = z.object({
63
+ execute_at: z.coerce.date().optional(),
64
+ due_at: z.coerce.date().optional(),
65
+ timezone: z.string().optional(),
66
+ });
67
+
68
+ // Schema para ITaskUserAssignee
69
+ export const zTaskUserAssigneeSchema = z.object({
70
+ kind: z.literal("user"),
71
+ name: z.string().optional(),
72
+ ref: z.any().optional(), // FirestoreDocumentReference
73
+ });
74
+
75
+ // Schema para ITaskLock
76
+ export const zTaskLockSchema = z.object({
77
+ locked_by: z.string(),
78
+ lock_until: z.coerce.date(),
79
+ });
80
+
81
+ // Schema para ITaskRetryPolicy
82
+ export const zTaskRetryPolicySchema = z.object({
83
+ max_attempts: z.number(),
84
+ attempt: z.number(),
85
+ strategy: zTaskRetryStrategySchema,
86
+ backoff_seconds: z.number(),
87
+ next_attempt_at: z.coerce.date().optional(),
88
+ last_error: z
89
+ .object({
90
+ message: z.string(),
91
+ code: z.union([z.string(), z.number()]).optional(),
92
+ at: z.coerce.date(),
93
+ details: z.record(z.unknown()).optional(),
94
+ })
95
+ .optional(),
96
+ });
97
+
98
+ // Schema para ITaskDedup
99
+ export const zTaskDedupSchema = z.object({
100
+ enabled: z.boolean(),
101
+ key: z.string(),
102
+ group_key: z.string().optional(),
103
+ scope: zTaskDedupScopeSchema.optional(),
104
+ window: zTaskDedupWindowSchema.optional(),
105
+ window_hours: z.number().optional(),
106
+ importance: z.number().optional(),
53
107
  });
54
108
 
55
- // Schema para a interface ITask
109
+ // Schema para ITaskAutoSpec
110
+ export const zTaskAutoSpecSchema = z.object({
111
+ handler: zTaskAutoHandlerSchema,
112
+ kind: z.string(),
113
+ version: z.union([z.number(), z.string()]).optional(),
114
+ payload: z.record(z.unknown()),
115
+ idempotency_key: z.string().optional(),
116
+ });
117
+
118
+ // Schema para ITaskOnFailure
119
+ export const zTaskOnFailureSchema = z.object({
120
+ handoff_to_user: z
121
+ .object({
122
+ name: z.string().optional(),
123
+ ref: z.any().optional(), // FirestoreDocumentReference
124
+ })
125
+ .optional(),
126
+ create_handoff_task: z
127
+ .object({
128
+ title: z.string().optional(),
129
+ description: z.string().optional(),
130
+ priority: zTaskPrioritySchema.optional(),
131
+ tags: z.array(zTagSchema).nullable().optional(),
132
+ })
133
+ .optional(),
134
+ auto_fallbacks: z
135
+ .array(
136
+ z.object({
137
+ handler: zTaskAutoHandlerSchema,
138
+ kind: z.string(),
139
+ payload: z.record(z.unknown()),
140
+ })
141
+ )
142
+ .optional(),
143
+ });
144
+
145
+ // Schema para creator object
146
+ export const zTaskCreatorSchema = z.object({
147
+ name: z.string(),
148
+ ref: z.any().optional(), // FirestoreDocumentReference
149
+ });
150
+
151
+ // Schema para ITaskBase / ITask
56
152
  export const zTaskSchema = zFireDocSchema
57
153
  .extend({
58
154
  title: z.string(),
59
155
  description: z.string().optional(),
60
- creatorName: z.string(),
61
- creatorRef: z.any().optional(),
62
- startDate: z.coerce.date(),
63
- dueDate: z.coerce.date().optional(),
64
156
  status: zTaskStatusSchema,
65
157
  priority: zTaskPrioritySchema.optional(),
66
- assigneeName: z.string().optional(),
67
- assigneeRef: z.any().optional(),
158
+ importance: z.number().min(0).max(100).optional(),
159
+ source: zTaskSourceSchema,
160
+ creator: zTaskCreatorSchema,
161
+ schedule: zTaskScheduleSchema.optional(),
68
162
  tags: z.array(zTagSchema).nullable().optional(),
69
- // IA (Inteligência Artificial) related fields
70
- ia_assigned: z.boolean().optional(),
71
- ia_agent: z.string().optional(),
72
- ia_duescheduled: z.coerce.date().optional(),
73
- ia_task_type: zIATaskTypeSchema.optional(),
74
- ia_result: z.string().optional(),
75
- ia_result_code: z.number().optional(),
76
- ia_started_at: z.coerce.date().optional(),
77
- ia_completed_at: z.coerce.date().optional(),
78
- ia_error: z.string().optional(),
79
- ia_retry_count: z.number().optional(),
80
- ia_metadata: z.record(z.unknown()).optional(),
81
- ia_prompt: z.string().optional(),
82
- ia_model: z.string().optional(),
83
- ia_progress: z.number().min(0).max(100).optional(),
84
- // External object links
85
163
  externalLinks: z.array(zTaskExternalLinkSchema).optional(),
164
+ idempotency_key: z.string().optional(),
165
+ dedup: zTaskDedupSchema.optional(),
166
+ metadata: z.record(z.unknown()).optional(),
167
+ // Mode-specific fields
168
+ mode: zTaskModeSchema,
169
+ assignee: zTaskUserAssigneeSchema.optional(), // for human tasks
170
+ lock: zTaskLockSchema.optional(), // for auto tasks
171
+ retry: zTaskRetryPolicySchema.optional(), // for auto tasks
172
+ on_failure: zTaskOnFailureSchema.optional(), // for auto tasks
173
+ auto: zTaskAutoSpecSchema.optional(), // for auto tasks (required when mode=auto)
86
174
  })
87
175
  .passthrough();
88
176
 
89
- // Schema para a interface ITaskComment
177
+ // Schema para ITaskComment
178
+ export const zTaskCommentAuthorSchema = z.object({
179
+ name: z.string(),
180
+ ref: z.any().optional(), // FirestoreDocumentReference
181
+ });
182
+
90
183
  export const zTaskCommentSchema = zFireDocSchema
91
184
  .extend({
92
185
  taskId: z.string(),
93
186
  text: z.string(),
94
- authorName: z.string(),
95
- authorRef: z.any().optional(),
187
+ author: zTaskCommentAuthorSchema,
96
188
  edited: z.boolean().optional(),
97
189
  edited_at: z.coerce.date().optional(),
98
190
  })
99
191
  .passthrough();
192
+
193
+ // Schema para ITaskExecution
194
+ export const zTaskExecutionErrorSchema = z.object({
195
+ message: z.string(),
196
+ code: z.union([z.string(), z.number()]).optional(),
197
+ details: z.record(z.unknown()).optional(),
198
+ });
199
+
200
+ export const zTaskExecutionProviderSchema = z.object({
201
+ name: z.string().optional(),
202
+ message_id: z.string().optional(),
203
+ });
204
+
205
+ export const zTaskExecutionSchema = zFireDocSchema
206
+ .extend({
207
+ taskId: z.string(),
208
+ handler: zTaskAutoHandlerSchema,
209
+ kind: z.string(),
210
+ status: zTaskExecutionStatusSchema,
211
+ attempt: z.number(),
212
+ started_at: z.coerce.date(),
213
+ completed_at: z.coerce.date().optional(),
214
+ result: z.record(z.unknown()).optional(),
215
+ error: zTaskExecutionErrorSchema.optional(),
216
+ provider: zTaskExecutionProviderSchema.optional(),
217
+ })
218
+ .passthrough();
219
+
220
+ // Schema para ITaskLog
221
+ export const zTaskLogSchema = zFireDocSchema
222
+ .extend({
223
+ taskId: z.string(),
224
+ level: z.enum(["debug", "info", "warn", "error"]),
225
+ message: z.string(),
226
+ data: z.record(z.unknown()).optional(),
227
+ at: z.coerce.date(),
228
+ })
229
+ .passthrough();
@@ -66,6 +66,14 @@ export interface ITemplateButtonPayload {
66
66
  index: number;
67
67
  payload: string;
68
68
  }
69
+ /**
70
+ * Mídia para o HEADER do template (imagem, vídeo ou documento)
71
+ */
72
+ export interface ITemplateHeaderMedia {
73
+ type: 'image' | 'video' | 'document';
74
+ link: string;
75
+ filename?: string;
76
+ }
69
77
  /**
70
78
  * Requisição para envio de mensagem de texto simples
71
79
  */
@@ -92,6 +100,7 @@ export interface ISendTemplateMessageRequest {
92
100
  template_language?: string;
93
101
  waba_id?: string;
94
102
  variables?: ITemplateVariable[];
103
+ header_media?: ITemplateHeaderMedia;
95
104
  button_payloads?: ITemplateButtonPayload[];
96
105
  }
97
106
  /**
@@ -87,6 +87,15 @@ export interface ITemplateButtonPayload {
87
87
  payload: string;
88
88
  }
89
89
 
90
+ /**
91
+ * Mídia para o HEADER do template (imagem, vídeo ou documento)
92
+ */
93
+ export interface ITemplateHeaderMedia {
94
+ type: 'image' | 'video' | 'document';
95
+ link: string;
96
+ filename?: string; // obrigatório apenas para documentos
97
+ }
98
+
90
99
  /**
91
100
  * Requisição para envio de mensagem de texto simples
92
101
  */
@@ -113,7 +122,8 @@ export interface ISendTemplateMessageRequest {
113
122
  template_name: string;
114
123
  template_language?: string; // padrão: 'pt_BR'
115
124
  waba_id?: string; // opcional, será obtido do canal se não fornecido
116
- variables?: ITemplateVariable[]; // variáveis para o BODY
125
+ variables?: ITemplateVariable[]; // variáveis para o BODY e HEADER (se aplicável)
126
+ header_media?: ITemplateHeaderMedia; // mídia para o HEADER (imagem, vídeo ou documento)
117
127
  button_payloads?: ITemplateButtonPayload[]; // payloads para botões QUICK_REPLY
118
128
  }
119
129
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evo360-types",
3
- "version": "1.3.144",
3
+ "version": "1.3.146",
4
4
  "description": "HREVO360 Shared Types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",