/** * Ductape Brokers Module * * Provides a unified API for message broker operations across * RabbitMQ, Kafka, AWS SQS, Redis, and Google Pub/Sub. * * @example * ```ts * import { BrokersService } from '@ductape/sdk'; * * const brokers = new BrokersService({ * workspace_id: 'your-workspace-id', * public_key: 'your-public-key', * user_id: 'your-user-id', * token: 'your-token', * env_type: 'prd', * }); * * // Publish a message * await brokers.publish({ * product: 'my-product', * env: 'production', * event: 'orders-broker:new-order', * message: { orderId: '123', amount: 99.99 }, * }); * * // Subscribe to messages * await brokers.subscribe({ * product: 'my-product', * env: 'production', * event: 'orders-broker:new-order', * callback: async (message) => { * console.log('Received:', message); * }, * }); * ``` */ export { BrokersService, BrokerError } from './brokers.service'; export { default as BrokersServiceDefault } from './brokers.service'; export * from './types'; export { RabbitMQService } from './utils/providers/rabbitmq.service'; export { KafkaService } from './utils/providers/kafka.service'; export { SQSService } from './utils/providers/aws-sqs.service'; export { RedisService } from './utils/providers/redis.service'; export { GooglePubSubService } from './utils/providers/google-pubsub.service'; export { loadBrokerService, parseEventString, isValidSqsUrl, getSqsQueueUrl } from './utils/broker.util';