@builderbot/bot 1.2.10-alpha.5 → 1.2.10-y.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"coreClass.d.ts","sourceRoot":"","sources":["../../src/core/coreClass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreClass.d.ts","sourceRoot":"","sources":["../../src/core/coreClass.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -13791,20 +13791,111 @@ const fileTypeFromFile = async (response) => {
13791
13791
  };
13792
13792
  };
13793
13793
  /**
13794
- * Descargar archivo binario en tmp
13794
+ * Generar nombre único para evitar colisiones en descargas concurrentes
13795
+ * @param originalName - Nombre original del archivo
13796
+ * @returns Nombre único con timestamp y hash aleatorio
13797
+ */
13798
+ const generateUniqueFileName = (originalName) => {
13799
+ const timestamp = Date.now();
13800
+ const randomHash = crypto.randomBytes(4).toString('hex');
13801
+ return `${originalName}_${timestamp}_${randomHash}`;
13802
+ };
13803
+ /**
13804
+ * Verificar y crear directorio si no existe
13805
+ * @param dirPath - Ruta del directorio
13806
+ */
13807
+ const ensureDirectoryExists = (dirPath) => {
13808
+ try {
13809
+ if (!require$$3$1.existsSync(dirPath)) {
13810
+ require$$3$1.mkdirSync(dirPath, { recursive: true });
13811
+ }
13812
+ }
13813
+ catch (error) {
13814
+ console.warn(`Warning: Could not create directory ${dirPath}:`, error);
13815
+ }
13816
+ };
13817
+ /**
13818
+ * Verificar si un archivo existe con retry
13819
+ * @param filePath - Ruta del archivo
13820
+ * @param maxRetries - Número máximo de reintentos
13821
+ * @returns true si el archivo existe
13822
+ */
13823
+ const fileExistsWithRetry = (filePath, maxRetries = 3) => {
13824
+ for (let i = 0; i < maxRetries; i++) {
13825
+ if (require$$3$1.existsSync(filePath)) {
13826
+ return true;
13827
+ }
13828
+ // Pequeña espera para permitir que operaciones de filesystem se completen
13829
+ if (i < maxRetries - 1) {
13830
+ const sleepMs = 10 + Math.random() * 20; // 10-30ms aleatorio
13831
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, sleepMs);
13832
+ }
13833
+ }
13834
+ return false;
13835
+ };
13836
+ /**
13837
+ * Realizar rename con manejo de colisiones
13838
+ * @param sourcePath - Ruta origen
13839
+ * @param targetPath - Ruta destino
13840
+ * @returns Promise<string> - Ruta final del archivo
13841
+ */
13842
+ const safeRename = (sourcePath, targetPath) => {
13843
+ return new Promise((resolve, reject) => {
13844
+ // Verificar que el archivo origen existe
13845
+ if (!fileExistsWithRetry(sourcePath)) {
13846
+ reject(new Error(`Source file does not exist: ${sourcePath}`));
13847
+ return;
13848
+ }
13849
+ let finalPath = targetPath;
13850
+ let attempt = 0;
13851
+ const maxAttempts = 5;
13852
+ const tryRename = () => {
13853
+ require$$3$1.rename(sourcePath, finalPath, (err) => {
13854
+ if (err) {
13855
+ // Si el archivo destino ya existe, generar nuevo nombre
13856
+ if (err.code === 'EEXIST' && attempt < maxAttempts) {
13857
+ attempt++;
13858
+ const parsedPath = path.parse(targetPath);
13859
+ finalPath = path.join(parsedPath.dir, `${parsedPath.name}_${attempt}${parsedPath.ext}`);
13860
+ tryRename();
13861
+ return;
13862
+ }
13863
+ // Si el archivo origen no existe (fue movido por otro proceso)
13864
+ if (err.code === 'ENOENT') {
13865
+ reject(new Error(`Source file was moved by another process: ${sourcePath}`));
13866
+ return;
13867
+ }
13868
+ reject(new Error(`Rename failed: ${err.message} (${err.code})`));
13869
+ }
13870
+ else {
13871
+ resolve(finalPath);
13872
+ }
13873
+ });
13874
+ };
13875
+ tryRename();
13876
+ });
13877
+ };
13878
+ /**
13879
+ * Descargar archivo binario en tmp con manejo mejorado de concurrencia
13795
13880
  * @param url - La URL del archivo a descargar
13881
+ * @param pathToSave - Directorio donde guardar (opcional)
13882
+ * @param headers - Headers adicionales (opcional)
13796
13883
  * @returns La ruta al archivo descargado
13797
13884
  */
13798
13885
  const generalDownload = async (url, pathToSave, headers) => {
13799
13886
  const checkIsLocal = require$$3$1.existsSync(url);
13887
+ const downloadDir = pathToSave ?? require$$0$5.tmpdir();
13888
+ // Asegurar que el directorio existe
13889
+ ensureDirectoryExists(downloadDir);
13800
13890
  const handleDownload = () => {
13801
13891
  try {
13802
13892
  const checkProtocol = url.startsWith('http');
13803
13893
  const handleHttp = checkProtocol ? followRedirectsExports.https : followRedirectsExports.http;
13804
13894
  const fileName = path.basename(checkProtocol ? new URL(url).pathname : url);
13805
13895
  const name = path.parse(fileName).name;
13806
- const fullPath = path.join(pathToSave ?? require$$0$5.tmpdir(), name);
13807
- const file = require$$3$1.createWriteStream(fullPath);
13896
+ // 🔥 SOLUCIÓN: Generar nombre único para evitar colisiones
13897
+ const uniqueName = generateUniqueFileName(name);
13898
+ const fullPath = path.join(downloadDir, uniqueName);
13808
13899
  if (checkIsLocal) {
13809
13900
  /**
13810
13901
  * From Local
@@ -13820,51 +13911,108 @@ const generalDownload = async (url, pathToSave, headers) => {
13820
13911
  }
13821
13912
  else {
13822
13913
  /**
13823
- * From URL
13914
+ * From URL con manejo mejorado de errores
13824
13915
  */
13825
13916
  return new Promise((res, rej) => {
13826
13917
  const options = {
13827
13918
  headers: headers ?? {},
13919
+ timeout: 30000, // 30 segundos timeout
13828
13920
  };
13829
- handleHttp.get(url, options, function (response) {
13830
- response.pipe(file);
13831
- file.on('finish', async function () {
13921
+ let downloadCompleted = false;
13922
+ const file = require$$3$1.createWriteStream(fullPath);
13923
+ const request = handleHttp.get(url, options, function (response) {
13924
+ // Verificar código de respuesta HTTP
13925
+ if (response.statusCode !== 200) {
13832
13926
  file.close();
13833
- res({ response, fullPath });
13927
+ rej(new Error(`HTTP ${response.statusCode}: ${response.statusMessage} for ${url}`));
13928
+ return;
13929
+ }
13930
+ response.pipe(file);
13931
+ file.on('finish', function () {
13932
+ if (!downloadCompleted) {
13933
+ downloadCompleted = true;
13934
+ file.close(() => {
13935
+ // Verificar que el archivo realmente existe
13936
+ if (fileExistsWithRetry(fullPath)) {
13937
+ res({ response, fullPath });
13938
+ }
13939
+ else {
13940
+ rej(new Error(`File was not created successfully: ${fullPath}`));
13941
+ }
13942
+ });
13943
+ }
13834
13944
  });
13835
- file.on('error', function () {
13836
- file.close();
13837
- rej(new Error('Error downloading file'));
13945
+ file.on('error', function (err) {
13946
+ if (!downloadCompleted) {
13947
+ downloadCompleted = true;
13948
+ file.close();
13949
+ // Limpiar archivo parcial
13950
+ try {
13951
+ if (require$$3$1.existsSync(fullPath)) {
13952
+ require('fs').unlinkSync(fullPath);
13953
+ }
13954
+ }
13955
+ catch (cleanupErr) {
13956
+ console.warn(`Could not cleanup partial file ${fullPath}:`, cleanupErr);
13957
+ }
13958
+ rej(new Error(`File write error: ${err.message}`));
13959
+ }
13838
13960
  });
13839
13961
  });
13962
+ request.on('error', function (err) {
13963
+ if (!downloadCompleted) {
13964
+ downloadCompleted = true;
13965
+ file.close();
13966
+ rej(new Error(`Download error for ${url}: ${err.message}`));
13967
+ }
13968
+ });
13969
+ // Timeout para la request
13970
+ request.setTimeout(30000, () => {
13971
+ if (!downloadCompleted) {
13972
+ downloadCompleted = true;
13973
+ request.destroy();
13974
+ file.close();
13975
+ rej(new Error(`Download timeout for ${url}`));
13976
+ }
13977
+ });
13840
13978
  });
13841
13979
  }
13842
13980
  }
13843
13981
  catch (err) {
13844
- console.log(`Error`, err);
13845
- return;
13982
+ throw new Error(`Failed to setup download for ${url}: ${err.message}`);
13846
13983
  }
13847
13984
  };
13848
- const handleFile = (pathInput, ext) => {
13849
- return new Promise((resolve, reject) => {
13850
- if (!ext) {
13851
- reject(new Error('No extension found for the file'));
13852
- return;
13853
- }
13854
- const fullPath = checkIsLocal ? `${pathInput}` : `${pathInput}.${ext}`;
13855
- require$$3$1.rename(pathInput, fullPath, (err) => {
13856
- if (err)
13857
- reject(err);
13858
- resolve(fullPath);
13859
- });
13860
- });
13985
+ const handleFile = async (pathInput, ext) => {
13986
+ if (!ext) {
13987
+ throw new Error('No extension found for the file');
13988
+ }
13989
+ // Si es archivo local, no necesita renombrar
13990
+ if (checkIsLocal) {
13991
+ return pathInput;
13992
+ }
13993
+ const finalPath = `${pathInput}.${ext}`;
13994
+ try {
13995
+ // 🔥 SOLUCIÓN: Usar safeRename con manejo de colisiones
13996
+ const resultPath = await safeRename(pathInput, finalPath);
13997
+ return resultPath;
13998
+ }
13999
+ catch (error) {
14000
+ throw new Error(`Failed to rename file from ${pathInput} to ${finalPath}: ${error.message}`);
14001
+ }
13861
14002
  };
13862
- const httpResponse = await handleDownload();
13863
- const { ext } = await fileTypeFromFile(httpResponse.response);
13864
- if (!ext)
13865
- throw new Error('Unable to determine file extension');
13866
- const getPath = await handleFile(httpResponse.fullPath, ext);
13867
- return getPath;
14003
+ try {
14004
+ const httpResponse = await handleDownload();
14005
+ const { ext } = await fileTypeFromFile(httpResponse.response);
14006
+ if (!ext) {
14007
+ throw new Error(`Unable to determine file extension for ${url}`);
14008
+ }
14009
+ const finalPath = await handleFile(httpResponse.fullPath, ext);
14010
+ return finalPath;
14011
+ }
14012
+ catch (error) {
14013
+ console.error(`General download failed for ${url}:`, error);
14014
+ throw error;
14015
+ }
13868
14016
  };
13869
14017
 
13870
14018
  ffmpeg.setFfmpegPath(ffmpegInstaller.path);
@@ -34721,6 +34869,7 @@ class ProviderClass extends EventEmitterClass {
34721
34869
  provider: this,
34722
34870
  blacklist: opts.blacklist,
34723
34871
  state: opts.state,
34872
+ emit: opts.emit,
34724
34873
  globalState: opts.globalState,
34725
34874
  dispatch: (customEvent, payload) => {
34726
34875
  this.emit('message', {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/provider/interface/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/provider/interface/provider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  /**
2
- * Descargar archivo binario en tmp
2
+ * Descargar archivo binario en tmp con manejo mejorado de concurrencia
3
3
  * @param url - La URL del archivo a descargar
4
+ * @param pathToSave - Directorio donde guardar (opcional)
5
+ * @param headers - Headers adicionales (opcional)
4
6
  * @returns La ruta al archivo descargado
5
7
  */
6
8
  declare const generalDownload: (url: string, pathToSave?: string, headers?: Record<string, any>) => Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,QAAA,MAAM,eAAe,GAAU,KAAK,MAAM,EAAE,aAAa,MAAM,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,OAAO,CAAC,MAAM,CAuE9G,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/utils/download.ts"],"names":[],"mappings":"AAkHA;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,GAAU,KAAK,MAAM,EAAE,aAAa,MAAM,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,OAAO,CAAC,MAAM,CA+I9G,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builderbot/bot",
3
- "version": "1.2.10-alpha.5",
3
+ "version": "1.2.10-y.1",
4
4
  "description": "core typescript",
5
5
  "author": "Leifer Mendez <leifer33@gmail.com>",
6
6
  "homepage": "https://github.com/codigoencasa/bot-whatsapp#readme",
@@ -62,5 +62,5 @@
62
62
  "optionalDependencies": {
63
63
  "sharp": "0.33.3"
64
64
  },
65
- "gitHead": "53298e27edbf004b69a24a5d2b51c20824ff83ac"
65
+ "gitHead": "ecccad383f91dc1ca6531c5fd949a44fddc576d5"
66
66
  }