@gymspace/shared 1.2.11 → 1.2.13

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/index.d.mts CHANGED
@@ -213,7 +213,7 @@ interface TemplateMetadata {
213
213
  type UUID = string;
214
214
  type Currency = 'USD' | 'EUR' | 'PEN' | 'MXN' | 'COP' | 'ARS' | 'CLP';
215
215
  type EntityType = 'user' | 'organization' | 'gym' | 'collaborator' | 'client' | 'contract' | 'asset';
216
- type Permission = 'SUPER_ADMIN' | 'OWNER' | 'ORGANIZATIONS_CREATE' | 'ORGANIZATIONS_READ' | 'ORGANIZATIONS_UPDATE' | 'ORGANIZATIONS_DELETE' | 'GYMS_CREATE' | 'GYMS_READ' | 'GYMS_UPDATE' | 'GYMS_DELETE' | 'COLLABORATORS_CREATE' | 'COLLABORATORS_READ' | 'COLLABORATORS_UPDATE' | 'COLLABORATORS_DELETE' | 'CLIENTS_CREATE' | 'CLIENTS_READ' | 'CLIENTS_UPDATE' | 'CLIENTS_DELETE' | 'CONTRACTS_CREATE' | 'CONTRACTS_READ' | 'CONTRACTS_UPDATE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'CHECKINS_CREATE' | 'CHECKINS_READ' | 'REPORTS_VIEW' | 'REPORTS_FINANCIAL' | 'SETTINGS_UPDATE' | 'ASSETS_CREATE' | 'ASSETS_READ' | 'ASSETS_DELETE' | 'FILES_CREATE' | 'FILES_READ' | 'FILES_DELETE' | 'PRODUCTS_CREATE' | 'PRODUCTS_READ' | 'PRODUCTS_UPDATE' | 'PRODUCTS_DELETE' | 'PRODUCT_CATEGORIES_CREATE' | 'PRODUCT_CATEGORIES_READ' | 'PRODUCT_CATEGORIES_UPDATE' | 'PRODUCT_CATEGORIES_DELETE' | 'SALES_CREATE' | 'SALES_READ' | 'SALES_UPDATE' | 'SALES_DELETE' | 'SUPPLIERS_CREATE' | 'SUPPLIERS_READ' | 'SUPPLIERS_UPDATE' | 'SUPPLIERS_DELETE' | 'PAYMENT_METHODS_CREATE' | 'PAYMENT_METHODS_READ' | 'PAYMENT_METHODS_UPDATE' | 'PAYMENT_METHODS_DELETE' | 'WHATSAPP_READ' | 'WHATSAPP_SEND' | 'WHATSAPP_MANAGE';
216
+ type Permission = 'SUPER_ADMIN' | 'OWNER' | 'ORGANIZATIONS_CREATE' | 'ORGANIZATIONS_READ' | 'ORGANIZATIONS_UPDATE' | 'ORGANIZATIONS_DELETE' | 'GYMS_CREATE' | 'GYMS_READ' | 'GYMS_UPDATE' | 'GYMS_DELETE' | 'COLLABORATORS_CREATE' | 'COLLABORATORS_READ' | 'COLLABORATORS_UPDATE' | 'COLLABORATORS_DELETE' | 'CLIENTS_CREATE' | 'CLIENTS_READ' | 'CLIENTS_UPDATE' | 'CLIENTS_DELETE' | 'CONTRACTS_CREATE' | 'CONTRACTS_READ' | 'CONTRACTS_UPDATE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'CHECKINS_CREATE' | 'CHECKINS_READ' | 'REPORTS_VIEW' | 'REPORTS_FINANCIAL' | 'SETTINGS_UPDATE' | 'ASSETS_CREATE' | 'ASSETS_READ' | 'ASSETS_DELETE' | 'FILES_CREATE' | 'FILES_READ' | 'FILES_DELETE' | 'PRODUCTS_CREATE' | 'PRODUCTS_READ' | 'PRODUCTS_UPDATE' | 'PRODUCTS_DELETE' | 'PRODUCT_CATEGORIES_CREATE' | 'PRODUCT_CATEGORIES_READ' | 'PRODUCT_CATEGORIES_UPDATE' | 'PRODUCT_CATEGORIES_DELETE' | 'SALES_CREATE' | 'SALES_READ' | 'SALES_UPDATE' | 'SALES_DELETE' | 'SUPPLIERS_CREATE' | 'SUPPLIERS_READ' | 'SUPPLIERS_UPDATE' | 'SUPPLIERS_DELETE' | 'PAYMENT_METHODS_CREATE' | 'PAYMENT_METHODS_READ' | 'PAYMENT_METHODS_UPDATE' | 'PAYMENT_METHODS_DELETE' | 'WHATSAPP_READ' | 'WHATSAPP_SEND' | 'WHATSAPP_MANAGE' | 'WHATSAPP_BULK_SEND' | 'WHATSAPP_BULK_MANAGE';
217
217
  interface AuditFields {
218
218
  createdByUserId: UUID;
219
219
  updatedByUserId?: UUID;
@@ -558,6 +558,24 @@ declare const TEMPLATE_METADATA: {
558
558
  };
559
559
  };
560
560
 
561
+ interface BulkMessageVariable {
562
+ name: string;
563
+ placeholder: string;
564
+ description: string;
565
+ example: string;
566
+ category: 'client' | 'gym' | 'membership' | 'datetime' | 'custom';
567
+ required: boolean;
568
+ formatter?: 'text' | 'currency' | 'date' | 'number';
569
+ }
570
+ declare const BULK_MESSAGE_VARIABLES: BulkMessageVariable[];
571
+ declare const BULK_MESSAGE_VARIABLE_CATEGORIES: {
572
+ readonly client: "Cliente";
573
+ readonly gym: "Gimnasio";
574
+ readonly membership: "Membresía";
575
+ readonly datetime: "Fecha/Hora";
576
+ readonly custom: "Personalizado";
577
+ };
578
+
561
579
  declare const PERMISSIONS: {
562
580
  readonly ORGANIZATIONS_CREATE: "ORGANIZATIONS_CREATE";
563
581
  readonly ORGANIZATIONS_READ: "ORGANIZATIONS_READ";
@@ -614,12 +632,14 @@ declare const PERMISSIONS: {
614
632
  readonly WHATSAPP_READ: "WHATSAPP_READ";
615
633
  readonly WHATSAPP_SEND: "WHATSAPP_SEND";
616
634
  readonly WHATSAPP_MANAGE: "WHATSAPP_MANAGE";
635
+ readonly WHATSAPP_BULK_SEND: "WHATSAPP_BULK_SEND";
636
+ readonly WHATSAPP_BULK_MANAGE: "WHATSAPP_BULK_MANAGE";
617
637
  readonly SUPER_ADMIN: "SUPER_ADMIN";
618
638
  readonly OWNER: "OWNER";
619
639
  readonly All: "ALL";
620
640
  };
621
641
  declare const ROLE_PERMISSIONS: {
622
- readonly ADMIN: ("SUPER_ADMIN" | "OWNER" | "ORGANIZATIONS_CREATE" | "ORGANIZATIONS_READ" | "ORGANIZATIONS_UPDATE" | "ORGANIZATIONS_DELETE" | "GYMS_CREATE" | "GYMS_READ" | "GYMS_UPDATE" | "GYMS_DELETE" | "COLLABORATORS_CREATE" | "COLLABORATORS_READ" | "COLLABORATORS_UPDATE" | "COLLABORATORS_DELETE" | "CLIENTS_CREATE" | "CLIENTS_READ" | "CLIENTS_UPDATE" | "CLIENTS_DELETE" | "CONTRACTS_CREATE" | "CONTRACTS_READ" | "CONTRACTS_UPDATE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "CHECKINS_CREATE" | "CHECKINS_READ" | "REPORTS_VIEW" | "REPORTS_FINANCIAL" | "SETTINGS_UPDATE" | "ASSETS_CREATE" | "ASSETS_READ" | "ASSETS_DELETE" | "FILES_CREATE" | "FILES_READ" | "FILES_DELETE" | "PRODUCTS_CREATE" | "PRODUCTS_READ" | "PRODUCTS_UPDATE" | "PRODUCTS_DELETE" | "PRODUCT_CATEGORIES_CREATE" | "PRODUCT_CATEGORIES_READ" | "PRODUCT_CATEGORIES_UPDATE" | "PRODUCT_CATEGORIES_DELETE" | "SALES_CREATE" | "SALES_READ" | "SALES_UPDATE" | "SALES_DELETE" | "SUPPLIERS_CREATE" | "SUPPLIERS_READ" | "SUPPLIERS_UPDATE" | "SUPPLIERS_DELETE" | "PAYMENT_METHODS_CREATE" | "PAYMENT_METHODS_READ" | "PAYMENT_METHODS_UPDATE" | "PAYMENT_METHODS_DELETE" | "WHATSAPP_READ" | "WHATSAPP_SEND" | "WHATSAPP_MANAGE" | "ALL")[];
642
+ readonly ADMIN: ("SUPER_ADMIN" | "OWNER" | "ORGANIZATIONS_CREATE" | "ORGANIZATIONS_READ" | "ORGANIZATIONS_UPDATE" | "ORGANIZATIONS_DELETE" | "GYMS_CREATE" | "GYMS_READ" | "GYMS_UPDATE" | "GYMS_DELETE" | "COLLABORATORS_CREATE" | "COLLABORATORS_READ" | "COLLABORATORS_UPDATE" | "COLLABORATORS_DELETE" | "CLIENTS_CREATE" | "CLIENTS_READ" | "CLIENTS_UPDATE" | "CLIENTS_DELETE" | "CONTRACTS_CREATE" | "CONTRACTS_READ" | "CONTRACTS_UPDATE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "CHECKINS_CREATE" | "CHECKINS_READ" | "REPORTS_VIEW" | "REPORTS_FINANCIAL" | "SETTINGS_UPDATE" | "ASSETS_CREATE" | "ASSETS_READ" | "ASSETS_DELETE" | "FILES_CREATE" | "FILES_READ" | "FILES_DELETE" | "PRODUCTS_CREATE" | "PRODUCTS_READ" | "PRODUCTS_UPDATE" | "PRODUCTS_DELETE" | "PRODUCT_CATEGORIES_CREATE" | "PRODUCT_CATEGORIES_READ" | "PRODUCT_CATEGORIES_UPDATE" | "PRODUCT_CATEGORIES_DELETE" | "SALES_CREATE" | "SALES_READ" | "SALES_UPDATE" | "SALES_DELETE" | "SUPPLIERS_CREATE" | "SUPPLIERS_READ" | "SUPPLIERS_UPDATE" | "SUPPLIERS_DELETE" | "PAYMENT_METHODS_CREATE" | "PAYMENT_METHODS_READ" | "PAYMENT_METHODS_UPDATE" | "PAYMENT_METHODS_DELETE" | "WHATSAPP_READ" | "WHATSAPP_SEND" | "WHATSAPP_MANAGE" | "WHATSAPP_BULK_SEND" | "WHATSAPP_BULK_MANAGE" | "ALL")[];
623
643
  readonly MANAGER: readonly ["GYMS_READ", "COLLABORATORS_READ", "CLIENTS_CREATE", "CLIENTS_READ", "CLIENTS_UPDATE", "CONTRACTS_CREATE", "CONTRACTS_READ", "CHECKINS_CREATE", "CHECKINS_READ", "REPORTS_VIEW", "ASSETS_CREATE", "ASSETS_READ", "ASSETS_DELETE", "FILES_CREATE", "FILES_READ", "FILES_DELETE", "PRODUCTS_CREATE", "PRODUCTS_READ", "PRODUCTS_UPDATE", "PRODUCTS_DELETE", "PRODUCT_CATEGORIES_CREATE", "PRODUCT_CATEGORIES_READ", "PRODUCT_CATEGORIES_UPDATE", "PRODUCT_CATEGORIES_DELETE", "SALES_CREATE", "SALES_READ", "SALES_UPDATE", "SUPPLIERS_CREATE", "SUPPLIERS_READ", "SUPPLIERS_UPDATE", "SUPPLIERS_DELETE", "PAYMENT_METHODS_CREATE", "PAYMENT_METHODS_READ", "PAYMENT_METHODS_UPDATE", "PAYMENT_METHODS_DELETE"];
624
644
  };
625
645
  declare const CACHE_TTL: {
@@ -686,6 +706,61 @@ declare const WHATSAPP_EVENTS: {
686
706
  readonly CONNECTION_UPDATE: "whatsapp/connection.update";
687
707
  };
688
708
 
709
+ declare const BULK_MESSAGING_EVENTS: {
710
+ readonly GENERATE_BULK_MESSAGE: "whatsapp/bulk-message.generate";
711
+ readonly SEND_BULK_MESSAGES: "whatsapp/bulk-messages.send";
712
+ };
713
+ interface GenerateBulkMessageEvent {
714
+ name: typeof BULK_MESSAGING_EVENTS.GENERATE_BULK_MESSAGE;
715
+ data: {
716
+ gymId: string;
717
+ userId: string;
718
+ prompt: string;
719
+ includeVariables?: string[];
720
+ tone?: 'promotional' | 'informational' | 'reminder' | 'greeting' | 'custom' | 'friendly';
721
+ language?: string;
722
+ additionalRequirements?: string;
723
+ };
724
+ }
725
+ interface SendBulkMessagesEvent {
726
+ name: typeof BULK_MESSAGING_EVENTS.SEND_BULK_MESSAGES;
727
+ data: {
728
+ sendId: string;
729
+ gymId: string;
730
+ userId: string;
731
+ instanceName: string;
732
+ templateId?: string;
733
+ message: string;
734
+ clients: Array<{
735
+ clientId: string;
736
+ clientName: string;
737
+ phoneNumber: string;
738
+ data: {
739
+ id: string;
740
+ name: string;
741
+ email?: string;
742
+ phone: string;
743
+ activePlan?: {
744
+ name: string;
745
+ expirationDate?: Date;
746
+ amount?: number;
747
+ };
748
+ membershipStatus?: string;
749
+ metadata?: Record<string, any>;
750
+ };
751
+ }>;
752
+ gymData: {
753
+ name: string;
754
+ phone?: string;
755
+ address?: string;
756
+ countryConfig: {
757
+ currency: string;
758
+ locale: string;
759
+ };
760
+ };
761
+ };
762
+ }
763
+
689
764
  declare const templateGenerationRequestSchema: z.ZodObject<{
690
765
  templateCode: z.ZodString;
691
766
  templateMetadata: z.ZodObject<{
@@ -734,16 +809,54 @@ declare const aiGeneratedTemplateSchema: z.ZodObject<{
734
809
  suggestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
735
810
  }, "strip", z.ZodTypeAny, {
736
811
  message: string;
737
- tone: "professional" | "friendly" | "casual" | "urgent";
812
+ tone: "friendly" | "professional" | "casual" | "urgent";
738
813
  usedVariables: string[];
739
814
  suggestions?: string[] | undefined;
740
815
  }, {
741
816
  message: string;
742
- tone: "professional" | "friendly" | "casual" | "urgent";
817
+ tone: "friendly" | "professional" | "casual" | "urgent";
743
818
  usedVariables: string[];
744
819
  suggestions?: string[] | undefined;
745
820
  }>;
746
821
  type TemplateGenerationRequest = z.infer<typeof templateGenerationRequestSchema>;
747
822
  type AIGeneratedTemplate = z.infer<typeof aiGeneratedTemplateSchema>;
748
823
 
749
- export { type AIGeneratedTemplate, type AcceptInvitationDto, type ActivityItem, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, type BirthdayTemplateData, CACHE_TTL, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, HEADERS, type ICollaborator, type IGym, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, type StatsQueryParams, SubscriptionStatus, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, type ValidateByCodeDto, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, aiGeneratedTemplateSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, isAdminRole, isEncargadoRole, templateGenerationRequestSchema };
824
+ declare const bulkMessageGenerationRequestSchema: z.ZodObject<{
825
+ prompt: z.ZodString;
826
+ tone: z.ZodOptional<z.ZodEnum<["promotional", "informational", "reminder", "greeting", "friendly"]>>;
827
+ includeVariables: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
828
+ additionalRequirements: z.ZodOptional<z.ZodString>;
829
+ language: z.ZodDefault<z.ZodString>;
830
+ }, "strip", z.ZodTypeAny, {
831
+ language: string;
832
+ prompt: string;
833
+ tone?: "promotional" | "informational" | "reminder" | "greeting" | "friendly" | undefined;
834
+ includeVariables?: string[] | undefined;
835
+ additionalRequirements?: string | undefined;
836
+ }, {
837
+ prompt: string;
838
+ language?: string | undefined;
839
+ tone?: "promotional" | "informational" | "reminder" | "greeting" | "friendly" | undefined;
840
+ includeVariables?: string[] | undefined;
841
+ additionalRequirements?: string | undefined;
842
+ }>;
843
+ declare const bulkMessageSchema: z.ZodObject<{
844
+ message: z.ZodString;
845
+ tone: z.ZodEnum<["promotional", "informational", "reminder", "greeting", "friendly"]>;
846
+ usedVariables: z.ZodArray<z.ZodString, "many">;
847
+ suggestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
848
+ }, "strip", z.ZodTypeAny, {
849
+ message: string;
850
+ tone: "promotional" | "informational" | "reminder" | "greeting" | "friendly";
851
+ usedVariables: string[];
852
+ suggestions?: string[] | undefined;
853
+ }, {
854
+ message: string;
855
+ tone: "promotional" | "informational" | "reminder" | "greeting" | "friendly";
856
+ usedVariables: string[];
857
+ suggestions?: string[] | undefined;
858
+ }>;
859
+ type BulkMessageGenerationRequest = z.infer<typeof bulkMessageGenerationRequestSchema>;
860
+ type BulkMessage = z.infer<typeof bulkMessageSchema>;
861
+
862
+ export { type AIGeneratedTemplate, type AcceptInvitationDto, type ActivityItem, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageGenerationRequest, type BulkMessageVariable, CACHE_TTL, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, type GenerateBulkMessageEvent, HEADERS, type ICollaborator, type IGym, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, type SendBulkMessagesEvent, type StatsQueryParams, SubscriptionStatus, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, type ValidateByCodeDto, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, isAdminRole, isEncargadoRole, templateGenerationRequestSchema };
package/dist/index.d.ts CHANGED
@@ -213,7 +213,7 @@ interface TemplateMetadata {
213
213
  type UUID = string;
214
214
  type Currency = 'USD' | 'EUR' | 'PEN' | 'MXN' | 'COP' | 'ARS' | 'CLP';
215
215
  type EntityType = 'user' | 'organization' | 'gym' | 'collaborator' | 'client' | 'contract' | 'asset';
216
- type Permission = 'SUPER_ADMIN' | 'OWNER' | 'ORGANIZATIONS_CREATE' | 'ORGANIZATIONS_READ' | 'ORGANIZATIONS_UPDATE' | 'ORGANIZATIONS_DELETE' | 'GYMS_CREATE' | 'GYMS_READ' | 'GYMS_UPDATE' | 'GYMS_DELETE' | 'COLLABORATORS_CREATE' | 'COLLABORATORS_READ' | 'COLLABORATORS_UPDATE' | 'COLLABORATORS_DELETE' | 'CLIENTS_CREATE' | 'CLIENTS_READ' | 'CLIENTS_UPDATE' | 'CLIENTS_DELETE' | 'CONTRACTS_CREATE' | 'CONTRACTS_READ' | 'CONTRACTS_UPDATE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'CHECKINS_CREATE' | 'CHECKINS_READ' | 'REPORTS_VIEW' | 'REPORTS_FINANCIAL' | 'SETTINGS_UPDATE' | 'ASSETS_CREATE' | 'ASSETS_READ' | 'ASSETS_DELETE' | 'FILES_CREATE' | 'FILES_READ' | 'FILES_DELETE' | 'PRODUCTS_CREATE' | 'PRODUCTS_READ' | 'PRODUCTS_UPDATE' | 'PRODUCTS_DELETE' | 'PRODUCT_CATEGORIES_CREATE' | 'PRODUCT_CATEGORIES_READ' | 'PRODUCT_CATEGORIES_UPDATE' | 'PRODUCT_CATEGORIES_DELETE' | 'SALES_CREATE' | 'SALES_READ' | 'SALES_UPDATE' | 'SALES_DELETE' | 'SUPPLIERS_CREATE' | 'SUPPLIERS_READ' | 'SUPPLIERS_UPDATE' | 'SUPPLIERS_DELETE' | 'PAYMENT_METHODS_CREATE' | 'PAYMENT_METHODS_READ' | 'PAYMENT_METHODS_UPDATE' | 'PAYMENT_METHODS_DELETE' | 'WHATSAPP_READ' | 'WHATSAPP_SEND' | 'WHATSAPP_MANAGE';
216
+ type Permission = 'SUPER_ADMIN' | 'OWNER' | 'ORGANIZATIONS_CREATE' | 'ORGANIZATIONS_READ' | 'ORGANIZATIONS_UPDATE' | 'ORGANIZATIONS_DELETE' | 'GYMS_CREATE' | 'GYMS_READ' | 'GYMS_UPDATE' | 'GYMS_DELETE' | 'COLLABORATORS_CREATE' | 'COLLABORATORS_READ' | 'COLLABORATORS_UPDATE' | 'COLLABORATORS_DELETE' | 'CLIENTS_CREATE' | 'CLIENTS_READ' | 'CLIENTS_UPDATE' | 'CLIENTS_DELETE' | 'CONTRACTS_CREATE' | 'CONTRACTS_READ' | 'CONTRACTS_UPDATE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'CHECKINS_CREATE' | 'CHECKINS_READ' | 'REPORTS_VIEW' | 'REPORTS_FINANCIAL' | 'SETTINGS_UPDATE' | 'ASSETS_CREATE' | 'ASSETS_READ' | 'ASSETS_DELETE' | 'FILES_CREATE' | 'FILES_READ' | 'FILES_DELETE' | 'PRODUCTS_CREATE' | 'PRODUCTS_READ' | 'PRODUCTS_UPDATE' | 'PRODUCTS_DELETE' | 'PRODUCT_CATEGORIES_CREATE' | 'PRODUCT_CATEGORIES_READ' | 'PRODUCT_CATEGORIES_UPDATE' | 'PRODUCT_CATEGORIES_DELETE' | 'SALES_CREATE' | 'SALES_READ' | 'SALES_UPDATE' | 'SALES_DELETE' | 'SUPPLIERS_CREATE' | 'SUPPLIERS_READ' | 'SUPPLIERS_UPDATE' | 'SUPPLIERS_DELETE' | 'PAYMENT_METHODS_CREATE' | 'PAYMENT_METHODS_READ' | 'PAYMENT_METHODS_UPDATE' | 'PAYMENT_METHODS_DELETE' | 'WHATSAPP_READ' | 'WHATSAPP_SEND' | 'WHATSAPP_MANAGE' | 'WHATSAPP_BULK_SEND' | 'WHATSAPP_BULK_MANAGE';
217
217
  interface AuditFields {
218
218
  createdByUserId: UUID;
219
219
  updatedByUserId?: UUID;
@@ -558,6 +558,24 @@ declare const TEMPLATE_METADATA: {
558
558
  };
559
559
  };
560
560
 
561
+ interface BulkMessageVariable {
562
+ name: string;
563
+ placeholder: string;
564
+ description: string;
565
+ example: string;
566
+ category: 'client' | 'gym' | 'membership' | 'datetime' | 'custom';
567
+ required: boolean;
568
+ formatter?: 'text' | 'currency' | 'date' | 'number';
569
+ }
570
+ declare const BULK_MESSAGE_VARIABLES: BulkMessageVariable[];
571
+ declare const BULK_MESSAGE_VARIABLE_CATEGORIES: {
572
+ readonly client: "Cliente";
573
+ readonly gym: "Gimnasio";
574
+ readonly membership: "Membresía";
575
+ readonly datetime: "Fecha/Hora";
576
+ readonly custom: "Personalizado";
577
+ };
578
+
561
579
  declare const PERMISSIONS: {
562
580
  readonly ORGANIZATIONS_CREATE: "ORGANIZATIONS_CREATE";
563
581
  readonly ORGANIZATIONS_READ: "ORGANIZATIONS_READ";
@@ -614,12 +632,14 @@ declare const PERMISSIONS: {
614
632
  readonly WHATSAPP_READ: "WHATSAPP_READ";
615
633
  readonly WHATSAPP_SEND: "WHATSAPP_SEND";
616
634
  readonly WHATSAPP_MANAGE: "WHATSAPP_MANAGE";
635
+ readonly WHATSAPP_BULK_SEND: "WHATSAPP_BULK_SEND";
636
+ readonly WHATSAPP_BULK_MANAGE: "WHATSAPP_BULK_MANAGE";
617
637
  readonly SUPER_ADMIN: "SUPER_ADMIN";
618
638
  readonly OWNER: "OWNER";
619
639
  readonly All: "ALL";
620
640
  };
621
641
  declare const ROLE_PERMISSIONS: {
622
- readonly ADMIN: ("SUPER_ADMIN" | "OWNER" | "ORGANIZATIONS_CREATE" | "ORGANIZATIONS_READ" | "ORGANIZATIONS_UPDATE" | "ORGANIZATIONS_DELETE" | "GYMS_CREATE" | "GYMS_READ" | "GYMS_UPDATE" | "GYMS_DELETE" | "COLLABORATORS_CREATE" | "COLLABORATORS_READ" | "COLLABORATORS_UPDATE" | "COLLABORATORS_DELETE" | "CLIENTS_CREATE" | "CLIENTS_READ" | "CLIENTS_UPDATE" | "CLIENTS_DELETE" | "CONTRACTS_CREATE" | "CONTRACTS_READ" | "CONTRACTS_UPDATE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "CHECKINS_CREATE" | "CHECKINS_READ" | "REPORTS_VIEW" | "REPORTS_FINANCIAL" | "SETTINGS_UPDATE" | "ASSETS_CREATE" | "ASSETS_READ" | "ASSETS_DELETE" | "FILES_CREATE" | "FILES_READ" | "FILES_DELETE" | "PRODUCTS_CREATE" | "PRODUCTS_READ" | "PRODUCTS_UPDATE" | "PRODUCTS_DELETE" | "PRODUCT_CATEGORIES_CREATE" | "PRODUCT_CATEGORIES_READ" | "PRODUCT_CATEGORIES_UPDATE" | "PRODUCT_CATEGORIES_DELETE" | "SALES_CREATE" | "SALES_READ" | "SALES_UPDATE" | "SALES_DELETE" | "SUPPLIERS_CREATE" | "SUPPLIERS_READ" | "SUPPLIERS_UPDATE" | "SUPPLIERS_DELETE" | "PAYMENT_METHODS_CREATE" | "PAYMENT_METHODS_READ" | "PAYMENT_METHODS_UPDATE" | "PAYMENT_METHODS_DELETE" | "WHATSAPP_READ" | "WHATSAPP_SEND" | "WHATSAPP_MANAGE" | "ALL")[];
642
+ readonly ADMIN: ("SUPER_ADMIN" | "OWNER" | "ORGANIZATIONS_CREATE" | "ORGANIZATIONS_READ" | "ORGANIZATIONS_UPDATE" | "ORGANIZATIONS_DELETE" | "GYMS_CREATE" | "GYMS_READ" | "GYMS_UPDATE" | "GYMS_DELETE" | "COLLABORATORS_CREATE" | "COLLABORATORS_READ" | "COLLABORATORS_UPDATE" | "COLLABORATORS_DELETE" | "CLIENTS_CREATE" | "CLIENTS_READ" | "CLIENTS_UPDATE" | "CLIENTS_DELETE" | "CONTRACTS_CREATE" | "CONTRACTS_READ" | "CONTRACTS_UPDATE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "CHECKINS_CREATE" | "CHECKINS_READ" | "REPORTS_VIEW" | "REPORTS_FINANCIAL" | "SETTINGS_UPDATE" | "ASSETS_CREATE" | "ASSETS_READ" | "ASSETS_DELETE" | "FILES_CREATE" | "FILES_READ" | "FILES_DELETE" | "PRODUCTS_CREATE" | "PRODUCTS_READ" | "PRODUCTS_UPDATE" | "PRODUCTS_DELETE" | "PRODUCT_CATEGORIES_CREATE" | "PRODUCT_CATEGORIES_READ" | "PRODUCT_CATEGORIES_UPDATE" | "PRODUCT_CATEGORIES_DELETE" | "SALES_CREATE" | "SALES_READ" | "SALES_UPDATE" | "SALES_DELETE" | "SUPPLIERS_CREATE" | "SUPPLIERS_READ" | "SUPPLIERS_UPDATE" | "SUPPLIERS_DELETE" | "PAYMENT_METHODS_CREATE" | "PAYMENT_METHODS_READ" | "PAYMENT_METHODS_UPDATE" | "PAYMENT_METHODS_DELETE" | "WHATSAPP_READ" | "WHATSAPP_SEND" | "WHATSAPP_MANAGE" | "WHATSAPP_BULK_SEND" | "WHATSAPP_BULK_MANAGE" | "ALL")[];
623
643
  readonly MANAGER: readonly ["GYMS_READ", "COLLABORATORS_READ", "CLIENTS_CREATE", "CLIENTS_READ", "CLIENTS_UPDATE", "CONTRACTS_CREATE", "CONTRACTS_READ", "CHECKINS_CREATE", "CHECKINS_READ", "REPORTS_VIEW", "ASSETS_CREATE", "ASSETS_READ", "ASSETS_DELETE", "FILES_CREATE", "FILES_READ", "FILES_DELETE", "PRODUCTS_CREATE", "PRODUCTS_READ", "PRODUCTS_UPDATE", "PRODUCTS_DELETE", "PRODUCT_CATEGORIES_CREATE", "PRODUCT_CATEGORIES_READ", "PRODUCT_CATEGORIES_UPDATE", "PRODUCT_CATEGORIES_DELETE", "SALES_CREATE", "SALES_READ", "SALES_UPDATE", "SUPPLIERS_CREATE", "SUPPLIERS_READ", "SUPPLIERS_UPDATE", "SUPPLIERS_DELETE", "PAYMENT_METHODS_CREATE", "PAYMENT_METHODS_READ", "PAYMENT_METHODS_UPDATE", "PAYMENT_METHODS_DELETE"];
624
644
  };
625
645
  declare const CACHE_TTL: {
@@ -686,6 +706,61 @@ declare const WHATSAPP_EVENTS: {
686
706
  readonly CONNECTION_UPDATE: "whatsapp/connection.update";
687
707
  };
688
708
 
709
+ declare const BULK_MESSAGING_EVENTS: {
710
+ readonly GENERATE_BULK_MESSAGE: "whatsapp/bulk-message.generate";
711
+ readonly SEND_BULK_MESSAGES: "whatsapp/bulk-messages.send";
712
+ };
713
+ interface GenerateBulkMessageEvent {
714
+ name: typeof BULK_MESSAGING_EVENTS.GENERATE_BULK_MESSAGE;
715
+ data: {
716
+ gymId: string;
717
+ userId: string;
718
+ prompt: string;
719
+ includeVariables?: string[];
720
+ tone?: 'promotional' | 'informational' | 'reminder' | 'greeting' | 'custom' | 'friendly';
721
+ language?: string;
722
+ additionalRequirements?: string;
723
+ };
724
+ }
725
+ interface SendBulkMessagesEvent {
726
+ name: typeof BULK_MESSAGING_EVENTS.SEND_BULK_MESSAGES;
727
+ data: {
728
+ sendId: string;
729
+ gymId: string;
730
+ userId: string;
731
+ instanceName: string;
732
+ templateId?: string;
733
+ message: string;
734
+ clients: Array<{
735
+ clientId: string;
736
+ clientName: string;
737
+ phoneNumber: string;
738
+ data: {
739
+ id: string;
740
+ name: string;
741
+ email?: string;
742
+ phone: string;
743
+ activePlan?: {
744
+ name: string;
745
+ expirationDate?: Date;
746
+ amount?: number;
747
+ };
748
+ membershipStatus?: string;
749
+ metadata?: Record<string, any>;
750
+ };
751
+ }>;
752
+ gymData: {
753
+ name: string;
754
+ phone?: string;
755
+ address?: string;
756
+ countryConfig: {
757
+ currency: string;
758
+ locale: string;
759
+ };
760
+ };
761
+ };
762
+ }
763
+
689
764
  declare const templateGenerationRequestSchema: z.ZodObject<{
690
765
  templateCode: z.ZodString;
691
766
  templateMetadata: z.ZodObject<{
@@ -734,16 +809,54 @@ declare const aiGeneratedTemplateSchema: z.ZodObject<{
734
809
  suggestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
735
810
  }, "strip", z.ZodTypeAny, {
736
811
  message: string;
737
- tone: "professional" | "friendly" | "casual" | "urgent";
812
+ tone: "friendly" | "professional" | "casual" | "urgent";
738
813
  usedVariables: string[];
739
814
  suggestions?: string[] | undefined;
740
815
  }, {
741
816
  message: string;
742
- tone: "professional" | "friendly" | "casual" | "urgent";
817
+ tone: "friendly" | "professional" | "casual" | "urgent";
743
818
  usedVariables: string[];
744
819
  suggestions?: string[] | undefined;
745
820
  }>;
746
821
  type TemplateGenerationRequest = z.infer<typeof templateGenerationRequestSchema>;
747
822
  type AIGeneratedTemplate = z.infer<typeof aiGeneratedTemplateSchema>;
748
823
 
749
- export { type AIGeneratedTemplate, type AcceptInvitationDto, type ActivityItem, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, type BirthdayTemplateData, CACHE_TTL, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, HEADERS, type ICollaborator, type IGym, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, type StatsQueryParams, SubscriptionStatus, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, type ValidateByCodeDto, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, aiGeneratedTemplateSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, isAdminRole, isEncargadoRole, templateGenerationRequestSchema };
824
+ declare const bulkMessageGenerationRequestSchema: z.ZodObject<{
825
+ prompt: z.ZodString;
826
+ tone: z.ZodOptional<z.ZodEnum<["promotional", "informational", "reminder", "greeting", "friendly"]>>;
827
+ includeVariables: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
828
+ additionalRequirements: z.ZodOptional<z.ZodString>;
829
+ language: z.ZodDefault<z.ZodString>;
830
+ }, "strip", z.ZodTypeAny, {
831
+ language: string;
832
+ prompt: string;
833
+ tone?: "promotional" | "informational" | "reminder" | "greeting" | "friendly" | undefined;
834
+ includeVariables?: string[] | undefined;
835
+ additionalRequirements?: string | undefined;
836
+ }, {
837
+ prompt: string;
838
+ language?: string | undefined;
839
+ tone?: "promotional" | "informational" | "reminder" | "greeting" | "friendly" | undefined;
840
+ includeVariables?: string[] | undefined;
841
+ additionalRequirements?: string | undefined;
842
+ }>;
843
+ declare const bulkMessageSchema: z.ZodObject<{
844
+ message: z.ZodString;
845
+ tone: z.ZodEnum<["promotional", "informational", "reminder", "greeting", "friendly"]>;
846
+ usedVariables: z.ZodArray<z.ZodString, "many">;
847
+ suggestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
848
+ }, "strip", z.ZodTypeAny, {
849
+ message: string;
850
+ tone: "promotional" | "informational" | "reminder" | "greeting" | "friendly";
851
+ usedVariables: string[];
852
+ suggestions?: string[] | undefined;
853
+ }, {
854
+ message: string;
855
+ tone: "promotional" | "informational" | "reminder" | "greeting" | "friendly";
856
+ usedVariables: string[];
857
+ suggestions?: string[] | undefined;
858
+ }>;
859
+ type BulkMessageGenerationRequest = z.infer<typeof bulkMessageGenerationRequestSchema>;
860
+ type BulkMessage = z.infer<typeof bulkMessageSchema>;
861
+
862
+ export { type AIGeneratedTemplate, type AcceptInvitationDto, type ActivityItem, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageGenerationRequest, type BulkMessageVariable, CACHE_TTL, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, type GenerateBulkMessageEvent, HEADERS, type ICollaborator, type IGym, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, type SendBulkMessagesEvent, type StatsQueryParams, SubscriptionStatus, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, type ValidateByCodeDto, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, isAdminRole, isEncargadoRole, templateGenerationRequestSchema };
package/dist/index.js CHANGED
@@ -211,6 +211,157 @@ var TEMPLATE_METADATA = {
211
211
  }
212
212
  };
213
213
 
214
+ // src/constants/bulk-message-variables.ts
215
+ var BULK_MESSAGE_VARIABLES = [
216
+ // Variables de Cliente
217
+ {
218
+ name: "clientName",
219
+ placeholder: "{{clientName}}",
220
+ description: "Nombre completo del cliente",
221
+ example: "Juan P\xE9rez",
222
+ category: "client",
223
+ required: false,
224
+ formatter: "text"
225
+ },
226
+ {
227
+ name: "clientEmail",
228
+ placeholder: "{{clientEmail}}",
229
+ description: "Email del cliente",
230
+ example: "juan@example.com",
231
+ category: "client",
232
+ required: false,
233
+ formatter: "text"
234
+ },
235
+ {
236
+ name: "clientPhone",
237
+ placeholder: "{{clientPhone}}",
238
+ description: "Tel\xE9fono del cliente",
239
+ example: "+51 999 999 999",
240
+ category: "client",
241
+ required: false,
242
+ formatter: "text"
243
+ },
244
+ // Variables de Gimnasio
245
+ {
246
+ name: "gymName",
247
+ placeholder: "{{gymName}}",
248
+ description: "Nombre del gimnasio",
249
+ example: "Gym Fitness",
250
+ category: "gym",
251
+ required: false,
252
+ formatter: "text"
253
+ },
254
+ {
255
+ name: "gymPhone",
256
+ placeholder: "{{gymPhone}}",
257
+ description: "Tel\xE9fono del gimnasio",
258
+ example: "+51 999 888 777",
259
+ category: "gym",
260
+ required: false,
261
+ formatter: "text"
262
+ },
263
+ {
264
+ name: "gymAddress",
265
+ placeholder: "{{gymAddress}}",
266
+ description: "Direcci\xF3n del gimnasio",
267
+ example: "Av. Principal 123",
268
+ category: "gym",
269
+ required: false,
270
+ formatter: "text"
271
+ },
272
+ // Variables de Membresía
273
+ {
274
+ name: "planName",
275
+ placeholder: "{{planName}}",
276
+ description: "Nombre del plan de membres\xEDa",
277
+ example: "Plan Premium",
278
+ category: "membership",
279
+ required: false,
280
+ formatter: "text"
281
+ },
282
+ {
283
+ name: "membershipStatus",
284
+ placeholder: "{{membershipStatus}}",
285
+ description: "Estado de la membres\xEDa",
286
+ example: "Activa",
287
+ category: "membership",
288
+ required: false,
289
+ formatter: "text"
290
+ },
291
+ {
292
+ name: "daysUntilExpiration",
293
+ placeholder: "{{daysUntilExpiration}}",
294
+ description: "D\xEDas restantes hasta vencimiento",
295
+ example: "15",
296
+ category: "membership",
297
+ required: false,
298
+ formatter: "number"
299
+ },
300
+ {
301
+ name: "expirationDate",
302
+ placeholder: "{{expirationDate}}",
303
+ description: "Fecha de vencimiento",
304
+ example: "31/12/2024",
305
+ category: "membership",
306
+ required: false,
307
+ formatter: "date"
308
+ },
309
+ {
310
+ name: "amount",
311
+ placeholder: "{{amount}}",
312
+ description: "Monto con formato de moneda",
313
+ example: "S/ 150.00",
314
+ category: "membership",
315
+ required: false,
316
+ formatter: "currency"
317
+ },
318
+ // Variables de Fecha/Hora
319
+ {
320
+ name: "date",
321
+ placeholder: "{{date}}",
322
+ description: "Fecha actual",
323
+ example: "15/10/2024",
324
+ category: "datetime",
325
+ required: false,
326
+ formatter: "date"
327
+ },
328
+ {
329
+ name: "time",
330
+ placeholder: "{{time}}",
331
+ description: "Hora actual",
332
+ example: "14:30",
333
+ category: "datetime",
334
+ required: false,
335
+ formatter: "text"
336
+ },
337
+ {
338
+ name: "dayOfWeek",
339
+ placeholder: "{{dayOfWeek}}",
340
+ description: "D\xEDa de la semana",
341
+ example: "Lunes",
342
+ category: "datetime",
343
+ required: false,
344
+ formatter: "text"
345
+ },
346
+ // Variables Personalizadas
347
+ {
348
+ name: "customField",
349
+ placeholder: "{{customField}}",
350
+ description: "Campo personalizado del cliente",
351
+ example: "Valor personalizado",
352
+ category: "custom",
353
+ required: false,
354
+ formatter: "text"
355
+ }
356
+ ];
357
+ var BULK_MESSAGE_VARIABLE_CATEGORIES = {
358
+ client: "Cliente",
359
+ gym: "Gimnasio",
360
+ membership: "Membres\xEDa",
361
+ datetime: "Fecha/Hora",
362
+ custom: "Personalizado"
363
+ };
364
+
214
365
  // src/constants.ts
215
366
  var PERMISSIONS = {
216
367
  // Organizations
@@ -284,6 +435,8 @@ var PERMISSIONS = {
284
435
  WHATSAPP_READ: "WHATSAPP_READ",
285
436
  WHATSAPP_SEND: "WHATSAPP_SEND",
286
437
  WHATSAPP_MANAGE: "WHATSAPP_MANAGE",
438
+ WHATSAPP_BULK_SEND: "WHATSAPP_BULK_SEND",
439
+ WHATSAPP_BULK_MANAGE: "WHATSAPP_BULK_MANAGE",
287
440
  // Special permissions
288
441
  SUPER_ADMIN: "SUPER_ADMIN",
289
442
  OWNER: "OWNER",
@@ -463,6 +616,12 @@ var WHATSAPP_EVENTS = {
463
616
  MESSAGE_RECEIVED: "whatsapp/message.received",
464
617
  CONNECTION_UPDATE: "whatsapp/connection.update"
465
618
  };
619
+
620
+ // src/events/bulk-messaging.events.ts
621
+ var BULK_MESSAGING_EVENTS = {
622
+ GENERATE_BULK_MESSAGE: "whatsapp/bulk-message.generate",
623
+ SEND_BULK_MESSAGES: "whatsapp/bulk-messages.send"
624
+ };
466
625
  var templateGenerationRequestSchema = zod.z.object({
467
626
  templateCode: zod.z.string(),
468
627
  templateMetadata: zod.z.object({
@@ -480,9 +639,25 @@ var aiGeneratedTemplateSchema = zod.z.object({
480
639
  usedVariables: zod.z.array(zod.z.string()).describe("Variables utilizadas en el mensaje"),
481
640
  suggestions: zod.z.array(zod.z.string()).optional().describe("Sugerencias adicionales")
482
641
  });
642
+ var bulkMessageGenerationRequestSchema = zod.z.object({
643
+ prompt: zod.z.string().describe("Prompt or context for message generation"),
644
+ tone: zod.z.enum(["promotional", "informational", "reminder", "greeting", "friendly"]).optional().describe("Tone of the message"),
645
+ includeVariables: zod.z.array(zod.z.string()).optional().describe("Variables to include in the message"),
646
+ additionalRequirements: zod.z.string().optional().describe("Additional requirements for the message"),
647
+ language: zod.z.string().default("es").describe("Language for generation")
648
+ });
649
+ var bulkMessageSchema = zod.z.object({
650
+ message: zod.z.string().describe("Generated message with variables"),
651
+ tone: zod.z.enum(["promotional", "informational", "reminder", "greeting", "friendly"]).describe("Tone of the message"),
652
+ usedVariables: zod.z.array(zod.z.string()).describe("Variables used in the message"),
653
+ suggestions: zod.z.array(zod.z.string()).optional().describe("Additional message suggestions")
654
+ });
483
655
 
484
656
  exports.AssetCategory = AssetCategory;
485
657
  exports.AssetStatus = AssetStatus;
658
+ exports.BULK_MESSAGE_VARIABLES = BULK_MESSAGE_VARIABLES;
659
+ exports.BULK_MESSAGE_VARIABLE_CATEGORIES = BULK_MESSAGE_VARIABLE_CATEGORIES;
660
+ exports.BULK_MESSAGING_EVENTS = BULK_MESSAGING_EVENTS;
486
661
  exports.CACHE_TTL = CACHE_TTL;
487
662
  exports.ClientStatus = ClientStatus;
488
663
  exports.CollaboratorStatus = CollaboratorStatus;
@@ -508,6 +683,8 @@ exports.UserType = UserType;
508
683
  exports.WHATSAPP_EVENTS = WHATSAPP_EVENTS;
509
684
  exports.WHATSAPP_TEMPLATE_EVENTS = WHATSAPP_TEMPLATE_EVENTS;
510
685
  exports.aiGeneratedTemplateSchema = aiGeneratedTemplateSchema;
686
+ exports.bulkMessageGenerationRequestSchema = bulkMessageGenerationRequestSchema;
687
+ exports.bulkMessageSchema = bulkMessageSchema;
511
688
  exports.canAccessFeature = canAccessFeature;
512
689
  exports.getRoleCapabilities = getRoleCapabilities;
513
690
  exports.getRoleDescription = getRoleDescription;