@gymspace/shared 1.7.5 → 1.8.0

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
@@ -221,8 +221,13 @@ declare const PERMISSIONS: {
221
221
  readonly CONTRACTS_CREATE: "CONTRACTS_CREATE";
222
222
  readonly CONTRACTS_READ: "CONTRACTS_READ";
223
223
  readonly CONTRACTS_UPDATE: "CONTRACTS_UPDATE";
224
+ readonly CONTRACTS_DELETE: "CONTRACTS_DELETE";
224
225
  readonly CONTRACTS_APPROVE: "CONTRACTS_APPROVE";
225
226
  readonly CONTRACTS_CANCEL: "CONTRACTS_CANCEL";
227
+ readonly MEMBERSHIP_PLANS_CREATE: "MEMBERSHIP_PLANS_CREATE";
228
+ readonly MEMBERSHIP_PLANS_READ: "MEMBERSHIP_PLANS_READ";
229
+ readonly MEMBERSHIP_PLANS_UPDATE: "MEMBERSHIP_PLANS_UPDATE";
230
+ readonly MEMBERSHIP_PLANS_DELETE: "MEMBERSHIP_PLANS_DELETE";
226
231
  readonly CHECKINS_CREATE: "CHECKINS_CREATE";
227
232
  readonly CHECKINS_READ: "CHECKINS_READ";
228
233
  readonly REPORTS_VIEW: "REPORTS_VIEW";
@@ -284,12 +289,15 @@ declare const PERMISSIONS: {
284
289
  readonly CATALOG_READ: "CATALOG_READ";
285
290
  readonly CATALOG_UPDATE: "CATALOG_UPDATE";
286
291
  readonly CATALOG_MANAGE: "CATALOG_MANAGE";
292
+ readonly CREDITS_READ: "CREDITS_READ";
293
+ readonly CREDITS_MANAGE: "CREDITS_MANAGE";
294
+ readonly CREDITS_ADJUST: "CREDITS_ADJUST";
287
295
  readonly SUPER_ADMIN: "SUPER_ADMIN";
288
296
  readonly OWNER: "OWNER";
289
297
  readonly All: "ALL";
290
298
  };
291
299
  declare const ROLE_PERMISSIONS: {
292
- readonly ADMIN: ("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" | "MESSAGES_READ" | "MESSAGES_CREATE" | "MESSAGES_RETRY" | "MESSAGES_CANCEL" | "ACTIVITIES_CREATE" | "ACTIVITIES_READ" | "ACTIVITIES_UPDATE" | "ACTIVITIES_DELETE" | "ACTIVITIES_MANAGE_NOTIFICATIONS" | "TAGS_CREATE" | "TAGS_READ" | "TAGS_UPDATE" | "TAGS_DELETE" | "COMMISSIONS_CONFIG_CREATE" | "COMMISSIONS_CONFIG_READ" | "COMMISSIONS_CONFIG_UPDATE" | "COMMISSIONS_RULES_CREATE" | "COMMISSIONS_RULES_READ" | "COMMISSIONS_RULES_UPDATE" | "COMMISSIONS_RULES_DELETE" | "COMMISSIONS_CALCULATIONS_READ" | "COMMISSIONS_REPORTS_VIEW" | "CATALOG_READ" | "CATALOG_UPDATE" | "CATALOG_MANAGE" | "SUPER_ADMIN" | "OWNER" | "ALL")[];
300
+ readonly ADMIN: ("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_DELETE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "MEMBERSHIP_PLANS_CREATE" | "MEMBERSHIP_PLANS_READ" | "MEMBERSHIP_PLANS_UPDATE" | "MEMBERSHIP_PLANS_DELETE" | "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" | "MESSAGES_READ" | "MESSAGES_CREATE" | "MESSAGES_RETRY" | "MESSAGES_CANCEL" | "ACTIVITIES_CREATE" | "ACTIVITIES_READ" | "ACTIVITIES_UPDATE" | "ACTIVITIES_DELETE" | "ACTIVITIES_MANAGE_NOTIFICATIONS" | "TAGS_CREATE" | "TAGS_READ" | "TAGS_UPDATE" | "TAGS_DELETE" | "COMMISSIONS_CONFIG_CREATE" | "COMMISSIONS_CONFIG_READ" | "COMMISSIONS_CONFIG_UPDATE" | "COMMISSIONS_RULES_CREATE" | "COMMISSIONS_RULES_READ" | "COMMISSIONS_RULES_UPDATE" | "COMMISSIONS_RULES_DELETE" | "COMMISSIONS_CALCULATIONS_READ" | "COMMISSIONS_REPORTS_VIEW" | "CATALOG_READ" | "CATALOG_UPDATE" | "CATALOG_MANAGE" | "CREDITS_READ" | "CREDITS_MANAGE" | "CREDITS_ADJUST" | "SUPER_ADMIN" | "OWNER" | "ALL")[];
293
301
  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", "COMMISSIONS_RULES_READ", "COMMISSIONS_CALCULATIONS_READ"];
294
302
  };
295
303
  declare const CACHE_TTL: {
@@ -415,6 +423,10 @@ declare enum MessageStatus {
415
423
  FAILED = "failed",
416
424
  CANCELLED = "cancelled"
417
425
  }
426
+ declare enum FeatureType {
427
+ AI_GENERATION = "ai_generation",
428
+ BULK_WHATSAPP = "bulk_whatsapp"
429
+ }
418
430
 
419
431
  /**
420
432
  * Evento para enviar un mensaje de WhatsApp
@@ -452,6 +464,51 @@ declare const WHATSAPP_EVENTS: {
452
464
  readonly CONNECTION_UPDATE: "whatsapp/connection.update";
453
465
  };
454
466
 
467
+ /**
468
+ * Tipos de mensajes soportados en bulk messaging
469
+ * Extensible para futuros tipos: video, audio, document, etc.
470
+ */
471
+ type BulkMessageType = 'text' | 'image';
472
+ /**
473
+ * Interfaz base para mensajes en bulk messaging
474
+ */
475
+ interface BulkMessage {
476
+ /** Tipo de mensaje */
477
+ type: BulkMessageType;
478
+ /**
479
+ * Contenido del mensaje:
480
+ * - Para 'text': El texto del mensaje (soporta variables {{var}})
481
+ * - Para 'image': fileId o assetId (se resuelve a URL en el servicio)
482
+ */
483
+ content: string;
484
+ /**
485
+ * Tipo de referencia para imágenes:
486
+ * - 'file': fileId del usuario
487
+ * - 'asset': assetId de la galería del gym
488
+ */
489
+ mediaRef?: 'file' | 'asset';
490
+ /** Caption para imágenes (soporta variables) */
491
+ caption?: string;
492
+ /** Orden de envío (0-based, secuencial) */
493
+ order: number;
494
+ }
495
+ type BulkMessageArray = BulkMessage[];
496
+ /**
497
+ * Constantes de validación
498
+ */
499
+ declare const MAX_MESSAGES_PER_CAMPAIGN = 10;
500
+ declare const MAX_IMAGES_PER_CAMPAIGN = 5;
501
+ declare const MAX_CAPTION_LENGTH = 1024;
502
+ declare const INTER_MESSAGE_DELAY_MS = 500;
503
+ /**
504
+ * Tipos de mensajes soportados (extensible)
505
+ */
506
+ declare const SUPPORTED_MESSAGE_TYPES: BulkMessageType[];
507
+ /**
508
+ * Tipos MIME permitidos para imágenes
509
+ */
510
+ declare const ALLOWED_IMAGE_MIMES: string[];
511
+
455
512
  declare const BULK_MESSAGING_EVENTS: {
456
513
  readonly SEND_BULK_MESSAGES: "whatsapp/bulk-messages.send";
457
514
  };
@@ -461,7 +518,7 @@ interface BulkMessageEventData {
461
518
  userId: string;
462
519
  instanceName: string;
463
520
  templateId?: string;
464
- message: string;
521
+ messages: BulkMessage[];
465
522
  variableContext?: VariableContextType;
466
523
  clients: Array<{
467
524
  messageId?: string;
@@ -477,6 +534,21 @@ interface SendBulkMessagesEvent {
477
534
  name: typeof BULK_MESSAGING_EVENTS.SEND_BULK_MESSAGES;
478
535
  data: BulkMessageEventData;
479
536
  }
537
+ interface BulkMessageStatusUpdate {
538
+ gymId: string;
539
+ sendId: string;
540
+ clientId: string;
541
+ overallStatus: 'pending' | 'sending' | 'sent' | 'partial' | 'failed';
542
+ messages: Array<{
543
+ order: number;
544
+ type: BulkMessageType;
545
+ status: 'pending' | 'sending' | 'sent' | 'failed';
546
+ externalMessageId?: string;
547
+ error?: string;
548
+ sentAt?: string;
549
+ }>;
550
+ timestamp: string;
551
+ }
480
552
 
481
553
  declare const ACTIVITY_EVENTS: {
482
554
  readonly SEND_ACTIVITY_NOTIFICATION: "activity/notification.send";
@@ -710,7 +782,7 @@ interface TemplateMetadata {
710
782
  type UUID = string;
711
783
  type Currency = 'USD' | 'EUR' | 'PEN' | 'MXN' | 'COP' | 'ARS' | 'CLP';
712
784
  type EntityType = 'user' | 'organization' | 'gym' | 'collaborator' | 'client' | 'contract' | 'asset';
713
- 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' | 'MESSAGES_READ' | 'MESSAGES_CREATE' | 'MESSAGES_RETRY' | 'MESSAGES_CANCEL' | 'ACTIVITIES_CREATE' | 'ACTIVITIES_READ' | 'ACTIVITIES_UPDATE' | 'ACTIVITIES_DELETE' | 'ACTIVITIES_MANAGE_NOTIFICATIONS' | 'TAGS_CREATE' | 'TAGS_READ' | 'TAGS_UPDATE' | 'TAGS_DELETE' | 'COMMISSIONS_CONFIG_CREATE' | 'COMMISSIONS_CONFIG_READ' | 'COMMISSIONS_CONFIG_UPDATE' | 'COMMISSIONS_RULES_CREATE' | 'COMMISSIONS_RULES_READ' | 'COMMISSIONS_RULES_UPDATE' | 'COMMISSIONS_RULES_DELETE' | 'COMMISSIONS_CALCULATIONS_READ' | 'COMMISSIONS_REPORTS_VIEW' | 'CATALOG_READ' | 'CATALOG_UPDATE' | 'CATALOG_MANAGE' | 'ALL';
785
+ 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_DELETE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'MEMBERSHIP_PLANS_CREATE' | 'MEMBERSHIP_PLANS_READ' | 'MEMBERSHIP_PLANS_UPDATE' | 'MEMBERSHIP_PLANS_DELETE' | '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' | 'MESSAGES_READ' | 'MESSAGES_CREATE' | 'MESSAGES_RETRY' | 'MESSAGES_CANCEL' | 'ACTIVITIES_CREATE' | 'ACTIVITIES_READ' | 'ACTIVITIES_UPDATE' | 'ACTIVITIES_DELETE' | 'ACTIVITIES_MANAGE_NOTIFICATIONS' | 'TAGS_CREATE' | 'TAGS_READ' | 'TAGS_UPDATE' | 'TAGS_DELETE' | 'COMMISSIONS_CONFIG_CREATE' | 'COMMISSIONS_CONFIG_READ' | 'COMMISSIONS_CONFIG_UPDATE' | 'COMMISSIONS_RULES_CREATE' | 'COMMISSIONS_RULES_READ' | 'COMMISSIONS_RULES_UPDATE' | 'COMMISSIONS_RULES_DELETE' | 'COMMISSIONS_CALCULATIONS_READ' | 'COMMISSIONS_REPORTS_VIEW' | 'CATALOG_READ' | 'CATALOG_UPDATE' | 'CATALOG_MANAGE' | 'ALL';
714
786
  interface AuditFields {
715
787
  createdByUserId: UUID;
716
788
  updatedByUserId?: UUID;
@@ -1034,7 +1106,6 @@ declare const bulkMessageSchema: z.ZodObject<{
1034
1106
  suggestions?: string[] | undefined;
1035
1107
  }>;
1036
1108
  type BulkMessageGenerationRequest = z.infer<typeof bulkMessageGenerationRequestSchema>;
1037
- type BulkMessage = z.infer<typeof bulkMessageSchema>;
1038
1109
 
1039
1110
  declare const activityNotificationGenerationRequestSchema: z.ZodObject<{
1040
1111
  prompt: z.ZodString;
@@ -1100,4 +1171,4 @@ declare function normalizePhoneForEvolution(phoneNumber: string): string;
1100
1171
  */
1101
1172
  declare function isValidPeruvianPhone(phoneNumber: string): boolean;
1102
1173
 
1103
- export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, type AIGeneratedTemplate, type AcceptInvitationDto, type ActivityItem, type ActivityNotification, type ActivityNotificationGenerationRequest, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageEventData, type BulkMessageGenerationRequest, type BulkMessageVariable, CACHE_TTL, CancellationReason, 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, MessageStatus, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, PlanType, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, type SalePaymentReminderTemplateData, type SendActivityNotificationEvent, type SendBulkMessagesEvent, type ShareCatalogTemplateData, type StatsQueryParams, SubscriptionStatus, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateCodeValue, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type TemplateTypeValue, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, VARIABLE_CONTEXT_MAP, type ValidateByCodeDto, type ValidateByTokenDto, type VariableContextType, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageRetryEventData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
1174
+ export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, type AIGeneratedTemplate, ALLOWED_IMAGE_MIMES, type AcceptInvitationDto, type ActivityItem, type ActivityNotification, type ActivityNotificationGenerationRequest, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageArray, type BulkMessageEventData, type BulkMessageGenerationRequest, type BulkMessageStatusUpdate, type BulkMessageType, type BulkMessageVariable, CACHE_TTL, CancellationReason, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, FeatureType, HEADERS, type ICollaborator, type IGym, INTER_MESSAGE_DELAY_MS, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, MAX_CAPTION_LENGTH, MAX_IMAGES_PER_CAMPAIGN, MAX_MESSAGES_PER_CAMPAIGN, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, MessageStatus, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, PlanType, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, SUPPORTED_MESSAGE_TYPES, type SalePaymentReminderTemplateData, type SendActivityNotificationEvent, type SendBulkMessagesEvent, type ShareCatalogTemplateData, type StatsQueryParams, SubscriptionStatus, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateCodeValue, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type TemplateTypeValue, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, VARIABLE_CONTEXT_MAP, type ValidateByCodeDto, type ValidateByTokenDto, type VariableContextType, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageRetryEventData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
package/dist/index.d.ts CHANGED
@@ -221,8 +221,13 @@ declare const PERMISSIONS: {
221
221
  readonly CONTRACTS_CREATE: "CONTRACTS_CREATE";
222
222
  readonly CONTRACTS_READ: "CONTRACTS_READ";
223
223
  readonly CONTRACTS_UPDATE: "CONTRACTS_UPDATE";
224
+ readonly CONTRACTS_DELETE: "CONTRACTS_DELETE";
224
225
  readonly CONTRACTS_APPROVE: "CONTRACTS_APPROVE";
225
226
  readonly CONTRACTS_CANCEL: "CONTRACTS_CANCEL";
227
+ readonly MEMBERSHIP_PLANS_CREATE: "MEMBERSHIP_PLANS_CREATE";
228
+ readonly MEMBERSHIP_PLANS_READ: "MEMBERSHIP_PLANS_READ";
229
+ readonly MEMBERSHIP_PLANS_UPDATE: "MEMBERSHIP_PLANS_UPDATE";
230
+ readonly MEMBERSHIP_PLANS_DELETE: "MEMBERSHIP_PLANS_DELETE";
226
231
  readonly CHECKINS_CREATE: "CHECKINS_CREATE";
227
232
  readonly CHECKINS_READ: "CHECKINS_READ";
228
233
  readonly REPORTS_VIEW: "REPORTS_VIEW";
@@ -284,12 +289,15 @@ declare const PERMISSIONS: {
284
289
  readonly CATALOG_READ: "CATALOG_READ";
285
290
  readonly CATALOG_UPDATE: "CATALOG_UPDATE";
286
291
  readonly CATALOG_MANAGE: "CATALOG_MANAGE";
292
+ readonly CREDITS_READ: "CREDITS_READ";
293
+ readonly CREDITS_MANAGE: "CREDITS_MANAGE";
294
+ readonly CREDITS_ADJUST: "CREDITS_ADJUST";
287
295
  readonly SUPER_ADMIN: "SUPER_ADMIN";
288
296
  readonly OWNER: "OWNER";
289
297
  readonly All: "ALL";
290
298
  };
291
299
  declare const ROLE_PERMISSIONS: {
292
- readonly ADMIN: ("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" | "MESSAGES_READ" | "MESSAGES_CREATE" | "MESSAGES_RETRY" | "MESSAGES_CANCEL" | "ACTIVITIES_CREATE" | "ACTIVITIES_READ" | "ACTIVITIES_UPDATE" | "ACTIVITIES_DELETE" | "ACTIVITIES_MANAGE_NOTIFICATIONS" | "TAGS_CREATE" | "TAGS_READ" | "TAGS_UPDATE" | "TAGS_DELETE" | "COMMISSIONS_CONFIG_CREATE" | "COMMISSIONS_CONFIG_READ" | "COMMISSIONS_CONFIG_UPDATE" | "COMMISSIONS_RULES_CREATE" | "COMMISSIONS_RULES_READ" | "COMMISSIONS_RULES_UPDATE" | "COMMISSIONS_RULES_DELETE" | "COMMISSIONS_CALCULATIONS_READ" | "COMMISSIONS_REPORTS_VIEW" | "CATALOG_READ" | "CATALOG_UPDATE" | "CATALOG_MANAGE" | "SUPER_ADMIN" | "OWNER" | "ALL")[];
300
+ readonly ADMIN: ("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_DELETE" | "CONTRACTS_APPROVE" | "CONTRACTS_CANCEL" | "MEMBERSHIP_PLANS_CREATE" | "MEMBERSHIP_PLANS_READ" | "MEMBERSHIP_PLANS_UPDATE" | "MEMBERSHIP_PLANS_DELETE" | "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" | "MESSAGES_READ" | "MESSAGES_CREATE" | "MESSAGES_RETRY" | "MESSAGES_CANCEL" | "ACTIVITIES_CREATE" | "ACTIVITIES_READ" | "ACTIVITIES_UPDATE" | "ACTIVITIES_DELETE" | "ACTIVITIES_MANAGE_NOTIFICATIONS" | "TAGS_CREATE" | "TAGS_READ" | "TAGS_UPDATE" | "TAGS_DELETE" | "COMMISSIONS_CONFIG_CREATE" | "COMMISSIONS_CONFIG_READ" | "COMMISSIONS_CONFIG_UPDATE" | "COMMISSIONS_RULES_CREATE" | "COMMISSIONS_RULES_READ" | "COMMISSIONS_RULES_UPDATE" | "COMMISSIONS_RULES_DELETE" | "COMMISSIONS_CALCULATIONS_READ" | "COMMISSIONS_REPORTS_VIEW" | "CATALOG_READ" | "CATALOG_UPDATE" | "CATALOG_MANAGE" | "CREDITS_READ" | "CREDITS_MANAGE" | "CREDITS_ADJUST" | "SUPER_ADMIN" | "OWNER" | "ALL")[];
293
301
  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", "COMMISSIONS_RULES_READ", "COMMISSIONS_CALCULATIONS_READ"];
294
302
  };
295
303
  declare const CACHE_TTL: {
@@ -415,6 +423,10 @@ declare enum MessageStatus {
415
423
  FAILED = "failed",
416
424
  CANCELLED = "cancelled"
417
425
  }
426
+ declare enum FeatureType {
427
+ AI_GENERATION = "ai_generation",
428
+ BULK_WHATSAPP = "bulk_whatsapp"
429
+ }
418
430
 
419
431
  /**
420
432
  * Evento para enviar un mensaje de WhatsApp
@@ -452,6 +464,51 @@ declare const WHATSAPP_EVENTS: {
452
464
  readonly CONNECTION_UPDATE: "whatsapp/connection.update";
453
465
  };
454
466
 
467
+ /**
468
+ * Tipos de mensajes soportados en bulk messaging
469
+ * Extensible para futuros tipos: video, audio, document, etc.
470
+ */
471
+ type BulkMessageType = 'text' | 'image';
472
+ /**
473
+ * Interfaz base para mensajes en bulk messaging
474
+ */
475
+ interface BulkMessage {
476
+ /** Tipo de mensaje */
477
+ type: BulkMessageType;
478
+ /**
479
+ * Contenido del mensaje:
480
+ * - Para 'text': El texto del mensaje (soporta variables {{var}})
481
+ * - Para 'image': fileId o assetId (se resuelve a URL en el servicio)
482
+ */
483
+ content: string;
484
+ /**
485
+ * Tipo de referencia para imágenes:
486
+ * - 'file': fileId del usuario
487
+ * - 'asset': assetId de la galería del gym
488
+ */
489
+ mediaRef?: 'file' | 'asset';
490
+ /** Caption para imágenes (soporta variables) */
491
+ caption?: string;
492
+ /** Orden de envío (0-based, secuencial) */
493
+ order: number;
494
+ }
495
+ type BulkMessageArray = BulkMessage[];
496
+ /**
497
+ * Constantes de validación
498
+ */
499
+ declare const MAX_MESSAGES_PER_CAMPAIGN = 10;
500
+ declare const MAX_IMAGES_PER_CAMPAIGN = 5;
501
+ declare const MAX_CAPTION_LENGTH = 1024;
502
+ declare const INTER_MESSAGE_DELAY_MS = 500;
503
+ /**
504
+ * Tipos de mensajes soportados (extensible)
505
+ */
506
+ declare const SUPPORTED_MESSAGE_TYPES: BulkMessageType[];
507
+ /**
508
+ * Tipos MIME permitidos para imágenes
509
+ */
510
+ declare const ALLOWED_IMAGE_MIMES: string[];
511
+
455
512
  declare const BULK_MESSAGING_EVENTS: {
456
513
  readonly SEND_BULK_MESSAGES: "whatsapp/bulk-messages.send";
457
514
  };
@@ -461,7 +518,7 @@ interface BulkMessageEventData {
461
518
  userId: string;
462
519
  instanceName: string;
463
520
  templateId?: string;
464
- message: string;
521
+ messages: BulkMessage[];
465
522
  variableContext?: VariableContextType;
466
523
  clients: Array<{
467
524
  messageId?: string;
@@ -477,6 +534,21 @@ interface SendBulkMessagesEvent {
477
534
  name: typeof BULK_MESSAGING_EVENTS.SEND_BULK_MESSAGES;
478
535
  data: BulkMessageEventData;
479
536
  }
537
+ interface BulkMessageStatusUpdate {
538
+ gymId: string;
539
+ sendId: string;
540
+ clientId: string;
541
+ overallStatus: 'pending' | 'sending' | 'sent' | 'partial' | 'failed';
542
+ messages: Array<{
543
+ order: number;
544
+ type: BulkMessageType;
545
+ status: 'pending' | 'sending' | 'sent' | 'failed';
546
+ externalMessageId?: string;
547
+ error?: string;
548
+ sentAt?: string;
549
+ }>;
550
+ timestamp: string;
551
+ }
480
552
 
481
553
  declare const ACTIVITY_EVENTS: {
482
554
  readonly SEND_ACTIVITY_NOTIFICATION: "activity/notification.send";
@@ -710,7 +782,7 @@ interface TemplateMetadata {
710
782
  type UUID = string;
711
783
  type Currency = 'USD' | 'EUR' | 'PEN' | 'MXN' | 'COP' | 'ARS' | 'CLP';
712
784
  type EntityType = 'user' | 'organization' | 'gym' | 'collaborator' | 'client' | 'contract' | 'asset';
713
- 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' | 'MESSAGES_READ' | 'MESSAGES_CREATE' | 'MESSAGES_RETRY' | 'MESSAGES_CANCEL' | 'ACTIVITIES_CREATE' | 'ACTIVITIES_READ' | 'ACTIVITIES_UPDATE' | 'ACTIVITIES_DELETE' | 'ACTIVITIES_MANAGE_NOTIFICATIONS' | 'TAGS_CREATE' | 'TAGS_READ' | 'TAGS_UPDATE' | 'TAGS_DELETE' | 'COMMISSIONS_CONFIG_CREATE' | 'COMMISSIONS_CONFIG_READ' | 'COMMISSIONS_CONFIG_UPDATE' | 'COMMISSIONS_RULES_CREATE' | 'COMMISSIONS_RULES_READ' | 'COMMISSIONS_RULES_UPDATE' | 'COMMISSIONS_RULES_DELETE' | 'COMMISSIONS_CALCULATIONS_READ' | 'COMMISSIONS_REPORTS_VIEW' | 'CATALOG_READ' | 'CATALOG_UPDATE' | 'CATALOG_MANAGE' | 'ALL';
785
+ 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_DELETE' | 'CONTRACTS_APPROVE' | 'CONTRACTS_CANCEL' | 'MEMBERSHIP_PLANS_CREATE' | 'MEMBERSHIP_PLANS_READ' | 'MEMBERSHIP_PLANS_UPDATE' | 'MEMBERSHIP_PLANS_DELETE' | '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' | 'MESSAGES_READ' | 'MESSAGES_CREATE' | 'MESSAGES_RETRY' | 'MESSAGES_CANCEL' | 'ACTIVITIES_CREATE' | 'ACTIVITIES_READ' | 'ACTIVITIES_UPDATE' | 'ACTIVITIES_DELETE' | 'ACTIVITIES_MANAGE_NOTIFICATIONS' | 'TAGS_CREATE' | 'TAGS_READ' | 'TAGS_UPDATE' | 'TAGS_DELETE' | 'COMMISSIONS_CONFIG_CREATE' | 'COMMISSIONS_CONFIG_READ' | 'COMMISSIONS_CONFIG_UPDATE' | 'COMMISSIONS_RULES_CREATE' | 'COMMISSIONS_RULES_READ' | 'COMMISSIONS_RULES_UPDATE' | 'COMMISSIONS_RULES_DELETE' | 'COMMISSIONS_CALCULATIONS_READ' | 'COMMISSIONS_REPORTS_VIEW' | 'CATALOG_READ' | 'CATALOG_UPDATE' | 'CATALOG_MANAGE' | 'ALL';
714
786
  interface AuditFields {
715
787
  createdByUserId: UUID;
716
788
  updatedByUserId?: UUID;
@@ -1034,7 +1106,6 @@ declare const bulkMessageSchema: z.ZodObject<{
1034
1106
  suggestions?: string[] | undefined;
1035
1107
  }>;
1036
1108
  type BulkMessageGenerationRequest = z.infer<typeof bulkMessageGenerationRequestSchema>;
1037
- type BulkMessage = z.infer<typeof bulkMessageSchema>;
1038
1109
 
1039
1110
  declare const activityNotificationGenerationRequestSchema: z.ZodObject<{
1040
1111
  prompt: z.ZodString;
@@ -1100,4 +1171,4 @@ declare function normalizePhoneForEvolution(phoneNumber: string): string;
1100
1171
  */
1101
1172
  declare function isValidPeruvianPhone(phoneNumber: string): boolean;
1102
1173
 
1103
- export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, type AIGeneratedTemplate, type AcceptInvitationDto, type ActivityItem, type ActivityNotification, type ActivityNotificationGenerationRequest, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageEventData, type BulkMessageGenerationRequest, type BulkMessageVariable, CACHE_TTL, CancellationReason, 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, MessageStatus, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, PlanType, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, type SalePaymentReminderTemplateData, type SendActivityNotificationEvent, type SendBulkMessagesEvent, type ShareCatalogTemplateData, type StatsQueryParams, SubscriptionStatus, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateCodeValue, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type TemplateTypeValue, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, VARIABLE_CONTEXT_MAP, type ValidateByCodeDto, type ValidateByTokenDto, type VariableContextType, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageRetryEventData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
1174
+ export { ACTIVITY_EVENTS, ACTIVITY_MESSAGE_VARIABLES, type AIGeneratedTemplate, ALLOWED_IMAGE_MIMES, type AcceptInvitationDto, type ActivityItem, type ActivityNotification, type ActivityNotificationGenerationRequest, type ActivityQueryParams, AssetCategory, AssetStatus, type AuditFields, BULK_MESSAGE_VARIABLES, BULK_MESSAGE_VARIABLE_CATEGORIES, BULK_MESSAGING_EVENTS, type BirthdayTemplateData, type BulkMessage, type BulkMessageArray, type BulkMessageEventData, type BulkMessageGenerationRequest, type BulkMessageStatusUpdate, type BulkMessageType, type BulkMessageVariable, CACHE_TTL, CancellationReason, ClientStatus, type Collaborator, type CollaboratorStats, CollaboratorStatus, ContractAssetType, ContractStatus, type CreateInvitationDto, type Currency, DATE_FORMATS, type EntityType, FILE_LIMITS, FeatureType, HEADERS, type ICollaborator, type IGym, INTER_MESSAGE_DELAY_MS, type IOrganization, type IRequestContext, type IRole, type ISubscription, type ISubscriptionPlan, type IUser, type Invitation, InvitationStatus, type ListCollaboratorsParams, MAX_CAPTION_LENGTH, MAX_IMAGES_PER_CAMPAIGN, MAX_MESSAGES_PER_CAMPAIGN, type MembershipExpiringTemplateData, type MembershipPurchaseTemplateData, type MembershipRenewalTemplateData, MessageStatus, PAGINATION_DEFAULTS, PERMISSIONS, type PaginatedResponse, type PaginationMeta, type PaginationParams, PaymentFrequency, type PaymentReceiptTemplateData, type PaymentReminderTemplateData, type Permission, PlanStatus, PlanType, ROLE_NAMES, ROLE_PERMISSIONS, type Role, type RoleName, RoleNames, SUPPORTED_MESSAGE_TYPES, type SalePaymentReminderTemplateData, type SendActivityNotificationEvent, type SendBulkMessagesEvent, type ShareCatalogTemplateData, type StatsQueryParams, SubscriptionStatus, SuspensionType, TEMPLATE_CODES, TEMPLATE_METADATA, TemplateCode, type TemplateCodeValue, type TemplateGenerationRequest, type TemplateMetadata, TemplateType, type TemplateTypeValue, type UUID, type UpdateCollaboratorDto, type UpdateCollaboratorRoleDto, type UpdateCollaboratorStatusDto, type User, UserType, VARIABLE_CONTEXT_MAP, type ValidateByCodeDto, type ValidateByTokenDto, type VariableContextType, WHATSAPP_EVENTS, WHATSAPP_TEMPLATE_EVENTS, type WelcomeTemplateData, type WhatsAppMessageRetryEventData, type WhatsAppMessageSendEventData, type WhatsAppTemplateData, type WhatsAppTemplateEventData, activityNotificationGenerationRequestSchema, activityNotificationSchema, aiGeneratedTemplateSchema, bulkMessageGenerationRequestSchema, bulkMessageSchema, canAccessFeature, getRoleCapabilities, getRoleDescription, getRoleDisplayName, getVariablesByContext, isAdminRole, isEncargadoRole, isValidPeruvianPhone, normalizePhoneForEvolution, templateGenerationRequestSchema, validateVariablesInContext };
package/dist/index.js CHANGED
@@ -219,6 +219,33 @@ var BULK_MESSAGE_VARIABLES = [
219
219
  required: false,
220
220
  formatter: "text"
221
221
  },
222
+ {
223
+ name: "registrationDate",
224
+ placeholder: "{{registrationDate}}",
225
+ description: "Fecha de registro del cliente",
226
+ example: "15/10/2024",
227
+ category: "client",
228
+ required: false,
229
+ formatter: "date"
230
+ },
231
+ {
232
+ name: "birthDate",
233
+ placeholder: "{{birthDate}}",
234
+ description: "Fecha de nacimiento del cliente",
235
+ example: "15/10/1990",
236
+ category: "client",
237
+ required: false,
238
+ formatter: "date"
239
+ },
240
+ {
241
+ name: "age",
242
+ placeholder: "{{age}}",
243
+ description: "Edad del cliente",
244
+ example: "34",
245
+ category: "client",
246
+ required: false,
247
+ formatter: "number"
248
+ },
222
249
  // Variables de Gimnasio
223
250
  {
224
251
  name: "gymName",
@@ -293,6 +320,60 @@ var BULK_MESSAGE_VARIABLES = [
293
320
  required: false,
294
321
  formatter: "currency"
295
322
  },
323
+ {
324
+ name: "startDate",
325
+ placeholder: "{{startDate}}",
326
+ description: "Fecha de inicio de membres\xEDa",
327
+ example: "15/10/2024",
328
+ category: "membership",
329
+ required: false,
330
+ formatter: "date"
331
+ },
332
+ {
333
+ name: "endDate",
334
+ placeholder: "{{endDate}}",
335
+ description: "Fecha de fin de membres\xEDa",
336
+ example: "15/11/2024",
337
+ category: "membership",
338
+ required: false,
339
+ formatter: "date"
340
+ },
341
+ {
342
+ name: "newEndDate",
343
+ placeholder: "{{newEndDate}}",
344
+ description: "Nueva fecha de vencimiento por renovaci\xF3n",
345
+ example: "15/12/2024",
346
+ category: "membership",
347
+ required: false,
348
+ formatter: "date"
349
+ },
350
+ {
351
+ name: "paymentFrequency",
352
+ placeholder: "{{paymentFrequency}}",
353
+ description: "Frecuencia de pago",
354
+ example: "Mensual",
355
+ category: "membership",
356
+ required: false,
357
+ formatter: "text"
358
+ },
359
+ {
360
+ name: "daysRemaining",
361
+ placeholder: "{{daysRemaining}}",
362
+ description: "D\xEDas restantes",
363
+ example: "15",
364
+ category: "membership",
365
+ required: false,
366
+ formatter: "number"
367
+ },
368
+ {
369
+ name: "dueDate",
370
+ placeholder: "{{dueDate}}",
371
+ description: "Fecha de vencimiento de pago",
372
+ example: "15/10/2024",
373
+ category: "membership",
374
+ required: false,
375
+ formatter: "date"
376
+ },
296
377
  // Variables de Fecha/Hora
297
378
  {
298
379
  name: "date",
@@ -474,8 +555,14 @@ var PERMISSIONS = {
474
555
  CONTRACTS_CREATE: "CONTRACTS_CREATE",
475
556
  CONTRACTS_READ: "CONTRACTS_READ",
476
557
  CONTRACTS_UPDATE: "CONTRACTS_UPDATE",
558
+ CONTRACTS_DELETE: "CONTRACTS_DELETE",
477
559
  CONTRACTS_APPROVE: "CONTRACTS_APPROVE",
478
560
  CONTRACTS_CANCEL: "CONTRACTS_CANCEL",
561
+ // Membership Plans
562
+ MEMBERSHIP_PLANS_CREATE: "MEMBERSHIP_PLANS_CREATE",
563
+ MEMBERSHIP_PLANS_READ: "MEMBERSHIP_PLANS_READ",
564
+ MEMBERSHIP_PLANS_UPDATE: "MEMBERSHIP_PLANS_UPDATE",
565
+ MEMBERSHIP_PLANS_DELETE: "MEMBERSHIP_PLANS_DELETE",
479
566
  // Check-ins
480
567
  CHECKINS_CREATE: "CHECKINS_CREATE",
481
568
  CHECKINS_READ: "CHECKINS_READ",
@@ -553,6 +640,10 @@ var PERMISSIONS = {
553
640
  CATALOG_READ: "CATALOG_READ",
554
641
  CATALOG_UPDATE: "CATALOG_UPDATE",
555
642
  CATALOG_MANAGE: "CATALOG_MANAGE",
643
+ // Credits
644
+ CREDITS_READ: "CREDITS_READ",
645
+ CREDITS_MANAGE: "CREDITS_MANAGE",
646
+ CREDITS_ADJUST: "CREDITS_ADJUST",
556
647
  // Special permissions
557
648
  SUPER_ADMIN: "SUPER_ADMIN",
558
649
  OWNER: "OWNER",
@@ -750,6 +841,11 @@ var MessageStatus = /* @__PURE__ */ ((MessageStatus2) => {
750
841
  MessageStatus2["CANCELLED"] = "cancelled";
751
842
  return MessageStatus2;
752
843
  })(MessageStatus || {});
844
+ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
845
+ FeatureType2["AI_GENERATION"] = "ai_generation";
846
+ FeatureType2["BULK_WHATSAPP"] = "bulk_whatsapp";
847
+ return FeatureType2;
848
+ })(FeatureType || {});
753
849
 
754
850
  // src/events/whatsapp.events.ts
755
851
  var WHATSAPP_EVENTS = {
@@ -900,6 +996,14 @@ function getRoleCapabilities(roleName) {
900
996
  }
901
997
  }
902
998
 
999
+ // src/types/bulk-message.types.ts
1000
+ var MAX_MESSAGES_PER_CAMPAIGN = 10;
1001
+ var MAX_IMAGES_PER_CAMPAIGN = 5;
1002
+ var MAX_CAPTION_LENGTH = 1024;
1003
+ var INTER_MESSAGE_DELAY_MS = 500;
1004
+ var SUPPORTED_MESSAGE_TYPES = ["text", "image"];
1005
+ var ALLOWED_IMAGE_MIMES = ["image/jpeg", "image/jpg", "image/png", "image/webp"];
1006
+
903
1007
  // src/utils/phone.utils.ts
904
1008
  function normalizePhoneForEvolution(phoneNumber) {
905
1009
  if (!phoneNumber) {
@@ -934,6 +1038,7 @@ function isValidPeruvianPhone(phoneNumber) {
934
1038
 
935
1039
  exports.ACTIVITY_EVENTS = ACTIVITY_EVENTS;
936
1040
  exports.ACTIVITY_MESSAGE_VARIABLES = ACTIVITY_MESSAGE_VARIABLES;
1041
+ exports.ALLOWED_IMAGE_MIMES = ALLOWED_IMAGE_MIMES;
937
1042
  exports.AssetCategory = AssetCategory;
938
1043
  exports.AssetStatus = AssetStatus;
939
1044
  exports.BULK_MESSAGE_VARIABLES = BULK_MESSAGE_VARIABLES;
@@ -947,8 +1052,13 @@ exports.ContractAssetType = ContractAssetType;
947
1052
  exports.ContractStatus = ContractStatus;
948
1053
  exports.DATE_FORMATS = DATE_FORMATS;
949
1054
  exports.FILE_LIMITS = FILE_LIMITS;
1055
+ exports.FeatureType = FeatureType;
950
1056
  exports.HEADERS = HEADERS;
1057
+ exports.INTER_MESSAGE_DELAY_MS = INTER_MESSAGE_DELAY_MS;
951
1058
  exports.InvitationStatus = InvitationStatus;
1059
+ exports.MAX_CAPTION_LENGTH = MAX_CAPTION_LENGTH;
1060
+ exports.MAX_IMAGES_PER_CAMPAIGN = MAX_IMAGES_PER_CAMPAIGN;
1061
+ exports.MAX_MESSAGES_PER_CAMPAIGN = MAX_MESSAGES_PER_CAMPAIGN;
952
1062
  exports.MessageStatus = MessageStatus;
953
1063
  exports.PAGINATION_DEFAULTS = PAGINATION_DEFAULTS;
954
1064
  exports.PERMISSIONS = PERMISSIONS;
@@ -958,6 +1068,7 @@ exports.PlanType = PlanType;
958
1068
  exports.ROLE_NAMES = ROLE_NAMES;
959
1069
  exports.ROLE_PERMISSIONS = ROLE_PERMISSIONS;
960
1070
  exports.RoleNames = RoleNames;
1071
+ exports.SUPPORTED_MESSAGE_TYPES = SUPPORTED_MESSAGE_TYPES;
961
1072
  exports.SubscriptionStatus = SubscriptionStatus;
962
1073
  exports.SuspensionType = SuspensionType;
963
1074
  exports.TEMPLATE_CODES = TEMPLATE_CODES;