evo360-types 1.3.353 → 1.3.355
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.
- package/dist/apps/evo-chat/chatbee/zod-schemas.d.ts +1080 -0
- package/dist/apps/evo-chat/chatbee/zod-schemas.js +73 -1
- package/dist/apps/evo-chat/chatbee/zod-schemas.ts +80 -0
- package/dist/apps/evo-hub-ia/v1/adapter-tool-registry.d.ts +46 -0
- package/dist/apps/evo-hub-ia/v1/adapter-tool-registry.js +16 -0
- package/dist/apps/evo-hub-ia/v1/adapter-tool-registry.ts +55 -0
- package/dist/apps/evo-hub-ia/v1/zod-schemas.d.ts +452 -6
- package/dist/apps/evo-hub-ia/v1/zod-schemas.js +70 -2
- package/dist/apps/evo-hub-ia/v1/zod-schemas.ts +77 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.ts +1 -0
- package/package.json +1 -1
|
@@ -778,3 +778,1083 @@ export declare const zSendMessageResponseSchema: z.ZodObject<{
|
|
|
778
778
|
message_id?: string | undefined;
|
|
779
779
|
data?: any;
|
|
780
780
|
}>;
|
|
781
|
+
/** Tipo da mídia do Chatbee (se message.type !== 'text'). */
|
|
782
|
+
export declare const zChatbeeNormalizedMediaSchema: z.ZodObject<{
|
|
783
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
784
|
+
bucket: z.ZodString;
|
|
785
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
786
|
+
path: z.ZodString;
|
|
787
|
+
type: z.ZodString;
|
|
788
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
789
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
790
|
+
bucket: z.ZodString;
|
|
791
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
792
|
+
path: z.ZodString;
|
|
793
|
+
type: z.ZodString;
|
|
794
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
795
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
796
|
+
bucket: z.ZodString;
|
|
797
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
798
|
+
path: z.ZodString;
|
|
799
|
+
type: z.ZodString;
|
|
800
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
801
|
+
/** Inner message do payload Chatbee normalizado. */
|
|
802
|
+
export declare const zChatbeeNormalizedInnerMessageSchema: z.ZodObject<{
|
|
803
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
804
|
+
id: z.ZodString;
|
|
805
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
806
|
+
content: z.ZodDefault<z.ZodString>;
|
|
807
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
808
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
809
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
810
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
811
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
812
|
+
bucket: z.ZodString;
|
|
813
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
814
|
+
path: z.ZodString;
|
|
815
|
+
type: z.ZodString;
|
|
816
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
817
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
818
|
+
bucket: z.ZodString;
|
|
819
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
820
|
+
path: z.ZodString;
|
|
821
|
+
type: z.ZodString;
|
|
822
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
823
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
824
|
+
bucket: z.ZodString;
|
|
825
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
826
|
+
path: z.ZodString;
|
|
827
|
+
type: z.ZodString;
|
|
828
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
829
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
830
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
831
|
+
id: z.ZodString;
|
|
832
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
833
|
+
content: z.ZodDefault<z.ZodString>;
|
|
834
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
835
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
836
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
837
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
838
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
839
|
+
bucket: z.ZodString;
|
|
840
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
841
|
+
path: z.ZodString;
|
|
842
|
+
type: z.ZodString;
|
|
843
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
844
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
845
|
+
bucket: z.ZodString;
|
|
846
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
847
|
+
path: z.ZodString;
|
|
848
|
+
type: z.ZodString;
|
|
849
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
850
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
851
|
+
bucket: z.ZodString;
|
|
852
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
853
|
+
path: z.ZodString;
|
|
854
|
+
type: z.ZodString;
|
|
855
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
856
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
857
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
858
|
+
id: z.ZodString;
|
|
859
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
860
|
+
content: z.ZodDefault<z.ZodString>;
|
|
861
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
862
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
863
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
864
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
865
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
866
|
+
bucket: z.ZodString;
|
|
867
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
868
|
+
path: z.ZodString;
|
|
869
|
+
type: z.ZodString;
|
|
870
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
871
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
872
|
+
bucket: z.ZodString;
|
|
873
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
874
|
+
path: z.ZodString;
|
|
875
|
+
type: z.ZodString;
|
|
876
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
877
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
878
|
+
bucket: z.ZodString;
|
|
879
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
880
|
+
path: z.ZodString;
|
|
881
|
+
type: z.ZodString;
|
|
882
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
883
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
884
|
+
/** Mensagem completa publicada no tópico `chatbee-messages-normalized`. */
|
|
885
|
+
export declare const zChatbeeNormalizedMessageSchema: z.ZodObject<{
|
|
886
|
+
type: z.ZodLiteral<"MESSAGE">;
|
|
887
|
+
channel: z.ZodObject<{
|
|
888
|
+
/** ID Chatbee — INTEGER em origem, mas castado para STRING na borda do adapter (DA-4). */
|
|
889
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
890
|
+
/** Tenant slug — premissa P6 confiável (drabanzoli, clinica-moema, ...). */
|
|
891
|
+
external_id: z.ZodString;
|
|
892
|
+
name: z.ZodOptional<z.ZodString>;
|
|
893
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
894
|
+
/** ID Chatbee — INTEGER em origem, mas castado para STRING na borda do adapter (DA-4). */
|
|
895
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
896
|
+
/** Tenant slug — premissa P6 confiável (drabanzoli, clinica-moema, ...). */
|
|
897
|
+
external_id: z.ZodString;
|
|
898
|
+
name: z.ZodOptional<z.ZodString>;
|
|
899
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
900
|
+
/** ID Chatbee — INTEGER em origem, mas castado para STRING na borda do adapter (DA-4). */
|
|
901
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
902
|
+
/** Tenant slug — premissa P6 confiável (drabanzoli, clinica-moema, ...). */
|
|
903
|
+
external_id: z.ZodString;
|
|
904
|
+
name: z.ZodOptional<z.ZodString>;
|
|
905
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
906
|
+
contact: z.ZodObject<{
|
|
907
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
908
|
+
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
909
|
+
address: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
910
|
+
type: z.ZodOptional<z.ZodString>;
|
|
911
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
912
|
+
is_group: z.ZodOptional<z.ZodBoolean>;
|
|
913
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
914
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
915
|
+
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
916
|
+
address: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
917
|
+
type: z.ZodOptional<z.ZodString>;
|
|
918
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
919
|
+
is_group: z.ZodOptional<z.ZodBoolean>;
|
|
920
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
921
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
922
|
+
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
923
|
+
address: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
924
|
+
type: z.ZodOptional<z.ZodString>;
|
|
925
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
926
|
+
is_group: z.ZodOptional<z.ZodBoolean>;
|
|
927
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
928
|
+
history: z.ZodOptional<z.ZodObject<{
|
|
929
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
930
|
+
channel_id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
931
|
+
is_out_of_office_hours: z.ZodOptional<z.ZodBoolean>;
|
|
932
|
+
automatic: z.ZodOptional<z.ZodBoolean>;
|
|
933
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
934
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
935
|
+
channel_id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
936
|
+
is_out_of_office_hours: z.ZodOptional<z.ZodBoolean>;
|
|
937
|
+
automatic: z.ZodOptional<z.ZodBoolean>;
|
|
938
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
939
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
940
|
+
channel_id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
941
|
+
is_out_of_office_hours: z.ZodOptional<z.ZodBoolean>;
|
|
942
|
+
automatic: z.ZodOptional<z.ZodBoolean>;
|
|
943
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
944
|
+
/** Populado quando operador humano envia (event=out + user.id) — sinal de presença para handoff (DA-10). */
|
|
945
|
+
user: z.ZodOptional<z.ZodObject<{
|
|
946
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
947
|
+
name: z.ZodOptional<z.ZodString>;
|
|
948
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
949
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
950
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
951
|
+
name: z.ZodOptional<z.ZodString>;
|
|
952
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
953
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
954
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
955
|
+
name: z.ZodOptional<z.ZodString>;
|
|
956
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
957
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
958
|
+
payload: z.ZodObject<{
|
|
959
|
+
message: z.ZodObject<{
|
|
960
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
961
|
+
id: z.ZodString;
|
|
962
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
963
|
+
content: z.ZodDefault<z.ZodString>;
|
|
964
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
965
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
966
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
967
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
968
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
969
|
+
bucket: z.ZodString;
|
|
970
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
971
|
+
path: z.ZodString;
|
|
972
|
+
type: z.ZodString;
|
|
973
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
974
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
975
|
+
bucket: z.ZodString;
|
|
976
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
977
|
+
path: z.ZodString;
|
|
978
|
+
type: z.ZodString;
|
|
979
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
980
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
981
|
+
bucket: z.ZodString;
|
|
982
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
983
|
+
path: z.ZodString;
|
|
984
|
+
type: z.ZodString;
|
|
985
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
986
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
987
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
988
|
+
id: z.ZodString;
|
|
989
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
990
|
+
content: z.ZodDefault<z.ZodString>;
|
|
991
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
992
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
993
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
994
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
995
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
996
|
+
bucket: z.ZodString;
|
|
997
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
998
|
+
path: z.ZodString;
|
|
999
|
+
type: z.ZodString;
|
|
1000
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1001
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1002
|
+
bucket: z.ZodString;
|
|
1003
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1004
|
+
path: z.ZodString;
|
|
1005
|
+
type: z.ZodString;
|
|
1006
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1007
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1008
|
+
bucket: z.ZodString;
|
|
1009
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1010
|
+
path: z.ZodString;
|
|
1011
|
+
type: z.ZodString;
|
|
1012
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1013
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1014
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1015
|
+
id: z.ZodString;
|
|
1016
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1017
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1018
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1019
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1020
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1021
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1022
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1023
|
+
bucket: z.ZodString;
|
|
1024
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1025
|
+
path: z.ZodString;
|
|
1026
|
+
type: z.ZodString;
|
|
1027
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1028
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1029
|
+
bucket: z.ZodString;
|
|
1030
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1031
|
+
path: z.ZodString;
|
|
1032
|
+
type: z.ZodString;
|
|
1033
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1034
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1035
|
+
bucket: z.ZodString;
|
|
1036
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1037
|
+
path: z.ZodString;
|
|
1038
|
+
type: z.ZodString;
|
|
1039
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1040
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1041
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1042
|
+
message: z.ZodObject<{
|
|
1043
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1044
|
+
id: z.ZodString;
|
|
1045
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1046
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1047
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1048
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1049
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1050
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1051
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1052
|
+
bucket: z.ZodString;
|
|
1053
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1054
|
+
path: z.ZodString;
|
|
1055
|
+
type: z.ZodString;
|
|
1056
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1057
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1058
|
+
bucket: z.ZodString;
|
|
1059
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1060
|
+
path: z.ZodString;
|
|
1061
|
+
type: z.ZodString;
|
|
1062
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1063
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1064
|
+
bucket: z.ZodString;
|
|
1065
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1066
|
+
path: z.ZodString;
|
|
1067
|
+
type: z.ZodString;
|
|
1068
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1069
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1070
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1071
|
+
id: z.ZodString;
|
|
1072
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1073
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1074
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1075
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1076
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1077
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1078
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1079
|
+
bucket: z.ZodString;
|
|
1080
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1081
|
+
path: z.ZodString;
|
|
1082
|
+
type: z.ZodString;
|
|
1083
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1084
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1085
|
+
bucket: z.ZodString;
|
|
1086
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1087
|
+
path: z.ZodString;
|
|
1088
|
+
type: z.ZodString;
|
|
1089
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1090
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1091
|
+
bucket: z.ZodString;
|
|
1092
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1093
|
+
path: z.ZodString;
|
|
1094
|
+
type: z.ZodString;
|
|
1095
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1096
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1097
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1098
|
+
id: z.ZodString;
|
|
1099
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1100
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1101
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1102
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1103
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1104
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1105
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1106
|
+
bucket: z.ZodString;
|
|
1107
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1108
|
+
path: z.ZodString;
|
|
1109
|
+
type: z.ZodString;
|
|
1110
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1111
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1112
|
+
bucket: z.ZodString;
|
|
1113
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1114
|
+
path: z.ZodString;
|
|
1115
|
+
type: z.ZodString;
|
|
1116
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1117
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1118
|
+
bucket: z.ZodString;
|
|
1119
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1120
|
+
path: z.ZodString;
|
|
1121
|
+
type: z.ZodString;
|
|
1122
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1123
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1124
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1125
|
+
message: z.ZodObject<{
|
|
1126
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1127
|
+
id: z.ZodString;
|
|
1128
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1129
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1130
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1131
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1132
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1133
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1134
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1135
|
+
bucket: z.ZodString;
|
|
1136
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1137
|
+
path: z.ZodString;
|
|
1138
|
+
type: z.ZodString;
|
|
1139
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1140
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1141
|
+
bucket: z.ZodString;
|
|
1142
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1143
|
+
path: z.ZodString;
|
|
1144
|
+
type: z.ZodString;
|
|
1145
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1146
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1147
|
+
bucket: z.ZodString;
|
|
1148
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1149
|
+
path: z.ZodString;
|
|
1150
|
+
type: z.ZodString;
|
|
1151
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1152
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1153
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1154
|
+
id: z.ZodString;
|
|
1155
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1156
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1157
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1158
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1159
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1160
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1161
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1162
|
+
bucket: z.ZodString;
|
|
1163
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1164
|
+
path: z.ZodString;
|
|
1165
|
+
type: z.ZodString;
|
|
1166
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1167
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1168
|
+
bucket: z.ZodString;
|
|
1169
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1170
|
+
path: z.ZodString;
|
|
1171
|
+
type: z.ZodString;
|
|
1172
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1173
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1174
|
+
bucket: z.ZodString;
|
|
1175
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1176
|
+
path: z.ZodString;
|
|
1177
|
+
type: z.ZodString;
|
|
1178
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1179
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1180
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1181
|
+
id: z.ZodString;
|
|
1182
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1183
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1184
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1185
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1186
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1187
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1188
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1189
|
+
bucket: z.ZodString;
|
|
1190
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1191
|
+
path: z.ZodString;
|
|
1192
|
+
type: z.ZodString;
|
|
1193
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1194
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1195
|
+
bucket: z.ZodString;
|
|
1196
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1197
|
+
path: z.ZodString;
|
|
1198
|
+
type: z.ZodString;
|
|
1199
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1200
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1201
|
+
bucket: z.ZodString;
|
|
1202
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1203
|
+
path: z.ZodString;
|
|
1204
|
+
type: z.ZodString;
|
|
1205
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1206
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1207
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1208
|
+
timestamp: z.ZodOptional<z.ZodString>;
|
|
1209
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1210
|
+
type: z.ZodLiteral<"MESSAGE">;
|
|
1211
|
+
channel: z.ZodObject<{
|
|
1212
|
+
/** ID Chatbee — INTEGER em origem, mas castado para STRING na borda do adapter (DA-4). */
|
|
1213
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1214
|
+
/** Tenant slug — premissa P6 confiável (drabanzoli, clinica-moema, ...). */
|
|
1215
|
+
external_id: z.ZodString;
|
|
1216
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1217
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1218
|
+
/** ID Chatbee — INTEGER em origem, mas castado para STRING na borda do adapter (DA-4). */
|
|
1219
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1220
|
+
/** Tenant slug — premissa P6 confiável (drabanzoli, clinica-moema, ...). */
|
|
1221
|
+
external_id: z.ZodString;
|
|
1222
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1223
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1224
|
+
/** ID Chatbee — INTEGER em origem, mas castado para STRING na borda do adapter (DA-4). */
|
|
1225
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1226
|
+
/** Tenant slug — premissa P6 confiável (drabanzoli, clinica-moema, ...). */
|
|
1227
|
+
external_id: z.ZodString;
|
|
1228
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1229
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1230
|
+
contact: z.ZodObject<{
|
|
1231
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1232
|
+
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1233
|
+
address: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1234
|
+
type: z.ZodOptional<z.ZodString>;
|
|
1235
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1236
|
+
is_group: z.ZodOptional<z.ZodBoolean>;
|
|
1237
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1238
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1239
|
+
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1240
|
+
address: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1241
|
+
type: z.ZodOptional<z.ZodString>;
|
|
1242
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1243
|
+
is_group: z.ZodOptional<z.ZodBoolean>;
|
|
1244
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1245
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1246
|
+
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1247
|
+
address: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1248
|
+
type: z.ZodOptional<z.ZodString>;
|
|
1249
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1250
|
+
is_group: z.ZodOptional<z.ZodBoolean>;
|
|
1251
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1252
|
+
history: z.ZodOptional<z.ZodObject<{
|
|
1253
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1254
|
+
channel_id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1255
|
+
is_out_of_office_hours: z.ZodOptional<z.ZodBoolean>;
|
|
1256
|
+
automatic: z.ZodOptional<z.ZodBoolean>;
|
|
1257
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1258
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1259
|
+
channel_id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1260
|
+
is_out_of_office_hours: z.ZodOptional<z.ZodBoolean>;
|
|
1261
|
+
automatic: z.ZodOptional<z.ZodBoolean>;
|
|
1262
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1263
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1264
|
+
channel_id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1265
|
+
is_out_of_office_hours: z.ZodOptional<z.ZodBoolean>;
|
|
1266
|
+
automatic: z.ZodOptional<z.ZodBoolean>;
|
|
1267
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1268
|
+
/** Populado quando operador humano envia (event=out + user.id) — sinal de presença para handoff (DA-10). */
|
|
1269
|
+
user: z.ZodOptional<z.ZodObject<{
|
|
1270
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1271
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1272
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1273
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1274
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1275
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1276
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1277
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1278
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1279
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1280
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1281
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1282
|
+
payload: z.ZodObject<{
|
|
1283
|
+
message: z.ZodObject<{
|
|
1284
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1285
|
+
id: z.ZodString;
|
|
1286
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1287
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1288
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1289
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1290
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1291
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1292
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1293
|
+
bucket: z.ZodString;
|
|
1294
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1295
|
+
path: z.ZodString;
|
|
1296
|
+
type: z.ZodString;
|
|
1297
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1298
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1299
|
+
bucket: z.ZodString;
|
|
1300
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1301
|
+
path: z.ZodString;
|
|
1302
|
+
type: z.ZodString;
|
|
1303
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1304
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1305
|
+
bucket: z.ZodString;
|
|
1306
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1307
|
+
path: z.ZodString;
|
|
1308
|
+
type: z.ZodString;
|
|
1309
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1310
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1311
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1312
|
+
id: z.ZodString;
|
|
1313
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1314
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1315
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1316
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1317
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1318
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1319
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1320
|
+
bucket: z.ZodString;
|
|
1321
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1322
|
+
path: z.ZodString;
|
|
1323
|
+
type: z.ZodString;
|
|
1324
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1325
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1326
|
+
bucket: z.ZodString;
|
|
1327
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1328
|
+
path: z.ZodString;
|
|
1329
|
+
type: z.ZodString;
|
|
1330
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1331
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1332
|
+
bucket: z.ZodString;
|
|
1333
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1334
|
+
path: z.ZodString;
|
|
1335
|
+
type: z.ZodString;
|
|
1336
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1337
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1338
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1339
|
+
id: z.ZodString;
|
|
1340
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1341
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1342
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1343
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1344
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1345
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1346
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1347
|
+
bucket: z.ZodString;
|
|
1348
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1349
|
+
path: z.ZodString;
|
|
1350
|
+
type: z.ZodString;
|
|
1351
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1352
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1353
|
+
bucket: z.ZodString;
|
|
1354
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1355
|
+
path: z.ZodString;
|
|
1356
|
+
type: z.ZodString;
|
|
1357
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1358
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1359
|
+
bucket: z.ZodString;
|
|
1360
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1361
|
+
path: z.ZodString;
|
|
1362
|
+
type: z.ZodString;
|
|
1363
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1364
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1365
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1366
|
+
message: z.ZodObject<{
|
|
1367
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1368
|
+
id: z.ZodString;
|
|
1369
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1370
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1371
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1372
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1373
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1374
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1375
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1376
|
+
bucket: z.ZodString;
|
|
1377
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1378
|
+
path: z.ZodString;
|
|
1379
|
+
type: z.ZodString;
|
|
1380
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1381
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1382
|
+
bucket: z.ZodString;
|
|
1383
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1384
|
+
path: z.ZodString;
|
|
1385
|
+
type: z.ZodString;
|
|
1386
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1387
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1388
|
+
bucket: z.ZodString;
|
|
1389
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1390
|
+
path: z.ZodString;
|
|
1391
|
+
type: z.ZodString;
|
|
1392
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1393
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1394
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1395
|
+
id: z.ZodString;
|
|
1396
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1397
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1398
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1399
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1400
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1401
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1402
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1403
|
+
bucket: z.ZodString;
|
|
1404
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1405
|
+
path: z.ZodString;
|
|
1406
|
+
type: z.ZodString;
|
|
1407
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1408
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1409
|
+
bucket: z.ZodString;
|
|
1410
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1411
|
+
path: z.ZodString;
|
|
1412
|
+
type: z.ZodString;
|
|
1413
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1414
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1415
|
+
bucket: z.ZodString;
|
|
1416
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1417
|
+
path: z.ZodString;
|
|
1418
|
+
type: z.ZodString;
|
|
1419
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1420
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1421
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1422
|
+
id: z.ZodString;
|
|
1423
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1424
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1425
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1426
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1427
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1428
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1429
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1430
|
+
bucket: z.ZodString;
|
|
1431
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1432
|
+
path: z.ZodString;
|
|
1433
|
+
type: z.ZodString;
|
|
1434
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1435
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1436
|
+
bucket: z.ZodString;
|
|
1437
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1438
|
+
path: z.ZodString;
|
|
1439
|
+
type: z.ZodString;
|
|
1440
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1441
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1442
|
+
bucket: z.ZodString;
|
|
1443
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1444
|
+
path: z.ZodString;
|
|
1445
|
+
type: z.ZodString;
|
|
1446
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1447
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1448
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1449
|
+
message: z.ZodObject<{
|
|
1450
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1451
|
+
id: z.ZodString;
|
|
1452
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1453
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1454
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1455
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1456
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1457
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1458
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1459
|
+
bucket: z.ZodString;
|
|
1460
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1461
|
+
path: z.ZodString;
|
|
1462
|
+
type: z.ZodString;
|
|
1463
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1464
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1465
|
+
bucket: z.ZodString;
|
|
1466
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1467
|
+
path: z.ZodString;
|
|
1468
|
+
type: z.ZodString;
|
|
1469
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1470
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1471
|
+
bucket: z.ZodString;
|
|
1472
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1473
|
+
path: z.ZodString;
|
|
1474
|
+
type: z.ZodString;
|
|
1475
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1476
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1477
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1478
|
+
id: z.ZodString;
|
|
1479
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1480
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1481
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1482
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1483
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1484
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1485
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1486
|
+
bucket: z.ZodString;
|
|
1487
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1488
|
+
path: z.ZodString;
|
|
1489
|
+
type: z.ZodString;
|
|
1490
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1491
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1492
|
+
bucket: z.ZodString;
|
|
1493
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1494
|
+
path: z.ZodString;
|
|
1495
|
+
type: z.ZodString;
|
|
1496
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1497
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1498
|
+
bucket: z.ZodString;
|
|
1499
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1500
|
+
path: z.ZodString;
|
|
1501
|
+
type: z.ZodString;
|
|
1502
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1503
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1504
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1505
|
+
id: z.ZodString;
|
|
1506
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1507
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1508
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1509
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1510
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1511
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1512
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1513
|
+
bucket: z.ZodString;
|
|
1514
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1515
|
+
path: z.ZodString;
|
|
1516
|
+
type: z.ZodString;
|
|
1517
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1518
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1519
|
+
bucket: z.ZodString;
|
|
1520
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1521
|
+
path: z.ZodString;
|
|
1522
|
+
type: z.ZodString;
|
|
1523
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1524
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1525
|
+
bucket: z.ZodString;
|
|
1526
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1527
|
+
path: z.ZodString;
|
|
1528
|
+
type: z.ZodString;
|
|
1529
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1530
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1531
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1532
|
+
timestamp: z.ZodOptional<z.ZodString>;
|
|
1533
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1534
|
+
type: z.ZodLiteral<"MESSAGE">;
|
|
1535
|
+
channel: z.ZodObject<{
|
|
1536
|
+
/** ID Chatbee — INTEGER em origem, mas castado para STRING na borda do adapter (DA-4). */
|
|
1537
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1538
|
+
/** Tenant slug — premissa P6 confiável (drabanzoli, clinica-moema, ...). */
|
|
1539
|
+
external_id: z.ZodString;
|
|
1540
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1541
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1542
|
+
/** ID Chatbee — INTEGER em origem, mas castado para STRING na borda do adapter (DA-4). */
|
|
1543
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1544
|
+
/** Tenant slug — premissa P6 confiável (drabanzoli, clinica-moema, ...). */
|
|
1545
|
+
external_id: z.ZodString;
|
|
1546
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1547
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1548
|
+
/** ID Chatbee — INTEGER em origem, mas castado para STRING na borda do adapter (DA-4). */
|
|
1549
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1550
|
+
/** Tenant slug — premissa P6 confiável (drabanzoli, clinica-moema, ...). */
|
|
1551
|
+
external_id: z.ZodString;
|
|
1552
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1553
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1554
|
+
contact: z.ZodObject<{
|
|
1555
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1556
|
+
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1557
|
+
address: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1558
|
+
type: z.ZodOptional<z.ZodString>;
|
|
1559
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1560
|
+
is_group: z.ZodOptional<z.ZodBoolean>;
|
|
1561
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1562
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1563
|
+
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1564
|
+
address: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1565
|
+
type: z.ZodOptional<z.ZodString>;
|
|
1566
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1567
|
+
is_group: z.ZodOptional<z.ZodBoolean>;
|
|
1568
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1569
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1570
|
+
name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1571
|
+
address: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
1572
|
+
type: z.ZodOptional<z.ZodString>;
|
|
1573
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1574
|
+
is_group: z.ZodOptional<z.ZodBoolean>;
|
|
1575
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1576
|
+
history: z.ZodOptional<z.ZodObject<{
|
|
1577
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1578
|
+
channel_id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1579
|
+
is_out_of_office_hours: z.ZodOptional<z.ZodBoolean>;
|
|
1580
|
+
automatic: z.ZodOptional<z.ZodBoolean>;
|
|
1581
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1582
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1583
|
+
channel_id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1584
|
+
is_out_of_office_hours: z.ZodOptional<z.ZodBoolean>;
|
|
1585
|
+
automatic: z.ZodOptional<z.ZodBoolean>;
|
|
1586
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1587
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1588
|
+
channel_id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1589
|
+
is_out_of_office_hours: z.ZodOptional<z.ZodBoolean>;
|
|
1590
|
+
automatic: z.ZodOptional<z.ZodBoolean>;
|
|
1591
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1592
|
+
/** Populado quando operador humano envia (event=out + user.id) — sinal de presença para handoff (DA-10). */
|
|
1593
|
+
user: z.ZodOptional<z.ZodObject<{
|
|
1594
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1595
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1596
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1597
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1598
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1599
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1600
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1601
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1602
|
+
id: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodString]>, string, string | number>;
|
|
1603
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1604
|
+
external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1605
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1606
|
+
payload: z.ZodObject<{
|
|
1607
|
+
message: z.ZodObject<{
|
|
1608
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1609
|
+
id: z.ZodString;
|
|
1610
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1611
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1612
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1613
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1614
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1615
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1616
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1617
|
+
bucket: z.ZodString;
|
|
1618
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1619
|
+
path: z.ZodString;
|
|
1620
|
+
type: z.ZodString;
|
|
1621
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1622
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1623
|
+
bucket: z.ZodString;
|
|
1624
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1625
|
+
path: z.ZodString;
|
|
1626
|
+
type: z.ZodString;
|
|
1627
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1628
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1629
|
+
bucket: z.ZodString;
|
|
1630
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1631
|
+
path: z.ZodString;
|
|
1632
|
+
type: z.ZodString;
|
|
1633
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1634
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1635
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1636
|
+
id: z.ZodString;
|
|
1637
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1638
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1639
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1640
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1641
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1642
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1643
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1644
|
+
bucket: z.ZodString;
|
|
1645
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1646
|
+
path: z.ZodString;
|
|
1647
|
+
type: z.ZodString;
|
|
1648
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1649
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1650
|
+
bucket: z.ZodString;
|
|
1651
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1652
|
+
path: z.ZodString;
|
|
1653
|
+
type: z.ZodString;
|
|
1654
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1655
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1656
|
+
bucket: z.ZodString;
|
|
1657
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1658
|
+
path: z.ZodString;
|
|
1659
|
+
type: z.ZodString;
|
|
1660
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1661
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1662
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1663
|
+
id: z.ZodString;
|
|
1664
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1665
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1666
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1667
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1668
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1669
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1670
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1671
|
+
bucket: z.ZodString;
|
|
1672
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1673
|
+
path: z.ZodString;
|
|
1674
|
+
type: z.ZodString;
|
|
1675
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1676
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1677
|
+
bucket: z.ZodString;
|
|
1678
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1679
|
+
path: z.ZodString;
|
|
1680
|
+
type: z.ZodString;
|
|
1681
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1682
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1683
|
+
bucket: z.ZodString;
|
|
1684
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1685
|
+
path: z.ZodString;
|
|
1686
|
+
type: z.ZodString;
|
|
1687
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1688
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1689
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1690
|
+
message: z.ZodObject<{
|
|
1691
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1692
|
+
id: z.ZodString;
|
|
1693
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1694
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1695
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1696
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1697
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1698
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1699
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1700
|
+
bucket: z.ZodString;
|
|
1701
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1702
|
+
path: z.ZodString;
|
|
1703
|
+
type: z.ZodString;
|
|
1704
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1705
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1706
|
+
bucket: z.ZodString;
|
|
1707
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1708
|
+
path: z.ZodString;
|
|
1709
|
+
type: z.ZodString;
|
|
1710
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1711
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1712
|
+
bucket: z.ZodString;
|
|
1713
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1714
|
+
path: z.ZodString;
|
|
1715
|
+
type: z.ZodString;
|
|
1716
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1717
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1718
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1719
|
+
id: z.ZodString;
|
|
1720
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1721
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1722
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1723
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1724
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1725
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1726
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1727
|
+
bucket: z.ZodString;
|
|
1728
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1729
|
+
path: z.ZodString;
|
|
1730
|
+
type: z.ZodString;
|
|
1731
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1732
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1733
|
+
bucket: z.ZodString;
|
|
1734
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1735
|
+
path: z.ZodString;
|
|
1736
|
+
type: z.ZodString;
|
|
1737
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1738
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1739
|
+
bucket: z.ZodString;
|
|
1740
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1741
|
+
path: z.ZodString;
|
|
1742
|
+
type: z.ZodString;
|
|
1743
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1744
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1745
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1746
|
+
id: z.ZodString;
|
|
1747
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1748
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1749
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1750
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1751
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1752
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1753
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1754
|
+
bucket: z.ZodString;
|
|
1755
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1756
|
+
path: z.ZodString;
|
|
1757
|
+
type: z.ZodString;
|
|
1758
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1759
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1760
|
+
bucket: z.ZodString;
|
|
1761
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1762
|
+
path: z.ZodString;
|
|
1763
|
+
type: z.ZodString;
|
|
1764
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1765
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1766
|
+
bucket: z.ZodString;
|
|
1767
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1768
|
+
path: z.ZodString;
|
|
1769
|
+
type: z.ZodString;
|
|
1770
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1771
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1772
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1773
|
+
message: z.ZodObject<{
|
|
1774
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1775
|
+
id: z.ZodString;
|
|
1776
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1777
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1778
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1779
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1780
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1781
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1782
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1783
|
+
bucket: z.ZodString;
|
|
1784
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1785
|
+
path: z.ZodString;
|
|
1786
|
+
type: z.ZodString;
|
|
1787
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1788
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1789
|
+
bucket: z.ZodString;
|
|
1790
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1791
|
+
path: z.ZodString;
|
|
1792
|
+
type: z.ZodString;
|
|
1793
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1794
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1795
|
+
bucket: z.ZodString;
|
|
1796
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1797
|
+
path: z.ZodString;
|
|
1798
|
+
type: z.ZodString;
|
|
1799
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1800
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1801
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1802
|
+
id: z.ZodString;
|
|
1803
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1804
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1805
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1806
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1807
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1808
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1809
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1810
|
+
bucket: z.ZodString;
|
|
1811
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1812
|
+
path: z.ZodString;
|
|
1813
|
+
type: z.ZodString;
|
|
1814
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1815
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1816
|
+
bucket: z.ZodString;
|
|
1817
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1818
|
+
path: z.ZodString;
|
|
1819
|
+
type: z.ZodString;
|
|
1820
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1821
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1822
|
+
bucket: z.ZodString;
|
|
1823
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1824
|
+
path: z.ZodString;
|
|
1825
|
+
type: z.ZodString;
|
|
1826
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1827
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1828
|
+
/** ID Chatbee da mensagem (ex.: "249199900"). String mas formato numérico. */
|
|
1829
|
+
id: z.ZodString;
|
|
1830
|
+
/** Texto OU URL signed do GCS para mídia. */
|
|
1831
|
+
content: z.ZodDefault<z.ZodString>;
|
|
1832
|
+
/** Direção semântica do payload. FILTRO ESSENCIAL no adapter — 'out' = eco. */
|
|
1833
|
+
event: z.ZodEnum<["in", "out"]>;
|
|
1834
|
+
type: z.ZodEnum<["text", "audio", "image", "document", "template", "ptt", "sticker", "story_mention", "video", "vcard"]>;
|
|
1835
|
+
media: z.ZodOptional<z.ZodObject<{
|
|
1836
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1837
|
+
bucket: z.ZodString;
|
|
1838
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1839
|
+
path: z.ZodString;
|
|
1840
|
+
type: z.ZodString;
|
|
1841
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1842
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1843
|
+
bucket: z.ZodString;
|
|
1844
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1845
|
+
path: z.ZodString;
|
|
1846
|
+
type: z.ZodString;
|
|
1847
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1848
|
+
/** Bucket GCS onde o normalizer reuploadou a mídia. Confirmado em prod: `hr-evo360-evo-chat`. */
|
|
1849
|
+
bucket: z.ZodString;
|
|
1850
|
+
/** Path no bucket (ex.: `tenants/{tenant}/{channel_uuid}/{contact_id}/document_{msg_id}.pdf`). */
|
|
1851
|
+
path: z.ZodString;
|
|
1852
|
+
type: z.ZodString;
|
|
1853
|
+
}, z.ZodTypeAny, "passthrough">>>;
|
|
1854
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1855
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1856
|
+
timestamp: z.ZodOptional<z.ZodString>;
|
|
1857
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
1858
|
+
export type IChatbeeNormalizedMessage = z.infer<typeof zChatbeeNormalizedMessageSchema>;
|
|
1859
|
+
export type IChatbeeNormalizedInnerMessage = z.infer<typeof zChatbeeNormalizedInnerMessageSchema>;
|
|
1860
|
+
export type IChatbeeNormalizedMedia = z.infer<typeof zChatbeeNormalizedMediaSchema>;
|