diff --git a/.vscode/settings.json b/.vscode/settings.json index d3753c7..ee40dd0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,10 @@ { - "conventionalCommits.scopes": ["hook", "contributing", "cli", "adapter"] + "conventionalCommits.scopes": [ + "hook", + "contributing", + "cli", + "bot", + "provider", + "adapter" + ] } diff --git a/packages/database/src/mysql/index.js b/packages/database/src/mysql/index.js index 63e6e7d..a557f3e 100644 --- a/packages/database/src/mysql/index.js +++ b/packages/database/src/mysql/index.js @@ -13,9 +13,10 @@ class MyslAdapter { async init() { this.db = mysql.createConnection(this.credentials) - await this.db.connect((error) => { + await this.db.connect(async (error) => { if (!error) { console.log(`Solicitud de conexión a base de datos exitosa`) + await this.checkTableExists() } if (error) { @@ -64,6 +65,42 @@ class MyslAdapter { }) this.listHistory.push(ctx) } + + createTable = () => + new Promise((resolve) => { + const tableName = 'history' + + const sql = `CREATE TABLE ${tableName} + (id INT AUTO_INCREMENT PRIMARY KEY, + ref varchar(255) NOT NULL, + keyword varchar(255) NOT NULL, + answer longtext NOT NULL, + refSerialize varchar(255) NOT NULL, + phone varchar(255) NOT NULL, + options longtext NOT NULL + )` + + this.db.query(sql, (err) => { + if (err) throw err + console.log(`Tabla ${tableName} creada correctamente `) + resolve(true) + }) + }) + + checkTableExists = () => + new Promise((resolve) => { + const sql = "SHOW TABLES LIKE 'history'" + + this.db.query(sql, (err, rows) => { + if (err) throw err + + if (!rows.length) { + this.createTable() + } + + resolve(!!rows.length) + }) + }) } module.exports = MyslAdapter diff --git a/packages/provider/src/twilio/index.js b/packages/provider/src/twilio/index.js index 973cc48..592e4d7 100644 --- a/packages/provider/src/twilio/index.js +++ b/packages/provider/src/twilio/index.js @@ -5,6 +5,12 @@ const TwilioWebHookServer = require('./server') const { parseNumber } = require('./utils') /** + * ⚙️TwilioProvider: Es un provedor que te ofrece enviar + * mensaje a Whatsapp via API + * info: https://www.twilio.com/es-mx/messaging/whatsapp + * video: https://youtu.be/KoOmsHylxUw + * + * Necesitas las siguientes tokens y valores * { accountSid, authToken, vendorNumber } */ class TwilioProvider extends ProviderClass { @@ -15,7 +21,7 @@ class TwilioProvider extends ProviderClass { super() this.vendor = new twilio(accountSid, authToken) this.twilioHook = new TwilioWebHookServer(_port) - this.vendorNumber = vendorNumber + this.vendorNumber = parseNumber(vendorNumber) this.twilioHook.start() const listEvents = this.busEvents() @@ -25,14 +31,6 @@ class TwilioProvider extends ProviderClass { } } - sendMessage = async (number, message) => { - return this.vendor.messages.create({ - body: message, - from: ['whatsapp:+', parseNumber(this.vendorNumber)].join(''), - to: ['whatsapp:+', parseNumber(number)].join(''), - }) - } - /** * Mapeamos los eventos nativos de whatsapp-web.js a los que la clase Provider espera * para tener un standar de eventos @@ -54,6 +52,65 @@ class TwilioProvider extends ProviderClass { }, }, ] + + /** + * Enviar un archivo multimedia + * https://www.twilio.com/es-mx/docs/whatsapp/tutorial/send-and-receive-media-messages-whatsapp-nodejs + * @private + * @param {*} number + * @param {*} mediaInput + * @returns + */ + sendMedia = async (number, message, mediaInput = null) => { + if (!mediaInput) throw new Error(`MEDIA_INPUT_NULL_: ${mediaInput}`) + number = parseNumber(number) + return this.vendor.messages.create({ + mediaUrl: [`${mediaInput}`], + body: message, + from: `whatsapp:+${this.vendorNumber}`, + to: `whatsapp:+${number}`, + }) + } + + /** + * Enviar botones + * https://www.twilio.com/es-mx/docs/whatsapp/buttons + * @private + * @param {*} number + * @param {*} message + * @param {*} buttons [] + * @returns + */ + sendButtons = async (number, message, buttons = []) => { + console.log(``) + console.log( + `[NOTA]: Actualmente enviar botons con Twilio esta en desarrollo` + ) + console.log( + `[NOTA]: https://www.twilio.com/es-mx/docs/whatsapp/buttons` + ) + console.log(``) + } + + /** + * + * @param {*} userId + * @param {*} message + * @param {*} param2 + * @returns + */ + sendMessage = async (number, message, { options }) => { + number = parseNumber(number) + if (options?.buttons?.length) + this.sendButtons(number, message, options.buttons) + if (options?.media) + return this.sendMedia(number, message, options.media) + return this.vendor.messages.create({ + body: message, + from: `whatsapp:+${this.vendorNumber}`, + to: `whatsapp:+${number}`, + }) + } } module.exports = TwilioProvider diff --git a/packages/provider/src/twilio/server.js b/packages/provider/src/twilio/server.js index d208232..ae09da7 100644 --- a/packages/provider/src/twilio/server.js +++ b/packages/provider/src/twilio/server.js @@ -11,6 +11,7 @@ class TwilioWebHookServer extends EventEmitter { twilioServer twilioPort constructor(_twilioPort) { + super() this.twilioServer = this.buildHTTPServer() this.twilioPort = _twilioPort } @@ -51,7 +52,7 @@ class TwilioWebHookServer extends EventEmitter { console.log(``) console.log(`[Twilio]: Agregar esta url "WHEN A MESSAGE COMES IN"`) console.log( - `[Twilio]: http://localhost:${this.twilioPort}/twilio-hook` + `[Twilio]: POST http://localhost:${this.twilioPort}/twilio-hook` ) console.log(`[Twilio]: Más información en la documentacion`) console.log(``) diff --git a/packages/provider/src/web-whatsapp/index.js b/packages/provider/src/web-whatsapp/index.js index 463987c..e3cafcf 100644 --- a/packages/provider/src/web-whatsapp/index.js +++ b/packages/provider/src/web-whatsapp/index.js @@ -8,14 +8,19 @@ const { const { ProviderClass } = require('@bot-whatsapp/bot') const { Console } = require('console') const { createWriteStream, existsSync } = require('fs') -const { cleanNumber, generateImage, isValidNumber } = require('./utils') +const { + cleanNumber, + generateImage, + isValidNumber, + downloadMedia, +} = require('./utils') const logger = new Console({ stdout: createWriteStream('./log'), }) /** - * WebWhatsappProvider: Es una clase tipo adaptor + * ⚙️ WebWhatsappProvider: Es una clase tipo adaptor * que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas) * https://github.com/pedroslopez/whatsapp-web.js */ @@ -97,9 +102,9 @@ class WebWhatsappProvider extends ProviderClass { * @returns */ sendMedia = async (number, mediaInput = null) => { - if (!existsSync(mediaInput)) - throw new Error(`NO_SE_ENCONTRO: ${mediaInput}`) - const media = MessageMedia.fromFilePath(mediaInput) + if (!mediaInput) throw new Error(`NO_SE_ENCONTRO: ${mediaInput}`) + const fileDownloaded = await downloadMedia(mediaInput) + const media = MessageMedia.fromFilePath(fileDownloaded) return this.vendor.sendMessage(number, media, { sendAudioAsVoice: true, }) @@ -164,9 +169,9 @@ class WebWhatsappProvider extends ProviderClass { */ sendMessage = async (userId, message, { options }) => { const number = cleanNumber(userId) - if (options?.media) return this.sendMedia(number, options.media) if (options?.buttons?.length) return this.sendButtons(number, message, options.buttons) + if (options?.media) return this.sendMedia(number, options.media) return this.sendText(number, message) } } diff --git a/packages/provider/src/web-whatsapp/utils.js b/packages/provider/src/web-whatsapp/utils.js index aec861c..7981649 100644 --- a/packages/provider/src/web-whatsapp/utils.js +++ b/packages/provider/src/web-whatsapp/utils.js @@ -1,5 +1,8 @@ const { createWriteStream } = require('fs') const qr = require('qr-image') +const { tmpdir } = require('os') +const http = require('http') +const https = require('https') const cleanNumber = (number, full = false) => { number = number.replace('@c.us', '') @@ -18,4 +21,33 @@ const isValidNumber = (rawNumber) => { return !exist } -module.exports = { cleanNumber, generateImage, isValidNumber } +/** + * Incompleta + * Descargar archivo multimedia para enviar + * @param {*} url + * @returns + */ +const downloadMedia = (url) => { + return new Promise((resolve, reject) => { + const ext = url.split('.').pop() + const checkProtocol = url.includes('https:') + const handleHttp = checkProtocol ? https : http + const name = `tmp-${Date.now()}.${ext}` + const fullPath = `${tmpdir()}/${name}` + const file = createWriteStream(fullPath) + handleHttp.get(url, function (response) { + response.pipe(file) + file.on('finish', function () { + file.close() + resolve(fullPath) + }) + file.on('error', function () { + console.log('errro') + file.close() + reject(null) + }) + }) + }) +} + +module.exports = { cleanNumber, generateImage, isValidNumber, downloadMedia } diff --git a/yarn.lock b/yarn.lock index 8a41329..54dc4ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -82,7 +82,6 @@ __metadata: languageName: node linkType: hard -<<<<<<< HEAD "@aws-sdk/client-cognito-identity@npm:3.223.0": version: 3.223.0 resolution: "@aws-sdk/client-cognito-identity@npm:3.223.0" @@ -92,17 +91,6 @@ __metadata: "@aws-sdk/client-sts": 3.223.0 "@aws-sdk/config-resolver": 3.222.0 "@aws-sdk/credential-provider-node": 3.223.0 -======= -"@aws-sdk/client-cognito-identity@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/client-cognito-identity@npm:3.222.0" - dependencies: - "@aws-crypto/sha256-browser": 2.0.0 - "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/client-sts": 3.222.0 - "@aws-sdk/config-resolver": 3.222.0 - "@aws-sdk/credential-provider-node": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/fetch-http-handler": 3.222.0 "@aws-sdk/hash-node": 3.222.0 "@aws-sdk/invalid-dependency": 3.222.0 @@ -128,16 +116,11 @@ __metadata: "@aws-sdk/util-defaults-mode-browser": 3.222.0 "@aws-sdk/util-defaults-mode-node": 3.222.0 "@aws-sdk/util-endpoints": 3.222.0 -<<<<<<< HEAD -======= - "@aws-sdk/util-retry": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/util-user-agent-browser": 3.222.0 "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 -<<<<<<< HEAD checksum: ada894c3fbe943044617d719dc947af51546dbfea72e5b63f23c6230677c39dc0355248ed1ba119a29f2d4b7bc64e28400880b580a263bcd45d05fdf45007ad7 languageName: node linkType: hard @@ -145,15 +128,6 @@ __metadata: "@aws-sdk/client-sso-oidc@npm:3.223.0": version: 3.223.0 resolution: "@aws-sdk/client-sso-oidc@npm:3.223.0" -======= - checksum: b733d9bad0232a17967da9b27311cb2adf41acaefc584173e6d74b3b966ed3908b9e9fa65b3a0f3e12709dc305e64b1a5351ea43ac666650a375cb10143368e3 - languageName: node - linkType: hard - -"@aws-sdk/client-sso-oidc@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.222.0" ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 @@ -182,16 +156,11 @@ __metadata: "@aws-sdk/util-defaults-mode-browser": 3.222.0 "@aws-sdk/util-defaults-mode-node": 3.222.0 "@aws-sdk/util-endpoints": 3.222.0 -<<<<<<< HEAD -======= - "@aws-sdk/util-retry": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/util-user-agent-browser": 3.222.0 "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 -<<<<<<< HEAD checksum: ab5b6142d897ec48a3bb246577c23d1b6e26ee228c7ce264f826d10f88caa83e03f0dac9d88e361c70b778ceef45f0ebd9712cd03ca5b60ab240a3d4382ecb7c languageName: node linkType: hard @@ -199,15 +168,6 @@ __metadata: "@aws-sdk/client-sso@npm:3.223.0": version: 3.223.0 resolution: "@aws-sdk/client-sso@npm:3.223.0" -======= - checksum: 40674d89438b689480bdfa10bfb044d90341d87096ae6b0803e6ecc1695d48b1f7a8c513109e92001c380e2b2f5b18aa3e8af1c8ecd3d2f04f63f160cb039611 - languageName: node - linkType: hard - -"@aws-sdk/client-sso@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/client-sso@npm:3.222.0" ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 @@ -236,16 +196,11 @@ __metadata: "@aws-sdk/util-defaults-mode-browser": 3.222.0 "@aws-sdk/util-defaults-mode-node": 3.222.0 "@aws-sdk/util-endpoints": 3.222.0 -<<<<<<< HEAD -======= - "@aws-sdk/util-retry": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/util-user-agent-browser": 3.222.0 "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 -<<<<<<< HEAD checksum: 856e3745182906d274dc894baa7d853966b0074f89ea892f29132e1cefdf49f267f1d0fffaa2de3de352d19ff3963d59290602057bd4510731e0156199bed664 languageName: node linkType: hard @@ -253,24 +208,11 @@ __metadata: "@aws-sdk/client-sts@npm:3.223.0": version: 3.223.0 resolution: "@aws-sdk/client-sts@npm:3.223.0" -======= - checksum: bc0cd1125bc5aa94b3fdec15167ce9539acf4a187da060d51fa8ad7c30d0bf6cfee9e3a0175d65e204aba92efee4087c99d1190e1b43927c01cd7a8b1bbbb93e - languageName: node - linkType: hard - -"@aws-sdk/client-sts@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/client-sts@npm:3.222.0" ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 "@aws-sdk/config-resolver": 3.222.0 -<<<<<<< HEAD "@aws-sdk/credential-provider-node": 3.223.0 -======= - "@aws-sdk/credential-provider-node": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/fetch-http-handler": 3.222.0 "@aws-sdk/hash-node": 3.222.0 "@aws-sdk/invalid-dependency": 3.222.0 @@ -297,21 +239,13 @@ __metadata: "@aws-sdk/util-defaults-mode-browser": 3.222.0 "@aws-sdk/util-defaults-mode-node": 3.222.0 "@aws-sdk/util-endpoints": 3.222.0 -<<<<<<< HEAD -======= - "@aws-sdk/util-retry": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/util-user-agent-browser": 3.222.0 "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 fast-xml-parser: 4.0.11 tslib: ^2.3.1 -<<<<<<< HEAD checksum: 6976345f839b0028a0e83f6d11e3323da68cef103ae5381299c6d75df25a1ef336b83023c79896242fbc4b7d2a27f3deebb1b1922e815e6cc7780f3eee302210 -======= - checksum: 79f18e5b44541673213715e3465a8b000716c03120ea087e6920abba3542683dbd4b881ecb091ef90df34947eec00c82daf70089ea0e5e92cffbb4e57e2d76d7 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d languageName: node linkType: hard @@ -328,7 +262,6 @@ __metadata: languageName: node linkType: hard -<<<<<<< HEAD "@aws-sdk/credential-provider-cognito-identity@npm:3.223.0": version: 3.223.0 resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.223.0" @@ -338,17 +271,6 @@ __metadata: "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 checksum: e0f03110b120699ef9c458edd5b1a248f5e3f360931b2e8be7ebb7fc33da51ac1c3fdf96bb05a755a2d303c00c7effee7a582706da2333b4ee43c0040ff551a5 -======= -"@aws-sdk/credential-provider-cognito-identity@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.222.0" - dependencies: - "@aws-sdk/client-cognito-identity": 3.222.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/types": 3.222.0 - tslib: ^2.3.1 - checksum: e6a61cf601825907931ed0cc42050b895b150468feb95c1052e053ce00d33e8d225663ca337da1c5825eee7e24438311ba0d28b2a6021868d3e6796aa81fdeeb ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d languageName: node linkType: hard @@ -376,7 +298,6 @@ __metadata: languageName: node linkType: hard -<<<<<<< HEAD "@aws-sdk/credential-provider-ini@npm:3.223.0": version: 3.223.0 resolution: "@aws-sdk/credential-provider-ini@npm:3.223.0" @@ -384,21 +305,11 @@ __metadata: "@aws-sdk/credential-provider-env": 3.222.0 "@aws-sdk/credential-provider-imds": 3.222.0 "@aws-sdk/credential-provider-sso": 3.223.0 -======= -"@aws-sdk/credential-provider-ini@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.222.0" - dependencies: - "@aws-sdk/credential-provider-env": 3.222.0 - "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/credential-provider-sso": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/credential-provider-web-identity": 3.222.0 "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/shared-ini-file-loader": 3.222.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 -<<<<<<< HEAD checksum: f407fe591999f1da1d5580b182af261ceeb4455da9a53d18ae871c9cf244e6e72fa10ef28036419790e2b5787d64c5de5b4daf4c7f69acb866894410baa880d0 languageName: node linkType: hard @@ -412,31 +323,12 @@ __metadata: "@aws-sdk/credential-provider-ini": 3.223.0 "@aws-sdk/credential-provider-process": 3.222.0 "@aws-sdk/credential-provider-sso": 3.223.0 -======= - checksum: eac19a9b52066f76cf23bee102369df7d50097dfee3be14b12c2e178c16868acd1a79b13c00d3e3ac40d2fbc14b4e2b06119d0c51c5d875c6be3606c33514d62 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-node@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.222.0" - dependencies: - "@aws-sdk/credential-provider-env": 3.222.0 - "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/credential-provider-ini": 3.222.0 - "@aws-sdk/credential-provider-process": 3.222.0 - "@aws-sdk/credential-provider-sso": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/credential-provider-web-identity": 3.222.0 "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/shared-ini-file-loader": 3.222.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 -<<<<<<< HEAD checksum: 6ce5f88f75a6e879344ea76fa2b390c779d74f1b3657fa15367b15797b09d9713ef0d2f14c95421254a6bc0b8bde1acd2634978a6549e02a74c33160ae6130fd -======= - checksum: f17ce6c9b45d48d9bebd63766b5d85e45f6a1d50b02bea4784d0055269a0f5c05e5ba343c6b138cd29086b94c6bb4511568e9fb59f340f3988526b2d7950cb4c ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d languageName: node linkType: hard @@ -452,7 +344,6 @@ __metadata: languageName: node linkType: hard -<<<<<<< HEAD "@aws-sdk/credential-provider-sso@npm:3.223.0": version: 3.223.0 resolution: "@aws-sdk/credential-provider-sso@npm:3.223.0" @@ -464,19 +355,6 @@ __metadata: "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 checksum: 4593a94dc86ef7218517061cf875285c2c6087f1d4a1199442055e6165701f11f9921612a04ab3c1b3f29b3132d46a8ce8cd26070fad132509e20eca1b89f217 -======= -"@aws-sdk/credential-provider-sso@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.222.0" - dependencies: - "@aws-sdk/client-sso": 3.222.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/shared-ini-file-loader": 3.222.0 - "@aws-sdk/token-providers": 3.222.0 - "@aws-sdk/types": 3.222.0 - tslib: ^2.3.1 - checksum: 8e0a39a722fd6548b9758ab4c711eac9128a64bae1fa9bfce5f0b92c2df34883fdcd544c9a48f501d3a7b695e6d0b51a9b5e1be1b7eac626a1818860cfc86072 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d languageName: node linkType: hard @@ -492,7 +370,6 @@ __metadata: linkType: hard "@aws-sdk/credential-providers@npm:^3.186.0": -<<<<<<< HEAD version: 3.223.0 resolution: "@aws-sdk/credential-providers@npm:3.223.0" dependencies: @@ -506,31 +383,12 @@ __metadata: "@aws-sdk/credential-provider-node": 3.223.0 "@aws-sdk/credential-provider-process": 3.222.0 "@aws-sdk/credential-provider-sso": 3.223.0 -======= - version: 3.222.0 - resolution: "@aws-sdk/credential-providers@npm:3.222.0" - dependencies: - "@aws-sdk/client-cognito-identity": 3.222.0 - "@aws-sdk/client-sso": 3.222.0 - "@aws-sdk/client-sts": 3.222.0 - "@aws-sdk/credential-provider-cognito-identity": 3.222.0 - "@aws-sdk/credential-provider-env": 3.222.0 - "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/credential-provider-ini": 3.222.0 - "@aws-sdk/credential-provider-node": 3.222.0 - "@aws-sdk/credential-provider-process": 3.222.0 - "@aws-sdk/credential-provider-sso": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/credential-provider-web-identity": 3.222.0 "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/shared-ini-file-loader": 3.222.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 -<<<<<<< HEAD checksum: 289d043f41460751e90c3adc323f3a56e517f67c0a7f8889249e0969b3302f19d093eef4a10d3528bdf34f1043f95fa41555ed5c91af4d2ca636cded1775c81c -======= - checksum: a6c159abbc210d62ed7d1153278b423595493583f53ec2a9143b402ee149cc1ae39be41615c76c3b658e1e9f70e89019a594c8e7a6a320cf7ea37443714a79ac ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d languageName: node linkType: hard @@ -816,28 +674,16 @@ __metadata: languageName: node linkType: hard -<<<<<<< HEAD "@aws-sdk/token-providers@npm:3.223.0": version: 3.223.0 resolution: "@aws-sdk/token-providers@npm:3.223.0" dependencies: "@aws-sdk/client-sso-oidc": 3.223.0 -======= -"@aws-sdk/token-providers@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/token-providers@npm:3.222.0" - dependencies: - "@aws-sdk/client-sso-oidc": 3.222.0 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/shared-ini-file-loader": 3.222.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 -<<<<<<< HEAD checksum: 08d724bc685b90761159b449413c9dddb581cc61cd982ee9a189e8682d1a703acc70663beec2ae31d1ebf6fe9a86480b63fb65da531e35b2e8772a2c3906969f -======= - checksum: e0d2d9af50570ca1e9ae4cfe32889a9146a0e49ce3004dfc4d5305ba0f64b7561da95d09ccaf18927638417d3bd1eb9772cb58256aef242beab03a56e4e68883 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d languageName: node linkType: hard @@ -966,19 +812,6 @@ __metadata: dependencies: tslib: ^2.3.1 checksum: 807dd36731c7aa59658e4eea5747d6d363b5e5715d0d2c5554c265df6729735f31e790e8e6130d5d56b4923e29080a656e19978631a7ff667f969bfdae8c6320 -<<<<<<< HEAD -======= - languageName: node - linkType: hard - -"@aws-sdk/util-retry@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/util-retry@npm:3.222.0" - dependencies: - "@aws-sdk/service-error-classification": 3.222.0 - tslib: ^2.3.1 - checksum: d4b38a23a310d44d211db2cfb2ae53ef41cf805308d08e56d9ca786fc69fd6b244f331d40ea35023bbc53625c7b2c1f4fab9fabd32d0a10396d4359ac50eff09 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d languageName: node linkType: hard @@ -1102,11 +935,7 @@ __metadata: dependencies: dotenv: ^16.0.3 mongodb: ^4.11.0 -<<<<<<< HEAD stormdb: ^0.6.0 -======= - mysql2: ^2.3.3 ->>>>>>> 520145bf7dcce65a6d0363bccd423613e6bde90d languageName: unknown linkType: soft