evo360-types 1.3.383 → 1.3.385

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 (34) hide show
  1. package/dist/apps/evo-chat/channel/zod-schemas.d.ts +60 -0
  2. package/dist/apps/evo-chat/channel/zod-schemas.js +6 -0
  3. package/dist/apps/evo-chat/channel/zod-schemas.ts +6 -0
  4. package/dist/apps/evo-chat/contact/zod-schemas.d.ts +9 -0
  5. package/dist/apps/evo-chat/contact/zod-schemas.js +4 -0
  6. package/dist/apps/evo-chat/contact/zod-schemas.ts +4 -0
  7. package/dist/apps/evo-chat/ig-setup/zod-schemas.d.ts +103 -0
  8. package/dist/apps/evo-chat/ig-setup/zod-schemas.js +29 -0
  9. package/dist/apps/evo-chat/ig-setup/zod-schemas.ts +32 -0
  10. package/dist/apps/evo-crm/lead/zod-schemas.d.ts +54 -27
  11. package/dist/apps/evo-med/insurance/zod-schemas.d.ts +54 -27
  12. package/dist/apps/evo-med/people/zod-schemas.d.ts +108 -54
  13. package/dist/apps/shared/zod-schemas.d.ts +18 -9
  14. package/dist/apps/shared/zod-schemas.js +5 -1
  15. package/dist/apps/shared/zod-schemas.ts +5 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.js +1 -0
  18. package/dist/index.ts +1 -0
  19. package/dist/types/evo-chat/channel/index.d.ts +7 -1
  20. package/dist/types/evo-chat/channel/index.ts +9 -1
  21. package/dist/types/evo-chat/contact/index.d.ts +4 -1
  22. package/dist/types/evo-chat/contact/index.ts +6 -1
  23. package/dist/types/evo-chat/fb_collections.d.ts +2 -0
  24. package/dist/types/evo-chat/fb_collections.js +4 -1
  25. package/dist/types/evo-chat/fb_collections.ts +4 -0
  26. package/dist/types/evo-chat/ig-setup/index.d.ts +21 -0
  27. package/dist/types/evo-chat/ig-setup/index.js +6 -0
  28. package/dist/types/evo-chat/ig-setup/index.ts +35 -0
  29. package/dist/types/evo-chat/index.d.ts +1 -0
  30. package/dist/types/evo-chat/index.js +1 -0
  31. package/dist/types/evo-chat/index.ts +1 -0
  32. package/dist/types/shared/index.d.ts +3 -0
  33. package/dist/types/shared/index.ts +4 -0
  34. package/package.json +1 -1
@@ -5,18 +5,33 @@ export declare const zChannelProviderRefSchema: z.ZodObject<{
5
5
  waba_id: z.ZodOptional<z.ZodString>;
6
6
  phone_number_id: z.ZodOptional<z.ZodString>;
7
7
  business_id: z.ZodOptional<z.ZodString>;
8
+ ig_account_id: z.ZodOptional<z.ZodString>;
9
+ ig_user_token: z.ZodOptional<z.ZodString>;
10
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
11
+ username: z.ZodOptional<z.ZodString>;
12
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
8
13
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
9
14
  channel_id: z.ZodOptional<z.ZodString>;
10
15
  channel_uuid: z.ZodOptional<z.ZodString>;
11
16
  waba_id: z.ZodOptional<z.ZodString>;
12
17
  phone_number_id: z.ZodOptional<z.ZodString>;
13
18
  business_id: z.ZodOptional<z.ZodString>;
19
+ ig_account_id: z.ZodOptional<z.ZodString>;
20
+ ig_user_token: z.ZodOptional<z.ZodString>;
21
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
22
+ username: z.ZodOptional<z.ZodString>;
23
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
14
24
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
15
25
  channel_id: z.ZodOptional<z.ZodString>;
16
26
  channel_uuid: z.ZodOptional<z.ZodString>;
17
27
  waba_id: z.ZodOptional<z.ZodString>;
18
28
  phone_number_id: z.ZodOptional<z.ZodString>;
19
29
  business_id: z.ZodOptional<z.ZodString>;
30
+ ig_account_id: z.ZodOptional<z.ZodString>;
31
+ ig_user_token: z.ZodOptional<z.ZodString>;
32
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
33
+ username: z.ZodOptional<z.ZodString>;
34
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
20
35
  }, z.ZodTypeAny, "passthrough">>;
21
36
  export declare const zChannelSchema: z.ZodObject<{
22
37
  id: z.ZodString;
@@ -40,18 +55,33 @@ export declare const zChannelSchema: z.ZodObject<{
40
55
  waba_id: z.ZodOptional<z.ZodString>;
41
56
  phone_number_id: z.ZodOptional<z.ZodString>;
42
57
  business_id: z.ZodOptional<z.ZodString>;
58
+ ig_account_id: z.ZodOptional<z.ZodString>;
59
+ ig_user_token: z.ZodOptional<z.ZodString>;
60
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
61
+ username: z.ZodOptional<z.ZodString>;
62
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
43
63
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
44
64
  channel_id: z.ZodOptional<z.ZodString>;
45
65
  channel_uuid: z.ZodOptional<z.ZodString>;
46
66
  waba_id: z.ZodOptional<z.ZodString>;
47
67
  phone_number_id: z.ZodOptional<z.ZodString>;
48
68
  business_id: z.ZodOptional<z.ZodString>;
69
+ ig_account_id: z.ZodOptional<z.ZodString>;
70
+ ig_user_token: z.ZodOptional<z.ZodString>;
71
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
72
+ username: z.ZodOptional<z.ZodString>;
73
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
49
74
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
50
75
  channel_id: z.ZodOptional<z.ZodString>;
51
76
  channel_uuid: z.ZodOptional<z.ZodString>;
52
77
  waba_id: z.ZodOptional<z.ZodString>;
53
78
  phone_number_id: z.ZodOptional<z.ZodString>;
54
79
  business_id: z.ZodOptional<z.ZodString>;
80
+ ig_account_id: z.ZodOptional<z.ZodString>;
81
+ ig_user_token: z.ZodOptional<z.ZodString>;
82
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
83
+ username: z.ZodOptional<z.ZodString>;
84
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
55
85
  }, z.ZodTypeAny, "passthrough">>;
56
86
  hub_ia: z.ZodOptional<z.ZodAny>;
57
87
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -76,18 +106,33 @@ export declare const zChannelSchema: z.ZodObject<{
76
106
  waba_id: z.ZodOptional<z.ZodString>;
77
107
  phone_number_id: z.ZodOptional<z.ZodString>;
78
108
  business_id: z.ZodOptional<z.ZodString>;
109
+ ig_account_id: z.ZodOptional<z.ZodString>;
110
+ ig_user_token: z.ZodOptional<z.ZodString>;
111
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
112
+ username: z.ZodOptional<z.ZodString>;
113
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
79
114
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
80
115
  channel_id: z.ZodOptional<z.ZodString>;
81
116
  channel_uuid: z.ZodOptional<z.ZodString>;
82
117
  waba_id: z.ZodOptional<z.ZodString>;
83
118
  phone_number_id: z.ZodOptional<z.ZodString>;
84
119
  business_id: z.ZodOptional<z.ZodString>;
120
+ ig_account_id: z.ZodOptional<z.ZodString>;
121
+ ig_user_token: z.ZodOptional<z.ZodString>;
122
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
123
+ username: z.ZodOptional<z.ZodString>;
124
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
85
125
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
86
126
  channel_id: z.ZodOptional<z.ZodString>;
87
127
  channel_uuid: z.ZodOptional<z.ZodString>;
88
128
  waba_id: z.ZodOptional<z.ZodString>;
89
129
  phone_number_id: z.ZodOptional<z.ZodString>;
90
130
  business_id: z.ZodOptional<z.ZodString>;
131
+ ig_account_id: z.ZodOptional<z.ZodString>;
132
+ ig_user_token: z.ZodOptional<z.ZodString>;
133
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
134
+ username: z.ZodOptional<z.ZodString>;
135
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
91
136
  }, z.ZodTypeAny, "passthrough">>;
92
137
  hub_ia: z.ZodOptional<z.ZodAny>;
93
138
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -112,18 +157,33 @@ export declare const zChannelSchema: z.ZodObject<{
112
157
  waba_id: z.ZodOptional<z.ZodString>;
113
158
  phone_number_id: z.ZodOptional<z.ZodString>;
114
159
  business_id: z.ZodOptional<z.ZodString>;
160
+ ig_account_id: z.ZodOptional<z.ZodString>;
161
+ ig_user_token: z.ZodOptional<z.ZodString>;
162
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
163
+ username: z.ZodOptional<z.ZodString>;
164
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
115
165
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
116
166
  channel_id: z.ZodOptional<z.ZodString>;
117
167
  channel_uuid: z.ZodOptional<z.ZodString>;
118
168
  waba_id: z.ZodOptional<z.ZodString>;
119
169
  phone_number_id: z.ZodOptional<z.ZodString>;
120
170
  business_id: z.ZodOptional<z.ZodString>;
171
+ ig_account_id: z.ZodOptional<z.ZodString>;
172
+ ig_user_token: z.ZodOptional<z.ZodString>;
173
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
174
+ username: z.ZodOptional<z.ZodString>;
175
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
121
176
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
122
177
  channel_id: z.ZodOptional<z.ZodString>;
123
178
  channel_uuid: z.ZodOptional<z.ZodString>;
124
179
  waba_id: z.ZodOptional<z.ZodString>;
125
180
  phone_number_id: z.ZodOptional<z.ZodString>;
126
181
  business_id: z.ZodOptional<z.ZodString>;
182
+ ig_account_id: z.ZodOptional<z.ZodString>;
183
+ ig_user_token: z.ZodOptional<z.ZodString>;
184
+ token_expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
185
+ username: z.ZodOptional<z.ZodString>;
186
+ token_health: z.ZodOptional<z.ZodEnum<["ok", "expiring", "failed"]>>;
127
187
  }, z.ZodTypeAny, "passthrough">>;
128
188
  hub_ia: z.ZodOptional<z.ZodAny>;
129
189
  }, z.ZodTypeAny, "passthrough">>;
@@ -9,6 +9,12 @@ exports.zChannelProviderRefSchema = zod_1.z.object({
9
9
  waba_id: zod_1.z.string().optional(),
10
10
  phone_number_id: zod_1.z.string().optional(),
11
11
  business_id: zod_1.z.string().optional(),
12
+ // hub-instagram (feat-030)
13
+ ig_account_id: zod_1.z.string().optional(),
14
+ ig_user_token: zod_1.z.string().optional(),
15
+ token_expires_at: zod_1.z.coerce.date().nullable().optional(),
16
+ username: zod_1.z.string().optional(),
17
+ token_health: zod_1.z.enum(['ok', 'expiring', 'failed']).optional(),
12
18
  }).passthrough();
13
19
  exports.zChannelSchema = zod_schemas_1.zFireDocSchema
14
20
  .extend({
@@ -7,6 +7,12 @@ export const zChannelProviderRefSchema = z.object({
7
7
  waba_id: z.string().optional(),
8
8
  phone_number_id: z.string().optional(),
9
9
  business_id: z.string().optional(),
10
+ // hub-instagram (feat-030)
11
+ ig_account_id: z.string().optional(),
12
+ ig_user_token: z.string().optional(),
13
+ token_expires_at: z.coerce.date().nullable().optional(),
14
+ username: z.string().optional(),
15
+ token_health: z.enum(['ok', 'expiring', 'failed']).optional(),
10
16
  }).passthrough();
11
17
 
12
18
  export const zChannelSchema = zFireDocSchema
@@ -224,6 +224,9 @@ export declare const zChatContactSchema: z.ZodObject<{
224
224
  wa_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
225
225
  provider: z.ZodOptional<z.ZodString>;
226
226
  channel_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
227
+ ig_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
228
+ username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
229
+ profile_pic: z.ZodOptional<z.ZodNullable<z.ZodString>>;
227
230
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
228
231
  id: z.ZodString;
229
232
  ref: z.ZodAny;
@@ -449,6 +452,9 @@ export declare const zChatContactSchema: z.ZodObject<{
449
452
  wa_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
450
453
  provider: z.ZodOptional<z.ZodString>;
451
454
  channel_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
455
+ ig_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
456
+ username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
457
+ profile_pic: z.ZodOptional<z.ZodNullable<z.ZodString>>;
452
458
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
453
459
  id: z.ZodString;
454
460
  ref: z.ZodAny;
@@ -674,4 +680,7 @@ export declare const zChatContactSchema: z.ZodObject<{
674
680
  wa_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
675
681
  provider: z.ZodOptional<z.ZodString>;
676
682
  channel_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
683
+ ig_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
684
+ username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
685
+ profile_pic: z.ZodOptional<z.ZodNullable<z.ZodString>>;
677
686
  }, z.ZodTypeAny, "passthrough">>;
@@ -27,5 +27,9 @@ exports.zChatContactSchema = zod_schemas_1.zFireDocSchema
27
27
  wa_id: zod_1.z.string().nullable().optional(),
28
28
  provider: zod_1.z.string().optional(),
29
29
  channel_ids: zod_1.z.array(zod_1.z.string()).optional(),
30
+ // hub-instagram fields (feat-030)
31
+ ig_id: zod_1.z.string().nullable().optional(),
32
+ username: zod_1.z.string().nullable().optional(),
33
+ profile_pic: zod_1.z.string().nullable().optional(),
30
34
  })
31
35
  .passthrough();
@@ -29,5 +29,9 @@ export const zChatContactSchema = zFireDocSchema
29
29
  wa_id: z.string().nullable().optional(),
30
30
  provider: z.string().optional(),
31
31
  channel_ids: z.array(z.string()).optional(),
32
+ // hub-instagram fields (feat-030)
33
+ ig_id: z.string().nullable().optional(),
34
+ username: z.string().nullable().optional(),
35
+ profile_pic: z.string().nullable().optional(),
32
36
  })
33
37
  .passthrough();
@@ -0,0 +1,103 @@
1
+ import { z } from "zod";
2
+ export declare const zIgSetupStatusSchema: z.ZodEnum<["pending", "connected", "error"]>;
3
+ export declare const zIgSetupStepsSchema: z.ZodObject<{
4
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
5
+ subscribed: z.ZodOptional<z.ZodBoolean>;
6
+ indexed: z.ZodOptional<z.ZodBoolean>;
7
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
8
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
9
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
10
+ subscribed: z.ZodOptional<z.ZodBoolean>;
11
+ indexed: z.ZodOptional<z.ZodBoolean>;
12
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
13
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
14
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
15
+ subscribed: z.ZodOptional<z.ZodBoolean>;
16
+ indexed: z.ZodOptional<z.ZodBoolean>;
17
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
18
+ }, z.ZodTypeAny, "passthrough">>;
19
+ export declare const zIgSetupSchema: z.ZodObject<{
20
+ state: z.ZodString;
21
+ tenant_id: z.ZodOptional<z.ZodString>;
22
+ channel_id: z.ZodOptional<z.ZodString>;
23
+ status: z.ZodEnum<["pending", "connected", "error"]>;
24
+ last_error: z.ZodOptional<z.ZodString>;
25
+ steps_completed: z.ZodOptional<z.ZodObject<{
26
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
27
+ subscribed: z.ZodOptional<z.ZodBoolean>;
28
+ indexed: z.ZodOptional<z.ZodBoolean>;
29
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
30
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
31
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
32
+ subscribed: z.ZodOptional<z.ZodBoolean>;
33
+ indexed: z.ZodOptional<z.ZodBoolean>;
34
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
35
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
36
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
37
+ subscribed: z.ZodOptional<z.ZodBoolean>;
38
+ indexed: z.ZodOptional<z.ZodBoolean>;
39
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
40
+ }, z.ZodTypeAny, "passthrough">>>;
41
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
42
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
43
+ expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
44
+ connected_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
45
+ ig_account_id: z.ZodOptional<z.ZodString>;
46
+ username: z.ZodOptional<z.ZodString>;
47
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
48
+ state: z.ZodString;
49
+ tenant_id: z.ZodOptional<z.ZodString>;
50
+ channel_id: z.ZodOptional<z.ZodString>;
51
+ status: z.ZodEnum<["pending", "connected", "error"]>;
52
+ last_error: z.ZodOptional<z.ZodString>;
53
+ steps_completed: z.ZodOptional<z.ZodObject<{
54
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
55
+ subscribed: z.ZodOptional<z.ZodBoolean>;
56
+ indexed: z.ZodOptional<z.ZodBoolean>;
57
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
58
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
59
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
60
+ subscribed: z.ZodOptional<z.ZodBoolean>;
61
+ indexed: z.ZodOptional<z.ZodBoolean>;
62
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
63
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
64
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
65
+ subscribed: z.ZodOptional<z.ZodBoolean>;
66
+ indexed: z.ZodOptional<z.ZodBoolean>;
67
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
68
+ }, z.ZodTypeAny, "passthrough">>>;
69
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
70
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
71
+ expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
72
+ connected_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
73
+ ig_account_id: z.ZodOptional<z.ZodString>;
74
+ username: z.ZodOptional<z.ZodString>;
75
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
76
+ state: z.ZodString;
77
+ tenant_id: z.ZodOptional<z.ZodString>;
78
+ channel_id: z.ZodOptional<z.ZodString>;
79
+ status: z.ZodEnum<["pending", "connected", "error"]>;
80
+ last_error: z.ZodOptional<z.ZodString>;
81
+ steps_completed: z.ZodOptional<z.ZodObject<{
82
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
83
+ subscribed: z.ZodOptional<z.ZodBoolean>;
84
+ indexed: z.ZodOptional<z.ZodBoolean>;
85
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
86
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
87
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
88
+ subscribed: z.ZodOptional<z.ZodBoolean>;
89
+ indexed: z.ZodOptional<z.ZodBoolean>;
90
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
91
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
92
+ token_exchanged: z.ZodOptional<z.ZodBoolean>;
93
+ subscribed: z.ZodOptional<z.ZodBoolean>;
94
+ indexed: z.ZodOptional<z.ZodBoolean>;
95
+ channel_updated: z.ZodOptional<z.ZodBoolean>;
96
+ }, z.ZodTypeAny, "passthrough">>>;
97
+ created_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
98
+ updated_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
99
+ expires_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
100
+ connected_at: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
101
+ ig_account_id: z.ZodOptional<z.ZodString>;
102
+ username: z.ZodOptional<z.ZodString>;
103
+ }, z.ZodTypeAny, "passthrough">>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zIgSetupSchema = exports.zIgSetupStepsSchema = exports.zIgSetupStatusSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.zIgSetupStatusSchema = zod_1.z.enum([
6
+ 'pending',
7
+ 'connected',
8
+ 'error',
9
+ ]);
10
+ exports.zIgSetupStepsSchema = zod_1.z.object({
11
+ token_exchanged: zod_1.z.boolean().optional(),
12
+ subscribed: zod_1.z.boolean().optional(),
13
+ indexed: zod_1.z.boolean().optional(),
14
+ channel_updated: zod_1.z.boolean().optional(),
15
+ }).passthrough();
16
+ exports.zIgSetupSchema = zod_1.z.object({
17
+ state: zod_1.z.string(),
18
+ tenant_id: zod_1.z.string().optional(),
19
+ channel_id: zod_1.z.string().optional(),
20
+ status: exports.zIgSetupStatusSchema,
21
+ last_error: zod_1.z.string().optional(),
22
+ steps_completed: exports.zIgSetupStepsSchema.optional(),
23
+ created_at: zod_1.z.coerce.date().nullable().optional(),
24
+ updated_at: zod_1.z.coerce.date().nullable().optional(),
25
+ expires_at: zod_1.z.coerce.date().nullable().optional(),
26
+ connected_at: zod_1.z.coerce.date().nullable().optional(),
27
+ ig_account_id: zod_1.z.string().optional(),
28
+ username: zod_1.z.string().optional(),
29
+ }).passthrough();
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+
3
+ export const zIgSetupStatusSchema = z.enum([
4
+ 'pending',
5
+ 'connected',
6
+ 'error',
7
+ ]);
8
+
9
+ export const zIgSetupStepsSchema = z.object({
10
+ token_exchanged: z.boolean().optional(),
11
+ subscribed: z.boolean().optional(),
12
+ indexed: z.boolean().optional(),
13
+ channel_updated: z.boolean().optional(),
14
+ }).passthrough();
15
+
16
+ export const zIgSetupSchema = z.object({
17
+ state: z.string(),
18
+ tenant_id: z.string().optional(),
19
+ channel_id: z.string().optional(),
20
+
21
+ status: zIgSetupStatusSchema,
22
+ last_error: z.string().optional(),
23
+ steps_completed: zIgSetupStepsSchema.optional(),
24
+
25
+ created_at: z.coerce.date().nullable().optional(),
26
+ updated_at: z.coerce.date().nullable().optional(),
27
+ expires_at: z.coerce.date().nullable().optional(),
28
+ connected_at: z.coerce.date().nullable().optional(),
29
+
30
+ ig_account_id: z.string().optional(),
31
+ username: z.string().optional(),
32
+ }).passthrough();
@@ -128,15 +128,24 @@ export declare const zLeadSchema: z.ZodObject<{
128
128
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
129
129
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
130
130
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
131
- }, "strip", z.ZodTypeAny, {
132
- email: string | null;
133
- phone: string | null;
134
- mobile: string | null;
135
- }, {
136
- email?: string | null | undefined;
137
- phone?: string | null | undefined;
138
- mobile?: string | null | undefined;
139
- }>>>;
131
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
132
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
133
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
134
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
135
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
136
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
137
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
138
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
139
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
140
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
141
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
142
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
143
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
144
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
145
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
146
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
147
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
148
+ }, z.ZodTypeAny, "passthrough">>>>;
140
149
  chat_contact_id: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
141
150
  notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
142
151
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
@@ -252,15 +261,24 @@ export declare const zLeadSchema: z.ZodObject<{
252
261
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
253
262
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
254
263
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
255
- }, "strip", z.ZodTypeAny, {
256
- email: string | null;
257
- phone: string | null;
258
- mobile: string | null;
259
- }, {
260
- email?: string | null | undefined;
261
- phone?: string | null | undefined;
262
- mobile?: string | null | undefined;
263
- }>>>;
264
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
265
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
266
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
267
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
268
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
269
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
270
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
271
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
272
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
273
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
274
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
275
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
276
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
277
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
278
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
279
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
280
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
281
+ }, z.ZodTypeAny, "passthrough">>>>;
264
282
  chat_contact_id: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
265
283
  notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
266
284
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
@@ -376,15 +394,24 @@ export declare const zLeadSchema: z.ZodObject<{
376
394
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
377
395
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
378
396
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
379
- }, "strip", z.ZodTypeAny, {
380
- email: string | null;
381
- phone: string | null;
382
- mobile: string | null;
383
- }, {
384
- email?: string | null | undefined;
385
- phone?: string | null | undefined;
386
- mobile?: string | null | undefined;
387
- }>>>;
397
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
398
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
399
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
400
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
401
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
402
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
403
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
404
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
405
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
406
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
407
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
408
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
409
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
410
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
411
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
412
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
413
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
414
+ }, z.ZodTypeAny, "passthrough">>>>;
388
415
  chat_contact_id: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
389
416
  notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
390
417
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
@@ -163,15 +163,24 @@ export declare const zInsuranceCompanySchema: z.ZodObject<{
163
163
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
164
164
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
165
165
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
166
- }, "strip", z.ZodTypeAny, {
167
- email: string | null;
168
- phone: string | null;
169
- mobile: string | null;
170
- }, {
171
- email?: string | null | undefined;
172
- phone?: string | null | undefined;
173
- mobile?: string | null | undefined;
174
- }>>;
166
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
167
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
168
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
169
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
170
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
171
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
172
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
173
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
174
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
175
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
176
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
177
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
178
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
179
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
180
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
181
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
182
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
183
+ }, z.ZodTypeAny, "passthrough">>>;
175
184
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
176
185
  name: z.ZodString;
177
186
  color: z.ZodOptional<z.ZodString>;
@@ -290,15 +299,24 @@ export declare const zInsuranceCompanySchema: z.ZodObject<{
290
299
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
291
300
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
292
301
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
293
- }, "strip", z.ZodTypeAny, {
294
- email: string | null;
295
- phone: string | null;
296
- mobile: string | null;
297
- }, {
298
- email?: string | null | undefined;
299
- phone?: string | null | undefined;
300
- mobile?: string | null | undefined;
301
- }>>;
302
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
303
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
304
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
305
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
306
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
307
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
308
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
309
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
310
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
311
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
312
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
313
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
314
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
315
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
316
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
317
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
318
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
319
+ }, z.ZodTypeAny, "passthrough">>>;
302
320
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
303
321
  name: z.ZodString;
304
322
  color: z.ZodOptional<z.ZodString>;
@@ -417,15 +435,24 @@ export declare const zInsuranceCompanySchema: z.ZodObject<{
417
435
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
418
436
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
419
437
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
420
- }, "strip", z.ZodTypeAny, {
421
- email: string | null;
422
- phone: string | null;
423
- mobile: string | null;
424
- }, {
425
- email?: string | null | undefined;
426
- phone?: string | null | undefined;
427
- mobile?: string | null | undefined;
428
- }>>;
438
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
439
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
440
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
441
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
442
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
443
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
444
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
445
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
446
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
447
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
448
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
449
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
450
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
451
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
452
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
453
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
454
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
455
+ }, z.ZodTypeAny, "passthrough">>>;
429
456
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
430
457
  name: z.ZodString;
431
458
  color: z.ZodOptional<z.ZodString>;
@@ -158,15 +158,24 @@ export declare const zProfessionalSchema: z.ZodObject<{
158
158
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
159
159
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
160
160
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
161
- }, "strip", z.ZodTypeAny, {
162
- email: string | null;
163
- phone: string | null;
164
- mobile: string | null;
165
- }, {
166
- email?: string | null | undefined;
167
- phone?: string | null | undefined;
168
- mobile?: string | null | undefined;
169
- }>>>;
161
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
162
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
163
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
164
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
165
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
166
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
167
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
168
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
169
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
170
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
171
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
172
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
173
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
174
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
175
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
176
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
177
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
178
+ }, z.ZodTypeAny, "passthrough">>>>;
170
179
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
171
180
  name: z.ZodString;
172
181
  color: z.ZodOptional<z.ZodString>;
@@ -300,15 +309,24 @@ export declare const zProfessionalSchema: z.ZodObject<{
300
309
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
301
310
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
302
311
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
303
- }, "strip", z.ZodTypeAny, {
304
- email: string | null;
305
- phone: string | null;
306
- mobile: string | null;
307
- }, {
308
- email?: string | null | undefined;
309
- phone?: string | null | undefined;
310
- mobile?: string | null | undefined;
311
- }>>>;
312
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
313
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
314
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
315
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
316
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
317
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
318
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
319
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
320
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
321
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
322
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
323
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
324
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
325
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
326
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
327
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
328
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
329
+ }, z.ZodTypeAny, "passthrough">>>>;
312
330
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
313
331
  name: z.ZodString;
314
332
  color: z.ZodOptional<z.ZodString>;
@@ -442,15 +460,24 @@ export declare const zProfessionalSchema: z.ZodObject<{
442
460
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
443
461
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
444
462
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
445
- }, "strip", z.ZodTypeAny, {
446
- email: string | null;
447
- phone: string | null;
448
- mobile: string | null;
449
- }, {
450
- email?: string | null | undefined;
451
- phone?: string | null | undefined;
452
- mobile?: string | null | undefined;
453
- }>>>;
463
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
464
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
465
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
466
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
467
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
468
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
469
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
470
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
471
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
472
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
473
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
474
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
475
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
476
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
477
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
478
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
479
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
480
+ }, z.ZodTypeAny, "passthrough">>>>;
454
481
  tags: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
455
482
  name: z.ZodString;
456
483
  color: z.ZodOptional<z.ZodString>;
@@ -746,15 +773,24 @@ export declare const zPatientSchema: z.ZodObject<{
746
773
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
747
774
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
748
775
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
749
- }, "strip", z.ZodTypeAny, {
750
- email: string | null;
751
- phone: string | null;
752
- mobile: string | null;
753
- }, {
754
- email?: string | null | undefined;
755
- phone?: string | null | undefined;
756
- mobile?: string | null | undefined;
757
- }>>>;
776
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
777
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
778
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
779
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
780
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
781
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
782
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
783
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
784
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
785
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
786
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
787
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
788
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
789
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
790
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
791
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
792
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
793
+ }, z.ZodTypeAny, "passthrough">>>>;
758
794
  lead_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
759
795
  chat_contact_id: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
760
796
  height_cm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -1044,15 +1080,24 @@ export declare const zPatientSchema: z.ZodObject<{
1044
1080
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1045
1081
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1046
1082
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1047
- }, "strip", z.ZodTypeAny, {
1048
- email: string | null;
1049
- phone: string | null;
1050
- mobile: string | null;
1051
- }, {
1052
- email?: string | null | undefined;
1053
- phone?: string | null | undefined;
1054
- mobile?: string | null | undefined;
1055
- }>>>;
1083
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1084
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1085
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1086
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1087
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1088
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1089
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1090
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1091
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1092
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1093
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1094
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1095
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1096
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1097
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1098
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1099
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1100
+ }, z.ZodTypeAny, "passthrough">>>>;
1056
1101
  lead_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1057
1102
  chat_contact_id: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
1058
1103
  height_cm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -1342,15 +1387,24 @@ export declare const zPatientSchema: z.ZodObject<{
1342
1387
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1343
1388
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1344
1389
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1345
- }, "strip", z.ZodTypeAny, {
1346
- email: string | null;
1347
- phone: string | null;
1348
- mobile: string | null;
1349
- }, {
1350
- email?: string | null | undefined;
1351
- phone?: string | null | undefined;
1352
- mobile?: string | null | undefined;
1353
- }>>>;
1390
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1391
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1392
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1393
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1394
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1395
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1396
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1397
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1398
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1399
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1400
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1401
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1402
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1403
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
1404
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1405
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1406
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1407
+ }, z.ZodTypeAny, "passthrough">>>>;
1354
1408
  lead_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1355
1409
  chat_contact_id: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
1356
1410
  height_cm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -87,12 +87,21 @@ export declare const zContactSchema: z.ZodObject<{
87
87
  email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
88
88
  phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
89
89
  mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
90
- }, "strip", z.ZodTypeAny, {
91
- email: string | null;
92
- phone: string | null;
93
- mobile: string | null;
94
- }, {
95
- email?: string | null | undefined;
96
- phone?: string | null | undefined;
97
- mobile?: string | null | undefined;
98
- }>;
90
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
91
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
92
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
93
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
94
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
95
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
96
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
97
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
98
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
99
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
100
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
101
+ email: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
102
+ phone: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
103
+ mobile: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
104
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
105
+ instagram: z.ZodOptional<z.ZodNullable<z.ZodString>>;
106
+ instagram_username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
107
+ }, z.ZodTypeAny, "passthrough">>;
@@ -85,4 +85,8 @@ exports.zContactSchema = zod_1.z.object({
85
85
  email: zod_1.z.string().max(255).nullable().optional().default(""),
86
86
  phone: zod_1.z.string().max(255).nullable().optional().default(""),
87
87
  mobile: zod_1.z.string().max(255).nullable().optional().default(""),
88
- });
88
+ // hub-instagram (feat-030) — sem isto o parse do lead descartava a identificação IG
89
+ type: zod_1.z.string().nullable().optional(),
90
+ instagram: zod_1.z.string().nullable().optional(),
91
+ instagram_username: zod_1.z.string().nullable().optional(),
92
+ }).passthrough();
@@ -100,4 +100,8 @@ export const zContactSchema = z.object({
100
100
  email: z.string().max(255).nullable().optional().default(""),
101
101
  phone: z.string().max(255).nullable().optional().default(""),
102
102
  mobile: z.string().max(255).nullable().optional().default(""),
103
- });
103
+ // hub-instagram (feat-030) — sem isto o parse do lead descartava a identificação IG
104
+ type: z.string().nullable().optional(),
105
+ instagram: z.string().nullable().optional(),
106
+ instagram_username: z.string().nullable().optional(),
107
+ }).passthrough();
package/dist/index.d.ts CHANGED
@@ -46,6 +46,7 @@ export * from "./apps/evo-chat/ticket/zod-schemas";
46
46
  export * from "./apps/evo-chat/inbox/zod-schemas";
47
47
  export * from "./apps/evo-chat/waba-template/zod-schemas";
48
48
  export * from "./apps/evo-chat/waba-setup/zod-schemas";
49
+ export * from "./apps/evo-chat/ig-setup/zod-schemas";
49
50
  export * from "./apps/evo-chat/quick-reply/zod-schemas";
50
51
  export * from "./apps/evo-hub-ia/channel/zod-schemas";
51
52
  export * from "./apps/evo-hub-ia/v1/zod-schemas";
package/dist/index.js CHANGED
@@ -64,6 +64,7 @@ __exportStar(require("./apps/evo-chat/ticket/zod-schemas"), exports);
64
64
  __exportStar(require("./apps/evo-chat/inbox/zod-schemas"), exports);
65
65
  __exportStar(require("./apps/evo-chat/waba-template/zod-schemas"), exports);
66
66
  __exportStar(require("./apps/evo-chat/waba-setup/zod-schemas"), exports);
67
+ __exportStar(require("./apps/evo-chat/ig-setup/zod-schemas"), exports);
67
68
  __exportStar(require("./apps/evo-chat/quick-reply/zod-schemas"), exports);
68
69
  __exportStar(require("./apps/evo-hub-ia/channel/zod-schemas"), exports);
69
70
  __exportStar(require("./apps/evo-hub-ia/v1/zod-schemas"), exports);
package/dist/index.ts CHANGED
@@ -49,6 +49,7 @@ export * from "./apps/evo-chat/ticket/zod-schemas";
49
49
  export * from "./apps/evo-chat/inbox/zod-schemas";
50
50
  export * from "./apps/evo-chat/waba-template/zod-schemas";
51
51
  export * from "./apps/evo-chat/waba-setup/zod-schemas";
52
+ export * from "./apps/evo-chat/ig-setup/zod-schemas";
52
53
  export * from "./apps/evo-chat/quick-reply/zod-schemas";
53
54
  export * from "./apps/evo-hub-ia/channel/zod-schemas";
54
55
  export * from "./apps/evo-hub-ia/v1/zod-schemas";
@@ -1,14 +1,20 @@
1
1
  import type { IHubIAConfig } from "../../evo-hub-ia/channel";
2
2
  import { IFireDoc } from "../../shared";
3
- export type ChannelProvider = 'chatbee' | 'hub-waba';
3
+ export type ChannelProvider = 'chatbee' | 'hub-waba' | 'hub-instagram';
4
4
  export type ChannelType = 'waba' | 'instagram' | 'telegram' | 'email' | 'sms';
5
5
  export type ChannelStatus = 'active' | 'paused' | 'disabled' | 'pending';
6
+ export type IgTokenHealth = 'ok' | 'expiring' | 'failed';
6
7
  export interface IChannelProviderRef {
7
8
  channel_id?: string;
8
9
  channel_uuid?: string;
9
10
  waba_id?: string;
10
11
  phone_number_id?: string;
11
12
  business_id?: string;
13
+ ig_account_id?: string;
14
+ ig_user_token?: string;
15
+ token_expires_at?: Date | null;
16
+ username?: string;
17
+ token_health?: IgTokenHealth;
12
18
  }
13
19
  export interface ICallDeflectionConfig {
14
20
  enabled: boolean;
@@ -3,12 +3,14 @@ import { IFireDoc } from "../../shared";
3
3
 
4
4
  // ── Channel provider/type enums ──
5
5
 
6
- export type ChannelProvider = 'chatbee' | 'hub-waba';
6
+ export type ChannelProvider = 'chatbee' | 'hub-waba' | 'hub-instagram';
7
7
  export type ChannelType = 'waba' | 'instagram' | 'telegram' | 'email' | 'sms';
8
8
  export type ChannelStatus = 'active' | 'paused' | 'disabled' | 'pending';
9
9
 
10
10
  // ── Provider-specific references ──
11
11
 
12
+ export type IgTokenHealth = 'ok' | 'expiring' | 'failed';
13
+
12
14
  export interface IChannelProviderRef {
13
15
  // chatbee
14
16
  channel_id?: string;
@@ -17,6 +19,12 @@ export interface IChannelProviderRef {
17
19
  waba_id?: string;
18
20
  phone_number_id?: string;
19
21
  business_id?: string;
22
+ // hub-instagram (feat-030) — IG user token long-lived (60d, renovável)
23
+ ig_account_id?: string; // IGSID da conta business (também chave do channel-index)
24
+ ig_user_token?: string; // long-lived (MVP em Firestore; backlog Secret Manager)
25
+ token_expires_at?: Date | null; // expiração do long-lived token
26
+ username?: string; // @handle da conta business
27
+ token_health?: IgTokenHealth; // saúde do refresh (cron DS1)
20
28
  }
21
29
 
22
30
  // ── Calls config (feat-029) ──
@@ -19,8 +19,11 @@ export interface IChatContact extends IFireDoc {
19
19
  userRef?: FirestoreDocumentReference;
20
20
  bsuid?: string | null;
21
21
  wa_id?: string | null;
22
- provider?: 'chatbee' | 'hub-waba' | string;
22
+ provider?: 'chatbee' | 'hub-waba' | 'hub-instagram' | string;
23
23
  channel_ids?: string[];
24
+ ig_id?: string | null;
25
+ username?: string | null;
26
+ profile_pic?: string | null;
24
27
  call_permission?: ICallPermissionState;
25
28
  [key: string]: unknown;
26
29
  }
@@ -26,9 +26,14 @@ export interface IChatContact extends IFireDoc {
26
26
  // ── hub-waba fields (optional — backward compatible) ──
27
27
  bsuid?: string | null;
28
28
  wa_id?: string | null;
29
- provider?: 'chatbee' | 'hub-waba' | string;
29
+ provider?: 'chatbee' | 'hub-waba' | 'hub-instagram' | string;
30
30
  channel_ids?: string[];
31
31
 
32
+ // ── hub-instagram fields (feat-030 — optional, backward compatible) ──
33
+ ig_id?: string | null; // IGSID do contato (scoped por app/conta) — chave de dedup
34
+ username?: string | null; // @handle do Instagram
35
+ profile_pic?: string | null; // URL da foto de perfil (do GET /{IGSID})
36
+
32
37
  // ── call permission (feat-029 Fase 2) ──
33
38
  // Última permissão de ligação conhecida deste contato (espelho local; a fonte
34
39
  // de verdade é a Meta via GET /{phone_number_id}/call_permissions). Atualizado
@@ -21,3 +21,5 @@ export declare const HubWabaCollections: {
21
21
  };
22
22
  export declare const WABA_SETUP_PATH = "platform/evo-chat/waba-setup";
23
23
  export declare const WABA_CHANNEL_INDEX_PATH = "platform/evo-chat/waba-channel-index";
24
+ export declare const IG_SETUP_PATH = "platform/evo-chat/ig-setup";
25
+ export declare const IG_CHANNEL_INDEX_PATH = "platform/evo-chat/ig-channel-index";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WABA_CHANNEL_INDEX_PATH = exports.WABA_SETUP_PATH = exports.HubWabaCollections = exports.CALL_SIGNAL_REMOTE_DOC = exports.CALL_SIGNALING_COLLECTION = exports.CALL_SESSIONS_COLLECTION = exports.INBOXES_COLLECTION = exports.TICKETS_COLLECTION = exports.THREAD_MESSAGES_COLLECTION = exports.THREADS_COLLECTION = exports.CHANNELS_COLLECTION = exports.CHATBEE_CHANNELS_COLLECTION = exports.HSM_MESSAGES_COLLECTION = exports.PROTOCOLS_COLLECTION = exports.CONTACTS_COLLECTION = exports.TICKET_CLOSE_TYPES_COLLECTION = exports.TICKET_CLOSES_COLLECTION = exports.TICKET_CLOSES = exports.CHAT_DICS_COLLECTION = exports.EVO_CHAT_APP = void 0;
3
+ exports.IG_CHANNEL_INDEX_PATH = exports.IG_SETUP_PATH = exports.WABA_CHANNEL_INDEX_PATH = exports.WABA_SETUP_PATH = exports.HubWabaCollections = exports.CALL_SIGNAL_REMOTE_DOC = exports.CALL_SIGNALING_COLLECTION = exports.CALL_SESSIONS_COLLECTION = exports.INBOXES_COLLECTION = exports.TICKETS_COLLECTION = exports.THREAD_MESSAGES_COLLECTION = exports.THREADS_COLLECTION = exports.CHANNELS_COLLECTION = exports.CHATBEE_CHANNELS_COLLECTION = exports.HSM_MESSAGES_COLLECTION = exports.PROTOCOLS_COLLECTION = exports.CONTACTS_COLLECTION = exports.TICKET_CLOSE_TYPES_COLLECTION = exports.TICKET_CLOSES_COLLECTION = exports.TICKET_CLOSES = exports.CHAT_DICS_COLLECTION = exports.EVO_CHAT_APP = void 0;
4
4
  //EVO Chat Application Doc
5
5
  exports.EVO_CHAT_APP = "evo-chat";
6
6
  //dictionaries
@@ -33,3 +33,6 @@ exports.HubWabaCollections = {
33
33
  // hub-waba cross-tenant platform paths
34
34
  exports.WABA_SETUP_PATH = "platform/evo-chat/waba-setup";
35
35
  exports.WABA_CHANNEL_INDEX_PATH = "platform/evo-chat/waba-channel-index";
36
+ // hub-instagram cross-tenant platform paths (feat-030)
37
+ exports.IG_SETUP_PATH = "platform/evo-chat/ig-setup"; // bridging onboarding (key = state token)
38
+ exports.IG_CHANNEL_INDEX_PATH = "platform/evo-chat/ig-channel-index"; // ig_account_id -> tenant + channel
@@ -38,3 +38,7 @@ export const HubWabaCollections = {
38
38
  // hub-waba cross-tenant platform paths
39
39
  export const WABA_SETUP_PATH = "platform/evo-chat/waba-setup";
40
40
  export const WABA_CHANNEL_INDEX_PATH = "platform/evo-chat/waba-channel-index";
41
+
42
+ // hub-instagram cross-tenant platform paths (feat-030)
43
+ export const IG_SETUP_PATH = "platform/evo-chat/ig-setup"; // bridging onboarding (key = state token)
44
+ export const IG_CHANNEL_INDEX_PATH = "platform/evo-chat/ig-channel-index"; // ig_account_id -> tenant + channel
@@ -0,0 +1,21 @@
1
+ export type IgSetupStatus = 'pending' | 'connected' | 'error';
2
+ export interface IIgSetupSteps {
3
+ token_exchanged?: boolean;
4
+ subscribed?: boolean;
5
+ indexed?: boolean;
6
+ channel_updated?: boolean;
7
+ }
8
+ export interface IIgSetup {
9
+ state: string;
10
+ tenant_id?: string;
11
+ channel_id?: string;
12
+ status: IgSetupStatus;
13
+ last_error?: string;
14
+ steps_completed?: IIgSetupSteps;
15
+ created_at: Date | null;
16
+ updated_at?: Date | null;
17
+ expires_at?: Date | null;
18
+ connected_at?: Date | null;
19
+ ig_account_id?: string;
20
+ username?: string;
21
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // Bridging doc cross-tenant entre uma conta Instagram e canal/tenant (feat-030).
3
+ // Path: platform/evo-chat/ig-setup/{state} (state = token OAuth assinado/aleatório, document ID).
4
+ // Criado no clique "Conectar Instagram"; resolvido no callback OAuth (Instagram Login).
5
+ // Frontend NUNCA lê este doc diretamente (reflete pending->active pelo doc do canal).
6
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,35 @@
1
+ // Bridging doc cross-tenant entre uma conta Instagram e canal/tenant (feat-030).
2
+ // Path: platform/evo-chat/ig-setup/{state} (state = token OAuth assinado/aleatório, document ID).
3
+ // Criado no clique "Conectar Instagram"; resolvido no callback OAuth (Instagram Login).
4
+ // Frontend NUNCA lê este doc diretamente (reflete pending->active pelo doc do canal).
5
+
6
+ export type IgSetupStatus = 'pending' | 'connected' | 'error';
7
+
8
+ export interface IIgSetupSteps {
9
+ token_exchanged?: boolean; // code -> short-lived -> long-lived
10
+ subscribed?: boolean; // POST /me/subscribed_apps (messages, comments)
11
+ indexed?: boolean; // ig-channel-index/{ig_account_id} criado
12
+ channel_updated?: boolean; // canal do tenant marcado active + provider_ref
13
+ }
14
+
15
+ export interface IIgSetup {
16
+ // Identificação
17
+ state: string; // token OAuth (também é o document ID)
18
+ tenant_id?: string;
19
+ channel_id?: string;
20
+
21
+ // Estado
22
+ status: IgSetupStatus;
23
+ last_error?: string; // ex.: IG_ACCOUNT_TAKEN
24
+ steps_completed?: IIgSetupSteps;
25
+
26
+ // Timestamps
27
+ created_at: Date | null;
28
+ updated_at?: Date | null;
29
+ expires_at?: Date | null; // 30 dias após created_at — informativo (sem cron no MVP)
30
+ connected_at?: Date | null;
31
+
32
+ // Dados Instagram (preenchidos no callback)
33
+ ig_account_id?: string; // IGSID da conta business
34
+ username?: string;
35
+ }
@@ -10,6 +10,7 @@ export * from "./ticket";
10
10
  export * from "./inbox";
11
11
  export * from "./waba-template";
12
12
  export * from "./waba-setup";
13
+ export * from "./ig-setup";
13
14
  export * from "./quick-reply";
14
15
  export * from "./search";
15
16
  export declare const EvoChatPermissions: {
@@ -27,6 +27,7 @@ __exportStar(require("./ticket"), exports);
27
27
  __exportStar(require("./inbox"), exports);
28
28
  __exportStar(require("./waba-template"), exports);
29
29
  __exportStar(require("./waba-setup"), exports);
30
+ __exportStar(require("./ig-setup"), exports);
30
31
  __exportStar(require("./quick-reply"), exports);
31
32
  __exportStar(require("./search"), exports);
32
33
  // Permissões para o evo-chat
@@ -10,6 +10,7 @@ export * from "./ticket";
10
10
  export * from "./inbox";
11
11
  export * from "./waba-template";
12
12
  export * from "./waba-setup";
13
+ export * from "./ig-setup";
13
14
  export * from "./quick-reply";
14
15
  export * from "./search";
15
16
 
@@ -29,6 +29,9 @@ export interface IContact {
29
29
  email?: string | null;
30
30
  phone?: string | null;
31
31
  mobile?: string | null;
32
+ type?: string | null;
33
+ instagram?: string | null;
34
+ instagram_username?: string | null;
32
35
  }
33
36
  export interface IAddress {
34
37
  name?: string;
@@ -39,6 +39,10 @@ export interface IContact {
39
39
  email?: string | null;
40
40
  phone?: string | null;
41
41
  mobile?: string | null;
42
+ // hub-instagram (feat-030)
43
+ type?: string | null;
44
+ instagram?: string | null;
45
+ instagram_username?: string | null;
42
46
  }
43
47
  export interface IAddress {
44
48
  name?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evo360-types",
3
- "version": "1.3.383",
3
+ "version": "1.3.385",
4
4
  "description": "HREVO360 Shared Types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",