evo360-types 1.3.293 → 1.3.297

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 (42) hide show
  1. package/dist/apps/evo-chat/channel/zod-schemas.d.ts +129 -0
  2. package/dist/apps/evo-chat/channel/zod-schemas.js +26 -0
  3. package/dist/apps/evo-chat/channel/zod-schemas.ts +25 -0
  4. package/dist/apps/evo-chat/contact/zod-schemas.d.ts +12 -0
  5. package/dist/apps/evo-chat/contact/zod-schemas.js +5 -0
  6. package/dist/apps/evo-chat/contact/zod-schemas.ts +5 -0
  7. package/dist/apps/evo-chat/thread/zod-schemas.d.ts +99 -0
  8. package/dist/apps/evo-chat/thread/zod-schemas.js +25 -0
  9. package/dist/apps/evo-chat/thread/zod-schemas.ts +24 -0
  10. package/dist/apps/evo-chat/thread-message/zod-schemas.d.ts +522 -0
  11. package/dist/apps/evo-chat/thread-message/zod-schemas.js +72 -0
  12. package/dist/apps/evo-chat/thread-message/zod-schemas.ts +74 -0
  13. package/dist/apps/evo-chat/ticket/zod-schemas.d.ts +202 -0
  14. package/dist/apps/evo-chat/ticket/zod-schemas.js +39 -0
  15. package/dist/apps/evo-chat/ticket/zod-schemas.ts +39 -0
  16. package/dist/apps/evo-notif-user/zod-schemas.d.ts +2 -2
  17. package/dist/index.d.ts +4 -0
  18. package/dist/index.js +4 -0
  19. package/dist/index.ts +4 -0
  20. package/dist/types/evo-chat/channel/index.d.ts +25 -0
  21. package/dist/types/evo-chat/channel/index.js +2 -0
  22. package/dist/types/evo-chat/channel/index.ts +36 -0
  23. package/dist/types/evo-chat/contact/index.d.ts +4 -0
  24. package/dist/types/evo-chat/contact/index.ts +7 -0
  25. package/dist/types/evo-chat/fb_collections.d.ts +4 -0
  26. package/dist/types/evo-chat/fb_collections.js +6 -1
  27. package/dist/types/evo-chat/fb_collections.ts +6 -0
  28. package/dist/types/evo-chat/index.d.ts +7 -0
  29. package/dist/types/evo-chat/index.js +7 -0
  30. package/dist/types/evo-chat/index.ts +7 -0
  31. package/dist/types/evo-chat/thread/index.d.ts +20 -0
  32. package/dist/types/evo-chat/thread/index.js +2 -0
  33. package/dist/types/evo-chat/thread/index.ts +35 -0
  34. package/dist/types/evo-chat/thread-message/index.d.ts +99 -0
  35. package/dist/types/evo-chat/thread-message/index.js +2 -0
  36. package/dist/types/evo-chat/thread-message/index.ts +130 -0
  37. package/dist/types/evo-chat/ticket/index.d.ts +35 -0
  38. package/dist/types/evo-chat/ticket/index.js +2 -0
  39. package/dist/types/evo-chat/ticket/index.ts +56 -0
  40. package/dist/types/evo-finops/common/billing.js +1 -1
  41. package/dist/types/evo-finops/common/billing.ts +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,129 @@
1
+ import { z } from "zod";
2
+ export declare const zChannelProviderRefSchema: z.ZodObject<{
3
+ channel_id: z.ZodOptional<z.ZodString>;
4
+ channel_uuid: z.ZodOptional<z.ZodString>;
5
+ waba_id: z.ZodOptional<z.ZodString>;
6
+ phone_number_id: z.ZodOptional<z.ZodString>;
7
+ business_id: z.ZodOptional<z.ZodString>;
8
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
9
+ channel_id: z.ZodOptional<z.ZodString>;
10
+ channel_uuid: z.ZodOptional<z.ZodString>;
11
+ waba_id: z.ZodOptional<z.ZodString>;
12
+ phone_number_id: z.ZodOptional<z.ZodString>;
13
+ business_id: z.ZodOptional<z.ZodString>;
14
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
15
+ channel_id: z.ZodOptional<z.ZodString>;
16
+ channel_uuid: z.ZodOptional<z.ZodString>;
17
+ waba_id: z.ZodOptional<z.ZodString>;
18
+ phone_number_id: z.ZodOptional<z.ZodString>;
19
+ business_id: z.ZodOptional<z.ZodString>;
20
+ }, z.ZodTypeAny, "passthrough">>;
21
+ export declare const zChannelSchema: z.ZodObject<{
22
+ id: z.ZodString;
23
+ ref: z.ZodAny;
24
+ tenant: z.ZodString;
25
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
26
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
27
+ deleted_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
28
+ } & {
29
+ model_ver: z.ZodDefault<z.ZodNumber>;
30
+ provider: z.ZodString;
31
+ type: z.ZodString;
32
+ name: z.ZodString;
33
+ number: z.ZodOptional<z.ZodString>;
34
+ company_id: z.ZodOptional<z.ZodString>;
35
+ default_department_id: z.ZodString;
36
+ status: z.ZodEnum<["active", "paused", "disabled"]>;
37
+ provider_ref: z.ZodObject<{
38
+ channel_id: z.ZodOptional<z.ZodString>;
39
+ channel_uuid: z.ZodOptional<z.ZodString>;
40
+ waba_id: z.ZodOptional<z.ZodString>;
41
+ phone_number_id: z.ZodOptional<z.ZodString>;
42
+ business_id: z.ZodOptional<z.ZodString>;
43
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
44
+ channel_id: z.ZodOptional<z.ZodString>;
45
+ channel_uuid: z.ZodOptional<z.ZodString>;
46
+ waba_id: z.ZodOptional<z.ZodString>;
47
+ phone_number_id: z.ZodOptional<z.ZodString>;
48
+ business_id: z.ZodOptional<z.ZodString>;
49
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
50
+ channel_id: z.ZodOptional<z.ZodString>;
51
+ channel_uuid: z.ZodOptional<z.ZodString>;
52
+ waba_id: z.ZodOptional<z.ZodString>;
53
+ phone_number_id: z.ZodOptional<z.ZodString>;
54
+ business_id: z.ZodOptional<z.ZodString>;
55
+ }, z.ZodTypeAny, "passthrough">>;
56
+ hub_ia: z.ZodOptional<z.ZodAny>;
57
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
58
+ id: z.ZodString;
59
+ ref: z.ZodAny;
60
+ tenant: z.ZodString;
61
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
62
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
63
+ deleted_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
64
+ } & {
65
+ model_ver: z.ZodDefault<z.ZodNumber>;
66
+ provider: z.ZodString;
67
+ type: z.ZodString;
68
+ name: z.ZodString;
69
+ number: z.ZodOptional<z.ZodString>;
70
+ company_id: z.ZodOptional<z.ZodString>;
71
+ default_department_id: z.ZodString;
72
+ status: z.ZodEnum<["active", "paused", "disabled"]>;
73
+ provider_ref: z.ZodObject<{
74
+ channel_id: z.ZodOptional<z.ZodString>;
75
+ channel_uuid: z.ZodOptional<z.ZodString>;
76
+ waba_id: z.ZodOptional<z.ZodString>;
77
+ phone_number_id: z.ZodOptional<z.ZodString>;
78
+ business_id: z.ZodOptional<z.ZodString>;
79
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
80
+ channel_id: z.ZodOptional<z.ZodString>;
81
+ channel_uuid: z.ZodOptional<z.ZodString>;
82
+ waba_id: z.ZodOptional<z.ZodString>;
83
+ phone_number_id: z.ZodOptional<z.ZodString>;
84
+ business_id: z.ZodOptional<z.ZodString>;
85
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
86
+ channel_id: z.ZodOptional<z.ZodString>;
87
+ channel_uuid: z.ZodOptional<z.ZodString>;
88
+ waba_id: z.ZodOptional<z.ZodString>;
89
+ phone_number_id: z.ZodOptional<z.ZodString>;
90
+ business_id: z.ZodOptional<z.ZodString>;
91
+ }, z.ZodTypeAny, "passthrough">>;
92
+ hub_ia: z.ZodOptional<z.ZodAny>;
93
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
94
+ id: z.ZodString;
95
+ ref: z.ZodAny;
96
+ tenant: z.ZodString;
97
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
98
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
99
+ deleted_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
100
+ } & {
101
+ model_ver: z.ZodDefault<z.ZodNumber>;
102
+ provider: z.ZodString;
103
+ type: z.ZodString;
104
+ name: z.ZodString;
105
+ number: z.ZodOptional<z.ZodString>;
106
+ company_id: z.ZodOptional<z.ZodString>;
107
+ default_department_id: z.ZodString;
108
+ status: z.ZodEnum<["active", "paused", "disabled"]>;
109
+ provider_ref: z.ZodObject<{
110
+ channel_id: z.ZodOptional<z.ZodString>;
111
+ channel_uuid: z.ZodOptional<z.ZodString>;
112
+ waba_id: z.ZodOptional<z.ZodString>;
113
+ phone_number_id: z.ZodOptional<z.ZodString>;
114
+ business_id: z.ZodOptional<z.ZodString>;
115
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
116
+ channel_id: z.ZodOptional<z.ZodString>;
117
+ channel_uuid: z.ZodOptional<z.ZodString>;
118
+ waba_id: z.ZodOptional<z.ZodString>;
119
+ phone_number_id: z.ZodOptional<z.ZodString>;
120
+ business_id: z.ZodOptional<z.ZodString>;
121
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
122
+ channel_id: z.ZodOptional<z.ZodString>;
123
+ channel_uuid: z.ZodOptional<z.ZodString>;
124
+ waba_id: z.ZodOptional<z.ZodString>;
125
+ phone_number_id: z.ZodOptional<z.ZodString>;
126
+ business_id: z.ZodOptional<z.ZodString>;
127
+ }, z.ZodTypeAny, "passthrough">>;
128
+ hub_ia: z.ZodOptional<z.ZodAny>;
129
+ }, z.ZodTypeAny, "passthrough">>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zChannelSchema = exports.zChannelProviderRefSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const zod_schemas_1 = require("../../shared/zod-schemas");
6
+ exports.zChannelProviderRefSchema = zod_1.z.object({
7
+ channel_id: zod_1.z.string().optional(),
8
+ channel_uuid: zod_1.z.string().optional(),
9
+ waba_id: zod_1.z.string().optional(),
10
+ phone_number_id: zod_1.z.string().optional(),
11
+ business_id: zod_1.z.string().optional(),
12
+ }).passthrough();
13
+ exports.zChannelSchema = zod_schemas_1.zFireDocSchema
14
+ .extend({
15
+ model_ver: zod_1.z.number().default(1),
16
+ provider: zod_1.z.string(),
17
+ type: zod_1.z.string(),
18
+ name: zod_1.z.string(),
19
+ number: zod_1.z.string().optional(),
20
+ company_id: zod_1.z.string().optional(),
21
+ default_department_id: zod_1.z.string(),
22
+ status: zod_1.z.enum(['active', 'paused', 'disabled']),
23
+ provider_ref: exports.zChannelProviderRefSchema,
24
+ hub_ia: zod_1.z.any().optional(),
25
+ })
26
+ .passthrough();
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ import { zFireDocSchema } from "../../shared/zod-schemas";
3
+
4
+ export const zChannelProviderRefSchema = z.object({
5
+ channel_id: z.string().optional(),
6
+ channel_uuid: z.string().optional(),
7
+ waba_id: z.string().optional(),
8
+ phone_number_id: z.string().optional(),
9
+ business_id: z.string().optional(),
10
+ }).passthrough();
11
+
12
+ export const zChannelSchema = zFireDocSchema
13
+ .extend({
14
+ model_ver: z.number().default(1),
15
+ provider: z.string(),
16
+ type: z.string(),
17
+ name: z.string(),
18
+ number: z.string().optional(),
19
+ company_id: z.string().optional(),
20
+ default_department_id: z.string(),
21
+ status: z.enum(['active', 'paused', 'disabled']),
22
+ provider_ref: zChannelProviderRefSchema,
23
+ hub_ia: z.any().optional(),
24
+ })
25
+ .passthrough();
@@ -220,6 +220,10 @@ export declare const zChatContactSchema: z.ZodObject<{
220
220
  category?: string | null | undefined;
221
221
  }>, "many">>>;
222
222
  userRef: z.ZodAny;
223
+ bsuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
224
+ wa_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
225
+ provider: z.ZodOptional<z.ZodString>;
226
+ channel_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
223
227
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
224
228
  id: z.ZodString;
225
229
  ref: z.ZodAny;
@@ -441,6 +445,10 @@ export declare const zChatContactSchema: z.ZodObject<{
441
445
  category?: string | null | undefined;
442
446
  }>, "many">>>;
443
447
  userRef: z.ZodAny;
448
+ bsuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
449
+ wa_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
450
+ provider: z.ZodOptional<z.ZodString>;
451
+ channel_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
444
452
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
445
453
  id: z.ZodString;
446
454
  ref: z.ZodAny;
@@ -662,4 +670,8 @@ export declare const zChatContactSchema: z.ZodObject<{
662
670
  category?: string | null | undefined;
663
671
  }>, "many">>>;
664
672
  userRef: z.ZodAny;
673
+ bsuid: z.ZodOptional<z.ZodNullable<z.ZodString>>;
674
+ wa_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
675
+ provider: z.ZodOptional<z.ZodString>;
676
+ channel_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
665
677
  }, z.ZodTypeAny, "passthrough">>;
@@ -22,5 +22,10 @@ exports.zChatContactSchema = zod_schemas_1.zFireDocSchema
22
22
  hub_ia_mode: zod_1.z.string().optional(), // reply, suggestion
23
23
  tags: zod_1.z.array(zod_schemas_1.zTagSchema).nullable().optional(),
24
24
  userRef: zod_1.z.any(),
25
+ // hub-waba fields
26
+ bsuid: zod_1.z.string().nullable().optional(),
27
+ wa_id: zod_1.z.string().nullable().optional(),
28
+ provider: zod_1.z.string().optional(),
29
+ channel_ids: zod_1.z.array(zod_1.z.string()).optional(),
25
30
  })
26
31
  .passthrough();
@@ -24,5 +24,10 @@ export const zChatContactSchema = zFireDocSchema
24
24
  hub_ia_mode: z.string().optional(), // reply, suggestion
25
25
  tags: z.array(zTagSchema).nullable().optional(),
26
26
  userRef: z.any(),
27
+ // hub-waba fields
28
+ bsuid: z.string().nullable().optional(),
29
+ wa_id: z.string().nullable().optional(),
30
+ provider: z.string().optional(),
31
+ channel_ids: z.array(z.string()).optional(),
27
32
  })
28
33
  .passthrough();
@@ -0,0 +1,99 @@
1
+ import { z } from "zod";
2
+ export declare const zConversationWindowSchema: z.ZodObject<{
3
+ expires_at: z.ZodDate;
4
+ is_open: z.ZodBoolean;
5
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
6
+ expires_at: z.ZodDate;
7
+ is_open: z.ZodBoolean;
8
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
9
+ expires_at: z.ZodDate;
10
+ is_open: z.ZodBoolean;
11
+ }, z.ZodTypeAny, "passthrough">>;
12
+ export declare const zThreadSchema: z.ZodObject<{
13
+ id: z.ZodString;
14
+ ref: z.ZodAny;
15
+ tenant: z.ZodString;
16
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
17
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
18
+ deleted_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
19
+ } & {
20
+ model_ver: z.ZodDefault<z.ZodNumber>;
21
+ contact_id: z.ZodString;
22
+ lead_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ channel_ids: z.ZodArray<z.ZodString, "many">;
24
+ providers: z.ZodArray<z.ZodString, "many">;
25
+ open_ticket_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ last_message_at: z.ZodOptional<z.ZodDate>;
27
+ last_inbound_at: z.ZodOptional<z.ZodDate>;
28
+ last_message_preview: z.ZodOptional<z.ZodString>;
29
+ last_message_type: z.ZodOptional<z.ZodString>;
30
+ last_message_channel_id: z.ZodOptional<z.ZodString>;
31
+ conversation_windows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
32
+ expires_at: z.ZodDate;
33
+ is_open: z.ZodBoolean;
34
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
35
+ expires_at: z.ZodDate;
36
+ is_open: z.ZodBoolean;
37
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
38
+ expires_at: z.ZodDate;
39
+ is_open: z.ZodBoolean;
40
+ }, z.ZodTypeAny, "passthrough">>>>;
41
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
42
+ id: z.ZodString;
43
+ ref: z.ZodAny;
44
+ tenant: z.ZodString;
45
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
46
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
47
+ deleted_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
48
+ } & {
49
+ model_ver: z.ZodDefault<z.ZodNumber>;
50
+ contact_id: z.ZodString;
51
+ lead_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
+ channel_ids: z.ZodArray<z.ZodString, "many">;
53
+ providers: z.ZodArray<z.ZodString, "many">;
54
+ open_ticket_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ last_message_at: z.ZodOptional<z.ZodDate>;
56
+ last_inbound_at: z.ZodOptional<z.ZodDate>;
57
+ last_message_preview: z.ZodOptional<z.ZodString>;
58
+ last_message_type: z.ZodOptional<z.ZodString>;
59
+ last_message_channel_id: z.ZodOptional<z.ZodString>;
60
+ conversation_windows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
61
+ expires_at: z.ZodDate;
62
+ is_open: z.ZodBoolean;
63
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
64
+ expires_at: z.ZodDate;
65
+ is_open: z.ZodBoolean;
66
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
67
+ expires_at: z.ZodDate;
68
+ is_open: z.ZodBoolean;
69
+ }, z.ZodTypeAny, "passthrough">>>>;
70
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
71
+ id: z.ZodString;
72
+ ref: z.ZodAny;
73
+ tenant: z.ZodString;
74
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
75
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
76
+ deleted_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
77
+ } & {
78
+ model_ver: z.ZodDefault<z.ZodNumber>;
79
+ contact_id: z.ZodString;
80
+ lead_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
81
+ channel_ids: z.ZodArray<z.ZodString, "many">;
82
+ providers: z.ZodArray<z.ZodString, "many">;
83
+ open_ticket_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
84
+ last_message_at: z.ZodOptional<z.ZodDate>;
85
+ last_inbound_at: z.ZodOptional<z.ZodDate>;
86
+ last_message_preview: z.ZodOptional<z.ZodString>;
87
+ last_message_type: z.ZodOptional<z.ZodString>;
88
+ last_message_channel_id: z.ZodOptional<z.ZodString>;
89
+ conversation_windows: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
90
+ expires_at: z.ZodDate;
91
+ is_open: z.ZodBoolean;
92
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
93
+ expires_at: z.ZodDate;
94
+ is_open: z.ZodBoolean;
95
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
96
+ expires_at: z.ZodDate;
97
+ is_open: z.ZodBoolean;
98
+ }, z.ZodTypeAny, "passthrough">>>>;
99
+ }, z.ZodTypeAny, "passthrough">>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zThreadSchema = exports.zConversationWindowSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const zod_schemas_1 = require("../../shared/zod-schemas");
6
+ exports.zConversationWindowSchema = zod_1.z.object({
7
+ expires_at: zod_1.z.coerce.date(),
8
+ is_open: zod_1.z.boolean(),
9
+ }).passthrough();
10
+ exports.zThreadSchema = zod_schemas_1.zFireDocSchema
11
+ .extend({
12
+ model_ver: zod_1.z.number().default(1),
13
+ contact_id: zod_1.z.string(),
14
+ lead_id: zod_1.z.string().nullable().optional(),
15
+ channel_ids: zod_1.z.array(zod_1.z.string()),
16
+ providers: zod_1.z.array(zod_1.z.string()),
17
+ open_ticket_id: zod_1.z.string().nullable().optional(),
18
+ last_message_at: zod_1.z.coerce.date().optional(),
19
+ last_inbound_at: zod_1.z.coerce.date().optional(),
20
+ last_message_preview: zod_1.z.string().optional(),
21
+ last_message_type: zod_1.z.string().optional(),
22
+ last_message_channel_id: zod_1.z.string().optional(),
23
+ conversation_windows: zod_1.z.record(zod_1.z.string(), exports.zConversationWindowSchema).optional(),
24
+ })
25
+ .passthrough();
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ import { zFireDocSchema } from "../../shared/zod-schemas";
3
+
4
+ export const zConversationWindowSchema = z.object({
5
+ expires_at: z.coerce.date(),
6
+ is_open: z.boolean(),
7
+ }).passthrough();
8
+
9
+ export const zThreadSchema = zFireDocSchema
10
+ .extend({
11
+ model_ver: z.number().default(1),
12
+ contact_id: z.string(),
13
+ lead_id: z.string().nullable().optional(),
14
+ channel_ids: z.array(z.string()),
15
+ providers: z.array(z.string()),
16
+ open_ticket_id: z.string().nullable().optional(),
17
+ last_message_at: z.coerce.date().optional(),
18
+ last_inbound_at: z.coerce.date().optional(),
19
+ last_message_preview: z.string().optional(),
20
+ last_message_type: z.string().optional(),
21
+ last_message_channel_id: z.string().optional(),
22
+ conversation_windows: z.record(z.string(), zConversationWindowSchema).optional(),
23
+ })
24
+ .passthrough();