evo360-types 1.3.309 → 1.3.314

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.
Files changed (41) hide show
  1. package/dist/apps/evo-activity/zod-schemas.d.ts +6 -6
  2. package/dist/apps/evo-chat/contact/zod-schemas.d.ts +6 -6
  3. package/dist/apps/evo-chat/message/zod-schemas.d.ts +6 -6
  4. package/dist/apps/evo-chat/quick-reply/zod-schemas.d.ts +1204 -0
  5. package/dist/apps/evo-chat/quick-reply/zod-schemas.js +67 -0
  6. package/dist/apps/evo-chat/quick-reply/zod-schemas.ts +70 -0
  7. package/dist/apps/evo-chat/waba-template/zod-schemas.d.ts +1557 -0
  8. package/dist/apps/evo-chat/waba-template/zod-schemas.js +55 -0
  9. package/dist/apps/evo-chat/waba-template/zod-schemas.ts +57 -0
  10. package/dist/apps/evo-crm/dic/zod-schemas.d.ts +18 -18
  11. package/dist/apps/evo-crm/lead/zod-schemas.d.ts +6 -6
  12. package/dist/apps/evo-med/appointment/zod-schemas.d.ts +6 -6
  13. package/dist/apps/evo-med/calendar/zod-schemas.d.ts +6 -6
  14. package/dist/apps/evo-med/dic/zod-schemas.d.ts +6 -6
  15. package/dist/apps/evo-med/insurance/zod-schemas.d.ts +6 -6
  16. package/dist/apps/evo-med/people/zod-schemas.d.ts +12 -12
  17. package/dist/apps/evo-med/procedure/zod-schemas.d.ts +12 -12
  18. package/dist/apps/evo-people/zod-schemas.d.ts +30 -24
  19. package/dist/apps/evo-people/zod-schemas.js +2 -0
  20. package/dist/apps/evo-people/zod-schemas.ts +2 -0
  21. package/dist/apps/evo-survey/zod-schemas.d.ts +58 -58
  22. package/dist/apps/evo-task/zod-schemas.d.ts +54 -54
  23. package/dist/apps/shared/zod-schemas.d.ts +2 -2
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.js +2 -0
  26. package/dist/index.ts +2 -0
  27. package/dist/types/evo-chat/fb_collections.d.ts +4 -0
  28. package/dist/types/evo-chat/fb_collections.js +6 -1
  29. package/dist/types/evo-chat/fb_collections.ts +6 -0
  30. package/dist/types/evo-chat/index.d.ts +2 -0
  31. package/dist/types/evo-chat/index.js +2 -0
  32. package/dist/types/evo-chat/index.ts +2 -0
  33. package/dist/types/evo-chat/quick-reply/index.d.ts +43 -0
  34. package/dist/types/evo-chat/quick-reply/index.js +2 -0
  35. package/dist/types/evo-chat/quick-reply/index.ts +49 -0
  36. package/dist/types/evo-chat/waba-template/index.d.ts +93 -0
  37. package/dist/types/evo-chat/waba-template/index.js +39 -0
  38. package/dist/types/evo-chat/waba-template/index.ts +108 -0
  39. package/dist/types/evo-people/index.d.ts +4 -0
  40. package/dist/types/evo-people/index.ts +5 -0
  41. package/package.json +1 -1
@@ -0,0 +1,49 @@
1
+ import { IFireDoc } from '../../shared';
2
+
3
+ export type QuickReplyType = 'text' | 'image' | 'audio' | 'video' | 'document' | 'location' | 'contacts';
4
+ export type QuickReplyStatus = 'active' | 'paused';
5
+
6
+ export interface IQuickReplyMedia {
7
+ gcs_uri: string;
8
+ mime_type: string;
9
+ filename?: string;
10
+ caption?: string;
11
+ }
12
+
13
+ export interface IQuickReplyLocation {
14
+ latitude: number;
15
+ longitude: number;
16
+ name?: string;
17
+ address?: string;
18
+ }
19
+
20
+ export interface IQuickReplyContact {
21
+ name: { formatted_name: string; first_name?: string; last_name?: string };
22
+ phones?: Array<{ phone: string; type?: string }>;
23
+ }
24
+
25
+ export interface IQuickReply extends IFireDoc {
26
+ model_ver: number;
27
+
28
+ // Identificacao
29
+ title: string;
30
+ shortcut?: string;
31
+
32
+ // Conteudo
33
+ type: QuickReplyType;
34
+ body?: { text: string };
35
+ media?: IQuickReplyMedia;
36
+ location?: IQuickReplyLocation;
37
+ contacts_payload?: IQuickReplyContact[];
38
+
39
+ // Disponibilidade por departamento
40
+ department_ids: string[] | 'all';
41
+
42
+ // Status
43
+ status: QuickReplyStatus;
44
+
45
+ // Metadata
46
+ usage_count?: number;
47
+ last_used_at?: Date | null;
48
+ created_by?: string;
49
+ }
@@ -0,0 +1,93 @@
1
+ import { IFireDoc } from '../../shared';
2
+ export declare const WabaTemplateStatusEnum: {
3
+ readonly Draft: "DRAFT";
4
+ readonly Approved: "APPROVED";
5
+ readonly Pending: "PENDING";
6
+ readonly Rejected: "REJECTED";
7
+ readonly Disabled: "DISABLED";
8
+ readonly Paused: "PAUSED";
9
+ };
10
+ export type WabaTemplateStatus = (typeof WabaTemplateStatusEnum)[keyof typeof WabaTemplateStatusEnum];
11
+ export declare const WabaTemplateCategoryEnum: {
12
+ readonly Authentication: "AUTHENTICATION";
13
+ readonly Marketing: "MARKETING";
14
+ readonly Utility: "UTILITY";
15
+ };
16
+ export type WabaTemplateCategory = (typeof WabaTemplateCategoryEnum)[keyof typeof WabaTemplateCategoryEnum];
17
+ export declare const WabaTemplateComponentTypeEnum: {
18
+ readonly Header: "HEADER";
19
+ readonly Body: "BODY";
20
+ readonly Footer: "FOOTER";
21
+ readonly Buttons: "BUTTONS";
22
+ };
23
+ export type WabaTemplateComponentType = (typeof WabaTemplateComponentTypeEnum)[keyof typeof WabaTemplateComponentTypeEnum];
24
+ export declare const WabaTemplateHeaderFormatEnum: {
25
+ readonly Text: "TEXT";
26
+ readonly Image: "IMAGE";
27
+ readonly Video: "VIDEO";
28
+ readonly Document: "DOCUMENT";
29
+ readonly Location: "LOCATION";
30
+ };
31
+ export type WabaTemplateHeaderFormat = (typeof WabaTemplateHeaderFormatEnum)[keyof typeof WabaTemplateHeaderFormatEnum];
32
+ export declare const WabaTemplateButtonTypeEnum: {
33
+ readonly QuickReply: "QUICK_REPLY";
34
+ readonly Url: "URL";
35
+ readonly PhoneNumber: "PHONE_NUMBER";
36
+ };
37
+ export type WabaTemplateButtonType = (typeof WabaTemplateButtonTypeEnum)[keyof typeof WabaTemplateButtonTypeEnum];
38
+ export declare const WabaTemplateParameterFormatEnum: {
39
+ readonly Named: "NAMED";
40
+ readonly Positional: "POSITIONAL";
41
+ };
42
+ export type WabaTemplateParameterFormat = (typeof WabaTemplateParameterFormatEnum)[keyof typeof WabaTemplateParameterFormatEnum];
43
+ export interface IWabaTemplateButton {
44
+ type: WabaTemplateButtonType;
45
+ text: string;
46
+ url?: string;
47
+ phone_number?: string;
48
+ example?: string[];
49
+ }
50
+ export interface IWabaTemplateComponent {
51
+ type: WabaTemplateComponentType;
52
+ format?: WabaTemplateHeaderFormat;
53
+ text?: string;
54
+ buttons?: IWabaTemplateButton[];
55
+ example?: {
56
+ header_text?: string[];
57
+ header_handle?: string[];
58
+ body_text?: string[][];
59
+ body_text_named_params?: Array<{
60
+ param_name: string;
61
+ example: string;
62
+ }>;
63
+ };
64
+ }
65
+ export interface IWabaTemplateDraftSource {
66
+ meta_id: string;
67
+ name: string;
68
+ }
69
+ export interface IWabaTemplate extends IFireDoc {
70
+ meta_id?: string;
71
+ name: string;
72
+ status: WabaTemplateStatus;
73
+ category: WabaTemplateCategory;
74
+ language: string;
75
+ components: IWabaTemplateComponent[];
76
+ parameter_format?: WabaTemplateParameterFormat;
77
+ quality_score?: {
78
+ score: string;
79
+ date: number;
80
+ };
81
+ rejected_reason?: string;
82
+ waba_id: string;
83
+ synced_at?: Date | null;
84
+ is_draft: boolean;
85
+ draft_source?: IWabaTemplateDraftSource;
86
+ }
87
+ export interface IWabaTemplateCreateRequest {
88
+ name: string;
89
+ category: WabaTemplateCategory;
90
+ language: string;
91
+ parameter_format?: WabaTemplateParameterFormat;
92
+ components: IWabaTemplateComponent[];
93
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WabaTemplateParameterFormatEnum = exports.WabaTemplateButtonTypeEnum = exports.WabaTemplateHeaderFormatEnum = exports.WabaTemplateComponentTypeEnum = exports.WabaTemplateCategoryEnum = exports.WabaTemplateStatusEnum = void 0;
4
+ // ── Enums ──
5
+ exports.WabaTemplateStatusEnum = {
6
+ Draft: 'DRAFT',
7
+ Approved: 'APPROVED',
8
+ Pending: 'PENDING',
9
+ Rejected: 'REJECTED',
10
+ Disabled: 'DISABLED',
11
+ Paused: 'PAUSED',
12
+ };
13
+ exports.WabaTemplateCategoryEnum = {
14
+ Authentication: 'AUTHENTICATION',
15
+ Marketing: 'MARKETING',
16
+ Utility: 'UTILITY',
17
+ };
18
+ exports.WabaTemplateComponentTypeEnum = {
19
+ Header: 'HEADER',
20
+ Body: 'BODY',
21
+ Footer: 'FOOTER',
22
+ Buttons: 'BUTTONS',
23
+ };
24
+ exports.WabaTemplateHeaderFormatEnum = {
25
+ Text: 'TEXT',
26
+ Image: 'IMAGE',
27
+ Video: 'VIDEO',
28
+ Document: 'DOCUMENT',
29
+ Location: 'LOCATION',
30
+ };
31
+ exports.WabaTemplateButtonTypeEnum = {
32
+ QuickReply: 'QUICK_REPLY',
33
+ Url: 'URL',
34
+ PhoneNumber: 'PHONE_NUMBER',
35
+ };
36
+ exports.WabaTemplateParameterFormatEnum = {
37
+ Named: 'NAMED',
38
+ Positional: 'POSITIONAL',
39
+ };
@@ -0,0 +1,108 @@
1
+ import { IFireDoc } from '../../shared';
2
+
3
+ // ── Enums ──
4
+
5
+ export const WabaTemplateStatusEnum = {
6
+ Draft: 'DRAFT',
7
+ Approved: 'APPROVED',
8
+ Pending: 'PENDING',
9
+ Rejected: 'REJECTED',
10
+ Disabled: 'DISABLED',
11
+ Paused: 'PAUSED',
12
+ } as const;
13
+ export type WabaTemplateStatus = (typeof WabaTemplateStatusEnum)[keyof typeof WabaTemplateStatusEnum];
14
+
15
+ export const WabaTemplateCategoryEnum = {
16
+ Authentication: 'AUTHENTICATION',
17
+ Marketing: 'MARKETING',
18
+ Utility: 'UTILITY',
19
+ } as const;
20
+ export type WabaTemplateCategory = (typeof WabaTemplateCategoryEnum)[keyof typeof WabaTemplateCategoryEnum];
21
+
22
+ export const WabaTemplateComponentTypeEnum = {
23
+ Header: 'HEADER',
24
+ Body: 'BODY',
25
+ Footer: 'FOOTER',
26
+ Buttons: 'BUTTONS',
27
+ } as const;
28
+ export type WabaTemplateComponentType = (typeof WabaTemplateComponentTypeEnum)[keyof typeof WabaTemplateComponentTypeEnum];
29
+
30
+ export const WabaTemplateHeaderFormatEnum = {
31
+ Text: 'TEXT',
32
+ Image: 'IMAGE',
33
+ Video: 'VIDEO',
34
+ Document: 'DOCUMENT',
35
+ Location: 'LOCATION',
36
+ } as const;
37
+ export type WabaTemplateHeaderFormat = (typeof WabaTemplateHeaderFormatEnum)[keyof typeof WabaTemplateHeaderFormatEnum];
38
+
39
+ export const WabaTemplateButtonTypeEnum = {
40
+ QuickReply: 'QUICK_REPLY',
41
+ Url: 'URL',
42
+ PhoneNumber: 'PHONE_NUMBER',
43
+ } as const;
44
+ export type WabaTemplateButtonType = (typeof WabaTemplateButtonTypeEnum)[keyof typeof WabaTemplateButtonTypeEnum];
45
+
46
+ export const WabaTemplateParameterFormatEnum = {
47
+ Named: 'NAMED',
48
+ Positional: 'POSITIONAL',
49
+ } as const;
50
+ export type WabaTemplateParameterFormat = (typeof WabaTemplateParameterFormatEnum)[keyof typeof WabaTemplateParameterFormatEnum];
51
+
52
+ // ── Component types ──
53
+
54
+ export interface IWabaTemplateButton {
55
+ type: WabaTemplateButtonType;
56
+ text: string;
57
+ url?: string;
58
+ phone_number?: string;
59
+ example?: string[];
60
+ }
61
+
62
+ export interface IWabaTemplateComponent {
63
+ type: WabaTemplateComponentType;
64
+ format?: WabaTemplateHeaderFormat;
65
+ text?: string;
66
+ buttons?: IWabaTemplateButton[];
67
+ example?: {
68
+ header_text?: string[];
69
+ header_handle?: string[];
70
+ body_text?: string[][];
71
+ body_text_named_params?: Array<{ param_name: string; example: string }>;
72
+ };
73
+ }
74
+
75
+ // ── Draft source ──
76
+
77
+ export interface IWabaTemplateDraftSource {
78
+ meta_id: string;
79
+ name: string;
80
+ }
81
+
82
+ // ── Documento principal ──
83
+
84
+ export interface IWabaTemplate extends IFireDoc {
85
+ meta_id?: string;
86
+ name: string;
87
+ status: WabaTemplateStatus;
88
+ category: WabaTemplateCategory;
89
+ language: string;
90
+ components: IWabaTemplateComponent[];
91
+ parameter_format?: WabaTemplateParameterFormat;
92
+ quality_score?: { score: string; date: number };
93
+ rejected_reason?: string;
94
+ waba_id: string;
95
+ synced_at?: Date | null;
96
+ is_draft: boolean;
97
+ draft_source?: IWabaTemplateDraftSource;
98
+ }
99
+
100
+ // ── Request types ──
101
+
102
+ export interface IWabaTemplateCreateRequest {
103
+ name: string;
104
+ category: WabaTemplateCategory;
105
+ language: string;
106
+ parameter_format?: WabaTemplateParameterFormat;
107
+ components: IWabaTemplateComponent[];
108
+ }
@@ -119,6 +119,10 @@ export interface IDepartment extends IFireDoc {
119
119
  parent_departmentRef?: FirestoreDocumentReference | null;
120
120
  readonly employee_counters?: IEmployeeCounters;
121
121
  tags?: ITag[] | null;
122
+ /** Must be explicitly true for the department to receive chat transfers and be used as channel default. */
123
+ chat_enabled?: boolean;
124
+ /** Color for UI rendering in hub-omni (e.g., '#4CAF50'). */
125
+ chat_color?: string;
122
126
  }
123
127
  export interface IOffice extends IFireDoc {
124
128
  code: string;
@@ -183,6 +183,11 @@ export interface IDepartment extends IFireDoc {
183
183
  parent_departmentRef?: FirestoreDocumentReference | null;
184
184
  readonly employee_counters?: IEmployeeCounters;
185
185
  tags?: ITag[] | null;
186
+
187
+ /** Must be explicitly true for the department to receive chat transfers and be used as channel default. */
188
+ chat_enabled?: boolean;
189
+ /** Color for UI rendering in hub-omni (e.g., '#4CAF50'). */
190
+ chat_color?: string;
186
191
  }
187
192
 
188
193
  export interface IOffice extends IFireDoc {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evo360-types",
3
- "version": "1.3.309",
3
+ "version": "1.3.314",
4
4
  "description": "HREVO360 Shared Types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",