{"version":3,"sources":["../../../../src/types/tags.ts","../../../../src/utils/phone-numer-from-jid.ts","../../../../src/modules/messages/schemas/text.ts"],"sourcesContent":["export type Jid = `${string}@s.whatsapp.net` | string;\nexport const Jid = (jid: string) => jid as Jid;\n\nexport type GroupJid = `${string}@g.us` | string;\nexport const GroupJid = (jid: string) => jid as GroupJid;\n\nexport type GroupInviteCode = string & { __tag: \"GroupInviteCode\" };\nexport const GroupInviteCode = (code: string) => code as GroupInviteCode;\n\nexport type MessageId = string & { __tag: \"MessageId\" };\nexport const MessageId = (id: string) => id as MessageId;\n\nexport type ChatId = string & { __tag: \"ChatId\" };\nexport const ChatId = (id: string) => id as ChatId;\n","import { parsePhoneNumber } from \"libphonenumber-js\";\n\n/**\n * Get phone number from JID\n * @param jid - JID (remote JID)\n */\nexport function phoneNumberFromJid(jid: string) {\n\treturn parsePhoneNumber(`+${jid.split(\"@\")[0]}`).number;\n}\n","// Pure TypeScript interfaces for better IDE support and performance\nimport { Jid, MessageId } from \"@/types/tags\";\nimport { phoneNumberFromJid } from \"@/utils/phone-numer-from-jid\";\nimport { BaseMessageOptions } from \"./base\";\n\n// Raw response interface from API\nexport interface TextMessageResponseRaw {\n  key: {\n    remoteJid: string;\n    fromMe: boolean;\n    id: string;\n  };\n  pushName: string;\n  status: string;\n  message: {\n    conversation: string;\n  };\n  contextInfo: null;\n  messageType: string;\n  messageTimestamp: number;\n  instanceId: string;\n  source: string;\n}\n\n// Request interfaces\nexport interface TextMessageOptions extends BaseMessageOptions {\n  /**\n   * Message text content\n   */\n  text: string;\n  /**\n   * Whether link preview should be shown\n   */\n  linkPreview?: boolean;\n}\n\n// Response interfaces\nexport interface TextMessageResponse {\n  key: {\n    remoteJid: string;\n    fromMe: boolean;\n    id: string;\n  };\n  pushName: string;\n  status: string;\n  message: {\n    conversation: string;\n  };\n  contextInfo: null;\n  messageType: string;\n  messageTimestamp: number;\n  instanceId: string;\n  source: string;\n  receiver: {\n    phoneNumber: string;\n    jid: Jid;\n  };\n  messageId: MessageId;\n  timestamp: Date;\n}\n\nexport interface TextMessageReceived {\n  conversation: string;\n  extendedTextMessage: {\n    text: string;\n  };\n}\n\n// Transform function\nexport const TextMessageResponseTransform = (\n  data: TextMessageResponseRaw\n): TextMessageResponse => ({\n  receiver: {\n    phoneNumber: phoneNumberFromJid(data.key.remoteJid),\n    jid: Jid(data.key.remoteJid),\n  },\n  messageId: MessageId(data.key.id),\n  timestamp: new Date(data.messageTimestamp),\n  key: data.key,\n  pushName: data.pushName,\n  status: data.status,\n  message: data.message,\n  contextInfo: data.contextInfo,\n  messageType: data.messageType,\n  messageTimestamp: data.messageTimestamp,\n  instanceId: data.instanceId,\n  source: data.source,\n});\n"],"mappings":";AACO,IAAM,MAAM,CAAC,QAAgB;AAS7B,IAAM,YAAY,CAAC,OAAe;;;ACVzC,SAAS,wBAAwB;AAM1B,SAAS,mBAAmB,KAAa;AAC/C,SAAO,iBAAiB,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;AAClD;;;AC6DO,IAAM,+BAA+B,CAC1C,UACyB;AAAA,EACzB,UAAU;AAAA,IACR,aAAa,mBAAmB,KAAK,IAAI,SAAS;AAAA,IAClD,KAAK,IAAI,KAAK,IAAI,SAAS;AAAA,EAC7B;AAAA,EACA,WAAW,UAAU,KAAK,IAAI,EAAE;AAAA,EAChC,WAAW,IAAI,KAAK,KAAK,gBAAgB;AAAA,EACzC,KAAK,KAAK;AAAA,EACV,UAAU,KAAK;AAAA,EACf,QAAQ,KAAK;AAAA,EACb,SAAS,KAAK;AAAA,EACd,aAAa,KAAK;AAAA,EAClB,aAAa,KAAK;AAAA,EAClB,kBAAkB,KAAK;AAAA,EACvB,YAAY,KAAK;AAAA,EACjB,QAAQ,KAAK;AACf;","names":[]}