UNPKG

redai-automation-web-sdk

Version:

TypeScript SDK for RedAI Automation Web API - Zalo Personal automation, messaging, and search. 100% compatible with automation-web backend. Now includes SearchModule for stickers and link parsing.

260 lines 11.9 kB
"use strict"; /** * Job Types Index * Export tất cả job/queue types * 100% khớp với automation-web job structure */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.GROUP_EVENT_TYPES = exports.FRIEND_EVENT_TYPES = exports.MESSAGE_EVENT_TYPES = void 0; exports.isMessageEvent = isMessageEvent; exports.isTypingEvent = isTypingEvent; exports.isReactionEvent = isReactionEvent; exports.isFriendEvent = isFriendEvent; exports.isGroupEvent = isGroupEvent; exports.isSystemEvent = isSystemEvent; exports.isSelfEvent = isSelfEvent; exports.isOtherEvent = isOtherEvent; exports.isUserThreadEvent = isUserThreadEvent; exports.isGroupThreadEvent = isGroupThreadEvent; exports.getEventCategory = getEventCategory; exports.getThreadTypeFromEvent = getThreadTypeFromEvent; exports.getActorTypeFromEvent = getActorTypeFromEvent; // ==================== BASE TYPES ==================== __exportStar(require("./webhook-job.types"), exports); // ==================== MESSAGE JOB TYPES ==================== __exportStar(require("./message-job.types"), exports); // ==================== EVENT JOB TYPES ==================== __exportStar(require("./event-job.types"), exports); // ==================== FRIEND & GROUP JOB TYPES ==================== __exportStar(require("./friend-group-job.types"), exports); // ==================== SYSTEM JOB TYPES ==================== __exportStar(require("./system-job.types"), exports); const webhook_job_types_1 = require("./webhook-job.types"); // ==================== HELPER FUNCTIONS ==================== /** * Type guard to check if event is a message event */ function isMessageEvent(event) { return event.eventType.includes('message'); } /** * Type guard to check if event is a typing event */ function isTypingEvent(event) { return event.eventType.includes('typing'); } /** * Type guard to check if event is a reaction event */ function isReactionEvent(event) { return event.eventType.includes('reaction'); } /** * Type guard to check if event is a friend event */ function isFriendEvent(event) { return event.eventType.includes('friend-event'); } /** * Type guard to check if event is a group event */ function isGroupEvent(event) { return event.eventType.includes('group-event'); } /** * Type guard to check if event is a system event */ function isSystemEvent(event) { return event.eventType.includes('connection-status') || event.eventType.includes('upload-attachment') || event.eventType.includes('cipher-key') || event.eventType.includes('error') || event.eventType === webhook_job_types_1.ZaloWebhookEventType.OLD_MESSAGES; } /** * Type guard to check if event is sent by self */ function isSelfEvent(event) { return event.eventType.includes('by-self') || event.eventType.includes('sent-to'); } /** * Type guard to check if event is from other users */ function isOtherEvent(event) { return event.eventType.includes('by-other') || event.eventType.includes('received-from'); } /** * Type guard to check if event is in user thread */ function isUserThreadEvent(event) { return event.eventType.includes('in-user') || event.eventType.includes('to-user') || event.eventType.includes('from-user'); } /** * Type guard to check if event is in group thread */ function isGroupThreadEvent(event) { return event.eventType.includes('in-group') || event.eventType.includes('to-group') || event.eventType.includes('from-group'); } /** * Get event category from event type */ function getEventCategory(eventType) { if (eventType.includes('message')) return 'message'; if (eventType.includes('typing')) return 'typing'; if (eventType.includes('seen')) return 'seen'; if (eventType.includes('delivered')) return 'delivered'; if (eventType.includes('reaction')) return 'reaction'; if (eventType.includes('undo')) return 'undo'; if (eventType.includes('friend-event')) return 'friend'; if (eventType.includes('group-event')) return 'group'; if (eventType.includes('connection-status')) return 'connection'; if (eventType.includes('upload-attachment')) return 'upload'; if (eventType.includes('cipher-key')) return 'cipher'; if (eventType.includes('error')) return 'error'; if (eventType === webhook_job_types_1.ZaloWebhookEventType.OLD_MESSAGES) return 'old-messages'; return 'unknown'; } /** * Get thread type from event type */ function getThreadTypeFromEvent(eventType) { if (eventType.includes('user')) return 'user'; if (eventType.includes('group')) return 'group'; return 'unknown'; } /** * Get actor type from event type (self or other) */ function getActorTypeFromEvent(eventType) { if (eventType.includes('by-self') || eventType.includes('sent-to')) return 'self'; if (eventType.includes('by-other') || eventType.includes('received-from')) return 'other'; return 'unknown'; } // ==================== CONSTANTS ==================== /** * All message event types */ exports.MESSAGE_EVENT_TYPES = [ webhook_job_types_1.ZaloWebhookEventType.TEXT_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.TEXT_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.TEXT_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.TEXT_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.IMAGE_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.IMAGE_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.IMAGE_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.IMAGE_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.VIDEO_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.VIDEO_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.VIDEO_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.VIDEO_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.VOICE_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.VOICE_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.VOICE_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.VOICE_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.FILE_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.FILE_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.FILE_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.FILE_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.STICKER_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.STICKER_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.STICKER_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.STICKER_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.LOCATION_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.LOCATION_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.LOCATION_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.LOCATION_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.GIF_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.GIF_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.GIF_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.GIF_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.LINK_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.LINK_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.LINK_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.LINK_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.DOODLE_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.DOODLE_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.DOODLE_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.DOODLE_MESSAGE_RECEIVED_FROM_GROUP, webhook_job_types_1.ZaloWebhookEventType.RECOMMENDED_MESSAGE_SENT_TO_USER, webhook_job_types_1.ZaloWebhookEventType.RECOMMENDED_MESSAGE_SENT_TO_GROUP, webhook_job_types_1.ZaloWebhookEventType.RECOMMENDED_MESSAGE_RECEIVED_FROM_USER, webhook_job_types_1.ZaloWebhookEventType.RECOMMENDED_MESSAGE_RECEIVED_FROM_GROUP, ]; /** * All friend event types */ exports.FRIEND_EVENT_TYPES = [ webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_ADD, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_REMOVE, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_REQUEST, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_UNDO_REQUEST, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_REJECT_REQUEST, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_SEEN_REQUEST, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_BLOCK, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_UNBLOCK, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_BLOCK_CALL, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_UNBLOCK_CALL, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_PIN_UNPIN, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_PIN_CREATE, webhook_job_types_1.ZaloWebhookEventType.FRIEND_EVENT_UNKNOWN, ]; /** * All group event types */ exports.GROUP_EVENT_TYPES = [ webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_JOIN_REQUEST, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_JOIN, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_LEAVE, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMOVE_MEMBER, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_BLOCK_MEMBER, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_SETTING, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_NEW_LINK, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_ADD_ADMIN, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMOVE_ADMIN, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_NEW_PIN_TOPIC, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_PIN_TOPIC, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REORDER_PIN_TOPIC, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_BOARD, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMOVE_BOARD, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_TOPIC, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UNPIN_TOPIC, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMOVE_TOPIC, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_ACCEPT_REMIND, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REJECT_REMIND, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_REMIND_TOPIC, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UPDATE_AVATAR, webhook_job_types_1.ZaloWebhookEventType.GROUP_EVENT_UNKNOWN, ]; //# sourceMappingURL=index.js.map