evo360-types 1.3.279 → 1.3.286

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.
@@ -7774,8 +7774,8 @@ export declare const zIssuerCompanyIdentitySchema: z.ZodObject<{
7774
7774
  country: z.ZodOptional<z.ZodString>;
7775
7775
  }, z.ZodTypeAny, "passthrough">>>;
7776
7776
  }, "strip", z.ZodTypeAny, {
7777
- legal_name: string;
7778
7777
  cnpj: string;
7778
+ legal_name: string;
7779
7779
  email?: string | undefined;
7780
7780
  address?: z.objectOutputType<{
7781
7781
  street: z.ZodOptional<z.ZodString>;
@@ -7791,8 +7791,8 @@ export declare const zIssuerCompanyIdentitySchema: z.ZodObject<{
7791
7791
  municipal_inscription?: string | undefined;
7792
7792
  trade_name?: string | undefined;
7793
7793
  }, {
7794
- legal_name: string;
7795
7794
  cnpj: string;
7795
+ legal_name: string;
7796
7796
  email?: string | undefined;
7797
7797
  address?: z.objectInputType<{
7798
7798
  street: z.ZodOptional<z.ZodString>;
@@ -7967,8 +7967,8 @@ export declare const zIssuerTaxProfileSchema: z.ZodObject<{
7967
7967
  country: z.ZodOptional<z.ZodString>;
7968
7968
  }, z.ZodTypeAny, "passthrough">>>;
7969
7969
  }, "strip", z.ZodTypeAny, {
7970
- legal_name: string;
7971
7970
  cnpj: string;
7971
+ legal_name: string;
7972
7972
  email?: string | undefined;
7973
7973
  address?: z.objectOutputType<{
7974
7974
  street: z.ZodOptional<z.ZodString>;
@@ -7984,8 +7984,8 @@ export declare const zIssuerTaxProfileSchema: z.ZodObject<{
7984
7984
  municipal_inscription?: string | undefined;
7985
7985
  trade_name?: string | undefined;
7986
7986
  }, {
7987
- legal_name: string;
7988
7987
  cnpj: string;
7988
+ legal_name: string;
7989
7989
  email?: string | undefined;
7990
7990
  address?: z.objectInputType<{
7991
7991
  street: z.ZodOptional<z.ZodString>;
@@ -8581,8 +8581,8 @@ export declare const zIssuerTaxProfileSchema: z.ZodObject<{
8581
8581
  country: z.ZodOptional<z.ZodString>;
8582
8582
  }, z.ZodTypeAny, "passthrough">>>;
8583
8583
  }, "strip", z.ZodTypeAny, {
8584
- legal_name: string;
8585
8584
  cnpj: string;
8585
+ legal_name: string;
8586
8586
  email?: string | undefined;
8587
8587
  address?: z.objectOutputType<{
8588
8588
  street: z.ZodOptional<z.ZodString>;
@@ -8598,8 +8598,8 @@ export declare const zIssuerTaxProfileSchema: z.ZodObject<{
8598
8598
  municipal_inscription?: string | undefined;
8599
8599
  trade_name?: string | undefined;
8600
8600
  }, {
8601
- legal_name: string;
8602
8601
  cnpj: string;
8602
+ legal_name: string;
8603
8603
  email?: string | undefined;
8604
8604
  address?: z.objectInputType<{
8605
8605
  street: z.ZodOptional<z.ZodString>;
@@ -9195,8 +9195,8 @@ export declare const zIssuerTaxProfileSchema: z.ZodObject<{
9195
9195
  country: z.ZodOptional<z.ZodString>;
9196
9196
  }, z.ZodTypeAny, "passthrough">>>;
9197
9197
  }, "strip", z.ZodTypeAny, {
9198
- legal_name: string;
9199
9198
  cnpj: string;
9199
+ legal_name: string;
9200
9200
  email?: string | undefined;
9201
9201
  address?: z.objectOutputType<{
9202
9202
  street: z.ZodOptional<z.ZodString>;
@@ -9212,8 +9212,8 @@ export declare const zIssuerTaxProfileSchema: z.ZodObject<{
9212
9212
  municipal_inscription?: string | undefined;
9213
9213
  trade_name?: string | undefined;
9214
9214
  }, {
9215
- legal_name: string;
9216
9215
  cnpj: string;
9216
+ legal_name: string;
9217
9217
  email?: string | undefined;
9218
9218
  address?: z.objectInputType<{
9219
9219
  street: z.ZodOptional<z.ZodString>;
@@ -1023,3 +1023,404 @@ export declare const zDirectSendPayloadSchema: z.ZodEffects<z.ZodObject<{
1023
1023
  ref: z.ZodOptional<z.ZodAny>;
1024
1024
  }, z.ZodTypeAny, "passthrough">>, "many">>;
1025
1025
  }, z.ZodTypeAny, "passthrough">>;
1026
+ export declare const zNexusDirectSendPayloadSchema: z.ZodEffects<z.ZodObject<{
1027
+ kind: z.ZodLiteral<"notification.send">;
1028
+ classification: z.ZodOptional<z.ZodString>;
1029
+ importance: z.ZodOptional<z.ZodNumber>;
1030
+ recipient: z.ZodObject<{
1031
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1032
+ id: z.ZodOptional<z.ZodString>;
1033
+ ref: z.ZodOptional<z.ZodAny>;
1034
+ address: z.ZodOptional<z.ZodString>;
1035
+ display_name: z.ZodOptional<z.ZodString>;
1036
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1037
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1038
+ id: z.ZodOptional<z.ZodString>;
1039
+ ref: z.ZodOptional<z.ZodAny>;
1040
+ address: z.ZodOptional<z.ZodString>;
1041
+ display_name: z.ZodOptional<z.ZodString>;
1042
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1043
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1044
+ id: z.ZodOptional<z.ZodString>;
1045
+ ref: z.ZodOptional<z.ZodAny>;
1046
+ address: z.ZodOptional<z.ZodString>;
1047
+ display_name: z.ZodOptional<z.ZodString>;
1048
+ }, z.ZodTypeAny, "passthrough">>;
1049
+ channel: z.ZodObject<{
1050
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1051
+ channel_id: z.ZodString;
1052
+ sender_id: z.ZodOptional<z.ZodString>;
1053
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1054
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1055
+ channel_id: z.ZodString;
1056
+ sender_id: z.ZodOptional<z.ZodString>;
1057
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1058
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1059
+ channel_id: z.ZodString;
1060
+ sender_id: z.ZodOptional<z.ZodString>;
1061
+ }, z.ZodTypeAny, "passthrough">>;
1062
+ template: z.ZodOptional<z.ZodObject<{
1063
+ template_id: z.ZodString;
1064
+ locale: z.ZodOptional<z.ZodString>;
1065
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1066
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1067
+ template_id: z.ZodString;
1068
+ locale: z.ZodOptional<z.ZodString>;
1069
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1070
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1071
+ template_id: z.ZodString;
1072
+ locale: z.ZodOptional<z.ZodString>;
1073
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1074
+ }, z.ZodTypeAny, "passthrough">>>;
1075
+ body_text: z.ZodOptional<z.ZodString>;
1076
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1077
+ routine: z.ZodOptional<z.ZodObject<{
1078
+ id: z.ZodString;
1079
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1080
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1081
+ id: z.ZodString;
1082
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1083
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1084
+ id: z.ZodString;
1085
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1086
+ }, z.ZodTypeAny, "passthrough">>>;
1087
+ idempotency_key: z.ZodOptional<z.ZodString>;
1088
+ dedup_key: z.ZodOptional<z.ZodString>;
1089
+ dedup_group_key: z.ZodOptional<z.ZodString>;
1090
+ externalLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
1091
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1092
+ id: z.ZodString;
1093
+ label: z.ZodOptional<z.ZodString>;
1094
+ ref: z.ZodOptional<z.ZodAny>;
1095
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1096
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1097
+ id: z.ZodString;
1098
+ label: z.ZodOptional<z.ZodString>;
1099
+ ref: z.ZodOptional<z.ZodAny>;
1100
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1101
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1102
+ id: z.ZodString;
1103
+ label: z.ZodOptional<z.ZodString>;
1104
+ ref: z.ZodOptional<z.ZodAny>;
1105
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1106
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1107
+ kind: z.ZodLiteral<"notification.send">;
1108
+ classification: z.ZodOptional<z.ZodString>;
1109
+ importance: z.ZodOptional<z.ZodNumber>;
1110
+ recipient: z.ZodObject<{
1111
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1112
+ id: z.ZodOptional<z.ZodString>;
1113
+ ref: z.ZodOptional<z.ZodAny>;
1114
+ address: z.ZodOptional<z.ZodString>;
1115
+ display_name: z.ZodOptional<z.ZodString>;
1116
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1117
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1118
+ id: z.ZodOptional<z.ZodString>;
1119
+ ref: z.ZodOptional<z.ZodAny>;
1120
+ address: z.ZodOptional<z.ZodString>;
1121
+ display_name: z.ZodOptional<z.ZodString>;
1122
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1123
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1124
+ id: z.ZodOptional<z.ZodString>;
1125
+ ref: z.ZodOptional<z.ZodAny>;
1126
+ address: z.ZodOptional<z.ZodString>;
1127
+ display_name: z.ZodOptional<z.ZodString>;
1128
+ }, z.ZodTypeAny, "passthrough">>;
1129
+ channel: z.ZodObject<{
1130
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1131
+ channel_id: z.ZodString;
1132
+ sender_id: z.ZodOptional<z.ZodString>;
1133
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1134
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1135
+ channel_id: z.ZodString;
1136
+ sender_id: z.ZodOptional<z.ZodString>;
1137
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1138
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1139
+ channel_id: z.ZodString;
1140
+ sender_id: z.ZodOptional<z.ZodString>;
1141
+ }, z.ZodTypeAny, "passthrough">>;
1142
+ template: z.ZodOptional<z.ZodObject<{
1143
+ template_id: z.ZodString;
1144
+ locale: z.ZodOptional<z.ZodString>;
1145
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1146
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1147
+ template_id: z.ZodString;
1148
+ locale: z.ZodOptional<z.ZodString>;
1149
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1150
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1151
+ template_id: z.ZodString;
1152
+ locale: z.ZodOptional<z.ZodString>;
1153
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1154
+ }, z.ZodTypeAny, "passthrough">>>;
1155
+ body_text: z.ZodOptional<z.ZodString>;
1156
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1157
+ routine: z.ZodOptional<z.ZodObject<{
1158
+ id: z.ZodString;
1159
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1160
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1161
+ id: z.ZodString;
1162
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1163
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1164
+ id: z.ZodString;
1165
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1166
+ }, z.ZodTypeAny, "passthrough">>>;
1167
+ idempotency_key: z.ZodOptional<z.ZodString>;
1168
+ dedup_key: z.ZodOptional<z.ZodString>;
1169
+ dedup_group_key: z.ZodOptional<z.ZodString>;
1170
+ externalLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
1171
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1172
+ id: z.ZodString;
1173
+ label: z.ZodOptional<z.ZodString>;
1174
+ ref: z.ZodOptional<z.ZodAny>;
1175
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1176
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1177
+ id: z.ZodString;
1178
+ label: z.ZodOptional<z.ZodString>;
1179
+ ref: z.ZodOptional<z.ZodAny>;
1180
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1181
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1182
+ id: z.ZodString;
1183
+ label: z.ZodOptional<z.ZodString>;
1184
+ ref: z.ZodOptional<z.ZodAny>;
1185
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1186
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1187
+ kind: z.ZodLiteral<"notification.send">;
1188
+ classification: z.ZodOptional<z.ZodString>;
1189
+ importance: z.ZodOptional<z.ZodNumber>;
1190
+ recipient: z.ZodObject<{
1191
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1192
+ id: z.ZodOptional<z.ZodString>;
1193
+ ref: z.ZodOptional<z.ZodAny>;
1194
+ address: z.ZodOptional<z.ZodString>;
1195
+ display_name: z.ZodOptional<z.ZodString>;
1196
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1197
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1198
+ id: z.ZodOptional<z.ZodString>;
1199
+ ref: z.ZodOptional<z.ZodAny>;
1200
+ address: z.ZodOptional<z.ZodString>;
1201
+ display_name: z.ZodOptional<z.ZodString>;
1202
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1203
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1204
+ id: z.ZodOptional<z.ZodString>;
1205
+ ref: z.ZodOptional<z.ZodAny>;
1206
+ address: z.ZodOptional<z.ZodString>;
1207
+ display_name: z.ZodOptional<z.ZodString>;
1208
+ }, z.ZodTypeAny, "passthrough">>;
1209
+ channel: z.ZodObject<{
1210
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1211
+ channel_id: z.ZodString;
1212
+ sender_id: z.ZodOptional<z.ZodString>;
1213
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1214
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1215
+ channel_id: z.ZodString;
1216
+ sender_id: z.ZodOptional<z.ZodString>;
1217
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1218
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1219
+ channel_id: z.ZodString;
1220
+ sender_id: z.ZodOptional<z.ZodString>;
1221
+ }, z.ZodTypeAny, "passthrough">>;
1222
+ template: z.ZodOptional<z.ZodObject<{
1223
+ template_id: z.ZodString;
1224
+ locale: z.ZodOptional<z.ZodString>;
1225
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1226
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1227
+ template_id: z.ZodString;
1228
+ locale: z.ZodOptional<z.ZodString>;
1229
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1230
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1231
+ template_id: z.ZodString;
1232
+ locale: z.ZodOptional<z.ZodString>;
1233
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1234
+ }, z.ZodTypeAny, "passthrough">>>;
1235
+ body_text: z.ZodOptional<z.ZodString>;
1236
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1237
+ routine: z.ZodOptional<z.ZodObject<{
1238
+ id: z.ZodString;
1239
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1240
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1241
+ id: z.ZodString;
1242
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1243
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1244
+ id: z.ZodString;
1245
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1246
+ }, z.ZodTypeAny, "passthrough">>>;
1247
+ idempotency_key: z.ZodOptional<z.ZodString>;
1248
+ dedup_key: z.ZodOptional<z.ZodString>;
1249
+ dedup_group_key: z.ZodOptional<z.ZodString>;
1250
+ externalLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
1251
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1252
+ id: z.ZodString;
1253
+ label: z.ZodOptional<z.ZodString>;
1254
+ ref: z.ZodOptional<z.ZodAny>;
1255
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1256
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1257
+ id: z.ZodString;
1258
+ label: z.ZodOptional<z.ZodString>;
1259
+ ref: z.ZodOptional<z.ZodAny>;
1260
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1261
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1262
+ id: z.ZodString;
1263
+ label: z.ZodOptional<z.ZodString>;
1264
+ ref: z.ZodOptional<z.ZodAny>;
1265
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1266
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
1267
+ kind: z.ZodLiteral<"notification.send">;
1268
+ classification: z.ZodOptional<z.ZodString>;
1269
+ importance: z.ZodOptional<z.ZodNumber>;
1270
+ recipient: z.ZodObject<{
1271
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1272
+ id: z.ZodOptional<z.ZodString>;
1273
+ ref: z.ZodOptional<z.ZodAny>;
1274
+ address: z.ZodOptional<z.ZodString>;
1275
+ display_name: z.ZodOptional<z.ZodString>;
1276
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1277
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1278
+ id: z.ZodOptional<z.ZodString>;
1279
+ ref: z.ZodOptional<z.ZodAny>;
1280
+ address: z.ZodOptional<z.ZodString>;
1281
+ display_name: z.ZodOptional<z.ZodString>;
1282
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1283
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1284
+ id: z.ZodOptional<z.ZodString>;
1285
+ ref: z.ZodOptional<z.ZodAny>;
1286
+ address: z.ZodOptional<z.ZodString>;
1287
+ display_name: z.ZodOptional<z.ZodString>;
1288
+ }, z.ZodTypeAny, "passthrough">>;
1289
+ channel: z.ZodObject<{
1290
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1291
+ channel_id: z.ZodString;
1292
+ sender_id: z.ZodOptional<z.ZodString>;
1293
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1294
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1295
+ channel_id: z.ZodString;
1296
+ sender_id: z.ZodOptional<z.ZodString>;
1297
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1298
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1299
+ channel_id: z.ZodString;
1300
+ sender_id: z.ZodOptional<z.ZodString>;
1301
+ }, z.ZodTypeAny, "passthrough">>;
1302
+ template: z.ZodOptional<z.ZodObject<{
1303
+ template_id: z.ZodString;
1304
+ locale: z.ZodOptional<z.ZodString>;
1305
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1306
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1307
+ template_id: z.ZodString;
1308
+ locale: z.ZodOptional<z.ZodString>;
1309
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1310
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1311
+ template_id: z.ZodString;
1312
+ locale: z.ZodOptional<z.ZodString>;
1313
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1314
+ }, z.ZodTypeAny, "passthrough">>>;
1315
+ body_text: z.ZodOptional<z.ZodString>;
1316
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1317
+ routine: z.ZodOptional<z.ZodObject<{
1318
+ id: z.ZodString;
1319
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1320
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1321
+ id: z.ZodString;
1322
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1323
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1324
+ id: z.ZodString;
1325
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1326
+ }, z.ZodTypeAny, "passthrough">>>;
1327
+ idempotency_key: z.ZodOptional<z.ZodString>;
1328
+ dedup_key: z.ZodOptional<z.ZodString>;
1329
+ dedup_group_key: z.ZodOptional<z.ZodString>;
1330
+ externalLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
1331
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1332
+ id: z.ZodString;
1333
+ label: z.ZodOptional<z.ZodString>;
1334
+ ref: z.ZodOptional<z.ZodAny>;
1335
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1336
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1337
+ id: z.ZodString;
1338
+ label: z.ZodOptional<z.ZodString>;
1339
+ ref: z.ZodOptional<z.ZodAny>;
1340
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1341
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1342
+ id: z.ZodString;
1343
+ label: z.ZodOptional<z.ZodString>;
1344
+ ref: z.ZodOptional<z.ZodAny>;
1345
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1346
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1347
+ kind: z.ZodLiteral<"notification.send">;
1348
+ classification: z.ZodOptional<z.ZodString>;
1349
+ importance: z.ZodOptional<z.ZodNumber>;
1350
+ recipient: z.ZodObject<{
1351
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1352
+ id: z.ZodOptional<z.ZodString>;
1353
+ ref: z.ZodOptional<z.ZodAny>;
1354
+ address: z.ZodOptional<z.ZodString>;
1355
+ display_name: z.ZodOptional<z.ZodString>;
1356
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1357
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1358
+ id: z.ZodOptional<z.ZodString>;
1359
+ ref: z.ZodOptional<z.ZodAny>;
1360
+ address: z.ZodOptional<z.ZodString>;
1361
+ display_name: z.ZodOptional<z.ZodString>;
1362
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1363
+ kind: z.ZodEnum<["patient", "professional", "preconfigured", "raw"]>;
1364
+ id: z.ZodOptional<z.ZodString>;
1365
+ ref: z.ZodOptional<z.ZodAny>;
1366
+ address: z.ZodOptional<z.ZodString>;
1367
+ display_name: z.ZodOptional<z.ZodString>;
1368
+ }, z.ZodTypeAny, "passthrough">>;
1369
+ channel: z.ZodObject<{
1370
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1371
+ channel_id: z.ZodString;
1372
+ sender_id: z.ZodOptional<z.ZodString>;
1373
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1374
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1375
+ channel_id: z.ZodString;
1376
+ sender_id: z.ZodOptional<z.ZodString>;
1377
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1378
+ type: z.ZodEnum<["whatsapp", "email", "sms", "push"]>;
1379
+ channel_id: z.ZodString;
1380
+ sender_id: z.ZodOptional<z.ZodString>;
1381
+ }, z.ZodTypeAny, "passthrough">>;
1382
+ template: z.ZodOptional<z.ZodObject<{
1383
+ template_id: z.ZodString;
1384
+ locale: z.ZodOptional<z.ZodString>;
1385
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1386
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1387
+ template_id: z.ZodString;
1388
+ locale: z.ZodOptional<z.ZodString>;
1389
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1390
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1391
+ template_id: z.ZodString;
1392
+ locale: z.ZodOptional<z.ZodString>;
1393
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1394
+ }, z.ZodTypeAny, "passthrough">>>;
1395
+ body_text: z.ZodOptional<z.ZodString>;
1396
+ variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1397
+ routine: z.ZodOptional<z.ZodObject<{
1398
+ id: z.ZodString;
1399
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1400
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1401
+ id: z.ZodString;
1402
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1403
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1404
+ id: z.ZodString;
1405
+ version: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
1406
+ }, z.ZodTypeAny, "passthrough">>>;
1407
+ idempotency_key: z.ZodOptional<z.ZodString>;
1408
+ dedup_key: z.ZodOptional<z.ZodString>;
1409
+ dedup_group_key: z.ZodOptional<z.ZodString>;
1410
+ externalLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
1411
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1412
+ id: z.ZodString;
1413
+ label: z.ZodOptional<z.ZodString>;
1414
+ ref: z.ZodOptional<z.ZodAny>;
1415
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1416
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1417
+ id: z.ZodString;
1418
+ label: z.ZodOptional<z.ZodString>;
1419
+ ref: z.ZodOptional<z.ZodAny>;
1420
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1421
+ type: z.ZodEnum<["crm_lead", "med_patient", "med_professional", "med_appointment", "chat_contact"]>;
1422
+ id: z.ZodString;
1423
+ label: z.ZodOptional<z.ZodString>;
1424
+ ref: z.ZodOptional<z.ZodAny>;
1425
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
1426
+ }, z.ZodTypeAny, "passthrough">>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.zDirectSendPayloadSchema = exports.zNotificationLogSchema = exports.zNotificationAttemptSchema = exports.zNotificationMessageSchema = exports.zNotificationErrorSchema = exports.zNotificationProviderMetaSchema = exports.zNotificationTemplateRefSchema = exports.zNotificationChannelRefSchema = exports.zNotificationRecipientSchema = exports.zNotificationLogLevelSchema = exports.zNotificationRecipientKindSchema = exports.zNotificationAttemptStatusSchema = exports.zNotificationMessageStatusSchema = exports.zNotificationChannelTypeSchema = void 0;
3
+ exports.zNexusDirectSendPayloadSchema = exports.zDirectSendPayloadSchema = exports.zNotificationLogSchema = exports.zNotificationAttemptSchema = exports.zNotificationMessageSchema = exports.zNotificationErrorSchema = exports.zNotificationProviderMetaSchema = exports.zNotificationTemplateRefSchema = exports.zNotificationChannelRefSchema = exports.zNotificationRecipientSchema = exports.zNotificationLogLevelSchema = exports.zNotificationRecipientKindSchema = exports.zNotificationAttemptStatusSchema = exports.zNotificationMessageStatusSchema = exports.zNotificationChannelTypeSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const zod_schemas_1 = require("../shared/zod-schemas");
6
6
  const zod_schemas_2 = require("../evo-task/zod-schemas");
@@ -181,3 +181,52 @@ exports.zDirectSendPayloadSchema = zod_1.z
181
181
  });
182
182
  }
183
183
  });
184
+ // ---- Nexus direct send (no tenant required — Nexus scope) ----
185
+ exports.zNexusDirectSendPayloadSchema = zod_1.z
186
+ .object({
187
+ kind: zod_1.z.literal("notification.send"),
188
+ classification: zod_1.z.string().optional(),
189
+ importance: zod_1.z.number().min(0).max(100).optional(),
190
+ recipient: exports.zNotificationRecipientSchema,
191
+ channel: exports.zNotificationChannelRefSchema,
192
+ template: exports.zNotificationTemplateRefSchema.optional(),
193
+ body_text: zod_1.z.string().max(4096).optional(),
194
+ variables: zod_1.z.record(zod_1.z.unknown()).optional(),
195
+ routine: zod_1.z
196
+ .object({
197
+ id: zod_1.z.string(),
198
+ version: zod_1.z.union([zod_1.z.number(), zod_1.z.string()]).optional(),
199
+ })
200
+ .passthrough()
201
+ .optional(),
202
+ idempotency_key: zod_1.z.string().optional(),
203
+ dedup_key: zod_1.z.string().optional(),
204
+ dedup_group_key: zod_1.z.string().optional(),
205
+ externalLinks: zod_1.z.array(zod_schemas_2.zExternalLinkSchema).optional(),
206
+ })
207
+ .passthrough()
208
+ .superRefine((data, ctx) => {
209
+ if (data.channel.type !== "whatsapp")
210
+ return;
211
+ const hasTemplate = Boolean(data.template?.template_id?.trim());
212
+ const variablesText = typeof data.variables?.text === "string" ? data.variables.text.trim() : "";
213
+ const hasExplicitBody = Boolean(data.body_text?.trim());
214
+ const hasSessionText = hasExplicitBody || (!hasTemplate && variablesText.length > 0);
215
+ if (hasTemplate) {
216
+ if (hasExplicitBody) {
217
+ ctx.addIssue({
218
+ code: zod_1.z.ZodIssueCode.custom,
219
+ message: "WhatsApp: com template (HSM), não envie body_text; use variables para os parâmetros do template.",
220
+ path: ["body_text"],
221
+ });
222
+ }
223
+ return;
224
+ }
225
+ if (!hasSessionText) {
226
+ ctx.addIssue({
227
+ code: zod_1.z.ZodIssueCode.custom,
228
+ message: "WhatsApp: informe template.template_id (HSM), ou body_text, ou variables.text (texto de sessão).",
229
+ path: ["template"],
230
+ });
231
+ }
232
+ });
@@ -200,3 +200,58 @@ export const zDirectSendPayloadSchema = z
200
200
  });
201
201
  }
202
202
  });
203
+
204
+ // ---- Nexus direct send (no tenant required — Nexus scope) ----
205
+
206
+ export const zNexusDirectSendPayloadSchema = z
207
+ .object({
208
+ kind: z.literal("notification.send"),
209
+ classification: z.string().optional(),
210
+ importance: z.number().min(0).max(100).optional(),
211
+ recipient: zNotificationRecipientSchema,
212
+ channel: zNotificationChannelRefSchema,
213
+ template: zNotificationTemplateRefSchema.optional(),
214
+ body_text: z.string().max(4096).optional(),
215
+ variables: z.record(z.unknown()).optional(),
216
+ routine: z
217
+ .object({
218
+ id: z.string(),
219
+ version: z.union([z.number(), z.string()]).optional(),
220
+ })
221
+ .passthrough()
222
+ .optional(),
223
+ idempotency_key: z.string().optional(),
224
+ dedup_key: z.string().optional(),
225
+ dedup_group_key: z.string().optional(),
226
+ externalLinks: z.array(zExternalLinkSchema).optional(),
227
+ })
228
+ .passthrough()
229
+ .superRefine((data, ctx) => {
230
+ if (data.channel.type !== "whatsapp") return;
231
+ const hasTemplate = Boolean(data.template?.template_id?.trim());
232
+ const variablesText =
233
+ typeof data.variables?.text === "string" ? data.variables.text.trim() : "";
234
+ const hasExplicitBody = Boolean(data.body_text?.trim());
235
+ const hasSessionText = hasExplicitBody || (!hasTemplate && variablesText.length > 0);
236
+
237
+ if (hasTemplate) {
238
+ if (hasExplicitBody) {
239
+ ctx.addIssue({
240
+ code: z.ZodIssueCode.custom,
241
+ message:
242
+ "WhatsApp: com template (HSM), não envie body_text; use variables para os parâmetros do template.",
243
+ path: ["body_text"],
244
+ });
245
+ }
246
+ return;
247
+ }
248
+
249
+ if (!hasSessionText) {
250
+ ctx.addIssue({
251
+ code: z.ZodIssueCode.custom,
252
+ message:
253
+ "WhatsApp: informe template.template_id (HSM), ou body_text, ou variables.text (texto de sessão).",
254
+ path: ["template"],
255
+ });
256
+ }
257
+ });
package/dist/index.d.ts CHANGED
@@ -21,6 +21,7 @@ export * from "./types/evo-finops";
21
21
  export * from "./types/evo-notif-user";
22
22
  export * from "./types/evo-notifications";
23
23
  export * from "./types/evo-task-runner";
24
+ export * from "./types/nex-customers";
24
25
  export * from "./apps/shared/zod-schemas";
25
26
  export * from "./apps/evo-core/zod-schemas";
26
27
  export * from "./apps/evo-tenant/zod-schemas";
package/dist/index.js CHANGED
@@ -38,6 +38,7 @@ __exportStar(require("./types/evo-finops"), exports);
38
38
  __exportStar(require("./types/evo-notif-user"), exports);
39
39
  __exportStar(require("./types/evo-notifications"), exports);
40
40
  __exportStar(require("./types/evo-task-runner"), exports);
41
+ __exportStar(require("./types/nex-customers"), exports);
41
42
  // zod schemas
42
43
  __exportStar(require("./apps/shared/zod-schemas"), exports);
43
44
  __exportStar(require("./apps/evo-core/zod-schemas"), exports);
package/dist/index.ts CHANGED
@@ -22,6 +22,7 @@ export * from "./types/evo-finops";
22
22
  export * from "./types/evo-notif-user";
23
23
  export * from "./types/evo-notifications";
24
24
  export * from "./types/evo-task-runner";
25
+ export * from "./types/nex-customers";
25
26
 
26
27
  // zod schemas
27
28
  export * from "./apps/shared/zod-schemas";
@@ -0,0 +1,27 @@
1
+ import type { IFireGlobalDoc } from '../../shared';
2
+ export type NexFinopsContractStatus = 'draft' | 'active' | 'inactive' | 'ended' | 'canceled';
3
+ export type NexFinopsContractRecurrence = 'one_time' | 'monthly';
4
+ export type NexFinopsPaymentMethod = 'pix' | 'boleto' | 'payment_link';
5
+ export interface INexFinopsContractServiceItem {
6
+ category: string;
7
+ description: string;
8
+ /** Valor unitário (decimal, BRL). */
9
+ amount: number;
10
+ }
11
+ export interface INexFinopsContract extends IFireGlobalDoc {
12
+ customer_id: string;
13
+ customer_ref?: string | null;
14
+ code?: string | null;
15
+ name: string;
16
+ status: NexFinopsContractStatus;
17
+ starts_at: string;
18
+ ends_at?: string | null;
19
+ recurrence: NexFinopsContractRecurrence;
20
+ due_day: number;
21
+ accepted_payment_methods: NexFinopsPaymentMethod[];
22
+ services: INexFinopsContractServiceItem[];
23
+ total_amount: number;
24
+ currency: 'BRL';
25
+ notes?: string | null;
26
+ }
27
+ export declare const NEX_FINOPS_CONTRACT_STATUS_TRANSITIONS: Record<NexFinopsContractStatus, NexFinopsContractStatus[]>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NEX_FINOPS_CONTRACT_STATUS_TRANSITIONS = void 0;
4
+ // ── Status transitions ──
5
+ exports.NEX_FINOPS_CONTRACT_STATUS_TRANSITIONS = {
6
+ draft: ['active', 'canceled'],
7
+ active: ['inactive', 'ended', 'canceled'],
8
+ inactive: ['active'],
9
+ ended: [],
10
+ canceled: [],
11
+ };
@@ -0,0 +1,62 @@
1
+ import type { IFireGlobalDoc } from '../../shared';
2
+
3
+ // ── Status & Recurrence ──
4
+
5
+ export type NexFinopsContractStatus = 'draft' | 'active' | 'inactive' | 'ended' | 'canceled';
6
+ export type NexFinopsContractRecurrence = 'one_time' | 'monthly';
7
+ export type NexFinopsPaymentMethod = 'pix' | 'boleto' | 'payment_link';
8
+
9
+ // ── Service Item ──
10
+
11
+ export interface INexFinopsContractServiceItem {
12
+ category: string;
13
+ description: string;
14
+ /** Valor unitário (decimal, BRL). */
15
+ amount: number;
16
+ }
17
+
18
+ // ── Main Document ──
19
+
20
+ export interface INexFinopsContract extends IFireGlobalDoc {
21
+ // Vínculos
22
+ customer_id: string;
23
+ customer_ref?: string | null;
24
+
25
+ // Identificação
26
+ code?: string | null;
27
+ name: string;
28
+ status: NexFinopsContractStatus;
29
+
30
+ // Vigência
31
+ starts_at: string;
32
+ ends_at?: string | null;
33
+
34
+ // Recorrência e vencimento
35
+ recurrence: NexFinopsContractRecurrence;
36
+ due_day: number;
37
+
38
+ // Formas de pagamento aceitas
39
+ accepted_payment_methods: NexFinopsPaymentMethod[];
40
+
41
+ // Serviços
42
+ services: INexFinopsContractServiceItem[];
43
+
44
+ // Valor total (calculado = soma dos services[].amount)
45
+ total_amount: number;
46
+
47
+ // Moeda
48
+ currency: 'BRL';
49
+
50
+ // Observações
51
+ notes?: string | null;
52
+ }
53
+
54
+ // ── Status transitions ──
55
+
56
+ export const NEX_FINOPS_CONTRACT_STATUS_TRANSITIONS: Record<NexFinopsContractStatus, NexFinopsContractStatus[]> = {
57
+ draft: ['active', 'canceled'],
58
+ active: ['inactive', 'ended', 'canceled'],
59
+ inactive: ['active'],
60
+ ended: [],
61
+ canceled: [],
62
+ };
@@ -1,6 +1,7 @@
1
1
  export * from "./fb_collections";
2
2
  export * from "./common";
3
3
  export * from "./common/taker";
4
+ export * from "./common/contract";
4
5
  export * from "./providers";
5
6
  export * from "./providers/provider_fiscal_types";
6
7
  export * from "./providers/asaas/asaas_provider";
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  __exportStar(require("./fb_collections"), exports);
19
19
  __exportStar(require("./common"), exports);
20
20
  __exportStar(require("./common/taker"), exports);
21
+ __exportStar(require("./common/contract"), exports);
21
22
  __exportStar(require("./providers"), exports);
22
23
  __exportStar(require("./providers/provider_fiscal_types"), exports);
23
24
  __exportStar(require("./providers/asaas/asaas_provider"), exports);
@@ -3,6 +3,7 @@
3
3
  export * from "./fb_collections";
4
4
  export * from "./common";
5
5
  export * from "./common/taker";
6
+ export * from "./common/contract";
6
7
  export * from "./providers";
7
8
  export * from "./providers/provider_fiscal_types";
8
9
  export * from "./providers/asaas/asaas_provider";
@@ -218,3 +218,12 @@ export type NotificationProviderUpdatePatch = Partial<{
218
218
  display_name: string;
219
219
  description: string;
220
220
  }>;
221
+ export declare const NEX_NOTIFICATIONS_APP = "nex-notifications";
222
+ export declare const NexNotificationsCollections: {
223
+ readonly Messages: "messages";
224
+ readonly Attempts: "attempts";
225
+ readonly Logs: "logs";
226
+ readonly EmailChannels: "email_channels";
227
+ readonly EmailTemplates: "email_templates";
228
+ };
229
+ export type NexNotificationsCollectionName = (typeof NexNotificationsCollections)[keyof typeof NexNotificationsCollections];
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.NotificationRecipientKindEnum = exports.NotificationAttemptStatusEnum = exports.NotificationMessageStatusEnum = exports.NotificationChannelTypeEnum = exports.NotificationsTopics = exports.NotificationTaskKindEnum = exports.EvoNotificationsCollections = exports.EvoNotificationsPermissions = void 0;
17
+ exports.NexNotificationsCollections = exports.NEX_NOTIFICATIONS_APP = exports.NotificationRecipientKindEnum = exports.NotificationAttemptStatusEnum = exports.NotificationMessageStatusEnum = exports.NotificationChannelTypeEnum = exports.NotificationsTopics = exports.NotificationTaskKindEnum = exports.EvoNotificationsCollections = exports.EvoNotificationsPermissions = void 0;
18
18
  __exportStar(require("./fb_collections"), exports);
19
19
  // Permissões para as notificações
20
20
  exports.EvoNotificationsPermissions = {
@@ -89,3 +89,17 @@ exports.NotificationRecipientKindEnum = {
89
89
  Preconfigured: "preconfigured",
90
90
  Raw: "raw",
91
91
  };
92
+ // ======================================================
93
+ // nex-notifications (Nexus / backoffice scope)
94
+ //
95
+ // Same structure as evo-notifications but scoped to Nexus (no tenant).
96
+ // Firestore path: core/nexus/apps/nex-notifications/...
97
+ // ======================================================
98
+ exports.NEX_NOTIFICATIONS_APP = "nex-notifications";
99
+ exports.NexNotificationsCollections = {
100
+ Messages: "messages",
101
+ Attempts: "attempts",
102
+ Logs: "logs",
103
+ EmailChannels: "email_channels",
104
+ EmailTemplates: "email_templates",
105
+ };
@@ -368,3 +368,23 @@ export type NotificationProviderUpdatePatch = Partial<{
368
368
  display_name: string;
369
369
  description: string;
370
370
  }>;
371
+
372
+ // ======================================================
373
+ // nex-notifications (Nexus / backoffice scope)
374
+ //
375
+ // Same structure as evo-notifications but scoped to Nexus (no tenant).
376
+ // Firestore path: core/nexus/apps/nex-notifications/...
377
+ // ======================================================
378
+
379
+ export const NEX_NOTIFICATIONS_APP = "nex-notifications";
380
+
381
+ export const NexNotificationsCollections = {
382
+ Messages: "messages",
383
+ Attempts: "attempts",
384
+ Logs: "logs",
385
+ EmailChannels: "email_channels",
386
+ EmailTemplates: "email_templates",
387
+ } as const;
388
+
389
+ export type NexNotificationsCollectionName =
390
+ (typeof NexNotificationsCollections)[keyof typeof NexNotificationsCollections];
@@ -0,0 +1,33 @@
1
+ import type { IFireGlobalDoc } from '../shared';
2
+ export type NexCustomerDocumentType = 'cpf' | 'cnpj';
3
+ export type NexCustomerStatus = 'active' | 'inactive';
4
+ export interface INexCustomerTenantRef {
5
+ tenant: string;
6
+ display_name?: string | null;
7
+ }
8
+ export interface INexCustomerAddress {
9
+ zip?: string | null;
10
+ street?: string | null;
11
+ number?: string | null;
12
+ complement?: string | null;
13
+ district?: string | null;
14
+ city?: string | null;
15
+ state?: string | null;
16
+ }
17
+ export interface INexCustomerFiscalData {
18
+ municipal_registration?: string | null;
19
+ state_registration?: string | null;
20
+ }
21
+ export interface INexCustomer extends IFireGlobalDoc {
22
+ name: string;
23
+ trade_name?: string | null;
24
+ document_type: NexCustomerDocumentType;
25
+ document_number: string;
26
+ status: NexCustomerStatus;
27
+ tenant_refs: INexCustomerTenantRef[];
28
+ email?: string | null;
29
+ phone?: string | null;
30
+ address?: INexCustomerAddress | null;
31
+ fiscal_data?: INexCustomerFiscalData | null;
32
+ notes?: string | null;
33
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,57 @@
1
+ import type { IFireGlobalDoc } from '../shared';
2
+
3
+ // ── Enums / Literals ──
4
+
5
+ export type NexCustomerDocumentType = 'cpf' | 'cnpj';
6
+ export type NexCustomerStatus = 'active' | 'inactive';
7
+
8
+ // ── Sub-interfaces ──
9
+
10
+ export interface INexCustomerTenantRef {
11
+ tenant: string;
12
+ display_name?: string | null;
13
+ }
14
+
15
+ export interface INexCustomerAddress {
16
+ zip?: string | null;
17
+ street?: string | null;
18
+ number?: string | null;
19
+ complement?: string | null;
20
+ district?: string | null;
21
+ city?: string | null;
22
+ state?: string | null;
23
+ }
24
+
25
+ export interface INexCustomerFiscalData {
26
+ municipal_registration?: string | null;
27
+ state_registration?: string | null;
28
+ }
29
+
30
+ // ── Main Document ──
31
+
32
+ export interface INexCustomer extends IFireGlobalDoc {
33
+ // Identification
34
+ name: string;
35
+ trade_name?: string | null;
36
+ document_type: NexCustomerDocumentType;
37
+ document_number: string;
38
+
39
+ // Status
40
+ status: NexCustomerStatus;
41
+
42
+ // Linked tenants
43
+ tenant_refs: INexCustomerTenantRef[];
44
+
45
+ // Contact
46
+ email?: string | null;
47
+ phone?: string | null;
48
+
49
+ // Address
50
+ address?: INexCustomerAddress | null;
51
+
52
+ // Fiscal data (PJ)
53
+ fiscal_data?: INexCustomerFiscalData | null;
54
+
55
+ // Notes
56
+ notes?: string | null;
57
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evo360-types",
3
- "version": "1.3.279",
3
+ "version": "1.3.286",
4
4
  "description": "HREVO360 Shared Types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",