Ajuste deeplink

This commit is contained in:
2025-04-08 15:10:53 -05:00
parent 9ef8d75174
commit 12bd499a2f
5 changed files with 724 additions and 372 deletions
+250 -140
View File
@@ -5,6 +5,7 @@ const pie = require("puppeteer-in-electron")
const puppeteer = require("puppeteer-core");
const path = require('path');
const https = require('https');
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
const axios = require('axios');
const $ = require('jquery');
const fs = require('fs');
@@ -51,8 +52,6 @@ app.disableHardwareAcceleration();
pie.initialize(app);
const agent = new HttpsProxyAgent(CONFIG.PROXY);
const setupLogging = async () => {
console.log(">> Iniciando configuracion de logs..");
if (!fs.existsSync(logsDir)) {
@@ -91,6 +90,7 @@ const setupLogging = async () => {
async function getOkanToken() {
try {
const agent = new HttpsProxyAgent(CONFIG.PROXY);
const responseOkan = await axios.post(CONFIG.ENDPOINT_OKAN_TOKEN, { user: process.env.USUARIO }, {
headers: { 'Authorization': CONFIG.TOKEN_OKAN_USER },
httpsAgent: agent
@@ -121,15 +121,28 @@ const processArguments = async () => {
let url_okan = argv['_'];
let code_okan_str = url_okan.toString();
// Handle OKAN code from URL or direct argument
if (argv['_'] && !argv.dev) {
console.log(code_okan_str);
// Handle OKAN code from URL or direct argument
if (code_okan_str != '' && !argv.dev) {
console.log('sika desde okan');
let code_okan = code_okan_str.split('&')[0].replace('rpaclaro:///?code=', '');
let user_okan = code_okan_str.split('&')[1].replace('user=', '');
process.env.OKAN = code_okan;
process.env.USUARIO = user_okan;
from_okan = true;
} else if (code_okan_str == '' && argv['$0'] && argv['$0'].includes('RpaClaro.exe')) {
console.log('sika desde exe');
await dialog.showMessageBox({
type: 'error',
defaultId: 0,
title: 'Error de acceso',
message: 'Debes abrir RpaClaro desde Okan',
});
app.quit();
return null;
} else {
console.log('sika desde cli');
process.env.OKAN = argv.code;
process.env.USUARIO = argv.user;
}
@@ -151,14 +164,35 @@ const processArguments = async () => {
};
const setupProtocolClient = async () => {
if (process.defaultApp) {
if (process.argv.length >= 2) {
app.setAsDefaultProtocolClient('RpaClaro', process.execPath, [path.resolve(process.argv[1])])
// Get the path to the packaged executable
const exePath = process.env.PORTABLE_EXECUTABLE_FILE || app.getPath('exe');
try {
// For development environment
if (process.defaultApp) {
if (process.argv.length >= 2) {
app.setAsDefaultProtocolClient('RpaClaro', process.execPath, [path.resolve(process.argv[1])]);
}
} else {
// For packaged executable
// Remove any existing protocol registration first
app.removeAsDefaultProtocolClient('RpaClaro');
// Register the protocol with the packaged exe path
const success = app.setAsDefaultProtocolClient('RpaClaro', exePath);
if (!success) {
throw new Error('Failed to register protocol handler');
}
}
} else {
app.setAsDefaultProtocolClient('RpaClaro')
console.log('>> Protocol configuration established successfully');
console.log('>> Executable path:', exePath);
} catch (error) {
console.error('>> Error setting up protocol client:', error);
// Attempt to register without arguments as fallback
app.setAsDefaultProtocolClient('RpaClaro');
}
console.log('>> Configuracion de protocolos establecida.');
}
const copyFilesFromRR = () => {
@@ -187,7 +221,12 @@ const copyFilesFromRR = () => {
async function getOkanToken() {
try {
const responseOkan = await axios.post(CONFIG.ENDPOINT_OKAN_TOKEN, { user: process.env.USUARIO }, { headers: { 'Authorization': CONFIG.TOKEN_OKAN_USER } });
const agent = new HttpsProxyAgent(CONFIG.PROXY);
const responseOkan = await axios.post(CONFIG.ENDPOINT_OKAN_TOKEN, { user: '45957768' }, {
headers: { 'Authorization': CONFIG.TOKEN_OKAN_USER },
httpsAgent: agent
});
if (responseOkan.data.cod == '0') {
console.log('>> Token de Okan obtenido.');
return responseOkan.data.data;
@@ -212,7 +251,12 @@ async function getProfile(token) {
const token_okan = 'Bearer ' + token;
try {
const responseGetProfile = await axios.get(CONFIG.ENDPOINT_GET_PROFILE, { headers: { 'Authorization': token_okan } });
const agent_two = new HttpsProxyAgent(CONFIG.PROXY);
const responseGetProfile = await axios.get(CONFIG.ENDPOINT_GET_PROFILE, {
headers: { 'Authorization': token_okan },
httpsAgent: agent_two
});
if (responseGetProfile.data.cod == '0') {
documento = responseGetProfile.data.data.document_number;
profile = responseGetProfile.data.data.profile.id;
@@ -226,59 +270,87 @@ async function getProfile(token) {
async function getApps(data_apps_user) {
try {
const agent_three = new HttpsProxyAgent(CONFIG.PROXY);
const urlAplicativos = CONFIG.ENDPOINT_GET_APPS + `${documento}/${profile}`;
const responseAplicativos = await axios.get(urlAplicativos, { headers: { "Accept": "*/*", "Content-Type": "application/json" } });
// First attempt with proxy
try {
const urlAplicativos = CONFIG.ENDPOINT_GET_APPS + `${documento}/${profile}`;
const responseAplicativos = await axios.get(urlAplicativos, {
headers: {
"Accept": "*/*",
"Content-Type": "application/json"
},
httpsAgent: agent_three,
timeout: 30000
});
var apps_okan = [];
if (responseAplicativos.data['cod'] == '0') {
const new_apps = responseAplicativos.data['data']
.filter(element => element['nombre_app'].startsWith('RPA'))
.sort((a, b) => a.nombre_app.localeCompare(b.nombre_app));
console.log('>> Aplicativos Okan: ' + new_apps.length);
// Process each app from new_apps
for (const app of new_apps) {
let code = app.url.replace('rpaclaro://?code=', '');
code = code.replace('RpaClaro://?code=', '');
code = code.replace('&user={user}', '');
let appExists = data_apps_user.desk?.some(deskApp => deskApp.code === code) || data_apps_user.web?.some(webApp => webApp.code === code);
const appInfo = {
nombre_app: app.nombre_app,
code_app: code,
logo: app.logo,
status: appExists,
status_integrado: appExists ? 'integrado' : 'no_integrado',
};
apps_okan.push(appInfo);
// Generate HTML for all apps at once using map and join
appHtml = apps_okan.map(app => `
<div class="col-3 col-md-3 col-xl-3 shortcut app_click ${app.status_integrado}"
name_app="${app.nombre_app}"
integrado="${app.status}"
code="${app.code_app}">
<div class="card border-none text-center">
<div class="card-body hp-knowledge-basic-card">
<img src="${app.logo}" class="logo">
<h5>${app.nombre_app}</h5>
</div>
</div>
</div>
`).join('');
if (responseAplicativos.data['cod'] == '0') {
return processAppsResponse(responseAplicativos.data, data_apps_user);
}
} catch (proxyError) {
console.log('>> Attempting without proxy after proxy error:', proxyError.message);
return appHtml;
// Second attempt without proxy
const urlAplicativos = CONFIG.ENDPOINT_GET_APPS + `${documento}/${profile}`;
const responseAplicativos = await axios.get(urlAplicativos, {
headers: {
"Accept": "*/*",
"Content-Type": "application/json"
},
timeout: 30000
});
if (responseAplicativos.data['cod'] == '0') {
return processAppsResponse(responseAplicativos.data, data_apps_user);
}
}
} catch (e) {
console.log('>> Error al obtener aplicaciones:' + e);
console.log('>> Error al obtener aplicaciones: ' + e);
}
}
// Helper function to process the apps response
function processAppsResponse(responseData, data_apps_user) {
var apps_okan = [];
const new_apps = responseData['data']
.filter(element => element['nombre_app'].startsWith('RPA'))
.sort((a, b) => a.nombre_app.localeCompare(b.nombre_app));
console.log('>> Aplicativos Okan: ' + new_apps.length);
// Process each app from new_apps
for (const app of new_apps) {
let code = app.url.replace('rpaclaro://?code=', '');
code = code.replace('RpaClaro://?code=', '');
code = code.replace('&user={user}', '');
let appExists = data_apps_user.desk?.some(deskApp => deskApp.code === code) ||
data_apps_user.web?.some(webApp => webApp.code === code);
apps_okan.push({
nombre_app: app.nombre_app,
code_app: code,
logo: app.logo,
status: appExists,
status_integrado: appExists ? 'integrado' : 'no_integrado',
});
}
// Generate HTML for all apps
return apps_okan.map(app => `
<div class="col-3 col-md-3 col-xl-3 shortcut app_click ${app.status_integrado}"
name_app="${app.nombre_app}"
integrado="${app.status}"
code="${app.code_app}">
<div class="card border-none text-center">
<div class="card-body hp-knowledge-basic-card">
<img src="${app.logo}" class="logo">
<h5>${app.nombre_app}</h5>
</div>
</div>
</div>
`).join('');
}
async function getNetworkInfo() {
const interfaces = os.networkInterfaces();
let ipAddress = '';
@@ -302,6 +374,7 @@ async function getNetworkInfo() {
async function getUserData(token) {
try {
const agent_four = new HttpsProxyAgent(CONFIG.PROXY);
const networkInfo = await getNetworkInfo();
console.log('>> Usuario: ' + process.env.USUARIO);
console.log('>> IP: ' + networkInfo.ip);
@@ -323,7 +396,8 @@ async function getUserData(token) {
});
const response = await axios.post(CONFIG.ENDPOINT_URL_APPS, bodyContent, {
headers: headersList
headers: headersList,
httpsAgent: agent_four
});
return response.data.apps;
} catch (error) {
@@ -335,98 +409,110 @@ async function createMainWindow(appsOkan) {
mainWindow = new BrowserWindow({
width: 1200,
height: 650,
show: false,
show: true,
// frame: false, // Remove window frame/menu
webPreferences: {
nodeIntegration: true,
contextIsolation: false
},
});
mainWindow.loadFile('./views/main/index.html');
const webContents = mainWindow.webContents;
webContents.setMaxListeners(50);
await mainWindow.loadFile('./views/main/index.html');
const menuTemplate = [
{
label: 'Archivo',
submenu: [
{
label: 'Recargar',
accelerator: 'Ctrl+Shift+R',
icon: __dirname + '/views/assets/icons/reload.png', // Ruta al icono
click: () => {
mainWindow.webContents.reloadIgnoringCache();
}
},
{ type: 'separator' }, // Separador en el menú
{
label: 'Salir',
accelerator: 'Ctrl+Q',
icon: __dirname + '/views/assets/icons/exit.png', // Ruta al icono
click: () => {
app.quit();
}
}
]
},
{
label: 'Ayuda',
submenu: [
// {
// label: 'Mostrar DevTools',
// accelerator: 'Ctrl+Shift+L',
// icon: __dirname + '/views/assets/icons/screenshot.png', // Ruta al icono
// click: () => {
webContents.on('did-stop-loading', () => {
console.log('>> Vista main cargada');
});
// mainWindow.openDevTools();
// }
// },
// { type: 'separator' },
{
label: 'Acerca de',
accelerator: 'Ctrl+Shift+A',
icon: __dirname + '/views/assets/icons/reload.png', // Ruta al icono
click: () => {
const { version } = require('./package.json'); // Obtener la versión desde package.json
dialog.showMessageBox({
type: 'info',
title: 'Acerca de Mi Aplicación',
message: `Versión ${version}`,
});
}
}
]
}
];
const menu = Menu.buildFromTemplate(menuTemplate);
mainWindow.setMenu(menu);
mainWindow.maximize();
if (process.env.MODE == 'dev') {
mainWindow.show();
mainWindow.openDevTools();
// mainWindow.setKiosk(true);
}
// const webContents = mainWindow.webContents;
// webContents.setMaxListeners(50);
mainWindow.webContents.send('set-version', app_version);
mainWindow.webContents.send('set-userpc', process.env.USUARIO);
try {
mainWindow.webContents.send('data-apps', appsOkan);
} catch (e) {
console.log('>> Error al enviar datos:' + e);
}
// webContents.on('did-stop-loading', () => {
// console.log('>> Vista main cargada');
// });
mainWindow.on('ready-to-show', () => {
mainWindow.webContents.send('set-version', app_version);
mainWindow.webContents.send('set-userpc', process.env.USUARIO);
try {
mainWindow.webContents.send('data-apps', appsOkan);
} catch (e) {
console.log('>> Error al enviar datos:' + e);
}
const menuTemplate = [
{
label: 'Archivo',
submenu: [
{
label: 'Recargar',
accelerator: 'Ctrl+Shift+R',
icon: __dirname + '/views/assets/icons/reload.png', // Ruta al icono
click: () => {
mainWindow.webContents.reloadIgnoringCache();
}
},
{ type: 'separator' }, // Separador en el menú
{
label: 'Salir',
accelerator: 'Ctrl+Q',
icon: __dirname + '/views/assets/icons/exit.png', // Ruta al icono
click: () => {
app.quit();
}
}
]
},
{
label: 'Ayuda',
submenu: [
// {
// label: 'Mostrar DevTools',
// accelerator: 'Ctrl+Shift+L',
// icon: __dirname + '/views/assets/icons/screenshot.png', // Ruta al icono
// click: () => {
// mainWindow.openDevTools();
// }
// },
// { type: 'separator' },
{
label: 'Acerca de',
accelerator: 'Ctrl+Shift+A',
icon: __dirname + '/views/assets/icons/reload.png', // Ruta al icono
click: () => {
const { version } = require('./package.json'); // Obtener la versión desde package.json
dialog.showMessageBox({
type: 'info',
title: 'Acerca de Mi Aplicación',
message: `Versión ${version}`,
});
}
}
]
}
];
const menu = Menu.buildFromTemplate(menuTemplate);
mainWindow.show();
mainWindow.setMenu(menu);
mainWindow.maximize();
// mainWindow.show();
// mainWindow.setMenu(menu);
// mainWindow.maximize();
});
mainWindow.on('closed', function () {
mainWindow = null;
app.quit();
});
mainWindow.show();
return mainWindow;
}
async function createNewWindow() {
@@ -451,30 +537,38 @@ async function createNewWindow() {
windowNew.setMenu(null);
windowNew.loadURL('https://google.com');
windowNew.loadURL('https://apps.okan.tools');
return 'test';
}
const mainIni = async () => {
await setupProtocolClient();
await setupLogging();
await processArguments();
await setupProtocolClient();
copyFilesFromRR();
let getOkanTokenVal = await getOkanToken();
console.log('Okan token: ' + getOkanTokenVal);
await getProfile(getOkanTokenVal);
userDataApps = await getUserData(getOkanTokenVal);
console.log('>> Aplicaciones:' + userDataApps);
appsOkan = await getApps(userDataApps);
console.log('>> Html generado');
await createMainWindow(appsOkan);
let mainWindowInstance = await createMainWindow(appsOkan);
console.log(mainWindowInstance);
await createNewWindow();
// mainWindow.webContents.on('did-finish-load', async () => {
console.log('termino de cargar');
// try {
await rpa(process.env.OKAN);
// if(from_okan){
// console.log('>> Iniciando RPA desde Okan');
// console.log('>> Codigo:'+ process.env.OKAN);
// await rpa(process.env.OKAN);
// } catch(e) {
// console.log('oka error: '+e);
// }
// });
};
async function rpa(data_code) {
@@ -536,12 +630,28 @@ async function rpa(data_code) {
windowNew.setIgnoreMouseEvents(false);
}
await new Promise(resolve => {
windowNew.webContents.on('did-finish-load', resolve);
});
try {
await Promise.race([
new Promise(resolve => {
windowNew.webContents.on('did-finish-load', resolve);
}),
new Promise((_, reject) =>
setTimeout(() => reject(new Error('Timeout loading page')), 30000)
)
]);
page = await pie.getPage(browser, windowNew);
console.log('>> URL cargada: ' + page.url());
page = await pie.getPage(browser, windowNew);
if (!page) {
throw new Error('Failed to get page');
}
console.log('>> URL cargada: ' + page.url());
} catch (error) {
console.log('>> Error al cargar la página:', error.message);
if (windowNew && !windowNew.isDestroyed()) {
windowNew.close();
}
throw error;
}
}
console.log(`>> Tipo: ${type}`);
@@ -1175,7 +1285,7 @@ if (!gotTheLock) {
let user_okan = code_okan_str.split('&')[1].replace('user=', '');
process.env.OKAN = code_okan;
process.env.USUARIO = user_okan;
console.log('>> Sgundos instancia code: '+process.env.OKAN);
console.log('>> Sgundos instancia code: ' + process.env.OKAN);
await rpa(process.env.OKAN);
} else {
process.env.OKAN = argv.code;
@@ -1234,7 +1344,7 @@ ipcMain.on('show-help', () => {
dialog.showMessageBox({
type: 'info',
title: 'Acerca de Mi Aplicación',
message: `Versión `+app.getVersion(),
message: `Versión ` + app.getVersion(),
});
});
+222 -103
View File
@@ -1,12 +1,12 @@
{
"name": "rpa-claro",
"version": "3.0.8",
"version": "4.0.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "rpa-claro",
"version": "3.0.8",
"version": "4.0.6",
"license": "MIT",
"dependencies": {
"axios": "^1.6.2",
@@ -21,7 +21,7 @@
"node-fetch": "^3.3.2",
"node-global-proxy": "^1.0.1",
"nodemailer": "^6.9.8",
"puppeteer": "^22.1.0",
"puppeteer": "^22.15.0",
"puppeteer-core": "^21.11.0",
"puppeteer-in-electron": "^3.0.5"
},
@@ -848,13 +848,10 @@
"dev": true
},
"node_modules/agent-base": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
"integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
"integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
"license": "MIT",
"dependencies": {
"debug": "^4.3.4"
},
"engines": {
"node": ">= 14"
}
@@ -1206,37 +1203,75 @@
"license": "MIT"
},
"node_modules/bare-events": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.0.tgz",
"integrity": "sha512-Yyyqff4PIFfSuthCZqLlPISTWHmnQxoPuAvkmgzsJEmG3CesdIv6Xweayl0JkCZJSB2yYIdJyEz97tpxNhgjbg==",
"version": "2.5.4",
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz",
"integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==",
"license": "Apache-2.0",
"optional": true
},
"node_modules/bare-fs": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.1.5.tgz",
"integrity": "sha512-5t0nlecX+N2uJqdxe9d18A98cp2u9BETelbjKpiVgQqzzmVNFYWEAjQHqS+2Khgto1vcwhik9cXucaj5ve2WWA==",
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.2.tgz",
"integrity": "sha512-8wSeOia5B7LwD4+h465y73KOdj5QHsbbuoUfPBi+pXgFJIPuG7SsiOdJuijWMyfid49eD+WivpfY7KT8gbAzBA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"bare-events": "^2.0.0",
"bare-os": "^2.0.0",
"bare-path": "^2.0.0",
"streamx": "^2.13.0"
"bare-events": "^2.5.4",
"bare-path": "^3.0.0",
"bare-stream": "^2.6.4"
},
"engines": {
"bare": ">=1.16.0"
},
"peerDependencies": {
"bare-buffer": "*"
},
"peerDependenciesMeta": {
"bare-buffer": {
"optional": true
}
}
},
"node_modules/bare-os": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.0.tgz",
"integrity": "sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==",
"optional": true
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz",
"integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==",
"license": "Apache-2.0",
"optional": true,
"engines": {
"bare": ">=1.14.0"
}
},
"node_modules/bare-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.0.tgz",
"integrity": "sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
"integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"bare-os": "^2.1.0"
"bare-os": "^3.0.1"
}
},
"node_modules/bare-stream": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz",
"integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"streamx": "^2.21.0"
},
"peerDependencies": {
"bare-buffer": "*",
"bare-events": "*"
},
"peerDependenciesMeta": {
"bare-buffer": {
"optional": true
},
"bare-events": {
"optional": true
}
}
},
"node_modules/base-x": {
@@ -3003,11 +3038,12 @@
"license": "ISC"
},
"node_modules/https-proxy-agent": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
"integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
"license": "MIT",
"dependencies": {
"agent-base": "^7.0.2",
"agent-base": "^7.1.2",
"debug": "4"
},
"engines": {
@@ -3096,12 +3132,6 @@
"node": ">= 12"
}
},
"node_modules/ip-address/node_modules/jsbn": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
"integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
"license": "MIT"
},
"node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -3266,6 +3296,12 @@
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/jsbn": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
"integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
"license": "MIT"
},
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -3868,19 +3904,19 @@
"license": "MIT"
},
"node_modules/pac-proxy-agent": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz",
"integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==",
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz",
"integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==",
"license": "MIT",
"dependencies": {
"@tootallnate/quickjs-emscripten": "^0.23.0",
"agent-base": "^7.0.2",
"agent-base": "^7.1.2",
"debug": "^4.3.4",
"get-uri": "^6.0.1",
"http-proxy-agent": "^7.0.0",
"https-proxy-agent": "^7.0.2",
"pac-resolver": "^7.0.0",
"socks-proxy-agent": "^8.0.2"
"https-proxy-agent": "^7.0.6",
"pac-resolver": "^7.0.1",
"socks-proxy-agent": "^8.0.5"
},
"engines": {
"node": ">= 14"
@@ -4091,14 +4127,16 @@
}
},
"node_modules/puppeteer": {
"version": "22.1.0",
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.1.0.tgz",
"integrity": "sha512-suatHy6A48YkoykjrJNkJaixWVrvnPtzIgngK17V/P0MvgSyJzuu21PyR+0lWIK0cfZqKqmR8CHZvHzOCd4MIg==",
"version": "22.15.0",
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.15.0.tgz",
"integrity": "sha512-XjCY1SiSEi1T7iSYuxS82ft85kwDJUS7wj1Z0eGVXKdtr5g4xnVcbjwxhq5xBnpK/E7x1VZZoJDxpjAOasHT4Q==",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
"@puppeteer/browsers": "2.0.1",
"cosmiconfig": "9.0.0",
"puppeteer-core": "22.1.0"
"@puppeteer/browsers": "2.3.0",
"cosmiconfig": "^9.0.0",
"devtools-protocol": "0.0.1312386",
"puppeteer-core": "22.15.0"
},
"bin": {
"puppeteer": "lib/esm/puppeteer/node/cli.js"
@@ -4147,17 +4185,19 @@
}
},
"node_modules/puppeteer/node_modules/@puppeteer/browsers": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.0.1.tgz",
"integrity": "sha512-IQj/rJY1MNfZ6Z2ERu+6S0LkIPBSXRGddgmvODqjm1afHy04aJIiWmoohuFtL78SPSlbjpIMuFVfhyqsR5Ng4A==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.3.0.tgz",
"integrity": "sha512-ioXoq9gPxkss4MYhD+SFaU9p1IHFUX0ILAWFPyjGaBdjLsYAlZw6j1iLA0N/m12uVHLFDfSYNF7EQccjinIMDA==",
"license": "Apache-2.0",
"dependencies": {
"debug": "4.3.4",
"extract-zip": "2.0.1",
"progress": "2.0.3",
"proxy-agent": "6.4.0",
"tar-fs": "3.0.5",
"unbzip2-stream": "1.4.3",
"yargs": "17.7.2"
"debug": "^4.3.5",
"extract-zip": "^2.0.1",
"progress": "^2.0.3",
"proxy-agent": "^6.4.0",
"semver": "^7.6.3",
"tar-fs": "^3.0.6",
"unbzip2-stream": "^1.4.3",
"yargs": "^17.7.2"
},
"bin": {
"browsers": "lib/cjs/main-cli.js"
@@ -4167,77 +4207,138 @@
}
},
"node_modules/puppeteer/node_modules/chromium-bidi": {
"version": "0.5.9",
"resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.9.tgz",
"integrity": "sha512-wOTX3m2zuHX0zRX4h7Ol1DAGz0cqHzo2IrAPvOqBxdd4ZR32vxg4FKNjmBihi1oP9b1QGSBBG5VNUUXUCsxDfg==",
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.6.3.tgz",
"integrity": "sha512-qXlsCmpCZJAnoTYI83Iu6EdYQpMYdVkCfq08KDh2pmlVqK5t5IA9mGs4/LwCwp4fqisSOMXZxP3HIh8w8aRn0A==",
"license": "Apache-2.0",
"dependencies": {
"mitt": "3.0.1",
"urlpattern-polyfill": "10.0.0"
"urlpattern-polyfill": "10.0.0",
"zod": "3.23.8"
},
"peerDependencies": {
"devtools-protocol": "*"
}
},
"node_modules/puppeteer/node_modules/debug": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/puppeteer/node_modules/devtools-protocol": {
"version": "0.0.1312386",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1312386.tgz",
"integrity": "sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA==",
"license": "BSD-3-Clause"
},
"node_modules/puppeteer/node_modules/lru-cache": {
"version": "7.18.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
"license": "ISC",
"engines": {
"node": ">=12"
}
},
"node_modules/puppeteer/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
"node_modules/puppeteer/node_modules/proxy-agent": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz",
"integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==",
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz",
"integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==",
"license": "MIT",
"dependencies": {
"agent-base": "^7.0.2",
"agent-base": "^7.1.2",
"debug": "^4.3.4",
"http-proxy-agent": "^7.0.1",
"https-proxy-agent": "^7.0.3",
"https-proxy-agent": "^7.0.6",
"lru-cache": "^7.14.1",
"pac-proxy-agent": "^7.0.1",
"pac-proxy-agent": "^7.1.0",
"proxy-from-env": "^1.1.0",
"socks-proxy-agent": "^8.0.2"
"socks-proxy-agent": "^8.0.5"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/puppeteer/node_modules/puppeteer-core": {
"version": "22.1.0",
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.1.0.tgz",
"integrity": "sha512-LdsQxslPf0Rpk6gLvkyyrraad2S4PUjGCT2CAKS2EnrRPpzIb6fsrFnoPNZxLlMkU7apU1g4Nf5wYePdSjxLkQ==",
"version": "22.15.0",
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.15.0.tgz",
"integrity": "sha512-cHArnywCiAAVXa3t4GGL2vttNxh7GqXtIYGym99egkNJ3oG//wL9LkvO4WE8W1TJe95t1F1ocu9X4xWaGsOKOA==",
"license": "Apache-2.0",
"dependencies": {
"@puppeteer/browsers": "2.0.1",
"chromium-bidi": "0.5.9",
"cross-fetch": "4.0.0",
"debug": "4.3.4",
"devtools-protocol": "0.0.1232444",
"ws": "8.16.0"
"@puppeteer/browsers": "2.3.0",
"chromium-bidi": "0.6.3",
"debug": "^4.3.6",
"devtools-protocol": "0.0.1312386",
"ws": "^8.18.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/puppeteer/node_modules/semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/puppeteer/node_modules/tar-fs": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz",
"integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==",
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.8.tgz",
"integrity": "sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==",
"license": "MIT",
"dependencies": {
"pump": "^3.0.0",
"tar-stream": "^3.1.5"
},
"optionalDependencies": {
"bare-fs": "^2.1.1",
"bare-path": "^2.1.0"
"bare-fs": "^4.0.1",
"bare-path": "^3.0.0"
}
},
"node_modules/queue-tick": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
"integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==",
"license": "MIT"
"node_modules/puppeteer/node_modules/ws": {
"version": "8.18.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz",
"integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
},
"node_modules/read-config-file": {
"version": "6.3.2",
@@ -4475,9 +4576,9 @@
}
},
"node_modules/socks": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.7.3.tgz",
"integrity": "sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw==",
"version": "2.8.4",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz",
"integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==",
"license": "MIT",
"dependencies": {
"ip-address": "^9.0.5",
@@ -4489,14 +4590,14 @@
}
},
"node_modules/socks-proxy-agent": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
"integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
"version": "8.0.5",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
"integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
"license": "MIT",
"dependencies": {
"agent-base": "^7.0.2",
"agent-base": "^7.1.2",
"debug": "^4.3.4",
"socks": "^2.7.1"
"socks": "^2.8.3"
},
"engines": {
"node": ">= 14"
@@ -4538,13 +4639,13 @@
}
},
"node_modules/streamx": {
"version": "2.16.1",
"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz",
"integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==",
"version": "2.22.0",
"resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz",
"integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==",
"license": "MIT",
"dependencies": {
"fast-fifo": "^1.1.0",
"queue-tick": "^1.0.1"
"fast-fifo": "^1.3.2",
"text-decoder": "^1.1.0"
},
"optionalDependencies": {
"bare-events": "^2.2.0"
@@ -4698,6 +4799,15 @@
"fs-extra": "^10.0.0"
}
},
"node_modules/text-decoder": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
"integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
"license": "Apache-2.0",
"dependencies": {
"b4a": "^1.6.4"
}
},
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@@ -5127,6 +5237,15 @@
"engines": {
"node": "*"
}
},
"node_modules/zod": {
"version": "3.23.8",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
"integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
}
}
}
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "rpa-claro",
"productName": "RpaClaro",
"version": "3.2.0",
"version": "4.0.6",
"description": "RPA Claro",
"author": "TARS",
"license": "MIT",
@@ -45,7 +45,7 @@
"verifyUpdateCodeSignature": false
},
"nsis": {
"runAfterFinish": false,
"runAfterFinish": true,
"deleteAppDataOnUninstall": true,
"oneClick": true,
"perMachine": true,
+83
View File
@@ -0,0 +1,83 @@
const { HttpsProxyAgent } = require('https-proxy-agent');
const axios = require('axios');
const CONFIG = {
ENDPOINT_URL_APPS: 'https://rpa8dev.okan.tools/users/apps/byUserAdOrDocument',
ENDPOINT_URL_APP: 'https://rpa8dev.okan.tools/app',
ENDPOINT_OKAN_TOKEN: 'https://io.okan.tools/api/auth/electron',
TOKEN_OKAN_USER: 'HrZTvmBNyQaM6jPI7sHo5ywN35ht/cplIBFeE+4Ufx8=',
PROXY: 'http://proxyop.bop.local:8080',
ENDPOINT_GET_PROFILE: 'https://io.okan.tools/api/auth/users/electron',
ENDPOINT_GET_APPS: 'https://adm.okan.tools/wp-json/okanapiwp/v1/aplicativos/'
};
async function test() {
// try {
// const agent = new HttpsProxyAgent(CONFIG.PROXY);
// const responseOkan = await axios.post(CONFIG.ENDPOINT_OKAN_TOKEN,
// { user: '45957768' }, {
// headers: { 'Authorization': CONFIG.TOKEN_OKAN_USER },
// httpsAgent: agent
// });
// if (responseOkan.data.cod == '0') {
// console.log('>> Token de Okan obtenido.');
// console.log(responseOkan.data.data);
// return responseOkan.data.data;
// } else {
// console.log('>> Error al obtener el token de Okan.');
// return null;
// }
// } catch (error) {
// console.log('>> Error en la petición del token de Okan:', error);
// }
// const token_okan = 'Bearer ZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SmxiV0ZwYkVOdmNuQnZjbUYwYVhabElqb2lZbkpoYW1GdUxtRnNaR0Z1WVVCMFlYSnpMbVJsZGlJc0ltVnRZV2xzVUdWeWMyOXVZV3dpT2lKa2NtRmphM2gxYzBCbmJXRnBiQzVqYjIwaUxDSmtiMk4xYldWdWRDSTZJakV3TWpJNU5qazFPVFlpTENKdWFXTnJibUZ0WlNJNklqUTFPVFUzTnpZNElpd2lablZzYkU1aGJXVWlPaUppY21GcVlXNGdhbTloYm5rZ1lXeGtZVzVoSUNCeVpYbGxjeUlzSW1WNGNHbHlaVVJoZEdVaU9pSXlNREkxTFRBMExUQXpJREUxT2pNek9qQTRJbjA9Lmg0UERaMEFmcDJsYXk1YzNEektHYldSRkpDUUNIemhTN2phRXJrYnlIb2M9';
// try {
// const agent = new HttpsProxyAgent(CONFIG.PROXY);
// const responseGetProfile = await axios.get(CONFIG.ENDPOINT_GET_PROFILE, { headers: { 'Authorization': token_okan },
// httpsAgent: agent });
// if (responseGetProfile.data.cod == '0') {
// documento = responseGetProfile.data.data.document_number;
// profile = responseGetProfile.data.data.profile.id;
// console.log('>> Perfil: ' + profile);
// return profile;
// }
// } catch (e) {
// console.log('>> No se pudo obtener el perfil: ' + e);
// }
try {
const agent_three = new HttpsProxyAgent(CONFIG.PROXY);
let documento = '1022969596';
let profile = '8475';
const urlAplicativos = CONFIG.ENDPOINT_GET_APPS + `${documento}/${profile}`;
const responseAplicativos = await axios.get(urlAplicativos, {
headers: {
"Accept": "*/*",
"Content-Type": "application/json"
},
httpsAgent: agent_three, // Changed from httpAgent to httpsAgent
proxy: false // Disable default proxy to ensure our custom agent is used
});
var apps_okan = [];
if (responseAplicativos.data['cod'] == '0') {
const new_apps = responseAplicativos.data['data']
.filter(element => element['nombre_app'].startsWith('RPA'))
.sort((a, b) => a.nombre_app.localeCompare(b.nombre_app));
console.log('>> Aplicativos Okan: ' + new_apps.length);
}
} catch (e) {
console.log('>> Error al obtener aplicaciones:', e.message); // Enhanced error logging
}
}
test();
+163 -123
View File
@@ -150,18 +150,19 @@
unbzip2-stream "1.4.3"
yargs "17.7.2"
"@puppeteer/browsers@2.0.1":
version "2.0.1"
resolved "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.0.1.tgz"
integrity sha512-IQj/rJY1MNfZ6Z2ERu+6S0LkIPBSXRGddgmvODqjm1afHy04aJIiWmoohuFtL78SPSlbjpIMuFVfhyqsR5Ng4A==
"@puppeteer/browsers@2.3.0":
version "2.3.0"
resolved "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.3.0.tgz"
integrity sha512-ioXoq9gPxkss4MYhD+SFaU9p1IHFUX0ILAWFPyjGaBdjLsYAlZw6j1iLA0N/m12uVHLFDfSYNF7EQccjinIMDA==
dependencies:
debug "4.3.4"
extract-zip "2.0.1"
progress "2.0.3"
proxy-agent "6.4.0"
tar-fs "3.0.5"
unbzip2-stream "1.4.3"
yargs "17.7.2"
debug "^4.3.5"
extract-zip "^2.0.1"
progress "^2.0.3"
proxy-agent "^6.4.0"
semver "^7.6.3"
tar-fs "^3.0.6"
unbzip2-stream "^1.4.3"
yargs "^17.7.2"
"@sindresorhus/is@^0.14.0":
version "0.14.0"
@@ -282,12 +283,10 @@
resolved "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz"
integrity sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==
agent-base@^7.0.2, agent-base@^7.1.0:
version "7.1.0"
resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz"
integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==
dependencies:
debug "^4.3.4"
agent-base@^7.0.2, agent-base@^7.1.0, agent-base@^7.1.2:
version "7.1.3"
resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz"
integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==
agent-base@6:
version "6.0.2"
@@ -486,32 +485,38 @@ balanced-match@^1.0.0:
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
bare-events@^2.0.0, bare-events@^2.2.0:
version "2.2.0"
resolved "https://registry.npmjs.org/bare-events/-/bare-events-2.2.0.tgz"
integrity sha512-Yyyqff4PIFfSuthCZqLlPISTWHmnQxoPuAvkmgzsJEmG3CesdIv6Xweayl0JkCZJSB2yYIdJyEz97tpxNhgjbg==
bare-events@*, bare-events@^2.2.0, bare-events@^2.5.4:
version "2.5.4"
resolved "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz"
integrity sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==
bare-fs@^2.1.1:
version "2.1.5"
resolved "https://registry.npmjs.org/bare-fs/-/bare-fs-2.1.5.tgz"
integrity sha512-5t0nlecX+N2uJqdxe9d18A98cp2u9BETelbjKpiVgQqzzmVNFYWEAjQHqS+2Khgto1vcwhik9cXucaj5ve2WWA==
bare-fs@^4.0.1:
version "4.1.2"
resolved "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.2.tgz"
integrity sha512-8wSeOia5B7LwD4+h465y73KOdj5QHsbbuoUfPBi+pXgFJIPuG7SsiOdJuijWMyfid49eD+WivpfY7KT8gbAzBA==
dependencies:
bare-events "^2.0.0"
bare-os "^2.0.0"
bare-path "^2.0.0"
streamx "^2.13.0"
bare-events "^2.5.4"
bare-path "^3.0.0"
bare-stream "^2.6.4"
bare-os@^2.0.0, bare-os@^2.1.0:
version "2.2.0"
resolved "https://registry.npmjs.org/bare-os/-/bare-os-2.2.0.tgz"
integrity sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==
bare-os@^3.0.1:
version "3.6.1"
resolved "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz"
integrity sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==
bare-path@^2.0.0, bare-path@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/bare-path/-/bare-path-2.1.0.tgz"
integrity sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==
bare-path@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz"
integrity sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==
dependencies:
bare-os "^2.1.0"
bare-os "^3.0.1"
bare-stream@^2.6.4:
version "2.6.5"
resolved "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz"
integrity sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==
dependencies:
streamx "^2.21.0"
base-x@^4.0.0:
version "4.0.0"
@@ -700,13 +705,14 @@ [email protected]:
mitt "3.0.1"
urlpattern-polyfill "10.0.0"
chromium-bidi@0.5.9:
version "0.5.9"
resolved "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.9.tgz"
integrity sha512-wOTX3m2zuHX0zRX4h7Ol1DAGz0cqHzo2IrAPvOqBxdd4ZR32vxg4FKNjmBihi1oP9b1QGSBBG5VNUUXUCsxDfg==
chromium-bidi@0.6.3:
version "0.6.3"
resolved "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.6.3.tgz"
integrity sha512-qXlsCmpCZJAnoTYI83Iu6EdYQpMYdVkCfq08KDh2pmlVqK5t5IA9mGs4/LwCwp4fqisSOMXZxP3HIh8w8aRn0A==
dependencies:
mitt "3.0.1"
urlpattern-polyfill "10.0.0"
zod "3.23.8"
chromium-pickle-js@^0.2.0:
version "0.2.0"
@@ -821,7 +827,7 @@ core-util-is@~1.0.0:
resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
[email protected]:
cosmiconfig@^9.0.0:
version "9.0.0"
resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz"
integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==
@@ -882,6 +888,13 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@4, [email protected]:
dependencies:
ms "2.1.2"
debug@^4.3.5, debug@^4.3.6:
version "4.4.0"
resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz"
integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
dependencies:
ms "^2.1.3"
decompress-response@^3.3.0:
version "3.3.0"
resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz"
@@ -936,6 +949,11 @@ devtools-protocol@*, [email protected]:
resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1232444.tgz"
integrity sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg==
[email protected]:
version "0.0.1312386"
resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1312386.tgz"
integrity sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA==
dir-compare@^3.0.0:
version "3.3.0"
resolved "https://registry.npmjs.org/dir-compare/-/dir-compare-3.3.0.tgz"
@@ -1178,7 +1196,7 @@ fast-deep-equal@^3.1.1:
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-fifo@^1.1.0, fast-fifo@^1.2.0:
fast-fifo@^1.2.0, fast-fifo@^1.3.2:
version "1.3.2"
resolved "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz"
integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==
@@ -1547,12 +1565,12 @@ https-proxy-agent@^5.0.1:
agent-base "6"
debug "4"
https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.3:
version "7.0.4"
resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz"
integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==
https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.6:
version "7.0.6"
resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz"
integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==
dependencies:
agent-base "^7.0.2"
agent-base "^7.1.2"
debug "4"
https@^1.0.0:
@@ -1971,6 +1989,11 @@ mkdirp@^1.0.3:
resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
ms@^2.1.3:
version "2.1.3"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
[email protected]:
version "2.1.2"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
@@ -2086,21 +2109,21 @@ p-retry@4:
"@types/retry" "0.12.0"
retry "^0.13.1"
pac-proxy-agent@^7.0.1:
version "7.0.1"
resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz"
integrity sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==
pac-proxy-agent@^7.0.1, pac-proxy-agent@^7.1.0:
version "7.2.0"
resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz"
integrity sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==
dependencies:
"@tootallnate/quickjs-emscripten" "^0.23.0"
agent-base "^7.0.2"
agent-base "^7.1.2"
debug "^4.3.4"
get-uri "^6.0.1"
http-proxy-agent "^7.0.0"
https-proxy-agent "^7.0.2"
pac-resolver "^7.0.0"
socks-proxy-agent "^8.0.2"
https-proxy-agent "^7.0.6"
pac-resolver "^7.0.1"
socks-proxy-agent "^8.0.5"
pac-resolver@^7.0.0:
pac-resolver@^7.0.1:
version "7.0.1"
resolved "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz"
integrity sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==
@@ -2190,6 +2213,20 @@ proto-list@~1.2.1:
resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"
integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
proxy-agent@^6.4.0:
version "6.5.0"
resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz"
integrity sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==
dependencies:
agent-base "^7.1.2"
debug "^4.3.4"
http-proxy-agent "^7.0.1"
https-proxy-agent "^7.0.6"
lru-cache "^7.14.1"
pac-proxy-agent "^7.1.0"
proxy-from-env "^1.1.0"
socks-proxy-agent "^8.0.5"
[email protected]:
version "6.3.1"
resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz"
@@ -2204,20 +2241,6 @@ [email protected]:
proxy-from-env "^1.1.0"
socks-proxy-agent "^8.0.2"
[email protected]:
version "6.4.0"
resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz"
integrity sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==
dependencies:
agent-base "^7.0.2"
debug "^4.3.4"
http-proxy-agent "^7.0.1"
https-proxy-agent "^7.0.3"
lru-cache "^7.14.1"
pac-proxy-agent "^7.0.1"
proxy-from-env "^1.1.0"
socks-proxy-agent "^8.0.2"
proxy-from-env@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
@@ -2248,17 +2271,16 @@ puppeteer-core@^21.11.0:
devtools-protocol "0.0.1232444"
ws "8.16.0"
[email protected]:
version "22.1.0"
resolved "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.1.0.tgz"
integrity sha512-LdsQxslPf0Rpk6gLvkyyrraad2S4PUjGCT2CAKS2EnrRPpzIb6fsrFnoPNZxLlMkU7apU1g4Nf5wYePdSjxLkQ==
[email protected]5.0:
version "22.15.0"
resolved "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.15.0.tgz"
integrity sha512-cHArnywCiAAVXa3t4GGL2vttNxh7GqXtIYGym99egkNJ3oG//wL9LkvO4WE8W1TJe95t1F1ocu9X4xWaGsOKOA==
dependencies:
"@puppeteer/browsers" "2.0.1"
chromium-bidi "0.5.9"
cross-fetch "4.0.0"
debug "4.3.4"
devtools-protocol "0.0.1232444"
ws "8.16.0"
"@puppeteer/browsers" "2.3.0"
chromium-bidi "0.6.3"
debug "^4.3.6"
devtools-protocol "0.0.1312386"
ws "^8.18.0"
puppeteer-in-electron@^3.0.5:
version "3.0.5"
@@ -2273,19 +2295,15 @@ puppeteer-in-electron@^3.0.5:
get-port "^5.1.1"
uuid "^8.3.2"
puppeteer@^22.1.0:
version "22.1.0"
resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-22.1.0.tgz"
integrity sha512-suatHy6A48YkoykjrJNkJaixWVrvnPtzIgngK17V/P0MvgSyJzuu21PyR+0lWIK0cfZqKqmR8CHZvHzOCd4MIg==
puppeteer@^22.15.0:
version "22.15.0"
resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-22.15.0.tgz"
integrity sha512-XjCY1SiSEi1T7iSYuxS82ft85kwDJUS7wj1Z0eGVXKdtr5g4xnVcbjwxhq5xBnpK/E7x1VZZoJDxpjAOasHT4Q==
dependencies:
"@puppeteer/browsers" "2.0.1"
cosmiconfig "9.0.0"
puppeteer-core "22.1.0"
queue-tick@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz"
integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==
"@puppeteer/browsers" "2.3.0"
cosmiconfig "^9.0.0"
devtools-protocol "0.0.1312386"
puppeteer-core "22.15.0"
[email protected]:
version "6.3.2"
@@ -2458,6 +2476,11 @@ semver@^7.5.3:
dependencies:
lru-cache "^6.0.0"
semver@^7.6.3:
version "7.7.1"
resolved "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz"
integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
serialize-error@^7.0.1:
version "7.0.1"
resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz"
@@ -2494,19 +2517,19 @@ smart-buffer@^4.2.0:
resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz"
integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
socks-proxy-agent@^8.0.2:
version "8.0.2"
resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz"
integrity sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==
socks-proxy-agent@^8.0.2, socks-proxy-agent@^8.0.5:
version "8.0.5"
resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz"
integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==
dependencies:
agent-base "^7.0.2"
agent-base "^7.1.2"
debug "^4.3.4"
socks "^2.7.1"
socks "^2.8.3"
socks@^2.7.1:
version "2.7.3"
resolved "https://registry.npmjs.org/socks/-/socks-2.7.3.tgz"
integrity sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw==
socks@^2.8.3:
version "2.8.4"
resolved "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz"
integrity sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==
dependencies:
ip-address "^9.0.5"
smart-buffer "^4.2.0"
@@ -2534,13 +2557,13 @@ stat-mode@^1.0.0:
resolved "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz"
integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==
streamx@^2.13.0, streamx@^2.15.0:
version "2.16.1"
resolved "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz"
integrity sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==
streamx@^2.15.0, streamx@^2.21.0:
version "2.22.0"
resolved "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz"
integrity sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==
dependencies:
fast-fifo "^1.1.0"
queue-tick "^1.0.1"
fast-fifo "^1.3.2"
text-decoder "^1.1.0"
optionalDependencies:
bare-events "^2.2.0"
@@ -2627,6 +2650,17 @@ supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
tar-fs@^3.0.6:
version "3.0.8"
resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.8.tgz"
integrity sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==
dependencies:
pump "^3.0.0"
tar-stream "^3.1.5"
optionalDependencies:
bare-fs "^4.0.1"
bare-path "^3.0.0"
[email protected]:
version "3.0.4"
resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz"
@@ -2636,17 +2670,6 @@ [email protected]:
pump "^3.0.0"
tar-stream "^3.1.5"
[email protected]:
version "3.0.5"
resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz"
integrity sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==
dependencies:
pump "^3.0.0"
tar-stream "^3.1.5"
optionalDependencies:
bare-fs "^2.1.1"
bare-path "^2.1.0"
tar-stream@^2.2.0:
version "2.2.0"
resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz"
@@ -2687,6 +2710,13 @@ temp-file@^3.4.0:
async-exit-hook "^2.0.1"
fs-extra "^10.0.0"
text-decoder@^1.1.0:
version "1.2.3"
resolved "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz"
integrity sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==
dependencies:
b4a "^1.6.4"
through@^2.3.8:
version "2.3.8"
resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
@@ -2746,7 +2776,7 @@ typescript@^5.3.3, typescript@>=4.9.5:
resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz"
integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==
[email protected]:
unbzip2-stream@^1.4.3, [email protected]:
version "1.4.3"
resolved "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz"
integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==
@@ -2877,6 +2907,11 @@ wrappy@1:
resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
ws@^8.18.0:
version "8.18.1"
resolved "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz"
integrity sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==
[email protected]:
version "8.16.0"
resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz"
@@ -2902,7 +2937,7 @@ yargs-parser@^21.1.1:
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
yargs@^17.6.2, [email protected]:
yargs@^17.6.2, yargs@^17.7.2, [email protected]:
version "17.7.2"
resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz"
integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
@@ -2931,3 +2966,8 @@ zip-stream@^4.1.0:
archiver-utils "^3.0.4"
compress-commons "^4.1.2"
readable-stream "^3.6.0"
[email protected]:
version "3.23.8"
resolved "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz"
integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==